{"version":3,"file":"index-e4184f7b.js","sources":["../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../frontend-core/src/components/Notification.vue","../../node_modules/vue-demi/lib/index.mjs","../../node_modules/pinia/dist/pinia.mjs","../../node_modules/axios/lib/helpers/bind.js","../../node_modules/axios/lib/utils.js","../../node_modules/axios/lib/core/AxiosError.js","../../node_modules/axios/lib/helpers/null.js","../../node_modules/axios/lib/helpers/toFormData.js","../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../node_modules/axios/lib/helpers/buildURL.js","../../node_modules/axios/lib/core/InterceptorManager.js","../../node_modules/axios/lib/defaults/transitional.js","../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../node_modules/axios/lib/platform/browser/index.js","../../node_modules/axios/lib/platform/common/utils.js","../../node_modules/axios/lib/platform/index.js","../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../node_modules/axios/lib/helpers/formDataToJSON.js","../../node_modules/axios/lib/defaults/index.js","../../node_modules/axios/lib/helpers/parseHeaders.js","../../node_modules/axios/lib/core/AxiosHeaders.js","../../node_modules/axios/lib/core/transformData.js","../../node_modules/axios/lib/cancel/isCancel.js","../../node_modules/axios/lib/cancel/CanceledError.js","../../node_modules/axios/lib/core/settle.js","../../node_modules/axios/lib/helpers/parseProtocol.js","../../node_modules/axios/lib/helpers/speedometer.js","../../node_modules/axios/lib/helpers/throttle.js","../../node_modules/axios/lib/helpers/progressEventReducer.js","../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../node_modules/axios/lib/helpers/cookies.js","../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../node_modules/axios/lib/helpers/combineURLs.js","../../node_modules/axios/lib/core/buildFullPath.js","../../node_modules/axios/lib/core/mergeConfig.js","../../node_modules/axios/lib/helpers/resolveConfig.js","../../node_modules/axios/lib/adapters/xhr.js","../../node_modules/axios/lib/helpers/composeSignals.js","../../node_modules/axios/lib/helpers/trackStream.js","../../node_modules/axios/lib/adapters/fetch.js","../../node_modules/axios/lib/adapters/adapters.js","../../node_modules/axios/lib/core/dispatchRequest.js","../../node_modules/axios/lib/env/data.js","../../node_modules/axios/lib/helpers/validator.js","../../node_modules/axios/lib/core/Axios.js","../../node_modules/axios/lib/cancel/CancelToken.js","../../node_modules/axios/lib/helpers/spread.js","../../node_modules/axios/lib/helpers/isAxiosError.js","../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../node_modules/axios/lib/axios.js","../../node_modules/vue-router/dist/vue-router.mjs","../../node_modules/@intlify/shared/dist/shared.esm-bundler.js","../../node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","../../node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","../../node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","../../node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","../../src/i18n.ts","../../src/store/Auth.ts","../../src/store/Conversation.ts","../../src/services/auth.ts","../../src/router/routes.ts","../../src/services/tenant.ts","../../src/router/index.ts","../../src/services/api.ts","../../src/services/language.ts","../../src/store/Tenant.ts","../../../frontend-core/src/useFavicon.ts","../../src/App.vue","../../node_modules/axe-core/axe.js","../../node_modules/vue-axe/dist/vue-axe.esm.js","../../src/app.ts","../../src/assets/icons/loading.svg?raw","../../src/directives.ts","../../node_modules/vue-multiselect/dist/vue-multiselect.esm.js","../../src/components/SafezoneMultiselect.vue","../../node_modules/@kyvg/vue3-notification/dist/index.es.js","../../src/plugins/floatingVue.ts","../../node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../../node_modules/floating-vue/dist/floating-vue.es.js","../../node_modules/svgxuse/svgxuse.js","../../src/components/SvgIcon.vue","../../src/globals/svgIcon.ts","../../../frontend-core/src/helpers/environment.ts","../../../frontend-shared/node_modules/@sentry/utils/esm/is.js","../../../frontend-shared/node_modules/@sentry/utils/esm/string.js","../../../frontend-shared/node_modules/@sentry/utils/esm/aggregate-errors.js","../../../frontend-shared/node_modules/@sentry/utils/esm/worldwide.js","../../../frontend-shared/node_modules/@sentry/utils/esm/browser.js","../../../frontend-shared/node_modules/@sentry/utils/esm/debug-build.js","../../../frontend-shared/node_modules/@sentry/utils/esm/logger.js","../../../frontend-shared/node_modules/@sentry/utils/esm/dsn.js","../../../frontend-shared/node_modules/@sentry/utils/esm/error.js","../../../frontend-shared/node_modules/@sentry/utils/esm/object.js","../../../frontend-shared/node_modules/@sentry/utils/esm/stacktrace.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/_handlers.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/console.js","../../../frontend-shared/node_modules/@sentry/utils/esm/misc.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/dom.js","../../../frontend-shared/node_modules/@sentry/utils/esm/supports.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/fetch.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/globalError.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js","../../../frontend-shared/node_modules/@sentry/utils/esm/vendor/supportsHistory.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/history.js","../../../frontend-shared/node_modules/@sentry/utils/esm/instrument/xhr.js","../../../frontend-shared/node_modules/@sentry/utils/esm/env.js","../../../frontend-shared/node_modules/@sentry/utils/esm/memo.js","../../../frontend-shared/node_modules/@sentry/utils/esm/normalize.js","../../../frontend-shared/node_modules/@sentry/utils/esm/syncpromise.js","../../../frontend-shared/node_modules/@sentry/utils/esm/promisebuffer.js","../../../frontend-shared/node_modules/@sentry/utils/esm/url.js","../../../frontend-shared/node_modules/@sentry/utils/esm/severity.js","../../../frontend-shared/node_modules/@sentry/utils/esm/time.js","../../../frontend-shared/node_modules/@sentry/utils/esm/baggage.js","../../../frontend-shared/node_modules/@sentry/utils/esm/tracing.js","../../../frontend-shared/node_modules/@sentry/utils/esm/envelope.js","../../../frontend-shared/node_modules/@sentry/utils/esm/clientreport.js","../../../frontend-shared/node_modules/@sentry/utils/esm/ratelimit.js","../../../frontend-shared/node_modules/@sentry/core/esm/debug-build.js","../../../frontend-shared/node_modules/@sentry/core/esm/constants.js","../../../frontend-shared/node_modules/@sentry/core/esm/eventProcessors.js","../../../frontend-shared/node_modules/@sentry/core/esm/session.js","../../../frontend-shared/node_modules/@sentry/core/esm/utils/spanUtils.js","../../../frontend-shared/node_modules/@sentry/core/esm/utils/prepareEvent.js","../../../frontend-shared/node_modules/@sentry/core/esm/exports.js","../../../frontend-shared/node_modules/@sentry/core/esm/utils/getRootSpan.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js","../../../frontend-shared/node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js","../../../frontend-shared/node_modules/@sentry/core/esm/scope.js","../../../frontend-shared/node_modules/@sentry/core/esm/version.js","../../../frontend-shared/node_modules/@sentry/core/esm/hub.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/utils.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/errors.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/spanstatus.js","../../../frontend-shared/node_modules/@sentry/core/esm/utils/hasTracingEnabled.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/trace.js","../../../frontend-shared/node_modules/@sentry/core/esm/semanticAttributes.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/span.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/transaction.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/idletransaction.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/sampling.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/hubextensions.js","../../../frontend-shared/node_modules/@sentry/core/esm/tracing/measurement.js","../../../frontend-shared/node_modules/@sentry/core/esm/envelope.js","../../../frontend-shared/node_modules/@sentry/core/esm/api.js","../../../frontend-shared/node_modules/@sentry/core/esm/integration.js","../../../frontend-shared/node_modules/@sentry/core/esm/metrics/utils.js","../../../frontend-shared/node_modules/@sentry/core/esm/metrics/envelope.js","../../../frontend-shared/node_modules/@sentry/core/esm/baseclient.js","../../../frontend-shared/node_modules/@sentry/core/esm/sdk.js","../../../frontend-shared/node_modules/@sentry/core/esm/transports/base.js","../../../frontend-shared/node_modules/@sentry/core/esm/utils/sdkMetadata.js","../../../frontend-shared/node_modules/@sentry/core/esm/integrations/inboundfilters.js","../../../frontend-shared/node_modules/@sentry/core/esm/integrations/functiontostring.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/common/debug-build.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/types.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/backgroundtab.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/bindReporter.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/generateUniqueID.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getNavigationEntry.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getActivationStart.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/initMetric.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/observe.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/onHidden.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getCLS.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getVisibilityWatcher.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getFID.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getLCP.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/instrument.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/metrics/utils.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/metrics/index.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/common/fetch.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/request.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/router.js","../../../frontend-shared/node_modules/@sentry-internal/tracing/esm/browser/browsertracing.js","../../../frontend-shared/node_modules/@sentry/browser/esm/helpers.js","../../../frontend-shared/node_modules/@sentry/browser/esm/debug-build.js","../../../frontend-shared/node_modules/@sentry/browser/esm/eventbuilder.js","../../../frontend-shared/node_modules/@sentry/browser/esm/userfeedback.js","../../../frontend-shared/node_modules/@sentry/browser/esm/client.js","../../../frontend-shared/node_modules/@sentry/browser/esm/transports/utils.js","../../../frontend-shared/node_modules/@sentry/browser/esm/transports/fetch.js","../../../frontend-shared/node_modules/@sentry/browser/esm/transports/xhr.js","../../../frontend-shared/node_modules/@sentry/browser/esm/stack-parsers.js","../../../frontend-shared/node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","../../../frontend-shared/node_modules/@sentry/browser/esm/integrations/dedupe.js","../../../frontend-shared/node_modules/@sentry/browser/esm/integrations/globalhandlers.js","../../../frontend-shared/node_modules/@sentry/browser/esm/integrations/httpcontext.js","../../../frontend-shared/node_modules/@sentry/browser/esm/integrations/linkederrors.js","../../../frontend-shared/node_modules/@sentry/browser/esm/integrations/trycatch.js","../../../frontend-shared/node_modules/@sentry/browser/esm/sdk.js","../../../frontend-shared/node_modules/@sentry/vue/esm/constants.js","../../../frontend-shared/node_modules/@sentry/vue/esm/vendor/components.js","../../../frontend-shared/node_modules/@sentry/vue/esm/errorhandler.js","../../../frontend-shared/node_modules/@sentry/vue/esm/debug-build.js","../../../frontend-shared/node_modules/@sentry/vue/esm/tracing.js","../../../frontend-shared/node_modules/@sentry/vue/esm/integration.js","../../../frontend-shared/node_modules/@sentry/vue/esm/sdk.js","../../../frontend-shared/node_modules/@sentry/vue/esm/router.js","../../../frontend-shared/src/services/sentry.ts","../../src/plugins/matomo.ts","../../src/main.ts"],"sourcesContent":["/**\n * Make a map and return a function for checking if a key\n * is in that map.\n * IMPORTANT: all calls of this function must be prefixed with\n * \\/\\*#\\_\\_PURE\\_\\_\\*\\/\n * So that rollup can tree-shake them if necessary.\n */\nfunction makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(',');\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];\n}\n\n/**\n * dev only flag -> name mapping\n */\nconst PatchFlagNames = {\n [1 /* PatchFlags.TEXT */]: `TEXT`,\n [2 /* PatchFlags.CLASS */]: `CLASS`,\n [4 /* PatchFlags.STYLE */]: `STYLE`,\n [8 /* PatchFlags.PROPS */]: `PROPS`,\n [16 /* PatchFlags.FULL_PROPS */]: `FULL_PROPS`,\n [32 /* PatchFlags.HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,\n [64 /* PatchFlags.STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,\n [128 /* PatchFlags.KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,\n [256 /* PatchFlags.UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,\n [512 /* PatchFlags.NEED_PATCH */]: `NEED_PATCH`,\n [1024 /* PatchFlags.DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,\n [2048 /* PatchFlags.DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,\n [-1 /* PatchFlags.HOISTED */]: `HOISTED`,\n [-2 /* PatchFlags.BAIL */]: `BAIL`\n};\n\n/**\n * Dev only\n */\nconst slotFlagsText = {\n [1 /* SlotFlags.STABLE */]: 'STABLE',\n [2 /* SlotFlags.DYNAMIC */]: 'DYNAMIC',\n [3 /* SlotFlags.FORWARDED */]: 'FORWARDED'\n};\n\nconst GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';\nconst isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n // Split the content into individual lines but capture the newline sequence\n // that separated each line. This is important because the actual sequence is\n // needed to properly take into account the full line length for offset\n // comparison\n let lines = source.split(/(\\r?\\n)/);\n // Separate the lines and newline sequences into separate arrays for easier referencing\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count +=\n lines[i].length +\n ((newlineSequences[i] && newlineSequences[i].length) || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\n const lineLength = lines[j].length;\n const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0;\n if (j === i) {\n // push underline\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item)\n ? parseStringStyle(item)\n : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n }\n else if (isString(value)) {\n return value;\n }\n else if (isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*.*?\\*\\//gs;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText\n .replace(styleCommentRE, '')\n .split(listDelimiterRE)\n .forEach(item => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = '';\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === 'number') {\n // only render valid values\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = '';\n if (isString(value)) {\n res = value;\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + ' ';\n }\n }\n }\n else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + ' ';\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\n// These tag configs are shared between compiler-dom and runtime-dom, so they\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Element\nconst HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' +\n 'header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' +\n 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' +\n 'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' +\n 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' +\n 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' +\n 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' +\n 'option,output,progress,select,textarea,details,dialog,menu,' +\n 'summary,template,blockquote,iframe,tfoot';\n// https://developer.mozilla.org/en-US/docs/Web/SVG/Element\nconst SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' +\n 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' +\n 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' +\n 'feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' +\n 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' +\n 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' +\n 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' +\n 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' +\n 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' +\n 'text,textPath,title,tspan,unknown,use,view';\nconst VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr';\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.\n */\nconst isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS);\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.\n */\nconst isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS);\n/**\n * Compiler only.\n * Do NOT use in runtime code paths unless behind `(process.env.NODE_ENV !== 'production')` flag.\n */\nconst isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS);\n\n/**\n * On the client we only need to offer special cases for boolean attributes that\n * have different names from their corresponding dom properties:\n * - itemscope -> N/A\n * - allowfullscreen -> allowFullscreen\n * - formnovalidate -> formNoValidate\n * - ismap -> isMap\n * - nomodule -> noModule\n * - novalidate -> noValidate\n * - readonly -> readOnly\n */\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);\n/**\n * The full list is needed during SSR to produce the correct initial markup.\n */\nconst isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +\n `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +\n `loop,open,required,reversed,scoped,seamless,` +\n `checked,muted,multiple,selected`);\n/**\n * Boolean attributes should be included if the value is truthy or ''.\n * e.g. `