PageSourceSearch

https://pabr.de/assets/index-C2aAEJhg.js

js pabr.de collected 2026-10-04 10:45:12 UTC 2,160,624 bytes, 1,884 lines download raw bytes

1var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o(((e,t)=>{(function(){function n(e,t){Object.defineProperty(a.prototype,e,{get:function(){console.warn(`%s(...) is deprecated in plain JavaScript React classes. %s`,t[0],t[1])}})}function r(e){return typeof e!=`object`||!e?null:(e=Se&&e[Se]||e[`@@iterator`],typeof e==`function`?e:null)}function i(e,t){e=(e=e.constructor)&&(e.displayName||e.name)||`ReactClass`;var n=e+`.`+t;Ce[n]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,e),Ce[n]=!0)}function a(e,t,n){this.props=e,this.context=t,this.refs=Ee,this.updater=n||we}function o(){}function s(e,t,n){this.props=e,this.context=t,this.refs=Ee,this.updater=n||we}function c(){}function l(e){return``+e}function u(e){try{l(e);var t=!1}catch{t=!0}if(t){t=console;var n=t.error,r=typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`;return n.call(t,`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,r),l(e)}}function d(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ke?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case de:return`Fragment`;case pe:return`Profiler`;case fe:return`StrictMode`;case _e:return`Suspense`;case ve:return`SuspenseList`;case xe:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case ue:return`Portal`;case he:return e.displayName||`Context`;case me:return(e._context.displayName||`Context`)+`.Consumer`;case ge:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ye:return t=e.displayName||null,t===null?d(e.type)||`Memo`:t;case be:t=e._payload,e=e._init;try{return d(e(t))}catch{}}return null}function f(e){if(e===de)return`<>`;if(typeof e==`object`&&e&&e.$$typeof===be)return`<...>`;try{var t=d(e);return t?`<`+t+`>`:`<...>`}catch{return`<...>`}}function p(){var e=Ae.A;return e===null?null:e.getOwner()}function m(){return Error(`react-stack-top-frame`)}function h(e){if(je.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function g(e,t){function n(){Ne||(Ne=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}function _(){var e=d(this.type);return Fe[e]||(Fe[e]=!0,console.error(`Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.`)),e=this.props.ref,e===void 0?null:e}function v(e,t,n,r,i,a){var o=n.ref;return e={$$typeof:le,type:e,key:t,props:n,_owner:r}
vendor: 10,356 bytes, lines 1-13
1,(o===void 0?null:o)===null?Object.defineProperty(e,"ref",{enumerable:!1,value:null}):Object.defineProperty(e,"ref",{enumerable:!1,get:_}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function y(e,t){return t=v(e.type,t,e.props,e._owner,e._debugStack,e._debugTask),e._store&&(t._store.validated=e._store.validated),t}function b(e){x(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===be&&(e._payload.status===`fulfilled`?x(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function x(e){return typeof e==`object`&&!!e&&e.$$typeof===le}function S(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}function ee(e,t){return typeof e==`object`&&e&&e.key!=null?(u(e.key),S(``+e.key)):t.toString(36)}function te(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(c,c):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ne(e,t,n,i,a){var o=typeof e;(o===`undefined`||o===`boolean`)&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case`bigint`:case`string`:case`number`:s=!0;break;case`object`:switch(e.$$typeof){case le:case ue:s=!0;break;case be:return s=e._init,ne(s(e._payload),t,n,i,a)}}if(s){s=e,a=a(s);var c=i===``?`.`+ee(s,0):i;return Oe(a)?(n=``,c!=null&&(n=c.replace(ze,`$&/`)+`/`),ne(a,t,n,``,function(e){return e})):a!=null&&(x(a)&&(a.key!=null&&(s&&s.key===a.key||u(a.key)),n=y(a,n+(a.key==null||s&&s.key===a.key?``:(``+a.key).replace(ze,`$&/`)+`/`)+c),i!==``&&s!=null&&x(s)&&s.key==null&&s._store&&!s._store.validated&&(n._store.validated=2),a=n),t.push(a)),1}if(s=0,c=i===``?`.`:i+`:`,Oe(e))for(var l=0;l<e.length;l++)i=e[l],o=c+ee(i,l),s+=ne(i,t,n,o,a);else if(l=r(e),typeof l==`function`)for(l===e.entries&&(Re||console.warn(`Using Maps as children is not supported. Use an array of keyed ReactElements instead.`),Re=!0),e=l.call(e),l=0;!(i=e.next()).done;)i=i.value,o=c+ee(i,l++),s+=ne(i,t,n,o,a);else if(o===`object`){if(typeof e.then==`function`)return ne(te(e),t,n,i,a);throw t=String(e),Error(`Objects are not valid as a React child (found: `+(t===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:t)+`). If you meant to render a collection of children, use an array instead.`)}return s}function re(e,t,n){if(e==null)return e;var r=[],i=0;return ne(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ie(e){if(e._status===-1){var t=e._ioInfo;t!=null&&(t.start=t.end=performance.now()),t=e._result;var n=t();if(n.then(function(t){if(e._status===0||e._status===-1){e._status=1,e._result=t;var r=e._ioInfo;r!=null&&(r.end=performance.now()),n.status===void 0&&(n.status=`fulfilled`,n.value=t)}},function(t){if(e._status===0||e._status===-1){e._status=2,e._result=t;var r=e._ioInfo;r!=null&&(r.end=performance.now()),n.status===void 0&&(n.status=`rejected`,n.reason=t)}}),t=e._ioInfo,t!=null){t.value=n;var r=n.displayName;typeof r==`string`&&(t.name=r)}e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return t=e._result,t===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
2
3Your code should look like: 
4  const MyComponent = lazy(() => import('./MyComponent'))
5
6Did you accidentally put curly braces around the import?`,t),`default`in t||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
7
8Your code should look like: 
9  const MyComponent = lazy(() => import('./MyComponent'))`,t),t.default;throw e._result}function C(){var e=Ae.H;return e===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
101. You might have mismatching versions of React and the renderer (such as React DOM)
112. You might be breaking the Rules of Hooks
123. You might have more than one copy of React in the same app
13See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),e}function ae(){Ae.asyncTransitions--}function w(e){if(He===null)try{var n=(`require`+Math.random()).slice(0,7);He=(t&&t[n]).call(t,`timers`).setImmediate}catch{He=function(e){!1===Ve&&(Ve=!0,typeof MessageChannel>`u`&&console.error(`This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.`));var t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(void 0)}}return He(e)}function oe(e){return 1<e.length&&typeof AggregateError==`function`?AggregateError(e):e[0]}function T(e,t){t!==Ue-1&&console.error(`You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. `),Ue=t}function se(e,t,n){var r=Ae.actQueue;if(r!==null)if(r.length!==0)try{ce(r),w(function(){return se(e,t,n)});return}catch(e){Ae.thrownErrors.push(e)}else Ae.actQueue=null;0<Ae.thrownErrors.length?(r=oe(Ae.thrownErrors),Ae.thrownErrors.length=0,n(r)):t(e)}function ce(e){if(!Ge){Ge=!0;var t=0;try{for(;t<e.length;t++){var n=e[t];do{Ae.didUsePromise=!1;var r=n(!1);if(r!==null){if(Ae.didUsePromise){e[t]=n,e.splice(0,t);return}n=r}else break}while(1)}e.length=0}catch(n){e.splice(0,t+1),Ae.thrownErrors.push(n)}finally{Ge=!1}}}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var le=Symbol.for(`react.transitional.element`),ue=Symbol.for(`react.portal`),de=Symbol.for(`react.fragment`),fe=Symbol.for(`react.strict_mode`),pe=Symbol.for(`react.profiler`),me=Symbol.for(`react.consumer`),he=Symbol.for(`react.context`),ge=Symbol.for(`react.forward_ref`),_e=Symbol.for(`react.suspense`),ve=Symbol.for(`react.suspense_list`),ye=Symbol.for(`react.memo`),be=Symbol.for(`react.lazy`),xe=Symbol.for(`react.activity`),Se=Symbol.iterator,Ce={},we={isMounted:function(){return!1},enqueueForceUpdate:function(e){i(e,`forceUpdate`)},enqueueReplaceState:function(e){i(e,`replaceState`)},enqueueSetState:function(e){i(e,`setState`)}},Te=Object.assign,Ee={};Object.freeze(Ee),a.prototype.isReactComponent={},a.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};var De={isMounted:[`isMounted`,`Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.`],replaceState:[`replaceState`,`Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).`]};for(qe in De)De.hasOwnProperty(qe)&&n(qe,De[qe]);o.prototype=a.prototype,De=s.prototype=new o,De.constructor=s,Te(De,a.prototype),De.isPureReactComponent=!0;var Oe=Array.isArray,ke=Symbol.for(`react.client.reference`),Ae={H:null,A:null,T:null,S:null,actQueue:null,asyncTransitions:0,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1,didUsePromise:!1,thrownErrors:[],getCurrentStack:null,recentlyCreatedOwnerStacks:0},je=Object.prototype.hasOwnProperty,Me=console.createTask?console.createTask:function(){return null};De={react_stack_bottom_frame:function(e){return e()}};var Ne,Pe,Fe={},Ie=De.react_stack_bottom_frame.bind(De,m)(),Le=Me(f(m)),Re=!1,ze=/\/+/g,Be=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Ve=!1,He=null,Ue=0,We=!1,Ge=!1,Ke=typeof queueMicrotask==`function`?function(e){queueMicrotask(function(){return queueMicrotask(e)})}:w;De=Object.freeze({__proto__:null,c:function(e){return C().useMemoCache(e)}});var qe={map:re,forEach:function(e,t,n){re(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return re(e,function(){t++}),t},toArray:function(e){return re(e,function(e){return e})||[]},only:function(e){if(!x(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=xe,e.Children=qe,e.Component=a,e.Fragment=de,e.Profiler=pe,e.PureComponent=s,e.StrictMode=fe,e.Suspense=_e,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ae,e.__COMPILER_RUNTIME=De,e.act=function(e){var t=Ae.actQueue,n=Ue;Ue++;var r=Ae.actQueue=t===null?[]:t,i=!1;try{var a=e()}catch(e){Ae.thrownErrors.push(e)}if(0<Ae.thrownErrors.length)throw T(t,n),e=oe(Ae.thrownErrors),Ae.thrownErrors.length=0,e;if(typeof a==`object`&&a&&typeof a.then==`function`){var o=a;return Ke(function(){i||We||(We=!0,console.error(`You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);`))}),{then:function(e,a){i=!0,o.then(function(i){if(T(t,n),n===0){try{ce(r),w(function(){return se(i,e,a)})}catch(e){Ae.thrownErrors.push(e)}if(0<Ae.thrownErrors.length){var o=oe(Ae.thrownErrors);Ae.thrownErrors.length=0,a(o)}}else e(i)},function(e){T(t,n),0<Ae.thrownErrors.length?(e=oe(Ae.thrownErrors),Ae.thrownErrors.length=0,a(e)):a(e)})}}}var s=a;if(T(t,n),n===0&&(ce(r),r.length!==0&&Ke(function(){i||We||(We=!0,console.error("A component suspended inside an `act` scope, but the `act` c
13all was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),Ae.actQueue=null),0<Ae.thrownErrors.length)throw e=oe(Ae.thrownErrors),Ae.thrownErrors.length=0,e;return{then:function(e,t){i=!0,n===0?(Ae.actQueue=r,w(function(){return se(s,e,t)})):e(s)}}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.captureOwnerStack=function(){var e=Ae.getCurrentStack;return e===null?null:e()},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=Te({},e.props),i=e.key,a=e._owner;if(t!=null){var o;a:{if(je.call(t,`ref`)&&(o=Object.getOwnPropertyDescriptor(t,`ref`).get)&&o.isReactWarning){o=!1;break a}o=t.ref!==void 0}for(s in o&&(a=p()),h(t)&&(u(t.key),i=``+t.key),t)!je.call(t,s)||s===`key`||s===`__self`||s===`__source`||s===`ref`&&t.ref===void 0||(r[s]=t[s])}var s=arguments.length-2;if(s===1)r.children=n;else if(1<s){o=Array(s);for(var c=0;c<s;c++)o[c]=arguments[c+2];r.children=o}for(r=v(e.type,i,r,a,e._debugStack,e._debugTask),i=2;i<arguments.length;i++)b(arguments[i]);return r},e.createContext=function(e){return e={$$typeof:he,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:me,_context:e},e._currentRenderer=null,e._currentRenderer2=null,e},e.createElement=function(e,t,n){for(var r=2;r<arguments.length;r++)b(arguments[r]);r={};var i=null;if(t!=null)for(c in Pe||!(`__self`in t)||`key`in t||(Pe=!0,console.warn(`Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform`)),h(t)&&(u(t.key),i=``+t.key),t)je.call(t,c)&&c!==`key`&&c!==`__self`&&c!==`__source`&&(r[c]=t[c]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];Object.freeze&&Object.freeze(o),r.children=o}if(e&&e.defaultProps)for(c in a=e.defaultProps,a)r[c]===void 0&&(r[c]=a[c]);i&&g(r,typeof e==`function`?e.displayName||e.name||`Unknown`:e);var c=1e4>Ae.recentlyCreatedOwnerStacks++;return v(e,i,r,p(),c?Error(`react-stack-top-frame`):Ie,c?Me(f(e)):Le)},e.createRef=function(){var e={current:null};return Object.seal(e),e},e.forwardRef=function(e){e!=null&&e.$$typeof===ye?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof e==`function`?e.length!==0&&e.length!==2&&console.error(`forwardRef render functions accept exactly two parameters: props and ref. %s`,e.length===1?`Did you forget to use the ref parameter?`:`Any additional parameter will be undefined.`):console.error(`forwardRef requires a render function but was given %s.`,e===null?`null`:typeof e),e!=null&&e.defaultProps!=null&&console.error(`forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?`);var t={$$typeof:ge,render:e},n;return Object.defineProperty(t,"displayName",{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t,e.name||e.displayName||(Object.defineProperty(e,"name",{value:t}),e.displayName=t)}}),t},e.isValidElement=x,e.lazy=function(e){e={_status:-1,_result:e};var t={$$typeof:be,_payload:e,_init:ie},n={name:`lazy`,start:-1,end:-1,value:null,owner:null,debugStack:Error(`react-stack-top-frame`),debugTask:console.createTask?console.createTask(`lazy()`):null};return e._ioInfo=n,t._debugInfo=[{awaited:n}],t},e.memo=function(e,t){e??console.error(`memo: The first argument must be a component. Instead received: %s`,e===null?`null`:typeof e),t={$$typeof:ye,type:e,compare:t===void 0?null:t};var n;return Object.defineProperty(t,"displayName",{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t,e.name||e.displayName||(Object.defineProperty(e,"name",{value:t}),e.displayName=t)}}),t},e.startTransition=function(e){var t=Ae.T,n={};n._updatedFibers=new Set,Ae.T=n;try{var r=e(),i=Ae.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&(Ae.asyncTransitions++,r.then(ae,ae),r.then(c,Be))}catch(e){Be(e)}finally{t===null&&n._updatedFibers&&(e=n._updatedFibers.size,n._updatedFibers.clear(),10<e&&console.warn(`Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.`)),t!==null&&n.types!==null&&(t.types!==null&&t.types!==n.types&&console.error(`We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.`),t.types=n.types),Ae.T=t}},e.unstable_useCacheRefresh=function(){return C().useCacheRefresh()},e.use=function(e){return C().use(e)},e.useActionState=function(e,t,n){return C().useActionState(e,t,n)},e.useCallback=function(e,t){return C().useCallback(e,t)},e.useContext=function(e){var t=C();return e.$$typeof===me&&console.error(`Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?`),t.useContext(e)},e.useDebugValue=function(e,t){return C().useDebugValue(e,t)},e.useDeferredValue=function(e,t){return C().useDeferredValue(e,t)},e.useEffect=function(e,t){return e??console.warn(`React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?`),C().useEffect(e,t)},e.useEffectEvent=function(e){return C().useEffectEvent(e)},e.useId=function(){return C().useId()},e.useImperativeHandle=function(e,t,n){return C().useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return e??console.warn(`React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?`),C().useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return e??console.warn(`React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?`),C().useLayoutEffect(e,t)},e.useMemo=function(e,t){return C().useMemo(e,t)},e.useOptimistic=function(e,t){return C().useOptimistic(e,t)},e.useReducer=function(e,t,n){return C().useReducer(e,t,n)},e.useRef=function(e){return C().useRef(e)},e.useState=function(e){return C().useState(e)},e.useSyncExternalStore=function(e,t,n){return C().useSyncExternalStore(e,t,n)},e.useTransition=function(){return C().useTransition()}
vendor: 10,287 bytes, lines 13-17
13,e.version=`19.2.8`,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{(function(){function t(){if(x=!1,ne){var t=e.unstable_now();C=t;var n=!0;try{a:{y=!1,b&&(b=!1,ee(re),re=-1),v=!0;var a=_;try{b:{for(o(t),g=r(p);g!==null&&!(g.expirationTime>t&&c());){var u=g.callback;if(typeof u==`function`){g.callback=null,_=g.priorityLevel;var d=u(g.expirationTime<=t);if(t=e.unstable_now(),typeof d==`function`){g.callback=d,o(t),n=!0;break b}g===r(p)&&i(p),o(t)}else i(p);g=r(p)}if(g!==null)n=!0;else{var f=r(m);f!==null&&l(s,f.startTime-t),n=!1}}break a}finally{g=null,_=a,v=!1}}}finally{n?ae():ne=!1}}}function n(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,i=e[r];if(0<a(i,t))e[r]=t,e[n]=i,n=r;else break a}}function r(e){return e.length===0?null:e[0]}function i(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,i=e.length,o=i>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>a(c,n))l<i&&0>a(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<i&&0>a(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}function o(e){for(var t=r(m);t!==null;){if(t.callback===null)i(m);else if(t.startTime<=e)i(m),t.sortIndex=t.expirationTime,n(p,t);else break;t=r(m)}}function s(e){if(b=!1,o(e),!y)if(r(p)!==null)y=!0,ne||(ne=!0,ae());else{var t=r(m);t!==null&&l(s,t.startTime-e)}}function c(){return x?!0:!(e.unstable_now()-C<ie)}function l(t,n){re=S(function(){t(e.unstable_now())},n)}if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()),e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var u=performance;e.unstable_now=function(){return u.now()}}else{var d=Date,f=d.now();e.unstable_now=function(){return d.now()-f}}var p=[],m=[],h=1,g=null,_=3,v=!1,y=!1,b=!1,x=!1,S=typeof setTimeout==`function`?setTimeout:null,ee=typeof clearTimeout==`function`?clearTimeout:null,te=typeof setImmediate<`u`?setImmediate:null,ne=!1,re=-1,ie=5,C=-1;if(typeof te==`function`)var ae=function(){te(t)};else if(typeof MessageChannel<`u`){var w=new MessageChannel,oe=w.port2;w.port1.onmessage=t,ae=function(){oe.postMessage(null)}}else ae=function(){S(t,0)};e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ie=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return _},e.unstable_next=function(e){switch(_){case 1:case 2:case 3:var t=3;break;default:t=_}var n=_;_=t;try{return e()}finally{_=n}},e.unstable_requestPaint=function(){x=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=_;_=e;try{return t()}finally{_=n}},e.unstable_scheduleCallback=function(t,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,t){case 1:var c=-1;break;case 2:c=250;break;case 5:c=1073741823;break;case 4:c=1e4;break;default:c=5e3}return c=a+c,t={id:h++,callback:i,priorityLevel:t,startTime:a,expirationTime:c,sortIndex:-1},a>o?(t.sortIndex=a,n(m,t),r(p)===null&&t===r(m)&&(b?(ee(re),re=-1):b=!0,l(s,a-o))):(t.sortIndex=c,n(p,t),y||v||(y=!0,ne||(ne=!0,ae()))),t},e.unstable_shouldYield=c,e.unstable_wrapCallback=function(e){var t=_;return function(){var n=_;_=t;try{return e.apply(this,arguments)}finally{_=n}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{(function(){function t(){}function n(e){return``+e}function r(e,t,r){var i=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;try{n(i);var a=!1}catch{a=!0}return a&&(console.error(`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,typeof Symbol==`function`&&Symbol.toStringTag&&i[Symbol.toStringTag]||i.constructor.name||`Object`),n(i)),{$$typeof:u,key:i==null?null:``+i,children:e,containerInfo:t,implementation:r}}function i(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}function a(e){return e===null?"`null`":e===void 0?"`undefined`":e===``?`an empty string`:`something with type "`+typeof e+`"`}function o(e){return e===null?"`null`":e===void 0?"`undefined`":e===``?`an empty string`:typeof e==`string`?JSON.stringify(e):typeof e==`number`?"`"+e+"`":`something with type "`+typeof e+`"`}function s(){var e=f.H;return e===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
141. You might have mismatching versions of React and the renderer (such as React DOM)
152. You might be breaking the Rules of Hooks
163. You might have more than one copy of React in the same app
17See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),e}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var c=d(),l={d:{f:t,r:function(){throw Error(`Invalid form element. requestFormReset must be passed a form that was rendered by React.`)},D:t,C:t,L:t,m:t,X:t,S:t,M:t},p:0,findDOMNode:null},u=Symbol.for(`react.portal`),f=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;typeof Map==`function`&&Map.prototype!=null&&typeof Map.prototype.forEach==`function`&&typeof Set==`function`&&Set.prototype!=null&&typeof Set.prototype.clear==`function`&&typeof Set.prototype.forEach==`function`||console.error(`React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills`),e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(`Target container is not a DOM element.`);return r(e,t,null,n)},e.flushSync=function(e){var t=f.T,n=l.p;try{if(f.T=null,l.p=2,e)return e()}finally{f.T=t,l.p=n,l.d.f()&&console.error(`flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.`)}},e.preconnect=function(e,t){typeof e==`string`&&e?t!=null&&typeof t!=`object`?console.error("ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.",o(t)):t!=null&&typeof t.crossOrigin!=`string`&&console.error("ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.",a(t.crossOrigin)):console.error("ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",a(e)),typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,l.d.C(e,t))},e.prefetchDNS=function(e){if(typeof e!=`string`||!e)console.error("ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",a(e));else if(1<arguments.length){var t=arguments[1];typeof t==`object`&&t.hasOwnProperty(`crossOrigin`)?console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",o(t)):console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.",o(t))}typeof e==`string`&&l.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&e?typeof t!=`object`||!t?console.error("ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.",o(t)):t.as!==`style`&&t.as!==`script`&&console.error('ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".',o(t.as)):console.error("ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.",a(e)),typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=i(n,t.crossOrigin),s=typeof t.integrity==`string`?t.integrity:void 0,c=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?l.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:s,fetchPriority:c}):n===`script`&&l.d.X(e,{crossOrigin:r,integrity:s,fetchPriority:c,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){var n=``;if(typeof e==`string`&&e||(n+=" The `href` argument encountered was "+a(e)+`.`),t!==void 0&&typeof t!=`object`?n+=" The `options` argument encountered was "+a(t)+`.`:t&&`as`in t&&t.as!==`script`&&(n+=" The `as` option encountered was "+o(t.as)+`.`),n)console.error("ReactDOM.preinitModule(
17): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s",n);else switch(n=t&&typeof t.as==`string`?t.as:`script`,n){case`script`:break;default:n=o(n),console.error('ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',n,e)}typeof e==`string`&&(typeof t==`object`&&t?(t.as==null||t.as===`script`)&&(n=i(t.as,t.crossOrigin),l.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})):t??l.d.M(e))},e.preload=function(e,t){var n=``;if(typeof e==`string`&&e||(n+=" The `href` argument encountered was "+a(e)+`.`),typeof t!=`object`||!t?n+=" The `options` argument encountered was "+a(t)+`.`:typeof t.as==`string`&&t.as||(n+=" The `as` option encountered was "+a(t.as)+`.`),n&&console.error('ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s',n),typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){n=t.as;var r=i(n,t.crossOrigin);l.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){var n=``;typeof e==`string`&&e||(n+=" The `href` argument encountered was "+a(e)+`.`),t!==void 0&&typeof t!=`object`?n+=" The `options` argument encountered was "+a(t)+`.`:t&&`as`in t&&typeof t.as!=`string`&&(n+=" The `as` option encountered was "+a(t.as)+`.`),n&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s',n),typeof e==`string`&&(t?(n=i(t.as,t.crossOrigin),l.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})):l.d.m(e))},e.requestFormReset=function(e){l.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s().useFormState(e,t,n)},e.useFormStatus=function(){return s().useHostTransitionStatus()},e.version=`19.2.8`,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),h=o(((e,t)=>{t.exports=m()})),g=o((e=>{(function(){function t(e,t){for(e=e.memoizedState;e!==null&&0<t;)e=e.next,t--;return e}function n(e,t,r,i){if(r>=t.length)return i;var a=t[r],o=Zf(e)?e.slice():Nf({},e);return o[a]=n(e[a],t,r+1,i),o}function r(e,t,n){if(t.length!==n.length)console.warn(`copyWithRename() expects paths of the same length`);else{for(var r=0;r<n.length-1;r++)if(t[r]!==n[r]){console.warn(`copyWithRename() expects paths to be the same except for the deepest key`);return}return i(e,t,n,0)}}function i(e,t,n,r){var a=t[r],o=Zf(e)?e.slice():Nf({},e);return r+1===t.length?(o[n[r]]=o[a],Zf(o)?o.splice(a,1):delete o[a]):o[a]=i(e[a],t,n,r+1),o}function a(e,t,n){var r=t[n],i=Zf(e)?e.slice():Nf({},e);return n+1===t.length?(Zf(i)?i.splice(r,1):delete i[r],i):(i[r]=a(e[r],t,n+1),i)}function o(){return!1}function s(){return null}function c(){console.error(`Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks`)}
vendor: 12,452 bytes, lines 17-33
17function l(){console.error(`Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().`)}function u(){}function f(){}function m(e){var t=[];return e.forEach(function(e){t.push(e)}),t.sort().join(`, `)}function g(e,t,n,r){return new D(e,t,n,r)}function _(e,t){e.context===Bg&&(rf(e.current,2,t,e,null,null),cl())}function v(e,t){if(Vg!==null){var n=t.staleFamilies;t=t.updatedFamilies,Pl(),wr(e.current,t,n),cl()}}function y(e){Vg=e}function b(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function x(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function S(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function ee(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function te(e){if(x(e)!==e)throw Error(`Unable to find node on an unmounted component.`)}function ne(e){var t=e.alternate;if(!t){if(t=x(e),t===null)throw Error(`Unable to find node on an unmounted component.`);return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return te(i),e;if(a===r)return te(i),t;a=a.sibling}throw Error(`Unable to find node on an unmounted component.`)}if(n.return!==r.return)n=i,r=a;else{for(var o=!1,s=i.child;s;){if(s===n){o=!0,n=i,r=a;break}if(s===r){o=!0,r=i,n=a;break}s=s.sibling}if(!o){for(s=a.child;s;){if(s===n){o=!0,n=a,r=i;break}if(s===r){o=!0,r=a,n=i;break}s=s.sibling}if(!o)throw Error(`Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.`)}}if(n.alternate!==r)throw Error(`Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.`)}if(n.tag!==3)throw Error(`Unable to find node on an unmounted component.`);return n.stateNode.current===n?e:t}function re(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=re(e),t!==null)return t;e=e.sibling}return null}function ie(e){return typeof e!=`object`||!e?null:(e=Yf&&e[Yf]||e[`@@iterator`],typeof e==`function`?e:null)}function C(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===Xf?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case Lf:return`Fragment`;case zf:return`Profiler`;case Rf:return`StrictMode`;case Uf:return`Suspense`;case Wf:return`SuspenseList`;case qf:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case If:return`Portal`;case Vf:return e.displayName||`Context`;case Bf:return(e._context.displayName||`Context`)+`.Consumer`;case Hf:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case Gf:return t=e.displayName||null,t===null?C(e.type)||`Memo`:t;case Kf:t=e._payload,e=e._init;try{return C(e(t))}catch{}}return null}function ae(e){return typeof e.tag==`number`?w(e):typeof e.name==`string`?e.name:null}function w(e){var t=e.type;switch(e.tag){case 31:return`Activity`;case 24:return`Cache`;case 9:return(t._context.displayName||`Context`)+`.Consumer`;case 10:return t.displayName||`Context`;case 18:return`DehydratedFragment`;case 11:return e=t.render,e=e.displayName||e.name||``,t.displayName||(e===``?`ForwardRef`:`ForwardRef(`+e+`)`);case 7:return`Fragment`;case 26:case 27:case 5:return t;case 4:return`Portal`;case 3:return`Root`;case 6:return`Text`;case 16:return C(t);case 8:return t===Rf?`StrictMode`:`Mode`;case 22:return`Offscreen`;case 12:return`Profiler`;case 21:return`Scope`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 25:return`TracingMarker`;case 1:case 0:case 14:case 15:if(typeof t==`function`)return t.displayName||t.name||null;if(typeof t==`string`)return t;break;case 29:if(t=e._debugInfo,t!=null){for(var n=t.length-1;0<=n;n--)if(typeof t[n].name==`string`)return t[n].name}if(e.return!==null)return w(e.return)}return null}function oe(e){return{current:e}}function T(e,t){0>np?console.error(`Unexpected pop.`):(t!==tp[np]&&console.error(`Unexpected Fiber popped.`),e.current=ep[np],ep[np]=null,tp[np]=null,np--)}function se(e,t,n){np++,ep[np]=e.current,tp[np]=n,e.current=t}function ce(e){return e===null&&console.error(`Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.`),e}function le(e,t){se(ap,t,e),se(ip,e,e),se(rp,null,e);var n=t.nodeType;switch(n){case 9:case 11:n=n===9?`#document`:`#fragment`,t=(t=t.documentElement)&&(t=t.namespaceURI)?Uu(t):iC;break;default:if(n=t.tagName,t=t.namespaceURI)t=Uu(t),t=Wu(t,n);else switch(n){case`svg`:t=aC;break;case`math`:t=oC;break;default:t=iC}}n=n.toLowerCase(),n=Jt(null,n),n={context:t,ancestorInfo:n},T(rp,e),se(rp,n,e)}function ue(e){T(rp,e),T(ip,e),T(ap,e)}function de(){return ce(rp.current)}function fe(e){e.memoizedState!==null&&se(op,e,e);var t=ce(rp.current),n=e.type,r=Wu(t.context,n);n=Jt(t.ancestorInfo,n),r={context:r,ancestorInfo:n},t!==r&&(se(ip,e,e),se(rp,r,e))}function pe(e){ip.current===e&&(T(rp,e),T(ip,e)),op.current===e&&(T(op,e),FC._currentValue=PC)}function me(){}function he(){if(sp===0){cp=console.log,lp=console.info,up=console.warn,dp=console.error,fp=console.group,pp=console.groupCollapsed,mp=console.groupEnd;var e={configurable:!0,enumerable:!0,value:me,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}sp++}function ge(){if(sp--,sp===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Nf({},e,{value:cp}),info:Nf({},e,{value:lp}),warn:Nf({},e,{value:up}),error:Nf({},e,{value:dp}),group:Nf({},e,{value:fp}),groupCollapsed:Nf({},e,{value:pp}),groupEnd:Nf({},e,{value:mp})})}0>sp&&console.error(`disabledDepth fell below zero. This is a bug in React. Please file an issue.`)}function _e(e){var t=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,e=e.stack,Error.prepareStackTrace=t,e.startsWith(`Error: react-stack-top-frame
18`)&&(e=e.slice(29)),t=e.indexOf(`
19`),t!==-1&&(e=e.slice(t+1)),t=e.indexOf(`react_stack_bottom_frame`),t!==-1&&(t=e.lastIndexOf(`
20`,t)),t!==-1)e=e.slice(0,t);else return``;return e}function ve(e){if(hp===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);hp=t&&t[1]||``,gp=-1<e.stack.indexOf(`
21    at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
22`+hp+e+gp}function ye(e,t){if(!e||_p)return``;var n=vp.get(e);if(n!==void 0)return n;_p=!0,n=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var r=null;r=L.H,L.H=null,he();try{var i={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var a=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,`name`);a&&a.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var o=i.DetermineComponentFrameRoot(),s=o[0],c=o[1];if(s&&c){var l=s.split(`
23`),u=c.split(`
24`);for(o=a=0;a<l.length&&!l[a].includes(`DetermineComponentFrameRoot`);)a++;for(;o<u.length&&!u[o].includes(`DetermineComponentFrameRoot`);)o++;if(a===l.length||o===u.length)for(a=l.length-1,o=u.length-1;1<=a&&0<=o&&l[a]!==u[o];)o--;for(;1<=a&&0<=o;a--,o--)if(l[a]!==u[o]){if(a!==1||o!==1)do if(a--,o--,0>o||l[a]!==u[o]){var d=`
25`+l[a].replace(` at new `,` at `);return e.displayName&&d.includes(`<anonymous>`)&&(d=d.replace(`<anonymous>`,e.displayName)),typeof e==`function`&&vp.set(e,d),d}while(1<=a&&0<=o);break}}}finally{_p=!1,L.H=r,ge(),Error.prepareStackTrace=n}return l=(l=e?e.displayName||e.name:``)?ve(l):``,typeof e==`function`&&vp.set(e,l),l}function be(e,t){switch(e.tag){case 26:case 27:case 5:return ve(e.type);case 16:return ve(`Lazy`);case 13:return e.child!==t&&t!==null?ve(`Suspense Fallback`):ve(`Suspense`);case 19:return ve(`SuspenseList`);case 0:case 15:return ye(e.type,!1);case 11:return ye(e.type.render,!1);case 1:return ye(e.type,!0);case 31:return ve(`Activity`);default:return``}}function xe(e){try{var t=``,n=null;do{t+=be(e,n);var r=e._debugInfo;if(r)for(var i=r.length-1;0<=i;i--){var a=r[i];if(typeof a.name==`string`){var o=t;a:{var s=a.name,c=a.env,l=a.debugLocation;if(l!=null){var u=_e(l),d=u.lastIndexOf(`
26`),f=d===-1?u:u.slice(d+1);if(f.indexOf(s)!==-1){var p=`
27`+f;break a}}p=ve(s+(c?` [`+c+`]`:``))}t=o+p}}n=e,e=e.return}while(e);return t}catch(e){return`
28Error generating stack: `+e.message+`
29`+e.stack}}function Se(e){return(e=e?e.displayName||e.name:``)?ve(e):``}function Ce(){if(yp===null)return null;var e=yp._debugOwner;return e==null?null:ae(e)}function we(){if(yp===null)return``;var e=yp;try{var t=``;switch(e.tag===6&&(e=e.return),e.tag){case 26:case 27:case 5:t+=ve(e.type);break;case 13:t+=ve(`Suspense`);break;case 19:t+=ve(`SuspenseList`);break;case 31:t+=ve(`Activity`);break;case 30:case 0:case 15:case 1:e._debugOwner||t!==``||(t+=Se(e.type));break;case 11:e._debugOwner||t!==``||(t+=Se(e.type.render))}for(;e;)if(typeof e.tag==`number`){var n=e;e=n._debugOwner;var r=n._debugStack;if(e&&r){var i=_e(r);i!==``&&(t+=`
30`+i)}}else if(e.debugStack!=null){var a=e.debugStack;(e=e.owner)&&a&&(t+=`
31`+_e(a))}else break;var o=t}catch(e){o=`
32Error generating stack: `+e.message+`
33`+e.stack}return o}function Te(e,t,n,r,i,a,o){var s=yp;Ee(e);try{return e!==null&&e._debugTask?e._debugTask.run(t.bind(null,n,r,i,a,o)):t(n,r,i,a,o)}finally{Ee(s)}}function Ee(e){L.getCurrentStack=e===null?null:we,bp=!1,yp=e}function De(e){return typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`}function Oe(e){try{return ke(e),!1}catch{return!0}}function ke(e){return``+e}function Ae(e,t){if(Oe(e))return console.error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",t,De(e)),ke(e)}function je(e,t){if(Oe(e))return console.error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",t,De(e)),ke(e)}function Me(e){if(Oe(e))return console.error(`Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.`,De(e)),ke(e)}function Ne(e){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled)return!0;if(!t.supportsFiber)return console.error(`The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools`),!0;try{Fp=t.inject(e),Ip=t}catch(e){console.error(`React instrumentation encountered an error: %o.`,e)}return!!t.checkDCE}function Pe(e){if(typeof Np==`function`&&Pp(e),Ip&&typeof Ip.setStrictMode==`function`)try{Ip.setStrictMode(Fp,e)}catch(e){Lp||(Lp=!0,console.error(`React instrumentation encountered an error: %o`,e))}}function Fe(e){return e>>>=0,e===0?32:31-(Bp(e)/Vp|0)|0}function Ie(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;
33case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return console.error(`Should have found matching lanes. This is a bug in React.`),e}}function Le(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ie(n))):i=Ie(o):i=Ie(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ie(n))):i=Ie(o)):i=Ie(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Re(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ze(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return console.error(`Should have found matching lanes. This is a bug in React.`),-1}}function Be(){var e=Wp;return Wp<<=1,!(Wp&62914560)&&(Wp=4194304),e}function Ve(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function He(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ue(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-zp(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&We(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function We(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-zp(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Ge(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-zp(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function Ke(e,t){var n=t&-t;return n=n&42?1:qe(n),(n&(e.suspendedLanes|t))===0?n:0}function qe(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Je(e,t,n){if(Rp)for(e=e.pendingUpdatersLaneMap;0<n;){var r=31-zp(n),i=1<<r;e[r].add(t),n&=~i}}function Ye(e,t){if(Rp)for(var n=e.pendingUpdatersLaneMap,r=e.memoizedUpdaters;0<t;){var i=31-zp(t);e=1<<i,i=n[i],0<i.size&&(i.forEach(function(e){var t=e.alternate;t!==null&&r.has(t)||r.add(e)}),i.clear()),t&=~e}}function Xe(e){return e&=-e,Gp!==0&&Gp<e?Kp!==0&&Kp<e?e&134217727?qp:Jp:Kp:Gp}function Ze(){var e=Qf.p;return e===0?(e=window.event,e===void 0?qp:hf(e.type)):e}function Qe(e,t){var n=Qf.p;try{return Qf.p=e,t()}finally{Qf.p=n}}function $e(e){delete e[Xp],delete e[Zp],delete e[$p],delete e[em],delete e[tm]}function et(e){var t=e[Xp];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Qp]||n[Xp]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=wd(e);e!==null;){if(n=e[Xp])return n;e=wd(e)}return t}e=n,n=e.parentNode}return null}function tt(e){if(e=e[Xp]||e[Qp]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function nt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(`getNodeFromInstance: Invalid argument.`)}function rt(e){var t=e[nm];return t||=e[nm]={hoistableStyles:new Map,hoistableScripts:new Map},t}function it(e){e[rm]=!0}function at(e,t){ot(e,t),ot(e+`Capture`,t)}function ot(e,t){am[e]&&console.error("EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.",e),am[e]=t;var n=e.toLowerCase();for(om[n]=e,e===`onDoubleClick`&&(om.ondblclick=e),e=0;e<t.length;e++)im.add(t[e])}function st(e,t){sm[t.type]||t.onChange||t.onInput||t.readOnly||t.disabled||t.value==null||console.error(e===`select`?"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`.":"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."),t.onChange||t.readOnly||t.disabled||t.checked==null||console.error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")}function ct(e){return xp.call(um,e)?!0:xp.call(lm,e)?!1:cm.test(e)?um[e]=!0:(lm[e]=!0,console.error("Invalid attribute name: `%s`",e),!1)}function lt(e,t,n){if(ct(t)){if(!e.hasAttribute(t)){switch(typeof n){case`symbol`:case`object`:return n;case`function`:return n;case`boolean`:if(!1===n)return n}return n===void 0?void 0:null}return e=e.getAttribute(t),e===``&&!0===n||(Ae(n,t),e===``+n?n:e)}}function ut(e,t,n){if(ct(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}Ae(n,t),e.setAttribute(t,``+n)}}function dt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}Ae(n,t),e.setAttribute(t,``+n)}}function ft(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}Ae(r,n),e.setAttributeNS(t,n,``+r)}}function pt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return Me(e),e;default:return``}}function mt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function ht(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){Me(e),n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){Me(e),n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function gt(e){if(!e._valueTracker){var t=mt(e)?`checked`:`value`;e._valueTracker=ht(e,t,``+e[t])}}function _t(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=mt(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function vt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function yt(e){return e.replace(dm,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function bt(e,t){t.checked===void 0||t.defaultChecked===void 0||pm||(console.error(`%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components`,Ce()||`A component`,t.type),pm=!0),t.value===void 0||t.defaultValue===void 0||fm||(console.error(`%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components`,Ce()||`A component`,t.type),fm=!0)}
vendor: 22,818 bytes, lines 33-75
33function xt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?(Ae(o,`type`),e.type=o):e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+pt(t)):e.value!==``+pt(t)&&(e.value=``+pt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Ct(e,o,pt(n)):Ct(e,o,pt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?(Ae(s,`name`),e.name=``+pt(s)):e.removeAttribute(`name`)}function St(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(Ae(a,`type`),e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){gt(e);return}n=n==null?``:``+pt(n),t=t==null?n:``+pt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(Ae(o,`name`),e.name=o),gt(e)}function Ct(e,t,n){t===`number`&&vt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function wt(e,t){t.value??(typeof t.children==`object`&&t.children!==null?jf.Children.forEach(t.children,function(e){e==null||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||hm||(hm=!0,console.error("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>."))}):t.dangerouslySetInnerHTML==null||gm||(gm=!0,console.error("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected."))),t.selected==null||mm||(console.error("Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>."),mm=!0)}function Tt(){var e=Ce();return e?`
34
35Check the render method of \``+e+"`.":``}function Et(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+pt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Dt(e,t){for(e=0;e<vm.length;e++){var n=vm[e];if(t[n]!=null){var r=Zf(t[n]);t.multiple&&!r?console.error("The `%s` prop supplied to <select> must be an array if `multiple` is true.%s",n,Tt()):!t.multiple&&r&&console.error("The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s",n,Tt())}}t.value===void 0||t.defaultValue===void 0||_m||(console.error(`Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components`),_m=!0)}function Ot(e,t){t.value===void 0||t.defaultValue===void 0||ym||(console.error(`%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components`,Ce()||`A component`),ym=!0),t.children!=null&&t.value==null&&console.error("Use the `defaultValue` or `value` props instead of setting children on <textarea>.")}function kt(e,t,n){if(t!=null&&(t=``+pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+pt(n)}function At(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error("If you supply `defaultValue` on a <textarea>, do not pass children.");if(Zf(r)){if(1<r.length)throw Error(`<textarea> can only have at most one child.`);r=r[0]}n=r}n??=``,t=n}n=pt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),gt(e)}function jt(e,t){return e.serverProps===void 0&&e.serverTail.length===0&&e.children.length===1&&3<e.distanceFromLeaf&&e.distanceFromLeaf>15-t?jt(e.children[0],t):e}function Mt(e){return`  `+`  `.repeat(e)}function Nt(e){return`+ `+`  `.repeat(e)}function Pt(e){return`- `+`  `.repeat(e)}function Ft(e){switch(e.tag){case 26:case 27:case 5:return e.type;case 16:return`Lazy`;case 31:return`Activity`;case 13:return`Suspense`;case 19:return`SuspenseList`;case 0:case 15:return e=e.type,e.displayName||e.name||null;case 11:return e=e.type.render,e.displayName||e.name||null;case 1:return e=e.type,e.displayName||e.name||null;default:return null}}function It(e,t){return bm.test(e)?(e=JSON.stringify(e),e.length>t-2?8>t?`{"..."}`:`{`+e.slice(0,t-7)+`..."}`:`{`+e+`}`):e.length>t?5>t?`{"..."}`:e.slice(0,t-3)+`...`:e}function Lt(e,t,n){var r=120-2*n;if(t===null)return Nt(n)+It(e,r)+`
36`;if(typeof t==`string`){for(var i=0;i<t.length&&i<e.length&&t.charCodeAt(i)===e.charCodeAt(i);i++);return i>r-8&&10<i&&(e=`...`+e.slice(i-8),t=`...`+t.slice(i-8)),Nt(n)+It(e,r)+`
37`+Pt(n)+It(t,r)+`
38`}return Mt(n)+It(e,r)+`
39`}function Rt(e){return Object.prototype.toString.call(e).replace(/^\[object (.*)\]$/,function(e,t){return t})}function zt(e,t){switch(typeof e){case`string`:return e=JSON.stringify(e),e.length>t?5>t?`"..."`:e.slice(0,t-4)+`..."`:e;case`object`:if(e===null)return`null`;if(Zf(e))return`[...]`;if(e.$$typeof===Ff)return(t=C(e.type))?`<`+t+`>`:`<...>`;var n=Rt(e);if(n===`Object`){for(var r in n=``,t-=2,e)if(e.hasOwnProperty(r)){var i=JSON.stringify(r);if(i!==`"`+r+`"`&&(r=i),t-=r.length-2,i=zt(e[r],15>t?t:15),t-=i.length,0>t){n+=n===``?`...`:`, ...`;break}n+=(n===``?``:`,`)+r+`:`+i}return`{`+n+`}`}return n;case`function`:return(t=e.displayName||e.name)?`function `+t:`function`;default:return String(e)}}function Bt(e,t){return typeof e!=`string`||bm.test(e)?`{`+zt(e,t-2)+`}`:e.length>t-2?5>t?`"..."`:`"`+e.slice(0,t-5)+`..."`:`"`+e+`"`}function Vt(e,t,n){var r=120-n.length-e.length,i=[],a;for(a in t)if(t.hasOwnProperty(a)&&a!==`children`){var o=Bt(t[a],120-n.length-a.length-1);r-=a.length+o.length+2,i.push(a+`=`+o)}return i.length===0?n+`<`+e+`>
40`:0<r?n+`<`+e+` `+i.join(` `)+`>
41`:n+`<`+e+`
42`+n+`  `+i.join(`
43`+n+`  `)+`
44`+n+`>
45`}function Ht(e,t,n){var r=``,i=Nf({},t),a;for(a in e)if(e.hasOwnProperty(a)){delete i[a];var o=120-2*n-a.length-2,s=zt(e[a],o);t.hasOwnProperty(a)?(o=zt(t[a],o),r+=Nt(n)+a+`: `+s+`
46`,r+=Pt(n)+a+`: `+o+`
47`):r+=Nt(n)+a+`: `+s+`
48`}for(var c in i)i.hasOwnProperty(c)&&(e=zt(i[c],120-2*n-c.length-2),r+=Pt(n)+c+`: `+e+`
49`);return r}function Ut(e,t,n,r){var i=``,a=new Map;for(l in n)n.hasOwnProperty(l)&&a.set(l.toLowerCase(),l);if(a.size===1&&a.has(`children`))i+=Vt(e,t,Mt(r));else{for(var o in t)if(t.hasOwnProperty(o)&&o!==`children`){var s=120-2*(r+1)-o.length-1,c=a.get(o.toLowerCase());if(c!==void 0){a.delete(o.toLowerCase());var l=t[o];c=n[c];var u=Bt(l,s);s=Bt(c,s),typeof l==`object`&&l&&typeof c==`object`&&c&&Rt(l)===`Object`&&Rt(c)===`Object`&&(2<Object.keys(l).length||2<Object.keys(c).length||-1<u.indexOf(`...`)||-1<s.indexOf(`...`))?i+=Mt(r+1)+o+`={{
50`+Ht(l,c,r+2)+Mt(r+1)+`}}
51`:(i+=Nt(r+1)+o+`=`+u+`
52`,i+=Pt(r+1)+o+`=`+s+`
53`)}else i+=Mt(r+1)+o+`=`+Bt(t[o],s)+`
54`}a.forEach(function(e){if(e!==`children`){var t=120-2*(r+1)-e.length-1;i+=Pt(r+1)+e+`=`+Bt(n[e],t)+`
55`}}),i=i===``?Mt(r)+`<`+e+`>
56`:Mt(r)+`<`+e+`
57`+i+Mt(r)+`>
58`}return e=n.children,t=t.children,typeof e==`string`||typeof e==`number`||typeof e==`bigint`?(a=``,(typeof t==`string`||typeof t==`number`||typeof t==`bigint`)&&(a=``+t),i+=Lt(a,``+e,r+1)):(typeof t==`string`||typeof t==`number`||typeof t==`bigint`)&&(i=e==null?i+Lt(``+t,null,r+1):i+Lt(``+t,void 0,r+1)),i}function Wt(e,t){var n=Ft(e);if(n===null){for(n=``,e=e.child;e;)n+=Wt(e,t),e=e.sibling;return n}return Mt(t)+`<`+n+`>
59`}function Gt(e,t){var n=jt(e,t);if(n!==e&&(e.children.length!==1||e.children[0]!==n))return Mt(t)+`...
60`+Gt(n,t+1);n=``;var r=e.fiber._debugInfo;if(r)for(var i=0;i<r.length;i++){var a=r[i].name;typeof a==`string`&&(n+=Mt(t)+`<`+a+`>
61`,t++)}if(r=``,i=e.fiber.pendingProps,e.fiber.tag===6)r=Lt(i,e.serverProps,t),t++;else if(a=Ft(e.fiber),a!==null)if(e.serverProps===void 0){r=t;var o=120-2*r-a.length-2,s=``;for(l in i)if(i.hasOwnProperty(l)&&l!==`children`){var c=Bt(i[l],15);if(o-=l.length+c.length+2,0>o){s+=` ...`;break}s+=` `+l+`=`+c}r=Mt(r)+`<`+a+s+`>
62`,t++}else e.serverProps===null?(r=Vt(a,i,Nt(t)),t++):typeof e.serverProps==`string`?console.error(`Should not have matched a non HostText fiber to a Text node. This is a bug in React.`):(r=Ut(a,i,e.serverProps,t),t++);var l=``;for(i=e.fiber.child,a=0;i&&a<e.children.length;)o=e.children[a],o.fiber===i?(l+=Gt(o,t),a++):l+=Wt(i,t),i=i.sibling;for(i&&0<e.children.length&&(l+=Mt(t)+`...
63`),i=e.serverTail,e.serverProps===null&&t--,e=0;e<i.length;e++)a=i[e],l=typeof a==`string`?l+(Pt(t)+It(a,120-2*t)+`
64`):l+Vt(a.type,a.props,Pt(t));return n+r+l}function Kt(e){try{return`
65
66`+Gt(e,0)}catch{return``}}function qt(e,t,n){for(var r=t,i=null,a=0;r;)r===e&&(a=0),i={fiber:r,children:i===null?[]:[i],serverProps:r===t?n:r===e?null:void 0,serverTail:[],distanceFromLeaf:a},a++,r=r.return;return i===null?``:Kt(i).replaceAll(/^[+-]/gm,`>`)}function Jt(e,t){var n=Nf({},e||Tm),r={tag:t};return Sm.indexOf(t)!==-1&&(n.aTagInScope=null,n.buttonTagInScope=null,n.nobrTagInScope=null),Cm.indexOf(t)!==-1&&(n.pTagInButtonScope=null),xm.indexOf(t)!==-1&&t!==`address`&&t!==`div`&&t!==`p`&&(n.listItemTagAutoclosing=null,n.dlItemTagAutoclosing=null),n.current=r,t===`form`&&(n.formTag=r),t===`a`&&(n.aTagInScope=r),t===`button`&&(n.buttonTagInScope=r),t===`nobr`&&(n.nobrTagInScope=r),t===`p`&&(n.pTagInButtonScope=r),t===`li`&&(n.listItemTagAutoclosing=r),(t===`dd`||t===`dt`)&&(n.dlItemTagAutoclosing=r),t===`#document`||t===`html`?n.containerTagInScope=null:n.containerTagInScope||=r,e!==null||t!==`#document`&&t!==`html`&&t!==`body`?!0===n.implicitRootScope&&(n.implicitRootScope=!1):n.implicitRootScope=!0,n}function Yt(e,t,n){switch(t){case`select`:return e===`hr`||e===`option`||e===`optgroup`||e===`script`||e===`template`||e===`#text`;case`optgroup`:return e===`option`||e===`#text`;case`option`:return e===`#text`;case`tr`:return e===`th`||e===`td`||e===`style`||e===`script`||e===`template`;case`tbody`:case`thead`:case`tfoot`:return e===`tr`||e===`style`||e===`script`||e===`template`;case`colgroup`:return e===`col`||e===`template`;case`table`:return e===`caption`||e===`colgroup`||e===`tbody`||e===`tfoot`||e===`thead`||e===`style`||e===`script`||e===`template`;case`head`:return e===`base`||e===`basefont`||e===`bgsound`||e===`link`||e===`meta`||e===`title`||e===`noscript`||e===`noframes`||e===`style`||e===`script`||e===`template`;case`html`:if(n)break;return e===`head`||e===`body`||e===`frameset`;case`frameset`:return e===`frame`;case`#document`:if(!n)return e===`html`}switch(e){case`h1`:case`h2`:case`h3`:case`h4`:case`h5`:case`h6`:return t!==`h1`&&t!==`h2`&&t!==`h3`&&t!==`h4`&&t!==`h5`&&t!==`h6`;case`rp`:case`rt`:return wm.indexOf(t)===-1;case`caption`:case`col`:case`colgroup`:case`frameset`:case`frame`:case`tbody`:case`td`:case`tfoot`:case`th`:case`thead`:case`tr`:return t==null;case`head`:return n||t===null;case`html`:return n&&t===`#document`||t===null;case`body`:return n&&(t===`#document`||t===`html`)||t===null}return!0}function Xt(e,t){switch(e){case`address`:case`article`:case`aside`:case`blockquote`:case`center`:case`details`:case`dialog`:case`dir`:case`div`:case`dl`:case`fieldset`:case`figcaption`:case`figure`:case`footer`:case`header`:case`hgroup`:case`main`:case`menu`:case`nav`:case`ol`:case`p`:case`section`:case`summary`:case`ul`:case`pre`:case`listing`:case`table`:case`hr`:case`xmp`:case`h1`:case`h2`:case`h3`:case`h4`:case`h5`:case`h6`:return t.pTagInButtonScope;case`form`:return t.formTag||t.pTagInButtonScope;case`li`:return t.listItemTagAutoclosing;case`dd`:case`dt`:return t.dlItemTagAutoclosing;case`button`:return t.buttonTagInScope;case`a`:return t.aTagInScope;case`nobr`:return t.nobrTagInScope}return null}function Zt(e,t){for(;e;){switch(e.tag){case 5:case 26:case 27:if(e.type===t)return e}e=e.return}return null}function Qt(e,t){t||=Tm;var n=t.current;if(t=(n=Yt(e,n&&n.tag,t.implicitRootScope)?null:n)?null:Xt(e,t),t=n||t,!t)return!0;var r=t.tag;if(t=String(!!n)+`|`+e+`|`+r,Em[t])return!1;Em[t]=!0;var i=(t=yp)?Zt(t.return,r):null,a=t!==null&&i!==null?qt(i,t,null):``,o=`<`+e+`>`;return n?(n=``,r===`table`&&e===`tr`&&(n+=` Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser.`),console.error(`In HTML, %s cannot be a child of <%s>.%s
67This will cause a hydration error.%s`,o,r,n,a)):console.error(`In HTML, %s cannot be a descendant of <%s>.
68This will cause a hydration error.%s`,o,r,a),t&&(e=t.return,i===null||e===null||i===e&&e._debugOwner===t._debugOwner||Te(i,function(){console.error(`<%s> cannot contain a nested %s.
69See this log for the ancestor stack trace.`,r,o)})),!1}function $t(e,t,n){if(n||Yt(`#text`,t,!1))return!0;if(n=`#text|`+t,Em[n])return!1;Em[n]=!0;var r=(n=yp)?Zt(n,t):null;return n=n!==null&&r!==null?qt(r,n,n.tag===6?null:{children:null}):``,/\S/.test(e)?console.error(`In HTML, text nodes cannot be a child of <%s>.
70This will cause a hydration error.%s`,t,n):console.error(`In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.
71This will cause a hydration error.%s`,t,n),!1}function en(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}function tn(e){return e.replace(Mm,function(e,t){return t.toUpperCase()})}function nn(e,t,n){var r=t.indexOf(`--`)===0;r||(-1<t.indexOf(`-`)?Pm.hasOwnProperty(t)&&Pm[t]||(Pm[t]=!0,console.error(`Unsupported style property %s. Did you mean %s?`,t,tn(t.replace(jm,`ms-`)))):Am.test(t)?Pm.hasOwnProperty(t)&&Pm[t]||(Pm[t]=!0,console.error(`Unsupported vendor-prefixed style property %s. Did you mean %s?`,t,t.charAt(0).toUpperCase()+t.slice(1))):!Nm.test(n)||Fm.hasOwnProperty(n)&&Fm[n]||(Fm[n]=!0,console.error(`Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`,t,n.replace(Nm,``))),typeof n==`number`&&(isNaN(n)?Im||(Im=!0,console.error("`NaN` is an invalid value for the `%s` css style property.",t)):isFinite(n)||Lm||(Lm=!0,console.error("`Infinity` is an invalid value for the `%s` css style property.",t)))),n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||Rm.has(t)?t===`float`?e.cssFloat=n:(je(n,t),e[t]=(``+n).trim()):e[t]=n+`px`}function rn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");if(t&&Object.freeze(t),e=e.style,n!=null){if(t){var r={};if(n){for(var i in n)if(n.hasOwnProperty(i)&&!t.hasOwnProperty(i))for(var a=Dm[i]||[i],o=0;o<a.length;o++)r[a[o]]=i}for(var s in t)if(t.hasOwnProperty(s)&&(!n||n[s]!==t[s]))for(i=Dm[s]||[s],a=0;a<i.length;a++)r[i[a]]=s;for(var c in s={},t)for(i=Dm[c]||[c],a=0;a<i.length;a++)s[i[a]]=c;for(var l in c={},r)if(i=r[l],(a=s[l])&&i!==a&&(o=i+`,`+a,!c[o])){c[o]=!0,o=console;var u=t[i];o.error.call(o,`%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.`,u==null||typeof u==`boolean`||u===``?`Removing`:`Updating`,i,a)}}for(var d in n)!n.hasOwnProperty(d)||t!=null&&t.hasOwnProperty(d)||(d.indexOf(`--`)===0?e.setProperty(d,``):d===`float`?e.cssFloat=``:e[d]=``);for(var f in t)l=t[f],t.hasOwnProperty(f)&&n[f]!==l&&nn(e,f,l)}else for(r in t)t.hasOwnProperty(r)&&nn(e,r,t[r])}function an(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}function on(e){return Vm.get(e)||e}function sn(e,t){if(xp.call(Wm,t)&&Wm[t])return!0;if(Km.test(t)){if(e=`aria-`+t.slice(4).toLowerCase(),e=Um.hasOwnProperty(e)?e:null,e==null)return console.error("Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.",t),Wm[t]=!0;if(t!==e)return console.error("Invalid ARIA attribute `%s`. Did you mean `%s`?",t,e),Wm[t]=!0}if(Gm.test(t)){if(e=t.toLowerCase(),e=Um.hasOwnProperty(e)?e:null,e==null)return Wm[t]=!0,!1;t!==e&&(console.error("Unknown ARIA attribute `%s`. Did you mean `%s`?",t,e),Wm[t]=!0)}return!0}function cn(e,t){var n=[],r;for(r in t)sn(e,r)||n.push(r);t=n.map(function(e){return"`"+e+"`"}).join(`, `),n.length===1?console.error(`Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props`,t,e):1<n.length&&console.error(`Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props`,t,e)}function ln(e,t,n,r){if(xp.call(Jm,t)&&Jm[t])return!0;var i=t.toLowerCase();if(i===`onfocusin`||i===`onfocusout`)return console.error(`React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React.`),Jm[t]=!0;if(typeof n==`function`&&(e===`form`&&t===`action`||e===`input`&&t===`formAction`||e===`button`&&t===`formAction`))return!0;if(r!=null){if(e=r.possibleRegistrationNames,r.registrationNameDependencies.hasOwnProperty(t))return!0;if(r=e.hasOwnProperty(i)?e[i]:null,r!=null)return console.error("Invalid event handler property `%s`. Did you mean `%s`?",t,r),Jm[t]=!0;if(Ym.test(t))return console.error("Unknown event handler property `%s`. It will be ignored.",t),Jm[t]=!0}else if(Ym.test(t))return Xm.test(t)&&console.error("Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.",t),Jm[t]=!0;if(Zm.test(t)||Qm.test(t))return!0;if(i===`innerhtml`)return console.error("Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."),Jm[t]=!0;if(i===`aria`)return console.error("The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead."),Jm[t]=!0;if(i===`is`&&n!=null&&typeof n!=`string`)return console.error("Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.",typeof n),Jm[t]=!0;if(typeof n==`number`&&isNaN(n))return console.error("Received NaN for the `%s` attribute. If this is expected, cast the value to a string.",t),Jm[t]=!0;if(Hm.hasOwnProperty(i)){if(i=Hm[i],i!==t)return console.error("Invalid DOM property `%s`. Did you mean `%s`?",t,i),Jm[t]=!0}else if(t!==i)return console.error("React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.",t,i),Jm[t]=!0;switch(t){case`dangerouslySetInnerHTML`:case`children`:case`style`:case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:return!0;case`innerText`:case`textContent`:return!0}switch(typeof n){case`boolean`:switch(t){case`autoFocus`:case`checked`:case`multiple`:case`muted`:case`selected`:case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:case`capture`:case`download`:case`inert`:return!0;default:return i=t.toLowerCase().slice(0,5),i===`data-`||i===`aria-`||(n?console.error('Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.',n,t,t,n,t):console.error(`Received \`%s\` for a non-boolean attribute \`%s\`.
72
73If you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.
74
75If you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.`,n,t,t,n,t,t,t),Jm[t]=!0)}case`function`:case`symbol`:return Jm[t]=!0,!1;case`string`:if(n===`false`||n===`true`){switch(t){case`checked`:case`selected`:case`multiple`:case`muted`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:case`inert`:break;default:return!0}console.error("Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?",n,t,n===`false`?`The browser will interpret it as a truthy value.`:`Although this works, it will not work as expected if you pass the string "false".`,t,n),Jm[t]=!0}}return!0}function un(e,t,n){var r=[],i;for(i in t)ln(e,i,t[i],n)||r.push(i);t=r.map(function(e){return"`"+e+"`"}).join(`, `),r.length===1?console.error(`Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior `,t,e):1<r.length&&console.error(`Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior `,t,e)}function dn(e){return $m.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function fn(){}function pn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}function mn(e){var t=tt(e);if(t&&(e=t.stateNode)){var n=e[Zp]||null;a:switch(e=t.stateNode,t.type){case`input`:if(xt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(Ae(t,`name`),n=n.querySelectorAll(`input[name="`+yt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[Zp]||null;
75if(!i)throw Error("ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.");xt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&_t(r)}break a;case`textarea`:kt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Et(e,!!n.multiple,t,!1)}}}function hn(e,t,n){if(rh)return e(t,n);rh=!0;try{return e(t)}finally{if(rh=!1,(th!==null||nh!==null)&&(cl(),th&&(t=th,e=nh,nh=th=null,mn(t),e)))for(t=0;t<e.length;t++)mn(e[t])}}function gn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[Zp]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error("Expected `"+t+"` listener to be a function, instead got a value of `"+typeof n+"` type.");return n}function _n(){if(lh)return lh;var e,t=ch,n=t.length,r,i=`value`in sh?sh.value:sh.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return lh=i.slice(e,1<r?1-r:void 0)}function vn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function yn(){return!0}function bn(){return!1}function xn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?yn:bn,this.isPropagationStopped=bn,this}return Nf(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=yn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=yn)},persist:function(){},isPersistent:yn}),t}function Sn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Dh[e])?!!t[e]:!1}function Cn(){return Sn}function wn(e,t){switch(e){case`keyup`:return Ph.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==Fh;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Tn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}function En(e,t){switch(e){case`compositionend`:return Tn(t);case`keypress`:return t.which===Bh?(Hh=!0,Vh):null;case`textInput`:return e=t.data,e===Vh&&Hh?null:e;default:return null}}function Dn(e,t){if(Uh)return e===`compositionend`||!Ih&&wn(e,t)?(e=_n(),lh=ch=sh=null,Uh=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return zh&&t.locale!==`ko`?null:t.data;default:return null}}function On(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Wh[e.type]:t===`textarea`}function kn(e){if(!ih)return!1;e=`on`+e;var t=e in document;return t||=(t=document.createElement(`div`),t.setAttribute(e,`return;`),typeof t[e]==`function`),t}function An(e,t,n,r){th?nh?nh.push(r):nh=[r]:th=r,t=gu(t,`onChange`),0<t.length&&(n=new dh(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}function jn(e){uu(e,0)}function Mn(e){if(_t(nt(e)))return e}function Nn(e,t){if(e===`change`)return t}function Pn(){Gh&&(Gh.detachEvent(`onpropertychange`,Fn),Kh=Gh=null)}function Fn(e){if(e.propertyName===`value`&&Mn(Kh)){var t=[];An(t,Kh,e,pn(e)),hn(jn,t)}}function In(e,t,n){e===`focusin`?(Pn(),Gh=t,Kh=n,Gh.attachEvent(`onpropertychange`,Fn)):e===`focusout`&&Pn()}function Ln(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return Mn(Kh)}function Rn(e,t){if(e===`click`)return Mn(t)}function zn(e,t){if(e===`input`||e===`change`)return Mn(t)}function Bn(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}function Vn(e,t){if(Jh(e,t))return!0;
vendor: 4,941 bytes, line 75
75if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!xp.call(t,i)||!Jh(e[i],t[i]))return!1}return!0}function Hn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Un(e,t){var n=Hn(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Hn(n)}}function Wn(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Wn(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Gn(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=vt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=vt(e.document)}return t}function Kn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}function qn(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$h||Xh==null||Xh!==vt(r)||(r=Xh,`selectionStart`in r&&Kn(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Qh&&Vn(Qh,r)||(Qh=r,r=gu(Zh,`onSelect`),0<r.length&&(t=new dh(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Xh)))}function E(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}function Jn(e){if(tg[e])return tg[e];if(!eg[e])return e;var t=eg[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in ng)return tg[e]=t[n];return e}function Yn(e,t){ug.set(e,t),at(t,[e])}function Xn(e){for(var t=vg,n=0;n<e.length;n++){var r=e[n];if(typeof r==`object`&&r)if(Zf(r)&&r.length===2&&typeof r[0]==`string`){if(t!==vg&&t!==xg)return yg;t=xg}else return yg;else{if(typeof r==`function`||typeof r==`string`&&50<r.length||t!==vg&&t!==bg)return yg;t=bg}}return t}function Zn(e,t,n,r){for(var i in e)xp.call(e,i)&&i[0]!==`_`&&Qn(i,e[i],t,n,r)}function Qn(e,t,n,r,i){switch(typeof t){case`object`:if(t===null){t=`null`;break}if(t.$$typeof===Ff){var a=C(t.type)||`…`,o=t.key;t=t.props;var s=Object.keys(t),c=s.length;if(o==null&&c===0){t=`<`+a+` />`;break}if(3>r||c===1&&s[0]===`children`&&o==null){t=`<`+a+` … />`;break}for(var l in n.push([i+`\xA0\xA0`.repeat(r)+e,`<`+a]),o!==null&&Qn(`key`,o,n,r+1,i),e=!1,t)l===`children`?t.children!=null&&(!Zf(t.children)||0<t.children.length)&&(e=!0):xp.call(t,l)&&l[0]!==`_`&&Qn(l,t[l],n,r+1,i);n.push([``,e?`>…</`+a+`>`:`/>`]);return}if(a=Object.prototype.toString.call(t),a=a.slice(8,a.length-1),a===`Array`){if(l=Xn(t),l===bg||l===vg){t=JSON.stringify(t);break}if(l===xg){for(n.push([i+`\xA0\xA0`.repeat(r)+e,``]),e=0;e<t.length;e++)a=t[e],Qn(a[0],a[1],n,r+1,i);return}}if(a===`Promise`){if(t.status===`fulfilled`){if(a=n.length,Qn(e,t.value,n,r,i),n.length>a){n=n[a],n[1]=`Promise<`+(n[1]||`Object`)+`>`;return}}else if(t.status===`rejected`&&(a=n.length,Qn(e,t.reason,n,r,i),n.length>a)){n=n[a],n[1]=`Rejected Promise<`+n[1]+`>`;return}n.push([`\xA0\xA0`.repeat(r)+e,`Promise`]);return}a===`Object`&&(l=Object.getPrototypeOf(t))&&typeof l.constructor==`function`&&(a=l.constructor.name),n.push([i+`\xA0\xA0`.repeat(r)+e,a===`Object`?3>r?``:`…`:a]),3>r&&Zn(t,n,r+1,i);return;case`function`:t=t.name===``?`() => {}`:t.name+`() {}`;break;case`string`:t=t===_g?`…`:JSON.stringify(t);break;case`undefined`:t=`undefined`;break;case`boolean`:t=t?`true`:`false`;break;default:t=String(t)}n.push([i+`\xA0\xA0`.repeat(r)+e,t])}function $n(e,t,n,r){var i=!0;for(o in e)o in t||(n.push([Sg+`\xA0\xA0`.repeat(r)+o,`…`]),i=!1);for(var a in t)if(a in e){var o=e[a],s=t[a];if(o!==s){if(r===0&&a===`children`)i=`\xA0\xA0`.repeat(r)+a,n.push([Sg+i,`…`],[Cg+i,`…`]);else{if(!(3<=r)){if(typeof o==`object`&&typeof s==`object`&&o!==null&&s!==null&&o.$$typeof===s.$$typeof)if(s.$$typeof===Ff){if(o.type===s.type&&o.key===s.key){o=C(s.type)||`…`,i=`\xA0\xA0`.repeat(r)+a,o=`<`+o+` … />`,n.push([Sg+i,o],[Cg+i,o]),i=!1;continue}}else{var c=Object.prototype.toString.call(o),l=Object.prototype.toString.call(s);if(c===l&&(l===`[object Object]`||l===`[object Array]`)){c=[wg+`\xA0\xA0`.repeat(r)+a,l===`[object Array]`?`Array`:``],n.push(c),l=n.length,$n(o,s,n,r+1)?l===n.length&&(c[1]=`Referentially unequal but deeply equal objects. Consider memoization.`):i=!1;continue}}else if(typeof o==`function`&&typeof s==`function`&&o.name===s.name&&o.length===s.length&&(c=Function.prototype.toString.call(o),l=Function.prototype.toString.call(s),c===l)){o=s.name===``?`() => {}
75`:s.name+`() {}`,n.push([wg+`\xA0\xA0`.repeat(r)+a,o+` Referentially unequal function closure. Consider memoization.`]);continue}}Qn(a,o,n,r,Sg),Qn(a,s,n,r,Cg)}i=!1}}else n.push([Cg+`\xA0\xA0`.repeat(r)+a,`…`]),i=!1;return i}function er(e){Og=e&63?`Blocking`:e&64?`Gesture`:e&4194176?`Transition`:e&62914560?`Suspense`:e&2080374784?`Idle`:`Other`}function tr(e,t,n,r){Tg&&(jg.start=t,jg.end=n,Ag.color=`warning`,Ag.tooltipText=r,Ag.properties=null,(e=e._debugTask)?e.run(performance.measure.bind(performance,r,jg)):performance.measure(r,jg))}function nr(e,t,n){tr(e,t,n,`Reconnect`)}function rr(e,t,n,r,i){var a=w(e);if(a!==null&&Tg){var o=e.alternate,s=e.actualDuration;if(o===null||o.child!==e.child)for(var c=e.child;c!==null;c=c.sibling)s-=c.actualDuration;r=.5>s?r?`tertiary-light`:`primary-light`:10>s?r?`tertiary`:`primary`:100>s?r?`tertiary-dark`:`primary-dark`:`error`;var l=e.memoizedProps;s=e._debugTask,l!==null&&o!==null&&o.memoizedProps!==l?(c=[Mg],l=$n(o.memoizedProps,l,c,0),1<c.length&&(l&&!kg&&(o.lanes&i)===0&&100<e.actualDuration?(kg=!0,c[0]=Pg,Ag.color=`warning`,Ag.tooltipText=Ng):(Ag.color=r,Ag.tooltipText=a),Ag.properties=c,jg.start=t,jg.end=n,s==null?performance.measure(`​`+a,jg):s.run(performance.measure.bind(performance,`​`+a,jg)))):s==null?console.timeStamp(a,t,n,Eg,void 0,r):s.run(console.timeStamp.bind(console,a,t,n,Eg,void 0,r))}}function ir(e,t,n,r){if(Tg){var i=w(e);if(i!==null){for(var a=null,o=[],s=0;s<r.length;s++){var c=r[s];a==null&&c.source!==null&&(a=c.source._debugTask),c=c.value,o.push([`Error`,typeof c==`object`&&c&&typeof c.message==`string`?String(c.message):String(c)])}e.key!==null&&Qn(`key`,e.key,o,0,``),e.memoizedProps!==null&&Zn(e.memoizedProps,o,0,``),a??=e._debugTask,e={start:t,end:n,detail:{devtools:{color:`error`,track:Eg,tooltipText:e.tag===13?`Hydration failed`:`Error boundary caught an error`,properties:o}}},a?a.run(performance.measure.bind(performance,`​`+i,e)):performance.measure(`​`+i,e)}}}function ar(e,t,n,r,i){if(i!==null){if(Tg){var a=w(e);if(a!==null){r=[];for(var o=0;o<i.length;o++){var s=i[o].value;r.push([`Error`,typeof s==`object`&&s&&typeof s.message==`string`?String(s.message):String(s)])}e.key!==null&&Qn(`key`,e.key,r,0,``),e.memoizedProps!==null&&Zn(e.memoizedProps,r,0,``),t={start:t,end:n,detail:{devtools:{color:`error`,track:Eg,tooltipText:`A lifecycle or effect errored`,properties:r}}},(e=e._debugTask)?e.run(performance.measure.bind(performance,`​`+a,t)):performance.measure(`​`+a,t)}}}else a=w(e),a!==null&&Tg&&(i=1>r?`secondary-light`:100>r?`secondary`:500>r?`secondary-dark`:`error`,(e=e._debugTask)?e.run(console.timeStamp.bind(console,a,t,n,Eg,void 0,i)):console.timeStamp(a,t,n,Eg,void 0,i))}function or(e,t,n,r){if(Tg&&!(t<=e)){var i=(n&738197653)===n?`tertiary-dark`:`primary-dark`;n=(n&536870912)===n?`Prepared`:(n&201326741)===n?`Hydrated`:`Render`,r?r.run(console.timeStamp.bind(console,n,e,t,Og,Dg,i)):console.timeStamp(n,e,t,Og,Dg,i)}}function sr(e,t,n,r){!Tg||t<=e||(n=(n&738197653)===n?`tertiary-dark`:`primary-dark`,r?r.run(console.timeStamp.bind(console,`Prewarm`,e,t,Og,Dg,n)):console.timeStamp(`Prewarm`,e,t,Og,Dg,n))}function cr(e,t,n,r){!Tg||t<=e||(n=(n&738197653)===n?`tertiary-dark`:`primary-dark`,r?r.run(console.timeStamp.bind(console,`Suspended`,e,t,Og,Dg,n)):console.timeStamp(`Suspended`,e,t,Og,Dg,n))}function lr(e,t,n,r,i,a){if(Tg&&!(t<=e)){n=[];for(var o=0;o<r.length;o++){var s=r[o].value;n.push([`Recoverable Error`,typeof s==`object`&&s&&typeof s.message==`string`?String(s.message):String(s)])}e={start:e,end:t,detail:{devtools:{color:`primary-dark`,track:Og,trackGroup:Dg,tooltipText:i?`Hydration Failed`:`Recovered after Error`,properties:n}}},a?a.run(performance.measure.bind(performance,`Recovered`,e)):performance.measure(`Recovered`,e)}}function ur(e,t,n,r){!Tg||t<=e||(r?r.run(console.timeStamp.bind(console,`Errored`,e,t,Og,Dg,`error`)):console.timeStamp(`Errored`,e,t,Og,Dg,`error`))}function dr(e,t,n,r){!Tg||t<=e||(r?r.run(console.timeStamp.bind(console,n,e,t,Og,Dg,`secondary-light`)):console.timeStamp(n,e,t,Og,Dg,`secondary-light`))}function fr(e,t,n,r,i){if(Tg&&!(t<=e)){for(var a=[],o=0;o<n.length;o++){var s=n[o].value;a.push([`Error`,typeof s==`object`&&s&&typeof s.message==`string`?String(s.message):String(s)])}
vendor: 10,515 bytes, lines 75-87
75e={start:e,end:t,detail:{devtools:{color:`error`,track:Og,trackGroup:Dg,tooltipText:r?`Remaining Effects Errored`:`Commit Errored`,properties:a}}},i?i.run(performance.measure.bind(performance,`Errored`,e)):performance.measure(`Errored`,e)}}function pr(e,t,n){!Tg||t<=e||(n?n.run(console.timeStamp.bind(console,`Animating`,e,t,Og,Dg,`secondary-dark`)):console.timeStamp(`Animating`,e,t,Og,Dg,`secondary-dark`))}function mr(){for(var e=Rg,t=zg=Rg=0;t<e;){var n=Lg[t];Lg[t++]=null;var r=Lg[t];Lg[t++]=null;var i=Lg[t];Lg[t++]=null;var a=Lg[t];if(Lg[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&vr(n,i,a)}}function hr(e,t,n,r){Lg[Rg++]=e,Lg[Rg++]=t,Lg[Rg++]=n,Lg[Rg++]=r,zg|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function gr(e,t,n,r){return hr(e,t,n,r),yr(e)}function _r(e,t){return hr(e,null,null,t),yr(e)}function vr(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&Fg||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-zp(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function yr(e){if(sS>oS)throw fS=sS=0,pS=cS=null,Error(`Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.`);fS>dS&&(fS=0,pS=null,console.error(`Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.`)),e.alternate===null&&e.flags&4098&&Kl(e);for(var t=e,n=t.return;n!==null;)t.alternate===null&&t.flags&4098&&Kl(e),t=n,n=t.return;return t.tag===3?t.stateNode:null}function br(e){if(Vg===null)return e;var t=Vg(e);return t===void 0?e:t.current}function xr(e){if(Vg===null)return e;var t=Vg(e);return t===void 0?e!=null&&typeof e.render==`function`&&(t=br(e.render),e.render!==t)?(t={$$typeof:Hf,render:t},e.displayName!==void 0&&(t.displayName=e.displayName),t):e:t.current}function Sr(e,t){if(Vg===null)return!1;var n=e.elementType;t=t.type;var r=!1,i=typeof t==`object`&&t?t.$$typeof:null;switch(e.tag){case 1:typeof t==`function`&&(r=!0);break;case 0:(typeof t==`function`||i===Kf)&&(r=!0);break;case 11:(i===Hf||i===Kf)&&(r=!0);break;case 14:case 15:(i===Gf||i===Kf)&&(r=!0);break;default:return!1}return!!(r&&(e=Vg(n),e!==void 0&&e===Vg(t)))}function Cr(e){Vg!==null&&typeof WeakSet==`function`&&(Hg===null&&(Hg=new WeakSet),Hg.add(e))}function wr(e,t,n){do{var r=e,i=r.alternate,a=r.child,o=r.sibling,s=r.tag;r=r.type;var c=null;switch(s){case 0:case 15:case 1:c=r;break;case 11:c=r.render}if(Vg===null)throw Error(`Expected resolveFamily to be set during hot reload.`);var l=!1;if(r=!1,c!==null&&(c=Vg(c),c!==void 0&&(n.has(c)?r=!0:t.has(c)&&(s===1?r=!0:l=!0))),Hg!==null&&(Hg.has(e)||i!==null&&Hg.has(i))&&(r=!0),r&&(e._debugNeedsRemount=!0),(r||l)&&(i=_r(e,2),i!==null&&rl(i,e,2)),a===null||r||wr(a,t,n),o===null)break;e=o}while(1)}function D(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null,this.actualDuration=-0,this.actualStartTime=-1.1,this.treeBaseDuration=this.selfBaseDuration=-0,this._debugTask=this._debugStack=this._debugOwner=this._debugInfo=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,Yg||typeof Object.preventExtensions!=`function`||Object.preventExtensions(this)}function Tr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Er(e,t){var n=e.alternate;switch(n===null?(n=g(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n._debugOwner=e._debugOwner,n._debugStack=e._debugStack,n._debugTask=e._debugTask,n._debugHookTypes=e._debugHookTypes,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null,n.actualDuration=-0,n.actualStartTime=-1.1),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext,_debugThenableState:t._debugThenableState},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n.selfBaseDuration=e.selfBaseDuration,n.treeBaseDuration=e.treeBaseDuration,n._debugInfo=e._debugInfo,n._debugNeedsRemount=e._debugNeedsRemount,n.tag){case 0:case 15:n.type=br(e.type);break;case 1:n.type=br(e.type);break;case 11:n.type=xr(e.type)}return n}function Dr(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null,e.selfBaseDuration=0,e.treeBaseDuration=0):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext,_debugThenableState:t._debugThenableState},e.selfBaseDuration=n.selfBaseDuration,e.treeBaseDuration=n.treeBaseDuration),e}function Or(e,t,n,r,i,a){var o=0,s=e;if(typeof e==`function`)Tr(e)&&(o=1),s=br(s);else if(typeof e==`string`)o=de(),o=qd(e,n,o)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case qf:return t=g(31,n,t,i),t.elementType=qf,t.lanes=a,t;case Lf:return Ar(n.children,i,a,t);case Rf:o=8,i|=Kg,i|=qg;break;case zf:return e=n,r=i,typeof e.id!=`string`&&console.error('Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.',typeof e.id),t=g(12,e,t,r|Gg),t.elementType=zf,t.lanes=a,t.stateNode={effectDuration:0,passiveEffectDuration:0},t;case Uf:return t=g(13,n,t,i),t.elementType=Uf,t.lanes=a,t;case Wf:return t=g(19,n,t,i),t.elementType=Wf,t.lanes=a,t;default:if(typeof e==`object`&&e)switch(e.$$typeof){case Vf:o=10;break a;case Bf:o=9;break a;case Hf:o=11,s=xr(s);break a;case Gf:o=14;break a;case Kf:o=16,s=null;break a}s=``,(e===void 0||typeof e==`object`&&e&&Object.keys(e).length===0)&&(s+=` You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.`),e===null?n=`null`:Zf(e)?n=`array`:e!==void 0&&e.$$typeof===Ff?(n=`<`+(C(e.type)||`Unknown`)+` />`,s=` Did you accidentally export a JSX literal instead of a component?`):n=typeof e,(o=r?ae(r):null)&&(s+=`
76
77Check the render method of \``+o+"`."),o=29,n=Error(`Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: `+(n+`.`+s)),s=null}return t=g(o,n,t,i),t.elementType=e,t.type=s,t.lanes=a,t._debugOwner=r,t}function kr(e,t,n){return t=Or(e.type,e.key,e.props,e._owner,t,n),t._debugOwner=e._owner,t._debugStack=e._debugStack,t._debugTask=e._debugTask,t}function Ar(e,t,n,r){return e=g(7,e,r,t),e.lanes=n,e}function jr(e,t,n){return e=g(6,e,null,t),e.lanes=n,e}function Mr(e){var t=g(18,null,null,Ug);return t.stateNode=e,t}function Nr(e,t,n){return t=g(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Pr(e,t){if(typeof e==`object`&&e){var n=Xg.get(e);return n===void 0?(t={value:e,source:t,stack:xe(t)},Xg.set(e,t),t):n}return{value:e,source:t,stack:xe(t)}}function Fr(e,t){Vr(),Zg[Qg++]=e_,Zg[Qg++]=$g,$g=e,e_=t}function Ir(e,t,n){Vr(),t_[n_++]=i_,t_[n_++]=a_,t_[n_++]=r_,r_=e;var r=i_;e=a_;var i=32-zp(r)-1;r&=~(1<<i),n+=1;var a=32-zp(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,i_=1<<32-zp(t)+i|n<<i|r,a_=a+e}else i_=1<<a|n<<i|r,a_=e}function Lr(e){Vr(),e.return!==null&&(Fr(e,1),Ir(e,1,0))}function Rr(e){for(;e===$g;)$g=Zg[--Qg],Zg[Qg]=null,e_=Zg[--Qg],Zg[Qg]=null;for(;e===r_;)r_=t_[--n_],t_[n_]=null,a_=t_[--n_],t_[n_]=null,i_=t_[--n_],t_[n_]=null}function zr(){return Vr(),r_===null?null:{id:i_,overflow:a_}}function Br(e,t){Vr(),t_[n_++]=i_,t_[n_++]=a_,t_[n_++]=r_,i_=t.id,a_=t.overflow,r_=e}function Vr(){c_||console.error(`Expected to be hydrating. This is a bug in React. Please file an issue.`)}function Hr(e,t){if(e.return===null){if(u_===null)u_={fiber:e,children:[],serverProps:void 0,serverTail:[],distanceFromLeaf:t};else{if(u_.fiber!==e)throw Error(`Saw multiple hydration diff roots in a pass. This is a bug in React.`);u_.distanceFromLeaf>t&&(u_.distanceFromLeaf=t)}return u_}var n=Hr(e.return,t+1).children;return 0<n.length&&n[n.length-1].fiber===e?(n=n[n.length-1],n.distanceFromLeaf>t&&(n.distanceFromLeaf=t),n):(t={fiber:e,children:[],serverProps:void 0,serverTail:[],distanceFromLeaf:t},n.push(t),t)}function Ur(){c_&&console.error(`We should not be hydrating here. This is a bug in React. Please file a bug.`)}function Wr(e,t){l_||(e=Hr(e,0),e.serverProps=null,t!==null&&(t=xd(t),e.serverTail.push(t)))}function Gr(e){var t=1<arguments.length&&arguments[1]!==void 0&&arguments[1],n=``,r=u_;throw r!==null&&(u_=null,n=Kt(r)),Zr(Pr(Error(`Hydration failed because the server rendered `+(t?`text`:`HTML`)+` didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:
78
79- A server/client branch \`if (typeof window !== 'undefined')\`.
80- Variable input such as \`Date.now()\` or \`Math.random()\` which changes each time it's called.
81- Date formatting in a user's locale which doesn't match the server.
82- External changing data without sending a snapshot of it along with the HTML.
83- Invalid HTML tag nesting.
84
85It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
86
87https://react.dev/link/hydration-mismatch`+n),e)),p_}function Kr(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Xp]=e,t[Zp]=r,yu(n,r),n){case`dialog`:du(`cancel`,t),du(`close`,t);break;case`iframe`:case`object`:case`embed`:du(`load`,t);break;case`video`:case`audio`:for(n=0;n<DS.length;n++)du(DS[n],t);break;case`source`:du(`error`,t);break;
87case`img`:case`image`:case`link`:du(`error`,t),du(`load`,t);break;case`details`:du(`toggle`,t);break;case`input`:st(`input`,r),du(`invalid`,t),bt(t,r),St(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`option`:wt(t,r);break;case`select`:st(`select`,r),du(`invalid`,t),Dt(t,r);break;case`textarea`:st(`textarea`,r),du(`invalid`,t),Ot(t,r),At(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Tu(t.textContent,n)?(r.popover!=null&&(du(`beforetoggle`,t),du(`toggle`,t)),r.onScroll!=null&&du(`scroll`,t),r.onScrollEnd!=null&&du(`scrollend`,t),r.onClick!=null&&(t.onclick=fn),t=!0):t=!1,t||Gr(e,!0)}function qr(e){for(o_=e.return;o_;)switch(o_.tag){case 5:case 31:case 13:f_=!1;return;case 27:case 3:f_=!0;return;default:o_=o_.return}}function Jr(e){if(e!==o_)return!1;if(!c_)return qr(e),c_=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||Gu(e.type,e.memoizedProps)),n=!n),n&&s_){for(n=s_;n;){var r=Hr(e,0),i=xd(n);r.serverTail.push(i),n=i.type===`Suspense`?Cd(n):bd(n.nextSibling)}Gr(e)}if(qr(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(`Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.`);s_=Cd(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(`Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.`);s_=Cd(e)}else t===27?(t=s_,nd(e.type)?(e=_C,_C=null,s_=e):s_=t):s_=o_?bd(e.stateNode.nextSibling):null;return!0}function Yr(){s_=o_=null,l_=c_=!1}function Xr(){var e=d_;return e!==null&&(kx===null?kx=e:kx.push.apply(kx,e),d_=null),e}function Zr(e){d_===null?d_=[e]:d_.push(e)}function Qr(){var e=u_;if(e!==null){u_=null;for(var t=Kt(e);0<e.children.length;)e=e.children[0];Te(e.fiber,function(){console.error(`A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:
88
89- A server/client branch \`if (typeof window !== 'undefined')\`.
90- Variable input such as \`Date.now()\` or \`Math.random()\` which changes each time it's called.
91- Date formatting in a user's locale which doesn't match the server.
92- External changing data without sending a snapshot of it along with the HTML.
93- Invalid HTML tag nesting.
94
95It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
96
97%s%s`,`https://react.dev/link/hydration-mismatch`,t)})}}function $r(){v_=__=null,y_=!1}function ei(e,t,n){se(m_,t._currentValue,e),t._currentValue=n,se(h_,t._currentRenderer,e),t._currentRenderer!==void 0&&t._currentRenderer!==null&&t._currentRenderer!==g_&&console.error(`Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported.`),t._currentRenderer=g_}function ti(e,t){e._currentValue=m_.current;var n=h_.current;T(h_,t),e._currentRenderer=n,T(m_,t)}function ni(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}e!==n&&console.error(`Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.`)}function ri(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var a=i.dependencies;if(a!==null){var o=i.child;a=a.firstContext;a:for(;a!==null;){var s=a;a=i;for(var c=0;c<t.length;c++)if(s.context===t[c]){a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),ni(a.return,n,e),r||(o=null);break a}a=s.next}}else if(i.tag===18){if(o=i.return,o===null)throw Error(`We just came from a parent so we must have had a parent. This is a bug in React.`);o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),ni(o,n,e),o=null}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===e){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}}function ii(e,t,n,r){e=null;for(var i=t,a=!1;i!==null;){if(!a){if(i.flags&524288)a=!0;else if(i.flags&262144)break}if(i.tag===10){var o=i.alternate;if(o===null)throw Error(`Should have a current fiber. This is a bug in React.`);if(o=o.memoizedProps,o!==null){var s=i.type;Jh(i.pendingProps.value,o.value)||(e===null?e=[s]:e.push(s))}}else if(i===op.current){if(o=i.alternate,o===null)throw Error(`Should have a current fiber. This is a bug in React.`);o.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[FC]:e.push(FC))}i=i.return}e!==null&&ri(t,e,n,r),t.flags|=262144}function ai(e){for(e=e.firstContext;e!==null;){if(!Jh(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}
vendor: 4,766 bytes, line 97
97function oi(e){__=e,v_=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function si(e){return y_&&console.error(`Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().`),li(__,e)}function ci(e,t){return __===null&&oi(e),li(e,t)}function li(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},v_===null){if(e===null)throw Error(`Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().`);v_=t,e.dependencies={lanes:0,firstContext:t,_debugThenableState:null},e.flags|=524288}else v_=v_.next=t;return n}function ui(){return{controller:new b_,data:new Map,refCount:0}}function di(e){e.controller.signal.aborted&&console.warn(`A cache instance was retained after it was already freed. This likely indicates a bug in React.`),e.refCount++}function fi(e){e.refCount--,0>e.refCount&&console.warn(`A cache instance was released after it was already freed. This likely indicates a bug in React.`),e.refCount===0&&x_(S_,function(){e.controller.abort()})}function pi(e,t,n){e&127?0>B_&&(B_=w_(),V_=T_(t),U_=t,n!=null&&(W_=w(n)),(nx&(qb|Jb))!==Kb&&(R_=!0,H_=E_),e=Ju(),t=qu(),e!==q_||t!==K_?q_=-1.1:t!==null&&(H_=E_),G_=e,K_=t):e&4194048&&0>Z_&&(Z_=w_(),$_=T_(t),ev=t,n!=null&&(tv=w(n)),0>X_)&&(e=Ju(),t=qu(),(e!==iv||t!==rv)&&(iv=-1.1),nv=e,rv=t)}function mi(e){if(0>B_){B_=w_(),V_=e._debugTask==null?null:e._debugTask,(nx&(qb|Jb))!==Kb&&(H_=E_);var t=Ju(),n=qu();t!==q_||n!==K_?q_=-1.1:n!==null&&(H_=E_),G_=t,K_=n}0>Z_&&(Z_=w_(),$_=e._debugTask==null?null:e._debugTask,0>X_)&&(e=Ju(),t=qu(),(e!==iv||t!==rv)&&(iv=-1.1),nv=e,rv=t)}function hi(){var e=N_;return N_=0,e}function gi(e){var t=N_;return N_=e,t}function _i(e){var t=N_;return N_+=e,t}function vi(){I_=F_=-1.1}function yi(){var e=F_;return F_=-1.1,e}function bi(e){0<=e&&(F_=e)}function xi(){var e=P_;return P_=-0,e}function Si(e){0<=e&&(P_=e)}function Ci(){var e=L_;return L_=null,e}function wi(){var e=R_;return R_=!1,e}function Ti(e){M_=w_(),0>e.actualStartTime&&(e.actualStartTime=M_)}function Ei(e){if(0<=M_){var t=w_()-M_;e.actualDuration+=t,e.selfBaseDuration=t,M_=-1}}function Di(e){if(0<=M_){var t=w_()-M_;e.actualDuration+=t,M_=-1}}function Oi(){if(0<=M_){var e=w_(),t=e-M_;M_=-1,N_+=t,P_+=t,I_=e}}function ki(e){L_===null&&(L_=[]),L_.push(e),j_===null&&(j_=[]),j_.push(e)}function Ai(){M_=w_(),0>F_&&(F_=M_)}function ji(e){for(var t=e.child;t;)e.actualDuration+=t.actualDuration,t=t.sibling}function Mi(e,t){if(mv===null){var n=mv=[];hv=0,gv=au(),_v={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return hv++,t.then(Ni,Ni),t}function Ni(){if(--hv===0&&(-1<Z_||(X_=-1.1),mv!==null)){_v!==null&&(_v.status=`fulfilled`);var e=mv;mv=null,gv=0,_v=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Pi(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}function Fi(){var e=yv.current;return e===null?rx.pooledCache:e}function Ii(e,t){t===null?se(yv,yv.current,e):se(yv,t.pool,e)}function Li(){var e=Fi();return e===null?null:{parent:C_._currentValue,pool:e}}function Ri(){return{didWarnAboutUncachedPromise:!1,thenables:[]}}function zi(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Bi(e,t,n){L.actQueue!==null&&(L.didUsePromise=!0);var r=e.thenables;if(n=r[n],n===void 0?r.push(t):n!==t&&(e.didWarnAboutUncachedPromise||(e.didWarnAboutUncachedPromise=!0,console.error(`A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework.`)),t.then(fn,fn),t=n),t._debugInfo===void 0){e=performance.now(),r=t.displayName;var i={name:typeof r==`string`?r:`Promise`,start:e,end:e,value:t};t._debugInfo=[{awaited:i}],t.status!==`fulfilled`&&t.status!==`rejected`&&(e=function(){i.end=performance.now()},t.then(e,e))}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ui(e),e;default:if(typeof t.status==`string`)t.then(fn,fn);else{if(e=rx,e!==null&&100<e.shellSuspendCounter)throw Error("An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.");
97e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ui(e),e}throw Qv=t,$v=!0,Jv}}function Vi(e){try{return qv(e)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Qv=e,$v=!0,Jv):e}}function Hi(){if(Qv===null)throw Error(`Expected a suspended thenable. This is a bug in React. Please file an issue.`);var e=Qv;return Qv=null,$v=!1,e}function Ui(e){if(e===Jv||e===Xv)throw Error("Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.")}function Wi(e){var t=ny;return e!=null&&(ny=t===null?e:t.concat(e)),t}function Gi(){var e=ny;if(e!=null){for(var t=e.length-1;0<=t;t--)if(e[t].name!=null){var n=e[t].debugTask;if(n!=null)return n}}return null}function Ki(e,t,n){for(var r=Object.keys(e.props),i=0;i<r.length;i++){var a=r[i];if(a!==`children`&&a!==`key`){t===null&&(t=kr(e,n.mode,0),t._debugInfo=ny,t.return=n),Te(t,function(e){console.error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",e)},a);break}}}function qi(e){var t=ty;return ty+=1,ey===null&&(ey=Ri()),Bi(ey,e,t)}function Ji(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Yi(e,t){throw t.$$typeof===Pf?Error(`A React Element from an older version of React was rendered. This is not supported. It can happen if:
98- Multiple copies of the "react" package is used.
99- A library pre-bundled an old copy of "react" or "react/jsx-runtime".
100- A compiler tries to "inline" JSX instead of using the runtime.`):(e=Object.prototype.toString.call(t),Error(`Objects are not valid as a React child (found: `+(e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)+`). If you meant to render a collection of children, use an array instead.`))}function Xi(e,t){var n=Gi();n===null?Yi(e,t):n.run(Yi.bind(null,e,t))}function Zi(e,t){var n=w(e)||`Component`;oy[n]||(oy[n]=!0,t=t.displayName||t.name||`Component`,e.tag===3?console.error(`Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.
101  root.render(%s)`,t,t,t):console.error(`Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.
102  <%s>{%s}</%s>`,t,t,n,t,n))}function Qi(e,t){var n=Gi();n===null?Zi(e,t):n.run(Zi.bind(null,e,t))}function $i(e,t){var n=w(e)||`Component`;sy[n]||(sy[n]=!0,t=String(t),e.tag===3?console.error(`Symbols are not valid as a React child.
103  root.render(%s)`,t):console.error(`Symbols are not valid as a React child.
104  <%s>%s</%s>`,n,t,n))}function ea(e,t){var n=Gi();n===null?$i(e,t):n.run($i.bind(null,e,t))}function ta(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=Er(e,t),e.index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function o(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function s(e,t,n,r){return t===null||t.tag!==6?(t=jr(n,e.mode,r),t.return=e,t._debugOwner=e,t._debugTask=e._debugTask,t._debugInfo=ny,t):(t=i(t,n),t.return=e,t._debugInfo=ny,t)}function c(e,t,n,r){var a=n.type;return a===Lf?(t=u(e,t,n.props.children,r,n.key),Ki(n,t,e),t):t!==null&&(t.elementType===a||Sr(t,n)||typeof a==`object`&&a&&a.$$typeof===Kf&&Vi(a)===t.type)?(t=i(t,n.props),Ji(t,n),t.return=e,t._debugOwner=n._owner,t._debugInfo=ny,t):(t=kr(n,e.mode,r),Ji(t,n),t.return=e,t._debugInfo=ny,t)}function l(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Nr(n,e.mode,r),t.return=e,t._debugInfo=ny,t):(t=i(t,n.children||[]),t.return=e,t._debugInfo=ny,t)}function u(e,t,n,r,a){return t===null||t.tag!==7?(t=Ar(n,e.mode,r,a),t.return=e,t._debugOwner=e,t._debugTask=e._debugTask,t._debugInfo=ny,t):(t=i(t,n),t.return=e,t._debugInfo=ny,t)}function d(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=jr(``+t,e.mode,n),t.return=e,t._debugOwner=e,t._debugTask=e._debugTask,t._debugInfo=ny,t;if(typeof t==`object`&&t){switch(t.$$typeof){case Ff:return n=kr(t,e.mode,n),Ji(n,t),n.return=e,e=Wi(t._debugInfo),n._debugInfo=ny,ny=e,n;case If:return t=Nr(t,e.mode,n),t.return=e,t._debugInfo=ny,t;
104case Kf:var r=Wi(t._debugInfo);return t=Vi(t),e=d(e,t,n),ny=r,e}if(Zf(t)||ie(t))return n=Ar(t,e.mode,n,null),n.return=e,n._debugOwner=e,n._debugTask=e._debugTask,e=Wi(t._debugInfo),n._debugInfo=ny,ny=e,n;if(typeof t.then==`function`)return r=Wi(t._debugInfo),e=d(e,qi(t),n),ny=r,e;if(t.$$typeof===Vf)return d(e,ci(e,t),n);Xi(e,t)}return typeof t==`function`&&Qi(e,t),typeof t==`symbol`&&ea(e,t),null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?s(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case Ff:return n.key===i?(i=Wi(n._debugInfo),e=c(e,t,n,r),ny=i,e):null;case If:return n.key===i?l(e,t,n,r):null;case Kf:return i=Wi(n._debugInfo),n=Vi(n),e=p(e,t,n,r),ny=i,e}if(Zf(n)||ie(n))return i===null?(i=Wi(n._debugInfo),e=u(e,t,n,r,null),ny=i,e):null;if(typeof n.then==`function`)return i=Wi(n._debugInfo),e=p(e,t,qi(n),r),ny=i,e;if(n.$$typeof===Vf)return p(e,t,ci(e,n),r);Xi(e,n)}return typeof n==`function`&&Qi(e,n),typeof n==`symbol`&&ea(e,n),null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,s(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case Ff:return n=e.get(r.key===null?n:r.key)||null,e=Wi(r._debugInfo),t=c(t,n,r,i),ny=e,t;case If:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case Kf:var a=Wi(r._debugInfo);return r=Vi(r),t=m(e,t,n,r,i),ny=a,t}if(Zf(r)||ie(r))return n=e.get(n)||null,e=Wi(r._debugInfo),t=u(t,n,r,i,null),ny=e,t;if(typeof r.then==`function`)return a=Wi(r._debugInfo),t=m(e,t,n,qi(r),i),ny=a,t;if(r.$$typeof===Vf)return m(e,t,n,ci(t,r),i);Xi(t,r)}return typeof r==`function`&&Qi(t,r),typeof r==`symbol`&&ea(t,r),null}function h(e,t,n,r){if(typeof n!=`object`||!n)return r;switch(n.$$typeof){case Ff:case If:f(e,t,n);var i=n.key;if(typeof i!=`string`)break;if(r===null){r=new Set,r.add(i);break}if(!r.has(i)){r.add(i);break}Te(t,function(){console.error("Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/
104or omitted — the behavior is unsupported and could change in a future version.",i)});break;case Kf:n=Vi(n),h(e,t,n,r)}return r}function _(i,o,s,c){for(var l=null,u=null,f=null,g=o,_=o=0,v=null;g!==null&&_<s.length;_++){g.index>_?(v=g,g=null):v=g.sibling;var y=p(i,g,s[_],c);if(y===null){g===null&&(g=v);break}l=h(i,y,s[_],l),e&&g&&y.alternate===null&&t(i,g),o=a(y,o,_),f===null?u=y:f.sibling=y,f=y,g=v}if(_===s.length)return n(i,g),c_&&Fr(i,_),u;if(g===null){for(;_<s.length;_++)g=d(i,s[_],c),g!==null&&(l=h(i,g,s[_],l),o=a(g,o,_),f===null?u=g:f.sibling=g,f=g);return c_&&Fr(i,_),u}for(g=r(g);_<s.length;_++)v=m(g,i,_,s[_],c),v!==null&&(l=h(i,v,s[_],l),e&&v.alternate!==null&&g.delete(v.key===null?_:v.key),o=a(v,o,_),f===null?u=v:f.sibling=v,f=v);return e&&g.forEach(function(e){return t(i,e)}),c_&&Fr(i,_),u}function v(i,o,s,c){if(s==null)throw Error(`An iterable object provided no iterator.`);for(var l=null,u=null,f=o,g=o=0,_=null,v=null,y=s.next();f!==null&&!y.done;g++,y=s.next()){f.index>g?(_=f,f=null):_=f.sibling;var b=p(i,f,y.value,c);if(b===null){f===null&&(f=_);break}v=h(i,b,y.value,v),e&&f&&b.alternate===null&&t(i,f),o=a(b,o,g),u===null?l=b:u.sibling=b,u=b,f=_}if(y.done)return n(i,f),c_&&Fr(i,g),l;if(f===null){for(;!y.done;g++,y=s.next())f=d(i,y.value,c),f!==null&&(v=h(i,f,y.value,v),o=a(f,o,g),u===null?l=f:u.sibling=f,u=f);return c_&&Fr(i,g),l}for(f=r(f);!y.done;g++,y=s.next())_=m(f,i,g,y.value,c),_!==null&&(v=h(i,_,y.value,v),e&&_.alternate!==null&&f.delete(_.key===null?g:_.key),o=a(_,o,g),u===null?l=_:u.sibling=_,u=_);return e&&f.forEach(function(e){return t(i,e)}),c_&&Fr(i,g),l}function y(e,r,a,s){if(typeof a==`object`&&a&&a.type===Lf&&a.key===null&&(Ki(a,null,e),a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case Ff:var c=Wi(a._debugInfo);a:{for(var l=a.key;r!==null;){if(r.key===l){if(l=a.type,l===Lf){if(r.tag===7){n(e,r.sibling),s=i(r,a.props.children),s.return=e,s._debugOwner=a._owner,s._debugInfo=ny,Ki(a,s,e),e=s;break a}}else if(r.elementType===l||Sr(r,a)||typeof l==`object`&&l&&l.$$typeof===Kf&&Vi(l)===r.type){n(e,r.sibling),s=i(r,a.props),Ji(s,a),s.return=e,s._debugOwner=a._owner,s._debugInfo=ny,e=s;break a}n(e,r);break}t(e,r),r=r.sibling}a.type===Lf?(s=Ar(a.props.children,e.mode,s,a.key),s.return=e,s._debugOwner=e,s._debugTask=e._debugTask,s._debugInfo=ny,Ki(a,s,e),e=s):(s=kr(a,e.mode,s),Ji(s,a),s.return=e,s._debugInfo=ny,e=s)}return e=o(e),ny=c,e;case If:a:{for(c=a,a=c.key;r!==null;){if(r.key===a)if(r.tag===4&&r.stateNode.containerInfo===c.containerInfo&&r.stateNode.implementation===c.implementation){n(e,r.sibling),s=i(r,c.children||[]),s.return=e,e=s;break a}else{n(e,r);break}t(e,r),r=r.sibling}s=Nr(c,e.mode,s),s.return=e,e=s}return o(e);case Kf:return c=Wi(a._debugInfo),a=Vi(a),e=y(e,r,a,s),ny=c,e}if(Zf(a))return c=Wi(a._debugInfo),e=_(e,r,a,s),ny=c,e;if(ie(a)){if(c=Wi(a._debugInfo),l=ie(a),typeof l!=`function`)throw Error(`An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.`);var u=l.call(a);return u===a?(e.tag!==0||Object.prototype.toString.call(e.type)!==`[object GeneratorFunction]`||Object.prototype.toString.call(u)!==`[object Generator]`)&&(iy||console.error("Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items."),iy=!0):a.entries!==l||ry||(console.error(`Using Maps as children is not supported. Use an array of keyed ReactElements instead.`),ry=!0),e=v(e,r,u,s),ny=c,e}if(typeof a.then==`function`)return c=Wi(a._debugInfo),e=y(e,r,qi(a),s),ny=c,e;if(a.$$typeof===Vf)return y(e,r,ci(e,a),s);Xi(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(c=``+a,r!==null&&r.tag===6?(n(e,r.sibling),s=i(r,c),s.return=e,e=s):(n(e,r),s=jr(c,e.mode,s),s.return=e,s._debugOwner=e,s._debugTask=e._debugTask,s._debugInfo=ny,e=s),o(e)):(typeof a==`function`&&Qi(e,a),typeof a==`symbol`&&ea(e,a),n(e,r))}return function(e,t,n,r){var i=ny;ny=null;try{ty=0;var a=y(e,t,n,r);return ey=null,a}catch(t){if(t===Jv||t===Xv)throw t;var o=g(29,t,null,e.mode);o.lanes=r,o.return=e;var s=o._debugInfo=ny;if(o._debugOwner=e._debugOwner,o._debugTask=e._debugTask,s!=null){for(var c=s.length-1;0<=c;c--)if(typeof s[c].stack==`string`){o._debugOwner=s[c],o._debugTask=s[c].debugTask;break}}return o}finally{ny=i}}}function na(e,t){var n=Zf(e);return e=!n&&typeof ie(e)==`function`,n||e?(n=n?`array`:`iterable`,console.error(`A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>`,n,t,n),!1):!0}function ra(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ia(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function aa(e){return{lane:e,tag:uy,payload:null,callback:null,next:null}}
vendor: 12,190 bytes, lines 104-119
104function oa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,gy===r&&!hy){var i=w(e);console.error(`An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.
105
106Please update the following component: %s`,i),hy=!0}return(nx&qb)===Kb?(hr(e,r,t,n),yr(e)):(i=r.pending,i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=yr(e),vr(e,null,n),t)}function sa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ge(e,n)}}function ca(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function la(){if(_y){var e=_v;if(e!==null)throw e}}function ua(e,t,n,r){_y=!1;var i=e.updateQueue;my=!1,gy=i.shared;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(ax&f)===f:(r&f)===f){f!==0&&f===gv&&(_y=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{f=e;var m=s,h=t,g=n;switch(m.tag){case dy:if(m=m.payload,typeof m==`function`){y_=!0;var _=m.call(g,d,h);if(f.mode&Kg){Pe(!0);try{m.call(g,d,h)}finally{Pe(!1)}}y_=!1,d=_;break a}d=m;break a;case py:f.flags=f.flags&-65537|128;case uy:if(_=m.payload,typeof _==`function`){if(y_=!0,m=_.call(g,d,h),f.mode&Kg){Pe(!0);try{_.call(g,d,h)}finally{Pe(!1)}}y_=!1}else m=_;if(m==null)break a;d=Nf({},d,m);break a;case fy:my=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Cx|=o,e.lanes=o,e.memoizedState=d}gy=null}function da(e,t){if(typeof e!=`function`)throw Error(`Invalid argument passed as callback. Expected a function. Instead received: `+e);e.call(t)}function fa(e,t){var n=e.shared.hiddenCallbacks;if(n!==null)for(e.shared.hiddenCallbacks=null,e=0;e<n.length;e++)da(n[e],t)}function pa(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)da(n[e],t)}function ma(e,t){var n=xx;se(yy,n,e),se(vy,t,e),xx=n|t.baseLanes}function ha(e){se(yy,xx,e),se(vy,vy.current,e)}function ga(e){xx=yy.current,T(vy,e),T(yy,e)}function _a(e){var t=e.alternate;se(wy,wy.current&Sy,e),se(by,e,e),xy===null&&(t===null||vy.current!==null||t.memoizedState!==null)&&(xy=e)}function va(e){se(wy,wy.current,e),se(by,e,e),xy===null&&(xy=e)}function ya(e){e.tag===22?(se(wy,wy.current,e),se(by,e,e),xy===null&&(xy=e)):ba(e)}function ba(e){se(wy,wy.current,e),se(by,by.current,e)}function xa(e){T(by,e),xy===e&&(xy=null),T(wy,e)}function Sa(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||_d(n)||vd(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Ca(){var e=R;qy===null?qy=[e]:qy.push(e)}function O(){var e=R;if(qy!==null&&(Jy++,qy[Jy]!==e)){var t=w(Iy);if(!jy.has(t)&&(jy.add(t),qy!==null)){for(var n=``,r=0;r<=Jy;r++){var i=qy[r],a=r===Jy?e:i;for(i=r+1+`. `+i;30>i.length;)i+=` `;i+=a+`
107`,n+=i}console.error(`React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks
108
109   Previous render            Next render
110   ------------------------------------------------------
111%s   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
112`,t,n)}}}function wa(e){e==null||Zf(e)||console.error("%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.",R,typeof e)}function Ta(){var e=w(Iy);Py.has(e)||(Py.add(e),console.error(`ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.`,e))}function Ea(){throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1131. You might have mismatching versions of React and the renderer (such as React DOM)
1142. You might be breaking the Rules of Hooks
1153. You might have more than one copy of React in the same app
116See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`)}function Da(e,t){if(Yy)return!1;if(t===null)return console.error(`%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.`,R),!1;e.length!==t.length&&console.error(`The final argument passed to %s changed size between renders. The order and size of this array must remain constant.
117
118Previous: %s
119Incoming: %s`,R,`[`+t.join(`, `)+`]`,`[`+e.join(`, `)+`]`);for(var n=0;n<t.length&&n<e.length;n++)if(!Jh(e[n],t[n]))return!1;return!0}function Oa(e,t,n,r,i,a){Fy=a,Iy=t,qy=e===null?null:e._debugHookTypes,Jy=-1,Yy=e!==null&&e.type!==t.type,(Object.prototype.toString.call(n)===`[object AsyncFunction]`||Object.prototype.toString.call(n)===`[object AsyncGeneratorFunction]`)&&(a=w(Iy),Ny.has(a)||(Ny.add(a),console.error("%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.",a===null?`An unknown Component`:`<`+a+`>`))),t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e!==null&&e.memoizedState!==null?$y:qy===null?Zy:Qy,Vy=a=(t.mode&Kg)!==Ug;var o=jv(n,r,i);if(Vy=!1,By&&(o=Aa(t,n,r,i)),a){Pe(!0);try{o=Aa(t,n,r,i)}finally{Pe(!1)}}return ka(e,t),o}function ka(e,t){t._debugHookTypes=qy,t.dependencies===null?Wy!==null&&(t.dependencies={lanes:0,firstContext:null,_debugThenableState:Wy}):t.dependencies._debugThenableState=Wy,L.H=Xy;var n=Ly!==null&&Ly.next!==null;if(Fy=0,qy=R=Ry=Ly=Iy=null,Jy=-1,e!==null&&(e.flags&65011712)!=(t.flags&65011712)&&console.error(`Internal React error: Expected static flag was missing. Please notify the React team.`),zy=!1,Uy=0,Wy=null,n)throw Error(`Rendered fewer hooks than expected. This may be caused by an accidental early return statement.`);e===null||yb||(e=e.dependencies,e!==null&&ai(e)&&(yb=!0)),$v?($v=!1,e=!0):e=!1,e&&(t=w(t)||`Unknown`,My.has(t)||Ny.has(t)||(My.add(t),console.error("`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary.")))}function Aa(e,t,n,r){Iy=e;var i=0;do{if(By&&(Wy=null),Uy=0,By=!1,i>=Ky)throw Error(`Too many re-renders. React limits the number of renders to prevent an infinite loop.`);if(i+=1,Yy=!1,Ry=Ly=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}Jy=-1,L.H=eb,a=jv(t,n,r)}while(By);return a}function ja(){var e=L.H,t=e.useState()[0];return t=typeof t.then==`function`?Ra(t):t,e=e.useState()[0],(Ly===null?null:Ly.memoizedState)!==e&&(Iy.flags|=1024),t}function Ma(){var e=Hy!==0;return Hy=0,e}function Na(e,t,n){t.updateQueue=e.updateQueue,t.flags=(t.mode&qg)===Ug?t.flags&-2053:t.flags&-402655237,e.lanes&=~n}function Pa(e){if(zy){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}zy=!1}Fy=0,qy=Ry=Ly=Iy=null,Jy=-1,R=null,By=!1,Uy=Hy=0,Wy=null}function Fa(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ry===null?Iy.memoizedState=Ry=e:Ry=Ry.next=e,Ry}function Ia(){if(Ly===null){var e=Iy.alternate;e=e===null?null:e.memoizedState}else e=Ly.next;var t=Ry===null?Iy.memoizedState:Ry.next;if(t!==null)Ry=t,Ly=e;else{if(e===null)throw Iy.alternate===null?Error(`Update hook called on initial render. This is likely a bug in React. Please file an issue.`):Error(`Rendered more hooks than during the previous render.`);Ly=e,e={memoizedState:Ly.memoizedState,baseState:Ly.baseState,baseQueue:Ly.baseQueue,queue:Ly.queue,next:null},Ry===null?Iy.memoizedState=Ry=e:Ry=Ry.next=e}return Ry}function La(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ra(e){var t=Uy;return Uy+=1,Wy===null&&(Wy=Ri()),e=Bi(Wy,e,t),t=Iy,(Ry===null?t.memoizedState:Ry.next)===null&&(t=t.alternate,L.H=t!==null&&t.memoizedState!==null?$y:Zy),e}function za(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Ra(e);if(e.$$typeof===Vf)return si(e)}throw Error(`An unsupported type was passed to use(): `+String(e))}function Ba(e){var t=null,n=Iy.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Iy.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=La(),Iy.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0||Yy)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=Jf;else n.length!==e&&console.error(`Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.`,n.length,e);return t.index++,n}function Va(e,t){return typeof t==`function`?t(e):t}function Ha(e,t,n){var r=Fa();if(n!==void 0){var i=n(t);if(Vy){Pe(!0);try{n(t)}finally{Pe(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Jo.bind(null,Iy,e),[r.memoizedState,e]}function Ua(e){return Wa(Ia(),Ly,e)}function Wa(e,t,n){var r=e.queue;if(r===null)throw Error(`Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)`);r.lastRenderedReducer=n;var i=e.baseQueue,a=r.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}t.baseQueue!==i&&console.error(`Internal error: Expected work-in-progress queue to be a clone. This is a bug in React.`),t.baseQueue=i=a,r.pending=null}if(a=e.baseState,i===null)e.memoizedState=a;else{t=i.next;var s=o=null,c=null,l=t,u=!1;do{var d=l.lane&-536870913;if(d===l.lane?(Fy&d)===d:(ax&d)===d){var f=l.revertLane;if(f===0)c!==null&&(c=c.next={lane:0,revertLane:0,gesture:null,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d===gv&&(u=!0);else if((Fy&f)===f){l=l.next,f===gv&&(u=!0);continue}else d={lane:0,revertLane:l.revertLane,gesture:null,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null},c===null?(s=c=d,o=a):c=c.next=d,Iy.lanes|=f,Cx|=f;d=l.action,Vy&&n(a,d),a=l.hasEagerState?l.eagerState:n(a,d)}else f={lane:d,revertLane:l.revertLane,gesture:l.gesture,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null},c===null?(s=c=f,o=a):c=c.next=f,Iy.lanes|=d,Cx|=d;l=l.next}while(l!==null&&l!==t);if(c===null?o=a:c.next=s,!Jh(a,e.memoizedState)&&(yb=!0,u&&(n=_v,n!==null)))throw n;e.memoizedState=a,e.baseState=o,e.baseQueue=c,r.lastRenderedState=a}
119return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Ga(e){var t=Ia(),n=t.queue;if(n===null)throw Error(`Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)`);n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(i!==null){n.pending=null;var o=i=i.next;do a=e(a,o.action),o=o.next;while(o!==i);Jh(a,t.memoizedState)||(yb=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Ka(e,t,n){var r=Iy,i=Fa();if(c_){if(n===void 0)throw Error(`Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.`);var a=n();Ay||a===n()||(console.error(`The result of getServerSnapshot should be cached to avoid an infinite loop`),Ay=!0)}else{if(a=t(),Ay||(n=t(),Jh(a,n)||(console.error(`The result of getSnapshot should be cached to avoid an infinite loop`),Ay=!0)),rx===null)throw Error(`Expected a work-in-progress root. This is a bug in React. Please file an issue.`);ax&127||Ja(r,t,a)}return i.memoizedState=a,n={value:a,getSnapshot:t},i.queue=n,So(Xa.bind(null,r,n,e),[e]),r.flags|=2048,vo(Ey|ky,{destroy:void 0},Ya.bind(null,r,n,a,t),null),a}function qa(e,t,n){var r=Iy,i=Ia(),a=c_;if(a){if(n===void 0)throw Error(`Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.`);n=n()}else if(n=t(),!Ay){var o=t();Jh(n,o)||(console.error(`The result of getSnapshot should be cached to avoid an infinite loop`),Ay=!0)}if((o=!Jh((Ly||i).memoizedState,n))&&(i.memoizedState=n,yb=!0),i=i.queue,xo(2048,ky,Xa.bind(null,r,i,e),[e]),i.getSnapshot!==t||o||Ry!==null&&Ry.memoizedState.tag&Ey){if(r.flags|=2048,vo(Ey|ky,{destroy:void 0},Ya.bind(null,r,i,n,t),null),rx===null)throw Error(`Expected a work-in-progress root. This is a bug in React. Please file an issue.`);a||Fy&127||Ja(r,t,n)}return n}function Ja(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Iy.updateQueue,t===null?(t=La(),Iy.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Ya(e,t,n,r){t.value=n,t.getSnapshot=r,Za(t)&&Qa(e)}function Xa(e,t,n){return n(function(){Za(t)&&(pi(2,`updateSyncExternalStore()`,e),Qa(e))})}function Za(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Jh(e,n)}catch{return!0}}function Qa(e){var t=_r(e,2);t!==null&&rl(t,e,2)}function $a(e){var t=Fa();if(typeof e==`function`){var n=e;if(e=n(),Vy){Pe(!0);try{n()}finally{Pe(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Va,lastRenderedState:e},t}function eo(e){e=$a(e);var t=e.queue,n=Yo.bind(null,Iy,t);return t.dispatch=n,[e.memoizedState,n]}function to(e){var t=Fa();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Zo.bind(null,Iy,!0,n),n.dispatch=t,[e,t]}function no(e,t){return ro(Ia(),Ly,e,t)}function ro(e,t,n,r){return e.baseState=n,Wa(e,Ly,typeof r==`function`?r:Va)}function io(e,t){var n=Ia();return Ly===null?(n.baseState=e,[e,n.queue.dispatch]):ro(n,Ly,e,t)}function ao(e,t,n,r,i){if(Qo(e))throw Error(`Cannot update form state while rendering.`);if(e=t.action,e!==null){var a={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){a.listeners.push(e)}};L.T===null?a.isTransition=!1:n(!0),r(a),n=t.pending,n===null?(a.next=t.pending=a,oo(t,a)):(a.next=n.next,t.pending=n.next=a)}}function oo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=L.T,o={};o._updatedFibers=new Set,L.T=o;try{var s=n(i,r),c=L.S;c!==null&&c(o,s),so(e,t,s)}catch(n){lo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types!==null&&a.types!==o.types&&console.error(`We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.`),a.types=o.types),L.T=a,a===null&&o._updatedFibers&&(e=o._updatedFibers.size,o._updatedFibers.clear(),10<e&&console.warn(`Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.`))}}else try{o=n(i,r),so(e,t,o)}catch(n){lo(e,t,n)}}function so(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?(L.asyncTransitions++,n.then(Io,Io),n.then(function(n){co(e,t,n)},function(n){return lo(e,t,n)}),t.isTransition||console.error("An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop.")):co(e,t,n
vendor: 9,426 bytes, line 119
119)}function co(e,t,n){t.status=`fulfilled`,t.value=n,uo(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,oo(e,n)))}function lo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,uo(t),t=t.next;while(t!==r)}e.action=null}function uo(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function fo(e,t){return t}function po(e,t){if(c_){var n=rx.formState;if(n!==null){a:{var r=Iy;if(c_){if(s_){b:{for(var i=s_,a=f_;i.nodeType!==8;){if(!a){i=null;break b}if(i=bd(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===eC||a===tC?i:null}if(i){s_=bd(i.nextSibling),r=i.data===eC;break a}}Gr(r)}r=!1}r&&(t=n[0])}}return n=Fa(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:fo,lastRenderedState:t},n.queue=r,n=Yo.bind(null,Iy,r),r.dispatch=n,r=$a(!1),a=Zo.bind(null,Iy,!1,r.queue),r=Fa(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=ao.bind(null,Iy,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function mo(e){return ho(Ia(),Ly,e)}function ho(e,t,n){if(t=Wa(e,t,fo)[0],e=Ua(Va)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Ra(t)}catch(e){throw e===Jv?Xv:e}else r=t;t=Ia();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(Iy.flags|=2048,vo(Ey|ky,{destroy:void 0},go.bind(null,i,n),null)),[r,a,e]}function go(e,t){e.action=t}function _o(e){var t=Ia(),n=Ly;if(n!==null)return ho(t,n,e);Ia(),t=t.memoizedState,n=Ia();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function vo(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Iy.updateQueue,t===null&&(t=La(),Iy.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function yo(e){var t=Fa();return e={current:e},t.memoizedState=e}function bo(e,t,n,r){var i=Fa();Iy.flags|=e,i.memoizedState=vo(Ey|t,{destroy:void 0},n,r===void 0?null:r)}function xo(e,t,n,r){var i=Ia();r=r===void 0?null:r;var a=i.memoizedState.inst;Ly!==null&&r!==null&&Da(r,Ly.memoizedState.deps)?i.memoizedState=vo(t,a,n,r):(Iy.flags|=e,i.memoizedState=vo(Ey|t,a,n,r))}function So(e,t){(Iy.mode&qg)===Ug?bo(8390656,ky,e,t):bo(276826112,ky,e,t)}function Co(e){Iy.flags|=4;var t=Iy.updateQueue;if(t===null)t=La(),Iy.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function wo(e){var t=Fa(),n={impl:e};return t.memoizedState=n,function(){if((nx&qb)!==Kb)throw Error(`A function wrapped in useEffectEvent can't be called during rendering.`);return n.impl.apply(void 0,arguments)}}function To(e){var t=Ia().memoizedState;return Co({ref:t,nextImpl:e}),function(){if((nx&qb)!==Kb)throw Error(`A function wrapped in useEffectEvent can't be called during rendering.`);return t.impl.apply(void 0,arguments)}}function Eo(e,t){var n=4194308;return(Iy.mode&qg)!==Ug&&(n|=134217728),bo(n,Oy,e,t)}function Do(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return t.hasOwnProperty(`current`)||console.error(`Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.`,`an object with keys {`+Object.keys(t).join(`, `)+`}`),e=e(),t.current=e,function(){t.current=null}}function k(e,t,n){typeof t!=`function`&&console.error(`Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.`,t===null?`null`:typeof t),n=n==null?null:n.concat([e]);var r=4194308;(Iy.mode&qg)!==Ug&&(r|=134217728),bo(r,Oy,Do.bind(null,t,e),n)}function A(e,t,n){typeof t!=`function`&&console.error(`Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.`,t===null?`null`:typeof t),n=n==null?null:n.concat([e]),xo(4,Oy,Do.bind(null,t,e),n)}function Oo(e,t){return Fa().memoizedState=[e,t===void 0?null:t],e}function ko(e,t){var n=Ia();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Da(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ao(e,t){var n=Fa();t=t===void 0?null:t;var r=e();if(Vy){Pe(!0);try{e()}finally{Pe(!1)}}return n.memoizedState=[r,t],r}function j(e,t){var n=Ia();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Da(t,r[1]))return r[0];if(r=e(),Vy){Pe(!0);try{e()}finally{Pe(!1)}}return n.memoizedState=[r,t],r}function jo(e,t){return Po(Fa(),e,t)}function Mo(e,t){return Fo(Ia(),Ly.memoizedState,e,t)}function No(e,t){var n=Ia();return Ly===null?Po(n,e,t):Fo(n,Ly.memoizedState,e,t)}function Po(e,t,n){return n===void 0||Fy&1073741824&&!(ax&261930)?e.memoizedState=t:(e.memoizedState=n,e=nl(),Iy.lanes|=e,Cx|=e,n)}function Fo(e,t,n,r){return Jh(n,t)?n:vy.current===null?!(Fy&42)||Fy&1073741824&&!(ax&261930)?(yb=!0,e.memoizedState=n):(e=nl(),Iy.lanes|=e,Cx|=e,t):(e=Po(e,n,r),Jh(e,t)||(yb=!0),e)}function Io(){L.asyncTransitions--}function Lo(e,t,n,r,i){var a=Qf.p;Qf.p=a!==0&&a<Kp?a:Kp;var o=L.T,s={};s._updatedFibers=new Set,L.T=s,Zo(e,!1,t,n);try{var c=i(),l=L.S;if(l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`){L.asyncTransitions++,c.then(Io,Io);var u=Pi(c,r);Xo(e,t,u,tl(e))}else Xo(e,t,r,tl(e))}catch(n){Xo(e,t,{then:function(){},status:`rejected`,reason:n},tl(e))}finally{Qf.p=a,o!==null&&s.types!==null&&(o.types!==null&&o.types!==s.types&&console.error(`We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.`),o.types=s.types),L.T=o,o===null&&s._updatedFibers&&(e=s._updatedFibers.size,s._updatedFibers.clear(),10<e&&console.warn(`Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.`))}}function Ro(e,t,n,r){if(e.tag!==5)throw Error(`Expected the form instance to be a HostComponent. This is a bug in React.`);var i=zo(e).queue;mi(e),Lo(e,i,t,PC,n===null?u:function(){return Bo(e),n(r)})}function zo(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:PC,baseState:PC,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Va,lastRenderedState:PC},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Va,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Bo(e){L.T===null&&console.error(`requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition.`);var t=zo(e);t.next===null&&(t=e.alternate.memoizedState),Xo(e,t.next.queue,{},tl(e))}function Vo(){var e=$a(!1);return e=Lo.bind(null,Iy,e.queue,!0,!1),Fa().memoizedState=e,[!1,e]}function Ho(){var e=Ua(Va)[0],t=Ia().memoizedState;return[typeof e==`boolean`?e:Ra(e),t]}function Uo(){var e=Ga(Va)[0],t=Ia().memoizedState;return[typeof e==`boolean`?e:Ra(e),t]}function Wo(){return si(FC)}function Go(){var e=Fa(),t=rx.identifierPrefix;if(c_){var n=a_,r=i_;n=(r&~(1<<32-zp(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Hy++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Gy++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t}function Ko(){return Fa().memoizedState=qo.bind(null,Iy)}function qo(e,t){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var r=tl(n),i=aa(r),a=oa(n,i,r);a!==null&&(pi(r,`refresh()`,e),rl(a,n,r),sa(a,n,r)),e=ui(),t!=null&&a!==null&&console.error(`The seed argument is not enabled outside experimental channels.`),i.payload={cache:e};return}n=n.return}}function Jo(e,t,n){var r=arguments;typeof r[3]==`function`&&console.error(`State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().`),r=tl(e);var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};Qo(e)?$o(t,i):(i=gr(e,t,i,r),i!==null&&(pi(r,`dispatch()`,e),rl(i,e,r),es(i,t,r)))}function Yo(e,t,n){var r=arguments;typeof r[3]==`function`&&console.error(`State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().`),r=tl(e),Xo(e,t,n,r)&&pi(r,`setState()`,e)}function Xo(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qo(e))$o(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null)){var o=L.H;L.H=nb;try{var s=t.lastRenderedState,c=a(s,n);if(i.hasEagerState=!0,i.eagerState=c,Jh(c,s))return hr(e,t,i,0),rx===null&&mr(),!1}catch{}finally{L.H=o}}if(n=gr(e,t,i,r),n!==null)return rl(n,e,r),es(n,t,r),!0}return!1}function Zo(e,t,n,r){if(L.T===null&&gv===0&&console.error(`An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition.`),r={lane:2,revertLane:au(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Qo(e)){if(t)throw Error(`Cannot update optimistic state while rendering.`);console.error(`Cannot call startTransition while rendering.`)}else t=gr(e,n,r,2),t!==null&&(pi(2,`setOptimistic()`,e),rl(t,e,2))}function Qo(e){var t=e.alternate;return e===Iy||t!==null&&t===Iy}function $o(e,t){By=zy=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}
119function es(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ge(e,n)}}function M(e){if(e!==null&&typeof e!=`function`){var t=String(e);mb.has(t)||(mb.add(t),console.error("Expected the last optional `callback` argument to be a function. Instead received: %s.",e))}}function ts(e,t,n,r){var i=e.memoizedState,a=n(r,i);if(e.mode&Kg){Pe(!0);try{a=n(r,i)}finally{Pe(!1)}}a===void 0&&(t=C(t)||`Component`,ub.has(t)||(ub.add(t),console.error(`%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.`,t))),i=a==null?i:Nf({},i,a),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}function N(e,t,n,r,i,a,o){var s=e.stateNode;if(typeof s.shouldComponentUpdate==`function`){if(n=s.shouldComponentUpdate(r,a,o),e.mode&Kg){Pe(!0);try{n=s.shouldComponentUpdate(r,a,o)}finally{Pe(!1)}}return n===void 0&&console.error(`%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.`,C(t)||`Component`),n}return t.prototype&&t.prototype.isPureReactComponent?!Vn(n,r)||!Vn(i,a):!0}function ns(e,t,n,r){var i=t.state;typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==i&&(e=w(e)||`Component`,ab.has(e)||(ab.add(e),console.error(`%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.`,e)),hb.enqueueReplaceState(t,t.state,null))}function rs(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=Nf({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function is(e){gg(e),console.warn(`%s
120
121%s
122`,gb?`An error occurred in the <`+gb+`> component.`:`An error occurred in one of your React components.`,`Consider adding an error boundary to your tree to customize error handling behavior.
123Visit https://react.dev/link/error-boundaries to learn more about error boundaries.`)}function as(e){var t=gb?`The above error occurred in the <`+gb+`> component.`:`The above error occurred in one of your React components.`,n=`React will try to recreate this component tree from scratch using the error boundary you provided, `+((_b||`Anonymous`)+`.`);if(typeof e==`object`&&e&&typeof e.environmentName==`string`){var r=e.environmentName;e=[`%o
124
125%s
126
127%s
128`,e,t,n].slice(0),typeof e[0]==`string`?e.splice(0,1,IC+` `+e[0],LC,zC+r+zC,RC):e.splice(0,0,IC,LC,zC+r+zC,RC),e.unshift(console),r=BC.apply(console.error,e),r()}else console.error(`%o
129
130%s
131
132%s
133`,e,t,n)}function os(e){gg(e)}function ss(e,t){try{gb=t.source?w(t.source):null,_b=null;var n=t.value;if(L.actQueue!==null)L.thrownErrors.push(n);else{var r=e.onUncaughtError;r(n,{componentStack:t.stack})}}catch(e){setTimeout(function(){throw e})}}function cs(e,t,n){try{gb=n.source?w(n.source):null,_b=w(t);var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function ls(e,t,n){return n=aa(n),n.tag=py,n.payload={element:null},n.callback=function(){Te(t.source,ss,e,t)},n}function us(e){return e=aa(e),e.tag=py,e}function ds(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Cr(n),Te(r.source,cs,t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Cr(n),Te(r.source,cs,t,n,r),typeof i!=`function`&&(Rx===null?Rx=new Set([this]):Rx.add(this)),zv(this,r),typeof i==`function`||!(n.lanes&2)&&console.error(`%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.`,w(n)||`Unknown`)})}function fs(e,t,n,r,i){if(n.flags|=32768,Rp&&ql(e,i),typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ii(t,n,i,!0),c_&&(l_=!0),n=by.current,n!==null){switch(n.tag){case 31:case 13:return xy===null?_l():n.alternate===null&&Sx===Yb&&(Sx=Qb),n.flags&=-257,n.flags|=65536,n.lanes=i,r===Zv?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Rl(e,r,i)),!1;case 22:return n.flags|=65536,r===Zv?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Rl(e,r,i)),!1}throw Error(`Unexpected Suspense handler tag (`+n.tag+`). This is a bug in React.`)}return Rl(e,r,i),_l(),!1}if(c_)return l_=!0,t=by.current,t===null?(r!==p_&&Zr(Pr(Error(`There was an error while hydrating but React was able to re
133cover by instead client rendering the entire root.`,{cause:r}),n)),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=Pr(r,n),i=ls(e.stateNode,r,i),ca(e,i),Sx!==$b&&(Sx=Zb)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==p_&&Zr(Pr(Error(`There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.`,{cause:r}),n))),!1;var a=Pr(Error(`There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.`,{cause:r}),n);if(Ox===null?Ox=[a]:Ox.push(a),Sx!==$b&&(Sx=Zb),t===null)return!0;r=Pr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=ls(n.stateNode,r,e),ca(n,e),!1;case 1:if(t=n.type,a=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||a!==null&&typeof a.componentDidCatch==`function`&&(Rx===null||!Rx.has(a))))return n.flags|=65536,i&=-i,n.lanes|=i,i=us(i),ds(i,e,n,r),ca(n,i),!1}n=n.return}while(n!==null);return!1}function ps(e,t,n,r){t.child=e===null?ly(t,null,n,r):cy(t,e.child,n,r)}function ms(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return oi(t),r=Oa(e,t,n,o,a,i),s=Ma(),e!==null&&!yb?(Na(e,t,i),Ls(e,t,i)):(c_&&s&&Lr(t),t.flags|=1,ps(e,t,r,i),t.child)}function hs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Tr(a)&&a.defaultProps===void 0&&n.compare===null?(n=br(a),t.tag=15,t.type=n,Ds(t,a),gs(e,t,n,r,i)):(e=Or(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Rs(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Vn:n,n(o,r)&&e.ref===t.ref)return Ls(e,t,i)}return t.flags|=1,e=Er(a,r),e.ref=t.ref,e.return=t,t.child=e}function gs(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Vn(a,r)&&e.ref===t.ref&&t.type===e.type)if(yb=!1,t.pendingProps=r=a,Rs(e,i))e.flags&131072&&(yb=!0);else return t.lanes=e.lanes,Ls(e,t,i)}return Cs(e,t,n,r,i)}function _s(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:Fg,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return ys(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ii(t,a===null?null:a.cachePool),a===null?ha(t):ma(t,a),ya(t);else return r=t.lanes=536870912,ys(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Ii(t,null),ha(t),ba(t)):(Ii(t,a.cachePool),ma(t,a),ba(t),t.memoizedState=null);return ps(e,t,i,n),t.child}function vs(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:Fg,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function ys(e,t,n,r,i){var a=Fi();return a=a===null?null:{parent:C_._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Ii(t,null),ha(t),ya(t),e!==null&&ii(e,t,r,!0),t.childLanes=i,null}function bs(e,t){var n=t.hidden;return n!==void 0&&console.error(`<Activity> doesn't accept a hidden prop. Use mode="hidden" instead.
134- <Activity %s>
135+ <Activity %s>`,!0===n?`hidden`:!1===n?`hidden={false}`:`hidden={...}`,n?`mode="hidden"`:`mode="visible"`),t=Ms({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function xs(e,t,n){return cy(t,e.child,null,n),e=bs(t,t.pendingProps),e.flags|=2,xa(t),t.memoizedState=null,e}function P(e,t,n){var r=t.pendingProps,i=!!(t.flags&128);if(t.flags&=-129,e===null){if(c_){if(r.mode===`hidden`)return e=bs(t,r),t.lanes=536870912,vs(null,e);if(va(t),(e=s_)?(n=gd(e,f_),n=n!==null&&n.data===WS?n:null,n!==null&&(r={dehydrated:n,treeContext:zr(),retryLane:536870912,hydrationErrors:null},t.memoizedState=r,r=Mr(n),r.return=t,t.child=r,o_=t,s_=null)):n=null,n===null)throw Wr(t,e),Gr(t);return t.lanes=536870912,null}return bs(t,r)}var a=e.memoizedState;if(a!==null){var o=a.dehydrated;if(va(t),i)if(t.flags&256)t.flags&=-257,t=xs(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(`Client rendering an Activity suspended it again. This is a bug in React.`);else if(Ur(),n&536870912&&gl(t),yb||ii(e,t,n,!1),i=(n&e.childLanes)!==0,yb||i){if(r=rx,r!==null&&(o=Ke(r,n),o!==0&&o!==a.retryLane))throw a.retryLane=o,_r(e,o),rl
135(r,e,o),vb;_l(),t=xs(e,t,n)}else e=a.treeContext,s_=bd(o.nextSibling),o_=t,c_=!0,d_=null,l_=!1,u_=null,f_=!1,e!==null&&Br(t,e),t=bs(t,r),t.flags|=4096;return t}return a=e.child,r={mode:r.mode,children:r.children},n&536870912&&(n&e.lanes)!==0&&gl(t),e=Er(a,r),e.ref=t.ref,t.child=e,e.return=t,e}function Ss(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(`Expected ref to be a function, an object returned by React.createRef(), or undefined/null.`);(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Cs(e,t,n,r,i){if(n.prototype&&typeof n.prototype.render==`function`){var a=C(n)||`Unknown`;bb[a]||(console.error(`The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.`,a,a),bb[a]=!0)}return t.mode&Kg&&bv.recordLegacyContextWarning(t,null),e===null&&(Ds(t,t.type),n.contextTypes&&(a=C(n)||`Unknown`,Sb[a]||(Sb[a]=!0,console.error(`%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)`,a)))),oi(t),n=Oa(e,t,n,r,void 0,i),r=Ma(),e!==null&&!yb?(Na(e,t,i),Ls(e,t,i)):(c_&&r&&Lr(t),t.flags|=1,ps(e,t,n,i),t.child)}function ws(e,t,n,r,i,a){return oi(t),Jy=-1,Yy=e!==null&&e.type!==t.type,t.updateQueue=null,n=Aa(t,r,n,i),ka(e,t),r=Ma(),e!==null&&!yb?(Na(e,t,a),Ls(e,t,a)):(c_&&r&&Lr(t),t.flags|=1,ps(e,t,n,a),t.child)}function Ts(e,t,n,r,i){switch(s(t)){case!1:var a=t.stateNode,o=new t.type(t.memoizedProps,a.context).state;a.updater.enqueueSetState(a,o,null);break;case!0:t.flags|=128,t.flags|=65536,a=Error(`Simulated error coming from DevTools`);var c=i&-i;if(t.lanes|=c,o=rx,o===null)throw Error(`Expected a work-in-progress root. This is a bug in React. Please file an issue.`);c=us(c),ds(c,o,t,Pr(a,t)),ca(t,c)}if(oi(t),t.stateNode===null){if(o=Bg,a=n.contextType,`contextType`in n&&a!==null&&(a===void 0||a.$$typeof!==Vf)&&!pb.has(n)&&(pb.add(n),c=a===void 0?` However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file.`:typeof a==`object`?a.$$typeof===Bf?` Did you accidentally pass the Context.Consumer instead?`:` However, it is set to an object with keys {`+Object.keys(a).join(`, `)+`}.`:` However, it is set to a `+typeof a+`.`,console.error(`%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s`,C(n)||`Component`,c)),typeof a==`object`&&a&&(o=si(a)),a=new n(r,o),t.mode&Kg){Pe(!0);try{a=new n(r,o)}finally{Pe(!1)}}if(o=t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=hb,t.stateNode=a,a._reactInternals=t,a._reactInternalInstance=ib,typeof n.getDerivedStateFromProps==`function`&&o===null&&(o=C(n)||`Component`,ob.has(o)||(ob.add(o),console.error("`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.",o,a.state===null?`null`:`undefined`,o))),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`){var l=c=o=null;if(typeof a.componentWillMount==`function`&&!0!==a.componentWillMount.__suppressDeprecationWarning?o=`componentWillMount`:typeof a.UNSAFE_componentWillMount==`function`&&(o=`UNSAFE_componentWillMount`),typeof a.componentWillReceiveProps==`function`&&!0!==a.componentWillReceiveProps.__suppressDeprecationWarning?c=`componentWillReceiveProps`:typeof a.UNSAFE_componentWillReceiveProps==`function`&&(c=`UNSAFE_componentWillReceiveProps`),typeof a.componentWillUpdate==`function`&&!0!==a.componentWillUpdate.__suppressDeprecationWarning?l=`componentWillUpdate`:typeof a.UNSAFE_componentWillUpdate==`function`&&(l=`UNSAFE_componentWillUpdate`),o!==null||c!==null||l!==null){a=C(n)||`Component`;var u=typeof n.getDerivedStateFromProps==`function`?`getDerivedStateFromProps()`:`getSnapshotBeforeUpdate()`;cb.has(a)||(cb.add(a),console.error(`Unsafe legacy lifecycles will not be called for components using new component APIs.
136
137%s uses %s but also contains the following legacy lifecycles:%s%s%s
138
139The above lifecycles should be removed. Learn more about this warning here:
140https://react.dev/link/unsafe-component-lifecycles`,a,u,o===null?``:`
141  `+o,c===null?``:`
142  `+c,l===null?``:`
143  `+l))}}a=t.stateNode,o=C(n)||`Component`,a.render||(n.prototype&&typeof n.prototype.render==`function`?console.error("No `render` method found on the %s instance: did you accidentally return an object from the constructor?",o):console.error("No `render` method found on the %s instance: you may have forgotten to define `render`.",o)),!a.getInitialState||a.getInitialState.isReactClassApproved||a.state||console.error(`getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?`,o),a.getDefaultProps&&!a.getDefaultProps.isReactClassApproved&&console.error(`getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.`,o),a.contextType&&console.error(`contextType was defined as an instance property on %s. Use a static property to define contextType instead.`,o),n.childContextTypes&&!fb.has(n)&&(fb.add(n),console.error(`%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)`,o)),n.contextTypes&&!db.has(n)&&(db.add(n),console.error(`%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)`,o)),typeof a.componentShouldUpdate==`function`&&console.error(`%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.`,o),n.prototype&&n.prototype.isPureReactComponent&&a.shouldComponentUpdate!==void 0&&console.error(`%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.`,C(n)||`A pure component`),typeof a.componentDidUnmount==`function`&&console.error(`%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?`,o),typeof a.componentDidReceiveProps==`function`&&console.error(`%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().`,o),typeof a.componentWillRecieveProps==`function`&&console.error(`%s has a method called componentWillRecieveProps(). Did 
143you mean componentWillReceiveProps()?`,o),typeof a.UNSAFE_componentWillRecieveProps==`function`&&console.error(`%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?`,o),c=a.props!==r,a.props!==void 0&&c&&console.error("When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.",o),a.defaultProps&&console.error(`Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.`,o,o),typeof a.getSnapshotBeforeUpdate!=`function`||typeof a.componentDidUpdate==`function`||sb.has(n)||(sb.add(n),console.error(`%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.`,C(n))),typeof a.getDerivedStateFromProps==`function`&&console.error(`%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.`,o),typeof a.getDerivedStateFromError==`function`&&console.error(`%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.`,o),typeof n.getSnapshotBeforeUpdate==`function`&&console.error(`%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.`,o),(c=a.state)&&(typeof c!=`object`||Zf(c))&&console.error(`%s.state: must be set to an object or null`,o),typeof a.getChildContext==`function`&&typeof n.childContextTypes!=`object`&&console.error(`%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().`,o),a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},ra(t),o=n.contextType,a.context=typeof o==`object`&&o?si(o):Bg,a.state===r&&(o=C(n)||`Component`,lb.has(o)||(lb.add(o),console.error(`%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.`,o))),t.mode&Kg&&bv.recordLegacyContextWarning(t,a),bv.recordUnsafeLifecycleWarnings(t,a),a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(ts(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&(console.error(`%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.`,w(t)||`Component`),hb.enqueueReplaceState(a,a.state,null)),ua(t,r,a,i),la(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),(t.mode&qg)!==Ug&&(t.flags|=134217728),a=!0}else if(e===null){a=t.stateNode;var d=t.memoizedProps;c=rs(n,d),a.props=c;var f=a.context;l=n.contextType,o=Bg,typeof l==`object`&&l&&(o=si(l)),u=n.getDerivedStateFromProps,l=typeof u==`function`||typeof a.getSnapshotBeforeUpdate==`function`,d=t.pendingProps!==d,l||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(d||f!==o)&&ns(t,a,r,o),my=!1;var p=t.memoizedState;a.state=p,ua(t,r,a,i),la(),f=t.memoizedState,d||p!==f||my?(typeof u==`function`&&(ts(t,n,u,r),f=t.memoizedState),(c=my||N(t,n,c,r,p,f,o))?(l||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308),(t.mode&qg)!==Ug&&(t.flags|=134217728)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),(t.mode&qg)!==Ug&&(t.flags|=134217728),t.memoizedProps=r,t.memoizedState=f),a.props=r,a.state=f,a.context=o,a=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),(t.mode&qg)!==Ug&&(t.flags|=134217728),a=!1)}else{a=t.stateNode,ia(e,t),o=t.memoizedProps,l=rs(n,o),a.props=l,u=t.pendingProps,p=a.context,f
vendor: 6,356 bytes, lines 143-144
143=n.contextType,c=Bg,typeof f==`object`&&f&&(c=si(f)),d=n.getDerivedStateFromProps,(f=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==u||p!==c)&&ns(t,a,r,c),my=!1,p=t.memoizedState,a.state=p,ua(t,r,a,i),la();var m=t.memoizedState;o!==u||p!==m||my||e!==null&&e.dependencies!==null&&ai(e.dependencies)?(typeof d==`function`&&(ts(t,n,d,r),m=t.memoizedState),(l=my||N(t,n,l,r,p,m,c)||e!==null&&e.dependencies!==null&&ai(e.dependencies))?(f||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,m,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,m,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),a.props=r,a.state=m,a.context=c,a=l):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),a=!1)}if(c=a,Ss(e,t),o=!!(t.flags&128),c||o){if(c=t.stateNode,Ee(t),o&&typeof n.getDerivedStateFromError!=`function`)n=null,M_=-1;else if(n=Nv(c),t.mode&Kg){Pe(!0);try{Nv(c)}finally{Pe(!1)}}t.flags|=1,e!==null&&o?(t.child=cy(t,e.child,null,i),t.child=cy(t,null,n,i)):ps(e,t,n,i),t.memoizedState=c.state,e=t.child}else e=Ls(e,t,i);return i=t.stateNode,a&&i.props!==r&&(wb||console.error("It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.",w(t)||`a component`),wb=!0),e}function Es(e,t,n,r){return Yr(),t.flags|=256,ps(e,t,n,r),t.child}function Ds(e,t){t&&t.childContextTypes&&console.error(`childContextTypes cannot be defined on a function component.
144  %s.childContextTypes = ...`,t.displayName||t.name||`Component`),typeof t.getDerivedStateFromProps==`function`&&(e=C(t)||`Unknown`,Cb[e]||(console.error(`%s: Function components do not support getDerivedStateFromProps.`,e),Cb[e]=!0)),typeof t.contextType==`object`&&t.contextType!==null&&(t=C(t)||`Unknown`,xb[t]||(console.error(`%s: Function components do not support contextType.`,t),xb[t]=!0))}function Os(e){return{baseLanes:e,cachePool:Li()}}function ks(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Ex),e}function As(e,t,n){var r,i=t.pendingProps;o(t)&&(t.flags|=128);var a=!1,s=!!(t.flags&128);if((r=s)||(r=e!==null&&e.memoizedState===null?!1:(wy.current&Cy)!==0),r&&(a=!0,t.flags&=-129),r=!!(t.flags&32),t.flags&=-33,e===null){if(c_){if(a?_a(t):ba(t),(e=s_)?(n=gd(e,f_),n=n!==null&&n.data!==WS?n:null,n!==null&&(r={dehydrated:n,treeContext:zr(),retryLane:536870912,hydrationErrors:null},t.memoizedState=r,r=Mr(n),r.return=t,t.child=r,o_=t,s_=null)):n=null,n===null)throw Wr(t,e),Gr(t);return vd(n)?t.lanes=32:t.lanes=536870912,null}var c=i.children;if(i=i.fallback,a){ba(t);var l=t.mode;return c=Ms({mode:`hidden`,children:c},l),i=Ar(i,l,n,null),c.return=t,i.return=t,c.sibling=i,t.child=c,i=t.child,i.memoizedState=Os(n),i.childLanes=ks(e,r,n),t.memoizedState=Db,vs(null,i)}return _a(t),js(t,c)}var u=e.memoizedState;if(u!==null){var d=u.dehydrated;if(d!==null){if(s)t.flags&256?(_a(t),t.flags&=-257,t=Ns(e,t,n)):t.memoizedState===null?(ba(t),c=i.fallback,l=t.mode,i=Ms({mode:`visible`,children:i.children},l),c=Ar(c,l,n,null),c.flags|=2,i.return=t,c.return=t,i.sibling=c,t.child=i,cy(t,e.child,null,n),i=t.child,i.memoizedState=Os(n),i.childLanes=ks(e,r,n),t.memoizedState=Db,t=vs(null,i)):(ba(t),t.child=e.child,t.flags|=128,t=null);else if(_a(t),Ur(),n&536870912&&gl(t),vd(d)){if(r=d.nextSibling&&d.nextSibling.dataset,r){c=r.dgst;var f=r.msg;l=r.stck;var p=r.cstck}a=f,r=c,i=l,d=p,c=a,l=d,c=Error(c||`The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.`),c.stack=i||``,c.digest=r,r=l===void 0?null:l,i={value:c,source:null,stack:r},typeof r==`string`&&Xg.set(c,i),Zr(i),t=Ns(e,t,n)}else if(yb||ii(e,t,n,!1),r=(n&e.childLanes)!==0,yb||r){if(r=rx,r!==null&&(i=Ke(r,n),i!==0&&i!==u.retryLane))throw u.retryLane=i,_r(e,i),rl(r,e,i),vb;_d(d)||_l(),t=Ns(e,t,n)}else _d(d)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,s_=bd(d.nextSibling),o_=t,c_=!0,d_=null,l_=!1,u_=null,f_=!1,e!==null&&Br(t,e),t=js(t,i.children),t.flags|=4096);return t}}return a?(ba(t),c=i.fallback,l=t.mode,p=e.child,d=p.sibling,i=Er(p,{mode:`hidden`,children:i.children}),i.subtreeFlags=p.subtreeFlags&65011712,d===null?(c=Ar(c,l,n,null),c.flags|=2):c=Er(d,c),c.return=t,i.return=t,i.sibling=c,t.child=i,vs(null,i),i=t.child,c=e.child.memoizedState,c===null?c=Os(n):(l=c.cachePool,l===null?l=Li():(p=C_._currentValue,l=l.parent===p?l:{parent:p,pool:p}),c={baseLanes:c.baseLanes|n,cachePool:l}),i.memoizedState=c,i.childLanes=ks(e,r,n),t.memoizedState=Db,vs(e.child,i)):(u!==null&&(n&62914560)===n&&(n&e.lanes)!==0&&gl(t),_a(t),n=e.child,e=n.sibling,n=Er(n,{mode:`visible`,children:i.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function js(e,t){return t=Ms({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Ms(e,t){return e=g(22,e,null,t),e.lanes=0,e}function Ns(e,t,n){return cy(t,e.child,null,n),e=js(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ps(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ni(e.return,t,n)}function Fs(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Is(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail,o=r.children,s=wy.current;if((r=(s&Cy)!==0)?(s=s&Sy|Cy,t.flags|=128):s&=Sy,se(wy,s,t),s=i??`null`,i!==`forwards`&&i!==`unstable_legacy-backwards`&&i!==`together`&&i!==`independent`&&!Tb[s])if(Tb[s]=!0,i==null)console.error(`The default for the <Su
144spenseList revealOrder="..."> prop is changing. To be future compatible you must explictly specify either "independent" (the current default), "together", "forwards" or "legacy_unstable-backwards".`);else if(i===`backwards`)console.error(`The rendering order of <SuspenseList revealOrder="backwards"> is changing. To be future compatible you must specify revealOrder="legacy_unstable-backwards" instead.`);else if(typeof i==`string`)switch(i.toLowerCase()){case`together`:case`forwards`:case`backwards`:case`independent`:console.error(`"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.`,i,i.toLowerCase());break;case`forward`:case`backward`:console.error(`"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.`,i,i.toLowerCase());break;default:console.error(`"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?`,i)}else console.error(`%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "independent", "together", "forwards" or "backwards"?`,i);s=a??`null`,Eb[s]||(a==null?(i===`forwards`||i===`backwards`||i===`unstable_legacy-backwards`)&&(Eb[s]=!0,console.error(`The default for the <SuspenseList tail="..."> prop is changing. To be future compatible you must explictly specify either "visible" (the current default), "collapsed" or "hidden".`)):a!==`visible`&&a!==`collapsed`&&a!==`hidden`?(Eb[s]=!0,console.error(`"%s" is not a supported value for tail on <SuspenseList />. Did you mean "visible", "collapsed" or "hidden"?`,a)):i!==`forwards`&&i!==`backwards`&&i!==`unstable_legacy-backwards`&&(Eb[s]=!0,console.error(`<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?`,a)));a:if((i===`forwards`||i===`backwards`||i===`unstable_legacy-backwards`)&&o!=null&&!1!==o)if(Zf(o)){for(s=0;s<o.length;s++)if(!na(o[s],s))break a}else if(s=ie(o),typeof s==`function`){if(s=s.call(o))for(var c=s.next(),l=0;!c.done;c=s.next()){if(!na(c.value,l))break a;l++}}else console.error(`A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?`,i);if(ps(e,t,o,n),c_?(Vr(),o=e_):o=0,!r&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ps(e,n,t);else if(e.tag===19)Ps(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&Sa(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Fs(t,!1,i,n,a,o);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Sa(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Fs(t,!0,n,null,a,o);break;case`together`:Fs(t,!1,null,null,void 0,o);break;default:t.memoizedState=null}return t.child}function Ls(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),M_=-1,Cx|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ii(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(`Resuming work not yet implemented.`);if(t.child!==null){for(e=t.child,n=Er(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Er(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Rs(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&ai(e)))}function zs(e,t,n){switch(t.tag){case 3:le(t,t.stateNode.containerInfo),ei(t,C_,e.memoizedState.cache),Yr();break;case 27:case 5:fe(t);break;case 4:le(t,t.stateNode.containerInfo);break;case 10:ei(t,t.type,t.memoizedProps.value);break;case 12:(n&t.childLanes)!==0&&(t.flags|=4),t.flags|=2048;var r=t.stateNode;r.effectDuration=-0,r.passiveEffectDuration=-0;break;case 31:if(t.memoizedState!==null)return t.flags|=128,va(t),null;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(_a(t),e=Ls(e,t,n),e===null?null:e.sibling):As(e,t,n):(_a(t),t.flags|=128,null);_a(t);break;case 19:var i=!!(e.flags&128);if(r=(n&t.childLanes)!==0,r||=(ii(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Is(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),se(wy,wy.current,t),r)break;return null;case 22:return t.lanes=0,_s(e,t,n,t.pendingProps);case 24:ei(t,C_,e.memoizedState.cache)}return Ls(e,t,n)}function Bs(e,t,n){if(t._debugNeedsRemount&&e!==null){n=Or(t.type,t.key,t.pendingProps,t._debugOwner||null,t.mode,t.lanes),n._debugStack=t._debugStack,n._debugTask=t._debugTask;var r=t.return;if(r===null)throw Error(`Cannot swap the root fiber.`);if(e.alternate=null,t.alternate=null,n.index=t.index,n.sibling=t.sibling,n.return=t.return,n.ref=t.ref,n._debugInfo=t._debugInfo,t===r.child)r.child=n;else{var i=r.child;if(i===null)throw Error(`Expected parent to have a child.`);for(;i.sibling!==t;)if(i=i.sibling,i===null)throw Error(`Expected to find the previous sibling.`);i.sibling=n}return t=r.deletions,t===null?(r.deletions=[e],r.flags|=16):t.push(e),n.flags|=2,n}if(e!==null)if(e.memoizedProps!==t.pendingProps||t.type!==e.type)yb=!0;else{if(!Rs(e,n)&&!(t.flags&128))return yb=!1,zs(e,t,n);yb=!!(e.flags&131072)}
vendor: 50,754 bytes, lines 144-157
144else yb=!1,(r=c_)&&(Vr(),r=!!(t.flags&1048576)),r&&(r=t.index,Vr(),Ir(t,e_,r));switch(t.lanes=0,t.tag){case 16:a:if(r=t.pendingProps,e=Vi(t.elementType),t.type=e,typeof e==`function`)Tr(e)?(r=rs(e,r),t.tag=1,t.type=e=br(e),t=Ts(null,t,e,r,n)):(t.tag=0,Ds(t,e),t.type=e=br(e),t=Cs(null,t,e,r,n));else{if(e!=null){if(i=e.$$typeof,i===Hf){t.tag=11,t.type=e=xr(e),t=ms(null,t,e,r,n);break a}if(i===Gf){t.tag=14,t=hs(null,t,e,r,n);break a}}throw t=``,typeof e==`object`&&e&&e.$$typeof===Kf&&(t=` Did you wrap a component in React.lazy() more than once?`),n=C(e)||e,Error(`Element type is invalid. Received a promise that resolves to: `+n+`. Lazy element type must resolve to a class or function.`+t)}return t;case 0:return Cs(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=rs(r,t.pendingProps),Ts(e,t,r,i,n);case 3:a:{if(le(t,t.stateNode.containerInfo),e===null)throw Error(`Should have a current fiber. This is a bug in React.`);r=t.pendingProps;var a=t.memoizedState;i=a.element,ia(e,t),ua(t,r,null,n);var o=t.memoizedState;if(r=o.cache,ei(t,C_,r),r!==a.cache&&ri(t,[C_],n,!0),la(),r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=Es(e,t,r,n);break a}else if(r!==i){i=Pr(Error(`This root received an early update, before anything was able hydrate. Switched the entire root to client rendering.`),t),Zr(i),t=Es(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(s_=bd(e.firstChild),o_=t,c_=!0,d_=null,l_=!1,u_=null,f_=!0,n=ly(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Yr(),r===i){t=Ls(e,t,n);break a}ps(e,t,r,n)}t=t.child}return t;case 26:return Ss(e,t),e===null?(n=Nd(t.type,null,t.pendingProps,null))?t.memoizedState=n:c_||(n=t.type,e=t.pendingProps,r=ce(ap.current),r=Hu(r).createElement(n),r[Xp]=t,r[Zp]=e,Ou(r,n,e),it(r),t.stateNode=r):t.memoizedState=Nd(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return fe(t),e===null&&c_&&(r=ce(ap.current),i=de(),r=t.stateNode=Od(t.type,t.pendingProps,r,i,!1),l_||(i=Ru(r,t.type,t.pendingProps,i),i!==null&&(Hr(t,0).serverProps=i)),o_=t,f_=!0,i=s_,nd(t.type)?(_C=i,s_=bd(r.firstChild)):s_=i),ps(e,t,t.pendingProps.children,n),Ss(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&c_&&(a=de(),r=Qt(t.type,a.ancestorInfo),i=s_,(o=!i)||(o=md(i,t.type,t.pendingProps,f_),o===null?a=!1:(t.stateNode=o,l_||(a=Ru(o,t.type,t.pendingProps,a),a!==null&&(Hr(t,0).serverProps=a)),o_=t,s_=bd(o.firstChild),f_=!1,a=!0),o=!a),o&&(r&&Wr(t,i),Gr(t))),fe(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,r=a.children,Gu(i,a)?r=null:o!==null&&Gu(i,o)&&(t.flags|=32),t.memoizedState!==null&&(i=Oa(e,t,ja,null,null,n),FC._currentValue=i),Ss(e,t),ps(e,t,r,n),t.child;case 6:return e===null&&c_&&(n=t.pendingProps,e=de(),r=e.ancestorInfo.current,n=r==null||$t(n,r.tag,e.ancestorInfo.implicitRootScope),e=s_,(r=!e)||(r=hd(e,t.pendingProps,f_),r===null?r=!1:(t.stateNode=r,o_=t,s_=null,r=!0),r=!r),r&&(n&&Wr(t,e),Gr(t))),null;case 13:return As(e,t,n);case 4:return le(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=cy(t,null,r,n):ps(e,t,r,n),t.child;case 11:return ms(e,t,t.type,t.pendingProps,n);case 7:return ps(e,t,t.pendingProps,n),t.child;case 8:return ps(e,t,t.pendingProps.children,n),t.child;case 12:return t.flags|=4,t.flags|=2048,r=t.stateNode,r.effectDuration=-0,r.passiveEffectDuration=-0,ps(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.type,i=t.pendingProps,a=i.value,`value`in i||Ob||(Ob=!0,console.error("The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?")),ei(t,r,a),ps(e,t,i.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,typeof r!=`function`&&console.error(`A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.`),oi(t),i=si(i),r=jv(r,i,void 0),t.flags|=1,ps(e,t,r,n),t.child;case 14:return hs(e,t,t.type,t.pendingProps,n);case 15:return gs(e,t,t.type,t.pendingProps,n);case 19:return Is(e,t,n);case 31:return P(e,t,n);case 22:return _s(e,t,n,t.pendingProps);case 24:return oi(t),r=si(C_),e===null?(i=Fi(),i===null&&(i=rx,a=ui(),i.pooledCache=a,di(a),a!==null&&(i.pooledCacheLanes|=n),i=a),t.memoizedState={parent:r,cache:i},ra(t),ei(t,C_,i)):((e.lanes&n)!==0&&(ia(e,t),ua(t,null,null,n),la()),i=e.memoizedState,a=t.memoizedState,i.parent===r?(r=a.cache,ei(t,C_,r),r!==i.cache&&ri(t,[C_],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),ei(t,C_,r))),ps(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(`Unknown unit of work tag (`+t.tag+`). This error is likely caused by a bug in React. Please file an issue.`)}function Vs(e){e.flags|=4}function Hs(e,t,n,r,i){if((t=(e.mode&Jg)!==Ug)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(pl())e.flags|=8192;else throw Qv=Zv,Yv}else e.flags&=-16777217}function Us(e,t){if(t.type!==`stylesheet`||(t.state.loading&SC)!==vC)e.flags&=-16777217;else if(e.flags|=16777216,!Jd(t))if(pl())e.flags|=8192;else throw Qv=Zv,Yv}function Ws(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Be(),e.lanes|=t,Dx|=t)}function Gs(e,t){if(!c_)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ks(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)if((e.mode&Gg)!==Ug){for(var i=e.selfBaseDuration,a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags&65011712,r|=a.flags&65011712,i+=a.treeBaseDuration,a=a.sibling;e.treeBaseDuration=i}else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else if((e.mode&Gg)!==Ug){i=e.actualDuration,a=e.selfBaseDuration;for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,i+=o.actualDuration,a+=o.treeBaseDuration,o=o.sibling;e.actualDuration=i,e.treeBaseDuration=a}else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function qs(e,t,n){var r=t.pendingProps;switch(Rr(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ks(t),null;case 1:return Ks(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ti(C_,t),ue(t),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Jr(t)?(Qr(),Vs(t)):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Xr())),Ks(t),null;case 26:var i=t.type,a=t.memoizedState;return e===null?(Vs(t),a===null?(Ks(t),Hs(t,i,null,r,n)):(Ks(t),Us(t,a))):a?a===e.memoizedState?(Ks(t),t.flags&=-16777217):(Vs(t),Ks(t),Us(t,a)):(e=e.memoizedProps,e!==r&&Vs(t),Ks(t),Hs(t,i,e,r,n)),null;case 27:if(pe(t),n=ce(ap.current),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Vs(t);else{if(!r){if(t.stateNode===null)throw Error(`We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.`);return Ks(t),null}e=de(),Jr(t)?Kr(t,e):(e=Od(i,r,n,e,!0),t.stateNode=e,Vs(t))}return Ks(t),null;case 5:if(pe(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Vs(t);else{if(!r){if(t.stateNode===null)throw Error(`We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.`);return Ks(t),null}var o=de();if(Jr(t))Kr(t,o);else{switch(a=ce(ap.current),Qt(i,o.ancestorInfo),o=o.context,a=Hu(a),o){case aC:a=a.createElementNS(Bm,i);break;case oC:a=a.createElementNS(zm,i);break;default:switch(i){case`svg`:a=a.createElementNS(Bm,i);break;case`math`:a=a.createElementNS(zm,i);break;case`script`:a=a.createElement(`div`),a.innerHTML=`<script><\/script>`,a=a.removeChild(a.firstChild);break;case`select`:a=typeof r.is==`string`?a.createElement(`select`,{is:r.is}):a.createElement(`select`),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is==`string`?a.createElement(i,{is:r.is}):a.createElement(i),i.indexOf(`-`)===-1&&(i!==i.toLowerCase()&&console.error(`<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.`,i),Object.prototype.toString.call(a)!==`[object HTMLUnknownElement]`||xp.call(lC,i)||(lC[i]=!0,console.error(`The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.`,i)))}}a[Xp]=t,a[Zp]=r;a:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)a.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break a;for(;o.sibling===null;){if(o.return===null||o.return===t)break a;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=a;a:switch(Ou(a,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Vs(t)}}return Ks(t),Hs(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Vs(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(`We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.`);if(e=ce(ap.current),n=de(),Jr(t)){if(e=t.stateNode,n=t.memoizedProps,i=!l_,r=null,a=o_,a!==null)switch(a.tag){case 3:i&&(i=Sd(e,n,r),i!==null&&(Hr(t,0).serverProps=i));break;case 27:case 5:r=a.memoizedProps,i&&(i=Sd(e,n,r),i!==null&&(Hr(t,0).serverProps=i))}e[Xp]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Tu(e.nodeValue,n)),e||Gr(t,!0)}else i=n.ancestorInfo.current,i!=null&&$t(r,i.tag,n.ancestorInfo.implicitRootScope),e=Hu(e).createTextNode(r),e[Xp]=t,t.stateNode=e}return Ks(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Jr(t),n!==null){if(e===null){if(!r)throw Error(`A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.`);if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(`Expected to have a hydrated activity instance. This error is likely caused by a bug in React. Please file an issue.`);e[Xp]=t,Ks(t),(t.mode&Gg)!==Ug&&n!==null&&(e=t.child,e!==null&&(t.treeBaseDuration-=e.treeBaseDuration))}else Qr(),Yr(),!(t.flags&128)&&(n=t.memoizedState=null),t.flags|=4,Ks(t),(t.mode&Gg)!==Ug&&n!==null&&(e=t.child,e!==null&&(t.treeBaseDuration-=e.treeBaseDuration));e=!1}else n=Xr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(xa(t),t):(xa(t),null);if(t.flags&128)throw Error(`Client rendering an Activity suspended it again. This is a bug in React.`)}return Ks(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=r,a=Jr(t),i!==null&&i.dehydrated!==null){if(e===null){if(!a)throw Error(`A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.`);if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(`Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.`);a[Xp]=t,Ks(t),(t.mode&Gg)!==Ug&&i!==null&&(i=t.child,i!==null&&(t.treeBaseDuration-=i.treeBaseDuration))}else Qr(),Yr(),!(t.flags&128)&&(i=t.memoizedState=null),t.flags|=4,Ks(t),(t.mode&Gg)!==Ug&&i!==null&&(i=t.child,i!==null&&(t.treeBaseDuration-=i.treeBaseDuration));i=!1}else i=Xr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(xa(t),t):(xa(t),null)}return xa(t),t.flags&128?(t.lanes=n,(t.mode&Gg)!==Ug&&ji(t),t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ws(t,t.updateQueue),Ks(t),(t.mode&Gg)!==Ug&&n&&(e=t.child,e!==null&&(t.treeBaseDuration-=e.treeBaseDuration)),null);case 4:return ue(t),e===null&&fu(t.stateNode.containerInfo),Ks(t),null;case 10:return ti(t.type,t),Ks(t),null;case 19:if(T(wy,t),r=t.memoizedState,r===null)return Ks(t),null;if(i=!!(t.flags&128),a=r.rendering,a===null)if(i)Gs(r,!1);else{if(Sx!==Yb||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=Sa(e),a!==null){for(t.flags|=128,Gs(r,!1),e=a.updateQueue,t.updateQueue=e,Ws(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Dr(n,e),n=n.sibling;return se(wy,wy.current&Sy|Cy,t),c_&&Fr(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ep()>Px&&(t.flags|=128,i=!0,Gs(r,!1),t.lanes=4194304)}else{if(!i)if(e=Sa(a),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Ws(t,e),Gs(r,!0),r.tail===null&&r.tailMode===`hidden`&&!a.alternate&&!c_)return Ks(t),null}else 2*Ep()-r.renderingStartTime>Px&&n!==536870912&&(t.flags|=128,i=!0,Gs(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e===null?t.child=a:e.sibling=a,r.last=a)}return r.tail===null?(Ks(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ep(),e.sibling=null,n=wy.current,n=i?n&Sy|Cy:n&Sy,se(wy,n,t),c_&&Fr(t,r.treeForkCount),e);case 22:case 23:return xa(t),ga(t),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ks(t),t.subtreeFlags&6&&(t.flags|=8192)):Ks(t),n=t.updateQueue,n!==null&&Ws(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&T(yv,t),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ti(C_,t),Ks(t),null;case 25:return null;case 30:return null}throw Error(`Unknown unit of work tag (`+t.tag+`). This error is likely caused by a bug in React. Please file an issue.`)}function Js(e,t){switch(Rr(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,(t.mode&Gg)!==Ug&&ji(t),t):null;case 3:return ti(C_,t),ue(t),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return pe(t),null;case 31:if(t.memoizedState!==null){if(xa(t),t.alternate===null)throw Error(`Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.`);Yr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,(t.mode&Gg)!==Ug&&ji(t),t):null;case 13:if(xa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(`Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.`);Yr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,(t.mode&Gg)!==Ug&&ji(t),t):null;case 19:return T(wy,t),null;case 4:return ue(t),null;case 10:return ti(t.type,t),null;case 22:case 23:return xa(t),ga(t),e!==null&&T(yv,t),e=t.flags,e&65536?(t.flags=e&-65537|128,(t.mode&Gg)!==Ug&&ji(t),t):null;case 24:return ti(C_,t),null;case 25:return null;default:return null}}function Ys(e,t){switch(Rr(t),t.tag){case 3:ti(C_,t),ue(t);break;case 26:case 27:case 5:pe(t);break;case 4:ue(t);break;case 31:t.memoizedState!==null&&xa(t);break;case 13:xa(t);break;case 19:T(wy,t);break;case 10:ti(t.type,t);break;case 22:case 23:xa(t),ga(t),e!==null&&T(yv,t);break;case 24:ti(C_,t)}}function Xs(e){return(e.mode&Gg)!==Ug}function Zs(e,t){Xs(e)?(Ai(),$s(t,e),Oi()):$s(t,e)}function Qs(e,t,n){Xs(e)?(Ai(),ec(n,e,t),Oi()):ec(n,e,t)}function $s(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e&&(r=void 0,(e&Dy)!==Ty&&(mS=!0),r=Te(t,Uv,n),(e&Dy)!==Ty&&(mS=!1),r!==void 0&&typeof r!=`function`)){var a=void 0;a=(n.tag&Oy)===0?(n.tag&Dy)===0?`useEffect`:`useInsertionEffect`:`useLayoutEffect`;var o=void 0;o=r===null?` You returned null. If your effect does not require clean up, return undefined (or nothing).`:typeof r.then==`function`?`
145
146It looks like you wrote `+a+`(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:
147
148`+a+`(() => {
149  async function fetchData() {
150    // You can await here
151    const response = await MyAPI.getData(someId);
152    // ...
153  }
154  fetchData();
155}, [someId]); // Or [] if effect doesn't need props or state
156
157Learn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching`:` You returned: `+r,Te(t,function(e,t){console.error(`%s must not return anything besides a function, which is used for clean-up.%s`,e,t)},a,o)}n=n.next}while(n!==i)}}catch(e){Ll(t,t.return,e)}}function ec(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;s!==void 0&&(o.destroy=void 0,(e&Dy)!==Ty&&(mS=!0),i=t,Te(i,Gv,i,n,s),(e&Dy)!==Ty&&(mS=!1))}r=r.next}while(r!==a)}}catch(e){Ll(t,t.return,e)}}function tc(e,t){Xs(e)?(Ai(),$s(t,e),Oi()):$s(t,e)}function nc(e,t,n){Xs(e)?(Ai(),ec(n,e,t),Oi()):ec(n,e,t)}function rc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;e.type.defaultProps||`ref`in e.memoizedProps||wb||(n.props!==e.memoizedProps&&console.error("Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",w(e)||`instance`),n.state!==e.memoizedState&&console.error("Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",w(e)||`instance`));try{Te(e,pa,t,n)}catch(t){Ll(e,e.return,t)}}}function ic(e,t,n){return e.getSnapshotBeforeUpdate(t,n)}function ac(e,t){var n=t.memoizedProps,r=t.memoizedState;t=e.stateNode,e.type.defaultProps||`ref`in e.memoizedProps||wb||(t.props!==e.memoizedProps&&console.error("Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",w(e)||`instance`),t.state!==e.memoizedState&&console.error("Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",w(e)||`instance`));try{var i=rs(e.type,n),a=Te(e,ic,t,i,r);n=kb,a!==void 0||n.has(e.type)||(n.add(e.type),Te(e,function(){console.error(`%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.`,w(e))})),t.__reactInternalSnapshotBeforeUpdate=a}catch(t){Ll(e,e.return,t)}}function oc(e,t,n){n.props=rs(e.type,e.memoizedProps),n.state=e.memoizedState,Xs(e)?(Ai(),Te(e,Vv,e,t,n),Oi()):Te(e,Vv,e,t,n)}function sc(e){var t=e.ref;if(t!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}if(typeof t==`function`)if(Xs(e))try{Ai(),e.refCleanup=t(n)}finally{Oi()}else e.refCleanup=t(n);else typeof t==`string`?console.error(`String refs are no longer supported.`):t.hasOwnProperty(`current`)||console.error(`Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().`,w(e)),t.current=n}}function cc(e,t){try{Te(e,sc,e)}catch(n){Ll(e,t,n)}}function lc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{if(Xs(e))try{Ai(),Te(e,r)}finally{Oi(e)}else Te(e,r)}catch(n){Ll(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{if(Xs(e))try{Ai(),Te(e,n,null)}finally{Oi(e)}else Te(e,n,null)}catch(n){Ll(e,t,n)}else n.current=null}function uc(e,t,n,r){var i=e.memoizedProps,a=i.id,o=i.onCommit;i=i.onRender,t=t===null?`mount`:`update`,fv&&(t=`nested-update`),typeof i==`function`&&i(a,t,e.actualDuration,e.treeBaseDuration,e.actualStartTime,n),typeof o==`function`&&o(a,t,r,n)}function dc(e,t,n,r){var i=e.memoizedProps;e=i.id,i=i.onPostCommit,t=t===null?`mount`:`update`,fv&&(t=`nested-update`),typeof i==`function`&&i(e,t,r,n)}function fc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{Te(e,Xu,r,t,n,e)}catch(t){Ll(e,e.return,t)}}function pc(e,t,n){try{Te(e,Qu,e.stateNode,e.type,n,t,e)}catch(t){Ll(e,e.return,t)}}function mc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&nd(e.type)||e.tag===4}function hc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||mc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&nd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function gc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(td(n),(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t)):(td(n),t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=fn));else if(r!==4&&(r===27&&nd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(gc(e,t,n),e=e.sibling;e!==null;)gc(e,t,n),e=e.sibling}function _c(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&nd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(_c(e,t,n),e=e.sibling;e!==null;)_c(e,t,n),e=e.sibling}function vc(e){for(var t,n=e.return;n!==null;){if(mc(n)){t=n;break}n=n.return}if(t==null)throw Error(`Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.`);switch(t.tag){case 27:t=t.stateNode,n=hc(e),_c(e,n,t);break;case 5:n=t.stateNode,t.flags&32&&($u(n),t.flags&=-33),t=hc(e),_c(e,t,n);break;case 3:case 4:t=t.stateNode.containerInfo,n=hc(e),gc(e,n,t);break;default:throw Error(`Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.`)}}function yc(e){var t=e.stateNode,n=e.memoizedProps;try{Te(e,kd,e.type,n,t,e)}catch(t){Ll(e,e.return,t)}}function bc(e,t){return t.tag===31?(t=t.memoizedState,e.memoizedState!==null&&t===null):t.tag===13?(e=e.memoizedState,t=t.memoizedState,e!==null&&e.dehydrated!==null&&(t===null||t.dehydrated===null)):t.tag===3&&e.memoizedState.isDehydrated&&!(t.flags&256)}function xc(e,t){if(e=e.containerInfo,sC=QC,e=Gn(e),Kn(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break a}var o=0,s=-1,c=-1,l=0,u=0,d=e,f=null;b:for(;;){for(var p;d!==n||i!==0&&d.nodeType!==3||(s=o+i),d!==a||r!==0&&d.nodeType!==3||(c=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break b;if(f===n&&++l===i&&(s=o),f===a&&++u===r&&(c=o),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}n=s===-1||c===-1?null:{start:s,end:c}}else n=null}n||={start:0,end:0}}else n=null;for(cC={focusedElem:e,selectionRange:n},QC=!1,Pb=t;Pb!==null;)if(t=Pb,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Pb=e;else for(;Pb!==null;){switch(e=t=Pb,n=e.alternate,i=e.flags,e.tag){case 0:if(i&4&&(e=e.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:i&1024&&n!==null&&ac(e,n);break;case 3:if(i&1024){if(e=e.stateNode.containerInfo,n=e.nodeType,n===9)pd(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:pd(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(i&1024)throw Error(`This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.`)}if(e=t.sibling,e!==null){e.return=t.return,Pb=e;break}Pb=t.return}}function Sc(e,t,n){var r=yi(),i=xi(),a=Ci(),o=wi(),s=n.flags;switch(n.tag){case 0:case 11:case 15:Pc(e,n),s&4&&Zs(n,Oy|Ey);break;case 1:if(Pc(e,n),s&4)if(e=n.stateNode,t===null)n.type.defaultProps||`ref`in n.memoizedProps||wb||(e.props!==n.memoizedProps&&console.error("Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",w(n)||`instance`),e.state!==n.memoizedState&&console.error("Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",w(n)||`instance`)),Xs(n)?(Ai(),Te(n,Fv,n,e),Oi()):Te(n,Fv,n,e);else{var c=rs(n.type,t.memoizedProps);t=t.memoizedState,n.type.defaultProps||`ref`in n.memoizedProps||wb||(e.props!==n.memoizedProps&&console.error("Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",w(n)||`instance`),e.state!==n.memoizedState&&console.error("Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.",w(n)||`instance`)),Xs(n)?(Ai(),Te(n,Lv,n,e,c,t,e.__reactInternalSnapshotBeforeUpdate),Oi()):Te(n,Lv,n,e,c,t,e.__reactInternalSnapshotBeforeUpdate)}s&64&&rc(n),s&512&&cc(n,n.return);break;case 3:if(t=hi(),Pc(e,n),s&64&&(s=n.updateQueue,s!==null)){if(c=null,n.child!==null)switch(n.child.tag){case 27:case 5:c=n.child.stateNode;break;case 1:c=n.child.stateNode}try{Te(n,pa,s,c)}catch(e){Ll(n,n.return,e)}}e.effectDuration+=gi(t);break;case 27:t===null&&s&4&&yc(n);case 26:case 5:if(Pc(e,n),t===null){if(s&4)fc(n);else if(s&64){e=n.type,t=n.memoizedProps,c=n.stateNode;try{Te(n,Zu,c,e,t,n)}catch(e){Ll(n,n.return,e)}}}s&512&&cc(n,n.return);break;case 12:if(s&4){s=hi(),Pc(e,n),e=n.stateNode,e.effectDuration+=_i(s);try{Te(n,uc,n,t,k_,e.effectDuration)}catch(e){Ll(n,n.return,e)}}else Pc(e,n);break;case 31:Pc(e,n),s&4&&Ec(e,n);break;case 13:Pc(e,n),s&4&&Dc(e,n),s&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(s=Vl.bind(null,n),yd(e,s))));break;case 22:if(s=n.memoizedState!==null||Ab,!s){t=t!==null&&t.memoizedState!==null||jb,c=Ab;var l=jb;Ab=s,(jb=t)&&!l?(Rc(e,n,!!(n.subtreeFlags&8772)),(n.mode&Gg)!==Ug&&0<=F_&&0<=I_&&.05<I_-F_&&nr(n,F_,I_)):Pc(e,n),Ab=c,jb=l}break;case 30:break;default:Pc(e,n)}(n.mode&Gg)!==Ug&&0<=F_&&0<=I_&&((R_||.05<P_)&&ar(n,F_,I_,P_,L_),n.alternate===null&&n.return!==null&&n.return.alternate!==null&&.05<I_-F_&&(bc(n.return.alternate,n.return)||tr(n,F_,I_,`Mount`))),bi(r),Si(i),L_=a,R_=o}function Cc(e){var t=e.alternate;t!==null&&(e.alternate=null,Cc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&$e(t)),e.stateNode=null,e._debugOwner=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function wc(e,t,n){for(n=n.child;n!==null;)Tc(e,t,n),n=n.sibling}function Tc(e,t,n){if(Ip&&typeof Ip.onCommitFiberUnmount==`function`)try{Ip.onCommitFiberUnmount(Fp,n)}catch(e){Lp||(Lp=!0,console.error(`React instrumentation encountered an error: %o`,e))}var r=yi(),i=xi(),a=Ci(),o=wi();switch(n.tag){case 26:jb||lc(n,t),wc(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(e=n.stateNode,e.parentNode.removeChild(e));break;case 27:jb||lc(n,t);var s=Lb,c=Rb;nd(n.type)&&(Lb=n.stateNode,Rb=!1),wc(e,t,n),Te(n,Ad,n.stateNode),Lb=s,Rb=c;break;case 5:jb||lc(n,t);case 6:if(s=Lb,c=Rb,Lb=null,wc(e,t,n),Lb=s,Rb=c,Lb!==null)if(Rb)try{Te(n,id,Lb,n.stateNode)}catch(e){Ll(n,t,e)}else try{Te(n,rd,Lb,n.stateNode)}catch(e){Ll(n,t,e)}break;case 18:Lb!==null&&(Rb?(e=Lb,ad(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Tf(e)):ad(Lb,n.stateNode));break;case 4:s=Lb,c=Rb,Lb=n.stateNode.containerInfo,Rb=!0,wc(e,t,n),Lb=s,Rb=c;break;case 0:case 11:case 14:case 15:ec(Dy,n,t),jb||Qs(n,t,Oy),wc(e,t,n);break;case 1:jb||(lc(n,t),s=n.stateNode,typeof s.componentWillUnmount==`function`&&oc(n,t,s)),wc(e,t,n);break;case 21:wc(e,t,n);break;case 22:jb=(s=jb)||n.memoizedState!==null,wc(e,t,n),jb=s;break;default:wc(e,t,n)}(n.mode&Gg)!==Ug&&0<=F_&&0<=I_&&(R_||.05<P_)&&ar(n,F_,I_,P_,L_),bi(r),Si(i),L_=a,R_=o}function Ec(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Te(t,Ed,e)}catch(e){Ll(t,t.return,e)}}}function Dc(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Te(t,Dd,e)}catch(e){Ll(t,t.return,e)}}function Oc(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Nb),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Nb),t;default:throw Error(`Unexpected Suspense handler tag (`+e.tag+`). This is a bug in React.`)}}function kc(e,t){var n=Oc(e);t.forEach(function(t){if(!n.has(t)){if(n.add(t),Rp)if(Fb!==null&&Ib!==null)ql(Ib,Fb);else throw Error(`Expected finished root and lanes to be set. This is a bug in React.`);var r=Hl.bind(null,e,t);t.then(r,r)}})}function Ac(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=e,a=t,o=n[r],s=yi(),c=a;a:for(;c!==null;){switch(c.tag){case 27:if(nd(c.type)){Lb=c.stateNode,Rb=!1;break a}break;case 5:Lb=c.stateNode,Rb=!1;break a;case 3:case 4:Lb=c.stateNode.containerInfo,Rb=!0;break a}c=c.return}if(Lb===null)throw Error(`Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.`);Tc(i,a,o),Lb=null,Rb=!1,(o.mode&Gg)!==Ug&&0<=F_&&0<=I_&&.05<I_-F_&&tr(o,F_,I_,`Unmount`),bi(s),i=o,a=i.alternate,a!==null&&(a.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)jc(t,e),t=t.sibling}function jc(e,t){var n=yi(),r=xi(),i=Ci(),a=wi(),o=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Ac(t,e),Mc(e),s&4&&(ec(Dy|Ey,e,e.return),$s(Dy|Ey,e),Qs(e,e.return,Oy|Ey));break;case 1:if(Ac(t,e),Mc(e),s&512&&(jb||o===null||lc(o,o.return)),s&64&&Ab&&(s=e.updateQueue,s!==null&&(o=s.callbacks,o!==null))){var c=s.shared.hiddenCallbacks;s.shared.hiddenCallbacks=c===null?o:c.concat(o)}break;case 26:if(c=zb,Ac(t,e),Mc(e),s&512&&(jb||o===null||lc(o,o.return)),s&4){var l=o===null?null:o.memoizedState;if(s=e.memoizedState,o===null)if(s===null)if(e.stateNode===null){a:{s=e.type,o=e.memoizedProps,c=c.ownerDocument||c;b:switch(s){case`title`:l=c.getElementsByTagName(`title`)[0],(!l||l[rm]||l[Xp]||l.namespaceURI===Bm||l.hasAttribute(`itemprop`))&&(l=c.createElement(s),c.head.insertBefore(l,c.querySelector(`head > title`))),Ou(l,s,o),l[Xp]=e,it(l),s=l;break a;case`link`:var u=Gd(`link`,`href`,c).get(s+(o.href||``));if(u){for(var d=0;d<u.length;d++)if(l=u[d],l.getAttribute(`href`)===(o.href==null||o.href===``?null:o.href)&&l.getAttribute(`rel`)===(o.rel==null?null:o.rel)&&l.getAttribute(`title`)===(o.title==null?null:o.title)&&l.getAttribute(`crossorigin`)===(o.crossOrigin==null?null:o.crossOrigin)){u.splice(d,1);break b}}l=c.createElement(s),Ou(l,s,o),c.head.appendChild(l);break;case`meta`:if(u=Gd(`meta`,`content`,c).get(s+(o.content||``))){for(d=0;d<u.length;d++)if(l=u[d],Ae(o.content,`content`),l.getAttribute(`content`)===(o.content==null?null:``+o.content)&&l.getAttribute(`name`)===(o.name==null?null:o.name)&&l.getAttribute(`property`)===(o.property==null?null:o.property)&&l.getAttribute(`http-equiv`)===(o.httpEquiv==null?null:o.httpEquiv)&&l.getAttribute(`charset`)===(o.charSet==null?null:o.charSet)){u.splice(d,1);break b}}l=c.createElement(s),Ou(l,s,o),c.head.appendChild(l);break;default:throw Error(`getNodesForType encountered a type it did not expect: "`+s+`". This is a bug in React.`)}l[Xp]=e,it(l),s=l}e.stateNode=s}else Kd(c,e.type,e.stateNode);else e.stateNode=Vd(c,s,e.memoizedProps);else l===s?s===null&&e.stateNode!==null&&pc(e,e.memoizedProps,o.memoizedProps):(l===null?o.stateNode!==null&&(o=o.stateNode,o.parentNode.removeChild(o)):l.count--,s===null?Kd(c,e.type,e.stateNode):Vd(c,s,e.memoizedProps))}break;case 27:Ac(t,e),Mc(e),s&512&&(jb||o===null||lc(o,o.return)),o!==null&&s&4&&pc(e,e.memoizedProps,o.memoizedProps);break;case 5:if(Ac(t,e),Mc(e),s&512&&(jb||o===null||lc(o,o.return)),e.flags&32){c=e.stateNode;try{Te(e,$u,c)}catch(t){Ll(e,e.return,t)}}s&4&&e.stateNode!=null&&(c=e.memoizedProps,pc(e,c,o===null?c:o.memoizedProps)),s&1024&&(Mb=!0,e.type!==`form`&&console.error(`Unexpected host component type. Expected a form. This is a bug in React.`));break;case 6:if(Ac(t,e),Mc(e),s&4){if(e.stateNode===null)throw Error(`This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.`);s=e.memoizedProps,o=o===null?s:o.memoizedProps,c=e.stateNode;try{Te(e,ed,c,o,s)}catch(t){Ll(e,e.return,t)}}break;case 3:if(c=hi(),DC=null,l=zb,zb=jd(t.containerInfo),Ac(t,e),zb=l,Mc(e),s&4&&o!==null&&o.memoizedState.isDehydrated)try{Te(e,Td,t.containerInfo)}catch(t){Ll(e,e.return,t)}Mb&&(Mb=!1,Nc(e)),t.effectDuration+=gi(c);break;case 4:s=zb,zb=jd(e.stateNode.containerInfo),Ac(t,e),Mc(e),zb=s;break;case 12:s=hi(),Ac(t,e),Mc(e),e.stateNode.effectDuration+=_i(s);break;case 31:Ac(t,e),Mc(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,kc(e,s)));break;case 13:Ac(t,e),Mc(e),e.child.flags&8192&&e.memoizedState!==null!=(o!==null&&o.memoizedState!==null)&&(jx=Ep()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,kc(e,s)));break;case 22:c=e.memoizedState!==null;var f=o!==null&&o.memoizedState!==null,p=Ab,m=jb;if(Ab=p||c,jb=m||f,Ac(t,e),jb=m,Ab=p,f&&!c&&!p&&!m&&(e.mode&Gg)!==Ug&&0<=F_&&0<=I_&&.05<I_-F_&&nr(e,F_,I_),Mc(e),s&8192)a:for(t=e.stateNode,t._visibility=c?t._visibility&~Fg:t._visibility|Fg,!c||o===null||f||Ab||jb||(Ic(e),(e.mode&Gg)!==Ug&&0<=F_&&0<=I_&&.05<I_-F_&&tr(e,F_,I_,`Disconnect`)),o=null,t=e;;){if(t.tag===5||t.tag===26){if(o===null){f=o=t;try{l=f.stateNode,c?Te(f,cd,l):Te(f,dd,f.stateNode,f.memoizedProps)}catch(e){Ll(f,f.return,e)}}}else if(t.tag===6){if(o===null){f=t;try{u=f.stateNode,c?Te(f,ld,u):Te(f,fd,u,f.memoizedProps)}catch(e){Ll(f,f.return,e)}}}else if(t.tag===18){if(o===null){f=t;try{d=f.stateNode,c?Te(f,sd,d):Te(f,ud,f.stateNode)}catch(e){Ll(f,f.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;o===t&&(o=null),t=t.return}o===t&&(o=null),t.sibling.return=t.return,t=t.sibling}s&4&&(s=e.updateQueue,s!==null&&(o=s.retryQueue,o!==null&&(s.retryQueue=null,kc(e,o))));break;case 19:Ac(t,e),Mc(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,kc(e,s)));break;case 30:break;case 21:break;default:Ac(t,e),Mc(e)}(e.mode&Gg)!==Ug&&0<=F_&&0<=I_&&((R_||.05<P_)&&ar(e,F_,I_,P_,L_),e.alternate===null&&e.return!==null&&e.return.alternate!==null&&.05<I_-F_&&(bc(e.return.alternate,e.return)||tr(e,F_,I_,`Mount`))),bi(n),Si(r),L_=i,R_=a}function Mc(e){var t=e.flags;if(t&2){try{Te(e,vc,e)}catch(t){Ll(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Nc(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Nc(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Pc(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Sc(e,t.alternate,t),t=t.sibling}function Fc(e){var t=yi(),n=xi(),r=Ci(),i=wi();switch(e.tag){case 0:case 11:case 14:case 15:Qs(e,e.return,Oy),Ic(e);break;case 1:lc(e,e.return);var a=e.stateNode;typeof a.componentWillUnmount==`function`&&oc(e,e.return,a),Ic(e);break;case 27:Te(e,Ad,e.stateNode);case 26:case 5:lc(e,e.return),Ic(e);break;case 22:e.memoizedState===null&&Ic(e);break;case 30:Ic(e);break;default:Ic(e)}(e.mode&Gg)!==Ug&&0<=F_&&0<=I_&&(R_||.05<P_)&&ar(e,F_,I_,P_,L_),bi(t),Si(n),L_=r,R_=i}function Ic(e){for(e=e.child;e!==null;)Fc(e),e=e.sibling}function Lc(e,t,n,r){var i=yi(),a=xi(),o=Ci(),s=wi(),c=n.flags;switch(n.tag){case 0:case 11:case 15:Rc(e,n,r),Zs(n,Oy);break;case 1:if(Rc(e,n,r),t=n.stateNode,typeof t.componentDidMount==`function`&&Te(n,Fv,n,t),t=n.updateQueue,t!==null){e=n.stateNode;try{Te(n,fa,t,e)}catch(e){Ll(n,n.return,e)}}r&&c&64&&rc(n),cc(n,n.return);break;case 27:yc(n);case 26:case 5:Rc(e,n,r),r&&t===null&&c&4&&fc(n),cc(n,n.return);break;case 12:if(r&&c&4){c=hi(),Rc(e,n,r),r=n.stateNode,r.effectDuration+=_i(c);try{Te(n,uc,n,t,k_,r.effectDuration)}catch(e){Ll(n,n.return,e)}}else Rc(e,n,r);break;case 31:Rc(e,n,r),r&&c&4&&Ec(e,n);break;case 13:Rc(e,n,r),r&&c&4&&Dc(e,n);break;case 22:n.memoizedState===null&&Rc(e,n,r),cc(n,n.return);break;case 30:break;default:Rc(e,n,r)}(n.mode&Gg)!==Ug&&0<=F_&&0<=I_&&(R_||.05<P_)&&ar(n,F_,I_,P_,L_),bi(i),Si(a),L_=o,R_=s}function Rc(e,t,n){for(n&&=!!(t.subtreeFlags&8772),t=t.child;t!==null;)Lc(e,t.alternate,t,n),t=t.sibling}function zc(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&di(e),n!=null&&fi(n))}function Bc(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(di(t),e!=null&&fi(e))}function Vc(e,t,n,r,i){if(t.subtreeFlags&10256||t.actualDuration!==0&&(t.alternate===null||t.alternate.child!==t.child))for(t=t.child;t!==null;){var a=t.sibling;Hc(e,t,n,r,a===null?i:a.actualStartTime),t=a}}function Hc(e,t,n,r,i){var a=yi(),o=xi(),s=Ci(),c=wi(),l=kg,u=t.flags;switch(t.tag){case 0:case 11:case 15:(t.mode&Gg)!==Ug&&0<t.actualStartTime&&t.flags&1&&rr(t,t.actualStartTime,i,Bb,n),Vc(e,t,n,r,i),u&2048&&tc(t,ky|Ey);break;case 1:(t.mode&Gg)!==Ug&&0<t.actualStartTime&&(t.flags&128?ir(t,t.actualStartTime,i,[]):t.flags&1&&rr(t,t.actualStartTime,i,Bb,n)),Vc(e,t,n,r,i);break;case 3:var d=hi(),f=Bb;Bb=t.alternate!==null&&t.alternate.memoizedState.isDehydrated&&!(t.flags&256),Vc(e,t,n,r,i),Bb=f,u&2048&&(n=null,t.alternate!==null&&(n=t.alternate.memoizedState.cache),r=t.memoizedState.cache,r!==n&&(di(r),n!=null&&fi(n))),e.passiveEffectDuration+=gi(d);break;case 12:if(u&2048){u=hi(),Vc(e,t,n,r,i),e=t.stateNode,e.passiveEffectDuration+=_i(u);try{Te(t,dc,t,t.alternate,k_,e.passiveEffectDuration)}catch(e){Ll(t,t.return,e)}}else Vc(e,t,n,r,i);break;case 31:u=Bb,d=t.alternate===null?null:t.alternate.memoizedState,f=t.memoizedState,d!==null&&f===null?(f=t.deletions,f!==null&&0<f.length&&f[0].tag===18?(Bb=!1,d=d.hydrationErrors,d!==null&&ir(t,t.actualStartTime,i,d)):Bb=!0):Bb=!1,Vc(e,t,n,r,i),Bb=u;break;case 13:u=Bb,d=t.alternate===null?null:t.alternate.memoizedState,f=t.memoizedState,d===null||d.dehydrated===null||f!==null&&f.dehydrated!==null?Bb=!1:(f=t.deletions,f!==null&&0<f.length&&f[0].tag===18?(Bb=!1,d=d.hydrationErrors,d!==null&&ir(t,t.actualStartTime,i,d)):Bb=!0),Vc(e,t,n,r,i),Bb=u;break;case 23:break;case 22:f=t.stateNode,d=t.alternate,t.memoizedState===null?f._visibility&Ig?Vc(e,t,n,r,i):(f._visibility|=Ig,Uc(e,t,n,r,!!(t.subtreeFlags&10256)||t.actualDuration!==0&&(t.alternate===null||t.alternate.child!==t.child),i),(t.mode&Gg)===Ug||Bb||(e=t.actualStartTime,0<=e&&.05<i-e&&nr(t,e,i),0<=F_&&0<=I_&&.05<I_-F_&&nr(t,F_,I_))):f._visibility&Ig?Vc(e,t,n,r,i):Gc(e,t,n,r,i),u&2048&&zc(d,t);break;case 24:Vc(e,t,n,r,i),u&2048&&Bc(t.alternate,t);break;default:Vc(e,t,n,r,i)}(t.mode&Gg)!==Ug&&((e=!Bb&&t.alternate===null&&t.return!==null&&t.return.alternate!==null)&&(n=t.actualStartTime,0<=n&&.05<i-n&&tr(t,n,i,`Mount`)),0<=F_&&0<=I_&&((R_||.05<P_)&&ar(t,F_,I_,P_,L_),e&&.05<I_-F_&&tr(t,F_,I_,`Mount`))),bi(a),Si(o),L_=s,R_=c,kg=l}function Uc(e,t,n,r,i,a){for(i&&=!!(t.subtreeFlags&10256)||t.actualDuration!==0&&(t.alternate===null||t.alternate.child!==t.child),t=t.child;t!==null;){var o=t.sibling;Wc(e,t,n,r,i,o===null?a:o.actualStartTime),t=o}}function Wc(e,t,n,r,i,a){var o=yi(),s=xi(),c=Ci(),l=wi(),u=kg;i&&(t.mode&Gg)!==Ug&&0<t.actualStartTime&&t.flags&1&&rr(t,t.actualStartTime,a,Bb,n);var d=t.flags;switch(t.tag){case 0:case 11:case 15:Uc(e,t,n,r,i,a),tc(t,ky);break;case 23:break;case 22:var f=t.stateNode;t.memoizedState===null?(f._visibility|=Ig,Uc(e,t,n,r,i,a)):f._visibility&Ig?Uc(e,t,n,r,i,a):Gc(e,t,n,r,a),i&&d&2048&&zc(t.alternate,t);break;case 24:Uc(e,t,n,r,i,a),i&&d&2048&&Bc(t.alternate,t);break;default:Uc(e,t,n,r,i,a)}(t.mode&Gg)!==Ug&&0<=F_&&0<=I_&&(R_||.05<P_)&&ar(t,F_,I_,P_,L_),bi(o),Si(s),L_=c,R_=l,kg=u}function Gc(e,t,n,r,i){if(t.subtreeFlags&10256||t.actualDuration!==0&&(t.alternate===null||t.alternate.child!==t.child))for(var a=t.child;a!==null;){t=a.sibling;var o=e,s=n,c=r,l=t===null?i:t.actualStartTime,u=kg;(a.mode&Gg)!==Ug&&0<a.actualStartTime&&a.flags&1&&rr(a,a.actualStartTime,l,Bb,s);var d=a.flags;switch(a.tag){case 22:Gc(o,a,s,c,l),d&2048&&zc(a.alternate,a);break;case 24:Gc(o,a,s,c,l),d&2048&&Bc(a.alternate,a);break;default:Gc(o,a,s,c,l)}kg=u,a=t}}function Kc(e,t,n){if(e.subtreeFlags&Vb)for(e=e.child;e!==null;)qc(e,t,n),e=e.sibling}function qc(e,t,n){switch(e.tag){case 26:Kc(e,t,n),e.flags&Vb&&e.memoizedState!==null&&Yd(n,zb,e.memoizedState,e.memoizedProps);break;case 5:Kc(e,t,n);break;case 3:case 4:var r=zb;zb=jd(e.stateNode.containerInfo),Kc(e,t,n),zb=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Vb,Vb=16777216,Kc(e,t,n),Vb=r):Kc(e,t,n));break;default:Kc(e,t,n)}}function Jc(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Yc(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n],i=yi();Pb=r,Qc(r,e),(r.mode&Gg)!==Ug&&0<=F_&&0<=I_&&.05<I_-F_&&tr(r,F_,I_,`Unmount`),bi(i)}Jc(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)F(e),e=e.sibling}function F(e){var t=yi(),n=xi(),r=Ci(),i=wi();switch(e.tag){case 0:case 11:case 15:Yc(e),e.flags&2048&&nc(e,e.return,ky|Ey);break;case 3:var a=hi();Yc(e),e.stateNode.passiveEffectDuration+=gi(a);break;case 12:a=hi(),Yc(e),e.stateNode.passiveEffectDuration+=_i(a);break;case 22:a=e.stateNode,e.memoizedState!==null&&a._visibility&Ig&&(e.return===null||e.return.tag!==13)?(a._visibility&=~Ig,Xc(e),(e.mode&Gg)!==Ug&&0<=F_&&0<=I_&&.05<I_-F_&&tr(e,F_,I_,`Disconnect`)):Yc(e);break;default:Yc(e)}(e.mode&Gg)!==Ug&&0<=F_&&0<=I_&&(R_||.05<P_)&&ar(e,F_,I_,P_,L_),bi(t),Si(n),R_=i,L_=r}function Xc(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n],i=yi();Pb=r,Qc(r,e),(r.mode&Gg)!==Ug&&0<=F_&&0<=I_&&.05<I_-F_&&tr(r,F_,I_,`Unmount`),bi(i)}Jc(e)}for(e=e.child;e!==null;)Zc(e),e=e.sibling}function Zc(e){var t=yi(),n=xi(),r=Ci(),i=wi();switch(e.tag){case 0:case 11:case 15:nc(e,e.return,ky),Xc(e);break;case 22:var a=e.stateNode;a._visibility&Ig&&(a._visibility&=~Ig,Xc(e));break;default:Xc(e)}(e.mode&Gg)!==Ug&&0<=F_&&0<=I_&&(R_||.05<P_)&&ar(e,F_,I_,P_,L_),bi(t),Si(n),R_=i,L_=r}function Qc(e,t){for(;Pb!==null;){var n=Pb,r=n,i=t,a=yi(),o=xi(),s=Ci(),c=wi();switch(r.tag){case 0:case 11:case 15:nc(r,i,ky);break;case 23:case 22:r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(i=r.memoizedState.cachePool.pool,i!=null&&di(i));break;case 24:fi(r.memoizedState.cache)}if((r.mode&Gg)!==Ug&&0<=F_&&0<=I_&&(R_||.05<P_)&&ar(r,F_,I_,P_,L_),bi(a),Si(o),R_=c,L_=s,r=n.child,r!==null)r.return=n,Pb=r;else a:for(n=e;Pb!==null;){if(r=Pb,a=r.sibling,o=r.return,Cc(r),r===n){Pb=null;break a}if(a!==null){a.return=o,Pb=a;break a}Pb=o}}}function $c(){Wb.forEach(function(e){return e()})}function el(){var e=typeof IS_REACT_ACT_ENVIRONMENT<`u`?IS_REACT_ACT_ENVIRONMENT:void 0;return e||L.actQueue===null||console.error(`The current testing environment is not configured to support act(...)`),e}function tl(e){if((nx&qb)!==Kb&&ax!==0)return ax&-ax;var t=L.T;return t===null?Ze():(t._updatedFibers||=new Set,t._updatedFibers.add(e),au())}function nl(){if(Ex===0)if(!(ax&536870912)||c_){var e=Up;Up<<=1,!(Up&3932160)&&(Up=262144),Ex=e}else Ex=536870912;return e=by.current,e!==null&&(e.flags|=32),Ex}function rl(e,t,n){if(mS&&console.error(`useInsertionEffect must not schedule updates.`),lS&&(uS=!0),(e===rx&&(gx===cx||gx===hx)||e.cancelPendingCommit!==null)&&(dl(e,0),sl(e,ax,Ex,!1)),He(e,n),(nx&qb)!==Kb&&e===rx){if(bp)switch(t.tag){case 0:case 11:case 15:e=ix&&w(ix)||`Unknown`,_S.has(e)||(_S.add(e),t=w(t)||`Unknown`,console.error("Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render",t,e,e));break;case 1:gS||=(console.error("Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."),!0)}}else Rp&&Je(e,t,n),Yl(t),e===rx&&((nx&qb)===Kb&&(wx|=n),Sx===$b&&sl(e,ax,Ex,!1)),Xl(e)}function il(e,t,n){if((nx&(qb|Jb))!==Kb)throw Error(`Should not already be working.`);if(ax!==0&&ix!==null){var r=ix,i=Ep();switch(uv){case lx:case cx:var a=dv;Tg&&((r=r._debugTask)?r.run(console.timeStamp.bind(console,`Suspended`,a,i,Eg,void 0,`primary-light`)):console.timeStamp(`Suspended`,a,i,Eg,void 0,`primary-light`));break;case hx:a=dv,Tg&&((r=r._debugTask)?r.run(console.timeStamp.bind(console,`Action`,a,i,Eg,void 0,`primary-light`)):console.timeStamp(`Action`,a,i,Eg,void 0,`primary-light`));break;default:Tg&&(r=i-dv,3>r||console.timeStamp(`Blocked`,dv,i,Eg,void 0,5>r?`primary-light`:10>r?`primary`:100>r?`primary-dark`:`error`))}}a=(n=!n&&!(t&127)&&(t&e.expiredLanes)===0||Re(e,t))?bl(e,t):vl(e,t,!0);var o=n;do{if(a===Yb){yx&&!n&&sl(e,t,0,!1),t=gx,dv=w_(),uv=t;break}if(r=Ep(),i=e.current.alternate,o&&!ol(i)){er(t),i=O_,a=r,!Tg||a<=i||(Lx?Lx.run(console.timeStamp.bind(console,`Teared Render`,i,a,Og,Dg,`error`)):console.timeStamp(`Teared Render`,i,a,Og,Dg,`error`)),ul(t,r),a=vl(e,t,!1),o=!1;continue}if(a===Zb){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){er(t),ur(O_,r,t,Lx),ul(t,r),t=s;a:{r=e,a=o,o=Ox;var c=r.current.memoizedState.isDehydrated;if(c&&(dl(r,s).flags|=256),s=vl(r,s,!1),s!==Zb){if(bx&&!c){r.errorRecoveryDisabledLanes|=a,wx|=a,a=$b;break a}r=kx,kx=o,r!==null&&(kx===null?kx=r:kx.push.apply(kx,r))}a=s}if(o=!1,a!==Zb)continue;r=Ep()}}if(a===Xb){er(t),ur(O_,r,t,Lx),ul(t,r),dl(e,0),sl(e,t,0,!0);break}a:{switch(n=e,a){case Yb:case Xb:throw Error(`Root did not complete. This is a bug in React.`);case $b:if((t&4194048)!==t)break;case ex:er(t),sr(O_,r,t,Lx),ul(t,r),i=t,i&127?J_=r:i&4194048&&(av=r),sl(n,t,Ex,!vx);break a;case Zb:kx=null;break;case Qb:case tx:break;default:throw Error(`Unknown root exit status.`)}if(L.actQueue!==null)Ol(n,i,t,kx,Ix,Ax,Ex,wx,Dx,a,null,null,O_,r);else{if((t&62914560)===t&&(o=jx+Nx-Ep(),10<o)){if(sl(n,t,Ex,!vx),Le(n,0,!0)!==0)break a;Qx=t,n.timeoutHandle=fC(al.bind(null,n,i,kx,Ix,Ax,t,Ex,wx,Dx,vx,a,`Throttled`,O_,r),o);break a}al(n,i,kx,Ix,Ax,t,Ex,wx,Dx,vx,a,null,O_,r)}}break}while(1);Xl(e)}function al(e,t,n,r,i,a,o,s,c,l,u,d,f,p){e.timeoutHandle=mC;var m=t.subtreeFlags,h=null;if((m&8192||(m&16785408)==16785408)&&(h={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:fn},qc(t,a,h),m=(a&62914560)===a?jx-Ep():(a&4194048)===a?Mx-Ep():0,m=Xd(h,m),m!==null)){Qx=a,e.cancelPendingCommit=m(Ol.bind(null,e,t,a,n,r,i,o,s,c,u,h,h.waitingForViewTransition?`Waiting for the previous Animation`:0<h.count?0<h.imgCount?`Suspended on CSS and Images`:`Suspended on CSS`:h.imgCount===1?`Suspended on an Image`:0<h.imgCount?`Suspended on Images`:null,f,p)),sl(e,a,o,!l);return}Ol(e,t,a,n,r,i,o,s,c,u,h,d,f,p)}function ol(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Jh(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function sl(e,t,n,r){t&=~Tx,t&=~wx,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-zp(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&We(e,n,t)}function cl(){return(nx&(qb|Jb))!==Kb||(Zl(0,!1),!1)}function ll(){if(ix!==null){if(gx===ox)var e=ix.return;else e=ix,$r(),Pa(e),ey=null,ty=0,e=ix;for(;e!==null;)Ys(e.alternate,e),e=e.return;ix=null}}function ul(e,t){e&127&&(z_=t),e&4194048&&(Y_=t),e&62914560&&(ov=t),e&2080374784&&(sv=t)}function dl(e,t){Tg&&(console.timeStamp(`Blocking Track`,.003,.003,`Blocking`,Dg,`primary-light`),console.timeStamp(`Transition Track`,.003,.003,`Transition`,Dg,`primary-light`),console.timeStamp(`Suspense Track`,.003,.003,`Suspense`,Dg,`primary-light`),console.timeStamp(`Idle Track`,.003,.003,`Idle`,Dg,`primary-light`));var n=O_;if(O_=w_(),ax!==0&&0<n){if(er(ax),Sx===Qb||Sx===$b)sr(n,O_,t,Lx);else{var r=O_,i=Lx;if(Tg&&!(r<=n)){var a=(t&738197653)===t?`tertiary-dark`:`primary-dark`,o=(t&536870912)===t?`Prewarm`:(t&201326741)===t?`Interrupted Hydration`:`Interrupted Render`;i?i.run(console.timeStamp.bind(console,o,n,r,Og,Dg,a)):console.timeStamp(o,n,r,Og,Dg,a)}}ul(ax,O_)}if(n=Lx,Lx=null,t&127){Lx=V_,i=0<=B_&&B_<z_?z_:B_,r=0<=G_&&G_<z_?z_:G_,a=0<=r?r:0<=i?i:O_,0<=J_?(er(2),cr(J_,a,t,n)):cv&127&&(er(2),pr(z_,a,lv)),n=i;var s=r,c=K_,l=0<q_,u=H_===E_,d=H_===D_;if(i=O_,r=V_,a=U_,o=W_,Tg){if(Og=`Blocking`,0<n?n>i&&(n=i):n=i,0<s?s>n&&(s=n):s=n,c!==null&&n>s){var f=l?`secondary-light`:`warning`;r?r.run(console.timeStamp.bind(console,l?`Consecutive`:`Event: `+c,s,n,Og,Dg,f)):console.timeStamp(l?`Consecutive`:`Event: `+c,s,n,Og,Dg,f)}i>n&&(s=u?`error`:(t&738197653)===t?`tertiary-light`:`primary-light`,u=d?`Promise Resolved`:u?`Cascading Update`:5<i-n?`Update Blocked`:`Update`,d=[],o!=null&&d.push([`Component name`,o]),a!=null&&d.push([`Method name`,a]),n={start:n,end:i,detail:{devtools:{properties:d,track:Og,trackGroup:Dg,color:s}}},r?r.run(performance.measure.bind(performance,u,n)):performance.measure(u,n))}B_=-1.1,H_=0,W_=U_=null,J_=-1.1,q_=G_,G_=-1.1,z_=w_()}if(t&4194048&&(Lx=$_,i=0<=X_&&X_<Y_?Y_:X_,n=0<=Z_&&Z_<Y_?Y_:Z_,r=0<=nv&&nv<Y_?Y_:nv,a=0<=r?r
157:0<=n?n:O_,0<=av?(er(256),cr(av,a,t,Lx)):cv&4194048&&(er(256),pr(Y_,a,lv)),d=r,s=rv,c=0<iv,l=Q_===D_,a=O_,r=$_,o=ev,u=tv,Tg&&(Og=`Transition`,0<n?n>a&&(n=a):n=a,0<i?i>n&&(i=n):i=n,0<d?d>i&&(d=i):d=i,i>d&&s!==null&&(f=c?`secondary-light`:`warning`,r?r.run(console.timeStamp.bind(console,c?`Consecutive`:`Event: `+s,d,i,Og,Dg,f)):console.timeStamp(c?`Consecutive`:`Event: `+s,d,i,Og,Dg,f)),n>i&&(r?r.run(console.timeStamp.bind(console,`Action`,i,n,Og,Dg,`primary-dark`)):console.timeStamp(`Action`,i,n,Og,Dg,`primary-dark`)),a>n&&(i=l?`Promise Resolved`:5<a-n?`Update Blocked`:`Update`,d=[],u!=null&&d.push([`Component name`,u]),o!=null&&d.push([`Method name`,o]),n={start:n,end:a,detail:{devtools:{properties:d,track:Og,trackGroup:Dg,color:`primary-light`}}},r?r.run(performance.measure.bind(performance,i,n)):performance.measure(i,n))),Z_=X_=-1.1,Q_=0,av=-1.1,iv=nv,nv=-1.1,Y_=w_()),t&62914560&&cv&62914560&&(er(4194304),pr(ov,O_,lv)),t&2080374784&&cv&2080374784&&(er(268435456),pr(sv,O_,lv)),n=e.timeoutHandle,n!==mC&&(e.timeoutHandle=mC,pC(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Qx=0,ll(),rx=e,ix=n=Er(e.current,null),ax=t,gx=ox,_x=null,vx=!1,yx=Re(e,t),bx=!1,Sx=Yb,Dx=Ex=Tx=wx=Cx=0,kx=Ox=null,Ax=!1,t&8&&(t|=t&32),r=e.entangledLanes,r!==0)for(e=e.entanglements,r&=t;0<r;)i=31-zp(r),a=1<<i,t|=e[i],r&=~a;return xx=t,mr(),e=mg(),1e3<e-fg&&(L.recentlyCreatedOwnerStacks=0,fg=e),bv.discardPendingWarnings(),n}function fl(e,t){Iy=null,L.H=Xy,L.getCurrentStack=null,bp=!1,yp=null,t===Jv||t===Xv?(t=Hi(),gx=lx):t===Yv?(t=Hi(),gx=ux):gx=t===vb?mx:typeof t==`object`&&t&&typeof t.then==`function`?fx:sx,_x=t;var n=ix;n===null?(Sx=Xb,ss(e,Pr(t,e.current))):n.mode&Gg&&Ei(n)}function pl(){var e=by.current;return e===null?!0:(ax&4194048)===ax?xy===null:(ax&62914560)===ax||ax&536870912?e===xy:!1}function ml(){var e=L.H;return L.H=Xy,e===null?Xy:e}function hl(){var e=L.A;return L.A=Hb,e}function gl(e){Lx===null&&(Lx=e._debugTask==null?null:e._debugTask)}function _l(){Sx=$b,vx||(ax&4194048)!==ax&&by.current!==null||(yx=!0),!(Cx&134217727)&&!(wx&134217727)||rx===null||sl(rx,ax,Ex,!1)}function vl(e,t,n){var r=nx;nx|=qb;var i=ml(),a=hl();if(rx!==e||ax!==t){if(Rp){var o=e.memoizedUpdaters;0<o.size&&(ql(e,ax),o.clear()),Ye(e,t)}Ix=null,dl(e,t)}t=!1,o=Sx;a:do try{if(gx!==ox&&ix!==null){var s=ix,c=_x;switch(gx){case mx:ll(),o=ex;break a;case lx:case cx:case hx:case fx:by.current===null&&(t=!0);var l=gx;if(gx=ox,_x=null,Tl(e,s,c,l),n&&yx){o=Yb;break a}break;default:l=gx,gx=ox,_x=null,Tl(e,s,c,l)}}yl(),o=Sx;break}catch(t){fl(e,t)}while(1);return t&&e.shellSuspendCounter++,$r(),nx=r,L.H=i,L.A=a,ix===null&&(rx=null,ax=0,mr()),o}function yl(){for(;ix!==null;)Sl(ix)}function bl(e,t){var n=nx;nx|=qb;var r=ml(),i=hl();if(rx!==e||ax!==t){if(Rp){var a=e.memoizedUpdaters;0<a.size&&(ql(e,ax),a.clear()),Ye(e,t)}Ix=null,Px=Ep()+Fx,dl(e,t)}else yx=Re(e,t);a:do try{if(gx!==ox&&ix!==null)b:switch(t=ix,a=_x,gx){case sx:gx=ox,_x=null,Tl(e,t,a,sx);break;case cx:case hx:if(zi(a)){gx=ox,_x=null,Cl(t);break}t=function(){gx!==cx&&gx!==hx||rx!==e||(gx=px),Xl(e)},a.then(t,t);break a;case lx:gx=px;break a;case ux:gx=dx;break a;case px:zi(a)?(gx=ox,_x=null,Cl(t)):(gx=ox,_x=null,Tl(e,t,a,px));break;case dx:var o=null;switch(ix.tag){case 26:o=ix.memoizedState;case 5:case 27:var s=ix;if(o?Jd(o):s.stateNode.complete){gx=ox,_x=null;var c=s.sibling;if(c!==null)ix=c;else{var l=s.return;l===null?ix=null:(ix=l,El(l))}break b}break;default:console.error(`Unexpected type of fiber triggered a suspensey commit. This is a bug in React.`)}gx=ox,_x=null,Tl(e,t,a,dx);break;case fx:gx=ox,_x=null,Tl(e,t,a,fx);break;case mx:ll(),Sx=ex;break a;default:throw Error(`Unexpected SuspendedReason. This is a bug in React.`)}L.actQueue===null?xl():yl();break}catch(t){fl(e,t)}while(1);return $r(),L.H=r,L.A=i,nx=n,ix===null?(rx=null,ax=0,mr(),Sx):Yb}function xl(){for(;ix!==null&&!wp();)Sl(ix)}function Sl(e){var t=e.alternate;(e.mode&Gg)===Ug?t=Te(e,Bs,t,e,xx):(Ti(e),t=Te(e,Bs,t,e,xx),Ei(e)),e.memoizedProps=e.pendingProps,t===null?El(e):ix=t}function Cl(e){var t=Te(e,wl,e);e.memoizedProps=e.pendingProps,t===null?El(e):ix=t}function wl(e){var t=e.alternate,n=(e.mode&Gg)!==Ug;switch(n&&Ti(e),e.tag){case 15:case 0:t=ws(t,e,e.pendingProps,e.type,void 0,ax);break;case 11:t=ws(t,e,e.pendingProps,e.type.render,e.ref,ax);break;case 5:Pa(e);default:Ys(t,e),e=ix=Dr(e,xx),t=Bs(t,e,xx)}return n&&Ei(e),t}function Tl(e,t,n,r){$r(),Pa(t),ey=null,ty=0;var i=t.return;try{if(fs(e,i,t,n,ax)){Sx=Xb,ss(e,Pr(n,e.current)),ix=null;return}}catch(t){if(i!==null)throw ix=i,t;Sx=Xb,ss(e,Pr(n,e.current)),ix=null;return}t.flags&32768?(c_||r===sx?e=!0:yx||ax&536870912?e=!1:(vx=e=!0,(r===cx||r===hx||r===lx||r===fx)&&(r=by.current,r!==null&&r.tag===13&&(r.flags|=16384))),Dl(t,e)):El(t)}function El(e){var t=e;do{if(t.flags&32768){Dl(t,vx);return}var n=t.alternate;if(e=t.return,Ti(t),n=Te(t,qs,n,t,xx),(t.mode&Gg)!==Ug&&Di(t),n!==null){ix=n;return}if(t=t.sibling,t!==null){ix=t;return}ix=t=e}while(t!==null);Sx===Yb&&(Sx=tx)}function Dl(e,t){do{var n=Js(e.alternate,e);if(n!==null){n.flags&=32767,ix=n;return}if((e.mode&Gg)!==Ug){Di(e),n=e.actualDuration;for(var r=e.child;r!==null;)n+=r.actualDuration,r=r.sibling;e.actualDuration=n}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deleti
157ons=null),!t&&(e=e.sibling,e!==null)){ix=e;return}ix=e=n}while(e!==null);Sx=ex,ix=null}function Ol(e,t,n,r,i,a,o,s,c,l,u,d,f,p){e.cancelPendingCommit=null;do Pl();while(Yx!==Ux);if(bv.flushLegacyContextWarning(),bv.flushPendingUnsafeLifecycleWarnings(),(nx&(qb|Jb))!==Kb)throw Error(`Should not already be working.`);if(er(n),l===Zb?ur(f,p,n,Lx):r===null?or(f,p,n,Lx):lr(f,p,n,r,t!==null&&t.alternate!==null&&t.alternate.memoizedState.isDehydrated&&!!(t.flags&256),Lx),t!==null){if(n===0&&console.error(`finishedLanes should not be empty during a commit. This is a bug in React.`),t===e.current)throw Error(`Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.`);if(a=t.lanes|t.childLanes,a|=zg,Ue(e,n,a,o,s,c),e===rx&&(ix=rx=null,ax=0),Zx=t,Xx=e,Qx=n,$x=a,tS=i,nS=r,eS=p,rS=d,iS=zx,aS=null,t.actualDuration!==0||t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Jl(Ap,function(){return dC=window.event,iS===zx&&(iS=Vx),Fl(),null})):(e.callbackNode=null,e.callbackPriority=0),j_=null,k_=w_(),d!==null&&dr(p,k_,d,Lx),r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=L.T,L.T=null,i=Qf.p,Qf.p=Gp,o=nx,nx|=Jb;try{xc(e,t,n)}finally{nx=o,Qf.p=i,L.T=r}}Yx=Wx,kl(),Al(),jl()}}function kl(){if(Yx===Wx){Yx=Ux;var e=Xx,t=Zx,n=Qx,r=!!(t.flags&13878);if(t.subtreeFlags&13878||r){r=L.T,L.T=null;var i=Qf.p;Qf.p=Gp;var a=nx;nx|=Jb;try{Fb=n,Ib=e,vi(),jc(t,e),Ib=Fb=null,n=cC;var o=Gn(e.containerInfo),s=n.focusedElem,c=n.selectionRange;if(o!==s&&s&&s.ownerDocument&&Wn(s.ownerDocument.documentElement,s)){if(c!==null&&Kn(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Un(s,h),v=Un(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}QC=!!sC,cC=sC=null}finally{nx=a,Qf.p=i,L.T=r}}e.current=t,Yx=Gx}}function Al(){if(Yx===Gx){Yx=Ux;var e=aS;if(e!==null){k_=w_();var t=A_,n=k_;!Tg||n<=t||(lv?lv.run(console.timeStamp.bind(console,e,t,n,Og,Dg,`secondary-light`)):console.timeStamp(e,t,n,Og,Dg,`secondary-light`))}e=Xx,t=Zx,n=Qx;var r=!!(t.flags&8772);if(t.subtreeFlags&8772||r){r=L.T,L.T=null;var i=Qf.p;Qf.p=Gp;var a=nx;nx|=Jb;try{Fb=n,Ib=e,vi(),Sc(e,t.alternate,t),Ib=Fb=null}finally{nx=a,Qf.p=i,L.T=r}}e=eS,t=rS,A_=w_(),e=t===null?e:k_,t=A_,n=iS===Bx,r=Lx,j_===null?!Tg||t<=e||(r?r.run(console.timeStamp.bind(console,n?`Commit Interrupted View Transition`:`Commit`,e,t,Og,Dg,n?`error`:`secondary-dark`)):console.timeStamp(n?`Commit Interrupted View Transition`:`Commit`,e,t,Og,Dg,n?`error`:`secondary-dark`)):fr(e,t,j_,!1,r),Yx=Kx}}function jl(){if(Yx===qx||Yx===Kx){if(Yx===qx){var e=A_;A_=w_();var t=A_,n=iS===Bx;!Tg||t<=e||(lv?lv.run(console.timeStamp.bind(console,n?`Interrupted View Transition`:`Starting Animation`,e,t,Og,Dg,n?`error`:`secondary-light`)):console.timeStamp(n?`Interrupted View Transition`:`Starting Animation`,e,t,Og,Dg,n?` error`:`secondary-light`)),iS!==Bx&&(iS=Hx)}Yx=Ux,Tp(),e=Xx;var r=Zx;t=Qx,n=nS;var i=r.actualDuration!==0||!!(r.subtreeFlags&10256)||!!(r.flags&10256);i?Yx=Jx:(Yx=Ux,Zx=Xx=null,Nl(e,e.pendingLanes),fS=0,pS=null);var a=e.pendingLanes;if(a===0&&(Rx=null),i||Gl(e),a=Xe(t),r=r.stateNode,Ip&&typeof Ip.onCommitFiberRoot==`function`)try{var o=(r.current.flags&128)==128;switch(a){case Gp:var s=Op;break;case Kp:s=kp;break;case qp:s=Ap;break;case Jp:s=Mp;break;default:s=Ap}Ip.onCommitFiberRoot(Fp,r,s,o)}catch(e){Lp||(Lp=!0,console.error(`React instrumentation encountered an error: %o`,e))}if(Rp&&e.memoizedUpdaters.clear(),$c(),n!==null){o=L.T,s=Qf.p,Qf.p=Gp,L.T=null;try{var c=e.onRecoverableError;for(r=0;r<n.length;r++){var l=n[r],u=Ml(l.stack);Te(l.source,c,l.value,u)}}finally{L.T=o,Qf.p=s}}Qx&3&&Pl(),Xl(e),a=e.pendingLanes,t&261930&&a&42?(pv=!0,e===cS?sS++:(sS=0,cS=e)):sS=0,i||ul(t,A_),Zl(0,!1)}}function Ml(e){return e={componentStack:e},Object.defineProperty(e,"digest",{get:function(){console.error(`You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.`)}}),e}function Nl(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,fi(t)))}function Pl(){return kl(),Al(),jl(),Fl()}function Fl(){if(Yx!==Jx)return!1;var e=Xx,t=$x;$x=0;var n=Xe(Qx),r=qp===0||qp>n?qp:n;n=L.T;var i=Qf.p;try{Qf.p=r,L.T=null;var a=tS;tS=null,r=Xx;var o=Qx;if(Yx=Ux,Zx=Xx=null,Qx=0,(nx&(qb|Jb))!==Kb)throw Error(`Cannot flush passive effects while already rendering.`);
vendor: 4,299 bytes, lines 157-170
157er(o),lS=!0,uS=!1;var s=0;if(j_=null,s=Ep(),iS===Hx)pr(A_,s,lv);else{var c=A_,l=s,u=iS===Vx;!Tg||l<=c||(Lx?Lx.run(console.timeStamp.bind(console,u?`Waiting for Paint`:`Waiting`,c,l,Og,Dg,`secondary-light`)):console.timeStamp(u?`Waiting for Paint`:`Waiting`,c,l,Og,Dg,`secondary-light`))}c=nx,nx|=Jb;var d=r.current;vi(),F(d);var f=r.current;d=eS,vi(),Hc(r,f,o,a,d),Gl(r),nx=c;var p=Ep();if(f=s,d=Lx,j_===null?!Tg||p<=f||(d?d.run(console.timeStamp.bind(console,`Remaining Effects`,f,p,Og,Dg,`secondary-dark`)):console.timeStamp(`Remaining Effects`,f,p,Og,Dg,`secondary-dark`)):fr(f,p,j_,!0,d),ul(o,p),Zl(0,!1),uS?r===pS?fS++:(fS=0,pS=r):fS=0,uS=lS=!1,Ip&&typeof Ip.onPostCommitFiberRoot==`function`)try{Ip.onPostCommitFiberRoot(Fp,r)}catch(e){Lp||(Lp=!0,console.error(`React instrumentation encountered an error: %o`,e))}var m=r.current.stateNode;return m.effectDuration=0,m.passiveEffectDuration=0,!0}finally{Qf.p=i,L.T=n,Nl(e,t)}}function Il(e,t,n){t=Pr(n,t),ki(t),t=ls(e.stateNode,t,2),e=oa(e,t,2),e!==null&&(He(e,2),Xl(e))}function Ll(e,t,n){if(mS=!1,e.tag===3)Il(e,e,n);else{for(;t!==null;){if(t.tag===3){Il(t,e,n);return}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(Rx===null||!Rx.has(r))){e=Pr(n,e),ki(e),n=us(2),r=oa(t,n,2),r!==null&&(ds(n,r,t,e),He(r,2),Xl(r));return}}t=t.return}console.error(`Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.
158
159Error message:
160
161%s`,n)}}function Rl(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Gb;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(bx=!0,i.add(n),r=zl.bind(null,e,t,n),Rp&&ql(e,n),t.then(r,r))}function zl(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,n&127?0>B_&&(z_=B_=w_(),V_=T_(`Promise Resolved`),H_=D_):n&4194048&&0>Z_&&(Y_=Z_=w_(),$_=T_(`Promise Resolved`),Q_=D_),el()&&L.actQueue===null&&console.error(`A suspended resource finished loading inside a test, but the event was not wrapped in act(...).
162
163When testing, code that resolves suspended data should be wrapped into act(...):
164
165act(() => {
166  /* finish loading suspended data */
167});
168/* assert on the output */
169
170This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act`),rx===e&&(ax&n)===n&&(Sx===$b||Sx===Qb&&(ax&62914560)===ax&&Ep()-jx<Nx?(nx&qb)===Kb&&dl(e,0):Tx|=n,Dx===ax&&(Dx=0)),Xl(e)}function Bl(e,t){t===0&&(t=Be()),e=_r(e,t),e!==null&&(He(e,t),Xl(e))}function Vl(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bl(e,n)}function Hl(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(`Pinged unknown suspense boundary type. This is probably a bug in React.`)}r!==null&&r.delete(t),Bl(e,n)}function Ul(e,t,n){if(t.subtreeFlags&67117056)for(t=t.child;t!==null;){var r=e,i=t,a=i.type===Rf;a=n||a,i.tag===22?i.memoizedState===null&&(a&&i.flags&8192?Te(i,Wl,r,i):i.subtreeFlags&67108864&&Te(i,Ul,r,i,a)):i.flags&67108864?a&&Te(i,Wl,r,i):Ul(r,i,a),t=t.sibling}}function Wl(e,t){Pe(!0);try{Fc(t),Zc(t),Lc(e,t.alternate,t,!1),Wc(e,t,0,null,!1,0)}finally{Pe(!1)}}function Gl(e){var t=!0;e.current.mode&(Kg|qg)||(t=!1),Ul(e,e.current,t)}function Kl(e){if((nx&qb)===Kb){var t=e.tag;if(t===3||t===1||t===0||t===11||t===14||t===15){if(t=w(e)||`ReactComponent`,hS!==null){if(hS.has(t))return;hS.add(t)}else hS=new Set([t]);Te(e,function(){console.error(`Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously tries to update the component. Move this work to useEffect instead.`)})}}}function ql(e,t){Rp&&e.memoizedUpdaters.forEach(function(n){Je(e,n,t)})}function Jl(e,t){var n=L.actQueue;return n===null?Sp(e,t):(n.push(t),vS)}function Yl(e){el()&&L.actQueue===null&&Te(e,function(){console.error(`An update to %s inside a test was not wrapped in act(...).
171
172When testing, code that causes React state updates should be wrapped into act(...):
173
174act(() => {
175  /* fire events that update state */
176});
177/* assert on the output */
178
179This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act`,w(e))})}function Xl(e){e!==bS&&e.next===null&&(bS===null?yS=bS=e:bS=bS.next=e),CS=!0,L.actQueue===null?xS||(xS=!0,iu()):SS||(SS=!0,iu())}function Zl(e,t){if(!wS&&CS){wS=!0;do for(var n=!1,r=yS;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-zp(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,nu(r,a))}else a=ax,a=Le(r,r===rx?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==mC),!(a&3)||Re(r,a)||(n=!0,nu(r,a));r=r.next}while(n);wS=!1}}function Ql(){dC=window.event,$l()}function $l(){CS=SS=xS=!1;var e=0;TS!==0&&Ku()&&(e=TS);for(var t=Ep(),n=null,r=yS;r!==null;){var i=r.next,a=eu(r,t);a===0?(r.next=null,n===null?yS=i:n.next=i,i===null&&(bS=n)):(n=r,(e!==0||a&3)&&(CS=!0)),r=i}Yx!==Ux&&Yx!==Jx||Zl(e,!1),TS!==0&&(TS=0)}function eu(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-zp(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=ze(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=rx,n=ax,n=Le(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==mC),r=e.callbackNode,n===0||e===t&&(gx===cx||gx===hx)||e.cancelPendingCommit!==null)return r!==null&&ru(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Re(e,n)){if(t=n&-n,t!==e.callbackPriority||L.actQueue!==null&&r!==ES)ru(r);else return t;switch(Xe(n)){case Gp:case Kp:n=kp;break;case qp:n=Ap;break;case Jp:n=Mp;break;default:n=Ap}return r=tu.bind(null,e),L.actQueue===null?n=Sp(n,r):(L.actQueue.push(r),n=ES),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&ru(r),e.callbackPriority=2,e.callbackNode=null,2}function tu(e,t){if(pv=fv=!1,dC=window.event,Yx!==Ux&&Yx!==Jx)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(iS===zx&&(iS=Vx),Pl()&&e.callbackNode!==n)return null;var r=ax;return r=Le(e,e===rx?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==mC),r===0?null:(il(e,r,t),eu(e,Ep()),e.callbackNode!=null&&e.callbackNode===n?tu.bind(null,e):null)}function nu(e,t){if(Pl())return null;fv=pv,pv=!1,il(e,t,!0)}function ru(e){e!==ES&&e!==null&&Cp(e)}function iu(){L.actQueue!==null&&L.actQueue.push(function(){return $l
vendor: 28,005 bytes, lines 179-180
179(),null}),gC(function(){(nx&(qb|Jb))===Kb?$l():Sp(Op,Ql)})}function au(){if(TS===0){var e=gv;e===0&&(e=Hp,Hp<<=1,!(Hp&261888)&&(Hp=256)),TS=e}return TS}function ou(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:(Ae(e,`action`),dn(``+e))}function su(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function cu(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=ou((i[Zp]||null).action),o=r.submitter;o&&(t=(t=o[Zp]||null)?ou(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new dh(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(TS!==0){var e=o?su(i,o):new FormData(i),t={pending:!0,data:e,method:i.method,action:a};Object.freeze(t),Ro(n,t,null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?su(i,o):new FormData(i),t={pending:!0,data:e,method:i.method,action:a},Object.freeze(t),Ro(n,t,a,e))},currentTarget:i}]})}}function lu(e,t,n){e.currentTarget=n;try{t(e)}catch(e){gg(e)}e.currentTarget=null}function uu(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n];a:{var i=void 0,a=r.event;if(r=r.listeners,t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==i&&a.isPropagationStopped())break a;c===null?lu(a,s,l):Te(c,lu,a,s,l),i=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==i&&a.isPropagationStopped())break a;c===null?lu(a,s,l):Te(c,lu,a,s,l),i=c}}}}function du(e,t){OS.has(e)||console.error(`Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.`,e);var n=t[$p];n===void 0&&(n=t[$p]=new Set);var r=e+`__bubble`;n.has(r)||(pu(t,e,2,!1),n.add(r))}function I(e,t,n){OS.has(e)&&!t&&console.error(`Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.`,e);var r=0;t&&(r|=4),pu(n,e,r,t)}function fu(e){if(!e[kS]){e[kS]=!0,im.forEach(function(t){t!==`selectionchange`&&(OS.has(t)||I(t,!1,e),I(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[kS]||(t[kS]=!0,I(`selectionchange`,!1,t))}}function pu(e,t,n,r){switch(hf(t)){case Gp:var i=uf;break;case Kp:i=df;break;default:i=ff}n=i.bind(null,t,n,e),i=void 0,!ah||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function mu(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;s!==null;){if(o=et(s),o===null)return;if(c=o.tag,c===5||c===6||c===26||c===27){r=a=o;continue a}s=s.parentNode}}r=r.return}hn(function(){var r=a,i=pn(n),o=[];a:{var s=ug.get(e);if(s!==void 0){var c=dh,l=e;switch(e){case`keypress`:if(vn(n)===0)break a;case`keydown`:case`keyup`:c=Oh;break;case`focusin`:l=`focus`,c=bh;break;case`focusout`:l=`blur`,c=bh;break;case`beforeblur`:case`afterblur`:c=bh;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:c=vh;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=yh;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Ah;break;case rg:case ig:case ag:c=xh;break;case lg:c=jh;break;case`scroll`:case`scrollend`:c=ph;break;case`wheel`:c=Mh;break;case`copy`:case`cut`:case`paste`:c=Sh;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=kh;break;case`toggle`:case`beforetoggle`:c=Nh}var u=!!(t&4),d=!u&&(e===`scroll`||e===`scrollend`),f=u?s===null?null:s+`Capture`:s;u=[];for(var p=r,m;p!==null;){var h=p;if(m=h.stateNode,h=h.tag,h!==5&&h!==26&&h!==27||m===null||f===null||(h=gn(p,f),h!=null&&u.push(hu(p,h,m))),d)break;p=p.return}0<u.length&&(s=new c(s,l,null,n,i),o.push({event:s,listeners:u}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==eh&&(l=n.relatedTarget||n.fromElement)&&(et(l)||l[Qp]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?et(l):null,l!==null&&(d=x(l),u=l.tag,l!==d||u!==5&&u!==27&&u!==6)&&(l=null)):(c=null,l=r),c!==l)){if(u=vh,h=`onMouseLeave`,f=`onMouseEnter`,p=`mouse`,(e===`pointerout`||e===`pointerover`)&&(u=kh,h=`onPointerLeave`,f=`onPointerEnter`,p=`pointer`),d=c==null?s:nt(c),m=l==null?s:nt(l),s=new u(h,p+`leave`,c,n,i),s.target=d,s.relatedTarget=m,h=null,et(i)===r&&(u=new u(f,p+`enter`,l,n,i),u.target=m,u.relatedTarget=d,h=u),d=h,c&&l)b:{for(u=_u,f=c,p=l,m=0,h=f;h;h=u(h))m++;h=0;for(var g=p;g;g=u(g))h++;for(;0<m-h;)f=u(f),m--;for(;0<h-m;)p=u(p),h--;for(;m--;){if(f===p||p!==null&&f===p.alternate){u=f;break b}f=u(f),p=u(p)}u=null}else u=null;c!==null&&vu(o,s,c,u,!1),l!==null&&d!==null&&vu(o,d,l,u,!0)}}a:{if(s=r?nt(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var _=Nn;else if(On(s))if(qh)_=zn;else{_=Ln;var v=In}else c=s.nodeName,!c||c.toLowerCase()!==`input`||s.type!==`checkbox`&&s.type!==`radio`?r&&an(r.elementType)&&(_=Nn):_=Rn;if(_&&=_(e,r)){An(o,_,n,i);break a}v&&v(e,s,r),e===`focusout`&&r&&s.type===`number`&&r.memoizedProps.value!=null&&Ct(s,`number`,s.value)}switch(v=r?nt(r):window,e){case`focusin`:(On(v)||v.contentEditable===`true`)&&(Xh=v,Zh=r,Qh=null);break;case`focusout`:Qh=Zh=Xh=null;break;case`mousedown`:$h=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:$h=!1,qn(o,n,i);break;case`selectionchange`:if(Yh)break;case`keydown`:case`keyup`:qn(o,n,i)}var y;if(Ih)b:{switch(e){case`compositionstart`:var b=`onCompositionStart`;break b;case`compositionend`:b=`onCompositionEnd`;break b;case`compositionupdate`:b=`onCompositionUpdate`;break b}b=void 0}else Uh?wn(e,n)&&(b=`onCompositionEnd`):e===`keydown`&&n.keyCode===Fh&&(b=`onCompositionStart`);b&&(zh&&n.locale!==`ko`&&(Uh||b!==`onCompositionStart`?b===`onCompositionEnd`&&Uh&&(y=_n()):(sh=i,ch=`value`in sh?sh.value:sh.textContent,Uh=!0)),v=gu(r,b),0<v.length&&(b=new Ch(b,e,null,n,i),o.push({event:b,listeners:v}),y?b.data=y:(y=Tn(n),y!==null&&(b.data=y)))),(y=Rh?En(e,n):Dn(e,n))&&(b=gu(r,`onBeforeInput`),0<b.length&&(v=new wh(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:v,listeners:b}),v.data=y)),cu(o,e,r,n,i)}uu(o,t)})}function hu(e,t,n){return{instance:e,listener:t,currentTarget:n}}function gu(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=gn(e,n),i!=null&&r.unshift(hu(e,i,a)),i=gn(e,t),i!=null&&r.push(hu(e,i,a))),e.tag===3)return r;e=e.return}return[]}function _u(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function vu(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=gn(n,a),l!=null&&o.unshift(hu(n,l,c))):i||(l=gn(n,a),l!=null&&o.push(hu(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}function yu(e,t){cn(e,t),e!==`input`&&e!==`textarea`&&e!==`select`||t==null||t.value!==null||qm||(qm=!0,e===`select`&&t.multiple?console.error("`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.",e):console.error("`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.",e));var n={registrationNameDependencies:am,possibleRegistrationNames:om};an(e)||typeof t.is==`string`||un(e,t,n),t.contentEditable&&!t.suppressContentEditableWarning&&t.children!=null&&console.error("A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.")}function bu(e,t,n,r){t!==n&&(n=wu(n),wu(t)!==n&&(r[e]=t))}function xu(e,t,n){t.forEach(function(t){n[Au(t)]=t===`style`?ju(e):e.getAttribute(t)})}function Su(e,t){!1===t?console.error("Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.",e,e,e):console.error("Expected `%s` listener to be a function, instead got a value of `%s` type.",e,typeof t)}function Cu(e,t){return e=e.namespaceURI===zm||e.namespaceURI===Bm?e.ownerDocument.createElementNS(e.namespaceURI,e.tagName):e.ownerDocument.createElement(e.tagName),e.innerHTML=t,e.innerHTML}function wu(e){return Oe(e)&&(console.error(`The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.`,De(e)),ke(e)),(typeof e==`string`?e:``+e).replace(RS,`
180`).replace(zS,``)}function Tu(e,t){return t=wu(t),wu(e)===t}function Eu(e,t,n,r,i,a){switch(n){case`children`:typeof r==`string`?($t(r,t,!1),t===`body`||t===`textarea`&&r===``||en(e,r)):(typeof r==`number`||typeof r==`bigint`)&&($t(``+r,t,!1),t!==`body`&&en(e,``+r));break;case`className`:dt(e,`class`,r);break;case`tabIndex`:dt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:dt(e,n,r);break;case`style`:rn(e,r,a);break;case`data`:if(t!==`object`){dt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){console.error(n===`src`?`An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.`:`An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.`,n,n),e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}Ae(r,n),r=dn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(r!=null&&(t===`form`?n===`formAction`?console.error(`You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>.`):typeof r==`function`&&(i.encType==null&&i.method==null||FS||(FS=!0,console.error(`Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden.`)),i.target==null||PS||(PS=!0,console.error(`Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window.`))):t===`input`||t===`button`?n===`action`?console.error(`You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>.`):t!==`input`||i.type===`submit`||i.type===`image`||MS?t!==`button`||i.type==null||i.type===`submit`||MS?typeof r==`function`&&(i.name==null||NS||(NS=!0,console.error(`Cannot specify a "name" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.`)),i.formEncType==null&&i.formMethod==null||FS||(FS=!0,console.error(`Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden.`)),i.formTarget==null||PS||(PS=!0,console.error(`Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window.`))):(MS=!0,console.error(`A button can only specify a formAction along with type="submit" or no type.`)):(MS=!0,console.error(`An input can only specify a formAction along with type="submit" or type="image".`)):console.error(n===`action`?`You can only pass the action prop to <form>.`:`You can only pass the formAction prop to <input> or <button>.`)),typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof a==`function`&&(n===`formAction`?(t!==`input`&&Eu(e,t,`name`,i.name,i,null),Eu(e,t,`formEncType`,i.formEncType,i,null),Eu(e,t,`formMethod`,i.formMethod,i,null),Eu(e,t,`formTarget`,i.formTarget,i,null)):(Eu(e,t,`encType`,i.encType,i,null),Eu(e,t,`method`,i.method,i,null),Eu(e,t,`target`,i.target,i,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}Ae(r,n),r=dn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(typeof r!=`function`&&Su(n,r),e.onclick=fn);break;case`onScroll`:r!=null&&(typeof r!=`function`&&Su(n,r),du(`scroll`,e));break;case`onScrollEnd`:r!=null&&(typeof r!=`function`&&Su(n,r),du(`scrollend`,e));break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.");if(n=r.__html,n!=null){if(i.children!=null)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}Ae(r,n),n=dn(``+r),e.setAttributeNS(BS,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?(Ae(r,n),e.setAttribute(n,``+r)):e.removeAttribute(n);break;case`inert`:r!==``||LS[n]||(LS[n]=!0,console.error("Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",n));case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?(Ae(r,n),e.setAttribute(n,r)):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?(Ae(r,n),e.setAttribute(n,r)):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):(Ae(r,n),e.setAttribute(n,r));break;case`popover`:du(`beforetoggle`,e),du(`toggle`,e),ut(e,`popover`,r);break;case`xlinkActuate`:ft(e,BS,`xlink:actuate`,r);break;case`xlinkArcrole`:ft(e,BS,`xlink:arcrole`,r);break;case`xlinkRole`:ft(e,BS,`xlink:role`,r);break;case`xlinkShow`:ft(e,BS,`xlink:show`,r);break;case`xlinkTitle`:ft(e,BS,`xlink:title`,r);break;case`xlinkType`:ft(e,BS,`xlink:type`,r);break;case`xmlBase`:ft(e,VS,`xml:base`,r);break;case`xmlLang`:ft(e,VS,`xml:lang`,r);break;case`xmlSpace`:ft(e,VS,`xml:space`,r);break;case`is`:a!=null&&console.error(`Cannot update the "is" prop after it has been initialized.`),ut(e,`is`,r);break;case`innerText`:case`textContent`:break;case`popoverTarget`:IS||typeof r!=`object`||!r||(IS=!0,console.error("The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.",r));default:!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`?(n=on(n),ut(e,n,r)):am.hasOwnProperty(n)&&r!=null&&typeof r!=`function`&&Su(n,r)}}function Du(e,t,n,r,i,a){switch(n){case`style`:rn(e,r,a);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.");if(n=r.__html,n!=null){if(i.children!=null)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");e.innerHTML=n}}break;case`children`:typeof r==`string`?en(e,r):(typeof r==`number`||typeof r==`bigint`)&&en(e,``+r);break;case`onScroll`:r!=null&&(typeof r!=`function`&&Su(n,r),du(`scroll`,e));break;case`onScrollEnd`:r!=null&&(typeof r!=`function`&&Su(n,r),du(`scrollend`,e));break;case`onClick`:r!=null&&(typeof r!=`function`&&Su(n,r),e.onclick=fn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(am.hasOwnProperty(n))r!=null&&typeof r!=`function`&&Su(n,r);else a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),a=e[Zp]||null,a=a==null?null:a[n],typeof a==`function`&&e.removeEventListener(t,a,i),typeof r==`function`)){typeof a!=`function`&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):ut(e,n,r)}}}function Ou(e,t,n){switch(yu(t,n),t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:du(`error`,e),du(`load`,e);var r=!1,i=!1,a;for(a in n)if(n.hasOwnProperty(a)){var o=n[a];if(o!=null)switch(a){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(t+" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");default:Eu(e,t,a,o,n,null)}}i&&Eu(e,t,`srcSet`,n.srcSet,n,null),r&&Eu(e,t,`src`,n.src,n,null);return;case`input`:st(`input`,n),du(`invalid`,e);var s=a=o=i=null,c=null,l=null;for(r in n)if(n.hasOwnProperty(r)){var u=n[r];if(u!=null)switch(r){case`name`:i=u;break;case`type`:o=u;break;case`checked`:c=u;break;case`defaultChecked`:l=u;break;case`value`:a=u;break;case`defaultValue`:s=u;break;case`children`:case`dangerouslySetInnerHTML`:if(u!=null)throw Error(t+" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");break;default:Eu(e,t,r,u,n,null)}}bt(e,n),St(e,a,s,c,l,o,i,!1);return;case`select`:for(i in st(`select`,n),du(`invalid`,e),r=o=a=null,n)if(n.hasOwnProperty(i)&&(s=n[i],s!=null))switch(i){case`value`:a=s;break;case`defaultValue`:o=s;break;case`multiple`:r=s;default:Eu(e,t,i,s,n,null)}Dt(e,n),t=a,n=o,e.multiple=!!r,t==null?n!=null&&Et(e,!!r,n,!0):Et(e,!!r,t,!1);return;case`textarea`:for(o in st(`textarea`,n),du(`invalid`,e),a=i=r=null,n)if(n.hasOwnProperty(o)&&(s=n[o],s!=null))switch(o){case`value`:r=s;break;case`defaultValue`:i=s;break;case`children`:a=s;break;case`dangerouslySetInnerHTML`:if(s!=null)throw Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");break;default:Eu(e,t,o,s,n,null)}Ot(e,n),At(e,r,i,a);return;case`option`:for(c in wt(e,n),n)if(n.hasOwnProperty(c)&&(r=n[c],r!=null))switch(c){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Eu(e,t,c,r,n,null)}return;case`dialog`:du(`beforetoggle`,e),du(`toggle`,e),du(`cancel`,e),du(`close`,e);break;case`iframe`:case`object`:du(`load`,e);break;case`video`:case`audio`:for(r=0;r<DS.length;r++)du(DS[r],e);break;case`image`:du(`error`,e),du(`load`,e);break;case`details`:du(`toggle`,e);break;case`embed`:case`source`:case`link`:du(`error`,e),du(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`children`:case`dangerouslySetInnerHTML`:throw Error(t+" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");default:Eu(e,t,l,r,n,null)}return;default:if(an(t)){for(u in n)n.hasOwnProperty(u)&&(r=n[u],r!==void 0&&Du(e,t,u,r,n,void 0));return}}for(s in n)n.hasOwnProperty(s)&&(r=n[s],r!=null&&Eu(e,t,s,r,n,null))}function ku(e,t,n,r){switch(yu(t,r),t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,a=null,o=null,s=null,c=null,l=null,u=null;for(p in n){var d=n[p];if(n.hasOwnProperty(p)&&d!=null)switch(p){case`checked`:break;case`value`:break;case`defaultValue`:c=d;default:r.hasOwnProperty(p)||Eu(e,t,p,null,r,d)}}for(var f in r){var p=r[f];if(d=n[f],r.hasOwnProperty(f)&&(p!=null||d!=null))switch(f){case`type`:a=p;break;case`name`:i=p;break;case`checked`:l=p;break;case`defaultChecked`:u=p;break;case`value`:o=p;break;case`defaultValue`:s=p;break;case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(t+" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");break;default:p!==d&&Eu(e,t,f,p,r,d)}}t=n.type===`checkbox`||n.type===`radio`?n.checked!=null:n.value!=null,r=r.type===`checkbox`||r.type===`radio`?r.checked!=null:r.value!=null,t||!r||jS||(console.error(`A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components`),jS=!0),!t||r||AS||(console.error(`A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components`),AS=!0),xt(e,o,s,c,l,u,a,i);return;case`select`:for(a in p=o=s=f=null,n)if(c=n[a],n.hasOwnProperty(a)&&c!=null)switch(a){case`value`:break;case`multiple`:p=c;default:r.hasOwnProperty(a)||Eu(e,t,a,null,r,c)}for(i in r)if(a=r[i],c=n[i],r.hasOwnProperty(i)&&(a!=null||c!=null))switch(i){case`value`:f=a;break;case`defaultValue`:s=a;break;case`multiple`:o=a;default:a!==c&&Eu(e,t,i,a,r,c)}r=s,t=o,n=p,f==null?!!n!=!!t&&(r==null?Et(e,!!t,t?[]:``,!1):Et(e,!!t,r,!0)):Et(e,!!t,f,!1);return;case`textarea`:for(s in p=f=null,n)if(i=n[s],n.hasOwnProperty(s)&&i!=null&&!r.hasOwnProperty(s))switch(s){case`value`:break;case`children`:break;default:Eu(e,t,s,null,r,i)}for(o in r)if(i=r[o],a=n[o],r.hasOwnProperty(o)&&(i!=null||a!=null))switch(o){case`value`:f=i;break;case`defaultValue`:p=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");break;default:i!==a&&Eu(e,t,o,i,r,a)}kt(e,f,p);return;case`option`:for(var m in n)if(f=n[m],n.hasOwnProperty(m)&&f!=null&&!r.hasOwnProperty(m))switch(m){case`selected`:e.selected=!1;break;default:Eu(e,t,m,null,r,f)}for(c in r)if(f=r[c],p=n[c],r.hasOwnProperty(c)&&f!==p&&(f!=null||p!=null))switch(c){case`selected`:e.selected=f&&typeof f!=`function`&&typeof f!=`symbol`;break;default:Eu(e,t,c,f,r,p)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&Eu(e,t,h,null,r,f);for(l in r)if(f=r[l],p=n[l],r.hasOwnProperty(l)&&f!==p&&(f!=null||p!=null))switch(l){case`children`:case`dangerouslySetInnerHTML`:if(f!=null)throw Error(t+" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");break;default:Eu(e,t,l,f,r,p)}return;default:if(an(t)){for(var g in n)f=n[g],n.hasOwnProperty(g)&&f!==void 0&&!r.hasOwnProperty(g)&&Du(e,t,g,void 0,r,f);for(u in r)f=r[u],p=n[u],!r.hasOwnProperty(u)||f===p||f===void 0&&p===void 0||Du(e,t,u,f,r,p);return}}for(var _ in n)f=n[_],n.hasOwnProperty(_)&&f!=null&&!r.hasOwnProperty(_)&&Eu(e,t,_,null,r,f);for(d in r)f=r[d],p=n[d],!r.hasOwnProperty(d)||f===p||f==null&&p==null||Eu(e,t,d,f,r,p)}function Au(e){switch(e){case`class`:return`className`;case`for`:return`htmlFor`;default:return e}}function ju(e){var t={};e=e.style;for(var n=0;n<e.length;n++){var r=e[n];t[r]=e.getPropertyValue(r)}return t}function Mu(e,t,n){if(t!=null&&typeof t!=`object`)console.error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");else{var r,i=r=``,a;for(a in t)if(t.hasOwnProperty(a)){var o=t[a];o!=null&&typeof o!=`boolean`&&o!==``&&(a.indexOf(`--`)===0?(je(o,a),r+=i+a+`:`+(``+o).trim()):typeof o!=`number`||o===0||Rm.has(a)?(je(o,a),r+=i+a.replace(Om,`-$1`).toLowerCase().replace(km,`-ms-`)+`:`+(``+o).trim()):r+=i+a.replace(Om,`-$1`).toLowerCase().replace(km,`-ms-`)+`:`+o+`px`,i=`;`)}r||=null,t=e.getAttribute(`style`),t!==r&&(r=wu(r),wu(t)!==r&&(n.style=ju(e)))}}function Nu(e,t,n,r,i,a){if(i.delete(n),e=e.getAttribute(n),e===null)switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:return}else if(r!=null)switch(typeof r){case`function`:case`symbol`:case`boolean`:break;default:if(Ae(r,t),e===``+r)return}bu(t,e,r,a)}function Pu(e,t,n,r,i,a){if(i.delete(n),e=e.getAttribute(n),e===null){switch(typeof r){case`function`:case`symbol`:return}if(!r)return}else switch(typeof r){case`function`:case`symbol`:break;default:if(r)return}bu(t,e,r,a)}function Fu(e,t,n,r,i,a){if(i.delete(n),e=e.getAttribute(n),e===null)switch(typeof r){case`undefined`:case`function`:case`symbol`:return}else if(r!=null)switch(typeof r){case`function`:case`symbol`:break;default:if(Ae(r,n),e===``+r)return}bu(t,e,r,a)}function Iu(e,t,n,r,i,a){if(i.delete(n),e=e.getAttribute(n),e===null)switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:return;default:if(isNaN(r))return}else if(r!=null)switch(typeof r){case`function`:case`symbol`:case`boolean`:break;default:if(!isNaN(r)&&(Ae(r,t),e===``+r))return}bu(t,e,r,a)}function Lu(e,t,n,r,i,a){if(i.delete(n),e=e.getAttribute(n),e===null)switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:return}else if(r!=null)switch(typeof r){case`function`:case`symbol`:case`boolean`:break;default:if(Ae(r,t),n=dn(``+r),e===n)return}bu(t,e,r,a)}function Ru(e,t,n,r){for(var i={},a=new Set,o=e.attributes,s=0;s<o.length;s++)switch(o[s].name.toLowerCase()){case`value`:break;case`checked`:break;case`selected`:break;default:a.add(o[s].name)}if(an(t)){for(var c in n)if(n.hasOwnProperty(c)){var l=n[c];if(l!=null){if(am.hasOwnProperty(c))typeof l!=`function`&&Su(c,l);else if(!0!==n.suppressHydrationWarning)switch(c){case`children`:typeof l!=`string`&&typeof l!=`number`||bu(`children`,e.textContent,l,i);continue;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:continue;case`dangerouslySetInnerHTML`:o=e.innerHTML,l=l?l.__html:void 0,l!=null&&(l=Cu(e,l),bu(c,o,l,i));continue;case`style`:a.delete(c),Mu(e,l,i);continue;case`offsetParent`:case`offsetTop`:case`offsetLeft`:case`offsetWidth`:case`offsetHeight`:case`isContentEditable`:case`outerText`:case`outerHTML`:a.delete(c.toLowerCase()),console.error("Assignment to read-only property will result in a 
180no-op: `%s`",c);continue;case`className`:a.delete(`class`),o=lt(e,`class`,l),bu(`className`,o,l,i);continue;default:r.context===iC&&t!==`svg`&&t!==`math`?a.delete(c.toLowerCase()):a.delete(c),o=lt(e,c,l),bu(c,o,l,i)}}}}else for(l in n)if(n.hasOwnProperty(l)&&(c=n[l],c!=null)){if(am.hasOwnProperty(l))typeof c!=`function`&&Su(l,c);else if(!0!==n.suppressHydrationWarning)switch(l){case`children`:typeof c!=`string`&&typeof c!=`number`||bu(`children`,e.textContent,c,i);continue;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`value`:case`checked`:case`selected`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:continue;case`dangerouslySetInnerHTML`:o=e.innerHTML,c=c?c.__html:void 0,c!=null&&(c=Cu(e,c),o!==c&&(i[l]={__html:o}));continue;case`className`:Nu(e,l,`class`,c,a,i);continue;case`tabIndex`:Nu(e,l,`tabindex`,c,a,i);continue;case`style`:a.delete(l),Mu(e,c,i);continue;case`multiple`:a.delete(l),bu(l,e.multiple,c,i);continue;case`muted`:a.delete(l),bu(l,e.muted,c,i);continue;case`autoFocus`:a.delete(`autofocus`),bu(l,e.autofocus,c,i);continue;case`data`:if(t!==`object`){a.delete(l),o=e.getAttribute(`data`),bu(l,o,c,i);continue}case`src`:case`href`:if(!(c!==``||t===`a`&&l===`href`||t===`object`&&l===`data`)){console.error(l===`src`?`An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.`:`An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.`,l,l);continue}Lu(e,l,l,c,a,i);continue;case`action`:case`formAction`:if(o=e.getAttribute(l),typeof c==`function`){a.delete(l.toLowerCase()),l===`formAction`?(a.delete(`name`),a.delete(`formenctype`),a.delete(`formmethod`),a.delete(`formtarget`)):(a.delete(`enctype`),a.delete(`method`),a.delete(`target`));continue}if(o===HS){a.delete(l.toLowerCase()),bu(l,`function`,c,i);continue}Lu(e,l,l.toLowerCase(),c,a,i);continue;case`xlinkHref`:Lu(e,l,`xlink:href`,c,a,i);continue;case`contentEditable`:Fu(e,l,`contenteditable`,c,a,i);continue;case`spellCheck`:Fu(e,l,`spellcheck`,c,a,i);continue;case`draggable`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:Fu(e,l,l,c,a,i);continue;case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:Pu(e,l,l.toLowerCase(),c,a,i);continue;case`capture`:case`download`:a:{s=e;var u=o=l,d=i;if(a.delete(u),s=s.getAttribute(u),s===null)switch(typeof c){case`undefined`:case`function`:case`symbol`:break a;default:if(!1===c)break a}else if(c!=null)switch(typeof c){case`function`:case`symbol`:break;case`boolean`:if(!0===c&&s===``)break a;break;default:if(Ae(c,o),s===``+c)break a}bu(o,s,c,d)}continue;case`cols`:case`rows`:case`size`:case`span`:a:{if(s=e,u=o=l,d=i,a.delete(u),s=s.getAttribute(u),s===null)switch(typeof c){case`undefined`:case`function`:case`symbol`:case`boolean`:break a;default:if(isNaN(c)||1>c)break a}else if(c!=null)switch(typeof c){case`function`:case`symbol`:case`boolean`:break;default:if(!(isNaN(c)||1>c)&&(Ae(c,o),s===``+c))break a}bu(o,s,c,d)}continue;case`rowSpan`:Iu(e,l,`rowspan`,c,a,i);continue;case`start`:Iu(e,l,l,c,a,i);continue;case`xHeight`:Nu(e,l,`x-height`,c,a,i);continue;case`xlinkActuate`:Nu(e,l,`xlink:actuate`,c,a,i);continue;case`xlinkArcrole`:Nu(e,l,`xlink:arcrole`,c,a,i);continue;case`xlinkRole`:Nu(e,l,`xlink:role`,c,a,i);continue;case`xlinkShow`:Nu(e,l,`xlink:show`,c,a,i);continue;case`xlinkTitle`:Nu(e,l,`xlink:title`,c,a,i);continue;case`xlinkType`:Nu(e,l,`xlink:type`,c,a,i);continue;case`xmlBase`:Nu(e,l,`xml:base`,c,a,i);continue;case`xmlLang`:Nu(e,l,`xml:lang`,c,a,i);continue;case`xmlSpace`:Nu(e,l,`xml:space`,c,a,i);continue;case`inert`:c!==``||LS[l]||(LS[l]=!0,console.error("Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.",l)),Pu(e,l,l,c,a,i);continue;default:if(!(2<l.length)||l[0]!==`o`&&l[0]!==`O`||l[1]!==`n`&&l[1]!==`N`){s=on(l),o=!1,r.context===iC&&t!==`svg`&&t!==`math`?a.delete(s.toLowerCase()):(u=l.toLowerCase(),u=Hm.hasOwnProperty(u)&&Hm[u]||null,u!==null&&u!==l&&(o=!0,a.delete(u)),a.delete(s));a:if(u=e,d=s,s=c,ct(d))if(u.hasAttribute(d))u=u.getAttribute(d),Ae(s,d),s=u===``+s?s:u;else{switch(typeof s){case`function`:case`symbol`:break a;case`boolean`:if(u=d.toLowerCase().slice(0,5),u!==`data-`&&u!==`aria-`)break a}s=s===void 0?void 0:null}else s=void 0;o||bu(l,s,c,i)}}}return 0<a.size&&!0!==n.suppressHydrationWarning&&xu(e,a,i),Object.keys(i).length===0?null:i}function zu(e,t){switch(e.length){case 0:return``;case 1:return e[0];case 2:return e[0]+` `+t+` `+e[1];default:return e.slice(0,-1).join(`, `)+`, `+t+` `+e[e.length-1]}}function Bu(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Vu(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Bu(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Bu(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}
vendor: 13,240 bytes, lines 180-186
180function Hu(e){return e.nodeType===9?e:e.ownerDocument}function Uu(e){switch(e){case Bm:return aC;case zm:return oC;default:return iC}}function Wu(e,t){if(e===iC)switch(t){case`svg`:return aC;case`math`:return oC;default:return iC}return e===aC&&t===`foreignObject`?iC:e}function Gu(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}function Ku(){var e=window.event;return e&&e.type===`popstate`?e!==uC&&(uC=e,!0):(uC=null,!1)}function qu(){var e=window.event;return e&&e!==dC?e.type:null}function Ju(){var e=window.event;return e&&e!==dC?e.timeStamp:-1.1}function Yu(e){setTimeout(function(){throw e})}function Xu(e,t,n){switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&e.focus();break;case`img`:n.src?e.src=n.src:n.srcSet&&(e.srcset=n.srcSet)}}function Zu(){}function Qu(e,t,n,r){ku(e,t,n,r),e[Zp]=r}function $u(e){en(e,``)}function ed(e,t,n){e.nodeValue=n}function td(e){if(!e.__reactWarnedAboutChildrenConflict){var t=e[Zp]||null;if(t!==null){var n=tt(e);n!==null&&(typeof t.children==`string`||typeof t.children==`number`?(e.__reactWarnedAboutChildrenConflict=!0,Te(n,function(){console.error('Cannot use a ref on a React element as a container to `createRoot` or `createPortal` if that element also sets "children" text content using React. It should be a leaf with no children. Otherwise it\'s ambiguous which children should be used.')})):t.dangerouslySetInnerHTML!=null&&(e.__reactWarnedAboutChildrenConflict=!0,Te(n,function(){console.error('Cannot use a ref on a React element as a container to `createRoot` or `createPortal` if that element also sets "dangerouslySetInnerHTML" using React. It should be a leaf with no children. Otherwise it\'s ambiguous which children should be used.')})))}}}function nd(e){return e===`head`}function rd(e,t){e.removeChild(t)}function id(e,t){(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e).removeChild(t)}function ad(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===qS||n===GS){if(r===0){e.removeChild(i),Tf(t);return}r--}else if(n===KS||n===JS||n===YS||n===XS||n===WS)r++;else if(n===ZS)Ad(e.ownerDocument.documentElement);else if(n===$S){n=e.ownerDocument.head,Ad(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[rm]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===QS&&Ad(e.ownerDocument.body);n=i}while(n);Tf(t)}function od(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===qS){if(e===0)break;e--}else n!==KS&&n!==JS&&n!==YS&&n!==XS||e++;n=r}while(n)}function sd(e){od(e,!0)}function cd(e){e=e.style,typeof e.setProperty==`function`?e.setProperty(`display`,`none`,`important`):e.display=`none`}function ld(e){e.nodeValue=``}function ud(e){od(e,!1)}function dd(e,t){t=t[rC],t=t!=null&&t.hasOwnProperty(`display`)?t.display:null,e.style.display=t==null||typeof t==`boolean`?``:(``+t).trim()}function fd(e,t){e.nodeValue=t}function pd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:pd(n),$e(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function md(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){Ae(i.name,`name`);var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[rm])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=bd(e.nextSibling),e===null)break}return null}function hd(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=bd(e.nextSibling),e===null))return null;return e}function gd(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=bd(e.nextSibling),e===null))return null;return e}function _d(e){return e.data===JS||e.data===YS}function vd(e){return e.data===XS||e.data===JS&&e.ownerDocument.readyState!==nC}function yd(e,t){var n=e.ownerDocument;if(e.data===YS)e._reactRetry=t;else if(e.data!==JS||n.readyState!==nC)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function bd(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===KS||t===XS||t===JS||t===YS||t===WS||t===eC||t===tC)break;if(t===qS||t===GS)return null}}return e}function xd(e){if(e.nodeType===1){for(var t=e.nodeName.toLowerCase(),n={},r=e.attributes,i=0;i<r.length;i++){var a=r[i];n[Au(a.name)]=a.name.toLowerCase()===`style`?ju(e):a.value}return{type:t,props:n}}return e.nodeType===8?e.data===WS?{type:`Activity`,props:{}}:{type:`Suspense`,props:{}}:e.nodeValue}function Sd(e,t,n){return n===null||!0!==n[US]?(e.nodeValue===t?e=null:(t=wu(t),e=wu(e.nodeValue)===t?null:e.nodeValue),e):null}function Cd(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===qS||n===GS){if(t===0)return bd(e.nextSibling);t--}else n!==KS&&n!==XS&&n!==JS&&n!==YS&&n!==WS||t++}e=e.nextSibling}return null}function wd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===KS||n===XS||n===JS||n===YS||n===WS){if(t===0)return e;t--}else n!==qS&&n!==GS||t++}e=e.previousSibling}return null}function Td(e){Tf(e)}function Ed(e){Tf(e)}function Dd(e){Tf(e)}function Od(e,t,n,r,i){switch(i&&Qt(e,r.ancestorInfo),t=Hu(n),e){case`html`:if(e=t.documentElement,!e)throw Error(`React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page.`);return e;case`head`:if(e=t.head,!e)throw Error(`React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page.`);return e;case`body`:if(e=t.body,!e)throw Error(`React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page.`);return e;default:throw Error(`resolveSingletonInstance was called with an element type that is not supported. This is a bug in React.`)}}function kd(e,t,n,r){if(!n[Qp]&&tt(n)){var i=n.tagName.toLowerCase();console.error(`You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.`,i,i,i)}switch(e){case`html`:case`head`:case`body`:break;default:console.error(`acquireSingletonInstance was called with an element type that is not supported. This is a bug in React.`)}for(i=n.attributes;i.length;)n.removeAttributeNode(i[0]);Ou(n,e,t),n[Xp]=r,n[Zp]=t}function Ad(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);$e(e)}function jd(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}function Md(e,t,n){var r=EC;if(r&&typeof t==`string`&&t){var i=yt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),wC.has(i)||(wC.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Ou(t,`link`,e),it(t),r.head.appendChild(t)))}}function Nd(e,t,n,r){var i=(i=ap.current)?jd(i):null;if(!i)throw Error(`"resourceRoot" was expected to exist. This is a bug in React.`);switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Fd(n.href),t=rt(i).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Fd(n.href);var a=rt(i).hoistableStyles,o=a.get(e);if(!o&&(i=i.ownerDocument||i,o={type:`stylesheet`,instance:null,count:0,state:{loading:vC,preload:null}},a.set(e,o),(a=i.querySelector(Id(e)))&&!a._p&&(o.instance=a,o.state.loading=yC|SC),!CC.has(e))){var s={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy};CC.set(e,s),a||Rd(i,e,s,o.state)}if(t&&r===null)throw n=`
181
182  - `+Pd(t)+`
183  + `+Pd(n),Error("Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key."+n);return o}if(t&&r!==null)throw n=`
184
185  - `+Pd(t)+`
186  + `+Pd(n),Error("Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key."+n);return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=zd(n),t=rt(i).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(`getResource encountered a type it did not expect: "`+e+`". this is a bug in React.`)}}function Pd(e){var t=0,n=`<link`;return typeof e.rel==`string`?(t++,n+=` rel="`+e.rel+`"`):xp.call(e,`rel`)&&(t++,n+=` rel="`+(e.rel===null?`null`:`invalid type `+typeof e.rel)+`"`),typeof e.href==`string`?(t++,n+=` href="`+e.href+`"`):xp.call(e,`href`)&&(t++,n+=` href="`+(e.href===null?`null`:`invalid type `+typeof e.href)+`"`),typeof e.precedence==`string`?(t++,n+=` precedence="`+e.precedence+`"`):xp.call(e,`precedence`)&&(t++,n+=` precedence={`+(e.precedence===null?`null`:`invalid type `+typeof e.precedence)+`}`),Object.getOwnPropertyNames(e).length>t&&(n+=` ...`),n+` />`}function Fd(e){return`href="`+yt(e)+`"`}function Id(e){return`link[rel="stylesheet"][`+e+`]`}function Ld(e){return Nf({},e,{"data-precedence":e.precedence,precedence:null})}function Rd(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=yC:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=yC}),t.addEventListener(`error`,function(){return r.loading|=bC}),Ou(t,`link`,n),it(t),e.head.appendChild(t))}function zd(e){return`[src="`+yt(e)+`"]`}function Bd(e){return`script[async]`+e}function Vd(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+yt(n.href)+`"]`);if(r)return t.instance=r,it(r),r;var i=Nf({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),it(r),Ou(r,`style`,i),Hd(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Fd(n.href);var a=e.querySelector(Id(i));if(a)return t.state.loading|=SC,t.instance=a,it(a),a;r=Ld(n),(i=CC.get(i))&&Ud(r,i),a=(e.ownerDocument||e).createElement(`link`),it(a);var o=a;return o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Ou(a,`link`,r),t.state.loading|=SC,Hd(a,n.precedence,e),t.instance=a;case`script`:return a=zd(n.src),(i=e.querySelector(Bd(a)))?(t.instance=i,it(i),i):(r=n,(i=CC.get(a))&&(r=Nf({},n),Wd(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),it(i),Ou(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(`acquireResource encountered a resource type it did not expect: "`+t.type+`". this is a bug in React.`)}else t.type===`stylesheet`&&(t.state.loading&SC)===vC&&(r=t.instance,t.state.loading|=SC,Hd(r,n.precedence,e));return t.instance}
186function Hd(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Ud(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Wd(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}function Gd(e,t,n){if(DC===null){var r=new Map,i=DC=new Map;i.set(n,r)}else i=DC,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[rm]||a[Xp]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==Bm){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Kd(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function qd(e,t,n){var r=!n.ancestorInfo.containerTagInScope;if(n.context===aC||t.itemProp!=null)return!r||t.itemProp==null||e!==`meta`&&e!==`title`&&e!==`style`&&e!==`link`&&e!==`script`||console.error("Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.",e,e),!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``){r&&console.error('Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel="stylesheet" ...> tags.  Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence="default"` and `href="some unique resource identifier"`.');break}return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError){if(t.rel===`stylesheet`&&typeof t.precedence==`string`){e=t.href;var i=t.onError,a=t.disabled;n=[],t.onLoad&&n.push("`onLoad`"),i&&n.push("`onError`"),a!=null&&n.push("`disabled`"),i=zu(n,`and`),i+=n.length===1?` prop`:` props`,a=n.length===1?`an `+i:`the `+i,n.length&&console.error('React encountered a <link rel="stylesheet" href="%s" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.',e,a,i)}r&&(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``?console.error("Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag"):(t.onError||t.onLoad)&&console.error(`Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>.`));break}switch(t.rel){case`stylesheet`:return e=t.precedence,t=t.disabled,typeof e!=`string`&&r&&console.error(`Cannot render a <link rel="stylesheet" /> outside the main document without knowing its precedence. Consider adding precedence="default" or moving it into the root <head> tag.`),typeof e==`string`&&t==null;default:return!0}case`script`:if(e=t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`,!e||t.onLoad||t.onError||!t.src||typeof t.src!=`string`){r&&(e?t.onLoad||t.onError?console.error(`Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>.`):console.error("Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>."):console.error(`Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async="" or moving it into the root <head> tag.`));break}return!0;case`noscript`:case`template`:r&&console.error(`Cannot render <%s> outside the main document. Try moving it into the root <head> tag.`,e)}return!1}function Jd(e){return e.type!==`stylesheet`||(e.state.loading&xC)!==vC}function Yd(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&(n.state.loading&SC)===vC){if
vendor: 14,197 bytes, lines 186-188
186(n.instance===null){var i=Fd(r.href),a=t.querySelector(Id(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Zd.bind(e),t.then(e,e)),n.state.loading|=SC,n.instance=a,it(a);return}a=t.ownerDocument||t,r=Ld(r),(i=CC.get(i))&&Ud(r,i),a=a.createElement(`link`),it(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Ou(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&xC)===vC&&(e.count++,n=Zd.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}function Xd(e,t){return e.stylesheets&&e.count===0&&Qd(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Qd(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},OC+t);0<e.imgBytes&&jC===0&&(jC=125*Vu()*AC);var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Qd(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>jC?50:kC)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Zd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}function Qd(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,NC=new Map,t.forEach($d,e),NC=null,Zd.call(e))}function $d(e,t){if(!(t.state.loading&SC)){var n=NC.get(e);if(n)var r=n.get(MC);else{n=new Map,NC.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(MC,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(MC,i),n.set(o,i),this.count++,r=Zd.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=SC}}function ef(e,t,n,r,i,a,o,s,c){for(this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=mC,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Ve(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ve(0),this.hiddenUpdates=Ve(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map,this.passiveEffectDuration=this.effectDuration=-0,this.memoizedUpdaters=new Set,e=this.pendingUpdatersLaneMap=[],t=0;31>t;t++)e.push(new Set);this._debugRootType=n?`hydrateRoot()`:`createRoot()`}function tf(e,t,n,r,i,a,o,s,c,l,u,d){return e=new ef(e,t,n,o,c,l,u,d,s),t=Wg,!0===a&&(t|=Kg|qg),t|=Gg,a=g(3,null,null,t),e.current=a,a.stateNode=e,t=ui(),di(t),e.pooledCache=t,di(t),a.memoizedState={element:r,isDehydrated:n,cache:t},ra(a),e}function nf(e){return e?(e=Bg,e):Bg}function rf(e,t,n,r,i,a){if(Ip&&typeof Ip.onScheduleFiberRoot==`function`)try{Ip.onScheduleFiberRoot(Fp,r,n)}catch(e){Lp||(Lp=!0,console.error(`React instrumentation encountered an error: %o`,e))}i=nf(i),r.context===null?r.context=i:r.pendingContext=i,bp&&yp!==null&&!VC&&(VC=!0,console.error(`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.
187
188Check the render method of %s.`,w(yp)||`Unknown`)),r=aa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(typeof a!=`function`&&console.error("Expected the last optional `callback` argument to be a function. Instead received: %s.",a),r.callback=a),n=oa(e,r,t),n!==null&&(pi(t,`root.render()`,null),rl(n,e,t),sa(n,e,t))}function af(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function of(e,t){af(e,t),(e=e.alternate)&&af(e,t)}function sf(e){if(e.tag===13||e.tag===31){var t=_r(e,67108864);t!==null&&rl(t,e,67108864),of(e,67108864)}}function cf(e){if(e.tag===13||e.tag===31){var t=tl(e);t=qe(t);var n=_r(e,t);n!==null&&rl(n,e,t),of(e,t)}}function lf(){return yp}function uf(e,t,n,r){var i=L.T;L.T=null;var a=Qf.p;try{Qf.p=Gp,ff(e,t,n,r)}finally{Qf.p=a,L.T=i}}function df(e,t,n,r){var i=L.T;L.T=null;var a=Qf.p;try{Qf.p=Kp,ff(e,t,n,r)}finally{Qf.p=a,L.T=i}}function ff(e,t,n,r){if(QC){var i=pf(r);if(i===null)mu(e,t,r,$C,n),gf(e,r);else if(vf(i,e,t,n,r))r.stopPropagation();else if(gf(e,r),t&4&&-1<sw.indexOf(e)){for(;i!==null;){var a=tt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ie(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-zp(o);s.entanglements[1]|=c,o&=~c}Xl(a),(nx&(qb|Jb))===Kb&&(Px=Ep()+Fx,Zl(0,!1))}}break;case 31:case 13:s=_r(a,2),s!==null&&rl(s,a,2),cl(),of(a,2)}if(a=pf(r),a===null&&mu(e,t,r,$C,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else mu(e,t,r,null,n)}}function pf(e){return e=pn(e),mf(e)}function mf(e){if($C=null,e=et(e),e!==null){var t=x(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=S(t),e!==null)return e;e=null}else if(n===31){if(e=ee(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return $C=e,null}function hf(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return Gp;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return Kp;case`message`:switch(Dp()){case Op:return Gp;case kp:return Kp;case Ap:case jp:return qp;case Mp:return Jp;default:return qp}default:return qp}}function gf(e,t){switch(e){case`focusin`:case`focusout`:tw=null;break;case`dragenter`:case`dragleave`:nw=null;break;case`mouseover`:case`mouseout`:rw=null;break;case`pointerover`:case`pointerout`:iw.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:aw.delete(t.pointerId)}}function _f(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=tt(t),t!==null&&sf(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function vf(e,t,n,r,i){switch(t){case`focusin`:return tw=_f(tw,e,t,n,r,i),!0;case`dragenter`:return nw=_f(nw,e,t,n,r,i),!0;case`mouseover`:return rw=_f(rw,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return iw.set(a,_f(iw.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,aw.set(a,_f(aw.get(a)||null,e,t,n,r,i)),!0}return!1}function yf(e){var t=et(e.target);if(t!==null){var n=x(t);if(n!==null){if(t=n.tag,t===13){if(t=S(n),t!==null){e.blockedOn=t,Qe(e.priority,function(){cf(n)});return}}else if(t===31){if(t=ee(n),t!==null){e.blockedOn=t,Qe(e.priority,function(){cf(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function bf(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=pf(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n),i=r;eh!==null&&console.error(`Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue.`),eh=i,n.target.dispatchEvent(r),eh===null&&console.error(`Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue.`),eh=null}else return t=tt(n),t!==null&&sf(t),e.blockedOn=n,!1;t.shift()}return!0}function xf(e,t,n){bf(e)&&n.delete(t)}function Sf(){ew=!1,tw!==null&&bf(tw)&&(tw=null),nw!==null&&bf(nw)&&(nw=null),rw!==null&&bf(rw)&&(rw=null),iw.forEach(xf),aw.forEach(xf)}function Cf(e,t){e.blockedOn===t&&(e.blockedOn=null,ew||(ew=!0,Af.unstable_scheduleCallback(Af.unstable_NormalPriority,Sf)))}function wf(e){cw!==e&&(cw=e,Af.unstable_scheduleCallback(Af.unstable_NormalPriority,function(){cw===e&&(cw=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(mf(r||n)===null)continue;break}var a=tt(n);a!==null&&(e.splice(t,3),t-=3,n={pending:!0,data:i,method:n.method,action:r},Object.freeze(n),Ro(a,n,r,i))}}))}function Tf(e){function t(t){return Cf(t,e)}tw!==null&&Cf(tw,e),nw!==null&&Cf(nw,e),rw!==null&&Cf(rw,e),iw.forEach(t),aw.forEach(t);for(var n=0;n<ow.length;n++){var r=ow[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<ow.length&&(n=ow[0],n.blockedOn===null);)yf(n),n.blockedOn===null&&ow.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[Zp]||null;if(typeof a==`function`)o||wf(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[Zp]||null)s=o.formAction;else if(mf(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),wf(n)}}}function Ef(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Df(e){this._internalRoot=e}function Of(e){this._internalRoot=e}function kf(e){e[Qp]&&(e._reactRootContainer?console.error(`You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported.`):console.error(`You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it.`))}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var Af=p(),jf=d(),Mf=h(),Nf=Object.assign,Pf=Symbol.for(`react.element`),Ff=Symbol.for(`react.transitional.element`),If=Symbol.for(`react.portal`),Lf=Symbol.for(`react.fragment`),Rf=Symbol.for(`react.strict_mode`),zf=Symbol.for(`react.profiler`),Bf=Symbol.for(`react.consumer`),Vf=Symbol.for(`react.context`),Hf=Symbol.for(`react.forward_ref`),Uf=Symbol.for(`react.suspense`),Wf=Symbol.for(`react.suspense_list`),Gf=Symbol.for(`react.memo`),Kf=Symbol.for(`react.lazy`),qf=Symbol.for(`react.activity`),Jf=Symbol.for(`react.memo_cache_sentinel`),Yf=Symbol.iterator,Xf=Symbol.for(`react.client.reference`),Zf=Array.isArray,L=jf.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Qf=Mf.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$f=Object.freeze({pending:!1,data:null,method:null,action:null}),ep=[],tp=[],np=-1,rp=oe(null),ip=oe(null),ap=oe(null),op=oe(null),sp=0,cp,lp,up,dp,fp,pp,mp;me.__reactDisabledLog=!0;var hp,gp,_p=!1,vp=new(typeof WeakMap==`function`?WeakMap:Map),yp=null,bp=!1,xp=Object.prototype.hasOwnProperty,Sp=Af.unstable_scheduleCallback,Cp=Af.unstable_cancelCallback,wp=Af.unstable_shouldYield,Tp=Af.unstable_requestPaint,Ep=Af.unstable_now,Dp=Af.unstable_getCurrentPriorityLevel,Op=Af.unstable_ImmediatePriority,kp=Af.unstable_UserBlockingPriority,Ap=Af.unstable_NormalPriority,jp=Af.unstable_LowPriority,Mp=Af.unstable_IdlePriority,Np=Af.log,Pp=Af.unstable_setDisableYieldValue,Fp=null,Ip=null,Lp=!1,Rp=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`,zp=Math.clz32?Math.clz32:Fe,Bp=Math.log,Vp=Math.LN2,Hp=256,Up=262144,Wp=4194304,Gp=2,Kp=8,qp=32,Jp=268435456,Yp=Math.random().toString(36).slice(2),Xp=`__reactFiber$`+Yp,Zp=`__reactProps$`+Yp,Qp=`__reactContainer$`+Yp,$p=`__reactEvents$`+Yp,em=`__reactListeners$`+Yp,tm=`__reactHandles$`+Yp,nm=`__reactResources$`+Yp,rm=`__reactMarker$`+Yp,im=new Set,am={},om={},sm={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},cm=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),lm={},um={},dm=/[\n"\\]/g,fm=!1,pm=!1,mm=!1,hm=!1,gm=!1,_m=!1,vm=[`value`,`defaultValue`],ym=!1,bm=/["'&<>\n\t]|^\s|\s$/,xm=`address applet area article aside base basefont bgsound blockquote body br button caption center col 
188colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp`.split(` `),Sm=`applet caption html table td th marquee object template foreignObject desc title`.split(` `),Cm=Sm.concat([`button`]),wm=`dd dt li option optgroup p rp rt`.split(` `),Tm={current:null,formTag:null,aTagInScope:null,buttonTagInScope:null,nobrTagInScope:null,pTagInButtonScope:null,listItemTagAutoclosing:null,dlItemTagAutoclosing:null,containerTagInScope:null,implicitRootScope:!1},Em={},Dm={animation:`animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction`.split(` `),background:`backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize`.split(` `),backgroundPosition:[`backgroundPositionX`,`backgroundPositionY`],border:`borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth`.split(` `),borderBlockEnd:[`borderBlockEndColor`,`borderBlockEndStyle`,`borderBlockEndWidth`],borderBlockStart:[`borderBlockStartColor`,`borderBlockStartStyle`,`borderBlockStartWidth`],borderBottom:[`borderBottomColor`,`borderBottomStyle`,`borderBottomWidth`],borderColor:[`borderBottomColor`,`borderLeftColor`,`borderRightColor`,`borderTopColor`],borderImage:[`borderImageOutset`,`borderImageRepeat`,`borderImageSlice`,`borderImageSource`,`borderImageWidth`],borderInlineEnd:[`borderInlineEndColor`,`borderInlineEndStyle`,`borderInlineEndWidth`],borderInlineStart:[`borderInlineStartColor`,`borderInlineStartStyle`,`borderInlineStartWidth`],borderLeft:[`borderLeftColor`,`borderLeftStyle`,`borderLeftWidth`],borderRadius:[`borderBottomLeftRadius`,`borderBottomRightRadius`,`borderTopLeftRadius`,`borderTopRightRadius`],borderRight:[`borderRightColor`,`borderRightStyle`,`borderRightWidth`],borderStyle:[`borderBottomStyle`,`borderLeftStyle`,`borderRightStyle`,`borderTopStyle`],borderTop:[`borderTopColor`,`borderTopStyle`,`borderTopWidth`],borderWidth:[`borderBottomWidth`,`borderLeftWidth`,`borderRightWidth`,`borderTopWidth`],columnRule:[`columnRuleColor`,`columnRuleStyle`,`columnRuleWidth`],columns:[`columnCount`,`columnWidth`],flex:[`flexBasis`,`flexGrow`,`flexShrink`],flexFlow:[`flexDirection`,`flexWrap`],font:`fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight`.split(` `),fontVariant:`fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition`.split(` `),gap:[`columnGap`,`rowGap`],grid:`gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows`.split(` `),gridArea:[`gridColumnEnd`,`gridColumnStart`,`gridRowEnd`,`gridRowStart`],gridColumn:[`gridColumnEnd`,`gridColumnStart`],gridColumnGap:[`columnGap`],gridGap:[`columnGap`,`rowGap`],gridRow:[`gridRowEnd`,`gridRowStart`],gridRowGap:[`rowGap`],gridTemplate:[`gridTemplateAreas`,`gridTemplateColumns`,`gridTemplateRows`],listStyle:[`listStyleImage`,`listStylePosition`,`listStyleType`],margin:[`marginBottom`,`marginLeft`,`marginRight`,`marginTop`],marker:[`markerEnd`,`markerMid`,`markerStart`],mask:`maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize`.split(` `),maskPosition:[`maskPositionX`,`maskPositionY`],outline:[`outlineColor`,`outlineStyle`,`outlineWidth`],overflow:[`overflowX`,`overflowY`],padding:[`paddingBottom`,`paddingLeft`,`paddingRight`,`paddingTop`],placeContent:[`alignContent`,`justifyContent`],placeItems:[`alignItems`,`justifyItems`],placeSelf:[`alignSelf`,`justifySelf`],textDecoration:[`textDecorationColor`,`textDecorationLine`,`textDecorationStyle`],textEmphasis:[`textEmphasisColor`,`textEmphasisStyle`],transition:[`transitionDelay`,`transitionDuration`,`transitionProperty`,`transitionTimingFunction`],wordWrap:[`overflowWrap`]},Om=/([A-Z])/g,km=/^ms-/,Am=/^(?:webkit|moz|o)[A-Z]/,jm=/^-ms-/,Mm=/-(.)/g,Nm=/;\s*$/,Pm={},Fm={},Im=!1,Lm=!1,Rm=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `)),zm=`http://www.w3.org/1998/Math/MathML`,Bm=`http://www.w3.org/2000/svg`,Vm=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`
188clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),Hm={accept:`accept`,acceptcharset:`acceptCharset`,"accept-charset":`acceptCharset`,accesskey:`accessKey`,action:`action`,allowfullscreen:`allowFullScreen`,alt:`alt`,as:`as`,async:`async`,autocapitalize:`autoCapitalize`,autocomplete:`autoComplete`,autocorrect:`autoCorrect`,autofocus:`autoFocus`,autoplay:`autoPlay`,autosave:`autoSave`,capture:`capture`,cellpadding:`cellPadding`,cellspacing:`cellSpacing`,challenge:`challenge`,charset:`charSet`,checked:`checked`,children:`children`,cite:`cite`,class:`className`,classid:`classID`,classname:`className`,cols:`cols`,colspan:`colSpan`,content:`content`,contenteditable:`contentEditable`,contextmenu:`contextMenu`,controls:`controls`,controlslist:`controlsList`,coords:`coords`,crossorigin:`crossOrigin`,dangerouslysetinnerhtml:`dangerouslySetInnerHTML`,data:`data`,datetime:`dateTime`,default:`default`,defaultchecked:`defaultChecked`,defaultvalue:`defaultValue`,defer:`defer`,dir:`dir`,disabled:`disabled`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`,download:`download`,draggable:`draggable`,enctype:`encType`,enterkeyhint:`enterKeyHint`,fetchpriority:`fetchPriority`,for:`htmlFor`,form:`form`,formmethod:`formMethod`,formaction:`formAction`,formenctype:`formEncType`,formnovalidate:`formNoValidate`,formtarget:`formTarget`,frameborder:`frameBorder`,headers:`headers`,height:`height`,hidden:`hidden`,high:`high`,href:`href`,hreflang:`hrefLang`,htmlfor:`htmlFor`,httpequiv:`httpEquiv`,"http-equiv":`httpEquiv`,icon:`icon`,id:`id`,imagesizes:`imageSizes`,imagesrcset:`imageSrcSet`,inert:`inert`,innerhtml:`innerHTML`,inputmode:`inputMode`,integrity:`integrity`,is:`is`,itemid:`itemID`,itemprop:`itemProp`,itemref:`itemRef`,itemscope:`itemScope`,itemtype:`itemType`,keyparams:`keyParams`,keytype:`keyType`,kind:`kind`,label:`label`,lang:`lang`,list:`list`,loop:`loop`,low:`low`,manifest:`manifest`,marginwidth:`marginWidth`,marginheight:`marginHeight`,max:`max`,maxlength:`maxLength`,media:`media`,mediagroup:`mediaGroup`,method:`method`,min:`min`,minlength:`minLength`,multiple:`multiple`,muted:`muted`,name:`name`,nomodule:`noModule`,nonce:`nonce`,novalidate:`noValidate`,open:`open`,optimum:`optimum`,pattern:`pattern`,placeholder:`placeholder`,playsinline:`playsInl
188ine`,poster:`poster`,preload:`preload`,profile:`profile`,radiogroup:`radioGroup`,readonly:`readOnly`,referrerpolicy:`referrerPolicy`,rel:`rel`,required:`required`,reversed:`reversed`,role:`role`,rows:`rows`,rowspan:`rowSpan`,sandbox:`sandbox`,scope:`scope`,scoped:`scoped`,scrolling:`scrolling`,seamless:`seamless`,selected:`selected`,shape:`shape`,size:`size`,sizes:`sizes`,span:`span`,spellcheck:`spellCheck`,src:`src`,srcdoc:`srcDoc`,srclang:`srcLang`,srcset:`srcSet`,start:`start`,step:`step`,style:`style`,summary:`summary`,tabindex:`tabIndex`,target:`target`,title:`title`,type:`type`,usemap:`useMap`,value:`value`,width:`width`,wmode:`wmode`,wrap:`wrap`,about:`about`,accentheight:`accentHeight`,"accent-height":`accentHeight`,accumulate:`accumulate`,additive:`additive`,alignmentbaseline:`alignmentBaseline`,"alignment-baseline":`alignmentBaseline`,allowreorder:`allowReorder`,alphabetic:`alphabetic`,amplitude:`amplitude`,arabicform:`arabicForm`,"arabic-form":`arabicForm`,ascent:`ascent`,attributename:`attributeName`,attributetype:`attributeType`,autoreverse:`autoReverse`,azimuth:`azimuth`,basefrequency:`baseFrequency`,baselineshift:`baselineShift`,"baseline-shift":`baselineShift`,baseprofile:`baseProfile`,bbox:`bbox`,begin:`begin`,bias:`bias`,by:`by`,calcmode:`calcMode`,capheight:`capHeight`,"cap-height":`capHeight`,clip:`clip`,clippath:`clipPath`,"clip-path":`clipPath`,clippathunits:`clipPathUnits`,cliprule:`clipRule`,"clip-rule":`clipRule`,color:`color`,colorinterpolation:`colorInterpolation`,"color-interpolation":`colorInterpolation`,colorinterpolationfilters:`colorInterpolationFilters`,"color-interpolation-filters":`colorInterpolationFilters`,colorprofile:`colorProfile`,"color-profile":`colorProfile`,colorrendering:`colorRendering`,"color-rendering":`colorRendering`,contentscripttype:`contentScriptType`,contentstyletype:`contentStyleType`,cursor:`cursor`,cx:`cx`,cy:`cy`,d:`d`,datatype:`datatype`,decelerate:`decelerate`,descent:`descent`,diffuseconstant:`diffuseConstant`,direction:`direction`,display:`display`,divisor:`divisor`,dominantbaseline:`dominantBaseline`,"dominant-baseline":`dominantBaseline`,dur:`dur`,dx:`dx`,dy:`dy`,edgemode:`edgeMode`,elevation:`elevation`,enablebackground:`enableBackground`,"enable-background":`enableBackground`,end:`end`,exponent:`exponent`,externalresourcesrequired:`externalResourcesRequired`,fill:`fill`,fillopacity:`fillOpacity`,"fill-opacity":`fillOpacity`,fillrule:`fillRule`,"fill-rule":`fillRule`,filter:`filter`,filterres:`filterRes`,filterunits:`filterUnits`,floodopacity:`floodOpacity`,"flood-opacity":`floodOpacity`,floodcolor:`floodColor`,"flood-color":`floodColor`,focusable:`focusable`,fontfamily:`fontFamily`,"font-family":`fontFamily`,fontsize:`fontSize`,"font-size":`fontSize`,fontsizeadjust:`fontSizeAdjust`,"font-size-adjust":`fontSizeAdjust`,fontstretch:`fontStretch`,"font-stretch":`fontStretch`,fontstyle:`fontStyle`,"font-style":`fontStyle`,fontvariant:`fontVariant`,"font-variant":`fontVariant`,fontweight:`fontWeight`,"font-weight":`fontWeight`,format:`format`,from:`from`,fx:`fx`,fy:`fy`,g1:`g1`,g2:`g2`,glyphname:`glyphName`,"glyph-name":`glyphName`,glyphorientationhorizontal:`glyphOrientationHorizontal`,"glyph-orientation-horizontal":`glyphOrientationHorizontal`,glyphorientationvertical:`glyphOrientationVertical`,"glyph-orientation-vertical":`glyphOrientationVertical`,glyphref:`glyphRef`,gradienttransform:`gradientTransform`,gradientunits:`gradientUnits`,hanging:`hanging`,horizadvx:`horizAdvX`,"horiz-adv-x":`horizAdvX`,horizoriginx:`horizOriginX`,"horiz-origin-x":`horizOriginX`,ideographic:`ideographic`,imagerendering:`imageRendering`,"image-rendering":`imageRendering`,in2:`in2`,in:`in`,inlist:`inlist`,intercept:`intercept`,k1:`k1`,k2:`k2`,k3:`k3`,k4:`k4`,k:`k`,kernelmatrix:`kernelMatrix`,kernelunitlength:`kernelUnitLength`,kerning:`kerning`,keypoints:`keyPoints`,keysplines:`keySplines`,keytimes:`keyTimes`,lengthadjust:`lengthAdjust`,letterspacing:`letterSpacing`,"letter-spacing":`letterSpacing`,lightingcolor:`lightingColor`,"lighting-color":`lightingColor`,limitingconeangle:`limitingConeAngle`,local:`local`,markerend:`markerEnd`,"marker-end":`markerEnd`,markerheight:`markerHeight`,markermid:`markerMid`,"marker-mid":`markerMid`,markerstart:`markerStart`,"marker-start":`markerStart`,markerunits:`markerUnits`,markerwidth:`markerWidth`,mask:`mask`,maskcontentunits:`maskContentUnits`,maskunits:`maskUnits`,mathematical:`mathematical`,mode:`mode`,numoctaves:`numOctaves`,offset:`offset`,opacity:`opacity`,operator:`operator`,order:`order`,orient:`orient`,orientation:`orientation`,origin:`origin`,overflow:`overflow`,overlineposition:`overlinePosition`,"overline-position":`overlinePosition`,overlinethickness:`overlineThickness`,"overline-thickness":`overlineThickness`,paintorder:`paintOrder`,"paint-order":`paintOrder`,panose1:`panose1`,"panose-1":`panose1`,pathlength:`pathLength`,patterncontentunits:`patternContentUnits`,patterntransform:`patternTransform`,patternunits:`patternUnits`,pointerevents:`pointerEvents`,"pointer-events":`pointerEvents`,points:`points`,pointsatx:`pointsAtX`,pointsaty:`pointsAtY`,pointsatz:`pointsAtZ`,popover:`popover`,popovertarget:`popoverTarget`,popovertargetaction:`popoverTargetAction`,prefix:`prefix`,preservealpha:`preserveAlpha`,preserveaspectratio:`preserveAspectRatio`,primitiveunits:`primitiveUnits`,property:`property`,r:`r`,radius:`radius`,refx:`refX`,refy:`refY`,renderingintent:`renderingIntent`,"rendering-intent":`renderingIntent`,repeatcount:`repeatCount`,repeatdur:`repeatDur`,requiredextensions:`requiredExtensions`,requiredfeatures:`requiredFeatures`,resource:`resource`,restart:`restart`,result:`result`,results:`results`,rotate:`rotate`,rx:`rx`,ry:`ry`,scale:`scale`,security:`security`,seed:`seed`,shaperendering:`shapeRendering`,"shape-rendering":`shapeRendering`,slope:`slope`,spacing:`spacing`,specularconstant:`specularConstant`,specularexponent:`specularExponent`,
188speed:`speed`,spreadmethod:`spreadMethod`,startoffset:`startOffset`,stddeviation:`stdDeviation`,stemh:`stemh`,stemv:`stemv`,stitchtiles:`stitchTiles`,stopcolor:`stopColor`,"stop-color":`stopColor`,stopopacity:`stopOpacity`,"stop-opacity":`stopOpacity`,strikethroughposition:`strikethroughPosition`,"strikethrough-position":`strikethroughPosition`,strikethroughthickness:`strikethroughThickness`,"strikethrough-thickness":`strikethroughThickness`,string:`string`,stroke:`stroke`,strokedasharray:`strokeDasharray`,"stroke-dasharray":`strokeDasharray`,strokedashoffset:`strokeDashoffset`,"stroke-dashoffset":`strokeDashoffset`,strokelinecap:`strokeLinecap`,"stroke-linecap":`strokeLinecap`,strokelinejoin:`strokeLinejoin`,"stroke-linejoin":`strokeLinejoin`,strokemiterlimit:`strokeMiterlimit`,"stroke-miterlimit":`strokeMiterlimit`,strokewidth:`strokeWidth`,"stroke-width":`strokeWidth`,strokeopacity:`strokeOpacity`,"stroke-opacity":`strokeOpacity`,suppresscontenteditablewarning:`suppressContentEditableWarning`,suppresshydrationwarning:`suppressHydrationWarning`,surfacescale:`surfaceScale`,systemlanguage:`systemLanguage`,tablevalues:`tableValues`,targetx:`targetX`,targety:`targetY`,textanchor:`textAnchor`,"text-anchor":`textAnchor`,textdecoration:`textDecoration`,"text-decoration":`textDecoration`,textlength:`textLength`,textrendering:`textRendering`,"text-rendering":`textRendering`,to:`to`,transform:`transform`,transformorigin:`transformOrigin`,"transform-origin":`transformOrigin`,typeof:`typeof`,u1:`u1`,u2:`u2`,underlineposition:`underlinePosition`,"underline-position":`underlinePosition`,underlinethickness:`underlineThickness`,"underline-thickness":`underlineThickness`,unicode:`unicode`,unicodebidi:`unicodeBidi`,"unicode-bidi":`unicodeBidi`,unicoderange:`unicodeRange`,"unicode-range":`unicodeRange`,unitsperem:`unitsPerEm`,"units-per-em":`unitsPerEm`,unselectable:`unselectable`,valphabetic:`vAlphabetic`,"v-alphabetic":`vAlphabetic`,values:`values`,vectoreffect:`vectorEffect`,"vector-effect":`vectorEffect`,version:`version`,vertadvy:`vertAdvY`,"vert-adv-y":`vertAdvY`,vertoriginx:`vertOriginX`,"vert-origin-x":`vertOriginX`,vertoriginy:`vertOriginY`,"vert-origin-y":`vertOriginY`,vhanging:`vHanging`,"v-hanging":`vHanging`,videographic:`vIdeographic`,"v-ideographic":`vIdeographic`,viewbox:`viewBox`,viewtarget:`viewTarget`,visibility:`visibility`,vmathematical:`vMathematical`,"v-mathematical":`vMathematical`,vocab:`vocab`,widths:`widths`,wordspacing:`wordSpacing`,"word-spacing":`wordSpacing`,writingmode:`writingMode`,"writing-mode":`writingMode`,x1:`x1`,x2:`x2`,x:`x`,xchannelselector:`xChannelSelector`,xheight:`xHeight`,"x-height":`xHeight`,xlinkactuate:`xlinkActuate`,"xlink:actuate":`xlinkActuate`,xlinkarcrole:`xlinkArcrole`,"xlink:arcrole":`xlinkArcrole`,xlinkhref:`xlinkHref`,"xlink:href":`xlinkHref`,xlinkrole:`xlinkRole`,"xlink:role":`xlinkRole`,xlinkshow:`xlinkShow`,"xlink:show":`xlinkShow`,xlinktitle:`xlinkTitle`,"xlink:title":`xlinkTitle`,xlinktype:`xlinkType`,"xlink:type":`xlinkType`,xmlbase:`xmlBase`,"xml:base":`xmlBase`,xmllang:`xmlLang`,"xml:lang":`xmlLang`,xmlns:`xmlns`,"xml:space":`xmlSpace`,xmlnsxlink:`xmlnsXlink`,"xmlns:xlink":`xmlnsXlink`,xmlspace:`xmlSpace`,y1:`y1`,y2:`y2`,y:`y`,ychannelselector:`yChannelSelector`,z:`z`,zoomandpan:`zoomAndPan`},Um={"aria-current":0,"aria-description":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0,"aria-braillelabel":0,"aria-brailleroledescription":0,"aria-colindextext":0,"aria-rowindextext":0},Wm={},Gm=RegExp(`^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u
188037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),Km=RegExp(`^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),qm=!1,Jm={},Ym=/^on./,Xm=/^on[^A-Z]/,Zm=RegExp(`^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),Qm=RegExp(`^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),$m=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i,eh=null,th=null,nh=null,rh=!1,ih=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),ah=!1;if(ih)try{var oh={};Object.defineProperty(oh,"passive",{get:function(){ah=!0}}),window.addEventListener(`test`,oh,oh),window.removeEventListener(`test`,oh,oh)}catch{ah=!1}var sh=null,ch=null,lh=null,uh={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dh=xn(uh),fh=Nf({},uh,{view:0,detail:0}),ph=xn(fh),mh,hh,gh,_h=Nf({},fh,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==gh&&(gh&&e.type===`mousemove`?(mh=e.screenX-gh.screenX,hh=e.screenY-gh.screenY):hh=mh=0,gh=e),mh)},movementY:function(e){return`movementY`in e?e.movementY:hh}}),vh=xn(_h),yh=xn(Nf({},_h,{dataTransfer:0})),bh=xn(Nf({},fh,{relatedTarget:0})),xh=xn(Nf({},uh,{animationName:0,elapsedTime:0,pseudoElement:0})),Sh=xn(Nf({},uh,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Ch=xn(Nf({},uh,{data:0})),wh=Ch,Th={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Eh={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Dh={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`},Oh=xn(Nf({},fh,{key:function(e){if(e.key){var t=Th[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=vn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Eh[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return e.type===`keypress`?vn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?vn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),kh=xn(Nf({},_h,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Ah=xn(Nf({},fh,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),jh=xn(Nf({},uh,{propertyName:0,elapsedTime:0,pseudoElement:0})),Mh=xn(Nf({},_h,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Nh=xn(Nf({},uh,{newState:0,oldState:0}
vendor: 7,094 bytes, lines 188-195
188)),Ph=[9,13,27,32],Fh=229,Ih=ih&&`CompositionEvent`in window,Lh=null;ih&&`documentMode`in document&&(Lh=document.documentMode);var Rh=ih&&`TextEvent`in window&&!Lh,zh=ih&&(!Ih||Lh&&8<Lh&&11>=Lh),Bh=32,Vh=String.fromCharCode(Bh),Hh=!1,Uh=!1,Wh={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Gh=null,Kh=null,qh=!1;ih&&(qh=kn(`input`)&&(!document.documentMode||9<document.documentMode));var Jh=typeof Object.is==`function`?Object.is:Bn,Yh=ih&&`documentMode`in document&&11>=document.documentMode,Xh=null,Zh=null,Qh=null,$h=!1,eg={animationend:E(`Animation`,`AnimationEnd`),animationiteration:E(`Animation`,`AnimationIteration`),animationstart:E(`Animation`,`AnimationStart`),transitionrun:E(`Transition`,`TransitionRun`),transitionstart:E(`Transition`,`TransitionStart`),transitioncancel:E(`Transition`,`TransitionCancel`),transitionend:E(`Transition`,`TransitionEnd`)},tg={},ng={};ih&&(ng=document.createElement(`div`).style,`AnimationEvent`in window||(delete eg.animationend.animation,delete eg.animationiteration.animation,delete eg.animationstart.animation),`TransitionEvent`in window||delete eg.transitionend.transition);var rg=Jn(`animationend`),ig=Jn(`animationiteration`),ag=Jn(`animationstart`),og=Jn(`transitionrun`),sg=Jn(`transitionstart`),cg=Jn(`transitioncancel`),lg=Jn(`transitionend`),ug=new Map,dg=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);dg.push(`scrollEnd`);var fg=0;if(typeof performance==`object`&&typeof performance.now==`function`)var pg=performance,mg=function(){return pg.now()};else{var hg=Date;mg=function(){return hg.now()}}var gg=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},_g=`This object has been omitted by React in the console log to avoid sending too much data from the server. Try logging smaller or more specific objects.`,vg=0,yg=1,bg=2,xg=3,Sg=`–\xA0`,Cg=`+\xA0`,wg=` \xA0`,Tg=typeof console<`u`&&typeof console.timeStamp==`function`&&typeof performance<`u`&&typeof performance.measure==`function`,Eg=`Components ⚛`,Dg=`Scheduler ⚛`,Og=`Blocking`,kg=!1,Ag={color:`primary`,properties:null,tooltipText:``,track:Eg},jg={start:-0,end:-0,detail:{devtools:Ag}},Mg=[`Changed Props`,``],Ng=`This component received deeply equal props. It might benefit from useMemo or the React Compiler in its owner.`,Pg=[`Changed Props`,Ng],Fg=1,Ig=2,Lg=[],Rg=0,zg=0,Bg={};Object.freeze(Bg);var Vg=null,Hg=null,Ug=0,Wg=1,Gg=2,Kg=8,qg=16,Jg=32,Yg=!1;try{Object.preventExtensions({})}catch{Yg=!0}var Xg=new WeakMap,Zg=[],Qg=0,$g=null,e_=0,t_=[],n_=0,r_=null,i_=1,a_=``,o_=null,s_=null,c_=!1,l_=!1,u_=null,d_=null,f_=!1,p_=Error(`Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.`),m_=oe(null),h_=oe(null),g_={},__=null,v_=null,y_=!1,b_=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},x_=Af.unstable_scheduleCallback,S_=Af.unstable_NormalPriority,C_={$$typeof:Vf,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0,_currentRenderer:null,_currentRenderer2:null},w_=Af.unstable_now,T_=console.createTask?console.createTask:function(){return null},E_=1,D_=2,O_=-0,k_=-0,A_=-0,j_=null,M_=-1.1,N_=-0,P_=-0,F_=-1.1,I_=-1.1,L_=null,R_=!1,z_=-0,B_=-1.1,V_=null,H_=0,U_=null,W_=null,G_=-1.1,K_=null,q_=-1.1,J_=-1.1,Y_=-0,X_=-1.1,Z_=-1.1,Q_=0,$_=null,ev=null,tv=null,nv=-1.1,rv=null,iv=-1.1,av=-1.1,ov=-0,sv=-0,cv=0,lv=null,uv=0,dv=-1.1,fv=!1,pv=!1,mv=null,hv=0,gv=0,_v=null,vv=L.S;L.S=function(e,t){if(Mx=Ep(),typeof t==`object`&&t&&typeof t.then==`function`){if(0>X_&&0>Z_){X_=w_();var n=Ju(),r=qu();(n!==iv||r!==rv)&&(iv=-1.1),nv=n,rv=r}Mi(e,t)}vv!==null&&vv(e,t)};var yv=oe(null),bv={recordUnsafeLifecycleWarnings:function(){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}},xv=[],Sv=[],Cv=[],wv=[],Tv=[],Ev=[],Dv=new Set;bv.recordUnsafeLifecycleWarnings=function(e,t){Dv.has(e.type)||(typeof t.componentWillMount==`function`&&!0!==t.componentWillMount.__suppressDeprecationWarning&&xv.push(e),e.mode&Kg&&typeof t.UNSAFE_componentWillMount==`function`&&Sv.push(e),typeof t.componentWillReceiveProps==`function`&&!0!==t.componentWillReceiveProps.__suppressDeprecationWarning&&Cv.push(e),e.mode&Kg&&typeof t.UNSAFE_componentWillReceiveProps==`function`&&wv.push(e),typeof t.componentWillUpdate==`function`&&!0!==t.componentWillUpdate.__suppressDeprecationWarning&&Tv.push(e),e.mode&Kg&&typeof t.UNSAFE_componentWillUpdate==`function`&&Ev.push(e))},bv.flushPendingUnsafeLifecycleWarnings=function(){var e=new Set;0<xv.length&&(xv.forEach(function(t){e.add(w(t)||`Component`),Dv.add(t.type)}),xv=[]);var t=new Set;0<Sv.length&&(Sv.forEach(function(e){t.add(w(e)||`Component`),Dv.add(e.type)}),Sv=[]);var n=new Set;0<Cv.length&&(Cv.forEach(function(e){n.add(w(e)||`Component`),Dv.add(e.type)}),Cv=[]);var r=new Set;0<wv.length&&(wv.forEach(function(e){r.add(w(e)||`Component`),Dv.add(e.type)}),wv=[]);var i=new Set;0<Tv.length&&(Tv.forEach(function(e){i.add(w(e)||`Component`),Dv.add(e.type)}),Tv=[]);var a=new Set;if(0<Ev.length&&(Ev.forEach(function(e){a.add(w(e)||`Component`),Dv.add(e.type)}),Ev=[]),0<t.size){var o=m(t);console.error(`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.
189
190* Move code with side effects to componentDidMount, and set initial state in the constructor.
191
192Please update the following components: %s`,o)}0<r.size&&(o=m(r),console.error(`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.
193
194* Move data fetching code or side effects to componentDidUpdate.
195* If you're updating state whenever props change, refactor your co
195de to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state
196
197Please update the following components: %s`,o)),0<a.size&&(o=m(a),console.error(`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.
198
199* Move data fetching code or side effects to componentDidUpdate.
200
201Please update the following components: %s`,o)),0<e.size&&(o=m(e),console.warn(`componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
202
203* Move code with side effects to componentDidMount, and set initial state in the constructor.
204* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.
205
206Please update the following components: %s`,o)),0<n.size&&(o=m(n),console.warn(`componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
207
208* Move data fetching code or side effects to componentDidUpdate.
209* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state
210* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.
211
212Please update the following components: %s`,o)),0<i.size&&(o=m(i),console.warn(`componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.
213
214* Move data fetching code or side effects to componentDidUpdate.
215* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder.
216
217Please update the following components: %s`,o))};var Ov=new Map,kv=new Set;bv.recordLegacyContextWarning=function(e,t){for(var n=null,r=e;r!==null;)r.mode&Kg&&(n=r),r=r.return;n===null?console.error(`Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.`):!kv.has(e.type)&&(r=Ov.get(n),e.type.contextTypes!=null||e.type.childContextTypes!=null||t!==null&&typeof t.getChildContext==`function`)&&(r===void 0&&(r=[],Ov.set(n,r)),r.push(e))},bv.flushLegacyContextWarning=function(){Ov.forEach(function(e){if(e.length!==0){var t=e[0],n=new Set;e.forEach(function(e){n.add(w(e)||`Component`),kv.add(e.type)});var r=m(n);Te(t,function(){console.error(`Legacy context API has been detected within a strict-mode tree.
218
219The old API will be supported in all 16.x releases, but applications using it should migrate to the new version.
220
221Please update the following components: %s
222
223Learn more about this warning here: https://react.dev/link/legacy-context`,r)})}})},bv.discardPendingWarnings=function(){xv=[],Sv=[],Cv=[],wv=[],Tv=[],Ev=[],Ov=new Map};var Av={react_stack_bottom_frame:function(e,t,n){var r=bp;bp=!0;try{return e(t,n)}finally{bp=r}}},jv=Av.react_stack_bottom_frame.bind(Av),Mv={react_stack_bottom_frame:function(e){var t=bp;bp=!0;try{return e.render()}finally{bp=t}}},Nv=Mv.react_stack_bottom_frame.bind(Mv),Pv={react_stack_bottom_frame:function(e,t){try{t.componentDidMount()}catch(t){Ll(e,e.return,t)}}},Fv=Pv.react_stack_bottom_frame.bind(Pv),Iv={react_stack_bottom_frame:function(e,t,n,r,i){try{t.componentDidUpdate(n,r,i)}catch(t){Ll(e,e.return,t)}}},Lv=Iv.react_stack_bottom_frame.bind(Iv),Rv={react_stack_bottom_frame:function(e,t){var n=t.stack;e.componentDidCatch(t.value,{componentStack:n===null?``:n})}},zv=Rv.react_stack_bottom_frame.bind(Rv),Bv={react_stack_bottom_frame:function(e,t,n){try{n.componentWillUnmount()}catch(n){Ll(e,t,n)}}},Vv=Bv.react_stack_bottom_frame.bind(Bv),Hv={react_stack_bottom_frame:function(e){var t=e.create;return e=e.inst,t=t(),e.destroy=t}},Uv=Hv.react_stack_bottom_frame.bind(Hv),Wv={react_stack_bottom_frame:function(e,t,n){try{n()}catch(n){Ll(e,t,n)}}},Gv=Wv.react_stack_bottom_frame.bind(Wv),Kv={react_stack_bottom_frame:function(e){var t=e._init;return t(e._payload)}},qv=Kv.react_stack_bottom_frame.bind(Kv),Jv=Error("Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`."),Yv=Error(`Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.`),Xv=Error("Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary."),Zv={then:function(){console.error(`Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.`)}},Qv=null,$v=!1,ey=null,ty=0,ny=null,ry,iy=ry=!1,ay={},oy={},sy={};f=function(e,t,n){if(typeof n==`object`&&n&&n._store&&(!n._store.validated&&n.key==null||n._store.validated===2)){if(typeof n._store!=`object`)throw Error(`React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.`);n._store.validated=1;var r=w(e),i=r||`null`;if(!ay[i]){ay[i]=!0,n=n._owner,e=e._debugOwner;var a=``;e&&typeof e.tag==`number`&&(i=w(e))&&(a=`
224
225Check the render method of \``+i+"`."),a||r&&(a=`
226
227Check the top-level render call using <`+r+`>.`);var o=``;n!=null&&e!==n&&(r=null,typeof n.tag==`number`?r=w(n):typeof n.name==`string`&&(r=n.name),r&&(o=` It was passed a child from `+r+`.`)),Te(t,function(){console.error(`Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.`,a,o)})}}};var cy=ta(!0),ly=ta(!1),uy=0,dy=1,fy=2,py=3,my=!1,hy=!1,gy=null,_y=!1,vy=oe(null),yy=oe(0),by=oe(null),xy=null,Sy=1,Cy=2,wy=oe(0),Ty=0,Ey=1,Dy=2,Oy=4,ky=8,Ay,jy=new Set,My=new Set,
vendor: 24,099 bytes, lines 227-231
227Ny=new Set,Py=new Set,Fy=0,Iy=null,Ly=null,Ry=null,zy=!1,By=!1,Vy=!1,Hy=0,Uy=0,Wy=null,Gy=0,Ky=25,R=null,qy=null,Jy=-1,Yy=!1,Xy={readContext:si,use:za,useCallback:Ea,useContext:Ea,useEffect:Ea,useImperativeHandle:Ea,useLayoutEffect:Ea,useInsertionEffect:Ea,useMemo:Ea,useReducer:Ea,useRef:Ea,useState:Ea,useDebugValue:Ea,useDeferredValue:Ea,useTransition:Ea,useSyncExternalStore:Ea,useId:Ea,useHostTransitionStatus:Ea,useFormState:Ea,useActionState:Ea,useOptimistic:Ea,useMemoCache:Ea,useCacheRefresh:Ea};Xy.useEffectEvent=Ea;var Zy=null,Qy=null,$y=null,eb=null,tb=null,nb=null,rb=null;Zy={readContext:function(e){return si(e)},use:za,useCallback:function(e,t){return R=`useCallback`,Ca(),wa(t),Oo(e,t)},useContext:function(e){return R=`useContext`,Ca(),si(e)},useEffect:function(e,t){return R=`useEffect`,Ca(),wa(t),So(e,t)},useImperativeHandle:function(e,t,n){return R=`useImperativeHandle`,Ca(),wa(n),k(e,t,n)},useInsertionEffect:function(e,t){R=`useInsertionEffect`,Ca(),wa(t),bo(4,Dy,e,t)},useLayoutEffect:function(e,t){return R=`useLayoutEffect`,Ca(),wa(t),Eo(e,t)},useMemo:function(e,t){R=`useMemo`,Ca(),wa(t);var n=L.H;L.H=tb;try{return Ao(e,t)}finally{L.H=n}},useReducer:function(e,t,n){R=`useReducer`,Ca();var r=L.H;L.H=tb;try{return Ha(e,t,n)}finally{L.H=r}},useRef:function(e){return R=`useRef`,Ca(),yo(e)},useState:function(e){R=`useState`,Ca();var t=L.H;L.H=tb;try{return eo(e)}finally{L.H=t}},useDebugValue:function(){R=`useDebugValue`,Ca()},useDeferredValue:function(e,t){return R=`useDeferredValue`,Ca(),jo(e,t)},useTransition:function(){return R=`useTransition`,Ca(),Vo()},useSyncExternalStore:function(e,t,n){return R=`useSyncExternalStore`,Ca(),Ka(e,t,n)},useId:function(){return R=`useId`,Ca(),Go()},useFormState:function(e,t){return R=`useFormState`,Ca(),Ta(),po(e,t)},useActionState:function(e,t){return R=`useActionState`,Ca(),po(e,t)},useOptimistic:function(e){return R=`useOptimistic`,Ca(),to(e)},useHostTransitionStatus:Wo,useMemoCache:Ba,useCacheRefresh:function(){return R=`useCacheRefresh`,Ca(),Ko()},useEffectEvent:function(e){return R=`useEffectEvent`,Ca(),wo(e)}},Qy={readContext:function(e){return si(e)},use:za,useCallback:function(e,t){return R=`useCallback`,O(),Oo(e,t)},useContext:function(e){return R=`useContext`,O(),si(e)},useEffect:function(e,t){return R=`useEffect`,O(),So(e,t)},useImperativeHandle:function(e,t,n){return R=`useImperativeHandle`,O(),k(e,t,n)},useInsertionEffect:function(e,t){R=`useInsertionEffect`,O(),bo(4,Dy,e,t)},useLayoutEffect:function(e,t){return R=`useLayoutEffect`,O(),Eo(e,t)},useMemo:function(e,t){R=`useMemo`,O();var n=L.H;L.H=tb;try{return Ao(e,t)}finally{L.H=n}},useReducer:function(e,t,n){R=`useReducer`,O();var r=L.H;L.H=tb;try{return Ha(e,t,n)}finally{L.H=r}},useRef:function(e){return R=`useRef`,O(),yo(e)},useState:function(e){R=`useState`,O();var t=L.H;L.H=tb;try{return eo(e)}finally{L.H=t}},useDebugValue:function(){R=`useDebugValue`,O()},useDeferredValue:function(e,t){return R=`useDeferredValue`,O(),jo(e,t)},useTransition:function(){return R=`useTransition`,O(),Vo()},useSyncExternalStore:function(e,t,n){return R=`useSyncExternalStore`,O(),Ka(e,t,n)},useId:function(){return R=`useId`,O(),Go()},useActionState:function(e,t){return R=`useActionState`,O(),po(e,t)},useFormState:function(e,t){return R=`useFormState`,O(),Ta(),po(e,t)},useOptimistic:function(e){return R=`useOptimistic`,O(),to(e)},useHostTransitionStatus:Wo,useMemoCache:Ba,useCacheRefresh:function(){return R=`useCacheRefresh`,O(),Ko()},useEffectEvent:function(e){return R=`useEffectEvent`,O(),wo(e)}},$y={readContext:function(e){return si(e)},use:za,useCallback:function(e,t){return R=`useCallback`,O(),ko(e,t)},useContext:function(e){return R=`useContext`,O(),si(e)},useEffect:function(e,t){R=`useEffect`,O(),xo(2048,ky,e,t)},useImperativeHandle:function(e,t,n){return R=`useImperativeHandle`,O(),A(e,t,n)},useInsertionEffect:function(e,t){return R=`useInsertionEffect`,O(),xo(4,Dy,e,t)},useLayoutEffect:function(e,t){return R=`useLayoutEffect`,O(),xo(4,Oy,e,t)},useMemo:function(e,t){R=`useMemo`,O();var n=L.H;L.H=nb;try{return j(e,t)}finally{L.H=n}},useReducer:function(e,t,n){R=`useReducer`,O();var r=L.H;L.H=nb;try{return Ua(e,t,n)}finally{L.H=r}},useRef:function(){return R=`useRef`,O(),Ia().memoizedState},useState:function(){R=`useState`,O();var e=L.H;L.H=nb;try{return Ua(Va)}finally{L.H=e}},useDebugValue:function(){R=`useDebugValue`,O()},useDeferredValue:function(e,t){return R=`useDeferredValue`,O(),Mo(e,t)},useTransition:function(){return R=`useTransition`,O(),Ho()},useSyncExternalStore:function(e,t,n){return R=`useSyncExternalStore`,O(),qa(e,t,n)},useId:function(){return R=`useId`,O(),Ia().memoizedState},useFormState:function(e){return R=`useFormState`,O(),Ta(),mo(e)},useActionState:function(e){return R=`useActionState`,O(),mo(e)},useOptimistic:function(e,t){return R=`useOptimistic`,O(),no(e,t)},useHostTransitionStatus:Wo,useMemoCache:Ba,useCacheRefresh:function(){return R=`useCacheRefresh`,O(),Ia().memoizedState},useEffectEvent:function(e){return R=`useEffectEvent`,O(),To(e)}},eb={readContext:function(e){return si(e)},use:za,useCallback:function(e,t){return R=`useCallback`,O(),ko(e,t)},useContext:function(e){return R=`useContext`,O(),si(e)},useEffect:function(e,t){R=`useEffect`,O(),xo(2048,ky,e,t)},useImperativeHandle:function(e,t,n){return R=`useImperativeHandle`,O(),A(e,t,n)},useInsertionEffect:function(e,t){return R=`useInsertionEffect`,O(),xo(4,Dy,e,t)},useLayoutEffect:function(e,t){return R=`useLayoutEffect`,O(),xo(4,Oy,e,t)},useMemo:function(e,t){R=`useMemo`,O();var n=L.H;L.H=rb;try{return j(e,t)}finally{L.H=n}},useReducer:function(e,t,n){R=`useReducer`,O();var r=L.H;L.H=rb;try{return Ga(e,t,n)}finally{L.H=r}},useRef:function(){return R=`useRef`,O(),Ia().memoizedState},useState:function(){R=`useState`,O();var e=L.H;L.H=rb;try{return Ga(Va)}finally{L.H=e}},useDebugValue:function(){R=`useDebugValue`,O()},useDeferredValue:function(e,t){return R=`useDeferredValue`,O(),No(e,t)},useTransition:function(){return R=`useTransition`,O(),Uo()},useSyncExternalStore:function(e,t,n){return R=`useSyncExternalStore`,O(),qa(e,t,n)},useId:function(){return R=`useId`,O(),Ia().memoizedState},useFormState:function(e){return R=`useFormState`,O(),Ta(),_o(e)},useActionState:function(e){return R=`useActionState`,O(),_o(e)},useOptimistic:function(e,t){return R=`useOptimistic`,O(),io(e,t)},useHostTransitionStatus:Wo,useMemoCache:Ba,useCacheRefresh:function(){return R=`useCacheRefresh`,O(),Ia().memoizedState},useEffectEvent:function(e){return R=`useEffectEvent`,O(),To(e)}},tb={readContext:function(e){return l(),si(e)},use:function(e){return c(),za(e)},useCallback:function(e,t){return R=`useCallback`,c(),Ca(),Oo(e,t)},useContext:function(e){return R=`useContext`,c(),Ca(),si(e)},useEffect:function(e,t){return R=`useEffect`,c(),Ca(),So(e,t)},useImperativeHandle:function(e,t,n){return R=`useImperativeHandle`,c(),Ca(),k(e,t,n)},useInsertionEffect:function(e,t){R=`useInsertionEffect`,c(),Ca(),bo(4,Dy,e,t)},useLayoutEffect:function(e,t){return R=`useLayoutEffect`,c(),Ca(),Eo(e,t)},useMemo:function(e,t){R=`useMemo`,c(),Ca();var n=L.H;L.H=tb;try{return Ao(e,t)}finally{L.H=n}},useReducer:function(e,t,n){R=`useReducer`,c(),Ca();var r=L.H;L.H=tb;try{return Ha(e,t,n)}finally{L.H=r}},useRef:function(e){return R=`useRef`,c(),Ca(),yo(e)},useState:function(e){R=`useState`,c(),Ca();var t=L.H;L.H=tb;try{return eo(e)}finally{L.H=t}},useDebugValue:function(){R=`useDebugValue`,c(),Ca()},useDeferredValue:function(e,t){return R=`useDeferredValue`,c(),Ca(),jo(e,t)},useTransition:function(){return R=`useTransition`,c(),Ca(),Vo()},useSyncExternalStore:function(e,t,n){return R=`useSyncExternalStore`,c(),Ca(),Ka(e,t,n)},useId:function(){return R=`useId`,c(),Ca(),Go()},useFormState:function(e,t){return R=`useFormState`,c(),Ca(),po(e,t)},useActionState:function(e,t){return R=`useActionState`,c(),Ca(),po(e,t)},useOptimistic:function(e){return R=`useOptimistic`,c(),Ca(),to(e)},useMemoCache:function(e){return c(),Ba(e)},useHostTransitionStatus:Wo,useCacheRefresh:function(){return R=`useCacheRefresh`,Ca(),Ko()},useEffectEvent:function(e){return R=`useEffectEvent`,c(),Ca(),wo(e)}},nb={readContext:function(e){return l(),si(e)},use:function(e){return c(),za(e)},useCallback:function(e,t){return R=`useCallback`,c(),O(),ko(e,t)},useContext:function(e){return R=`useContext`,c(),O(),si(e)},useEffect:function(e,t){R=`useEffect`,c(),O(),xo(2048,ky,e,t)},useImperativeHandle:function(e,t,n){return R=`useImperativeHandle`,c(),O(),A(e,t,n)},useInsertionEffect:function(e,t){return R=`useInsertionEffect`,c(),O(),xo(4,Dy,e,t)},useLayoutEffect:function(e,t){return R=`useLayoutEffect`,c(),O(),xo(4,Oy,e,t)},useMemo:function(e,t){R=`useMemo`,c(),O();var n=L.H;L.H=nb;try{return j(e,t)}finally{L.H=n}},useReducer:function(e,t,n){R=`useReducer`,c(),O();var r=L.H;L.H=nb;try{return Ua(e,t,n)}finally{L.H=r}},useRef:function(){return R=`useRef`,c(),O(),Ia().memoizedState},useState:function(){R=`useState`,c(),O();var e=L.H;L.H=nb;try{return Ua(Va)}finally{L.H=e}},useDebugValue:function(){R=`useDebugValue`,c(),O()},useDeferredValue:function(e,t){return R=`useDeferredValue`,c(),O(),Mo(e,t)},useTransition:function(){return R=`useTransition`,c(),O(),Ho()},useSyncExternalStore:function(e,t,n){return R=`useSyncExternalStore`,c(),O(),qa(e,t,n)},useId:function(){return R=`useId`,c(),O(),Ia().memoizedState},useFormState:function(e){return R=`useFormState`,c(),O(),mo(e)},useActionState:function(e){return R=`useActionState`,c(),O(),mo(e)},useOptimistic:function(e,t){return R=`useOptimistic`,c(),O(),no(e,t)},useMemoCache:function(e){return c(),Ba(e)},useHostTransitionStatus:Wo,useCacheRefresh:function(){return R=`useCacheRefresh`,O(),Ia().memoizedState},useEffectEvent:function(e){return R=`useEffectEvent`,c(),O(),To(e)}},rb={readContext:function(e){return l(),si(e)},use:function(e){return c(),za(e)},useCallback:function(e,t){return R=`useCallback`,c(),O(),ko(e,t)},useContext:function(e){return R=`useContext`,c(),O(),si(e)},useEffect:function(e,t){R=`useEffect`,c(),O(),xo(2048,ky,e,t)},useImperativeHandle:function(e,t,n){return R=`useImperativeHandle`,c(),O(),A(e,t,n)},useInsertionEffect:function(e,t){return R=`useInsertionEffect`,c(),O(),xo(4,Dy,e,t)},useLayoutEffect:function(e,t){return R=`useLayoutEffect`,c(),O(),xo(4,Oy,e,t)},useMemo:function(e,t){R=`useMemo`,c(),O();var n=L.H;L.H=nb;try{return j(e,t)}finally{L.H=n}},useReducer:function(e,t,n){R=`useReducer`,c(),O();var r=L.H;L.H=nb;try{return Ga(e,t,n)}finally{L.H=r}},useRef:function(){return R=`useRef`,c(),O(),Ia().memoizedState},useState:function(){R=`useState`,c(),O();var e=L.H;L.H=nb;try{return Ga(Va)}finally{L.H=e}},useDebugValue:function(){R=`useDebugValue`,c(),O()},useDeferredValue:function(e,t){return R=`useDeferredValue`,c(),O(),No(e,t)},useTransition:function(){return R=`useTransition`,c(),O(),Uo()},useSyncExternalStore:function(e,t,n){return R=`useSyncExternalStore`,c(),O(),qa(e,t,n)},useId:function(){return R=`useId`,c(),O(),Ia().memoizedState},useFormState:function(e){return R=`useFormState`,c(),O(),_o(e)},useActionState:function(e){return R=`useActionState`,c(),O(),_o(e)},useOptimistic:function(e,t){return R=`useOptimistic`,c(),O(),io(e,t)},useMemoCache:function(e){return c(),Ba(e)},useHostTransitionStatus:Wo,useCacheRefresh:function(){return R=`useCacheRefresh`,O(),Ia().memoizedState},useEffectEvent:function(e){return R=`useEffectEvent`,c(),O(),To(e)}};var ib={},ab=new Set,ob=new Set,sb=new Set,cb=new Set,lb=new Set,ub=new Set,db=new Set,fb=new Set,pb=new Set,mb=new Set;Object.freeze(ib);var hb={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tl(e),i=aa(r);i.payload=t,n!=null&&(M(n),i.callback=n),t=oa(e,i,r),t!==null&&(pi(r,`this.setState()`,e),rl(t,e,r),sa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tl(e),i=aa(r);i.tag=dy,i.payload=t,n!=null&&(M(n),i.callback=n),t=oa(e,i,r),t!==null&&(pi(r,`this.replaceState()`,e),rl(t,e,r),sa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tl(e),r=aa(n);r.tag=fy,t!=null&&(M(t),r.callback=t),t=oa(e,r,n),t!==null&&(pi(n,`this.forceUpdate()`,e),rl(t,e,n),sa(t,e,n))}},gb=null,_b=null,vb=Error(`This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue.`),yb=!1,bb={},xb={},Sb={},Cb={},wb=!1,Tb={},Eb={},Db={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},Ob=!1,kb=null;kb=new Set;var Ab=!1,jb=!1,Mb=!1,Nb=typeof WeakSet==`function`?WeakSet:Set,Pb=null,Fb=null,Ib=null,Lb=null,Rb=!1,zb=null,Bb=!1,Vb=8192,Hb={getCacheForType:function(e){var t=si(C_),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return si(C_).controller.signal},getOwner:function(){return yp}};if(typeof Symbol==`function`&&Symbol.for){var Ub=Symbol.for;Ub(`selector.component`),Ub(`selector.has_pseudo_class`),Ub(`selector.role`),Ub(`selector.test_id`),Ub(`selector.text`)}var Wb=[],Gb=typeof WeakMap==`function`?WeakMap:Map,Kb=0,qb=2,Jb=4,Yb=0,Xb=1,Zb=2,Qb=3,$b=4,ex=6,tx=5,nx=Kb,rx=null,ix=null,ax=0,ox=0,sx=1,cx=2,lx=3,ux=4,dx=5,fx=6,px=7,mx=8,hx=9,gx=ox,_x=null,vx=!1,yx=!1,bx=!1,xx=0,Sx=Yb,Cx=0,wx=0,Tx=0,Ex=0,Dx=0,Ox=null,kx=null,Ax=!1,jx=0,Mx=0,Nx=300,Px=1/0,Fx=500,Ix=null,Lx=null,Rx=null,zx=0,Bx=1,Vx=2,Hx=3,Ux=0,Wx=1,Gx=2,Kx=3,qx=4,Jx=5,Yx=0,Xx=null,Zx=null,Qx=0,$x=0,eS=-0,tS=null,nS=null,rS=null,iS=zx,aS=null,oS=50,sS=0,cS=null,lS=!1,uS=!1,dS=50,fS=0,pS=null,mS=!1,hS=null,gS=!1,_S=new Set,vS={},yS=null,bS=null,xS=!1,SS=!1,CS=!1,wS=!1,TS=0,ES={};(function(){for(var e=0;e<dg.length;e++){var t=dg[e],n=t.toLowerCase();t=t[0].toUpperCase()+t.slice(1),Yn(n,`on`+t)}Yn(rg,`onAnimationEnd`),Yn(ig,`onAnimationIteration`),Yn(ag,`onAnimationStart`),Yn(`dblclick`,`onDoubleClick`),Yn(`focusin`,`onFocus`),Yn(`focusout`,`onBlur`),Yn(og,`onTransitionRun`),Yn(sg,`onTransitionStart`),Yn(cg,`onTransitionCancel`),Yn(lg,`onTransitionEnd`)})(),ot(`onMouseEnter`,[`mouseout`,`mouseover`]),ot(`onMouseLeave`,[`mouseout`,`mouseover`]),ot(`onPointerEnter`,[`pointerout`,`pointerover`]),ot(`onPointerLeave`,[`pointerout`,`pointerover`]),at(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),at(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),at(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),at(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),at(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),at(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var DS=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),OS=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(DS)),kS=`_reactListening`+Math.random().toString(36).slice(2),AS=!1,jS=!1,MS=!1,NS=!1,PS=!1,FS=!1,IS=!1,LS={},RS=/\r\n?/g,zS=/\u0000|\uFFFD/g,BS=`http://www.w3.org/1999/xlink`,VS=`http://www.w3.org/XML/1998/namespace`,HS=`javascript:throw new Error('React form unexpectedly submitted.')`,US=`suppressHydrationWarning`,WS=`&`,GS=`/&`,KS=`$`,qS=`/$`,JS=`$?`,YS=`$~`,XS=`$!`,ZS=`html`,QS=`body`,$S=`head`,eC=`F!`,tC=`F`,nC=`loading`,rC=`style`,iC=0,aC=1,oC=2,sC=null,cC=null,lC={dialog:!0,webview:!0},uC=null,dC=void 0,fC=typeof setTimeout==`function`?setTimeout:void 0,pC=typeof clearTimeout==`function`?clearTimeout:void 0,mC=-1,hC=typeof Promise==`function`?Promise:void 0,gC=typeof queueMicrotask==`function`?queueMicrotask:hC===void 0?fC:function(e){return hC.resolve(null).then(e).catch(Yu)},_C=null,vC=0,yC=1,bC=2,xC=3,SC=4,CC=new Map,wC=new Set,TC=Qf.d;Qf.d={f:function(){var e=TC.f(),t=cl();return e||t},r:function(e){var t=tt(e);t!==null&&t.tag===5&&t.type===`form`?Bo(t):TC.r(e)},D:function(e){TC.D(e),Md(`dns-prefetch`,e,null)},C:function(e,t){TC.C(e,t),Md(`preconnect`,e,t)},L:function(e,t,n){TC.L(e,t,n);var r=EC;if(r&&e&&t){var i=`link[rel="preload"][as="`+yt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+yt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+yt(n.imageSizes)+`"]`)):i+=`[href="`+yt(e)+`"]`;var a=i;switch(t){case`style`:a=Fd(e);break;case`script`:a=zd(e)}CC.has(a)||(e=Nf({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),CC.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Id(a))||t===`script`&&r.querySelector(Bd(a))||(t=r.createElement(`link`),Ou(t,`link`,e),it(t),r.head.appendChild(t)))}},m:function(e,t){TC.m(e,t);var n=EC;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+yt(r)+`"][href="`+yt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=zd(e)}if(!CC.has(a)&&(e=Nf({rel:`modulepreload`,href:e},t),CC.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Bd(a)))return}r=n.createElement(`link`),Ou(r,`link`,e),it(r),n.head.appendChild(r)}}},X:function(e,t){TC.X(e,t);var n=EC;if(n&&e){var r=rt(n).hoistableScripts,i=zd(e),a=r.get(i);a||(a=n.querySelector(Bd(i)),a||(e=Nf({src:e,async:!0},t),(t=CC.get(i))&&Wd(e,t),a=n.createElement(`script`),it(a),Ou(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}},S:function(e,t,n){TC.S(e,t,n);var r=EC;if(r&&e){var i=rt(r).hoistableStyles,a=Fd(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:vC,preload:null};if(o=r.querySelector(Id(a)))s.loading=yC|SC;else{e=Nf({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=CC.get(a))&&Ud(e,n);var c=o=r.createElement(`link`);it(c),Ou(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=yC}),c.addEventListener(`error`,function(){s.loading|=bC}),s.loading|=SC,Hd(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}},M:function(e,t){TC.M(e,t);var n=EC;if(n&&e){var r=rt(n).hoistableScripts,i=zd(e),a=r.get(i);a||(a=n.querySelector(Bd(i)),a||(e=Nf({src:e,async:!0,type:`module`},t),(t=CC.get(i))&&Wd(e,t),a=n.createElement(`script`),it(a),Ou(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}};var EC=typeof document>`u`?null:document,DC=null,OC=6e4,kC=800,AC=500,jC=0,MC=null,NC=null,PC=$f,FC={$$typeof:Vf,Provider:null,Consumer:null,_currentValue:PC,_currentValue2:PC,_threadCount:0},IC=`%c%s%c`,LC=`background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px`,RC=``,zC=` `,BC=Function.prototype.bind,VC=!1,HC=null,UC=null,WC=null,GC=null,KC=null,qC=null,JC=null,YC=null,XC=null,ZC=null;HC=function(e,r,i,a){r=t(e,r),r!==null&&(i=n(r.memoizedState,i,0,a),r.memoizedState=i,r.baseState=i,e.memoizedProps=Nf({},e.memoizedProps),i=_r(e,2),i!==null&&rl(i,e,2))},UC=function(e,n,r){n=t(e,n),n!==null&&(r=a(n.memoizedState,r,0),n.memoizedState=r,n.baseState=r,e.memoizedProps=Nf({},e.memoizedProps),r=_r(e,2),r!==null&&rl(r,e,2))},WC=function(e,n,i,a){n=t(e,n),n!==null&&(i=r(n.memoizedState,i,a),n.memoizedState=i,n.baseState=i,e.memoizedProps=Nf({},e.memoizedProps),i=_r(e,2),i!==null&&rl(i,e,2))},GC=function(e,t,r){e.pendingProps=n(e.memoizedProps,t,0,r),e.alternate&&(e.alternate.pendingProps=e.pendingProps),t=_r(e,2),t!==null&&rl(t,e,2)},KC=function(e,t){e.pendingProps=a(e.memoizedProps,t,0),e.alternate&&(e.alternate.pendingProps=e.pendingProps),t=_r(e,2),t!==null&&rl(t,e,2)},qC=function(e,t,n){e.pendingProps=r(e.memoizedProps,t,n),e.alternate&&(e.alternate.pendingProps=e.pendingProps),t=_r(e,2),t!==null&&rl(t,e,2)},JC=function(e){var t=_r(e,2);t!==null&&rl(t,e,2)},YC=function(e){var t=Be(),n=_r(e,t);n!==null&&rl(n,e,t)},XC=function(e){s=e},ZC=function(e){o=e};var QC=!0,$C=null,ew=!1,tw=null,nw=null,rw=null,iw=new Map,aw=new Map,ow=[],sw=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `),cw=null;if(Of.prototype.render=Df.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(`Cannot update an unmounted root.`);var n=arguments;typeof n[1]==`function`?console.error(`does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().`):b(n[1])?console.error(`You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root.`):n[1]!==void 0&&console.error(`You passed a second argument to root.render(...) but it only accepts one argument.`),n=e;var r=t.current;rf(r,tl(r),n,t,null,null)},Of.prototype.unmount=Df.prototype.unmount=function(){var e=arguments;if(typeof e[0]==`function`&&console.error(`does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().`),e=this._internalRoot,e!==null){this._internalRoot=null;var t=e.containerInfo;(nx&(qb|Jb))!==Kb&&console.error(`Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition.`),rf(e.current,2,null,e,null,null),cl(),t[Qp]=null}},Of.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ze();e={blockedOn:null,target:e,priority:t};for(var n=0;n<ow.length&&t!==0&&t<ow[n].priority;n++);ow.splice(n,0,e),n===0&&yf(e)}},(function(){var e=jf.version;if(e!==`19.2.8`)throw Error(`Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:
228  - react:      `+(e+`
229  - react-dom:  19.2.8
230Learn more: https://react.dev/warnings/version-mismatch`))})(),typeof Map==`function`&&Map.prototype!=null&&typeof Map.prototype.forEach==`function`&&typeof Set==`function`&&Set.prototype!=null&&typeof Set.prototype.clear==`function`&&typeof Set.prototype.forEach==`function`||console.error(`React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills`),Qf.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(`Unable to find node on an unmounted component.`):(e=Object.keys(e).join(`,`),Error(`Argument appears to not be a ReactComponent. Keys: `+e));return e=ne(t),e=e===null?null:re(e),e=e===null?null:e.stateNode,e},!(function(){var e={bundleType:1,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:L,reconcilerVersion:`19.2.8`};return e.overrideHookState=HC,e.overrideHookStateDeletePath=UC,e.overrideHookStateRenamePath=WC,e.overrideProps=GC,e.overridePropsDeletePath=KC,e.overridePropsRenamePath=qC,e.scheduleUpdate=JC,e.scheduleRetry=YC,e.setErrorHandler=XC,e.setSuspenseHandler=ZC,e.scheduleRefresh=v,e.scheduleRoot=_,e.setRefreshHandler=y,e.getCurrentFiber=lf,Ne(e)})()&&ih&&window.top===window.self&&(-1<navigator.userAgent.indexOf(`Chrome`)&&navigator.userAgent.indexOf(`Edge`)===-1||-1<navigator.userAgent.indexOf(`Firefox`))){var lw=window.location.protocol;/^(https?|file):$/.test(lw)&&console.info(`%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools`+(lw===`file:`?`
231You might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq`:``),`font-weight:bold`)}e.createRoot=function(e,t){if(!b(e))throw Error(`Target container is not a DOM element.`);kf(e);var n=!1,r=``,i=is,a=as,o=os;return t!=null&&(t.hydrate?console.warn(`hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />
231) instead.`):typeof t==`object`&&t&&t.$$typeof===Ff&&console.error(`You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:
232
233  let root = createRoot(domContainer);
234  root.render(<App />);`),!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=tf(e,1,!1,null,null,n,r,null,i,a,o,Ef),e[Qp]=t.current,fu(e),new Df(t)},e.hydrateRoot=function(e,t,n){if(!b(e))throw Error(`Target container is not a DOM element.`);kf(e),t===void 0&&console.error(`Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)`);var r=!1,i=``,a=is,o=as,s=os,c=null;return n!=null&&(!0===n.unstable_strictMode&&(r=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(o=n.onCaughtError),n.onRecoverableError!==void 0&&(s=n.onRecoverableError),n.formState!==void 0&&(c=n.formState)),t=tf(e,1,!0,t,n??null,r,i,c,a,o,s,Ef),t.context=nf(null),n=t.current,r=tl(n),r=qe(r),i=aa(r),i.callback=null,oa(n,i,r),pi(r,`hydrateRoot()`,null),n=r,t.current.lanes=n,He(t,n),Xl(t),e[Qp]=t.current,fu(e),new Of(t)},e.version=`19.2.8`,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),_=o(((e,t)=>{t.exports=g()})),v=`modulepreload`,y=function(e){return`/`+e},b={},x=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=y(t,n),t=s(t),t in b)return;b[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:v,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},S=l(d(),1),ee=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,te=/^[\\/]{2}/;function ne(e,t){return t+e.replace(/\\/g,`/`)}var re=`popstate`;function ie(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function C(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return se(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:ce(t)}return ue(t,n,null,e)}function ae(e,t){if(e===!1||e==null)throw Error(t)}function w(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function oe(){return Math.random().toString(36).substring(2,10)}function T(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function se(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?le(t):t,state:n,key:t&&t.key||r||oe(),mask:i}}function ce({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function le(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function ue(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=ie(e)?e:se(h.location,e,t);n&&n(r,e),l=u()+1;let d=T(r,l),f=h.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=ie(e)?e:se(h.location,e,t);n&&n(r,e),l=u();let i=T(r,l),d=h.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return de(i,e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(re,d),c=e,()=>{i.removeEventListener(re,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function de(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),ae(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:ce(t);return i=i.replace(/ $/,`%20`),!n&&te.test(i)&&(i=r+i),new URL(i,r)}function fe(e,t,n=`/`){return pe(e,t,n,!1)}function pe(e,t,n,r,i){let a=Me((typeof t==`string`?le(t):t).pathname||`/`,n);if(a==null)return null;let o=i??me(e),s=null,c=je(a);for(let e=0;s==null&&e<o.length;++e)s=De(o[e],c,r);return s}function me(e){let t=he(e);return _e(t),t}function he(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;ae(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}
234" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Be([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(ae(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),he(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:Te(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=Ae(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of ge(e.path))a(e,t,!0,n)}),t}function ge(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=ge(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function _e(e){e.sort((e,t)=>e.score===t.score?Ee(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ve=/^:[\w-]+$/,ye=3,be=2,xe=1,Se=10,Ce=-2,we=e=>e===`*`;function Te(e,t){let n=e.split(`/`),r=n.length;return n.some(we)&&(r+=Ce),t&&(r+=be),n.filter(e=>!we(e)).reduce((e,t)=>e+(ve.test(t)?ye:t===``?xe:Se),r)}function Ee(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function De(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u={path:s.relativePath,caseSensitive:s.caseSensitive,end:c},d=s.matcher&&s.compiledParams?ke(u,l,s.matcher,s.compiledParams):Oe(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=Oe({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;
234Object.assign(i,d.params),o.push({params:i,pathname:Be([a,d.pathname]),pathnameBase:He(Be([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=Be([a,d.pathnameBase]))}return o}function Oe(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Ae(e.path,e.caseSensitive,e.end);return ke(e,t,n,r)}function ke(e,t,n,r){let i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function Ae(e,t=!1,n=!0){w(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function je(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return w(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Me(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function Ne(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?le(e):e,a;return n?(n=ze(n),a=n.startsWith(`/`)?Pe(n.substring(1),`/`):Pe(n,t)):a=t,{pathname:a,search:Ue(r),hash:We(i)}}function Pe(e,t){let n=Ve(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function Fe(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Ie(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Le(e){let t=Ie(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Re(e,t,n,r=!1){let i;typeof e==`string`?i=le(e):(i={...e},ae(!i.pathname||!i.pathname.includes(`?`),Fe(`?`,`pathname`,`search`,i)),ae(!i.pathname||!i.pathname.includes(`#`),Fe(`#`,`pathname`,`hash`,i)),ae(!i.search||!i.search.includes(`#`),Fe(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=Ne(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var ze=e=>e.replace(/[\\/]{2,}/g,`/`),Be=e=>ze(e.join(`/`)),Ve=e=>e.replace(/\/+$/,``),He=e=>Ve(e).replace(/^\/*/,`/`),Ue=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,We=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ge=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Ke(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function qe(e){return Be(e.map(e=>e.route.path).filter(Boolean))||`/`}var Je=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Ye(e,t){let n=e;if(typeof n!=`string`||!ee.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Je)try{let e=new URL(window.location.href),r=te.test(n)?new URL(ne(n,e.protocol)):new URL(n),a=Me(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{w(!1,`<Link to="${n}">
234 contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Xe=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(Xe);var Ze=[`GET`,...Xe];new Set(Ze);var Qe=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function $e(e){try{return Qe.includes(new URL(e).protocol)}catch{return!1}}var et=S.createContext(null);et.displayName=`DataRouter`;var tt=S.createContext(null);tt.displayName=`DataRouterState`;var nt=S.createContext(!1);function rt(){return S.useContext(nt)}var it=S.createContext({isTransitioning:!1});it.displayName=`ViewTransition`;var at=S.createContext(new Map);at.displayName=`Fetchers`;var ot=S.createContext(null);ot.displayName=`Await`;var st=S.createContext(null);st.displayName=`Navigation`;var ct=S.createContext(null);ct.displayName=`Location`;var lt=S.createContext({outlet:null,matches:[],isDataRoute:!1});lt.displayName=`Route`;var ut=S.createContext(null);ut.displayName=`RouteError`;var dt=`REACT_ROUTER_ERROR`,ft=`REDIRECT`,pt=`ROUTE_ERROR_RESPONSE`;function mt(e){if(e.startsWith(`${dt}:${ft}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function ht(e){if(e.startsWith(`${dt}:${pt}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Ge(t.status,t.statusText,t.data)}catch{}}function gt(e,{relative:t}={}){ae(_t(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=S.useContext(st),{hash:i,pathname:a,search:o}=wt(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Be([n,a])),r.createHref({pathname:s,search:o,hash:i})}function _t(){return S.useContext(ct)!=null}function vt(){return ae(_t(),`useLocation() may be used only in the context of a <Router> component.`),S.useContext(ct).location}var yt=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function bt(e){S.useContext(st).static||S.useLayoutEffect(e)}function xt(){let{isDataRoute:e}=S.useContext(lt);return e?Vt():St()}function St(){ae(_t(),`useNavigate() may be used only in the context of a <Router> component.`);let e=S.useContext(et),{basename:t,navigator:n}=S.useContext(st),{matches:r}=S.useContext(lt),{pathname:i}=vt(),a=JSON.stringify(Le(r)),o=S.useRef(!1);return bt(()=>{o.current=!0}),S.useCallback((r,s={})=>{if(w(o.current,yt),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Re(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Be([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}S.createContext(null);function Ct(){let{matches:e}=S.useContext(lt);return e[e.length-1]?.params??{}}function wt(e,{relative:t}={}){let{matches:n}=S.useContext(lt),{pathname:r}=vt(),i=JSON.stringify(Le(n));return S.useMemo(()=>Re(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function Tt(e,t){return Et(e,t)}function Et(e,t,n){ae(_t(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=S.useContext(st),{matches:i}=S.useContext(lt),a=i[i.length-1],o=a?a.params:{},s=a?a.pathname:`/`,c=a?a.pathnameBase:`/`,l=a&&a.route;{let e=l&&l.path||``;Ut(s,!l||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${s}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
235
236Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let u=vt(),d;if(t){let e=typeof t==`string`?le(t):t;ae(c===`/`||e.pathname?.startsWith(c),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let f=d.pathname||`/`,p=f;if(c!==`/`){let e=c.replace(/^\//,``).split(`/`);p=`/`+f.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let m=n&&n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):fe(e,{pathname:p});w(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),w(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let h=Nt(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:Be([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:Be([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?S.createElement(ct.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...d},navigationType:`POP`}},h):h}function Dt(){let e=Bt(),t=Ke(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=S.createElement(S.Fragment,null,S.createElement(`p`,null,`💿 Hey developer 👋`),S.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,S.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,S.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),S.createElement(S.Fragment,null,S.createElement(`h2`,null,`Unexpected Application 
236Error!`),S.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?S.createElement(`pre`,{style:i},n):null,o)}var Ot=S.createElement(Dt,null),kt=class extends S.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=ht(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:S.createElement(lt.Provider,{value:this.props.routeContext},S.createElement(ut.Provider,{value:e,children:this.props.component}));return this.context?S.createElement(jt,{error:e},t):t}};kt.contextType=nt;var At=new WeakMap;function jt({children:e,error:t}){let{basename:n}=S.useContext(st);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=mt(t.digest);if(e){let r=At.get(t);if(r)throw r;let i=Ye(e.location,n),a=i.absoluteURL||i.to;if($e(a))throw Error(`Invalid redirect location`);if(Je&&!At.get(t))if(i.isExternal||e.reloadDocument)window.location.href=a;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw At.set(t,n),n}return S.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a}`})}}return e}function Mt({routeContext:e,match:t,children:n}){let r=S.useContext(et);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),S.createElement(lt.Provider,{value:e},n)}function Nt(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);ae(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:qe(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||Ot,o&&(s<0&&c===0?(Ut(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?S.createElement(n.route.Component,null):n.route.element?n.route.element:e,S.createElement(Mt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?S.createElement(kt,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function Pt(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ft(e){let t=S.useContext(et);return ae(t,Pt(e)),t}function It(e){let t=S.useContext(tt);return ae(t,Pt(e)),t}function Lt(e){let t=S.useContext(lt);return ae(t,Pt(e)),t}function Rt(e){let t=Lt(e),n=t.matches[t.matches.length-1];return ae(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function zt(){return Rt(`useRouteId`)}function Bt(){let e=S.useContext(ut),t=It(`useRouteError`),n=Rt(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Vt(){let{router:e}=Ft(`useNavigate`),t=Rt(`useNavigate`),n=S.useRef(!1);return bt(()=>{n.current=!0}),S.useCallback(async(r,i={})=>{w(n.current,yt),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var Ht={};function Ut(e,t,n){!t&&!Ht[e]&&(Ht[e]=!0,w(!1,n))}S.memo(Wt);function Wt({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return Et(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function Gt({to:e,replace:t,state:n,relative:r}){ae(_t(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:i}=S.useContext(st);w(!i,`<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.`);let{matches:a}=S.useContext(lt),{pathname:o}=vt(),s=xt(),c=Re(e,Le(a),o,r===`path`),l=JSON.stringify(c);return S.useEffect(()=>{s(JSON.parse(l),{replace:t,state:n,relative:r})},[s,l,r,t,n]),null}function Kt(e){ae(!1,`A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`)}function qt({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){ae(!_t(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=S.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=le(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=S.useMemo(()=>{let e=Me(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);
236return w(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:S.createElement(st.Provider,{value:c},S.createElement(ct.Provider,{children:t,value:h}))}function Jt({children:e,location:t}){return Tt(Yt(e),t)}S.Component;function Yt(e,t=[]){let n=[];return S.Children.forEach(e,(e,r)=>{if(!S.isValidElement(e))return;let i=[...t,r];if(e.type===S.Fragment){n.push.apply(n,Yt(e.props.children,i));return}ae(e.type===Kt,`[${typeof e.type==`string`?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ae(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=Yt(e.props.children,i)),n.push(a)}),n}var Xt=`get`,Zt=`application/x-www-form-urlencoded`;function Qt(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function $t(e){return Qt(e)&&e.tagName.toLowerCase()===`button`}function en(e){return Qt(e)&&e.tagName.toLowerCase()===`form`}function tn(e){return Qt(e)&&e.tagName.toLowerCase()===`input`}function nn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function rn(e,t){return e.button===0&&(!t||t===`_self`)&&!nn(e)}var an=null;function on(){if(an===null)try{new FormData(document.createElement(`form`),0),an=!1}catch{an=!0}return an}var sn=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function cn(e){return e!=null&&!sn.has(e)?(w(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Zt}"`),null):e}function ln(e,t){let n,r,i,a,o;if(en(e)){let o=e.getAttribute(`action`);r=o?Me(o,t):null,n=e.getAttribute(`method`)||Xt,i=cn(e.getAttribute(`enctype`))||Zt,a=new FormData(e)}else if($t(e)||tn(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?Me(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||Xt,i=cn(e.getAttribute(`formenctype`))||cn(o.getAttribute(`enctype`))||Zt,a=new FormData(o,e),!on()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(Qt(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=Xt,r=null,i=Zt,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function un(e,t){if(e===!1||e==null)throw Error(t)}function dn(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return i.pathname=n?i.pathname.endsWith(`/`)?`${i.pathname}_.${r}`:`${i.pathname}.${r}`:i.pathname===`/`?`_root.${r}`:t&&Me(i.pathname,t)===`/`?`${Ve(t)}/_root.${r}`:`${Ve(i.pathname)}.${r}`,i}async function fn(e,t){if(e.id in t)return t[e.id];try{let n=await x(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function pn(e){return e!=null&&typeof e.page==`string`}function mn(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function hn(e,t,n){return bn((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await fn(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(mn).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function gn(e,t,n,r,i,a){let o=(e,t)=>!n[t]||e.route.id!==n[t].route.id,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>
236o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function _n(e,t,{includeHydrateFallback:n}={}){return vn(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function vn(e){return[...new Set(e)]}function yn(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function bn(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!pn(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(yn(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function xn(){let e=S.useContext(et);return un(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Sn(){let e=S.useContext(tt);return un(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Cn=S.createContext(void 0);Cn.displayName=`FrameworkContext`;function wn(){let e=S.useContext(Cn);return un(e,`You must render this element inside a <HydratedRouter> element`),e}function Tn(e,t){let n=S.useContext(Cn),[r,i]=S.useState(!1),[a,o]=S.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=S.useRef(null);S.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),S.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:En(s,p),onBlur:En(c,m),onMouseEnter:En(l,p),onMouseLeave:En(u,m),onTouchStart:En(d,p)}]:[a,f,{}]:[!1,f,{}]}function En(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Dn({page:e,...t}){let n=rt(),{nonce:r}=wn(),{router:i}=xn(),a=S.useMemo(()=>fe(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?S.createElement(kn,{page:e,matches:a,...t}):S.createElement(An,{page:e,matches:a,...t})):null}function On(e){let{manifest:t,routeModules:n}=wn(),[r,i]=S.useState([]);return S.useEffect(()=>{let r=!1;return hn(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function kn({page:e,matches:t,...n}){let r=vt(),{future:i}=wn(),{basename:a}=xn(),o=S.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=dn(e,a,i.v8_trailingSlashAwareDataRequests,`rsc`),o=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?o=!0:s.push(e.route.id);return o&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[a,i.v8_trailingSlashAwareDataRequests,e,r,t]);return S.createElement(S.Fragment,null,o.map(e=>S.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function An({page:e,matches:t,...n}){let r=vt(),{future:i,manifest:a,routeModules:o}=wn(),{basename:s}=xn(),{loaderData:c,matches:l}=Sn(),u=S.useMemo(()=>gn(e,t,l,a,r,`data`),[e,t,l,a,r]),d=S.useMemo(()=>gn(e,t,l,a,r,`assets`),[e,t,l,a,r]),f=S.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,l=!1;if(t.forEach(e=>{let t=a.routes[e.route.id];!t||!t.hasLoader||(!u.some(t=>t.route.id===e.route.id)&&e.route.id in c&&o[e.route.id]?.shouldRevalidate||t.hasClientLoader?l=!0:n.add(e.route.id))}),n.size===0)return[];let d=dn(e,s,i.v8_trailingSlashAwareDataRequests,`data`);return l&&n.size>0&&d.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[d.pathname+d.search]},[s,i.v8_trailingSlashAwareDataRequests,c,r,a,u,t,e,o]),p=S.useMemo(()=>_n(d,a),[d,a]),m=On(d);return S.createElement(S.Fragment,null,f.map(e=>S.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),p.map(e=>S.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),m.map(({key:e,link:t})=>S.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function jn(...e){return t=>
236{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}S.Component;var Mn=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Mn&&(window.__reactRouterVersion=`7.18.2`)}catch{}function Nn({basename:e,children:t,useTransitions:n,window:r}){let i=S.useRef();i.current??=C({window:r,v5Compat:!0});let a=i.current,[o,s]=S.useState({action:a.action,location:a.location}),c=S.useCallback(e=>{n===!1?s(e):S.startTransition(()=>s(e))},[n]);return S.useLayoutEffect(()=>a.listen(c),[a,c]),S.createElement(qt,{basename:e,children:t,location:o.location,navigationType:o.action,navigator:a,useTransitions:n})}var Pn=S.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,mask:o,state:s,target:c,to:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m){let{basename:h,navigator:g,useTransitions:_}=S.useContext(st),v=typeof l==`string`&&ee.test(l),y=Ye(l,h);l=y.to;let b=gt(l,{relative:r}),x=vt(),te=null;if(o){let e=Re(o,[],x.mask?x.mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:Be([h,e.pathname])),te=g.createHref(e)}let[ne,re,ie]=Tn(n,p),C=zn(l,{replace:a,mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,defaultShouldRevalidate:f,useTransitions:_});function ae(t){e&&e(t),t.defaultPrevented||C(t)}let w=!(y.isExternal||i),oe=S.createElement(`a`,{...p,...ie,href:(w?te:void 0)||y.absoluteURL||b,onClick:w?ae:e,ref:jn(m,re),target:c,"data-discover":!v&&t===`render`?`true`:void 0});return ne&&!v?S.createElement(S.Fragment,null,oe,S.createElement(Dn,{page:b})):oe});Pn.displayName=`Link`;var Fn=S.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=wt(a,{relative:c.relative}),d=vt(),f=S.useContext(tt),{navigator:p,basename:m}=S.useContext(st),h=f!=null&&Wn(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,_=d.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(_=_.toLowerCase(),v=v?v.toLowerCase():null,g=g.toLowerCase()),v&&m&&(v=Me(v,m)||v);let y=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,b=_===g||!r&&_.startsWith(g)&&_.charAt(y)===`/`,x=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(g.length)===`/`),ee={isActive:b,isPending:x,isTransitioning:h},te=b?e:void 0,ne;ne=typeof n==`function`?n(ee):[n,b?`active`:null,x?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let re=typeof i==`function`?i(ee):i;return S.createElement(Pn,{...c,"aria-current":te,className:ne,ref:l,style:re,to:a,viewTransition:o},typeof s==`function`?s(ee):s)});Fn.displayName=`NavLink`;var In=S.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=Xt,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m)=>{let{useTransitions:h}=S.useContext(st),g=Hn(),_=Un(s,{relative:l}),v=o.toLowerCase()===`get`?`get`:`post`,y=typeof s==`string`&&ee.test(s);return S.createElement(`form`,{ref:m,method:v,action:_,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f});h&&n!==!1?S.startTransition(()=>p()):p()},...p,"data-discover":!y&&e===`render`?`true`:void 0})});In.displayName=`Form`;function Ln(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function Rn(e){let t=S.useContext(et);return ae(t,Ln(e)),t}function zn(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c,useTransitions:l}={}){let u=xt(),d=vt(),f=wt(e,{relative:o});return S.useCallback(p=>{if(rn(p,t)){p.preventDefault();let t=n===void 0?ce(d)===ce(f):n,m=()=>u(e,{replace:t,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c});l?S.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}var Bn=0,Vn=()=>`__${String(++Bn)}__`;function Hn(){let{router:e}
236=Rn(`useSubmit`),{basename:t}=S.useContext(st),n=zt(),r=e.fetch,i=e.navigate;return S.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=ln(e,t);if(a.navigate===!1){let e=a.fetcherKey||Vn();await r(e,n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync})}else await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function Un(e,{relative:t}={}){let{basename:n}=S.useContext(st),r=S.useContext(lt);ae(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...wt(e||`.`,{relative:t})},o=vt();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:Be([n,a.pathname])),ce(a)}function Wn(e,{relative:t}={}){let n=S.useContext(it);ae(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Rn(`useViewTransitionState`),i=wt(e,{relative:t});if(!n.isTransitioning)return!1;let a=Me(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=Me(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Oe(i.pathname,o)!=null||Oe(i.pathname,a)!=null}var Gn=_(),Kn={info:(...e)=>{console.info(`[INFO]`,...e)},warn:(...e)=>{console.warn(`[WARN]`,...e)},error:(...e)=>{console.error(`[ERROR]`,...e)}},qn=o((e=>{(function(){function t(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ae?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case te:return`Suspense`;case ne:return`SuspenseList`;case C:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case _:return`Portal`;case S:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case ee:var n=e.render;return e=e.displayName,e||=(e=n.displayName||n.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case re:return n=e.displayName||null,n===null?t(e.type)||`Memo`:n;case ie:n=e._payload,e=e._init;try{return t(e(n))}catch{}}return null}function n(e){return``+e}function r(e){try{n(e);var t=!1}catch{t=!0}if(t){t=console;var r=t.error,i=typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`;return r.call(t,`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,i),n(e)}}function i(e){if(e===v)return`<>`;if(typeof e==`object`&&e&&e.$$typeof===ie)return`<...>`;try{var n=t(e);return n?`<`+n+`>`:`<...>`}catch{return`<...>`}}function a(){var e=w.A;return e===null?null:e.getOwner()}function o(){return Error(`react-stack-top-frame`)}function s(e){if(oe.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function c(e,t){function n(){ce||(ce=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}function l(){var e=t(this.type);return le[e]||(le[e]=!0,console.error(`Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.`)),e=this.props.ref,e===void 0?null:e}function u(e,t,n,r,i,a){var o=n.ref;return e={$$typeof:g,type:e,key:t,props:n,_owner:r}
236,(o===void 0?null:o)===null?Object.defineProperty(e,"ref",{enumerable:!1,value:null}):Object.defineProperty(e,"ref",{enumerable:!1,get:l}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function f(e,n,i,o,l,d){var f=n.children;if(f!==void 0)if(o)if(T(f)){for(o=0;o<f.length;o++)p(f[o]);Object.freeze&&Object.freeze(f)}else console.error(`React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.`);else p(f);if(oe.call(n,`key`)){f=t(e);var m=Object.keys(n).filter(function(e){return e!==`key`});o=0<m.length?`{key: someKey, `+m.join(`: ..., `)+`: ...}`:`{key: someKey}`,fe[f+o]||(m=0<m.length?`{`+m.join(`: ..., `)+`: ...}`:`{}`,console.error(`A props object containing a "key" prop is being spread into JSX:
237  let props = %s;
238  <%s {...props} />
239React keys must be passed directly to JSX without using spread:
240  let props = %s;
241  <%s key={someKey} {...props} />`,o,f,m,f),fe[f+o]=!0)}if(f=null,i!==void 0&&(r(i),f=``+i),s(n)&&(r(n.key),f=``+n.key),`key`in n)for(var h in i={},n)h!==`key`&&(i[h]=n[h]);else i=n;return f&&c(i,typeof e==`function`?e.displayName||e.name||`Unknown`:e),u(e,f,i,a(),l,d)}function p(e){m(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===ie&&(e._payload.status===`fulfilled`?m(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function m(e){return typeof e==`object`&&!!e&&e.$$typeof===g}var h=d(),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),ee=Symbol.for(`react.forward_ref`),te=Symbol.for(`react.suspense`),ne=Symbol.for(`react.suspense_list`),re=Symbol.for(`react.memo`),ie=Symbol.for(`react.lazy`),C=Symbol.for(`react.activity`),ae=Symbol.for(`react.client.reference`),w=h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,oe=Object.prototype.hasOwnProperty,T=Array.isArray,se=console.createTask?console.createTask:function(){return null};h={react_stack_bottom_frame:function(e){return e()}};var ce,le={},ue=h.react_stack_bottom_frame.bind(h,o)(),de=se(i(o)),fe={};e.Fragment=v,e.jsxDEV=function(e,t,n,r){var a=1e4>w.recentlyCreatedOwnerStacks++;return f(e,t,n,r,a?Error(`react-stack-top-frame`):ue,a?se(i(e)):de)}})()})),E=o(((e,t)=>{t.exports=qn()}))(),Jn=`/opt/src/frontend/src/contexts/AuthContext.tsx`,Yn=(0,S.createContext)(void 0),Xn=({children:e})=>{let[t,n]=(0,S.useState)(!1),[r,i]=(0,S.useState)(null);(0,S.useEffect)(()=>{let e=localStorage.getItem(`token`);e&&o(e)},[]);let a=async(e,t={})=>{let n=localStorage.getItem(`token`),r=new Headers(t.headers);r.set(`Authorization`,`Bearer ${n}`);let i={...t,headers:r,credentials:`include`};return fetch(e,i)},o=async e=>{try{let e=await a(`/api/auth/validate`,{method:`GET`});if(e.ok){let t=await e.json();n(!0),i(t.user)}else if(e.status===401||e.status===403)c();else{let t=await e.json().catch(()=>({}));Kn.error(`Token validation failed with server error:`,t)}}catch(e){Kn.error(`Network error during token validation:`,e)}},s=async e=>{localStorage.setItem(`token`,e),await o(e)},c=async()=>{try{await a(`/api/auth/logout`,{method:`POST`})}catch(e){Kn.error(`Error logging out:`,e)}finally{localStorage.removeItem(`token`),n(!1),i(null)}};return(0,E.jsxDEV)(Yn.Provider,{value:{isAuthenticated:t,user:r,login:s,logout:c,updateUserPreferences:async e=>{if(!r)throw Error(`User not authenticated`);try{let t=await a(`/api/user/preferences`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(t.ok){let{user:e}=await t.json();i(e)}else throw Error(`Failed to update user preferences`)}catch(e){throw Kn.error(`Error updating user preferences:`,e),e}},authenticatedRequest:a},children:e},void 0,!1,{fileName:Jn,lineNumber:142,columnNumber:5},void 0)},Zn=()=>{let e=(0,S.useContext)(Yn);if(e===void 0)throw Error(`useAuth must be used within an AuthProvider`);return e},Qn={common:{backToMenu:`Back to Overview`},header:{about:`About`,blog:`Blog`,games:`Games`,divers:{main:`Interests`,webcams:`Airport Webcams`,drones:`Drones`,testing:`Testing`,"3dPrinters":`3D Printers`,machineLearning:`Machine Learning`,unterwasserrugby:`Underwater Rugby`},services:`Services`,login:`Login`,logout:`Logout`,profile:`Profile`,projects:`Projects`},divers:{webcamDescription:`Live webcams from airports worldwide`,dronesDescription:`Information and technologies about drones`,testingDescription:`Various test pages and experiments`,"3dPrintersDescription":`Insights into 3D printing technology`,machineLearningDescription:`Current AI technologies and applications`,unterwasserrugbyDescription:`Unique team sport underwater`},threeDPrinters:{title:`3D Printers`,sidewinderX1:{overview:`The Artillery Sidewinder X1 is an advanced 3D printer known for precision and reliability. It is excellent for hobbyists and advanced users.`,specifications:{title:`Technical Specifications`,printVolume:`Print Volume: 300 x 300 x 400 mm`,printSpeed:`Print Speed: Up to 150 mm/s`,nozzleDiameter:`Nozzle Diameter: 0.4 mm`,supp
241ortedMaterials:`Supported Materials: PLA, PETG, ABS`,extruder:`Direct Drive Extruder`,mainboard:`Silent Mainboard`},features:{title:`Special Features`,metalFrame:`Robust Metal Frame for Stability`,autoLeveling:`Automatic Bed Leveling`,precision:`High-Precision Print Results`}},bambuLabP1S:{overview:`The BambuLab P1S is a modern 3D printer with advanced features. Generally very satisfying, but has some disadvantages for professionals, especially regarding network configuration.`,specifications:{title:`Technical Specifications`,printVolume:`Print Volume: 256 x 256 x 256 mm`,printSpeed:`Print Speed: Up to 500 mm/s`,nozzleDiameter:`Nozzle Diameter: 0.4 mm (replaceable)`,supportedMaterials:`Supported Materials: PLA, PETG, ABS, ASA, PC, PA, PVA, HIPS`,extruder:`Automatic Material System (AMS)`,connectivity:`WiFi, Ethernet, USB`},features:{title:`Special Features`,autoCalibration:`Fully Automatic Calibration`,aiDetection:`AI-based Error Detection`,multiColor:`Multi-Material/Multi-Color Printing`,cloudIntegration:`Cloud Integration and Remote Monitoring`},professionalLimitations:{title:`Professional Limitations`,lanOnlyLimitation:`No SD card view in LAN-Only mode`,udpDiscovery:`UDP Discovery doesn't work across VLANs`,vlanSolution:`Solution: udpbroadcastrelay for cross-VLAN communication`,wikiReference:`Detailed guide available at:`}}},drones:{title:`Drone Technology and Applications`,overview:`Drones have evolved from military devices to versatile technologies applied in various fields.`,categories:{consumer:{title:`Consumer Drones`,description:`Drones for photography, videography, and recreational activities`,examples:[{name:`DJI FPV`,description:`Immersive First-Person-View drone with impressive speed`,features:[`4K/60fps Super Wide-Angle Camera`,`Maximum speed of 140 km/h`,`Up to 20 minutes flight time`,`Emergency Brake and Hover`]},{name:`Yuneec Typhoon H`,description:`Professional hexacopter drone for demanding aerial shots`,features:[`360-degree Camera Rotation`,`Six Rotors for Increased Stability`,`Intelligent Flight Modes`,`Integrated Thermal Camera`]}]},professional:{title:`Professional Drones`,description:`Drones for industry, agriculture, surveying, and emergency services`,applications:[{sector:`Agriculture`,uses:[`Crop Mapping`,`Precise Irrigation Planning`,`Pest Monitoring`,`Soil Condition Analysis`]},{sector:`Emergency Services`,uses:[`Search and Rescue`,`Disaster Monitoring`,`Aerial Emergency Assessment`,`Temperature Measurement`]}]},military:{title:`Military Drones`,description:`Advanced unmanned aerial vehicles for reconnaissance and operations`,types:[{name:`Reconnaissance Drones`,capabilities:[`High-Resolution Image Capture`,`Real-Time Transmission`,`Night Vision Capabilities`,`Extended Flight Duration`]},{name:`Combat Drones`,capabilities:[`Precision Strikes`,`Remote-Controlled Missions`,`Minimal Risk to Human Crews`]}]}},ethicalConsiderations:{title:`Ethical Considerations`,privacyTitle:`Privacy`,privacyDescription:`Drones raise important questions about privacy protection, especially regarding unintended surveillance and image capture.`,regulationTitle:`Legal Regulations`,regulationDescription:`Many countries have specific laws governing drone usage, including flight altitude, flight zones, and registration requirements.`},futureTrends:{title:`Future Trends`,developments:[`Autonomous Navigation Systems`,`Enhanced Battery Technology`,`AI-Driven Decision Making`,`Miniaturization`,`Swarm Technology`]}},unterwasserrugby:{generalInfoTitle:`Underwater Rugby: A Dynamic Water Sport`,description1:`Underwater Rugby is a fascinating contact sport played in a swimming pool. Two six-player teams compete to place a salt water-filled ball into the opponent's goal at the bottom of the pool.`,description2:`The sport demands exceptional physical fitness, endurance, strength, and tactical skill. Players must be able to dive underwater, control the ball, and simultaneously defend against opposing players.`,keyFact:`A unique team sport combining elements of rugby, swimming, and diving.`,videos:`Videos`,video1Title:`Introduction into Underwater Rugby`,video2Title:`Underwater Rugby in Bonn`,gameplayTitle:`Gameplay and Rules`,gameplayDescription:`The game is played in two 15-minute halves. Each team consists of up to 15 players, with six playing simultaneously in the water. Players alternate in short intervals, typically after 1-3 minutes. The playing field is a swimming pool with at least 3.5m depth and 12-18m length as well as 8-12m width.`,rulesTitle:`Detailed Game Rules`,rulesDescription:`The game follows official VDST rules. The ball may only be held with one hand, passes are allowed in all directions. Body contact is permitted, but hitting, kicking or dangerous actions are prohibited. Rule violations result in free throws or penalty throws. The game is officiated by two referees - one in the water and one at the poolside.`,equipmentTitle:`Equipment`,equipmentDescription:`Players wear specialized gear: swim fins, diving masks, snorkels, and caps with ear protectors in team colors. The ball is handball-sized and filled with saturated salt solution, causing it to sink slowly. The goals consist of heavy metal baskets at the pool bottom.`,positionsTitle:`The Three Player Positions`,positionsDescription:`In Underwater Rugby there are three specialized positions, each requiring different tasks and skills:`,positionDeckel:`Deckel (Goalkeeper): Defends the own goal at the pool bottom. Must have excellent apnea skills and be able to quickly switch between surface and depth.`,positionDackel:`Dackel (Defender): Plays mainly in the depths and disrupts opposing attacks. Requires excellent underwater navigation and physical strength for duels at the pool bottom.`,positionStrum:`Strum (Attacker): Leads attacks and attempts to score goals. Must be able to swim fast and master precise passes as well as goal shots. Often the most agile player on the team.`,tacticsTitle:`Tactics and Strategy`,tacticsDescription:`Successful teams use coordinated attack and defense strategies. Quick position changes, precise passes and teamwork are crucial. Limited breath makes timing and efficie
241ncy critical factors.`,techniquesTitle:`Techniques and Skills`,techniquesDescription:`Players move exclusively using fin strokes underwater. The ball is held with one hand to allow swimming and defensive movements. Passes are made through short, powerful movements. Important techniques include 'diving down', 'ball handling' and 'positional play'.`,challengesTitle:`Challenges of the Sport`,challengesDescription:`Underwater Rugby is an extremely demanding sport requiring excellent apnea skills, spatial orientation, and teamwork. Games are often very defensive and end with narrow results. The three-dimensional gameplay and oxygen deprivation make every play a challenge.`,originTitle:`Origin and Development`,originDescription:`The sport originated in Sweden in the 1960s as a training method for divers and has since spread worldwide. Germany is one of the leading nations in Underwater Rugby. The VDST (German Diving Sports Association) organizes national competitions and provides the official rulebook.`,safetyTitle:`Safety and Fair Play`,safetyDescription:`Despite its physical nature, Underwater Rugby places great emphasis on fairness and safety. Unsportsmanlike behavior such as hitting or dangerous attacks are strictly penalized. All players must be able to swim and have basic diving knowledge.`,competitionTitle:`Competitions and Organization`,competitionDescription:`The VDST organizes state and national championships as well as international tournaments. The competition regulations govern all aspects from team lineup to referee training. Official referees undergo special training according to the VDST referee regulations.`,linupPlannerTitle:`Lineup Planner`,linupPlannerDescription:`A special lineup planner is available for tactical preparation and game planning. This tool helps coaches and teams with optimal positioning and strategy development.`,linupPlannerLink:`To Lineup Planner`,officialResourcesTitle:`Official Resources`,vdstMainPage:`VDST Underwater Rugby Main Page`,officialRules:`Official Rulebook (VDST)`,competitionRules:`Competition Regulations (VDST)`,refereeRules:`Referee Regulations (VDST)`},machineLearning:{title:`Machine Learning & AI`,description:`A comprehensive collection of AI technologies and services revolutionizing modern creativity and productivity. Discover innovative tools transforming communication, image generation, presentation creation, and more.`,categories:{chatBots:{title:`Chat Bots`,description:`Interactive AI assistants capable of complex conversations, answering questions, and helping with various tasks. From scientific research to creative projects.`,items:{chatGPT:{name:`OpenAI ChatGPT`,description:`The most famous AI chatbot that generates texts, answers questions, and supports various tasks.`,extendedInfo:`ChatGPT is an advanced AI language model developed by OpenAI. It can generate texts, answer questions, perform translations, write code, and handle complex tasks in areas like programming, creativity, analysis, and problem-solving. The technology is based on a neural network trained on an extensive text database.`,url:`https://chat.openai.com/`},claude:{name:`Claude`,description:`An advanced AI assistant with a particularly ethical and precise approach to information processing.`,extendedInfo:`Claude is an AI assistant from Anthropic, characterized by particularly ethical and precise information processing. It was developed with a strong focus on safety and responsible AI use. Claude can solve complex tasks, analyze scientific texts, and provides detailed and nuanced answers.`,url:`https://www.anthropic.com/index/introducing-claude`},agentGPT:{name:`AgentGPT`,description:`A goal-oriented AI agent capable of independently planning and executing complex tasks.`,extendedInfo:`AgentGPT is an innovative AI system that enables autonomous task planning and execution. It can independently define goals, develop strategies, and plan steps to achieve them. Particularly useful for complex project management and research tasks.`,url:`https://agentgpt.reworkd.ai/`},forefrontAI:{name:`Forefront AI`,description:`Flexible AI platform with access to various advanced language models.`,extendedInfo:`Forefront AI is a versatile platform offering access to various advanced language models like GPT-3.5, GPT-4, and Claude. It allows users to compare different AI models and use them for various use cases.`,url:`https://www.forefront.ai/`},perplexityAI:{name:`Perplexity AI`,description:`AI research tool focusing on scie
241ntific accuracy and source citations.`,extendedInfo:`Perplexity AI is an AI-powered research tool specializing in scientific accuracy and source citations. It searches extensive databases, generates precise answers, and provides direct references to original sources.`,url:`https://www.perplexity.ai`},poe:{name:`Poe`,description:`Versatile AI platform with multiple chatbots and image generation functions.`,extendedInfo:`Poe is a comprehensive AI platform offering access to various chatbots and image generation functions. Users can switch between different AI models, generate images, and conduct complex conversations.`,url:`https://poe.com`}}},imageGenerator:{title:`Image Generators`,description:`AI-powered tools generating high-quality, creative, and realistic images from text descriptions. Perfect for design, art, and visual communication.`,items:{midjourney:{name:`Midjourney`,description:`Highly advanced image generator with exceptional detail and artistic quality.`,extendedInfo:`Midjourney is an AI image generator known for its exceptional artistic quality and detail precision. It can generate high-quality, often surreal and stylized images from text descriptions. Particularly popular in art and design circles.`,url:`https://www.midjourney.com/home`},stableDiffusion:{name:`Stable Diffusion`,description:`Open-source image generator with high adaptability and self-hosting option.`,extendedInfo:`Stable Diffusion is an open-source image generator that offers users maximum flexibility and control. It can be hosted locally, allows fine-tuning, and is particularly interesting for developers and tinkerers.`,url:`https://stability.ai/`},dallE:{name:`DALL-E`,description:`OpenAI's image generation tool with solid results and user-friendly interface.`,extendedInfo:`DALL-E by OpenAI is a user-friendly image generator that creates realistic and creative images from text descriptions. It is distinguished by its accessibility and solid image quality.`,url:`https://labs.openai.com/`}}},powerpointAI:{title:`Presentation AI`,description:`Intelligent tools for automatically creating professional presentations with AI-powered design and content suggestions.`,items:{beautifulAI:{name:`Beautiful AI`,description:`AI presentation tool creating elegant and professional designs with minimal effort.`,extendedInfo:`Beautiful AI is an AI-powered presentation tool that automatically generates elegant and professional designs. It reduces the time spent on presentation creation and offers intelligent layout and design suggestions.`,url:`https://www.beautiful.ai/`},simplified:{name:`Simplified`,description:`Rapid AI presentation creation with multilingual support and intuitive interface.`,extendedInfo:`Simplified is an AI platform for rapid presentation creation with support for multiple languages. It offers an intuitive user interface, automatic content suggestions, and professional design options.`,url:`https://simplified.com/ai-presentations`}}},tools:{title:`AI Tools`,description:`Specialized AI applications for specific tasks like image editing, text transformation, and more.`,items:{watermarkRemover:{name:`Watermark Remover`,description:`AI-powered tool for intelligently removing watermarks from images.`,extendedInfo:`Watermark Remover is an AI tool that can intelligently and seamlessly remove watermarks from images. It uses advanced image recognition and restoration algorithms to clean up images.`,url:`https://www.watermarkremover.io/`}}},music:{title:`Music AI`,description:`Innovative AI systems for music composition capable of generating complex melodies and arrangements.`,items:{suno:{name:`Suno`,description:`Advanced AI for music generation with high creativity and sound quality.`,extendedInfo:`Suno is an AI platform for music generation that has been able to create high-quality and creative music pieces since version 3. It analyzes music styles, generates original compositions, and provides musicians and creatives with new sources of inspiration.`,url:`https://suno.com`}}}}},footer:{impressum:`Legal Notice`,datenschutz:`Privacy Policy`,copyright:`© 2024-2026 PaBr Webpage. All rights reserved.`},impressum:{title:`Legal Notice`,content:`Legal information about the website operator and responsible parties will be displayed here.`,kekseButton:`Learn More About Our Cookies`,kekseBanner:{title:`This site shamelessly offers you cookies for a better user experience.`,description:`By visiting, you agree to this audacious behavior.`,disclaimer:`* Disclaimer: No actual cookies are offered. This website also doesn't use tracking cookies. This is just a joke about cookie banners. Sorry, buddy! 🍪`,acceptButton:`Alright, bro, do it!`,rejectButton:`I hate cookies, dude.`}},datenschutz:{title:`Privacy Policy`,content:`Information about data protection and privacy policies will be displayed here.`},login:{title:`Login`,username:`Username`,password:`Password`,submit:`Login`,register:`Register`,loading:`Logging in...`,error:`Authentication failed. Please try again.`,loginWith:`Login with PaBr SSO`},profile:{title:`Profile Information`,welcome:`Welcome`,loading:`Loading...`,personalDetails:`Personal Details`,groupsAndSettings:`Groups & Settings`,name:`Name`,email:`Email`,username:`Username`,lastLogin:`Last Login`,groups:`Groups`,themePreference:`Theme Preference`,switchToDark:`Switch to Dark Mode`,switchToLight:`Switch to Light Mode`,switchToRainbow:`Switch to Rainbow Mode`,rainbowDiscovered:`You've discovered the rainbow theme! 🌈`,language:`Language`,logout:`Logout`},about:{title:`About`,role:`System Engineer - Network Security & DevSecOps`,description:`Experienced system engineer specializing in network security and DevSecOps practices. Focused on implementing secure infrastru
241cture solutions and automating security processes in the development pipeline.`,skills:`Technical Expertise`,skillCategories:{virtualization:{title:`Virtualization`,items:[`VMware ESX 6-8`,`vSphere 6-8`,`VMWare Server/Workstation`,`Unraid`,`Proxmox`,`XCP-NG`,`Hyper-V`]},os:{title:`Operating Systems`,items:[`RedHat 6-10`,`RockyLinux 8-10`,`CentOS`,`Ubuntu 16-24`,`Debian 8-13`,`Fedora`,`Arch`,`Windows Server 2008-2025, XP-11`,`Cisco IOS`,`Android 4-16`]},databases:{title:`Databases`,items:[`MySQL 5.x`,`MariaDB 5.x/10.x-11.x`,`Oracle 10.x`,`MongoDB`,`PostgreSQL 12.x-17.x`,`Neo4j`]},programming:{title:`Programming & Scripting`,items:[`Bash`,`SQL`,`JSON`,`YAML`,`Python`,`C/C++/C#`,`Java`,`TypeScript`,`HTML/CSS/JavaScript`,`PowerShell`,`PowerCLI`,`Flutter/Dart`]},security:{title:`Security & Networking`,items:[`Linux iptables`,`Cisco Nexus/Catalyst`,`Cisco ASA`,`OPNSense`,`PfSense`,`FortiGate`,`NSX-T`,`NSX-ALB`,`F5 Big-IP LTM`,`LANCOM WLC`,`Extreme Networks`,`Wireguard/OpenVPN/IPSec/SSL-VPN`]},admin:{title:`Infrastructure & Services`,items:[`Docker/Podman`,`Reverse-Proxy`,`Nagios`,`checkmk`,`git/gitlab`,`NFS`,`DNS/DHCP`,`Samba`,`Email Services`,`IPv4/IPv6`,`Ansible`,`Kubernetes`]}}},blog:{title:`Blog`,readMore:`Read More`,createPost:`Create New Post`,postTitle:`Post Title`,titlePlaceholder:`Enter your post title`,content:`Content`,publish:`Publish Post`,publishing:`Publishing...`,by:`by`,loading:`Loading posts...`,edit:`Edit`,delete:`Delete`,update:`Update Post`,updating:`Updating...`,cancel:`Cancel`,confirmDelete:`Are you sure you want to delete this post?`,lastUpdated:`Last updated`,attachments:`Attachments`,error:{fetch:`Failed to load blog posts`,create:`Failed to create blog post`,update:`Failed to update blog post`,delete:`Failed to delete blog post`,imageUpload:`Failed to upload image. Please try again.`},validation:{titleRequired:`Title is required`,contentRequired:`Content is required`},success:{create:`Post created successfully`,update:`Post updated successfully`,delete:`Post deleted successfully`}},games:{title:`Games`,play:`Play`,loading:`Loading...`,error:`Failed to load the game. Please try again later.`,names:{minecraft:`Minecraft`,"space-invaders":`Space Invaders`,rockets:`Rockets`,minesweeper:`Minesweeper`,rubixCube:`Rubix Cube`,connect4:`Connect 4`,flappyBird:`Flappy Bird AI`,chess:`Chess`,music:`Music`,atc:`ATC`,2048:`2048`,connect5:`Connect 5`,towerBlocks:`Tower Blocks`,jumpAndRun:`Jump and Run`,jumpAndRun2:`Jump & Run 2.0`,pong:`Pong`,reactGame:`React Game`,snake:`Snake`,snake2:`Snake 2.0 (Nokia)`,ticTacToe:`Tic Tac Toe`,tetris:`Tetris`,breakout:`Breakout`,stickHero:`Stick Hero`,tiltingMaze:`Tilting Maze`,"ultimate-tic-tac-toe":`Ultimate Tic Tac Toe`,"train-puzzle":`Train Puzzle`,pacman:`Pacman`,hex:`Hex`,gameOfLife:`Game of Life`}},tools:{title:`Development Tools`,description:`A collection of useful development tools and utilities`,comingSoon:`More tools coming soon...`},services:{title:`Our Services`,searchPlaceholder:`Search services...`,statusPage:`Status`,visitService:`Visit Service`,viewGitRepo:`View Git Repository`,showMore:`Show more information`,serviceDisabled:`Service temporarily disabled`,services:{zammad:{title:`Zammad`,description:`Professional Ticket System`,extendedInfo:`Zammad is an open-source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and emails. It provides a clean and intuitive interface for managing support requests efficiently.`},gitlab:{title:`GitLab`,description:`Version Control & CI/CD Platform`,extendedInfo:`GitLab is a complete DevOps platform that enables version control, continuous integration, and continuous deployment. It provides source code management, issue tracking, CI/CD pipelines, and much more in a single application.`},harbor:{title:`Harbor`,description:`Container Registry`,extendedInfo:`Harbor is an open source container image registry that secures artifacts with policies and role-based access control. It ensures images are scanned and free from vulnerabilities, and signs images as trusted.`},bookstack:{title:`Bookstack`,description:`Wiki & Knowledge Base`,extendedInfo:`Bookstack is a free and open-source wiki system that provides a simple, self-hosted platform for organizing and storing information. It uses a book-like organizational structure making it intuitive to use and navigate.`},matrix:{title:`Matrix Synapse`,description:`Secure Communication Server`,extendedInfo:`Matrix Synapse is a reference homeserver implementation of the Matrix protocol, providing real-time communication with strong security and privacy. It supports end-to-e
241nd encryption and decentralized communication.`},planka:{title:`Planka`,description:`Kanban Project Management`,extendedInfo:`Planka is a free open-source Kanban board that helps you manage projects and tasks efficiently. It provides features like drag-and-drop cards, labels, due dates, and team collaboration tools.`},media:{title:`Media Page`,description:`Entertainment Hub (VPN Required)`,extendedInfo:`Comprehensive media center including:
242- Jellyfin: Open-source media streaming (Main platform)
243- Grimmory: Digital book and comic reader
244- Audiobookshelf: Audiobook server
245- Request Center: Request new media`},overleaf:{title:`Overleaf`,description:`Collaborative LaTeX Editor`,extendedInfo:`Overleaf is a collaborative cloud-based LaTeX editor that makes it easy to create, edit, and share scientific documents. Perfect for academic papers, theses, and technical documentation with features like:
246- Real-time collaboration with multiple users
247- Rich text and source code editing modes
248- Thousands of LaTeX templates
249- Automatic compilation and preview
250- Version history and track changes
251- Bibliography management with BibTeX
252- Git integration for version control
253- Direct submission to journals and publishers
254- Cross-referencing and citation support
255
256Ideal for students, researchers, and academics working on scientific and technical documents.`},penpot:{title:`Penpot`,description:`Open-Source Design Platform (Figma Alternative)`,extendedInfo:`Penpot is a powerful open-source design and prototyping platform that serves as a free alternative to Figma. It provides comprehensive tools for UI/UX design with features like:
257- Web-based design interface accessible from anywhere
258- Real-time collaboration with team members
259- Vector editing and design tools
260- Prototyping and interactive mockups
261- Component libraries and design systems
262- CSS-friendly design output
263- SVG standard compliance
264- No vendor lock-in with open formats
265- Self-hosted for complete privacy
266- Export to various formats
267
268Perfect for designers, developers, and teams looking for a flexible, privacy-focused design solution without subscription costs.`},mailcow:{title:`Mailcow`,description:`Mail Server Solution`,extendedInfo:`Mailcow is a comprehensive mail server solution that includes everything needed for handling emails. It provides spam protection, antivirus, webmail, ActiveSync, and administration interface.`},dms:{title:`Nextcloud DMS`,description:`File Management System`,extendedInfo:`Nextcloud DMS (Data Management System) is a comprehensive file management and collaboration platform. It provides secure cloud storage, file synchronization, and sharing capabilities with features like:
269- Secure file storage and organization
270- Real-time collaboration on documents
271- Calendar and contact management
272- Task management and notes
273- Video conferencing integration
274- End-to-end encryption for sensitive data
275- Mobile and desktop synchronization
276- Advanced sharing permissions and access control
277- Integration with office suites for document editing
278- Comprehensive admin controls and user management
279
280Perfect for personal and professional data management with complete control over your files and privacy.`},pelican:{title:`Server Panel`,description:`Game Server Management`,extendedInfo:`Pelican is a game server management panel that supports various game servers and voice servers. It provides an intuitive interface for server deployment, configuration, and monitoring.`},linkShortener:{title:`Link Shortener`,description:`URL Shortening Service`,extendedInfo:`Custom URL shortening service that creates compact, easily shareable links. Track link analytics and manage shortened URLs through a simple interface.`},uwrPlanner:{title:`UWR Planer`,description:`Training Planning for UWR Teams`,extendedInfo:`A specialized tool for planning and organizing training sessions for Underwater Rugby teams. Enables efficient team coordination, training structuring, and performance tracking.`},mealieRecipe:{title:`Mealie Recipes`,description:`Personal Recipe Collection`,extendedInfo:`A comprehensive recipe database with personal favorite recipes. Organize, share, and discover culinary creations with easy navigation and search functions.`},immich:{title:`Immich`,description:`Self-Hosted Photo & Video Backup`,extendedInfo:`Immich is a powerful, open-source photo and video management solution designed for self-hosting. It offers seamless backup from mobile and desktop devices, with advanced features like:
281- AI-powered search and organization
282- Facial recognition technology
283- Secure, private cloud storage
284- Automatic backup and synchronization
285- Support for various media types
286- User-friendly interface
287- Complete data ownership and privacy`},pairdrop:{title:`Pairdrop`,description:`File Sharing & Collaboration`,extendedInfo:`Pairdrop is a secure file sharing and collaboration platform that allows users to share files, folders, and links with others. It provides end-to-e
287nd encryption, access control, and real-time collaboration features.`},pdf:{title:`BentoPDF`,description:`Privacy-Focused PDF Editing Solution`,extendedInfo:`BentoPDF is a privacy-focused, client-based tool for comprehensive PDF editing. All processing happens entirely in your browser - no data is ever sent to a server, ensuring maximum privacy and security. It offers a wide range of features for manipulating and managing PDF documents:
288- Merge and split PDF files
289- Add, remove, and rearrange pages
290- Add watermarks and stamps
291- PDF compression and optimization
292- Convert between various formats
293- Password protection and security settings
294- Edit and manage metadata
295- Create and edit forms
296
297The user-friendly web interface makes it easy to perform complex PDF operations without additional software, while keeping all your documents completely private.`},openwebui:{title:`OpenWebUI`,description:`AI Assistants & LLM Platform`,extendedInfo:`OpenWebUI is a comprehensive platform providing access to various Large Language Models (LLMs) and AI assistants. The platform offers access to a wide range of cutting-edge AI models:
298
299**Available Models:**
300- Phi4: Microsoft's compact yet powerful model
301- Gemma3: Google's advanced language model
302- DeepSeek-R1:8B: Specialized in reasoning and logical thinking
303- Qwen (QwQ): Alibaba's versatile language model
304- Llama2-Uncensored: Uncensored version of Meta's Llama2
305- Mistral: European open-source language model
306- Llama3.2: Latest version of Meta's Llama family
307- And many more models
308
309**Features:**
310- User-friendly chat interface
311- Model comparison and selection
312- Customizable system instructions
313- Conversation history and management
314- Local deployment for privacy
315- API access for developers
316
317Perfect for research, development, creative projects, and professional AI applications.`},vaultwarden:{title:`Vaultwarden`,description:`Password Manager`,extendedInfo:`Vaultwarden is an unofficial Bitwarden-compatible server written in Rust, providing a lightweight and efficient password management solution. It offers comprehensive features for secure password storage and management:
318
319**Key Features:**
320- End-to-end encryption for all stored data
321- Compatible with all Bitwarden clients (desktop, mobile, browser extensions)
322- Secure password generation
323- Two-factor authentication (2FA) support
324- Secure sharing of passwords and notes
325- Organization and collection management
326- Password health reports
327- Emergency access features
328- Self-hosted for complete data control
329- Low resource usage and high performance
330
331**Security:**
332- Zero-knowledge encryption
333- Master password never leaves your device
334- Optional 2FA with authenticator apps, YubiKey, or email
335- Secure vault item sharing
336
337Perfect for individuals and teams who want complete control over their password security with enterprise-grade features.`}}},dronesPage:{pageTitle:`New EU Drone Regulations`,lastUpdate:`Last Update:`,resourcesTitle:`Important Links and Resources`,euRegulationTitle:`Official EU Regulation`,euRegulationLink:`EU Implementing Regulation 2019/947 (Operation of Unmanned Aircraft)`,licenseTitle:`Drone License (A1/A3 Certificate of Competency)`,licenseDescription:`You can obtain the EU drone license (A1/A3 "Small Drone License") online from the German Federal Aviation Office (LBA):`,licenseLink:`LBA Online Drone License`,licenseCost:`Cost: approx. €25 | Validity: 5 years | Online exam with 40 questions`,droniqTitle:`Droniq App - Flight Planning and Permits`,droniqDescription:`The Droniq App is essential for flight planning in Germany. It shows no-fly zones, geographical UAS areas and enables the application for flight clearances.`,droniqAndroid:`Android (Google Play Store)`,droniqIOS:`iOS (App Store)`,droniqWarning:`Note: Unfortunately, the app is not available via F-Droid, only through the official app stores from Google and Apple.`,changesTitle:`What has changed?`,changesIntro:`Since December 31, 2020, uniform drone regulations have been in effect throughout the EU in accordance with EU Regulation 2019/947. The most important changes:`,changes:[`New Drone Classes (C0-C4): All new drones must be marked with CE classification from 2024`,`EU-wide Drone License: Mandatory for almost all drones from 250g (A1/A3) or from 500g near people (A2)`,`Registration Requirement: Pilots must register (eID required) - not the drone itself anymore`,`Electronic Identification (Remote ID): Mandatory for new drones from C1 class onwards`,`Geographical Zones (Geo-Fencing): Automatic restriction in no-fly zones for newer drones`,`Self-built Drones: Subject to stricter rules and mostly only allowed up to 250g in the open category`],importantTitle:`What to pay special attention to?`,important:[`Insurance is Mandatory: Drone liability insurance is legally required in Germany`,`Labeling Requirement: From 250g onwards, a fireproof plate with the registration number must be attached to the device`,`120m Height Restriction: Maximum flight altitude of 120m above ground (except in special zones)`,`Visual Line of Sight (VLOS): The drone must always remain in direct line of sight - FPV flights only with spotter`,`Respect Distance Rules: Minimum distances to airports (1.5 km), crowds, residential areas, nature reserves`,`Use Droniq App: Check current no-fly zones and temporary restrictions before each flight`,`Data Protection: No recordings of persons without consent, no violation of privacy`,`Night Flight Ban: Flights are generally only allowed in daylight (exceptions with special permission)`,`Alcohol Ban: Flying under the influence of alcohol or drugs is prohibited (from 0.5 promille criminal offense)`,`Older Drones (Legacy Drones): May still be flown with old rules until end of 2025, then transitional regulations apply`],finderTitle:`Drone Class Finder`,weightLabel:`Drone weight (in grams):`,homemadeLabel:`Self-built drone`,findButton:`Determine class`,resultTitle:`Result:`,droneClass:`Drone Class:`,requiredLicense:`Required License:`,scenariosTitle:`Application Scenarios`,scenariosIntro:`The EU guidelines provide three application scenarios:`,scenarios:[`Open - for drones and flights with low risk`,`Specific - for special operations with exemption permits`,`Certified - for special applications in industry`],droneClassesTitle:`Drone Categories`,pilotClassesTitle:`Pilot Categories`,pilotForClasses:`For drone classes:`,hintsTitle:`Important Notes:`,hints:[`Maximum flight altitude: 120 meters`,`Flight only within visual line of sight (VLOS)`,`Comply with insurance requirements`,`Observe flight restrictions for certain zones`,`Respect privacy - no unauthorized recordings`]}
337,projects:{title:`Projects`,subtitle:`A showcase of cool projects I'm working on`,viewProject:`Read More`,visitRepo:`Visit Repository`,techStack:`Tech Stack`,backToProjects:`Back to Projects`,startedOn:`Started`,availableOn:`Available on`},externalLinkWarning:{title:`External Website`,message:`You are now leaving pabr.de and will be redirected to an external website:`,disclaimer:`We assume no responsibility for the content of external websites.`,cancel:`Cancel`,continue:`Continue`}},$n={common:{backToMenu:`Zurück zur Übersicht`},header:{about:`Über`,blog:`Blog`,games:`Spiele`,divers:{main:`Interessen`,webcams:`Flughafen Webcams`,drones:`Drohnen`,testing:`Testing`,"3dPrinters":`3D Drucker`,machineLearning:`Maschinelles Lernen`,unterwasserrugby:`Unterwasserrugby`},services:`Dienste`,login:`Anmelden`,logout:`Abmelden`,profile:`Profil`,projects:`Projekte`},divers:{webcamDescription:`Live-Webcams von Flughäfen weltweit`,dronesDescription:`Informationen und Technologien über Drohnen`,testingDescription:`Verschiedene Testseiten und Experimente`,"3dPrintersDescription":`Einblicke in 3D-Drucktechnologie`,machineLearningDescription:`Aktuelle KI-Technologien und Anwendungen`,unterwasserrugbyDescription:`Einzigartiger Teamsport unter Wasser`},threeDPrinters:{title:`3D Drucker`,sidewinderX1:{overview:`Der Artillery Sidewinder X1 ist ein fortschrittlicher 3D-Drucker, der für Präzision und Zuverlässigkeit bekannt ist. Er eignet sich hervorragend für Hobbyisten und fortgeschrittene Benutzer.`,specifications:{title:`Technische Spezifikationen`,printVolume:`Druckvolumen: 300 x 300 x 400 mm`,printSpeed:`Druckgeschwindigkeit: Bis zu 150 mm/s`,nozzleDiameter:`Düsendurchmesser: 0.4 mm`,supportedMaterials:`Unterstützte Materialien: PLA, PETG, ABS`,extruder:`Direct Drive Extruder`,mainboard:`Silent Mainboard`},features:{title:`Besondere Merkmale`,metalFrame:`Robustes Metallgehäuse für Stabilität`,autoLeveling:`Automatische Bett-Nivellierung`,precision:`Hochpräzise Druckergebnisse`}},bambuLabP1S:{overview:`Der BambuLab P1S ist ein moderner 3D-Drucker mit fortschrittlichen Funktionen. Generell sehr zufriedenstellend, hat aber einige Nachteile für Profis, insbesondere bei der Netzwerkkonfiguration.`,specifications:{title:`Technische Spezifikationen`,printVolume:`Druckvolumen: 256 x 256 x 256 mm`,printSpeed:`Druckgeschwindigkeit: Bis zu 500 mm/s`,nozzleDiameter:`Düsendurchmesser: 0.4 mm (austauschbar)`,supportedMaterials:`Unterstützte Materialien: PLA, PETG, ABS, ASA, PC, PA, PVA, HIPS`,extruder:`Automatischer Materialwechsel (AMS)`,connectivity:`WiFi, Ethernet, USB`},features:{title:`Besondere Merkmale`,autoCalibration:`Vollautomatische Kalibrierung`,aiDetection:`KI-basierte Fehlererkennung`,multiColor:`Multi-Material/Multi-Color Druck`,cloudIntegration:`Cloud-Integration und Remote-Überwachung`},professionalLimitations:{title:`Einschränkungen für Profis`,lanOnlyLimitation:`Keine SD-Karten-Ansicht im LAN-Only Modus`,udpDiscovery:`UDP Discovery funktioniert nicht über VLANs hinweg`,vlanSolution:`Lösung: udpbroadcastrelay für VLAN-übergreifende Kommunikation`,wikiReference:`Detaillierte Anleitung verfügbar unter:`}}},drones:{title:`Drohnen-Technologie und Anwendungen`,overview:`Drohnen haben sich von militärischen Geräten zu vielseitigen Technologien entwickelt, die in verschiedenen Bereichen Anwendung finden.`,categories:{consumer:{title:`Verbraucher-Drohnen`,description:`Drohnen für Fotografie, Videografie und Freizeitaktivitäten`,examples:[{name:`DJI FPV`,description:`Immersive First-Person-View Drohne mit beeindruckender Geschwindigkeit`,features:[`4K/60fps Super-Weitwinkel-Kamera`,`Maximale Geschwindigkeit von 140 km/h`,`Bis zu 20 Minuten Flugzeit`,`Notfall-Bremsung und Hover`]},{name:`Yuneec Typhoon H`,description:`Professionelle Hexacopter-Drohne für anspruchsvolle Luftaufnahmen`,features:[`360-Grad-Kamerarotation`,`Sechs Rotoren für erhöhte Stabilität`,`Intelligente Flugmodi`,`Integrierte Wärmekamera`]}]},professional:{title:`Professionelle Drohnen`,description:`Drohnen für Industrie, Landwirtschaft, Vermessung und Rettungsdienste`,applications:[{sector:`Landwirtschaft`,uses:[`Erntekartierung`,`Präzise Bewässerungsplanung`,`Schädlingsüberwachung`,`Bodenzustandsanalyse`]},{sector:`Rettungsdienste`,uses:[`Suche und Rettung`,`Katastrophenüberwachung`,`Luftaufnahmen bei Notfällen`,`Temperaturmessung`]}]},military:{title:`Militärische Drohnen`,description:`Fortschrittliche unbemannte Luftfahrzeuge für Aufklärung und Einsätze`,types:[{name:`Aufklärungsdrohnen`,capabilities:[`Hochauflösende Bilderfassung`,`Echtzeit-Übertragung`,`Nachtsichtfähigkeiten`,`Lange Flugdauer`]},{name:`Kampfdrohnen`,capabilities:[`Präzisionsangriffe`,`Ferngesteuerte Missionen`,`Minimales Risiko für menschliche Besatzungen`]}]}},ethicalConsiderations:{title:`Ethische Überlegungen`,privacyTitle:`Datenschutz`,privacyDescription:`Drohnen werfen wichtige Fragen zum Schutz der Privatsphäre auf, insbesondere in Bezug auf unbeabsichtigte Überwachung und Bildaufnahmen.`,regulationTitle:`Rechtliche Regulierungen`,regulationDescription:`Viele Länder haben spez
337ifische Gesetze für den Drohneneinsatz, die Flughöhe, Flugzonen und Registrierungspflichten regeln.`},futureTrends:{title:`Zukünftige Trends`,developments:[`Autonome Navigationssysteme`,`Verbesserte Batterietechnologie`,`KI-gesteuerte Entscheidungsfindung`,`Miniaturisierung`,`Schwarmtechnologie`]}},unterwasserrugby:{generalInfoTitle:`Unterwasser-Rugby: Ein dynamischer Wassersport`,description1:`Unterwasser-Rugby ist ein faszinierender Kontaktsport, der in einem Schwimmbecken ausgetragen wird. Zwei sechsköpfige Mannschaften kämpfen darum, einen mit Salzwasser gefüllten Ball in das gegnerische Tor am Beckenboden zu platzieren.`,description2:`Der Sport erfordert höchste körperliche Fitness, Ausdauer, Kraft und taktisches Geschick. Spieler müssen in der Lage sein, unter Wasser zu tauchen, den Ball zu kontrollieren und gleichzeitig gegnerische Spieler abzuwehren.`,keyFact:`Ein einzigartiger Teamsport, der Elemente aus Rugby, Schwimmen und Tauchen kombiniert.`,videos:`Videos`,video1Title:`Einführung in Unterwasser-Rugby`,video2Title:`Unterwasser-Rugby in Bonn`,gameplayTitle:`Spielablauf und Regeln`,gameplayDescription:`Das Spiel wird in zwei 15-minütigen Halbzeiten ausgetragen. Jede Mannschaft besteht aus maximal 15 Spielern, von denen sechs gleichzeitig im Wasser spielen. Die Spieler wechseln sich in kurzen Intervallen ab, typischerweise nach 1-3 Minuten. Das Spielfeld ist ein Schwimmbecken mit mindestens 3,5m Tiefe und 12-18m Länge sowie 8-12m Breite.`,rulesTitle:`Detaillierte Spielregeln`,rulesDescription:`Das Spiel folgt den offiziellen VDST-Regeln. Der Ball darf nur mit einer Hand gehalten werden, Pässe sind in alle Richtungen erlaubt. Körperkontakt ist erlaubt, aber Schlagen, Treten oder gefährliche Aktionen sind verboten. Bei Regelverstößen gibt es Freistöße oder Strafstöße. Das Spiel wird von zwei Schiedsrichtern geleitet - einem im Wasser und einem am Beckenrand.`,equipmentTitle:`Ausrüstung`,equipmentDescription:`Spieler tragen spezielle Ausrüstung: Schwimmflossen, Tauchmasken, Schnorchel und Kappen mit Ohrenschützern in Teamfarben. Der Ball ist handballgroß und mit gesättigter Kochsalzlösung gefüllt, sodass er langsam sinkt. Die Tore bestehen aus schweren Metallkörben am Beckenboden.`,positionsTitle:`Die drei Spielerpositionen`,positionsDescription:`Im Unterwasser-Rugby gibt es drei spezialisierte Positionen, die jeweils unterschiedliche Aufgaben und Fähigkeiten erfordern:`,positionDeckel:`Deckel (Torwart): Verteidigt das eigene Tor am Beckenboden. Muss exzellente Apnoe-Fähigkeiten haben und schnell zwischen Oberfläche und Tiefe wechseln können.`,positionDackel:`Dackel (Verteidiger): Spielt hauptsächlich in der Tiefe und stört gegnerische Angriffe. Benötigt ausgezeichnete Unterwasser-Navigation und körperliche Stärke für Zweikämpfe am Beckenboden.`,positionStrum:`Strum (Stürmer): Führt Angriffe an und versucht Tore zu erzielen. Muss schnell schwimmen können und präzise Pässe sowie Torschüsse beherrschen. Oft der wendigste Spieler im Team.`,tacticsTitle:`Taktik und Strategie`,tacticsDescription:`Erfolgreiche Teams nutzen koordinierte Angriffs- und Verteidigungsstrategien. Schnelle Positionswechsel, präzise Pässe und Teamwork sind entscheidend. Die begrenzte Atemluft macht Timing und Effizienz zu kritischen Faktoren.`,techniquesTitle:`Techniken und Fertigkeiten`,techniquesDescription:`Spieler bewegen sich ausschließlich mit Flossenschlägen unter Wasser. Der Ball wird mit einer Hand gehalten, um Schwimm- und Abwehrbewegungen zu ermöglichen. Pässe erfolgen durch kurze, kraftvolle Bewegungen. Wichtige Techniken sind das 'Abtauchen', 'Ballführung' und 'Positionsspiel'.`,challengesTitle:`Herausforderungen des Sports`,challengesDescription:`Unterwasser-Rugby ist ein sehr anspruchsvoller Sport, der hervorragende Apnoe-Fähigkeiten, räumliche Orientierung und Teamwork erfordert. Spiele sind oft sehr defensiv und enden mit knappen Ergebnissen. Die dreidimensionale Spielweise und der Sauerstoffmangel machen jeden Spielzug zu einer Herausforderung.`,originTitle:`Ursprung und Entwicklung`,originDescription:`Der Sport entstand in den 1960er Jahren in Schweden als Trainingsmethode für Taucher und hat sich seitdem weltweit verbreitet. Deutschland ist eine der führenden Nationen im Unterwasser-Rugby. Der VDST (Verband Deutscher Sporttaucher) organisiert die nationalen Wettkämpfe und stellt das offizielle Regelwerk bereit.`,safetyTitle:`Sicherheit und Fair Play`,safetyDescription:`Trotz des körperbetonten Charakters legt Unterwasser-Rugby großen Wert auf Fairness und Sicherheit. Unsportliches Verhalten wie Schlagen oder gefährliche Angriffe werden streng geahndet. Alle Spieler müssen schwimmen können und über Grundkenntnisse im Tauchen verfügen.`,competitionTitle:`Wettkämpfe und Organisation`,competitionDescription:`Der VDST organisiert Landes- und Bun
337desmeisterschaften sowie internationale Turniere. Die Wettkampfordnung regelt alle Aspekte von der Mannschaftsaufstellung bis zur Schiedsrichterausbildung. Offizielle Schiedsrichter durchlaufen eine spezielle Ausbildung nach der VDST-Schiedsrichterordnung.`,linupPlannerTitle:`Aufstellungsplaner`,linupPlannerDescription:`Für die taktische Vorbereitung und Spielplanung steht ein spezieller Aufstellungsplaner zur Verfügung. Dieses Tool hilft Trainern und Teams bei der optimalen Positionierung und Strategieentwicklung.`,linupPlannerLink:`Zum Aufstellungsplaner`,officialResourcesTitle:`Offizielle Ressourcen`,vdstMainPage:`VDST Unterwasser-Rugby Hauptseite`,officialRules:`Offizielles Regelwerk (VDST)`,competitionRules:`Wettkampfordnung (VDST)`,refereeRules:`Schiedsrichterordnung (VDST)`},machineLearning:{title:`Maschinelles Lernen & KI`,description:`Eine umfassende Sammlung von KI-Technologien und -Diensten, die moderne Kreativität und Produktivität revolutionieren. Entdecken Sie innovative Tools, die Kommunikation, Bildgenerierung, Präsentationserstellung und mehr transformieren.`,categories:{chatBots:{title:`Chat Bots`,description:`Interaktive KI-Assistenten, die komplexe Konversationen führen, Fragen beantworten und bei verschiedensten Aufgaben helfen können. Von wissenschaftlicher Recherche bis hin zu kreativen Projekten.`,items:{chatGPT:{name:`OpenAI ChatGPT`,description:`Der bekannteste KI-Chatbot, der Texte generiert, Fragen beantwortet und bei vielfältigen Aufgaben unterstützt.`,extendedInfo:`ChatGPT ist ein fortschrittliches KI-Sprachmodell, das von OpenAI entwickelt wurde. Es kann Texte generieren, Fragen beantworten, Übersetzungen durchführen, Code schreiben und komplexe Aufgaben in verschiedenen Bereichen wie Programmierung, Kreativität, Analyse und Problemlösung bewältigen. Die Technologie basiert auf einem neuronalen Netzwerk, das auf einer umfangreichen Textdatenbank trainiert wurde.`,url:`https://chat.openai.com/`},claude:{name:`Claude`,description:`Ein fortschrittlicher KI-Assistent mit besonders ethischem und präzisem Ansatz bei Informationsverarbeitung.`,extendedInfo:`Claude ist ein KI-Assistent von Anthropic, der sich durch besonders ethische und präzise Informationsverarbeitung auszeichnet. Er wurde mit einem starken Fokus auf Sicherheit und verantwortungsvolle KI-Nutzung entwickelt. Claude kann komplexe Aufgaben lösen, wissenschaftliche Texte analysieren und bietet detaillierte und nuancierte Antworten.`,url:`https://www.anthropic.com/index/introducing-claude`},agentGPT:{name:`AgentGPT`,description:`Ein zielorientierter KI-Agent, der selbstständig komplexe Aufgaben planen und ausführen kann.`,extendedInfo:`AgentGPT ist ein innovatives KI-System, das autonome Aufgabenplanung und -ausführung ermöglicht. Es kann selbstständig Ziele definieren, Strategien entwickeln und Schritte zu deren Erreichung planen. Besonders nützlich für komplexe Projektmanagement- und Forschungsaufgaben.`,url:`https://agentgpt.reworkd.ai/`},forefrontAI:{name:`Forefront AI`,description:`Flexible KI-Plattform mit Zugang zu verschiedenen fortschrittlichen Sprachmodellen.`,extendedInfo:`Forefront AI ist eine vielseitige Plattform, die Zugang zu verschiedenen fortschrittlichen Sprachmodellen wie GPT-3.5, GPT-4 und Claude bietet. Sie ermöglicht Nutzern, verschiedene KI-Modelle zu vergleichen und für unterschiedliche Anwendungsfälle zu nutzen.`,url:`https://www.forefront.ai/`},perplexityAI:{name:`Perplexity AI`,description:`KI-Recherche-Tool mit Fokus auf wissenschaftliche Genauigkeit und Quellenangaben.`,extendedInfo:`Perplexity AI ist ein KI-gestütztes Recherche-Tool, das sich auf wissenschaftliche Genauigkeit und Quellenangaben spezialisiert. Es durchsucht umfangreiche Datenbanken, generiert präzise Antworten und liefert direkte Verweise auf Originalquellen.`,url:`https://www.perplexity.ai`},poe:{name:`Poe`,description:`Vielseitige KI-Plattform mit mehreren Chatbots und Bildgenerierungsfunktionen.`,extendedInfo:`Poe ist eine umfassende KI-Plattform, die Zugang zu verschiedenen Chatbots und Bildgenerierungsfunktionen bietet. Nutzer können zwischen verschiedenen KI-Modellen wechseln, Bilder generieren und komplexe Konversationen führen.`,url:`https://poe.com`}}},imageGenerator:{title:`Bild-Generatoren`,description:`KI-gestützte Tools, die aus Textbeschreibungen hochwertige, kreative und realistische Bilder generieren. Perfekt für Design, Kunst und visuelle Kommunikation.`,items:{midjourney:{name:`Midjourney`,description:`Hochentwickelter Bildgenerator mit außergewöhnlicher Detailtreue und künstlerischer Qualität.`,extendedInfo:`Midjourney ist ein KI-Bildgenerator, der für seine außergewöhnliche künstlerische Qualität und Detailtreue bekannt ist. Er kann aus Textbeschreibungen hochwertige, oft surreale und stilisierte Bilder generieren. Besonders beliebt in Kunst- und Designkreisen.`,url:`https://www.midjourney.com/home`}
337,stableDiffusion:{name:`Stable Diffusion`,description:`Open-Source-Bildgenerator mit hoher Anpassungsfähigkeit und Selbst-Hosting-Option.`,extendedInfo:`Stable Diffusion ist ein Open-Source-Bildgenerator, der Nutzern maximale Flexibilität und Kontrolle bietet. Er kann lokal gehostet werden, ermöglicht Feinabstimmungen und ist für Entwickler und Tüftler besonders interessant.`,url:`https://stability.ai/`},dallE:{name:`DALL-E`,description:`OpenAIs Bildgenerierungstool mit soliden Ergebnissen und einfacher Bedienung.`,extendedInfo:`DALL-E von OpenAI ist ein benutzerfreundlicher Bildgenerator, der aus Textbeschreibungen realistische und kreative Bilder erstellt. Er zeichnet sich durch seine Zugänglichkeit und solide Bildqualität aus.`,url:`https://labs.openai.com/`}}},powerpointAI:{title:`Präsentations-KI`,description:`Intelligente Tools zur automatischen Erstellung professioneller Präsentationen mit KI-gestütztem Design und Inhaltsvorschlägen.`,items:{beautifulAI:{name:`Beautiful AI`,description:`KI-Präsentationstool, das elegante und professionelle Designs mit minimalem Aufwand erstellt.`,extendedInfo:`Beautiful AI ist ein KI-gestütztes Präsentationstool, das automatisch elegante und professionelle Designs generiert. Es reduziert den Zeitaufwand für Präsentationserstellung und bietet intelligente Layout- und Designvorschläge.`,url:`https://www.beautiful.ai/`},simplified:{name:`Simplified`,description:`Schnelle KI-Präsentationserstellung mit mehrsprachiger Unterstützung und intuitiver Benutzeroberfläche.`,extendedInfo:`Simplified ist eine KI-Plattform für schnelle Präsentationserstellung mit Unterstützung mehrerer Sprachen. Sie bietet intuitive Benutzeroberfläche, automatische Inhaltsvorschläge und professionelle Designoptionen.`,url:`https://simplified.com/ai-presentations`}}},tools:{title:`KI-Werkzeuge`,description:`Spezialisierte KI-Anwendungen für spezifische Aufgaben wie Bildbearbeitung, Textumwandlung und mehr.`,items:{watermarkRemover:{name:`Watermark Remover`,description:`KI-gestütztes Tool zum intelligenten Entfernen von Wasserzeichen aus Bildern.`,extendedInfo:`Watermark Remover ist ein KI-Tool, das Wasserzeichen intelligent und nahtlos aus Bildern entfernen kann. Es nutzt fortschrittliche Bilderkennungs- und Restaurierungsalgorithmen, um Bilder zu bereinigen.`,url:`https://www.watermarkremover.io/`}}},music:{title:`Musik-KI`,description:`Innovative KI-Systeme zur Musikkomposition, die komplexe Melodien und Arrangements generieren können.`,items:{suno:{name:`Suno`,description:`Fortschrittliche KI zur Musikgenerierung mit hoher Kreativität und Klangqualität.`,extendedInfo:`Suno ist eine KI-Plattform zur Musikgenerierung, die seit Version 3 hochwertige und kreative Musikstücke erstellen kann. Sie analysiert Musikstile, generiert originelle Kompositionen und bietet Musikern und Kreativen neue Inspirationsquellen.`,url:`https://suno.com`}}}}},footer:{impressum:`Impressum`,datenschutz:`Datenschutz`,copyright:`© 2024-2026 PaBr Webpage. Alle Rechte vorbehalten.`},impressum:{title:`Impressum`,content:`Rechtliche Informationen über den Website-Betreiber und die verantwortlichen Parteien werden hier angezeigt.`,kekseButton:`Mehr über unsere Kekse erfahren`,kekseBanner:{title:`Diese Seite jubelt Dir schamlos Kekse für ein besseres Nutzererlebnis unter.`,description:`Durch Deinen Besuch stimmst Du diesem unverfrorenen Verhalten zu.`,disclaimer:`* Hinweis: Es werden keine echten Kekse angeboten. Diese Website verwendet auch keine Tracking-Cookies. Dies ist nur ein Scherz über Cookie-Banner. Sorry, Diggi! 🍪`,acceptButton:`Einverstanden, Bruder, mach!`,rejectButton:`Ich hasse Kekse, Diggi.`}},datenschutz:{title:`Datenschutzerklärung`,content:`Informationen zum Datenschutz und zu den Datenschutzrichtlinien werden hier angezeigt.`},login:{title:`Anmelden`,username:`Benutzername`,password:`Passwort`,submit:`Anmelden`,register:`Registrieren`,loading:`Anmeldung läuft...`,error:`Authentifizierung fehlgeschlagen. Bitte versuchen Sie es erneut.`,loginWith:`Mit PaBr SSO anmelden`}
337,profile:{title:`Profilinformationen`,welcome:`Willkommen`,loading:`Lädt...`,personalDetails:`Persönliche Daten`,groupsAndSettings:`Gruppen & Einstellungen`,name:`Name`,email:`E-Mail`,username:`Benutzername`,lastLogin:`Letzter Login`,groups:`Gruppen`,themePreference:`Design-Einstellung`,switchToDark:`Zum dunklen Design wechseln`,switchToLight:`Zum hellen Design wechseln`,switchToRainbow:`Zum Regenbogen-Design wechseln`,rainbowDiscovered:`Du hast das Regenbogen-Design entdeckt! 🌈`,language:`Sprache`,logout:`Abmelden`},about:{title:`Über`,role:`System Engineer für Netzwerksicherheit & DevSecOps`,description:`Erfahrener System Engineer mit Spezialisierung auf Netzwerksicherheit und DevSecOps-Praktiken. Fokussiert auf die Implementierung sicherer Infrastrukturlösungen und die Automatisierung von Sicherheitsprozessen in der Entwicklungspipeline.`,skills:`Technische Expertise`,skillCategories:{virtualization:{title:`Virtualisierung`,items:[`VMware ESX 6-8`,`vSphere 6-8`,`VMWare Server/Workstation`,`Unraid`,`Proxmox`,`XCP-NG`,`Hyper-V`]},os:{title:`Betriebssysteme`,items:[`RedHat 6-10`,`RockyLinux 8-10`,`CentOS`,`Ubuntu 16-24`,`Debian 8-13`,`Fedora`,`Arch`,`Windows Server 2008-2025, XP-11`,`Cisco IOS`,`Android 4-16`]},databases:{title:`Datenbanken`,items:[`MySQL 5.x`,`MariaDB 5.x/10.x-11.x`,`Oracle 10.x`,`MongoDB`,`PostgreSQL 12.x-17.x`,`Neo4j`]},programming:{title:`Programmierung & Scripting`,items:[`Bash`,`SQL`,`JSON`,`YAML`,`Python`,`C/C++/C#`,`Java`,`TypeScript`,`HTML/CSS/Javascript`,`PowerShell`,`PowerCLI`,`Flutter/Dart`]},security:{title:`Sicherheit & Netzwerk`,items:[`Linux iptables`,`Cisco Nexus/Catalyst`,`Cisco ASA`,`OPNSense`,`PfSense`,`FortiGate`,`NSX-T`,`NSX-ALB`,`F5 Big-IP LTM`,`LANCOM WLC`,`Extreme Networks`,`Wireguard/OpenVPN/IPSec/SSL-VPN`]},admin:{title:`Infrastruktur & Dienste`,items:[`Docker/Podman`,`Reverse-Proxy`,`Nagios`,`checkmk`,`git/gitlab`,`NFS`,`DNS/DHCP`,`Samba`,`E-Mail-Dienste`,`IPv4/IPv6`,`Ansible`,`Kubernetes`]}}},blog:{title:`Blog`,readMore:`Weiterlesen`,createPost:`Neuen Beitrag erstellen`,postTitle:`Beitragstitel`,titlePlaceholder:`Geben Sie einen Titel ein`,content:`Inhalt`,publish:`Beitrag veröffentlichen`,publishing:`Wird veröffentlicht...`,by:`von`,loading:`Beiträge werden geladen...`,edit:`Bearbeiten`,delete:`Löschen`,update:`Beitrag aktualisieren`,updating:`Wird aktualisiert...`,cancel:`Abbrechen`,confirmDelete:`Möchten Sie diesen Beitrag wirklich löschen?`,lastUpdated:`Zuletzt aktualisiert`,attachments:`Anhänge`,error:{fetch:`Fehler beim Laden der Blogbeiträge`,create:`Fehler beim Erstellen des Blogbeitrags`,update:`Fehler beim Aktualisieren des Blogbeitrags`,delete:`Fehler beim Löschen des Blogbeitrags`,imageUpload:`Fehler beim Hochladen des Bildes. Bitte versuchen Sie es erneut.`},validation:{titleRequired:`Titel ist erforderlich`,contentRequired:`Inhalt ist erforderlich`},success:{create:`Beitrag erfolgreich erstellt`,update:`Beitrag erfolgreich aktualisiert`,delete:`Beitrag erfolgreich gelöscht`}},games:{title:`Spiele`,play:`Spielen`,loading:`Lädt...`,error:`Spiel konnte nicht geladen werden. Bitte versuchen Sie es später erneut.`,names:{minecraft:`Minecraft`,"space-invaders":`Space Invaders`,rockets:`Raketen`,minesweeper:`Minesweeper`,rubixCube:`Zauberwürfel`,connect4:`4 Gewinnt`,flappyBird:`Flappy Bird KI`,chess:`Schach`,music:`Musik`,atc:`Fluglotse`,2048:`2048`,connect5:`5 Gewinnt`,towerBlocks:`Turmblöcke`,jumpAndRun:`Jump and Run`,jumpAndRun2:`Jump & Run 2.0`,pong:`Pong`,reactGame:`React Spiel`,snake:`Snake`,snake2:`Snake 2.0 (Nokia)`,ticTacToe:`Tic Tac Toe`,tetris:`Tetris`,breakout:`Breakout`,stickHero:`Stick Hero`,tiltingMaze:`Neigungslabyrinth`,"ultimate-tic-tac-toe":`Ultimatives Tic Tac Toe`,"train-puzzle":`Zug-Puzzle`,pacman:`Pacman`,hex:`Hex`,gameOfLife:`Spiel des Lebens`}},tools:{title:`Entwicklungswerkzeuge`,description:`Eine Sammlung nützlicher Entwicklungswerkzeuge und Dienstprogramme`,comingSoon:`Weitere Werkzeuge folgen in Kürze...`},services:JSON.parse(`{"title":"Unsere Dienste","searchPlaceholder":"Dienste durchsuchen...","statusPage":"Status","visitService":"Dienst besuchen","viewGitRepo":"Git-Repository ansehen","showMore":"Mehr Informationen anzeigen","serviceDisabled":"Dienst vorübergehend deaktiviert","services":{"zammad":{"title":"Zammad","description":"Professionelles Ticketsystem","extendedInfo":"Zammad ist ein Open-Source-Helpdesk/Kundenservice-System mit vielen Funktionen zur Verwaltung der Kundenkommunikation über verschiedene Kanäle wie Telefon, Facebook, Twitter, Chat und E-Mails. Es bietet eine übersichtliche und intuitive Oberfläche zur effizienten Verwaltung von Support-Anfragen."},"gitlab":{"title":"GitLab","description":"Versionskontrolle & CI/CD-Plattform","extendedInfo":"GitLab ist eine vollständige DevOps-Plattform, die Versionskontrolle, kontinuierliche Integration und kontinuierliche Bereitstellung ermöglicht. Sie bietet Quellcodeverwaltung, Issue-Tracking, CI/CD-Pipelines und vieles mehr in einer einzigen Anwendung."},"harbor":{"title":"Harbor","description":"Container-Registry","extendedInfo":"Harbor ist eine Open-Source-Container-Image-Registry, die Artefakte mit Richtlinien und rollenbasierter Zugriffssteuerung sichert. Sie stellt sicher, dass Images auf Schwachstellen geprüft und als vertrauenswürdig signiert werden."},"bookstack":{"title":"Bookstack","description":"Wiki & Wissensdatenbank","extendedInfo":"Bookstack ist ein kostenloses Open-Source-Wiki-System, das eine einfache, selbst gehostete Plattform zur Organisation und Speicherung von Informationen bietet. Es verwendet eine buchartige Organisationsstruktur, die intuitiv zu bedienen und zu navigieren ist."},"matrix":{"title":"Matrix Synapse","description":"Sicherer Kommunikationsserver","extendedInfo":"Matrix Synapse ist eine Referenz-Homeserver-Implementierung des Matrix-Protokolls, die Echtzeitkommunikation mit hoher Sicherheit und Privatsphäre bietet. Es unterstützt Ende-zu-Ende-Verschlüsselung und dezentrale Kommunikation."},"planka":{"title":"Planka","description":"Kanban-Projektmanagement","extendedInfo":"Planka ist ein kostenloses Open-Source-Kanban-Board, das Ihnen hilft, Projekte und Aufgaben effizient zu verwalten. Es bietet Funktionen wie Drag-and-Drop-Karten, Labels, Fälligkeitsdaten und Team-Collaboration-Tools."},"media":{"title":"Medienseite","description":"Unterhaltungszentrale (VPN erforderlich)","extendedInfo":"Umfassendes Medienzentrum mit:\\n- Jellyfin: Open-Source-Medienstreaming (Hauptplattform)\\n- Grimmory: Digitaler Buch- und Comic-Reader\\n- Audiobookshelf: Hörbuch-Server\\n- Request Center: Neue Medie
337n anfragen"},"overleaf":{"title":"Overleaf","description":"Kollaborativer LaTeX-Editor","extendedInfo":"Overleaf ist ein kollaborativer, cloudbasierter LaTeX-Editor, der das Erstellen, Bearbeiten und Teilen wissenschaftlicher Dokumente erleichtert. Perfekt für wissenschaftliche Arbeiten, Dissertationen und technische Dokumentationen mit Features wie:\\n- Echtzeit-Kollaboration mit mehreren Benutzern\\n- Rich-Text- und Quellcode-Bearbeitungsmodi\\n- Tausende von LaTeX-Vorlagen\\n- Automatische Kompilierung und Vorschau\\n- Versionsverlauf und Änderungsverfolgung\\n- Literaturverwaltung mit BibTeX\\n- Git-Integration für Versionskontrolle\\n- Direkte Einreichung bei Zeitschriften und Verlagen\\n- Querverweise und Zitationsunterstützung\\n\\nIdeal für Studierende, Forscher und Akademiker, die an wissenschaftlichen und technischen Dokumenten arbeiten."},"penpot":{"title":"Penpot","description":"Open-Source Design-Plattform (Figma-Alternative)","extendedInfo":"Penpot ist eine leistungsstarke Open-Source-Design- und Prototyping-Plattform, die als kostenlose Alternative zu Figma dient. Sie bietet umfassende Werkzeuge für UI/UX-Design mit Features wie:\\n- Webbasierte Design-Oberfläche von überall zugänglich\\n- Echtzeit-Kollaboration mit Teammitgliedern\\n- Vektor-Bearbeitung und Design-Tools\\n- Prototyping und interaktive Mockups\\n- Komponentenbibliotheken und Design-Systeme\\n- CSS-freundliche Design-Ausgabe\\n- SVG-Standard-Konformität\\n- Keine Vendor-Lock-in mit offenen Formaten\\n- Selbst-gehostet für vollständige Privatsphäre\\n- Export in verschiedene Formate\\n\\nPerfekt für Designer, Entwickler und Teams, die nach einer flexiblen, datenschutzorientierten Design-Lösung ohne Abonnementkosten suchen."},"mailcow":{"title":"Mailcow","description":"Mail-Server-Lösung","extendedInfo":"Mailcow ist eine umfassende Mail-Server-Lösung, die alles Notwendige für die E-Mail-Verwaltung enthält. Sie bietet Spam-Schutz, Antivirus, Webmail, ActiveSync und eine Administrationsoberfläche."},"dms":{"title":"Nextcloud DMS","description":"Dateimanagementsystem","extendedInfo":"Nextcloud DMS (Dateimanagementsystem) ist eine umfassende Dateiverwaltungs- und Kollaborationsplattform. Sie bietet sichere Cloud-Speicherung, Dateisynchronisation und Freigabefunktionen mit Features wie:\\n- Sichere Dateispeicherung und -organisation\\n- Echtzeit-Zusammenarbeit an Dokumenten\\n- Kalender- und Kontaktverwaltung\\n- Aufgabenverwaltung und Notizen\\n- Videokonferenz-Integration\\n- Ende-zu-Ende-Verschlüsselung für sensible Daten\\n- Mobile und Desktop-Synchronisation\\n- Erweiterte Freigabeberechtigungen und Zugriffskontrolle\\n- Integration mit Office-Suiten für Dokumentenbearbeitung\\n- Umfassende Admin-Kontrollen und Benutzerverwaltung\\n\\nPerfekt für persönliches und professionelles Datenmanagement mit vollständiger Kontrolle über Ihre Dateien und Privatsphäre."},"pelican":{"title":"Server Panel","description":"Spielserver-Verwaltung","extendedInfo":"Pelican ist ein Spielserver-Verwaltungspanel, das verschiedene Spiel- und Sprachserver unterstützt. Es bietet eine intuitive Oberfläche für Server-Deployment, Konfiguration und Überwachung."},"linkShortener":{"title":"Link-Kürzer","description":"URL-Kürzungsdienst","extendedInfo":"Individueller URL-Kürzungsdienst, der kompakte, einfach zu teilende Links erstellt. Verfolgen Sie Link-Analysen und verwalten Sie gekürzte URLs über eine einfache Oberfläche."},"uwrPlanner":{"title":"UWR Planer","description":"Trainingsplanung für UWR-Teams","extendedInfo":"Ein spezialisiertes Tool zur Planung und Organisation von Trainingseinheiten für Unterwasser-Rugby-Teams. Ermöglicht effiziente Teamkoordination, Trainingsstrukturierung und Leistungsverfolgung."},"mealieRecipe":{"title":"Mealie Rezepte","description":"Persönliche Rezeptsammlung","extendedInfo":"Eine umfassende Rezeptdatenbank mit persönlichen Lieblingsrezepten. Organisieren, teilen und entdecken Sie kulinarische Kreationen mit einfacher Navigation und Suchfunktionen."},"immich":{"title":"Immich","description":"Selbst-Gehostete Foto- & Video-Sicherung","extendedInfo":"Immich ist eine leistungsstarke, Open-Source-Lösung für Foto- und Videomanagement, die für das Selbst-Hosting entwickelt wurde. Sie bietet nahtlose Sicherung von mobilen und Desktop-Geräten mit fortschrittlichen Funktionen wie:\\n- KI-gestützte Suche und Organisation\\n- Gesichtserkennungstechnologie\\n- Sichere, private Cloud-Speicherung\\n- Automatische Sicherung und Synchronisation\\n- Unterstützung verschiedener Medientypen\\n- Benutzerfreundliche Oberfläche\\n- Vollständige Datenhoheit und Privatsphäre"},"pairdrop":{"title":"Pairdrop","description":"Dateiübertragungsdienst","extendedInfo":"Pairdrop ist ein einfacher Dateiübertragungsdienst, der es Benutzern ermöglicht, Dateien schnell und sicher zwischen Geräten zu übertragen. Es bietet eine benutzerfreundliche Oberfläche, schnelle Übertragungsgeschwindigkeiten und Ende-zu-Ende-Verschlüsselung."},"pdf":{"title":"BentoPDF","description":"Datenschutzfreundliche PDF-Bearbeitungslösung","extendedInfo":"BentoPDF ist ein datenschutzfreundliches, clientbasiertes Tool für die umfassende PDF-Bearbeitung. Die gesamte Verarbeitung erfolgt vollständig im Browser - es werden keine Daten an einen Server gesendet, was maximalen Datenschutz und Sicherheit gewährleistet. Es bietet eine Vielzahl von Funktionen zur Manipulation und Verwaltung von PDF-Dokumenten:\\n- PDF-Dateien zusammenführen und aufteilen\\n- Seiten hinzufügen, entfernen und neu anordnen\\n- Wasserzeichen und Stempel hinzufügen\\n- PDF-Komprimierung und -Optimierung\\n- Konvertierung zwischen verschiedenen Formaten\\n- Passwort-Schutz und Sicherheitseinstellungen\\n- Metadaten bearbeiten und verwalten\\n- Formulare erstellen und bearbeiten\\n\\nDie benutzerfreundliche Weboberfläche macht es einfach, komplexe PDF-Operationen ohne zusätzliche Software durchzuführen, während alle Ihre Dokumente vollständig privat bleiben."},"openwebui":{"title":"OpenWebUI","description":"KI-Assistenten & LLM-Plattform","extendedInfo":"OpenWebUI ist eine umfassende Plattform für den Zugang zu verschiedenen Large Language Models (LLMs) und KI-Assistenten. Die Plattform bietet Zugang zu einer Vielzahl modernster KI-Modelle:\\n\\n**Verfügbare Modelle:**\\n- Phi4: Microsofts kompaktes aber leistungsstarkes Modell\\n- Gemma3: Googles fortschrittliches Sprachmodell\\n- DeepSeek-R1:8B: Spezialisiert auf Reasoning und logisches Denken\\n- Qwen (QwQ): Alibabas vielseitiges Sprachmodell\\n- Llama2-Uncensored: Unzensierte Version von Metas Llama2\\n- Mistral: Europäisches Open-Source-Sprachmodell\\n- Llama3.2: Neueste Version von Metas Llama-Familie\\n- Und viele weitere Modelle\\n\\n**Features:**\\n- Benutzerfreundliche Chat-Oberfläche\\n- Modellvergleich und -auswahl\\n- Anpassbare Systemanweisungen\\n- Gesprächsverlauf und -verwaltung\\n- Lokale Bereitstellung für Datenschutz\\n- API-Zugang für Entwickler\\n\\nPerfekt für Forschung, Entwicklung, kreative Projekte und professionelle KI-Anwendungen."},"vaultwarden":{"title":"Vaultwarden","description":"Passwort-Manager","extendedInfo":"Vaultwarden ist ein inoffizieller Bitwarden-kompatibler Server in Rust geschrieben, der eine leichtgewichtige und effiziente Passwort-Management-Lösung bietet. Es bietet umfassende Funktionen für sichere Passwortspeicherung und -verwaltung:\\n\\n**Hauptfunktionen:**\\n- Ende-zu-Ende-Verschlüsselung für alle gespeicherten Daten\\n- Kompatibel mit allen Bitwarden-Clients (Desktop, Mobile, Browser-Erweiterungen)\\n- Sichere Passwort-Generierung\\n- Zwei-Faktor-Authentifizierung (2FA) Unterstützung\\n- Sicheres Teilen von Passwörtern und Notizen\\n- Organisations- und Sammlungsverwaltung\\n- Passwort-Gesundheitsberichte\\n- Notfallzugriffsfunktionen\\n- Selbst-gehostet für vollständige Datenkontrolle\\n- Geringer Ressourcenverbrauch und hohe Leistung\\n\\n**Sicherheit:**\\n- Zero-Knowledge-Verschlüsselung\\n- Master-Passwort verlässt nie Ihr Gerät\\n- Optionale 2FA mit Authenticator-Apps, YubiKey oder E-Mail\\n- Sichere Tresor-Element-Freigabe\\n\\nPerfekt für Einzelpersonen und Teams, die vollständige Kontrolle über ihre Passwortsicherheit mit Enterprise-Grade-Funktionen wünschen."}}}`),dronesPage:{pageTitle:`Neue EU Drohnen-Regeln`,lastUpdate:`Letzte Aktualisierung:`,resourcesTitle:`Wichtige Links und Ressourcen`,euRegulationTitle:`Offizielle EU-Verordnung`,euRegulationLink:`EU-Durchführungsverordnung 2019/947 (Betrieb unbemannter Luftfahrzeuge)`,licenseTitle:`Drohnenführerschein (A1/A3 Kompetenznachweis)`,licenseDescription:`Den EU-Drohnenführerschein (A1/A3 "Kleiner Drohnenführerschein") können Sie beim Luftfahrt-Bundesamt (LBA) online ablegen:`,licenseLink:`LBA Online-Drohnenführerschein`,licenseCost:`Kosten: ca. 25€ | Gültigkeit: 5 Jahre | Online-Prüfung mit 40 Fragen`,droniqTitle:`Droniq App - Flugplanung und Genehmigungen`,droniqDescription:`Die Droniq App ist essentiell für die Flugplanung in Deutschland. Sie zeigt Flugverbotszonen, geografische UAS-Gebiete und ermöglicht die Beantragung von Flugfreigaben.`,droniqAndroid:`Android (Google Play Store)`,droniqIOS:`iOS (App Store)`,droniqWarning:`Hinweis: Die App ist leider nicht über F-Droid verfügbar, sondern nur über die offiziellen App-Stores von Google und Apple.`,changesTitle:`Was hat sich geändert?`,changesIntro:`Seit dem 31. Dezember 2020 gelten in der gesamten EU einheitliche Drohnen-Vorschriften gemäß EU-Verordnung 2019/947. Die wichtigsten Änderungen:`,changes:[`Neue Drohnen-Klassen (C0-C4): Alle neuen Drohnen müssen ab 2024 mit einer CE-Klassifizierung gekennzeichnet sein`,`EU-weiter Drohnenführerschein: Pflicht für fast alle Drohnen ab 250g (A1/A3) bzw. ab 500g in der Nähe von Menschen (A2)`,`Registrierungspflicht: Piloten müssen sich registrieren (eID erforderlich) - nicht mehr die Drohne selbst`,`Elektronische Kennzeichnung (Remote ID): Für neue Drohnen ab C1-Klasse verpflichtend`,`Geografische Zonen (Geo-Fencing): Automatische Beschränkung in Flugverbotszonen bei neueren Drohnen`,`Selbstgebaute Drohnen: Unterliegen strengeren Regeln und sind meist nur bis 250g in der offenen Kategorie erlaubt`],importantTitle:`Worauf muss man besonders achten?`,important:[`Versicherung ist Pflicht: Eine Drohnen-Haftpflichtversicherung ist in Deutschland gesetzlich vorgeschrieben`,`Kennzeichnungspflicht: Ab 250g muss eine feuerfeste Plakette mit der Registrierungsnummer am Gerät angebracht sein`,`120m Höhenbeschränkung: Maximale Flughöhe von 120m über Grund (außer in speziellen Zonen)`,`Sichtflug (VLOS): Die Drohne muss stets in direkter Sichtweite bleiben - FPV-Flüge nur mit Spotter`,`Abstandsregeln beachten: Mindestabstände zu Flughäfen (1,5 km), Menschenansammlungen, Wohngebieten, Naturschutzgebieten`,`Droniq App nutzen: Vor jedem Flug die aktuellen Flugverbotszonen und temporäre Einschränkungen prüfen`,`Datenschutz: Keine Aufnahmen von Personen ohne Einwilligung, keine Verletzung der Privatsphäre`,`Nachtflugverbot: Flüge sind grundsätzlich nur bei Tageslicht erlaubt (Ausnahmen mit spezieller Genehmigung)`,`Alkoholverbot: Fliegen unter Alkohol- oder Drogeneinfluss ist verboten (ab 0,5 Promille Straftat)`,`Ältere Drohnen (Bestandsdrohnen): Dürfen noch bis Ende 2025 mit alten Regeln geflogen werden, danach gelten Übergangsregelungen`],finderTitle:`Drohnen-Klassen-Finder`,weightLabel:`Gewicht der Drohne (in Gramm):`,homemadeLabel:`Selbstgebaute Drohne`,findButton:`Klasse bestimmen`,resultTitle:`Ergebnis:`,droneClass:`Drohnen-Klasse:`,requiredLicense:`Erforderliche Lizenz:`,scenariosTitle:`Anwendungsszenarien`,scenariosIntro:`Die EU-Richtlinien sehen drei Anwendungsszenarien vor:`,scenarios:[`Open - für Drohnen und Flüge mit geringem Risiko`,`Specific - für spezielle Einsätze mit Ausnahmegenehmigungen`,`Certified - für Spezialanwendungen in der Industrie`],droneClassesTitle:`Drohnen-Kategorien`,pilotClassesTitle:`Piloten-Kategorien`,pilotForClasses:`Für Drohnenklassen:`,hintsTitle:`Wichtige Hinweise:`,hints:[`Maximale Flughöhe: 120 Meter`,`Flug nur in Sichtweite (VLOS)`,`Versicherungspflicht beachten`,`Flugbeschränkungen für bestimmte Zonen beachten`,`Privatsphäre respektieren - keine unerlaubten Aufnahmen`]},projects:{title:`Projekte`,subtitle:`Eine Übersicht cooler Projekte, an denen ich arbeite`,viewProject:`Weiterlesen`,visitRepo:`Repository besuchen`,techStack:`Tech Stack`,backToProjects:`Zurück zu Projekten`,startedOn:`Gestartet`,availableOn:`Verfügbar für`},externalLinkWarning:{title:`Externe Webseite`,message:`Sie verlassen jetzt pabr.de und werden zu einer externen Webseite weitergeleitet:`,disclaimer:`Wir übernehmen keine Verantwortung für den Inhalt externer Webseiten.`,cancel:`Abbrechen`,continue:`Fortfahren`}},er=`/opt/src/frontend/src/contexts/LanguageContext.tsx`,tr=(0,S.createContext)(void 0),nr=({children:e})=>{let{user:t}
337=Zn(),[n,r]=(0,S.useState)(`en`),[i,a]=(0,S.useState)(Qn),[o,s]=(0,S.useState)(null);return(0,S.useEffect)(()=>{let e=t?._id||null;if(e!==o){if(s(e),t?.preferences?.language)r(t.preferences.language);else if(!t){let e=navigator.language.split(`-`)[0],t=[`de`,`en`].includes(e)?e:`en`;r(t)}}},[t,o]),(0,S.useEffect)(()=>{a(n===`de`?$n:Qn)},[n]),(0,E.jsxDEV)(tr.Provider,{value:{language:n,setLanguage:r,translations:i},children:e},void 0,!1,{fileName:er,lineNumber:443,columnNumber:5},void 0)},rr=()=>{let e=(0,S.useContext)(tr);if(e===void 0)throw Error(`useLanguage must be used within a LanguageProvider`);return e},ir=`/opt/src/frontend/src/contexts/ThemeContext.tsx`,ar=(0,S.createContext)(null),or=()=>{let e=(0,S.useContext)(ar);if(!e)throw Error(`useTheme must be used within ThemeProvider`);return e},sr=({children:e})=>{let{user:t,updateUserPreferences:n}=Zn(),[r,i]=(0,S.useState)(!1),[a,o]=(0,S.useState)(!1),[s,c]=(0,S.useState)(`light`),[l,u]=(0,S.useState)(0),[d,f]=(0,S.useState)(null);(0,S.useEffect)(()=>{if(t?.preferences?.theme)t.preferences.theme===`rainbow`?(o(!0),i(!1),c(`rainbow`)):t.preferences.theme===`dark`?(o(!1),i(!0),c(`dark`)):(o(!1),i(!1),c(`light`));else{let e=window.matchMedia(`(prefers-color-scheme: dark)`).matches;i(e),o(!1),c(e?`dark`:`light`)}t?.preferences?.discoveredRainbow&&u(0);let e=window.matchMedia(`(prefers-color-scheme: dark)`),n=e=>{t?.preferences?.theme||(i(e.matches),c(e.matches?`dark`:`light`))};return e.addListener(n),()=>e.removeListener(n)},[t]),(0,S.useEffect)(()=>{document.documentElement.classList.toggle(`dark`,r&&!a),a&&document.documentElement.classList.remove(`dark`)},[r,a]),(0,S.useEffect)(()=>{if(!a)return;let e=document.createElement(`style`);return e.id=`rainbow-animation-style`,e.textContent=`
338      @keyframes rainbow-background {
339        0% { background-color: hsl(0, 100%, 85%); }
340        20% { background-color: hsl(72, 100%, 85%); }
341        40% { background-color: hsl(144, 100%, 85%); }
342        60% { background-color: hsl(216, 100%, 85%); }
343        80% { background-color: hsl(288, 100%, 85%); }
344        100% { background-color: hsl(360, 100%, 85%); }
345      }
346      @keyframes rainbow-text {
347        0% { color: hsl(0, 100%, 50%); }
348        20% { color: hsl(72, 100%, 50%); }
349        40% { color: hsl(144, 100%, 50%); }
350        60% { color: hsl(216, 100%, 50%); }
351        80% { color: hsl(288, 100%, 50%); }
352        100% { color: hsl(360, 100%, 50%); }
353      }
354      @keyframes rainbow-border {
355        0% { border-color: hsl(0, 100%, 50%); }
356        20% { border-color: hsl(72, 100%, 50%); }
357        40% { border-color: hsl(144, 100%, 50%); }
358        60% { border-color: hsl(216, 100%, 50%); }
359        80% { border-color: hsl(288, 100%, 50%); }
360        100% { border-color: hsl(360, 100%, 50%); }
361      }
362      @keyframes rainbow-pulse {
363        0% { transform: scale(1); }
364        50% { transform: scale(1.1); }
365        100% { transform: scale(1); }
366      }
367      .rainbow-mode { animation: rainbow-background 10s linear infinite; transition: background-color 2s ease; }
368      .rainbow-mode header {
369        background: linear-gradient(45deg, hsl(0,100%,75%), hsl(60,100%,75%), hsl(120,100%,75%), hsl(180,100%,75%), hsl(240,100%,75%), hsl(300,100%,75%));
370        background-size: 400% 400%;
371        animation: gradient 15s ease infinite;
372      }
373      @keyframes gradient {
374        0% { background-position: 0% 50%; }
375        50% { background-position: 100% 50%; }
376        100% { background-position: 0% 50%; }
377      }
378      .rainbow-mode h1, .rainbow-mode h2, .rainbow-mode h3 { animation: rainbow-text 8s linear infinite; }
379      .rainbow-mode .bg-white, .rainbow-mode .bg-gray-800 {
380        background: rgba(255, 255, 255, 0.7) !important;
381        border: 2px solid transparent;
382        animation: rainbow-border 6s linear infinite;
383        transition: transform 0.3s ease;
384      }
385      .rainbow-mode .bg-white:hover, .rainbow-mode .bg-gray-800:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
386      .rainbow-mode button:not(.bg-red-500):not(.bg-blue-500) {
387        background: linear-gradient(45deg, hsl(0,100%,70%), hsl(60,100%,70%), hsl(120,100%,70%), hsl(180,100%,70%), hsl(240,100%,70%), hsl(300,100%,70%)) !important;
388        background-size: 400% 400%;
389        animation: gradient 15s ease infinite;
390        color: white !important;
391        text-shadow: 0 1px 2px rgba(0,0,0,0.3);
392      }
393    `,document.head.appendChild(e),()=>{document.getElementById(`rainbow-animation-style`)?.remove()}},[a]);let p=(0,S.useCallback)(()=>{let e=Date.now();if(l===0||d&&e-d>1e4){f(e),u(1);return}let r=l+1;r===5?(o(!0),i(!1),c(`rainbow`),u(0),f(null),t&&n({theme:`rainbow`,discoveredRainbow:!0}).catch(e=>Kn.error(`Failed to update theme preference:`,e))):u(r)},[t,n,l,d]),m=(0,S.useCallback)(async()=>
393{if(a){if(o(!1),i(!1),c(`light`),t)try{await n({theme:`light`})}catch(e){Kn.error(`Failed to update theme preference:`,e)}return}let e=r?`light`:`dark`;if(i(e=>!e),c(e),t)try{await n({theme:e})}catch(e){Kn.error(`Failed to update theme preference:`,e)}},[r,a,t,n]),h=(0,S.useCallback)(async e=>{if(c(e),o(e===`rainbow`),i(e===`dark`),t)try{await n({theme:e})}catch(e){Kn.error(`Failed to update theme preference:`,e)}},[t,n]);return(0,E.jsxDEV)(ar.Provider,{value:{isDarkMode:r,isRainbowMode:a,currentTheme:s,toggleTheme:m,handleThemeChange:h,handleThemeButtonClick:p},children:e},void 0,!1,{fileName:ir,lineNumber:201,columnNumber:5},void 0)},cr=`/opt/src/frontend/src/contexts/BlogContext.tsx`,lr=(0,S.createContext)(null),ur=()=>{let e=(0,S.useContext)(lr);if(!e)throw Error(`useBlog must be used within BlogProvider`);return e},dr=e=>e?.map(e=>({filename:e.filename,path:e.path,mimetype:e.mimetype,size:e.size,createdAt:e.createdAt??new Date().toISOString()})),fr=({children:e})=>{let{authenticatedRequest:t}=Zn(),n=(0,S.useRef)(null),r=(0,S.useRef)(new Map),i=()=>{n.current=null,r.current.clear()};return(0,E.jsxDEV)(lr.Provider,{value:{listPosts:async()=>{if(n.current)return n.current;let e=await t(`/api/blog/posts`);if(!e.ok)throw Error(`Failed to fetch posts`);let i=await e.json();return n.current=i,i.forEach(e=>r.current.set(e._id,e)),i},getPost:async e=>{if(r.current.has(e))return r.current.get(e);let n=await t(`/api/blog/posts/${e}`);if(!n.ok)throw Error(`Failed to fetch post`);let i=await n.json();return r.current.set(i._id,i),i},createPost:async e=>{let n=await t(`/api/blog/posts`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,attachments:dr(e.attachments)})});if(!n.ok)throw Error(`Failed to create post`);let r=await n.json();return i(),r},updatePost:async(e,n)=>{let r=await t(`/api/blog/posts/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...n,attachments:dr(n.attachments)})});if(!r.ok)throw Error(`Failed to update post`);let a=await r.json();return i(),a},deletePost:async e=>{if(!(await t(`/api/blog/posts/${e}`,{method:`DELETE`})).ok)throw Error(`Failed to delete post`);i()},uploadImage:async e=>{let n=new FormData;n.append(`image`,e);let r=await t(`/api/blog/upload-image`,{method:`POST`,body:n});if(!r.ok)throw Error(`Failed to upload image`);return(await r.json()).imageUrl},uploadAttachments:async e=>{let n=new FormData;e.forEach(e=>n.append(`attachments`,e));let r=await t(`/api/blog/upload-attachments`,{method:`POST`,body:n});if(!r.ok)throw Error(`Failed to upload attachments`);return(await r.json()).attachments},invalidate:i},children:e},void 0,!1,{fileName:cr,lineNumber:142,columnNumber:5},void 0)},pr={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},mr=S.createContext&&S.createContext(pr),hr=[`attr`,`size`,`title`];function gr(e,t){if(e==null)return{};var n,r,i=_r(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function _r(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function vr(){return vr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vr.apply(null,arguments)}function yr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function br(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?yr(Object(n),!0).forEach(function(t){xr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xr(e,t,n){return(t=Sr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sr(e){var t=Cr(e,`string`);return typeof t==`symbol`?t:t+``}function Cr(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function wr(e){return e&&e.map((e,t)=>S.createElement(e.tag,br({key:t},e.attr),wr(e.child)))}function D(e){return t=>S.createElement(Tr,vr({attr:br({},e.attr)},t),wr(e.child))}function Tr(e){var t=t=>{var n=e.attr,r=e.size,i=e.title,a=gr(e,hr),o=r||t.size||`1em`,s;return t.className&&(s=t.className),e.className&&(s=(s?s+` `:``)+e.className),S.createElement(`svg`,vr({stroke:`currentColor`,fill:`currentColor`,strokeWidth:`0`},t.attr,n,a,{className:s,style:br(br({color:e.color||t.color},t.style),e.style),height:o,width:o,xmlns:`http://www.w3.org/2000/svg`}),i&&S.createElement(`title`,null,i),e.children)};return mr===void 0?t(pr):S.createElement(mr.Consumer,null,e=>t(e))}function Er(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 
39310.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z`},child:[]}]})(e)}function Dr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z`},child:[]}]})(e)}function Or(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z`},child:[]}]})(e)}function kr(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z`},child:[]}]})(e)}function Ar(e){return D({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z`},child:[]}]})(e)}function jr(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z`},child:[]}]})(e)}function Mr(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z`},child:[]}]})(e)}function Nr(e){return D({tag:`svg`,attr:{viewBox:`0 0 416 512`},child:[{tag:`path`,attr:{d:`M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z`},child:[]}]})(e)}function Pr(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z`},child:[]}]})(e)}function Fr(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z`},child:[]}]})(e)}function Ir(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z`},child:[]}]})(e)}function Lr(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.
3936 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z`},child:[]}]})(e)}function Rr(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z`},child:[]}]})(e)}function zr(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c2
3936.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z`},child:[]}]})(e)}function Br(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z`},child:[]}]})(e)}function Vr(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z`},child:[]}]})(e)}function Hr(e){return D({tag:`svg`,attr:{viewBox:`0 0 352 512`},child:[{tag:`path`,attr:{d:`M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z`},child:[]}]})(e)}function Ur(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z`},child:[]}]})(e)}function Wr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z`},child:[]}]})(e)}function Gr(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z`},child:[]}]})(e)}function Kr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z`},child:[]}]})(e)}function qr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z`},child:[]}]})(e)}function Jr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.
3936-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z`},child:[]}]})(e)}function Yr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z`},child:[]}]})(e)}function Xr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z`},child:[]}]})(e)}function Zr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z`},child:[]}]})(e)}function Qr(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z`},child:[]}]})(e)}function $r(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z`},child:[]}]})(e)}function ei(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z`},child:[]}]})(e)}function ti(e){return D({tag:`svg`,attr:{viewBox:`0 0 416 512`},child:[{tag:`path`,attr:{d:`M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z`},child:[]}]})(e)}function ni(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z`},child:[]}]})(e)}function ri(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z`},child:[]}]})(e)}function ii(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z`},child:[]}]})(e)}function ai(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z`},child:[]}]})(e)}function oi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z`},child:[]}]})(e)}function si(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z`},child:[]}]})(e)}function ci(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z`},child:[]}]})(e)}function li(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M109.46 244.04l134.58-134.56-44.12-44.12-61.
39368 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z`},child:[]}]})(e)}function ui(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z`},child:[]}]})(e)}function di(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z`},child:[]}]})(e)}function fi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z`},child:[]}]})(e)}function pi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z`},child:[]}]})(e)}function mi(e){return D({tag:`svg`,attr:{viewBox:`0 0 320 512`},child:[{tag:`path`,attr:{d:`M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z`},child:[]}]})(e)}function hi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z`},child:[]}]})(e)}function gi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.8
39306l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z`},child:[]}]})(e)}function _i(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z`},child:[]}]})(e)}function vi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z`},child:[]}]})(e)}function yi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z`},child:[]}]})(e)}function bi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z`},child:[]}]})(e)}function xi(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z`},child:[]}]})(e)}function Si(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z`},child:[]}]})(e)}function Ci(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z`},child:[]}]})(e)}function wi(e){return D({tag:`svg`,attr:{viewBox:`0 0 496 512`},child:[{tag:`path`,attr:{d:`M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z`},child:[]}]})(e)}function Ti(e){return D({tag:`svg`,attr:{viewBox:`0 0 496 512`},child:[{tag:`path`,attr:{d:`M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4
393-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z`},child:[]}]})(e)}function Ei(e){return D({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z`},child:[]}]})(e)}function Di(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z`},child:[]}]})(e)}function Oi(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z`},child:[]}]})(e)}function ki(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z`},child:[]}]})(e)}function Ai(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z`},child:[]}]})(e)}function ji(e){return D({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 3
3931.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z`},child:[]}]})(e)}function Mi(e){return D({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z`},child:[]}]})(e)}function Ni(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z`},child:[]}]})(e)}function Pi(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z`},child:[]}]})(e)}function Fi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z`},child:[]}]})(e)}function Ii(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z`},child:[]}]})(e)}function Li(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z`},child:[]}]})(e)}function Ri(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z`},child:[]}]})(e)}function zi(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z`},child:[]}]})(e)}function Bi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z`},child:[]}]})(e)}function Vi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z`},child:[]}]})(e)}function Hi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z`},child:[]}]})(e)}function Ui(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z`},child:[]}]})(e)}function Wi(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z`},child:[]}]})(e)}function Gi(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z`},child:[]}]})(e)}function Ki(e){return D({tag:`svg`,attr:{viewBox:`0 0 640 512`},child:[{tag:`path`,attr:{d:`M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z`},child:[]}]})(e)}function qi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z`},child:[]}]})(e)}function Ji(e){return D({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z`},child:[]}]})(e)}function Yi(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z`},child:[]}]})(e)}function Xi(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z`},child:[]}]})(e)}function Zi(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z`},child:[]}]})(e)}function Qi(e){return D({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z`},child:[]}]})(e)}function $i(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z`},child:[]}]})(e)}function ea(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-1
3932.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z`},child:[]}]})(e)}function ta(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z`},child:[]}]})(e)}function na(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z`},child:[]}]})(e)}function ra(e){return D({tag:`svg`,attr:{viewBox:`0 0 576 512`},child:[{tag:`path`,attr:{d:`M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z`},child:[]}]})(e)}function ia(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z`},child:[]}]})(e)}function aa(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-
3937.2 16-16z`},child:[]}]})(e)}function oa(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z`},child:[]}]})(e)}function sa(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z`},child:[]}]})(e)}function ca(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z`},child:[]}]})(e)}function la(e){return D({tag:`svg`,attr:{viewBox:`0 0 448 512`},child:[{tag:`path`,attr:{d:`M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z`},child:[]}]})(e)}function ua(e){return D({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z`},child:[]}]})(e)}var da=(e,t,n={})=>{let r=`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;n.expires&&(r+=`; expires=${n.expires.toUTCString()}`),n.maxAge&&(r+=`; max-age=${n.maxAge}`),n.path&&(r+=`; path=${n.path}`),n.domain&&(r+=`; domain=${n.domain}`),n.secure&&(r+=`; secure`),n.sameSite&&(r+=`; samesite=${n.sameSite}`),document.cookie=r},fa=e=>{let t=encodeURIComponent(e)+`=`,n=document.cookie.split(`;`);for(let e of n)if(e=e.trim(),e.indexOf(t)===0)return decodeURIComponent(e.substring(t.length));return null},pa=(e,t={})=>{da(e,``,{...t,expires:new Date(0)})},ma=(e,t,n)=>{da(e,t,{...n})},ha=`/opt/src/frontend/src/components/Header.tsx`,ga=()=>{let{isDarkMode:e,isRainbowMode:t,currentTheme:n,toggleTheme:r,handleThemeChange:i,handleThemeButtonClick:a}=or(),{isAuthenticated:o,logout:s,user:c,updateUserPreferences:l}=Zn(),{language:u,setLanguage:d,translations:f}=rr(),[p,m]=(0,S.useState)(!1),[h,g]=(0,S.useState)(0),[_,v]=(0,S.useState)(!1),[y,b]=(0,S.useState)(!1),x=vt(),ee=(0,S.useRef)(null),te=(0,S.useRef)(null);(0,S.useEffect)(()=>{let e=fa(`rainbow-advanced-mode`),t=c?.preferences?.discoveredRainbow;(e===`true`||t&&o)&&v(!0)},[c,o]),(0,S.useEffect)(()=>{let e=e=>{te.current&&!te.current.contains(e.target)&&b(!1)};if(y)return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[y]),(0,S.useEffect)(()=>()=>{ee.current&&clearTimeout(ee.current)},[]);let ne=()=>{g(e=>{let t=e+1;return ee.current&&clearTimeout(ee.current),ee.current=setTimeout(()=>{g(0)},5e3),t>=6&&!_&&(v(!0),b(!0),ma(`rainbow-advanced-mode`,`true`),o&&l({discoveredRainbow:!0}).catch(e=>Kn.error(`Failed to save rainbow discovery:`,e)),g(0),ee.current&&clearTimeout(ee.current)),t})},re=async()=>{pa(`rainbow-advanced-mode`),v(!1),b(!1),await s()},ie=()=>{ne(),r(),a()},C=async e=>{await i(e),b(!1)},ae=()=>{_?b(!y):ie()},w=async e=>{let t=e.target.value;if(d(t),o)try{await l({language:t})}catch(e){Kn.error(`Failed to save language preference:`,e)}},oe=()=>{m(!p)},T=e=>!!(e===`/`&&x.pathname===`/`||e!==`/`&&x.pathname.startsWith(e)),se=()=>(0,E.jsxDEV)(`div`,{className:`relative`,ref:te,children:[(0,E.jsxDEV)(`button`,{onClick:ae,className:`p-2 rounded-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-white mr-4 flex items-center ${t?`bg-gradient-to-r from-red-400 via-yellow-400 to-purple-400 text-white`:`bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-white`}`,style:t?{animation:`rainbow-pulse 3s infinite`}:{},children:_?(0,E.jsxDEV)(E.Fragment,{children:[n===`rainbow`&&(0,E.jsxDEV)(`span`,{className:`w-5 h-5 flex items-center justify-center mr-1`,style:{fontSize:`1rem`},children:`🌈`},void 0,!1,{fileName:ha,lineNumber:184,columnNumber:15},void 0),n===`light`&&(0,E.jsxDEV)(Kr,{className:`w-5 h-5 mr-1`},void 0,!1,{fileName:ha,lineNumber:191,columnNumber:42},void 0),n===`dark`&&(0,E.jsxDEV)(pi,{className:`w-5 h-5 mr-1`},void 0,!1,{fileName:ha,lineNumber:192,columnNumber:41},void 0),(0,E.jsxDEV)(Xi,{className:`w-3 h-3`},void 0,!1,{fileName:ha,lineNumber:193,columnNumber:13},void 0)]},void 0,!0,{fileName:ha,lineNumber:182,columnNumber:11},void 0):(0,E.jsxDEV)(E.Fragment,{children:t?(0,E.jsxDEV)(`span`,{className:`w-5 h-5 flex items-center justify-center`,style:{fontSize:`1.2rem`},children:`🌈`},void 0,!1,{fileName:ha,lineNumber:198,columnNumber:15},void 0):e?(0,E.jsxDEV)(Kr,{className:`w-5 h-5`},void 0,!1,{fileName:ha,lineNumber:205,columnNumber:15},void 0):(0,E.jsxDEV)(pi,{className:`w-5 h-5`},void 0,!1,{fileName:ha,lineNumber:207,columnNumber:15},void 0)},void 0,!1,{fileName:ha,lineNumber:196,columnNumber:11},void 0)},void 0,!1,{fileName:ha,lineNumber:172,columnNumber:7},void 0),_&&y&&(0,E.jsxDEV)(`div`,{className:`absolute right-0 mt-2 w-48 bg-white dark:bg-gray-800 rounded-md shadow-lg z-50 border border-gray-200 dark:border-gray-700`,children:(0,E.jsxDEV)(`div`,{className:`py-1`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>C(`light`),className:`flex items-center w-full px-4 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 ${n===`light`?`bg-gray-100 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(Kr,{className:`w-4 h-4 mr-3 text-yellow-500`},void 0,!1,{fileName:ha,lineNumber:222,columnNumber:15},void 0),`Light Mode`]},void 0,!0,{fileName:ha,lineNumber:216,columnNumber:13},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>C(`dark`),className:`flex items-center w-full px-4 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 ${n===`dark`?`bg-gray-100 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(pi,{className:`w-4 h-4 mr-3 text-blue-500`},void 0,!1,{fileName:ha,lineNumber:231,columnNumber:15},void 0),`Dark Mode`]},void 0,!0,{fileName:ha,lineNumber:225,columnNumber:13},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>C(`rainbow`),className:`flex items-center w-full px-4 py-2 text-sm text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 ${n===`rainbow`?`bg-gray-100 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(`span`,{className:`w-4 h-4 mr-3 flex items-center justify-center`,style:{fontSize:`1rem`},children:`🌈`},void 0,!1,{fileName:ha,lineNumber:240,columnNumber:15},void 0),`Rainbow Mode`]},void 0,!0,{fileName:ha,lineNumber:234,columnNumber:13},void 0)]},void 0,!0,{fileName:ha,lineNumber:215,columnNumber:11},void 0)},void 0,!1,{fileName:ha,lineNumber:214,columnNumber:9},void 0)]},void 0,!0,{fileName:ha,lineNumber:171,columnNumber:5},void 0),ce=()=>(0,E.jsxDEV)(E.Fragment,{children:[(0,E.jsxDEV)(Pn,{to:`/`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white px-3 py-2 rounded-md text-sm font-medium flex items-center relative ${T(`/`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(oa,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:262,columnNumber:9},void 0),` `,f.header.blog]},void 0,!0,{fileName:ha,lineNumber:256,columnNumber:7},void 0),(0,E.jsxDEV)(Pn,{to:`/projects`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white px-3 py-2 rounded-md text-sm font-medium flex items-center relative ${T(`/projects`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(ni,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:270,columnNumber:9},void 0),` `,f.header.projects]},void 0,!0,{fileName:ha,lineNumber:264,columnNumber:7},void 0),(0,E.jsxDEV)(Pn,{to:`/divers`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white px-3 py-2 rounded-md text-sm font-medium flex items-center relative ${T(`/divers`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(Mr,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:278,columnNumber:9},void 0),` `,f.header.divers.main]},void 0,!0,{fileName:ha,lineNumber:272,columnNumber:7},void 0),(0,E.jsxDEV)(Pn,{to:`/game`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white px-3 py-2 rounded-md text-sm font-medium flex items-center relative ${T(`/game`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(Oi,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:286,columnNumber:9},void 0),` `,f.header.games]},void 0,!0,{fileName:ha,lineNumber:280,columnNumber:7},void 0),(0,E.jsxDEV)(Pn,{to:`/services`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white px-3 py-2 rounded-md text-sm font-medium flex items-center relative ${T(`/services`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(Wi,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:294,columnNumber:9},void 0),` `,f.header.services]},void 0,!0,{fileName:ha,lineNumber:288,columnNumber:7},void 0),(0,E.jsxDEV)(Pn,{to:`/about`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white px-3 py-2 rounded-md text-sm font-medium flex items-center relative ${T(`/about`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(yi,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:302,columnNumber:9},void 0),` `,f.header.about]}
393,void 0,!0,{fileName:ha,lineNumber:296,columnNumber:7},void 0)]},void 0,!0,{fileName:ha,lineNumber:255,columnNumber:5},void 0);return(0,E.jsxDEV)(`header`,{className:`bg-white dark:bg-gray-800 shadow-md fixed top-0 left-0 right-0 z-50`,children:(0,E.jsxDEV)(`nav`,{className:`container mx-auto px-4 sm:px-6 lg:px-8 py-4`,children:[(0,E.jsxDEV)(`div`,{className:`flex justify-between items-center`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center`,children:[(0,E.jsxDEV)(Pn,{to:`/`,className:`text-xl font-bold text-gray-800 dark:text-white`,children:`PaBr Webpage`},void 0,!1,{fileName:ha,lineNumber:312,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`hidden md:flex ml-10 items-baseline space-x-4`,children:(0,E.jsxDEV)(ce,{},void 0,!1,{fileName:ha,lineNumber:319,columnNumber:15},void 0)},void 0,!1,{fileName:ha,lineNumber:318,columnNumber:13},void 0)]},void 0,!0,{fileName:ha,lineNumber:311,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center`,children:[(0,E.jsxDEV)(`div`,{className:`relative flex items-center mr-4`,children:[(0,E.jsxDEV)(`select`,{value:u,onChange:w,className:`text-gray-600 dark:text-gray-300 hover:text-hover-light dark:hover:text-white px-3 py-2 pl-10 rounded-md text-sm font-medium flex items-center relative w-24 ${u===`en`||u===`de`?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(`option`,{value:`en`,className:`bg-white dark:bg-gray-800`,children:`EN`},void 0,!1,{fileName:ha,lineNumber:334,columnNumber:17},void 0),(0,E.jsxDEV)(`option`,{value:`de`,className:`bg-white dark:bg-gray-800`,children:`DE`},void 0,!1,{fileName:ha,lineNumber:337,columnNumber:17},void 0)]},void 0,!0,{fileName:ha,lineNumber:325,columnNumber:15},void 0),(0,E.jsxDEV)(wi,{className:`absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-600 dark:text-gray-300 pointer-events-none`},void 0,!1,{fileName:ha,lineNumber:341,columnNumber:15},void 0)]},void 0,!0,{fileName:ha,lineNumber:324,columnNumber:13},void 0),(0,E.jsxDEV)(se,{},void 0,!1,{fileName:ha,lineNumber:343,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`hidden md:flex items-center`,children:o?(0,E.jsxDEV)(`div`,{className:`flex items-center`,children:[(0,E.jsxDEV)(Pn,{to:`/profile`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white px-3 py-2 rounded-md text-sm font-medium flex items-center ${T(`/profile`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(Fr,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:355,columnNumber:21},void 0),` `,f.header.profile]},void 0,!0,{fileName:ha,lineNumber:347,columnNumber:19},void 0),(0,E.jsxDEV)(`button`,{onClick:re,className:`ml-2 bg-red-500 hover:bg-red-600 text-white px-3 py-2 rounded-md text-sm font-medium flex items-center`,children:[(0,E.jsxDEV)(Jr,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:361,columnNumber:21},void 0),` Logout`]},void 0,!0,{fileName:ha,lineNumber:357,columnNumber:19},void 0)]},void 0,!0,{fileName:ha,lineNumber:346,columnNumber:17},void 0):(0,E.jsxDEV)(Pn,{to:`/login`,className:`bg-blue-500 hover:bg-blue-600 text-white px-3 py-2 rounded-md text-sm font-medium flex items-center ${T(`/login`)?`bg-blue-600`:``}`,children:[(0,E.jsxDEV)(Yr,{className:`mr-2`},void 0,!1,{fileName:ha,lineNumber:371,columnNumber:19},void 0),` `,f.header.login]},void 0,!0,{fileName:ha,lineNumber:365,columnNumber:17},void 0)},void 0,!1,{fileName:ha,lineNumber:344,columnNumber:13},void 0),(0,E.jsxDEV)(`button`,{onClick:oe,className:`md:hidden ml-2 p-2 rounded-md text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white focus:outline-none`,children:p?(0,E.jsxDEV)(Hr,{className:`h-6 w-6`},void 0,!1,{fileName:ha,lineNumber:380,columnNumber:17},void 0):(0,E.jsxDEV)(sa,{className:`h-6 w-6`},void 0,!1,{fileName:ha,lineNumber:382,columnNumber:17},void 0)},void 0,!1,{fileName:ha,lineNumber:375,columnNumber:13},void 0)]},void 0,!0,{fileName:ha,lineNumber:323,columnNumber:11},void 0)]},void 0,!0,{fileName:ha,lineNumber:310,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`md:hidden ${p?`block`:`hidden`}`,children:(0,E.jsxDEV)(`div`,{className:`px-2 pt-2 pb-3 space-y-1 sm:px-3`,children:[(0,E.jsxDEV)(ce,{},void 0,!1,{fileName:ha,lineNumber:391,columnNumber:13},void 0),o?(0,E.jsxDEV)(`div`,{className:`space-y-1`,children:[(0,E.jsxDEV)(Pn,{to:`/profile`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white block px-3 py-2 rounded-md text-sm font-medium ${T(`/profile`)?`bg-gray-200 dark:bg-gray-700`:``}`,children:[(0,E.jsxDEV)(Fr,{className:`inline mr-2`},void 0,!1,{fileName:ha,lineNumber:402,columnNumber:19},void 0),` `,f.header.profile]},void 0,!0,{fileName:ha,lineNumber:394,columnNumber:17},void 0),(0,E.jsxDEV)(`button`,{onClick:re,className:`w-full text-left bg-red-500 hover:bg-red-600 text-white px-3 py-2 rounded-md text-sm font-medium`,children:[(0,E.jsxDEV)(Jr,{className:`inline mr-2`},void 0,!1,{fileName:ha,lineNumber:409,columnNumber:19},void 0),` `,f.header.logout]},void 0,!0,{fileName:ha,lineNumber:405,columnNumber:17},void 0)]},void 0,!0,{fileName:ha,lineNumber:393,columnNumber:15},void 0):(0,E.jsxDEV)(Pn,{to:`/login`,className:`bg-blue-500 hover:bg-blue-600 text-white block px-3 py-2 rounded-md text-sm font-medium ${T(`/login`)?`bg-blue-600`:``}`,children:[(0,E.jsxDEV)(Yr,{className:`inline mr-2`},void 0,!1,{fileName:ha,lineNumber:420,columnNumber:17},void 0),` `,f.header.login]},void 0,!0,{fileName:ha,lineNumber:414,columnNumber:15},void 0)]}
393,void 0,!0,{fileName:ha,lineNumber:390,columnNumber:11},void 0)},void 0,!1,{fileName:ha,lineNumber:389,columnNumber:9},void 0)]},void 0,!0,{fileName:ha,lineNumber:309,columnNumber:7},void 0)},void 0,!1,{fileName:ha,lineNumber:308,columnNumber:5},void 0)},_a=`/opt/src/frontend/src/components/Footer.tsx`,va=()=>{let{translations:e}=rr();return(0,E.jsxDEV)(`footer`,{className:`bg-white dark:bg-gray-800 shadow-md mt-auto`,children:(0,E.jsxDEV)(`div`,{className:`container mx-auto px-4 sm:px-6 lg:px-8 py-4`,children:(0,E.jsxDEV)(`div`,{className:`flex flex-col md:flex-row justify-between items-center`,children:[(0,E.jsxDEV)(`div`,{className:`flex flex-col md:flex-row items-center space-y-2 md:space-y-0 md:space-x-4`,children:[(0,E.jsxDEV)(Pn,{to:`/impressum`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white text-sm`,children:e.footer.impressum},void 0,!1,{fileName:_a,lineNumber:13,columnNumber:13},void 0),(0,E.jsxDEV)(Pn,{to:`/datenschutz`,className:`text-gray-600 dark:text-gray-300 hover:text-gray-800 dark:hover:text-white text-sm`,children:e.footer.datenschutz},void 0,!1,{fileName:_a,lineNumber:19,columnNumber:13},void 0)]},void 0,!0,{fileName:_a,lineNumber:12,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`mt-4 md:mt-0`,children:(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300 text-sm`,children:e.footer.copyright},void 0,!1,{fileName:_a,lineNumber:27,columnNumber:13},void 0)},void 0,!1,{fileName:_a,lineNumber:26,columnNumber:11},void 0)]},void 0,!0,{fileName:_a,lineNumber:11,columnNumber:9},void 0)},void 0,!1,{fileName:_a,lineNumber:10,columnNumber:7},void 0)},void 0,!1,{fileName:_a,lineNumber:9,columnNumber:5},void 0)},ya=(e,t=`en`)=>new Date(e).toLocaleDateString(t===`de`?`de-DE`:`en-US`,{year:`numeric`,month:`long`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}),ba=(e,t=`en`)=>{let n=new Intl.RelativeTimeFormat(t,{numeric:`auto`}),r=new Date,i=new Date(e).getTime()-r.getTime(),a=Math.round(i/6e4),o=Math.round(i/36e5),s=Math.round(i/864e5),c=Math.round(s/30),l=Math.round(s/365);return Math.abs(l)>=1?n.format(l,`year`):Math.abs(c)>=1?n.format(c,`month`):Math.abs(s)>=1?n.format(s,`day`):Math.abs(o)>=1?n.format(o,`hour`):Math.abs(a)>=1?n.format(a,`minute`):t===`de`?`Gerade eben`:`Just now`},xa=`/opt/src/frontend/src/components/blog/BlogPostItem.tsx`,Sa=({post:e,onEdit:t,onDelete:n})=>{let{translations:r,language:i}=rr(),{isAuthenticated:a,user:o}=Zn(),s=xt(),c=((e,t=200)=>{let n=document.createElement(`div`);n.innerHTML=e;let r=n.textContent||n.innerText||``;return r.length>t?r.substring(0,t)+`...`:r})(e.content);return(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg border border-gray-100 dark:border-gray-700 overflow-hidden transition-all duration-300 hover:shadow-xl cursor-pointer`,children:(0,E.jsxDEV)(`div`,{className:`p-6 relative`,children:[a&&e.author===o?.preferred_username&&(0,E.jsxDEV)(`div`,{className:`absolute top-4 right-4 flex space-x-2 z-10`,children:[t&&(0,E.jsxDEV)(`button`,{onClick:n=>{n.stopPropagation(),t(e)},className:`px-3 py-1 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors duration-200`,children:r.blog.edit},void 0,!1,{fileName:xa,lineNumber:52,columnNumber:15},void 0),n&&(0,E.jsxDEV)(`button`,{onClick:t=>{t.stopPropagation(),n(e._id)},className:`px-3 py-1 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors duration-200`,children:r.blog.delete},void 0,!1,{fileName:xa,lineNumber:63,columnNumber:15},void 0)]},void 0,!0,{fileName:xa,lineNumber:50,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{onClick:()=>s(`/blog/${e._id}`),children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-3 text-gray-900 dark:text-white pr-24`,children:e.title},void 0,!1,{fileName:xa,lineNumber:76,columnNumber:11},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300 mb-4`,children:c},void 0,!1,{fileName:xa,lineNumber:79,columnNumber:11},void 0),(0,E.jsxDEV)(`button`,{className:`text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 font-medium transition-colors duration-200`,children:[r.blog.readMore,` →`]},void 0,!0,{fileName:xa,lineNumber:82,columnNumber:11},void 0)]},void 0,!0,{fileName:xa,lineNumber:75,columnNumber:9},void 0),e.attachments&&e.attachments.length>0&&(0,E.jsxDEV)(`div`,{className:`mt-4 border-t border-gray-200 dark:border-gray-700 pt-4`,children:(0,E.jsxDEV)(`p`,{className:`text-sm text-gray-600 dark:text-gray-400`,children:[`📎 `,e.attachments.length,` `,r.blog.attachments||`Attachments`]},void 0,!0,{fileName:xa,lineNumber:88,columnNumber:13},void 0)},void 0,!1,{fileName:xa,lineNumber:87,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`flex flex-col space-y-2 mt-4`,children:[(0,E.jsxDEV)(`div`,{className:`flex justify-between items-center`,children:[(0,E.jsxDEV)(`span`,{className:`text-sm text-gray-500 dark:text-gray-400`,children:ya(e.createdAt,i)},void 0,!1,{fileName:xa,lineNumber:95,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`text-sm text-gray-500 dark:text-gray-400`,children:[r.blog.by,` `,e.author]},void 0,!0,{fileName:xa,lineNumber:98,columnNumber:13},void 0)]},void 0,!0,{fileName:xa,lineNumber:94,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`flex justify-between items-center`,children:(0,E.jsxDEV)(`span`,{className:`text-sm text-gray-500 dark:text-gray-400`,children:ba(e.createdAt,i)},void 0,!1,{fileName:xa,lineNumber:103,columnNumber:13},void 0)},void 0,!1,{fileName:xa,lineNumber:102,columnNumber:11},void 0),e.updatedAt!==e.createdAt&&(0,E.jsxDEV)(`span`,{className:`text-sm text-gray-500 dark:text-gray-400`,children:[r.blog.lastUpdated,`: `,ya(e.updatedAt,i)]},void 0,!0,{fileName:xa,lineNumber:108,columnNumber:13},void 0)]},void 0,!0,{fileName:xa,lineNumber:93,columnNumber:9},void 0)]},void 0,!0,{fileName:xa,lineNumber:48,columnNumber:7},void 0)},void 0,!1,{fileName:xa,lineNumber:47,columnNumber:5},void 0)},Ca=e=>{if(!e)return`Unknown size`;let t=[`Bytes`,`KB`,`MB`,`GB`,`TB`];if(e===0)return`0 Byte`;let n=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/1024**n).toFixed(2))+` `+t[n]},O=(e,t,n,r=`en`)=>({displayName:e,details:`${Ca(t)} | ${n?new Intl.DateTimeFormat(r,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(new Date(n)):`Unknown date`}`}),wa=`/opt/src/frontend/src/components/blog/BlogPostDetail.tsx`,Ta=({post:e,onEdit:t,onDelete:n})=>{let{translations:r,language:i}=rr(),{isAuthenticated:a,user:o}=Zn(),s=xt();return(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>s(`/blog`),className:`mb-6 px-4 py-2 text-blue-500 hover:text-blue-600 dar
393k:text-blue-400 dark:hover:text-blue-300 transition-colors duration-200 flex items-center`,children:[(0,E.jsxDEV)(`svg`,{className:`w-5 h-5 mr-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10 19l-7-7m0 0l7-7m-7 7h18`},void 0,!1,{fileName:wa,lineNumber:44,columnNumber:13},void 0)},void 0,!1,{fileName:wa,lineNumber:43,columnNumber:11},void 0),r.common.backToMenu]},void 0,!0,{fileName:wa,lineNumber:39,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg border border-gray-100 dark:border-gray-700 overflow-hidden`,children:(0,E.jsxDEV)(`div`,{className:`p-8 relative`,children:[a&&e.author===o?.preferred_username&&(0,E.jsxDEV)(`div`,{className:`absolute top-6 right-6 flex space-x-2`,children:[t&&(0,E.jsxDEV)(`button`,{onClick:()=>s(`/blog/edit/${e._id}`),className:`px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors duration-200`,children:r.blog.edit},void 0,!1,{fileName:wa,lineNumber:54,columnNumber:19},void 0),n&&(0,E.jsxDEV)(`button`,{onClick:()=>n(e._id),className:`px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors duration-200`,children:r.blog.delete},void 0,!1,{fileName:wa,lineNumber:62,columnNumber:19},void 0)]},void 0,!0,{fileName:wa,lineNumber:52,columnNumber:15},void 0),(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold mb-6 text-gray-900 dark:text-white pr-32`,children:e.title},void 0,!1,{fileName:wa,lineNumber:72,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-4 mb-8 text-sm text-gray-500 dark:text-gray-400`,children:[(0,E.jsxDEV)(`span`,{children:[r.blog.by,` `,e.author]},void 0,!0,{fileName:wa,lineNumber:77,columnNumber:15},void 0),(0,E.jsxDEV)(`span`,{children:`•`},void 0,!1,{fileName:wa,lineNumber:78,columnNumber:15},void 0),(0,E.jsxDEV)(`span`,{children:ya(e.createdAt,i)},void 0,!1,{fileName:wa,lineNumber:79,columnNumber:15},void 0),(0,E.jsxDEV)(`span`,{children:`•`},void 0,!1,{fileName:wa,lineNumber:80,columnNumber:15},void 0),(0,E.jsxDEV)(`span`,{children:ba(e.createdAt,i)},void 0,!1,{fileName:wa,lineNumber:81,columnNumber:15},void 0)]},void 0,!0,{fileName:wa,lineNumber:76,columnNumber:13},void 0),e.updatedAt!==e.createdAt&&(0,E.jsxDEV)(`div`,{className:`mb-6 text-sm text-gray-500 dark:text-gray-400`,children:[r.blog.lastUpdated,`: `,ya(e.updatedAt,i)]},void 0,!0,{fileName:wa,lineNumber:85,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-700 dark:text-gray-300 prose dark:prose-invert max-w-none prose-lg`,dangerouslySetInnerHTML:{__html:e.content}},void 0,!1,{fileName:wa,lineNumber:90,columnNumber:13},void 0),e.attachments&&e.attachments.length>0&&(0,E.jsxDEV)(`div`,{className:`mt-8 border-t border-gray-200 dark:border-gray-700 pt-6`,children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:r.blog.attachments||`Attachments`},void 0,!1,{fileName:wa,lineNumber:97,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-3`,children:e.attachments.map((e,t)=>{let{displayName:n,details:r}=O(e.filename,e.size,e.createdAt,i);return(0,E.jsxDEV)(`div`,{className:`flex justify-between items-center text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 bg-gray-100 dark:bg-gray-700 p-3 rounded-lg transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,E.jsxDEV)(`a`,{href:e.path,target:`_blank`,rel:`noopener noreferrer`,className:`font-medium`,children:n},void 0,!1,{fileName:wa,lineNumber:114,columnNumber:27},void 0),(0,E.jsxDEV)(`span`,{className:`text-xs text-gray-500 dark:text-gray-400`,children:r},void 0,!1,{fileName:wa,lineNumber:122,columnNumber:27},void 0)]},void 0,!0,{fileName:wa,lineNumber:113,columnNumber:25},void 0)},t,!1,{fileName:wa,lineNumber:109,columnNumber:23},void 0)})},void 0,!1,{fileName:wa,lineNumber:100,columnNumber:17},void 0)]},void 0,!0,{fileName:wa,lineNumber:96,columnNumber:15},void 0)]},void 0,!0,{fileName:wa,lineNumber:50,columnNumber:11},void 0)},void 0,!1,{fileName:wa,lineNumber:49,columnNumber:9},void 0)]},void 0,!0,{fileName:wa,lineNumber:38,columnNumber:7},void 0)},void 0,!1,{fileName:wa,lineNumber:37,columnNumber:5},void 0)},Ea=`/opt/src/frontend/src/components/BlogPage.tsx`,Da=()=>{let{translations:e}=rr(),{isAuthenticated:t}=Zn(),n=ur(),{postId:r}=Ct(),i=xt(),[a,o]=(0,S.useState)([]),[s,c]=(0,S.useState)(null),[l,u]=(0,S.useState)(!0),[d,f]=(0,S.useState)(null),[p,m]=(0,S.useState)(null);(0,S.useEffect)(()=>{h()},[]),(0,S.useEffect)(()=>
393{if(r&&a.length>0){let e=a.find(e=>e._id===r);c(e||null)}else c(null)},[r,a]);let h=async()=>{try{let e=await n.listPosts();o(e),f(null)}catch(t){Kn.error(`Error fetching posts:`,t),f(e.blog.error.fetch)}finally{u(!1)}},g=async t=>{try{await n.deletePost(t),await h(),m(null),r===t&&i(`/blog`)}catch(t){Kn.error(`Error deleting post:`,t),f(e.blog.error.delete)}},_=e=>{i(`/blog/edit/${e._id}`)};return l?(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:(0,E.jsxDEV)(`div`,{className:`text-center text-gray-600 dark:text-gray-400`,children:e.blog.loading},void 0,!1,{fileName:Ea,lineNumber:75,columnNumber:11},void 0)},void 0,!1,{fileName:Ea,lineNumber:74,columnNumber:9},void 0)},void 0,!1,{fileName:Ea,lineNumber:73,columnNumber:7},void 0):r&&s?(0,E.jsxDEV)(E.Fragment,{children:[(0,E.jsxDEV)(Ta,{post:s,onEdit:_,onDelete:e=>m(e)},void 0,!1,{fileName:Ea,lineNumber:87,columnNumber:9},void 0),p&&(0,E.jsxDEV)(`div`,{className:`fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center p-4 z-50`,children:(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl p-6 max-w-sm w-full border border-gray-100 dark:border-gray-700`,children:[(0,E.jsxDEV)(`h3`,{className:`text-lg font-semibold mb-4 text-gray-900 dark:text-white`,children:e.blog.confirmDelete},void 0,!1,{fileName:Ea,lineNumber:97,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex justify-end space-x-2`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>m(null),className:`px-4 py-2 text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-200 transition-colors duration-200`,children:e.blog.cancel},void 0,!1,{fileName:Ea,lineNumber:101,columnNumber:17},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>p&&g(p),className:`px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors duration-200`,children:e.blog.delete},void 0,!1,{fileName:Ea,lineNumber:107,columnNumber:17},void 0)]},void 0,!0,{fileName:Ea,lineNumber:100,columnNumber:15},void 0)]},void 0,!0,{fileName:Ea,lineNumber:96,columnNumber:13},void 0)},void 0,!1,{fileName:Ea,lineNumber:95,columnNumber:11},void 0)]},void 0,!0,{fileName:Ea,lineNumber:86,columnNumber:7},void 0):(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`div`,{className:`flex justify-between items-center mb-8`,children:[(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-gray-900 dark:text-white transition-colors duration-200`,children:e.blog.title},void 0,!1,{fileName:Ea,lineNumber:125,columnNumber:11},void 0),t&&(0,E.jsxDEV)(`button`,{onClick:()=>i(`/blog/new`),className:`px-6 py-3 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors duration-200 font-semibold flex items-center`,children:[(0,E.jsxDEV)(`svg`,{className:`w-5 h-5 mr-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 4v16m8-8H4`},void 0,!1,{fileName:Ea,lineNumber:134,columnNumber:17},void 0)},void 0,!1,{fileName:Ea,lineNumber:133,columnNumber:15},void 0),e.blog.createPost]},void 0,!0,{fileName:Ea,lineNumber:129,columnNumber:13},void 0)]},void 0,!0,{fileName:Ea,lineNumber:124,columnNumber:9},void 0),d&&(0,E.jsxDEV)(`div`,{className:`bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded-lg mb-4`,children:d},void 0,!1,{fileName:Ea,lineNumber:142,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-6`,children:a.map(e=>(0,E.jsxDEV)(Sa,{post:e,onEdit:_,onDelete:e=>m(e)},e._id,!1,{fileName:Ea,lineNumber:149,columnNumber:13},void 0))},void 0,!1,{fileName:Ea,lineNumber:147,columnNumber:9},void 0),p&&(0,E.jsxDEV)(`div`,{className:`fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center p-4 z-50`,children:(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl p-6 max-w-sm w-full border border-gray-100 dark:border-gray-700`,children:[(0,E.jsxDEV)(`h3`,{className:`text-lg font-semibold mb-4 text-gray-900 dark:text-white`,children:e.blog.confirmDelete},void 0,!1,{fileName:Ea,lineNumber:162,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex justify-end space-x-2`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>m(null),className:`px-4 py-2 text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-200 transition-colors duration-200`,children:e.blog.cancel},void 0,!1,{fileName:Ea,lineNumber:166,columnNumber:17},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>p&&g(p),className:`px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors duration-200`,children:e.blog.delete},void 0,!1,{fileName:Ea,lineNumber:172,columnNumber:17},void 0)]},void 0,!0,{fileName:Ea,lineNumber:165,columnNumber:15},void 0)]},void 0,!0,{fileName:Ea,lineNumber:161,columnNumber:13},void 0)},void 0,!1,{fileName:Ea,lineNumber:160,columnNumber:11},void 0)]},void 0,!0,{fileName:Ea,lineNumber:123,columnNumber:7},void 0)},void 0,!1,{fileName:Ea,lineNumber:122,columnNumber:5},void 0)},Oa=s({ACCURACY:()=>10,APP_VERSION:()=>ka,BASE_PATH:()=>xo,BASE_PATH_IS_MIN:()=>So,BR:()=>`br`,CLIPBOARD_ID:()=>To,COMMAND_KEYS:()=>ao,EMULATE_DBLCLICK_TIMEOUT:()=>300,ES:()=>Aa,FAT_MODE:()=>!0,HOMEPAGE:()=>Ma,INSEPARABLE_TAGS:()=>qa,INSERT_AS_HTML:()=>fo,INSERT_AS_TEXT:()=>mo,INSERT_CLEAR_HTML:()=>po,INSERT_ONLY_TEXT:()=>ho,INVISIBLE_SPACE:()=>``,INVISIBLE_SPACE_REG_EXP:()=>Fa,INVISIBLE_SPACE_REG_EXP_END:()=>Ia,INVISIBLE_SPACE_REG_EXP_START:()=>La,IS_BLOCK:()=>Ua,IS_ES_MODERN:()=>!0,IS_ES_NEXT:()=>!0,IS_IE:()=>oo,IS_INLINE:()=>Wa,IS_MAC:()=>go,IS_PROD:()=>!0,IS_TEST:()=>ja,KEY_ALIASES:()=>_o,KEY_ALT:()=>`Alt`,KEY_BACKSPACE:()=>Xa,KEY_DELETE:()=>io,KEY_DOWN:()=>no,KEY_ENTER:()=>Za,KEY_ESC:()=>Qa,KEY_F3:()=>`F3`,KEY_LEFT:()=>$a,KEY_META:()=>Ya,KEY_RIGHT:()=>to,KEY_SPACE:()=>ro,KEY_TAB:()=>`Tab`,KEY_UP:()=>eo,LIST_TAGS:()=>Ga,MARKER_CLASS:()=>uo,MODE_SOURCE:()=>2,MODE_SPLIT:()=>3,MODE_WYSIWYG:()=>1,NBSP_SPACE:()=>`\xA0`,NEARBY:()=>5,NO_EMPTY_TAGS:()=>Ja,PARAGRAPH:()=>`p`,PASSIVE_EVENTS:()=>Do,SAFE_COUNT_CHANGE_CALL:()=>10,SET_TEST:()=>Na,SOURCE_CONSUMER:()=>Eo,SPACE_REG_EXP:()=>Ra,SPACE_REG_EXP_END:()=>Ba,SPACE_REG_EXP_START:()=>za,TEMP_ATTR:()=>Co,TEXT_HTML:()=>co,TEXT_PLAIN:()=>so,TEXT_RTF:()=>lo,TOKENS:()=>Pa,globalDocument:()=>Ha,globalWindow:()=>Va,lang:()=>wo}),ka=`4.13.10`,Aa=`es2020`,ja=!1,Ma=`https://xdsoft.net/jodit/`,Na=()=>ja=!0,Pa={},Fa=()=>/[\uFEFF]/g,Ia=()=>/[\uFEFF]+$/g,La=()=>/^[\uFEFF]+/g,Ra=()=>/[\s\n\t\r\uFEFF\u200b]+/g,za=()=>/^[\s\n\t\r\uFEFF\u200b]+/g,Ba=()=>/[\s\n\t\r\uFEFF\u200b]+$/g,Va=typeof window<`u`?window:void 0,Ha=typeof document<`u`?document:void 0,Ua=/^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|CANVAS|DD|DFN|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[1-6]|HEADER|HGROUP|HR|LI|MAIN|NAV|NOSCRIPT|OUTPUT|P|PRE|RUBY|SCRIPT|STYLE|OBJECT|OL|SECTION|IFRAME|JODIT|JODIT-MEDIA|UL|TR|TD|TH|TBODY|THEAD|TFOOT|TABLE|BODY|HTML|VIDEO)$/i,Wa=/^(STRONG|SPAN|I|EM|B|SUP|SUB|A|U)$/i,Ga=new Set([`ul`,`ol`]),Ka=[`img`,`video`,`svg`,`iframe`,`script`,`input`,`textarea`,`link`,`jodit`,`jodit-media`],qa=new Set([...Ka,`br`,`hr`]),Ja=new Set(Ka),Ya=`Meta`,Xa=`Backspace`,Za=`Enter`,Qa=`
393Escape`,$a=`ArrowLeft`,eo=`ArrowUp`,to=`ArrowRight`,no=`ArrowDown`,ro=`Space`,io=`Delete`,ao=[Ya,Xa,io,eo,no,to,$a,Za,Qa,`F3`,`Tab`],oo=typeof navigator<`u`&&(navigator.userAgent.indexOf(`MSIE`)!==-1||/rv:11.0/i.test(navigator.userAgent)),so=oo?`text`:`text/plain`,co=oo?`html`:`text/html`,lo=oo?`rtf`:`text/rtf`,uo=`jodit-selection_marker`,fo=`insert_as_html`,po=`insert_clear_html`,mo=`insert_as_text`,ho=`insert_only_text`,go=Va!==void 0&&/Mac|iPod|iPhone|iPad/.test(Va.navigator.platform),_o={add:`+`,break:`pause`,cmd:`meta`,command:`meta`,ctl:`control`,ctrl:`control`,del:`delete`,down:`arrowdown`,esc:`escape`,ins:`insert`,left:`arrowleft`,mod:go?`meta`:`control`,opt:`alt`,option:`alt`,return:`enter`,right:`arrowright`,space:`space`,spacebar:`space`,up:`arrowup`,win:`meta`,windows:`meta`},vo=e=>{let t=e.split(`/`);return/\.js/.test(t[t.length-1])?{basePath:t.slice(0,t.length-1).join(`/`)+`/`,isMin:!1}:{basePath:e,isMin:!1}},{basePath:yo,isMin:bo}=(()=>{if(typeof document>`u`)return{basePath:``,isMin:!1};let e=Ha.currentScript;if(e)return vo(e.src);let t=Ha.querySelectorAll(`script[src]`);return t&&t.length?vo(t[t.length-1].src):vo(Va.location.href)})(),xo=yo,So=bo,Co=`data-jodit-temp`,wo={},To=`clipboard`,Eo=`source-consumer`,Do=new Set([`touchstart`,`touchend`,`scroll`,`mousewheel`,`mousemove`,`touchmove`]);function k(e){return typeof e==`function`}function A(e,t,n){if(!k(n.value))throw TypeError(`@autobind can only be applied to methods, but "${t}" is not a function`);let r=n.value;return{configurable:!0,get(){let e=r.bind(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e}}}var Oo={beforeInit:`beforeInit`,ready:`ready`,beforeDestruct:`beforeDestruct`,destructed:`destructed`};function ko(e){return!!e&&(typeof e).toLowerCase()===`function`&&(e===Function.prototype||/^\s*function\s*(\b[a-z$_][a-z0-9$_]*\b)*\s*\((|([a-z$_][a-z0-9$_]*)(\s*,[a-z$_][a-z0-9$_]*)*)\)\s*{\s*\[native code]\s*}\s*$/i.test(String(e)))}function Ao(e){return Array.isArray(e)}function j(e){return typeof e==`string`}function jo(e){return Ao(e)&&j(e[0])}function Mo(e){return e==null}function No(e,t){if(!j(e)||!e.length)return null;let n=e.split(`.`),r=t;try{for(let e of n){if(Mo(r[e]))return null;r=r[e]}}catch{return null}return Mo(r)?null:r}var Po={};function Fo(e){var t;if(!(e in Po)){let n=Ha.createElement(`iframe`);try{if(n.src=`about:blank`,Ha.body.appendChild(n),!n.contentWindow)return null;let t=No(e,n.contentWindow),r=No(e.split(`.`).slice(0,-1).join(`.`),n.contentWindow);k(t)&&(Po[e]=t.bind(r))}catch{}finally{(t=n.parentNode)==null||t.removeChild(n)}}return Po[e]??null}var Io=function(...e){return(ko(Array.from)?Array.from:Fo(`Array.from`)??Array.from).apply(Array,e)},Lo=e=>j(e)&&/<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)<\/\1>/m.test(e.replace(/[\r\n]/g,``));function Ro(e){return!!e&&k(e.has)&&k(e.add)&&k(e.delete)}function zo(e){return e.replace(Ba(),``).replace(za(),``)}function Bo(e,t){return e.replace(RegExp(`[${t}]+$`),``).replace(RegExp(`^[${t}]+`),``)}function Vo(e){return e.replace(Ia(),``).replace(La(),``)}var Ho=class extends Error{constructor(e){super(e),this.name=`AssertionError`}};function Uo(e,t){if(!e)throw new Ho(`Assertion failed: ${t}`)}function Wo(e){return e!=null&&e===e.window}function Go(e){return!e||typeof e!=`object`||e.nodeType||Wo(e)?!1:!(e.constructor&&!{}.hasOwnProperty.call(e.constructor.prototype,`isPrototypeOf`))}var Ko=e=>e.replace(/([A-Z])([A-Z])([a-z])/g,`$1-$2$3`).replace(/([a-z])([A-Z])/g,`$1-$2`).replace(/[\s_]+/g,`-`).toLowerCase(),qo=e=>e.replace(/([A-Z])([A-Z])([a-z])/g,`$1-$2$3`).replace(/([a-z])([A-Z])/g,`$1-$2`).toLowerCase();function Jo(e){return typeof e==`boolean`}function Yo(e){if(j(e)){if(!e.match(/^([+-])?[0-9]+(\.?)([0-9]+)?(e[0-9]+)?$/))return!1;e=parseFloat(e)}return typeof e==`number`&&!isNaN(e)&&isFinite(e)}var Xo=e=>{if(e===`rgba(0, 0, 0, 0)`||e===``)return!1;if(!e)return`#000000`;if(e.substr(0,1)===`#`)return e;let t=/([\s\n\t\r]*?)rgb\((\d+), (\d+), (\d+)\)/.exec(e)||/([\s\n\t\r]*?)rgba\((\d+), (\d+), (\d+), ([\d.]+)\)/.exec(e);if(!t)return`#000000`;let n=parseInt(t[2],10),r=parseInt(t[3],10),i=(parseInt(t[4],10)|r<<8|n<<16).toString(16).toUpperCase();for(;i.length<6;)i=`0`+i;return t[1]+`#`+i},Zo=/^(left|top|bottom|right|width|min|max|height|margin|padding|fontsize|font-size)/i;function Qo(e,t){return!Mo(t)&&Zo.test(e)&&Yo(t.toString())?parseInt(t.toString(),10)+`px`:t}function $o(e,t){if(Ko(e)===`font-weight`){switch(t.toString().toLowerCase()){case`700`:case`bold`:return 700;
393case`400`:case`normal`:return 400;case`900`:case`heavy`:return 900}return Yo(t)?Number(t):t}return/color/i.test(e)&&/^rgb/i.test(t.toString())&&Xo(t.toString())||t}var es=e=>e.replace(/([-_])(.)/g,(e,t,n)=>n.toUpperCase());function M(e,t,n,r=!1){if(Jo(n)&&(r=n,n=void 0),Go(t)||n!==void 0){let r=(e,t,n)=>{n=Qo(t,n),n!==void 0&&(n==null||M(e,t,!0)!==$o(t,n))&&(e.style[t]=n)};if(Go(t)){let n=Object.keys(t);for(let i=0;i<n.length;i+=1)r(e,es(n[i]),t[n[i]])}else r(e,es(t),n);return``}let i=Ko(t),a=e.ownerDocument||document,o=a?a.defaultView||a.parentWindow:!1,s=e.style[t],c=``;return s!==void 0&&s!==``?c=s:o&&!r&&(c=o.getComputedStyle(e).getPropertyValue(i)),Zo.test(t)&&/^[-+]?[0-9.]+px$/.test(c.toString())&&(c=parseInt(c.toString(),10)),$o(t,c)}var ts=e=>{M(e,`display`)===`block`&&M(e,`display`,``);let{style:t}=e;t.marginLeft===`auto`&&t.marginRight===`auto`&&(t.marginLeft=``,t.marginRight=``)};function N(e,t,n){if(!e||!k(e.getAttribute))return null;if(!j(t))return Object.keys(t).forEach(n=>{let r=t[n];Go(r)&&n===`style`?M(e,r):(n===`className`&&(n=`class`),N(e,n,r))}),null;let r=qo(t);if(/^-/.test(r)){let t=N(e,`data${r}`);if(t)return t;r=r.substr(1)}if(n!==void 0)if(n==null)e.hasAttribute(r)&&e.removeAttribute(r);else{let t=n.toString();return e.nodeName===`IMG`&&(r===`width`||r===`height`)&&(t=t.replace(`px`,``)),e.setAttribute(r,t),t}return e.getAttribute(r)}function ns(e){return!!(e&&e instanceof Object&&k(e.constructor)&&e.isView)}var rs=new WeakMap,is=(e,t,n)=>{let r=rs.get(e);if(!r){r={},rs.set(e,r);let t=null;ns(e.j)&&(t=e.j.e),ns(e)&&(t=e.e),t&&t.on(`beforeDestruct`,()=>{rs.delete(e)})}return n===void 0?r[t]:(r[t]=n,n)};function as(e=`Aborted`){return new DOMException(e,`AbortError`)}var os=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},ss=class e extends TypeError{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};function cs(e){return TypeError(e)}function ls(e){return new os(e)}function us(e){return new ss(e)}function ds(e){return e&&typeof e.then==`function`}function fs(e,...t){return e(...t)}function ps(e,t,...n){return e.apply(t,n)}function ms(e,t){N(t,`data-editor_id`,e.id),!t.component&&Object.defineProperty(t,"jodit",{value:e})}function hs(e,t){return ds(e)?e.then(e=>e,()=>null).finally(t):t?.()}var gs=(e,t)=>t.async.promise((n,r)=>{let i=new Image,a=()=>{t.e.off(i),r?.()},o=()=>{t.e.off(i),n(i)};t.e.one(i,`load`,o).one(i,`error`,a).one(i,`abort`,a),i.src=e,i.complete&&o()}),_s=(e,t=!0)=>{if(t)return Object.keys(e);let n=[];for(let t in e)n.push(t);return n},vs=(e,t,{control:n},r)=>{let i=`button${n.command}`,a=(n.args&&n.args[0])??is(e,i);if(Mo(a))return!1;is(e,i,a),r&&(a=r(a)),e.execCommand(n.command,!1,a??void 0)},ys=e=>{if(e.clipboardData)return e.clipboardData;try{return e.dataTransfer||new DataTransfer}catch{return null}};function bs(e,t){let n;do n=Object.getOwnPropertyDescriptor(e,t),e=Object.getPrototypeOf(e);while(!n&&e);return n}var xs=RegExp(`<([a-z]+)[^>]+${Co}[^>]*>(.+?)</\\1>`,`gi`),P=class e{constructor(){throw Error(`Dom is static module`)}static detach(e){for(;e&&e.firstChild;)e.removeChild(e.firstChild)}static wrapNextInline(t,n,r){let i,a=t,o=t;r.s.save();let s=!1;do s=!1,i=o.nextSibling,i&&!e.isBlock(i)&&!e.isTag(i,`br`)&&(s=!0,o=i);while(s);return e.__wrapElements(n,r,a,o)}static __wrapElements(e,t,n,r){let i=j(e)?t.createInside.element(e):e;n.parentNode&&n.parentNode.insertBefore(i,n);let a=n;for(;a&&(a=n.nextSibling,i.appendChild(n),!(n===r||!a));)n=a;return t.s.restore(),i}static wrapInline(t,n,r){let i,a=t,o=t;r.s.save();let s=!1;do s=!1,i=a.previousSibling,i&&!e.isBlock(i)&&(s=!0,a=i);while(s);do s=!1,i=o.nextSibling,i&&!e.isBlock(i)&&(s=!0,o=i);while(s);return e.__wrapElements(n,r,a,o)}static wrap(t,n,r){let i=j(n)?r.element(n):n;if(e.isNode(t)){if(!t.parentNode)throw cs(`Element should be in DOM`);t.parentNode.insertBefore(i,t),i.appendChild(t)}else{let e=t.extractContents();t.insertNode(i),i.appendChild(e)}return i}static unwrap(t){let n=t.parentNode;if(n){for(;t.firstChild;)n.insertBefore(t.firstChild,t);e.safeRemove(t)}}
393static between(e,t,n){let r=e;for(;r&&r!==t&&!(e!==r&&n(r));){let e=r.firstChild||r.nextSibling;if(!e){for(;r&&!r.nextSibling;)if(r=r.parentNode,r===t)return;e=r?.nextSibling}r=e}}static replace(t,n,r,i=!1,a=!1){Lo(n)&&(Uo(r,`Need create instance for new tag`),n=r.fromHTML(n));let o;if(j(n)?(Uo(r,`Need create instance for new tag`),o=r.element(n)):o=n,!a)for(;t.firstChild;)o.appendChild(t.firstChild);return i&&e.isElement(t)&&e.isElement(o)&&Io(t.attributes).forEach(e=>{o.setAttribute(e.name,e.value)}),t.parentNode&&t.parentNode.replaceChild(o,t),o}static isEmptyTextNode(t){return e.isText(t)&&(!t.nodeValue||t.nodeValue.replace(Fa(),``).trim().length===0)}static isEmptyContent(t){return e.each(t,t=>e.isEmptyTextNode(t))}static isContentEditable(t,n){return e.isNode(t)&&!e.closest(t,t=>e.isElement(t)&&t.getAttribute(`contenteditable`)===`false`,n)}static isEmpty(t,n=Ja){if(!t)return!0;let r;r=k(n)?n:e=>n.has(e.nodeName.toLowerCase());let i=e=>e.nodeValue==null||zo(e.nodeValue).length===0;return e.isText(t)?i(t):!(e.isElement(t)&&r(t))&&e.each(t,t=>{if(e.isText(t)&&!i(t)||e.isElement(t)&&r(t))return!1})}static isNode(e){return!!(e&&j(e.nodeName)&&typeof e.nodeType==`number`&&e.childNodes&&k(e.appendChild))}static isCell(t){return e.isNode(t)&&(t.nodeName===`TD`||t.nodeName===`TH`)}static isList(t){return e.isTag(t,Ga)}static isLeaf(t){return e.isTag(t,`li`)}static isImage(t){return e.isNode(t)&&/^(img|svg|picture|canvas)$/i.test(t.nodeName)}static isBlock(t){return!Mo(t)&&typeof t==`object`&&e.isNode(t)&&Ua.test(t.nodeName)}static isText(e){return!!(e&&e.nodeType===Node.TEXT_NODE)}static isComment(e){return!!(e&&e.nodeType===Node.COMMENT_NODE)}static isElement(t){return e.isNode(t)?t.nodeType===Node.ELEMENT_NODE:!1}static isFragment(t){return e.isNode(t)?t.nodeType===Node.DOCUMENT_FRAGMENT_NODE:!1}static isHTMLElement(t){if(!e.isNode(t))return!1;let n=t.ownerDocument?.defaultView;return t instanceof(n?n.HTMLElement:HTMLElement)}static isInlineBlock(t){return e.isElement(t)&&!/^(BR|HR)$/i.test(t.tagName)&&[`inline`,`inline-block`].indexOf(M(t,`display`).toString())!==-1}static canSplitBlock(t){return!Mo(t)&&e.isHTMLElement(t)&&e.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&t.style!==void 0&&!/^(fixed|absolute)/i.test(t.style.position)}static first(e,t){let n=e?.firstChild;if(!n)return null;do{if(t(n))return n;let r=n.firstChild;if(r||=n.nextSibling,!r&&n.parentNode!==e){do n=n.parentNode;while(n&&!n?.nextSibling&&n.parentNode!==e);r=n?.nextSibling}n=r}while(n);return null}static last(e,t){let n=e?.lastChild;if(!n)return null;do{if(t(n))return n;let r=n.lastChild;if(r||=n.previousSibling,!r&&n.parentNode!==e){do n=n.parentNode;while(n&&!n?.previousSibling&&n.parentNode!==e);r=n?.previousSibling}n=r}while(n);return null}static prev(t,n,r,i=!0){return e.find(t,n,r,!1,i)}static next(t,n,r,i=!0){return e.find(t,n,r,!0,i)}static prevWithClass(t,n){return e.prev(t,t=>e.isElement(t)&&t.classList.contains(n),t.parentNode)}static nextWithClass(t,n){return e.next(t,t=>e.isElement(t)&&t.classList.contains(n),t.parentNode)}static find(e,t,n,r=!0,i=!0){let a=this.nextGen(e,n,r,i),o=a.next();for(;!o.done;){if(t(o.value))return o.value;o=a.next()}return null}static*nextGen(e,t,n=!0,r=!0){let i=[],a=e;do{let t=n?a.nextSibling:a.previousSibling;for(;t;)i.push(t),t=n?t.nextSibling:t.previousSibling;i.reverse(),yield*this.runInStack(e,i,n,r),a=a.parentNode}while(a&&a!==t);return null}static each(e,t,n=!0){let r=this.eachGen(e,n),i=r.next();for(;!i.done;){if(t(i.value)===!1)return!1;i=r.next()}return!0}static eachGen(e,t=!0){return this.runInStack(e,[e],t)}static*runInStack(e,t,n,r=!0){for(;t.length;){let i=t.pop();if(r){let e=n?i.lastChild:i.firstChild;for(;e;)t.push(e),e=n?e.previousSibling:e.nextSibling}e!==i&&(yield i)}}static findWithCurrent(t,n,r,i=`nextSibling`,a=`firstChild`){let o=t;do{if(n(o))return o||null;if(a&&o&&o[a]){let t=e.findWithCurrent(o[a],n,o,i,a);if(t)return t}for(;o&&!o[i]&&o!==r;)o=o.parentNode;o&&o[i]&&o!==r&&(o=o[i])}while(o&&o!==r);return null}static findSibling(t,n=!0,r=t=>!e.isEmptyTextNode(t)){let i=e.sibling(t,n);for(;i&&!r(i);)i=e.sibling(i,n);return i&&r(i)?i:null}static findNotEmptySibling(t,n){return e.findSibling(t,n,t=>!e.isEmptyTextNode(t)&&!!(!e.isText(t)||t.nodeValue?.length&&zo(t.nodeValue)))}static findNotEmptyNeighbor(t,n,r){return fs(n?e.prev:e.next,t,t=>!!(t&&(!(e.isText(t)||e.isComment(t))||zo(t?.nodeValue||``).length)),r)}static sibling(e,t){return t?e.previousSibling:e.nextSibling}static up(e,t,n,r=!1){let i=e;if(!i)return null;do{if(t(i))return i;if(i===n||!i.parentNode)break;i=i.parentNode}while(i&&i!==n);return i===n&&r&&t(i)?i:null}static closest(t,n,r){let i,a=e=>e.toLowerCase();if(k(n))i=n;else if(Ao(n)||Ro(n)){let e=Ro(n)?n:new Set(n.map(a));i=t=>!!(t&&e.has(a(t.nodeName)))}else i=e=>!!(e&&a(n)===a(e.nodeName));return e.up(t,i,r)}static furthest(e,t,n){let r=null,i=e?.parentElement;for(;i&&i!==n;)t(i)&&(r=i),i=i?.parentElement;return r}static appendChildFirst(e,t){let n=e.firstChild;n?n!==t&&e.insertBefore(t,n):e.appendChild(t)}static after(e,t){let{parentNode:n}=e;n&&(n.lastChild===e?n.appendChild(t):n.insertBefore(t,e.nextSibling))}static before(e,t){let{parentNode:n}=e;n&&n.insertBefore(t,e)}
393static prepend(e,t){e.insertBefore(t,e.firstChild)}static append(e,t){Ao(t)?t.forEach(t=>{this.append(e,t)}):e.appendChild(t)}static moveContent(t,n,r=!1,i=()=>!0){let a=(t.ownerDocument||Ha).createDocumentFragment();Io(t.childNodes).filter(t=>i(t)?!0:(e.safeRemove(t),!1)).forEach(e=>{a.appendChild(e)}),!r||!n.firstChild?n.appendChild(a):n.insertBefore(a,n.firstChild)}static isOrContains(e,t,n=!1){return e===t?!n:!!(t&&e&&this.up(t,t=>t===e,e,!0))}static safeRemove(...t){t.forEach(t=>e.isNode(t)&&t.parentNode&&t.parentNode.removeChild(t))}static safeInsertNode(t,n){t.collapsed||t.deleteContents();let r=e.isFragment(n)?n.lastChild:n;t.startContainer===t.endContainer&&t.collapsed&&e.isTag(t.startContainer,qa)?e.after(t.startContainer,n):(t.insertNode(n),r&&t.setStartBefore(r)),t.collapse(!0),[n.nextSibling,n.previousSibling].forEach(t=>e.isText(t)&&!t.nodeValue&&e.safeRemove(t))}static hide(e){e&&(is(e,`__old_display`,e.style.display),e.style.display=`none`)}static show(e){if(!e)return;let t=is(e,`__old_display`);e.style.display===`none`&&(e.style.display=t||``)}static isTag(e,t){if(Array.isArray(t))throw TypeError(`Dom.isTag does not support array`);if(!this.isElement(e))return!1;let n=e.tagName.toLowerCase();return t instanceof Set?t.has(n)||t.has(e.tagName.toUpperCase()):n===t||e.tagName.toUpperCase()===t}static markTemporary(e,t){return t&&N(e,t),N(e,Co,!0),e}static isTemporary(t){return e.isElement(t)?e.isMarker(t)||N(t,`data-jodit-temp`)===`true`:!1}static isMarker(t){return e.isNode(t)&&e.isTag(t,`span`)&&t.hasAttribute(`data-jodit-selection_marker`)}static replaceTemporaryFromString(e){return e.replace(xs,`$2`)}static temporaryList(e){return Io(e.querySelectorAll(`[${Co}]`))}};function Ss(){let e=!0;try{let t=Ha.createElement(`input`);t.type=`color`,t.value=`!`,e=t.type===`color`&&t.value!==`!`}catch{e=!1}return e}function Cs(e){return!!e&&e instanceof DOMException&&e.name===`AbortError`}function ws(e,t={}){if(typeof e!=`object`)return String(e);let n=new Set(t.excludeKeys),r=new WeakMap;return JSON.stringify(e,(e,t)=>{if(!n.has(e)){if(typeof t==`object`&&t){if(r.get(t))return`[refObject]`;r.set(t,!0)}return t}},t.prettify)}function Ts(e,t){return e===t||ws(e)===ws(t)}function Es(e,t){return e===t}function Ds(e){return e.search(/<meta.*?Microsoft Excel\s[\d].*?>/)!==-1||e.search(/<meta.*?Microsoft Word\s[\d].*?>/)!==-1||e.search(/<meta[^>]*?ProgId[^>]*?(Word|Excel)\./i)!==-1||e.search(/<meta[^>]*?(LibreOffice|OpenOffice)/i)!==-1||e.search(/urn:schemas-microsoft-com:office:(word|excel)/)!==-1||e.search(/<\w[^>]*\sclass=("|')?Mso/)!==-1||e.search(/style='[^']*mso-/)!==-1||e.search(/style="[^"]*mso-/)!==-1&&e.search(/<font/)!==-1}function Os(e){return!Mo(e)&&k(e.init)}function ks(e){return!Mo(e)&&k(e.destruct)}function As(e){return!Mo(e)&&P.isElement(e.container)}function js(e){return j(e)&&Yo(e)&&(e=parseFloat(e)),typeof e==`number`&&Number.isFinite(e)&&!(e%1)}function Ms(e){return!!(e&&e instanceof Object&&k(e.constructor)&&(typeof Jodit<`u`&&e instanceof Jodit||e.isJodit))}var Ns=e=>j(e)&&e.length===23&&/^[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{5}$/i.test(e);function Ps(e){return P.isMarker(e)}function Fs(e){return typeof e==`number`&&!isNaN(e)&&isFinite(e)}function Is(e){if(e.includes(` `))return!1;if(typeof URL<`u`)try{let t=new URL(e);return[`https:`,`http:`,`ftp:`,`file:`,`rtmp:`].includes(t.protocol)}catch{return!1}let t=Ha.createElement(`a`);return t.href=e,!!t.hostname}function Ls(e){return e.length?!/[^0-9A-Za-zа-яА-ЯЁё\w\-_. ]/.test(e)&&e.trim().length>0:!1}function Rs(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return!n||k(n.get)?null:n.value}function zs(e,t,n){let r=n.get;if(!r)throw cs(`Getter property descriptor expected`);n.get=function(){let e=r.call(this);return e&&e.noCache===!0||Object.defineProperty(this,t,{configurable:n.configurable,enumerable:n.enumerable,writable:!1,value:e}),e}}function Bs(e,t,n){let r=n.value;if(!k(r))throw cs(`Handler must be a Function`);let i=!0,a=new WeakMap;n.value=function(...e){if(i&&a.has(this.constructor))return a.get(this.constructor)?.cloneNode(!0);let t=r.apply(this,e);return i&&P.isElement(t)&&a.set(this.constructor,t),i?t.cloneNode(!0):t},e.hookStatus(Oo.ready,e=>{i=!!(ns(e)?e:e.jodit).options.cache})}var Vs=new Map,Hs=e=>{if(k(e.className))return e.className();let t=e.constructor?.originalConstructor||e.constructor;if(Vs.has(t))return Vs.get(t);if(t.name)return t.name;let n=new RegExp(/^\s*function\s*(\S*)\s*\(/),r=t.toString().match(n);return r?r[1]:``},Us=new Map;function Ws(e){class t extends e{constructor(...e){super(...e),this.constructor===t&&(this instanceof t||Object.setPrototypeOf(this,t.prototype),this.setStatus(`ready`))}}let n=Hs(e.prototype);return Us.has(n),Us.set(n,t),t}function Gs(e){return Us.get(e)}function Ks(e,t,...n){if(!t)e.call(null,...n);else return Va.setTimeout(e,t,...n);return 0}function qs(e){Va.clearTimeout(e)}var Js=class{constructor(){this.timers=new Map,this.__callbacks=new Map,this.__queueMicrotaskNative=(queueMicrotask==null?void 0:queueMicrotask.bind(window))??Promise.resolve().then.bind(Prom
393ise.resolve()),this.promisesRejections=new Set,this.__requestsIdle=new Set,this.__controllers=new Set,this.__requestsRaf=new Set,this.__requestIdleCallbackNative=window.requestIdleCallback?.bind(window)??((e,t)=>{let n=Date.now();return this.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-n))})},t?.timeout??1)}),this.__cancelIdleCallbackNative=window.cancelIdleCallback?.bind(window)??(e=>{this.clearTimeout(e)}),this.isDestructed=!1}delay(e){return this.promise(t=>this.setTimeout(t,e))}setTimeout(e,t,...n){if(this.isDestructed)return 0;let r={};Mo(t)&&(t=0),Fs(t)||(r=t,t=r.timeout||0),r.label&&this.clearLabel(r.label);let i=Ks(e,t,...n),a=r.label||i;return this.timers.set(a,i),this.__callbacks.set(a,e),i}updateTimeout(e,t){if(Uo(e&&this.timers.has(e),`Label does not exist`),!e||!this.timers.has(e))return null;let n=this.__callbacks.get(e);return Uo(k(n),`Callback is not a function`),this.setTimeout(n,{label:e,timeout:t})}clearLabel(e){e&&this.timers.has(e)&&(qs(this.timers.get(e)),this.timers.delete(e),this.__callbacks.delete(e))}clearTimeout(e){if(j(e))return this.clearLabel(e);qs(e),this.timers.delete(e),this.__callbacks.delete(e)}debounce(e,t,n=!1){let r=0,i=!1,a=[],o=(...t)=>{if(!i){r=0;let n=e(...t);if(i=!0,a.length){let e=()=>{a.forEach(e=>e()),a.length=0};ds(n)?n.finally(e):e()}}},s=(...a)=>{i=!1,t?(!r&&n&&o(...a),qs(r),r=this.setTimeout(()=>o(...a),k(t)?t():t),this.timers.set(e,r)):o(...a)};return Go(t)&&t.promisify?(...e)=>{let t=this.promise(e=>{a.push(e)}).catch(e=>{if(Cs(e))return null;throw e});return s(...e),t}:s}microDebounce(e,t=!1){let n=!1,r=!0,i;return((...a)=>{if(i=a,n){r=!0;return}r=!0,t&&(r=!1,e(...i)),n=!0,this.__queueMicrotaskNative(()=>{n=!1,!this.isDestructed&&r&&e(...i)})})}throttle(e,t,n=!1){let r=null,i,a,o;return(...n)=>{if(i=!0,o=n,!t){e(...o);return}r||(a=()=>{i?(e(...o),i=!1,r=this.setTimeout(a,k(t)?t():t),this.timers.set(a,r)):r=null},a())}}promise(e){let t=()=>{},n=new Promise((n,r)=>{t=()=>r(as(`Abort async`)),this.promisesRejections.add(t),e(n,r)});return n.finally,n.finally(()=>{this.promisesRejections.delete(t)}).catch(()=>null),n.rejectCallback=t,n}promiseState(e){if(e.status)return e.status;if(!Promise.race)return new Promise(t=>{e.then(e=>(t(`fulfilled`),e),e=>{throw t(`rejected`),e}),this.setTimeout(()=>{t(`pending`)},100)});let t={};return Promise.race([e,t]).then(e=>e===t?`pending`:`fulfilled`,()=>`rejected`)}requestIdleCallback(e,t={timeout:100}){let n=this.__requestIdleCallbackNative(e,t);return this.__requestsIdle.add(n),n}requestIdlePromise(e){return this.promise(t=>{let n=this.requestIdleCallback(()=>t(n),e)})}schedulerPostTask(e,t={delay:0,priority:`user-visible`}){let n=new AbortController;if(t.signal&&t.signal.addEventListener(`abort`,()=>n.abort()),this.__controllers.add(n),globalThis.scheduler!==void 0){let r=globalThis.scheduler.postTask(e,{...t,signal:n.signal});return r.finally(()=>{this.__controllers.delete(n)}).catch(()=>null),r}return this.promise((r,i)=>{let a=this.setTimeout(()=>{try{r(e())}catch(e){i(e)}this.__controllers.delete(n)},t.delay||1);n.signal.addEventListener(`abort`,()=>{this.clearTimeout(a),this.__controllers.delete(n),i(as())})})}schedulerYield(){return this.schedulerPostTask(()=>{},{priority:`user-visible`})}cancelIdleCallback(e){return this.__requestsIdle.delete(e),this.__cancelIdleCallbackNative(e)}requestAnimationFrame(e){let t=requestAnimationFrame(e);return this.__requestsRaf.add(t),t}cancelAnimationFrame(e){this.__requestsRaf.delete(e),cancelAnimationFrame(e)}clear(){this.__requestsIdle.forEach(e=>this.cancelIdleCallback(e)),this.__requestsRaf.forEach(e=>this.cancelAnimationFrame(e)),this.__controllers.forEach(e=>e.abort()),this.timers.forEach(e=>qs(this.timers.get(e))),this.timers.clear(),this.promisesRejections.forEach(e=>e()),this.promisesRejections.clear()}destruct(){this.clear(),this.isDestructed=!0}};function Ys(e){return Array.isArray(e)?e:e.split(/[,\s]+/)}var Xs=`JoditEventDefaultNamespace`,Zs=class{constructor(){this.__store=new Map}get(e,t){if(this.__store.has(t)){let n=this.__store.get(t);return Uo(n,`-`),n[e]}}indexOf(e,t,n){let r=this.get(e,t);if(r){for(let e=0;e<r.length;e+=1)if(r[e].originalCallback===n)return e}return!1}
393namespaces(e=!1){let t=Io(this.__store.keys());return e?t.filter(e=>e!==Xs):t}events(e){let t=this.__store.get(e);return t?Object.keys(t):[]}set(e,t,n,r=!1){let i=this.__store.get(t);i||(i={},this.__store.set(t,i)),i[e]===void 0&&(i[e]=[]),r?i[e].unshift(n):i[e].push(n)}clear(){this.__store.clear()}clearEvents(e,t){let n=this.__store.get(e);n&&n[t]&&(delete n[t],Object.keys(n).length||this.__store.delete(e))}isEmpty(){return this.__store.size===0}},Qs=class{mute(e){return this.__mutedEvents.add(e??`*`),this}isMuted(e){return e&&this.__mutedEvents.has(e)?!0:this.__mutedEvents.has(`*`)}unmute(e){return this.__mutedEvents.delete(e??`*`),this}__eachEvent(e,t){Ys(e).map(e=>e.trim()).forEach(e=>{let n=e.split(`.`),r=n[1]||`JoditEventDefaultNamespace`;t.call(this,n[0],r)})}__getStore(e){if(!e)throw cs(`Need subject`);if(e[this.__key]===void 0){let t=new Zs;Object.defineProperty(e,this.__key,{enumerable:!1,configurable:!0,writable:!0,value:t})}return e[this.__key]}__removeStoreFromSubject(e){e[this.__key]!==void 0&&delete e[this.__key]}__triggerNativeEvent(e,t){let n=this.__doc.createEvent(`HTMLEvents`);j(t)?n.initEvent(t,!0,!0):(n.initEvent(t.type,t.bubbles,t.cancelable),[`screenX`,`screenY`,`clientX`,`clientY`,`target`,`srcElement`,`currentTarget`,`timeStamp`,`which`,`keyCode`].forEach(e=>{Object.defineProperty(n,e,{value:t[e],enumerable:!0})}),Object.defineProperty(n,"originalEvent",{value:t,enumerable:!0})),e.dispatchEvent(n)}get current(){return this.currents[this.currents.length-1]}on(e,t,n,r){let i,a,o,s;if(j(e)||jo(e)?(i=this,a=e,o=t,s=n):(i=e,a=t,o=n,s=r),!(j(a)||jo(a))||a.length===0)throw cs(`Need events names`);if(!k(o))throw cs(`Need event handler`);if(Ao(i))return i.forEach(e=>{this.on(e,a,o,s)}),this;let c=i,l=this.__getStore(c),u=this,d=function(e,...t){if(!u.isMuted(e))return o&&o.call(this,...t)};return $s(c)&&(d=function(e){if(!u.isMuted(e.type)&&(u.__prepareEvent(e),o&&o.call(this,e)===!1))return e.preventDefault(),e.stopImmediatePropagation(),!1}),this.__eachEvent(a,(e,t)=>{if(e.length===0)throw cs(`Need event name`);if(l.indexOf(e,t,o)===!1){let n={event:e,originalCallback:o,syntheticCallback:d};if(l.set(e,t,n,s?.top),$s(c)){let t=Do.has(e)?{passive:!0,capture:s?.capture??!1}:s?.capture??!1;d.options=t,c.addEventListener(e,d,t),this.__memoryDOMSubjectToHandler(c,d)}}}),this}__memoryDOMSubjectToHandler(e,t){let n=this.__domEventsMap.get(e)||new Set;n.add(t),this.__domEventsMap.set(e,n)}__unmemoryDOMSubjectToHandler(e,t){let n=this.__domEventsMap,r=n.get(e)||new Set;r.delete(t),r.size?n.set(e,r):n.delete(e)}one(e,t,n,r){let i,a,o,s;j(e)||jo(e)?(i=this,a=e,o=t,s=n):(i=e,a=t,o=n,s=r);let c=(...e)=>(this.off(i,a,c),o(...e));return this.on(i,a,c,s),this}off(e,t,n){let r,i,a;if(j(e)||jo(e)?(r=this,i=e,a=t):(r=e,i=t,a=n),Ao(r))return r.forEach(e=>{this.off(e,i,a)}),this;let o=r,s=this.__getStore(o);if(!(j(i)||jo(i))||i.length===0)return s.namespaces().forEach(e=>{this.off(o,`.`+e)}),this.__removeStoreFromSubject(o),this;let c=e=>{$s(o)&&(o.removeEventListener(e.event,e.syntheticCallback,e.syntheticCallback.options??!1),this.__unmemoryDOMSubjectToHandler(o,e.syntheticCallback))},l=(e,t)=>{if(e===``){s.events(t).forEach(e=>{e!==``&&l(e,t)});return}let n=s.get(e,t);if(!(!n||!n.length))if(!k(a))n.forEach(c),n.length=0,s.clearEvents(t,e);else{let r=s.indexOf(e,t,a);r!==!1&&(c(n[r]),n.splice(r,1),n.length||s.clearEvents(t,e))}};return this.__eachEvent(i,(e,t)=>{t===`JoditEventDefaultNamespace`?s.namespaces().forEach(t=>{l(e,t)}):l(e,t)}),s.isEmpty()&&this.__removeStoreFromSubject(o),this}stopPropagation(e,t){let n=j(e)?this:e,r=j(e)?e:t;if(typeof r!=`string`)throw cs(`Need event names`);let i=this.__getStore(n);this.__eachEvent(r,(e,t)=>{let r=i.get(e,t);r&&this.__stopped.push(r),t===`JoditEventDefaultNamespace`&&i.namespaces(!0).forEach(t=>this.stopPropagation(n,e+`.`+t))})}__removeStop(e){if(e){let t=this.__stopped.indexOf(e);t!==-1&&this.__stopped.splice(0,t+1)}}__isStopped(e){return e!==void 0&&this.__stopped.indexOf(e)!==-1}fire(e,t,...n){let r,i,a=j(e)?this:e,o=j(e)?e:t,s=j(e)?[t,...n]:n;if(!$s(a)&&!j(o))throw cs(`Need events names`);let c=this.__getStore(a);return!j(o)&&$s(a)?this.__triggerNativeEvent(a,t):this.__eachEvent(o,(e,t)=>{if($s(a))this.__triggerNativeEvent(a,e);else{let n=c.get(e,t);if(n)try{[...n].every(t=>!this.__isStopped(n)&&(this.currents.push(e),i=t.syntheticCallback.call(a,e,...s),this.currents.pop(),i!==void 0&&(r=i),!0))}finally{this.__removeStop(n)}t===`JoditEventDefaultNamespace`&&!$s(a)&&c.namespaces().filter(e=>e!==t).forEach(t=>{let n=this.fire.apply(this,[a,e+`.`+t,...s]);n!==void 0&&(r=n)})}}),r}constructor(e){this.__domEventsMap=new Map,this.__mutedEvents=new Set,this.__key=`__JoditEventEmitterNamespaces`,this.__doc=Ha,this.__prepareEvent=e=>{e.cancelBubble||(e.composed&&k(e.composedPath)&&e.composedPath()[0]&&Object.defineProperty(e,"target",{value:e.composedPath()[0],configurable:!0,enumerable:!0}),e.type.match(/^touch/)&&e.changedTouches&&e.changedTouches.length&&[`clientX`,`clientY`,`pageX`,`pageY`].forEach(t=>{Object.defineProperty(e,t,{value:e.changedTouches[0][t],configurable:!0,enumerable:!0})}),e.originalEvent||=e,e.type===`paste`&&e.clipboardData===void 0&&this.__doc.defaultView.clipboardData&&Object.defineProperty(e,"clipboardData",{get:()=>this.__doc.defaultView.clipboardData,configurable:!0,enumerable:!0}))},this.currents=[],this.__stopped=[],this.__isDestructed=!1,e&&(this.__doc=e),this.__key+=new Date().getTime()}destruct(){this.__isDestructed||(this.__isDestructed=!0,this.__domEventsMap.forEac
393h((e,t)=>{this.off(t)}),this.__domEventsMap.clear(),this.__mutedEvents.clear(),this.currents.length=0,this.__stopped.length=0,this.off(this),this.__getStore(this).clear(),this.__removeStoreFromSubject(this))}};function $s(e){return e&&k(e.addEventListener)}var ec=new Qs,tc=e=>(Va.location.protocol===`file:`&&/^\/\//.test(e)&&(e=`https:`+e),e),nc=new Map,rc=e=>(t,n)=>{if(nc.has(n))return nc.get(n);let r=e(t,n);return nc.set(n,r),r},ic=rc((e,t)=>e.async.promise((n,r)=>{if(e.isInDestruct)return r();let i=e.c.element(`script`,{type:`text/javascript`,crossorigin:`anonymous`,referrerpolicy:`no-referrer`,async:!0,src:tc(t)});e.o.nonce&&i.setAttribute(`nonce`,e.o.nonce),e.e.one(i,`error`,r).one(i,`load`,n),e.od.body.appendChild(i)})),ac=rc((e,t)=>e.async.promise((n,r)=>{if(e.isInDestruct)return r();let i=e.c.element(`link`);i.rel=`stylesheet`,i.media=`all`,i.crossOrigin=`anonymous`,e.o.nonce&&i.setAttribute(`nonce`,e.o.nonce),!e.isInDestruct&&e.e.on(i,`load`,()=>n(i)).on(i,`error`,r),i.href=tc(t),e.o.shadowRoot?e.o.shadowRoot.appendChild(i):e.od.body.appendChild(i)}));function oc(e,t,n=0){return j(t[n])?ic(e,t[n]).then(()=>oc(e,t,n+1)):Promise.resolve()}function sc(e,t,n=0){return j(t[n])?ac(e,t[n]).then(()=>sc(e,t,n+1)):Promise.resolve()}function cc(e){return Ko(e).toLowerCase()}var lc=new Set;async function uc(e,t){let n=dc(e,t,!1);if(!lc.has(n))return lc.add(n),ac(e,n)}function dc(e,t,n){t=Ko(t);let r=e.minified?`.min`:``;return e.basePath+`plugins/`+t+`/`+t+r+`.`+(n?`js`:`css`)}function fc(e,t,n,r){try{let i=n.filter(t=>!e.has(cc(t.name)));i.length&&pc(t,i,r)}catch{}}function pc(e,t,n){t.map(t=>ic(e,t.url||dc(e,t.name,!0)).then(n).catch(()=>null))}function mc(e,t,n,r,i,a,o){if(Os(r))try{r.init(e)}catch(e){console.error(e)}if(i.set(t,r),a.delete(t),r.hasStyle&&uc(e,t).catch(e=>{}),r.styles){let n=o(e,t,`style`);n.innerHTML=r.styles}}function hc(e,t){try{try{return k(t)?new t(e):t}catch{if(k(t)&&!t.prototype)return t(e)}}catch(e){console.error(e)}return null}var gc=class{constructor(e){this.opts=e,this.__items=new Map}get size(){return this.__items.size}add(e,t){this.__items.set(cc(e),t),ec.fire(`plugin:${e}:ready`)}get(e){return this.__items.get(cc(e))}remove(e){this.__items.delete(cc(e))}__getFullPluginsList(e){let t=[];return this.__items.forEach((n,r)=>{(!e||e.has(r))&&t.push([r,n])}),t}__init(e){let{extraList:t,disableList:n,filter:r}=vc(e),i=new Map,a={},o=new Set;e.__plugins=a;let s=()=>{if(e.isInDestruct)return;let t=!1;this.__getFullPluginsList(r).forEach(([r,s])=>{if(n.has(r)||i.has(r))return;let c=s?.requires;if(c&&Ao(c)&&c.length){if(c.some(e=>n.has(e)))return;if(!c.every(e=>i.has(e))){o.add(r);return}}t=!0;let l=hc(e,s);if(!l){i.set(r,null),o.delete(r);return}mc(e,r,s,l,i,o,this.opts.getContainer),a[r]=l}),t&&(e.e.fire(`updatePlugins`),s())};t&&t.length&&fc(this.__items,e,t,s),s(),_c(e,a)}wait(e){return new Promise(t=>{if(this.get(e))return t();let n=()=>{t(),ec.off(`plugin:${e}:ready`,n)};ec.on(`plugin:${e}:ready`,n)})}};function _c(e,t){e.e.on(`beforeDestruct`,()=>{Object.keys(t).forEach(n=>{let r=t[n];ks(r)&&r.destruct(e),delete t[n]}),delete e.__plugins})}function vc(e){return{extraList:e.o.extraPlugins.map(e=>j(e)?{name:e}:e),disableList:new Set(Ys(e.o.disablePlugins).map(cc)),filter:e.o.safeMode?new Set(e.o.safePluginsList):null}}var yc=class{constructor(){this.__map=new Map}on(e,t){var n;return this.__map.has(e)||this.__map.set(e,new Set),(n=this.__map.get(e))==null||n.add(t),this}off(e,t){var n;return this.__map.has(e)&&((n=this.__map.get(e))==null||n.delete(t)),this}destruct(){this.__map.clear()}emit(e,...t){var n;let r;return this.__map.has(e)&&((n=this.__map.get(e))==null||n.forEach(e=>{r=e(...t)})),r}},bc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xc=class extends yc{setWork(e){return this.isWorked?this.break():this.stop(),this.workNodes=P.eachGen(e,!this.options.reverse),this.isFinished=!1,this.hadAffect=!1,this._requestStarting(),this}constructor(e,t={}){super(),this.async=e,this.options=t,this.workNodes=null,this.hadAffect=!1,this.isWorked=!1,this.isFinished=!1,this.__schedulerController=null}_requestStarting(){this.__schedulerController=new AbortController,this.async.schedulerPostTask(this.__workPerform,{delay:this.options.timeout,signal:this.__schedulerController.signal}).catch(()=>null)}
393break(e){this.isWorked&&(this.stop(),this.emit(`break`,e))}end(){this.isWorked&&(this.stop(),this.emit(`end`,this.hadAffect),this.hadAffect=!1)}stop(){var e;this.isWorked=!1,this.isFinished=!0,this.workNodes=null,(e=this.__schedulerController)==null||e.abort(),this.__schedulerController=null}destruct(){super.destruct(),this.stop()}__workPerform(){if(this.workNodes){this.isWorked=!0;let e=0,t=this.options.timeoutChunkSize??50;for(;!this.isFinished&&e<t;){let t=this.workNodes.next();if(e+=1,this.visitNode(t.value)&&(this.hadAffect=!0),t.done){this.end();return}}}else this.end();this.isFinished||this._requestStarting()}visitNode(e){return!e||this.options.whatToShow!==void 0&&e.nodeType!==this.options.whatToShow?!1:this.emit(`visit`,e)??!1}};bc([A],xc.prototype,`__workPerform`,null);var Sc={},Cc=1,wc=new Set;function Tc(){function e(){return Cc+=10*(Math.random()+1),Math.round(Cc).toString(16)}let t=e();for(;wc.has(t);)t=e();return wc.add(t),t}var Ec=new gc({getContainer:Ac}),Dc={},Oc=e=>{Object.keys(e).forEach(t=>{wo[t]?Object.assign(wo[t],e[t]):wo[t]=e[t]})},kc=new WeakMap;function Ac(e,t,n=`div`,r=!1){let i=j(t)?t:t?Hs(t.prototype):`jodit-utils`,a=kc.get(e)||{},o=i+n,s=ns(e)?e:e.j,c=null;if(!a[o]){let t=s.c;if(c=jc(s.o,s.container,e.od.body),r&&Ms(e)&&e.od!==e.ed){t=e.createInside;let r=n===`style`?e.ed.head:e.ed.body;c=Ms(e)&&e.o.shadowRoot?e.o.shadowRoot:r}let l=t.element(n,{className:`jodit jodit-${Ko(i)}-container jodit-box`});s.o.nonce&&(n===`style`||n===`script`)&&l.setAttribute(`nonce`,s.o.nonce),l.classList.add(`jodit_theme_${s.o.theme||`default`}`),c.appendChild(l),a[o]=l,e.hookStatus(`beforeDestruct`,()=>{s.events.off(l),P.safeRemove(l),delete a[o],Object.keys(a).length&&kc.delete(e)}),kc.set(e,a),s.events.fire(`getContainer`,l)}return a[o].classList.remove(`jodit_theme_default`,`jodit_theme_dark`),a[o].classList.add(`jodit_theme_${s.o.theme||`default`}`),a[o]}function jc(e,t,n){return e.popupRoot??e.shadowRoot??P.closest(t,e=>P.isHTMLElement(e)&&(P.isTag(e,`dialog`)||[`fixed`,`absolute`].includes(M(e,`position`))),n)??n}var Mc=ec,Nc=e=>Ao(e)?e:[e];function Pc(e,t){let n;return n=t.querySelectorAll(e),[].slice.call(n)}var Fc=(e,t)=>{if(!e||e.nodeType!==Node.ELEMENT_NODE||!e.parentNode||t===e)return``;if(e.id)return`//*[@id='`+e.id+`']`;let n=[].filter.call(e.parentNode.childNodes,t=>t.nodeName===e.nodeName);return Fc(e.parentNode,t)+`/`+e.nodeName.toLowerCase()+(n.length>1?`[`+(Io(n).indexOf(e)+1)+`]`:``)},Ic=e=>(`container`in e&&(e=e.container),Pc(`[ref],[data-ref]`,e).reduce((e,t)=>{let n=N(t,`-ref`);return n&&j(n)&&(e[es(n)]=t,e[n]=t),e},{})),Lc=e=>{if(!P.isElement(e))return null;let t=[],n=e;for(;n&&n.nodeType===Node.ELEMENT_NODE;){let e=n.nodeName.toLowerCase();if(n.id){e+=`#`+n.id,t.unshift(e);break}{let t=n,r=1;do t=t.previousElementSibling,t&&t.nodeName.toLowerCase()===e&&r++;while(t);e+=`:nth-of-type(`+r+`)`}t.unshift(e),n=n.parentNode}return t.join(` > `)};function Rc(e,t){let n=e;if(j(e))try{n=t.querySelector(e)}catch{throw cs(`String "`+e+`" should be valid HTML selector`)}if(!n||typeof n!=`object`||!P.isElement(n)||!n.cloneNode)throw cs(`Element "`+e+`" should be string or HTMLElement instance`);return n}function zc(e){return e.replace(/mso-[a-z-]+:[\s]*[^;]+;/gi,``).replace(/mso-[a-z-]+:[\s]*[^";']+$/gi,``).replace(/border[a-z-]*:[\s]*[^;]+;/gi,``).replace(/([0-9.]+)(pt|cm)/gi,(e,t,n)=>{switch(n.toLowerCase()){case`pt`:return(parseFloat(t)*1.328).toFixed(0)+`px`;case`cm`:return(parseFloat(t)*.02645833).toFixed(0)+`px`}return e})}function Bc(e){let t=/<html(?:\s[^>]*)?>/i.exec(e);if(!t)return e;e=e.substring(t.index);let n=e.toLowerCase().lastIndexOf(`</html>`);n!==-1&&(e=e.substring(0,n+7));let r=Ha.createElement(`iframe`);r.style.display=`none`,Ha.body.appendChild(r);let i=``,a=[];try{let t=r.contentDocument||(r.contentWindow?r.contentWindow.document:null);if(t){t.open(),t.write(e),t.close(),P.each(t.body,e=>{P.isElement(e)&&/mso-list:\s*ignore/i.test(e.getAttribute(`style`)||``)&&P.safeRemove(e)});try{for(let e=0;e<t.styleSheets.length;e+=1){let n=t.styleSheets[e].cssRules;for(let e=0;e<n.length;e+=1)n[e].selectorText!==``&&(a=Pc(n[e].selectorText,t.body),a.forEach(t=>{t.style.cssText=zc(n[e].style.cssText+`;`+t.style.cssText)}))}}catch{}P.each(t.body,e=>{if(P.isElement(e)){let t=e,n=t.getAttribute(`style`);n&&(t.style.cssText=zc(n)),t.hasAttribute(`style`)&&!t.getAttribute(`style`)&&t.removeAttribute(`style`)}}),i=t.firstChild?zo(t.body.innerHTML):``}}catch{}finally{P.safeRemove(r)}return i&&(e=i),zo(e.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,``).replace(/<!--[^>]*>/g,``))}function Vc(e){e.indexOf(`<html `)!==-1&&(e=e.substring(e.indexOf(`<html `),e.length),e=e.substring(0,e.lastIndexOf(`</html>`)+7));let t=``;try{let n=Ha.createElement(`div`);n.innerHTML=e;let r=[];n.firstChild&&P.each(n,e=>{if(e)switch(e.nodeType){case Node.ELEMENT_NODE:switch(e.nodeName){case`STYLE`:case`LINK`:case`META`:r.push(e);break;case`W:SDT`:case`W:SDTPR`:case`FONT`:P.unwrap(e);break;default:if(/mso-list:\s*ignore/i.test(e.getAttribute(`style`)||``)){r.push(e);break}
393Io(e.attributes).forEach(t=>{[`src`,`href`,`rel`,`content`].indexOf(t.name.toLowerCase())===-1&&e.removeAttribute(t.name)})}break;case Node.TEXT_NODE:break;default:r.push(e)}}),P.safeRemove.apply(null,r),t=n.innerHTML}catch{}return t&&(e=t),e=e.split(/(\n)/).filter(zo).join(`
394`),e.replace(/<(\/)?(html|colgroup|col|o:p)[^>]*>/g,``).replace(/<!--[^>]*>/g,``)}function Hc(e){let t=Ha.createElement(`div`);return t.textContent=e,t.innerHTML}function Uc(e){return e.replace(/\r\n|\r|\n/g,`<br/>`)}function Wc(e,t){t&&t!==`normal`?t===`center`?M(e,{float:``,display:`block`,marginLeft:`auto`,marginRight:`auto`}):(M(e,`float`,t),ts(e)):(M(e,`float`)&&[`right`,`left`].indexOf(M(e,`float`).toString().toLowerCase())!==-1&&M(e,`float`,``),ts(e))}function Gc(e){P.each(e,e=>{P.isHTMLElement(e)&&e.style.textAlign&&(e.style.textAlign=``,e.style.cssText.trim().length||e.removeAttribute(`style`))})}function Kc(e,t){if(P.isNode(t)&&P.isElement(t))switch(Gc(t),e.toLowerCase()){case`justifyfull`:t.style.textAlign=`justify`;break;case`justifyright`:t.style.textAlign=`right`;break;case`justifyleft`:t.style.textAlign=`left`;break;case`justifycenter`:t.style.textAlign=`center`}}var qc=e=>{let t=navigator.userAgent.toLowerCase(),n=/(firefox)[\s/]([\w.]+)/.exec(t)||/(chrome)[\s/]([\w.]+)/.exec(t)||/(webkit)[\s/]([\w.]+)/.exec(t)||/(opera)(?:.*version)[\s/]([\w.]+)/.exec(t)||/(msie)[\s]([\w.]+)/.exec(t)||/(trident)\/([\w.]+)/.exec(t)||t.indexOf(`compatible`)<0||[];return e===`version`?n[2]:e===`webkit`?n[1]===`chrome`||n[1]===`webkit`:e===`ff`?n[1]===`firefox`:e===`msie`?n[1]===`trident`||n[1]===`msie`:n[1]===e},Jc=(e,t)=>{let n=[],r=encodeURIComponent;for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let a=t?t+`[`+i+`]`:i,o=e[i];n.push(Go(o)?Jc(o,a):r(a)+`=`+r(o))}return n.join(`&`)},Yc={},F=class e{constructor(){this.cache=!0,this.defaultTimeout=100,this.namespace=``,this.safeMode=!1,this.width=`auto`,this.height=`auto`,this.safePluginsList=[`about`,`enter`,`backspace`,`size`,`bold`,`hotkeys`],this.license=``,this.preset=`custom`,this.presets={inline:{inline:!0,toolbar:!1,toolbarInline:!0,toolbarInlineForSelection:!0,showXPathInStatusbar:!1,showCharsCounter:!1,showWordsCounter:!1,showPlaceholder:!1}},this.ownerDocument=Ha,this.ownerWindow=Va,this.shadowRoot=null,this.nonce=``,this.zIndex=0,this.readonly=!1,this.disabled=!1,this.activeButtonsInReadOnly=[`source`,`fullsize`,`print`,`about`,`dots`,`selectall`],this.allowCommandsInReadOnly=[`selectall`,`preview`,`print`],this.toolbarButtonSize=`middle`,this.allowTabNavigation=!1,this.inline=!1,this.theme=`default`,this.saveModeInStorage=!1,this.asyncStorage={},this.editorClassName=!1,this.className=!1,this.style=!1,this.containerStyle=!1,this.styleValues={},this.triggerChangeEvent=!0,this.direction=``,this.language=`auto`,this.debugLanguage=!1,this.i18n=!1,this.tabIndex=-1,this.toolbar=!0,this.statusbar=!0,this.showTooltip=!0,this.showTooltipDelay=200,this.useNativeTooltip=!1,this.defaultActionOnPaste=fo,this.enter=`p`,this.iframe=!1,this.editHTMLDocumentMode=!1,this.enterBlock=this.enter===`br`?`p`:this.enter,this.defaultMode=1,this.useSplitMode=!1,this.colors={greyscale:[`#000000`,`#434343`,`#666666`,`#999999`,`#B7B7B7`,`#CCCCCC`,`#D9D9D9`,`#EFEFEF`,`#F3F3F3`,`#FFFFFF`],palette:[`#980000`,`#FF0000`,`#FF9900`,`#FFFF00`,`#00F0F0`,`#00FFFF`,`#4A86E8`,`#0000FF`,`#9900FF`,`#FF00FF`],full:`#E6B8AF.#F4CCCC.#FCE5CD.#FFF2CC.#D9EAD3.#D0E0E3.#C9DAF8.#CFE2F3.#D9D2E9.#EAD1DC.#DD7E6B.#EA9999.#F9CB9C.#FFE599.#B6D7A8.#A2C4C9.#A4C2F4.#9FC5E8.#B4A7D6.#D5A6BD.#CC4125.#E06666.#F6B26B.#FFD966.#93C47D.#76A5AF.#6D9EEB.#6FA8DC.#8E7CC3.#C27BA0.#A61C00.#CC0000.#E69138.#F1C232.#6AA84F.#45818E.#3C78D8.#3D85C6.#674EA7.#A64D79.#85200C.#990000.#B45F06.#BF9000.#38761D.#134F5C.#1155CC.#0B5394.#351C75.#733554.#5B0F00.#660000.#783F04.#7F6000.#274E13.#0C343D.#1C4587.#073763.#20124D.#4C1130`.split(`.`)},this.colorPickerDefaultTab=`background`,this.imageDefaultWidth=300,this.removeButtons=[],this.disablePlugins=[],this.extraPlugins=[],this.extraButtons=[],this.extraIcons={},this.createAttributes={table:{style:`border-collapse:collapse;width: 100%;`}},this.sizeLG=900,this.sizeMD=700,this.sizeSM=400,this.buttons=[{group:`font-style`,buttons:[]},{group:`list`,buttons:[]},{group:`font`,buttons:[]},`---`,{group:`script`,buttons:[]},{group:`media`,buttons:[]},`
395`,{group:`state`,buttons:[]},{group:`clipboard`,buttons:[]},{group:`insert`,buttons:[]},{group:`indent`,buttons:[]},{group:`color`,buttons:[]},{group:`form`,buttons:[]},`---`,{group:`history`,buttons:[]},{group:`search`,buttons:[]},{group:`source`,buttons:[]},{group:`other`,buttons:[]},{group:`info`,buttons:[]}],this.events={},this.textIcons=!1,this.popupRoot=null,this.showBrowserColorPicker=!0,Object.assign(this,Yc)}static get defaultOptions(){return e.__defaultOptions||=new e,e.__defaultOptions}};Yc=F.prototype,F.prototype.controls={};function Xc(e){return e&&e.isAtom}function Zc(e){return Object.defineProperty(e,"isAtom",{enumerable:!1,value:!0,configurable:!1}),e}function Qc(e){return JSON.parse(ws(e))}var $c=[`__proto__`,`constructor`,`prototype`];function el(e){return $c.indexOf(e)!==-1}function tl(e,t,n=0){if(Object.getPrototypeOf(e)!==Object.prototype)return e;let r=F.defaultOptions;if(j(e.preset)){if(r.presets[e.preset]!==void 0){let t=r.presets[e.preset];Object.keys(t).forEach(n=>{Mo(e[n])&&(e[n]=t[n])})}delete e.preset}let i={};return Object.keys(e).forEach(r=>{if(el(r))return;let a=e[r],o=t?t[r]:null;if(Go(a)&&Go(o)&&!Xc(a)){i[r]=tl(a,o,n+1);return}if(n!==0&&Ao(a)&&!Xc(a)&&Ao(o)){i[r]=[...a,...o.slice(a.length)];return}i[r]=a}),Object.setPrototypeOf(i,t),i}function nl(e){return _s(e,!1).reduce((t,n)=>(t[n]=e[n],t),{})}function rl(e,t){Object.keys(t).forEach(n=>{if(el(n))return;let r=t[n],i=e[n];Go(r)&&Go(i)&&!Xc(r)?rl(i,r):e[n]=r})}function il(e){return _s(e,!1).reduce((t,n)=>(t[n]=Go(e[n])?il(e[n]):e[n],t),{})}var al=e=>{let t={},n=e.substring(1).split(`&`);for(let e=0;e<n.length;e+=1){let r=n[e].split(`=`);
395t[decodeURIComponent(r[0])]=decodeURIComponent(r[1]||``)}return t},ol=(e,{width:t=400,height:n=345}={})=>{if(!Is(e))return e;let r=Ha.createElement(`a`);r.href=e,t||=400,n||=345;let i=r.protocol||``;switch(r.hostname){case`www.vimeo.com`:case`vimeo.com`:{let a=r.pathname.split(`/`).filter(Boolean),o=a.findIndex(e=>/^\d+$/.test(e));if(o===-1)return e;let s=a[o],c=a[o+1];return c&&o===0&&(s+=`/`+c),`<iframe width="`+t+`" height="`+n+`" src="`+i+`//player.vimeo.com/video/`+s+`" frameborder="0" allowfullscreen></iframe>`}case`youtube.com`:case`www.youtube.com`:case`m.youtube.com`:case`music.youtube.com`:case`youtu.be`:case`www.youtu.be`:{let a=(r.search?al(r.search):{}).v||r.pathname.substring(1);return a=a.replace(/^(watch|embed|shorts|live|v)\//,``).replace(/\/$/,``),a?`<iframe width="`+t+`" height="`+n+`" src="`+i+`//www.youtube.com/embed/`+a+`" frameborder="0" allowfullscreen></iframe>`:e}}return e},sl=e=>{if(typeof navigator<`u`&&navigator.userAgent.indexOf(`Mac OS X`)!==-1){if(e.metaKey&&!e.altKey)return!0}else if(e.ctrlKey&&!e.altKey)return!0;return!1},cl=(e,t=`en`)=>e!==`auto`&&j(e)?e:Ha.documentElement&&Ha.documentElement.lang?Ha.documentElement.lang:navigator.language?navigator.language.substring(0,2):t,ll=e=>{if(/^[0-9.]+$/.test(e.toString()))return parseFloat(e);let t=e.substr(-2,2).toUpperCase(),n=[`KB`,`MB`,`GB`,`TB`],r=parseFloat(e.substr(0,e.length-2));return n.indexOf(t)===-1?parseInt(e,10):r*1024**(n.indexOf(t)+1)},ul=console;function dl(e,t=[``],n=null){return(...r)=>(ul.warn(`Method "${t[0]}" deprecated.`+(t[1]?` Use "${t[1]}" instead`:``)),e.call(n,...r))}function fl(e,t){let n=[];try{Pc(`img`,e.editor).forEach(r=>{let i=[N(r,`width`),N(r,`height`),r.src];N(r,{width:r.offsetWidth+t,height:r.offsetHeight+t});let a=e.createInside.a();e.ed.body.appendChild(a),a.href=r.src,r.src=a.href,P.safeRemove(a),n.push(()=>{r.src=i[2]??``,N(r,{width:i[0]||null,height:i[1]||null})})})}catch(e){throw n.forEach(e=>e()),n.length=0,e}return n}function pl(e,t,n=`px`,r=null){let i=[],a=fl(e,n);try{let a=e.e.fire(`beforePreviewBox`,t,n);if(a!=null)return a;let o=e.c.div(`jodit__preview-box jodit-context`);r&&r.appendChild(o),M(o,{position:`relative`,padding:16});let s=e.value||`<div style='position: absolute;left:50%;top:50%;transform: translateX(-50%) translateY(-50%);color:#ccc;'>${e.i18n(`Empty`)}</div>`;if(e.iframe){let t=e.create.element(`iframe`);M(t,{minWidth:800,minHeight:600,border:0}),o.appendChild(t);let n=t.contentWindow;if(n&&(e.e.fire(`generateDocumentStructure.iframe`,n.document,e),o=n.document.body,typeof ResizeObserver==`function`)){let r=!1,a=n.document.body,o=new ResizeObserver(e.async.debounce(()=>{o.unobserve(a),t.style.height=`${a.offsetHeight+20}px`,e.async.requestAnimationFrame(()=>{!r&&o.observe(a)})},100)),s=()=>{r=!0,o.unobserve(a),o.disconnect(),e.e.off(`beforeDestruct`,s)};i.push(s),e.e.on(`beforeDestruct`,s)}}else M(o,{minWidth:1024,minHeight:600,border:0});let c=(t,n)=>{let r=j(n)?e.c.div():n;j(n)&&(r.innerHTML=n);for(let e=0;e<r.childNodes.length;e+=1){let n=r.childNodes[e];if(P.isElement(n)){let e=t.ownerDocument.createElement(n.nodeName);for(let t=0;t<n.attributes.length;t+=1)N(e,n.attributes[t].nodeName,n.attributes[t].nodeValue);if(n.childNodes.length===0||P.isTag(n,`table`))switch(n.nodeName){case`SCRIPT`:n.textContent&&(e.textContent=n.textContent);break;default:n.innerHTML&&(e.innerHTML=n.innerHTML)}else c(e,n);try{t.appendChild(e)}catch{}}else try{t.appendChild(n.cloneNode(!0))}catch{}}};return c(o,s),e.e.fire(`afterPreviewBox`,o),[o,()=>{i.forEach(e=>e())}]}finally{a.forEach(e=>e())}}function ml(e,t,n){let r=e.getBoundingClientRect(),i=e,a=r.top,o=r.height;for(;i&&i!==t&&i.parentNode;)if(i=i.parentNode,r=i.getBoundingClientRect(),!(a<=r.bottom)||a+o<=r.top)return!1;return a<=(n.documentElement&&n.documentElement.clientHeight||0)&&a+o>=0}function hl(e,t,n){P.isHTMLElement(e)&&!ml(e,t,n)&&(t.clientHeight!==t.scrollHeight&&(t.scrollTop=e.offsetTop),ml(e,t,n)||e.scrollIntoView())}function gl(e,t,n){if(!j(e)||!e.length)return;let r=e.split(`.`);if(r.some(el))return;let i=n,a=r[0];for(let e=0;e<r.length-1;e+=1)a=r[e],!Ao(i[a])&&!Go(i[a])&&(i[a]=Yo(r[e+1])?[]:{}),i=i[a];i&&(i[r[r.length-1]]=t)}var _l=class{constructor(e){this.limit=e,this.stack=[]}push(e){return this.stack.push(e),this.stack.length>this.limit&&this.stack.shift(),this}pop(){return this.stack.pop()}find(e){return this.stack.find(e)}},vl=`http://www.w3.org/1999/xhtml`,yl=new Set([`foreignobject`,`annotation-xml`,`desc`,`title`]);function bl(e){if(e.namespaceURI!==vl||e.closest(`math,svg`)==null)return!1;for(let t=e.parentElement;t;t=t.parentElement){let e=t.nodeName.toLowerCase();if(e===`math`||e===`svg`)break;
395if(yl.has(e))return!1}return!0}function xl(e,t){if(!P.isElement(e)&&!P.isFragment(e))return;let n=e.querySelectorAll(`math *, svg *`);for(let t=0;t<n.length;t++)e.contains(n[t])&&bl(n[t])&&P.safeRemove(n[t]);let r=t.removeEventAttributes??t.removeOnError,i=e=>{if(P.isElement(e)&&(r&&Sl(e),El(e,t),t.safeLinksTarget&&e.nodeName===`A`&&e.getAttribute(`target`)===`_blank`)){let t=(e.getAttribute(`rel`)||``).split(/\s+/).filter(Boolean);t.includes(`noopener`)||t.push(`noopener`),t.includes(`noreferrer`)||t.push(`noreferrer`),N(e,`rel`,t.join(` `))}};i(e),P.each(e,i)}function Sl(e){if(!P.isElement(e))return!1;let t=!1,n=[];for(let t=0;t<e.attributes.length;t++)e.attributes[t].name.toLowerCase().startsWith(`on`)&&n.push(e.attributes[t].name);for(let r of n)e.removeAttribute(r),t=!0;return t}var Cl=[`src`,`data`,`action`,`formaction`,`poster`,`background`,`xlink:href`],wl=new Set([`iframe`,`frame`,`object`,`embed`]);function Tl(e,t){let n=e.replace(/[\u0000-\u0020]+/g,``).toLowerCase();return/^(?:javascript|vbscript|livescript|mocha):/.test(n)||/^data:(?:text\/html|application\/xhtml)/.test(n)?!0:/^data:image\/svg/.test(n)&&wl.has(t)}function El(e,{safeJavaScriptLink:t,removeOnError:n}={safeJavaScriptLink:!0,removeOnError:!0}){if(!P.isElement(e))return!1;let r=!1;n&&e.hasAttribute(`onerror`)&&(N(e,`onerror`,null),r=!0);let i=e.nodeName.toLowerCase(),a=e.getAttribute(`href`);if(t&&a&&Tl(a,i)&&(N(e,`href`,(typeof location<`u`?location.protocol:`http:`)+`//`+a),r=!0),t){e.hasAttribute(`srcdoc`)&&(N(e,`srcdoc`,null),r=!0);for(let t of Cl){let n=e.getAttribute(t);n&&Tl(n,i)&&(N(e,t,null),r=!0)}}return r}var Dl=new Set([`div`,`p`,`br`,`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`hr`]),Ol=new Set([`script`,`style`]),kl=new Set([`br`,`hr`,`input`]);function Al(e,t=document,n=null,r=!1){let i=t.createElement(`div`);return j(e)?i.innerHTML=e:i.appendChild(e),Pc(`*`,i).forEach(e=>{let i=e.parentNode;if(!i)return;if(n&&P.isTag(e,n)){let i=e.nodeName.toLowerCase(),a=P.isTag(e,kl)?`%%%jodit-single-${i}%%%`:`%%%jodit-${i}%%%${Al(e.innerHTML,t,n,r)}%%%/jodit-${i}%%%`;P.before(e,t.createTextNode(a)),P.safeRemove(e);return}if(P.isTag(e,Ol)){P.safeRemove(e);return}if(!P.isTag(e,Dl))return;let a=e.nextSibling;P.isText(a)&&/^\s/.test(a.nodeValue||``)||a&&i.insertBefore(t.createTextNode(r?`%%%jodit-single-br%%%`:` `),a)}),jl(zo(i.innerText))}function jl(e){return e.replace(/%%%(\/)?jodit(-single)?-([\w\n]+)%%%/g,(e,t,n,r)=>`<${t?`/`:``}${r}>`)}var Ml=e=>{let t=[`#`],n=Xo(e);if(!n)return!1;if(n=zo(n.toUpperCase()),n=n.substring(1),n.length===3){for(let e=0;e<3;e+=1)t.push(n[e]),t.push(n[e]);return t.join(``)}return n.length>6&&(n=n.slice(0,6)),`#`+n};function Nl(e){let t={},n={meta:1,ctrl:2,control:2,alt:3,shift:4,space:5};return e.replace(/\+\+/g,`+add`).split(/[\s]*\+[\s]*/).map(e=>zo(e.toLowerCase())).map(e=>_o[e]||e).sort((e,t)=>n[e]&&!n[t]?-1:!n[e]&&n[t]?1:n[e]&&n[t]?n[e]-n[t]:e>t?1:-1).filter(e=>!t[e]&&e!==``&&(t[e]=!0)).join(`+`)}var Pl=(e,t=8)=>{let n=[];for(;e.length;)n.push(e.substr(0,t)),e=e.substr(t);return n[1]=n[1].replace(/./g,`*`),n[2]=n[2].replace(/./g,`*`),n.join(`-`)},Fl=(...e)=>e.filter(e=>zo(e).length).map((t,n)=>(t=t.replace(/([^:])[\\/]+/g,`$1/`),n&&(t=t.replace(/^\//,``)),n!==e.length-1&&(t=t.replace(/\/$/,``)),t)).join(`/`),Il=e=>e.split(`/`).reduce((e,t)=>{switch(t){case``:break;case`.`:break;case`..`:e.pop();break;default:e.push(t)}return e},[]).join(`/`)+(e.endsWith(`/`)?`/`:``),Ll=(e,t)=>/^[0-9]+$/.test(e.toString())?e+t:e.toString(),Rl=(...e)=>e.filter(e=>e.length).map(e=>e.replace(/\/$/,``)).join(`/`).replace(/([^:])[\\/]+/g,`$1/`),zl=(e,t)=>{let n=e=>parseInt(e,10),r=t.getComputedStyle(e),i=e.offsetWidth,a=n(r.getPropertyValue(`padding-left`)||`0`),o=n(r.getPropertyValue(`padding-right`)||`0`);return i-a-o};function Bl(e){return e.transform!==``&&e.transform!==`none`||e.perspective!==``&&e.perspective!==`none`||e.filter!==``&&e.filter!==`none`||e.willChange===`transform`||e.willChange===`perspective`||e.willChange===`filter`||e.contain===`paint`||e.contain===`layout`||e.contain===`strict`||e.contain===`content`}function Vl(e){let t=e.ownerDocument?.defaultView,n=e.parentElement;for(;t&&n;){if(Bl(t.getComputedStyle(n))){let e=n.getBoundingClientRect();return{x:e.left,y:e.top}}n=n.parentElement}return{x:0,y:0}}function Hl(e){if(!e)return null;let t=P.isHTMLElement(e),n=t&&M(e,`overflowY`);return t&&n!==`visible`&&n!==`hidden`&&e.scrollHeight>=e.clientHeight?e:Hl(e.parentNode)||Ha.scrollingElement||Ha.body}var Ul=(e,t)=>{let n=t.getComputedStyle(e),r=e.clientWidth;return r-=parseFloat(n.paddingLeft||`0`)+parseFloat(n.paddingRight||`0`),r};function Wl(e){return j(e)||Ao(e)?e.length:Go(e)?Object.keys(e).length:0}var Gl=(e,t,n,r=!1)=>{let i;try{i=e.getBoundingClientRect()}catch{i={top:0,bottom:0,left:0,right:0,width:0,height:0}}let a=n.body,o=n.documentElement||{clientTop:0,clientLeft:0,scrollTop:0,scrollLeft:0},s=n.defaultView||n.parentWindow,c=s.pageYOffset||o.scrollTop||a.scrollTop,l=s.pageXOffset||o.scrollLeft||a.scrollLeft,u=o.clientTop||a.clientTop||0,d=o.clientLeft||a.clientLeft||0,f,p,m=t.iframe;if(!r&&t&&t.options&&t.o.iframe&&m){let{top:e,left:n}=Gl(m,t,t.od,!0);f=i.top+e,p=i.left+n}else f=i.top+c-u,p=i.left+l-d;return{top:Math.round(f),left:Math.round(p),width:i.width,height:i.height}};function Kl(e,t,n=!1){let r=e.getBoundingClientRect(),i=r.left,a=r.top;if(Ms(t)&&t.iframe&&t.ed.body.contains(e)&&!n){let{left:e,top:n}=Kl(t.iframe,t,!0);i+=e,a+=n}return{left:Math.round(i),top:Math.round(a),width:Math.round(e.offsetWidth??r.width),height:Math.round(e.offsetHeight??r.height)}}function ql(e,t,n=0,r=1){let i=0,a=0,o=-1,s=0,c=0;for(a=n;i<e.length&&a<t.length;
395)e[i].toLowerCase()===t[a].toLowerCase()?(i++,s++,c=0,o===-1&&(o=a)):i>0&&(c>=r&&t[a]!==``?(i=0,o=-1,s=0,c=0,a--):(c++,s++)),a++;return i===e.length?[o,s]:[-1,0]}function Jl(e){return e.length?e[0].toUpperCase()+e.substring(1):``}var Yl=(e,t)=>{if(!t||!t.length)return e;let n=/%([sd])/g,r=n.exec(e),i=e,a=0;for(;r&&t[a]!==void 0;)i=i.replace(r[0],t[a].toString()),a+=1,r=n.exec(e);return i};function Xl(e,t,n){if(!j(e))throw cs(`i18n: Need string in first argument`);if(!e.length)return e;let r=!!n?.debugLanguage,i={},a=e=>t&&t.length?Yl(e,t):e,o=cl(F.defaultOptions.language,F.defaultOptions.language),s=cl(n?.language,o),c=t=>{if(!t)return;if(j(t[e]))return a(t[e]);let n=e.toLowerCase();if(j(t[n]))return a(t[n]);let r=Jl(e);if(j(t[r]))return a(t[r])};wo[s]===void 0?r||(i=wo[o]===void 0?wo.en:wo[o]):i=wo[s];let l=n?.i18n;if(l&&l[s]){let e=c(l[s]);if(e)return e}return c(i)||(!r&&wo.en&&j(wo.en[e])&&wo.en[e]?a(wo.en[e]):r?`{`+e+`}`:a(e))}var Zl=s({$$:()=>Pc,CamelCaseToKebabCase:()=>qo,ConfigDeepFlatten:()=>il,ConfigFlatten:()=>nl,ConfigMerge:()=>rl,ConfigProto:()=>tl,ConnectionError:()=>os,LimitedStack:()=>_l,NUMBER_FIELDS_REG:()=>Zo,OptionsError:()=>ss,UNSAFE_PROTO_KEYS:()=>$c,abort:()=>as,alignElement:()=>Kc,alreadyLoadedList:()=>nc,appendScriptAsync:()=>ic,appendStyleAsync:()=>ac,applyStyles:()=>Bc,asArray:()=>Nc,assert:()=>Uo,attr:()=>N,browser:()=>qc,buildQuery:()=>Jc,call:()=>fs,callPromise:()=>hs,callThis:()=>ps,camelCase:()=>es,cleanFromWord:()=>Vc,clearAlign:()=>Gc,clearCenterAlign:()=>ts,clearTimeout:()=>qs,cns:()=>ul,colorToHex:()=>Xo,completeUrl:()=>tc,connection:()=>ls,convertMediaUrlToVideoEmbed:()=>ol,css:()=>M,cssPath:()=>Lc,ctrlKey:()=>sl,dataBind:()=>is,defaultLanguage:()=>cl,error:()=>cs,fastClone:()=>Qc,fuzzySearchIndex:()=>ql,get:()=>No,getClassName:()=>Hs,getContentWidth:()=>zl,getDataTransfer:()=>ys,getFixedPositionOffset:()=>Vl,getPropertyDescriptor:()=>bs,getScrollParent:()=>Hl,getXPathByElement:()=>Fc,hAlignElement:()=>Wc,hasBrowserColorPicker:()=>Ss,hasContainer:()=>As,htmlspecialchars:()=>Hc,humanSizeToBytes:()=>ll,i18n:()=>Xl,inView:()=>ml,innerWidth:()=>Ul,isAbortError:()=>Cs,isArray:()=>Ao,isAtom:()=>Xc,isBoolean:()=>Jo,isDestructable:()=>ks,isEqual:()=>Ts,isFastEqual:()=>Es,isFunction:()=>k,isHTML:()=>Lo,isHtmlFromWord:()=>Ds,isInitable:()=>Os,isInt:()=>js,isJoditObject:()=>Ms,isLicense:()=>Ns,isMarker:()=>Ps,isNativeFunction:()=>ko,isNumber:()=>Fs,isNumeric:()=>Yo,isPlainObject:()=>Go,isPromise:()=>ds,isSet:()=>Ro,isString:()=>j,isStringArray:()=>jo,isURL:()=>Is,isUnsafeProtoKey:()=>el,isValidName:()=>Ls,isViewObject:()=>ns,isVoid:()=>Mo,isWindow:()=>Wo,kebabCase:()=>Ko,keepNames:()=>Vs,keys:()=>_s,loadImage:()=>gs,loadNext:()=>oc,loadNextStyle:()=>sc,markAsAtomic:()=>Zc,markDeprecated:()=>dl,markOwner:()=>ms,memorizeExec:()=>vs,nl2br:()=>Uc,normalizeColor:()=>Ml,normalizeCssNumericValue:()=>Qo,normalizeCssValue:()=>$o,normalizeKeyAliases:()=>Nl,normalizeLicense:()=>Pl,normalizePath:()=>Fl,normalizeRelativePath:()=>Il,normalizeSize:()=>Ll,normalizeUrl:()=>Rl,offset:()=>Gl,options:()=>us,parseQuery:()=>al,position:()=>Kl,previewBox:()=>pl,refs:()=>Ic,reset:()=>Fo,resolveElement:()=>Rc,safeHTML:()=>xl,sanitizeHTMLElement:()=>El,scrollIntoViewIfNeeded:()=>hl,set:()=>gl,setTimeout:()=>Ks,size:()=>Wl,splitArray:()=>Ys,sprintf:()=>Yl,stringify:()=>ws,stripTags:()=>Al,toArray:()=>Io,trim:()=>zo,trimChars:()=>Bo,trimInv:()=>Vo,ucfirst:()=>Jl}),Ql=new Map,$l=class{get componentName(){return this.__componentName||=`jodit-`+Ko((k(this.className)?this.className():``)||Hs(this)),this.__componentName}getFullElName(e,t,n){let r=[this.componentName];return e&&(e=e.replace(/[^a-z0-9-]/gi,`-`),r.push(`__${e}`)),t&&(r.push(`_`,t),r.push(`_`,Mo(n)?`true`:n.toString())),r.join(``)}get ownerDocument(){return this.ow.document}get od(){return this.ownerDocument}get ow(){return this.ownerWindow}get(e,t){return No(e,t||this)}get isReady(){return this.componentStatus===Oo.ready}get isDestructed(){return this.componentStatus===Oo.destructed}get isInDestruct(){return Oo.beforeDestruct===this.componentStatus||Oo.destructed===this.componentStatus}bindDestruct(e){return e.hookStatus(Oo.beforeDestruct,()=>!this.isInDestruct&&this.destruct()),this}constructor(){this.async=new Js,this.ownerWindow=window,this.__componentStatus=Oo.beforeInit,this.uid=`jodit-uid-`+Tc()}destruct(){this.setStatus(Oo.destructed),this.async&&=(this.async.destruct(),void 0),Ql.get(this)&&Ql.delete(this),this.ownerWindow=void 0}get componentStatus(){return this.__componentStatus}set componentStatus(e){this.setStatus(e)}setStatus(e){return this.setStatusComponent(e,this)}setStatusComponent(e,t){if(e===this.__componentStatus)return;t===this&&(this.__componentStatus=e);let n=Object.getPrototypeOf(this);n&&k(n.setStatusComponent)&&n.setStatusComponent(e,t);let r=Ql.get(this)?.[e];
395r&&r.length&&r.forEach(e=>e(t))}hookStatus(e,t){let n=Ql.get(this);n||(n={},Ql.set(this,n)),n[e]||(n[e]=[]),n[e].push(t)}static isInstanceOf(e,t){return e instanceof t}};$l.STATUSES=Oo;var eu=class extends $l{get j(){return this.jodit}get defaultTimeout(){return this.j.defaultTimeout}i18n(e,...t){return this.j.i18n(e,...t)}setParentView(e){return this.jodit=e,e.ow&&(this.ownerWindow=e.ow),e.components.add(this),this}constructor(e){super(),this.setParentView(e)}destruct(){return this.j.components.delete(this),super.destruct()}};function tu(e,t=!1,n=`debounce`){return(r,i)=>{let a=r[i];if(!k(a))throw cs(`Handler must be a Function`);return r.hookStatus(Oo.ready,r=>{let{async:a}=r;Uo(a!=null,`Component ${r.componentName||r.constructor.name} should have "async:IAsync" field`);let o=k(e)?e(r):e,s=Fs(o)||Go(o)?o:r.defaultTimeout;Object.defineProperty(r,i,{configurable:!0,value:a[n](r[i].bind(r),s,t)})}),{configurable:!0,get(){return a.bind(this)}}}}function nu(e,t=!1){return tu(e,t,`throttle`)}function ru(...e){return t=>{let n=t.prototype;for(let t=0;t<e.length;t++){let r=e[t],i=Object.getOwnPropertyNames(r.prototype);for(let e=0;e<i.length;e++){let t=i[e],a=Object.getOwnPropertyDescriptor(r.prototype,t);a!=null&&k(a.value)&&!k(n[t])&&Object.defineProperty(n,t,{enumerable:!0,configurable:!0,writable:!0,value:function(...e){return a.value.call(this,...e)}})}}}}function iu(e){return(t,n)=>{if(!k(t[n]))throw cs(`Handler must be a Function`);t.hookStatus(e,e=>{e[n].call(e)})}}function au(){return(e,t)=>{if(!k(e[t]))throw cs(`Handler must be a Function`);e.hookStatus(Oo.ready,e=>{let{async:n}=e,r=e[t];e[t]=(...t)=>n.requestIdleCallback(r.bind(e,...t))})}}var ou=(e,t)=>{(Object.getOwnPropertyDescriptor(e,t)||{}).enumerable!==!1&&Object.defineProperty(e,t,{enumerable:!1,set(e){Object.defineProperty(this,t,{enumerable:!1,writable:!0,value:e})}})};function su(e,t){e.hookStatus(Oo.ready,e=>{let n=ns(e)?e:e.jodit,r=`${n.options.namespace}${e.componentName}_prop_${t}`,i=e[t];Object.defineProperty(e,t,{get(){return n.storage.get(r)??i},set(e){n.storage.set(r,e)}})})}function cu(e){return(t,n)=>{let r=t[n];if(!k(r))throw cs(`Handler must be a Function`);t.hookStatus(Oo.ready,t=>{let{async:r}=t,i=t[n],a=0;Object.defineProperty(t,n,{configurable:!0,value:function n(...o){r.clearTimeout(a),e(t)?i.apply(t,o):a=r.setTimeout(()=>n(...o),10)}})})}}var lu=Symbol(`observable-object`);function uu(e){return e[lu]!==void 0}function du(e){if(uu(e))return e;let t={},n={},r=(t,i)=>Ao(t)?(t.map(e=>r(e,i)),e):(n[t]||(n[t]=[]),n[t].push(i),e),i=(r,...a)=>{if(Ao(r)){r.map(e=>i(e,...a));return}try{!t[r]&&n[r]&&(t[r]=!0,n[r].forEach(t=>t.call(e,...a)))}finally{t[r]=!1}},a=(t,n=[])=>{let o={};uu(t)||(Object.defineProperty(t,lu,{enumerable:!1,value:!0}),Object.keys(t).forEach(r=>{let s=r,c=n.concat(s).filter(e=>e.length);o[s]=t[s];let l=bs(t,s);Object.defineProperty(t,s,{set:t=>{let n=o[s];if(!Es(o[s],t)){i([`beforeChange`,`beforeChange.${c.join(`.`)}`],s,t),Go(t)&&a(t,c),l&&l.set?l.set.call(e,t):o[s]=t;let r=[];i([`change`,...c.reduce((e,t)=>(r.push(t),e.push(`change.${r.join(`.`)}`),e),[])],c.join(`.`),n,t?.valueOf?t.valueOf():t)}},get:()=>l&&l.get?l.get.call(e):o[s],enumerable:!0,configurable:!0}),Go(o[s])&&a(o[s],c)}),Object.defineProperty(e,"on",{value:r}))};return a(e),e}function I(e,t){return(n,r)=>{if(!k(n[r]))throw cs(`Handler must be a Function`);let i=t?.immediately??!0,a=t?.context,o=t=>{let o=ns(t)?t:t.jodit,s=(e,...n)=>{if(!t.isInDestruct)return t[r](e,...n)};i||(s=t.async.microDebounce(s,!0)),Ys(e).forEach(e=>{if(/:/.test(e)){let[n,r]=e.split(`:`),i=a;n.length&&(i=t.get(n)),k(i)&&(i=i(t)),o.events.on(i||t,r,s),i||o.events.on(r,s),t.hookStatus(`beforeDestruct`,()=>{o.events.off(i||t,r,s).off(r,s)});return}let r=e.split(`.`),[i]=r,c=r.slice(1),l=t[i];Go(l)&&du(l).on(`change.${c.join(`.`)}`,s);let u=bs(n,i);Object.defineProperty(t,i,{configurable:!0,set(e){let n=l;n!==e&&(l=e,u&&u.set&&u.set.call(t,e),Go(l)&&(l=du(l),l.on(`change.${c.join(`.`)}`,s)),s(i,n,l))},get(){return u&&u.get?u.get.call(t):l}})})};k(n.hookStatus)?n.hookStatus(Oo.ready,o):o(n)}}var fu=s({autobind:()=>A,cache:()=>
395zs,cacheHTML:()=>Bs,cached:()=>Rs,component:()=>Ws,debounce:()=>tu,derive:()=>ru,getComponentClass:()=>Gs,hook:()=>iu,idle:()=>au,nonenumerable:()=>ou,persistent:()=>su,throttle:()=>nu,wait:()=>cu,watch:()=>I});F.prototype.defaultAjaxOptions={successStatuses:[200,201,202],method:`GET`,url:``,data:null,contentType:`application/x-www-form-urlencoded; charset=UTF-8`,headers:{"X-REQUESTED-WITH":`XMLHttpRequest`},withCredentials:!1,xhr(){return new XMLHttpRequest}};var pu=class{get url(){return this.request.url}constructor(e,t,n,r){this.request=e,this.status=t,this.statusText=n,this.body=r}async json(){return JSON.parse(this.body)}text(){return Promise.resolve(this.body)}async blob(){return this.body}},mu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hu=class e{className(){return`Ajax`}constructor(e,t=F.prototype.defaultAjaxOptions){this.__async=new Js,this.__isFulfilled=!1,this.__activated=!1,this.__isDestructed=!1,this.options=tl(e||{},t),this.xhr=this.o.xhr?this.o.xhr():new XMLHttpRequest}__buildParams(e,t){return Go(e)&&this.options.contentType&&this.options.contentType.includes(`application/json`)?JSON.stringify(e):k(this.o.queryBuild)?this.o.queryBuild.call(this,e,t):j(e)||e instanceof Va.FormData||typeof e==`object`&&e&&k(e.append)?e:Jc(e)}get o(){return this.options}
395abort(){if(this.__isFulfilled)return this;try{this.__isFulfilled=!0,this.xhr.abort()}catch{}return this}send(){this.__activated=!0;let{xhr:e,o:t}=this,n=this.prepareRequest();return this.__async.promise(async(r,i)=>{let a=()=>{this.__isFulfilled=!0,i(ls(`Connection error`))},o=()=>{this.__isFulfilled=!0,r(new pu(n,e.status,e.statusText,e.responseType?e.response:e.responseText))};e.onload=o,e.onabort=()=>{this.__isFulfilled=!0,i(as(`Abort connection`))},e.onerror=a,e.ontimeout=a,t.responseType&&(e.responseType=t.responseType),e.onprogress=e=>{var t,n;let r=0;e.lengthComputable&&(r=e.loaded/e.total*100),(n=(t=this.options).onProgress)==null||n.call(t,r)},e.onreadystatechange=()=>{var n,r;(r=(n=this.options).onProgress)==null||r.call(n,10),e.readyState===XMLHttpRequest.DONE&&(t.successStatuses.includes(e.status)?o():e.statusText&&(this.__isFulfilled=!0,i(ls(e.statusText))))},e.withCredentials=t.withCredentials??!1;let{url:s,data:c,method:l}=n;e.open(l,s,!0),t.contentType&&e.setRequestHeader&&e.setRequestHeader(`Content-type`,t.contentType);let{headers:u}=t;k(u)&&(u=await u.call(this)),u&&e.setRequestHeader&&Object.keys(u).forEach(t=>{e.setRequestHeader(t,u[t])}),this.__async.setTimeout(()=>{e.send(c?this.__buildParams(c):void 0)},0)})}async*stream(){this.__activated=!0;let{xhr:e,o:t}=this,n=this.prepareRequest(),r=0,i=``,a=[],o=null,s=!1,c=null,l=()=>{if(o){let e=o;o=null,e()}},u=t=>{let n=e.responseText;i+=n.substring(r),r=n.length;let o=i.split(`
396
397`);i=t?``:o.pop()??``;for(let e of o){let t=e.trim();if(!t)continue;let n=[];for(let e of t.split(`
398`))e.startsWith(`data: `)?n.push(e.slice(6)):e.startsWith(`data:`)&&n.push(e.slice(5));n.length&&a.push(n.join(`
399`))}l()};e.onprogress=()=>u(!1),e.onload=()=>{u(!0),s=!0,this.__isFulfilled=!0,l()},e.onerror=()=>{c=ls(`Connection error`),s=!0,this.__isFulfilled=!0,l()},e.onabort=()=>{c=as(`Abort connection`),s=!0,this.__isFulfilled=!0,l()},e.withCredentials=t.withCredentials??!1;let{url:d,data:f,method:p}=n;e.open(p,d,!0),t.contentType&&e.setRequestHeader&&e.setRequestHeader(`Content-type`,t.contentType);let{headers:m}=t;k(m)&&(m=await m.call(this)),m&&e.setRequestHeader&&Object.keys(m).forEach(t=>{e.setRequestHeader(t,m[t])}),e.send(f?this.__buildParams(f):void 0);try{for(;;)if(a.length>0)yield a.shift();else if(s)break;else await new Promise(e=>{o=e})}finally{this.__isFulfilled||this.abort()}if(c)throw c}prepareRequest(){if(!this.o.url)throw cs(`Need URL for AJAX request`);let t=this.o.url,n=this.o.data,r=(this.o.method||`get`).toLowerCase();if(r===`get`&&n&&Go(n)){let e=t.indexOf(`?`);if(e!==-1){let r=al(t.substring(e));t=t.substring(0,e)+`?`+Jc({...r,...n})}else t+=`?`+Jc(this.o.data)}let i={url:t,method:r,data:n};return e.log.splice(100),e.log.push(i),i}destruct(){this.__isDestructed||(this.__isDestructed=!0,this.__activated&&!this.__isFulfilled&&(this.abort(),this.__isFulfilled=!0),this.__async.destruct())}};hu.log=[],mu([A],hu.prototype,`destruct`,null);var gu=class{getElm(e){return this.container.querySelector(`.${this.getFullElName(e)}`)}getElms(e){return Io(this.container.querySelectorAll(`.${this.getFullElName(e)}`))}},_u=class{afterSetMod(e,t){}setMod(e,t,n){e=e.toLowerCase();let r=this.mods[e];if(r===t)return this;let i=`${this.componentName}_${e}_`,a=(n||this.container).classList;return r!=null&&a.remove(`${i}${r.toString().toLowerCase()}`),!Mo(t)&&t!==``&&a.add(`${i}${t.toString().toLowerCase()}`),this.mods[e]=t,this.afterSetMod(e,t),this}getMod(e){return this.mods[e]??null}},vu=class e{static getIcon(t){return/<svg/i.test(t)?t:e.icons[t]||e.icons[t.replace(/-/g,`_`)]||e.icons[t.replace(/_/g,`-`)]||e.icons[es(t)]||e.icons[Ko(t)]||e.icons[t.toLowerCase()]}static exists(e){return this.getIcon(e)!==void 0}static get(e,t=`<span></span>`){return this.getIcon(e)||t}static set(e,t){return this.icons[e.replace(`_`,`-`)]=t,this}static makeIcon(t,n){var r;if(!n)return;let i,{name:a,iconURL:o,fill:s,scale:c}=n,l=a.replace(/[^a-zA-Z0-9]/g,`_`),u;/<svg/.test(a)||(u=(r=t.o).getIcon?.call(r,a,l));let d=`${a}${o}${s}${c??``}${u??``}`;if(t.o.cache&&this.__cache.has(d))return this.__cache.get(d)?.cloneNode(!0);if(o)i=t.c.span(),M(i,`backgroundImage`,`url(`+o.replace(`{basePath}`,t?.basePath||``)+`)`);else{let n=u||e.get(a,``)||t.o.extraIcons?.[a];n&&(i=e.toIconElement(t,n.trim()),/^<svg/i.test(a)||i.classList.add(`jodit-icon_`+l))}return i&&(i.classList.add(`jodit-icon`),i.style.fill=s,c!=null&&(i.style.transform=`scale(${c})`),t.o.cache&&this.__cache.set(d,i.cloneNode(!0))),i}static toIconElement(e,t){let n=e.c.fromHTML(t);return P.isElement(n)?n:e.c.span(`jodit-icon_text`,n)}};vu.icons={},vu.__cache=new Map;var yu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bu,xu=bu=class extends eu{getRole(){return this.options?.role||``}get parentElement(){return this.__parentElement}set parentElement(e){this.__parentElement=e,e&&e.hookStatus(`beforeDestruct`,()=>this.destruct()),this.updateParentElement(this)}bubble(e){let t=this.parentElement;for(;t;)e(t),t=t.parentElement;return this}updateParentElement(e){var t;return(t=this.__parentElement)==null||t.updateParentElement(e),this}get(e,t){return super.get(e,t)||this.getElm(e)}closest(e){let t=typeof e==`object`?t=>t===e:t=>$l.isInstanceOf(t,e),n=this.__parentElement;for(;n;){if(t(n))return n;n=!n.parentElement&&n.container.parentElement?bu.closestElement(n.container.parentElement,bu):n.parentElement}return null}static closestElement(e,t){let n=P.up(e,e=>
399{if(e){let{component:n}=e;return n&&$l.isInstanceOf(n,t)}return!1});return n?n?.component:null}update(){}appendTo(e){return e.appendChild(this.container),this}clearName(e){return e.replace(/[^a-zA-Z0-9]/g,`_`)}render(e){return this.j.c.div(this.componentName)}createContainer(e){let t=this.render(e);if(j(t)){let e=this.parseTemplate(t);return e.classList.add(this.componentName),e}return t}parseTemplate(e){return this.j.c.fromHTML(e.replace(/\*([^*]+?)\*/g,(e,t)=>vu.get(t)||``).replace(/&_/g,this.componentName+`_`).replace(/~([^~]+?)~/g,(e,t)=>this.i18n(t)))}constructor(e,t){super(e),this.name=``,this.__parentElement=null,this.mods={},this.options=t,this.container=this.createContainer(t);let n=this.getRole();n&&N(this.container,`role`,n),Object.defineProperty(this.container,"component",{value:this,configurable:!0})}destruct(){return P.safeRemove(this.container),this.parentElement=null,super.destruct()}};xu=bu=yu([ru(_u,gu)],xu);var Su=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Cu=()=>({size:`middle`,type:`button`,role:`button`,name:``,value:``,variant:`initial`,disabled:!1,activated:!1,icon:{name:`empty`,fill:``,iconURL:``,scale:void 0},tooltip:``,text:``,tabIndex:void 0}),wu=class extends xu{className(){return`UIButton`}setState(e){return Object.assign(this.state,e),this}get text(){let e=this.getElm(`text`);return Uo(e,`Text element not found`),e}get icon(){let e=this.getElm(`icon`);return Uo(e,`Icon element not found`),e}onChangeSize(){this.setMod(`size`,this.state.size)}onChangeType(){N(this.container,`type`,this.state.type)}onChangeRole(){N(this.container,`role`,this.state.role)}updateSize(){let e=Gs(`UIList`),t=this.closest(e);if(t){this.state.size=t.buttonSize;return}}onChangeStatus(){this.setMod(`variant`,this.state.variant)}onChangeText(){this.text.textContent=this.jodit.i18n(this.state.text),this.updateAriaLabel()}onChangeTextSetMode(){this.setMod(`text-icons`,!!this.state.text.trim().length)}onChangeDisabled(){N(this.container,`disabled`,this.state.disabled||null)}onChangeActivated(){N(this.container,`aria-pressed`,this.state.activated)}onChangeName(){this.container.classList.add(`${this.componentName}_${this.clearName(this.state.name)}`),this.name=this.state.name,N(this.container,`data-ref`,this.state.name),N(this.container,`ref`,this.state.name)}onChangeTooltip(){let e=this.state.tooltip?this.jodit.i18n(this.state.tooltip):null;this.get(`j.o.useNativeTooltip`)&&N(this.container,`title`,e),N(this.container,`aria-label`,e),this.updateAriaLabel()}updateAriaLabel(){let e=this.state.text.trim().length>0,t=this.state.tooltip?this.jodit.i18n(this.state.tooltip):null;N(this.container,`aria-label`,t),N(this.button,`aria-label`,e?null:t)}onChangeTabIndex(){N(this.container,`tabindex`,this.state.tabIndex)}onChangeIcon(){let e=this.get(`j.o.textIcons`);if(e===!0||k(e)&&e(this.state.name))return;P.detach(this.icon);let t=vu.makeIcon(this.j,this.state.icon);t&&this.icon.appendChild(t)}focus(){this.container.focus()}isFocused(){let{activeElement:e}=this.od;return!!(e&&P.isOrContains(this.container,e))}createContainer(){let e=this.componentName,t=this.j.c.element(`button`,{class:e,type:`button`,role:`button`,ariaPressed:!1}),n=this.j.c.span(e+`__icon`),r=this.j.c.span(e+`__text`);return t.appendChild(n),t.appendChild(r),t}constructor(e,t){super(e),this.isButton=!0,this.state=Cu(),this.actionHandlers=[],this.button=this.container,this.updateSize(),this.onChangeSize(),this.onChangeStatus(),t&&this.hookStatus(Oo.ready,()=>{this.setState(t)})}destruct(){return this.j.e.off(this),this.j.e.off(this.container),super.destruct()}onAction(e){return this.actionHandlers.push(e),this}__onActionFire(e){e.buffer={actionTrigger:this},this.actionHandlers.forEach(t=>t.call(this,e)),this.j.e.fire(this,`click`,e)}};Su([zs],wu.prototype,`text`,null),Su([zs],wu.prototype,`icon`,null),Su([I(`state.size`,{immediately:!1})],wu.prototype,`onChangeSize`,null),Su([I(`state.type`,{immediately:!1})],wu.prototype,`onChangeType`,null),Su([I(`state.role`,{immediately:!1})],wu.prototype,`onChangeRole`,null),Su([I(`parentElement`)],wu.prototype,`updateSize`,null),Su([I(`state.variant`,{immediately:!1})],wu.prototype,`onChangeStatus`,null),Su([I(`state.text`,{immediately:!1})],wu.prototype,`onChangeText`,null),Su([I(`state.text`,{immediately:!1})],wu.prototype,`onChangeTextSetMode`,null),Su([I(`state.disabled`)],wu.prototype,`onChangeDisabled`,null),Su([I(`state.activated`)],wu.prototype,`onChangeActivated`,null),Su([I(`state.name`,{immediately:!1})],wu.prototype,`onChangeName`,null),Su([I(`state.tooltip`,{immediately:!1})],wu.prototype,`onChangeTooltip`,null),Su([I(`state.tabIndex`,{immediately:!1})],wu.prototype,`onChangeTabIndex`,null),Su([I(`state.icon`,{immediately:!1})],wu.prototype,`onChangeIcon`,null),Su([Bs],wu.prototype,`createContainer`,null),Su([I(`button:click`)],wu.prototype,`__onActionFire`,null),wu=Su([Ws],wu);function Tu(e,t,n,r){let i=new wu(e);return i.state.tabIndex=e.o.allowTabNavigation?0:-1,j(t)?(i.state.icon.name=t,i.state.name=t,r&&(i.state.variant=r),n&&(i.state.text=n)):i.setState(t),i}var Eu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Du,Ou=Du=class extends xu{className(){return`UIGroup`}getRole(){return this.options?.role||`list`}get allChildren(){let e=[],t=[...this.elements];for(;t.length;){let n=t.shift();Ao(n)?t.push(...n):$l.isInstanceOf(n,Du)?t.push(...n.elements):n&&e.push(n)}return e}
399update(){this.elements.forEach(e=>e.update()),this.setMod(`size`,this.buttonSize)}append(e,t){if(Ao(e)){if(typeof t==`number`)throw Error(`You can not use index when append array of elements`);return e.forEach(e=>this.append(e,t)),this}let n=e,r;if(typeof t==`number`?(r=Math.min(Math.max(0,t),this.elements.length),this.elements.splice(r,0,n)):this.elements.push(n),n.name&&n.container.classList.add(this.getFullElName(n.name)),t&&typeof t==`string`){let e=this.getElm(t);if(e==null)throw Error(`Element does not exist`);e.appendChild(n.container)}else this.appendChildToContainer(n.container,r);return n.parentElement=this,this}afterSetMod(e,t){this.syncMod&&this.elements.forEach(n=>n.setMod(e,t))}appendChildToContainer(e,t){t===void 0||t<0||t>this.elements.length-1||this.container.children[t]==null?this.container.appendChild(e):this.container.insertBefore(e,this.container.children[t])}remove(e){let t=this.elements.indexOf(e);return t!==-1&&(this.elements.splice(t,1),P.safeRemove(e.container),e.parentElement=null),this}clear(){return this.elements.forEach(e=>e.destruct()),this.elements.length=0,this}constructor(e,t,n){super(e,n),this.options=n,this.syncMod=!1,this.elements=[],this.buttonSize=`middle`,t?.forEach(e=>e&&this.append(e)),n?.name&&(this.name=n.name)}setParentView(e){var t;return(t=this.elements)==null||t.forEach(t=>t.setParentView(e)),super.setParentView(e)}destruct(){return this.clear(),super.destruct()}};Eu([I(`buttonSize`)],Ou.prototype,`update`,null),Ou=Du=Eu([Ws],Ou);var ku=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Au=class extends Ou{className(){return`UIButtonGroup`}render(e){return`<div>
400			<div class="&__label">~${e.label}~</div>
401			<div class="&__options"></div>
402		</div>`}appendChildToContainer(e){let t=this.getElm(`options`);Uo(t!=null,`Options does not exist`),t.appendChild(e)}constructor(e,t={radio:!0}){super(e,t.options?.map(t=>{let n=new wu(e,{text:t.text,value:t.value,variant:`primary`});return n.onAction(()=>{this.select(t.value)}),n}),t),this.options=t,this.select(t.value??0)}select(e){var t,n;this.elements.forEach((t,n)=>{n===e||t.state.value===e?t.state.activated=!0:this.options.radio&&(t.state.activated=!1)});let r=this.elements.filter(e=>e.state.activated).map(e=>({text:e.state.text,value:e.state.value}));this.jodit.e.fire(this,`select`,r),(n=(t=this.options).onChange)==null||n.call(t,r)}};Au=ku([Ws],Au);var ju=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Mu,Nu=[`scroll.tooltip`,`joditCloseDialog`,`mouseleave.tooltip`],Pu=[`escape.tooltip`,`change.tooltip`,`changePlace.tooltip`,`afterOpenPopup.tooltip`,`hidePopup.tooltip`,`beforePopupClose.tooltip`,`closeAllPopups.tooltip`],Fu=Mu=class extends xu{className(){return`UITooltip`}render(){return`<div><div class="&__content"></div></div>`}constructor(e){super(e),this.__isOpened=!1,this.__attachedContainers=new Set,this.__listenClose=!1,this.__currentTarget=null,this.__delayShowTimeout=0,this.__hideTimeout=0,!e.o.textIcons&&e.o.showTooltip&&!e.o.useNativeTooltip&&(this.j.e.on(`getContainer`,e=>{this.__onAttach(e)}),e.hookStatus(Oo.ready,()=>{this.__onAttach(this.j.container)}))}__onAttach(e){Ac(this.j,Mu).appendChild(this.container),this.__attachedContainers.add(e),this.__attachedContainers.add(this.j.container),this.j.e.on(e,`mouseenter.tooltip`,this.__onMouseEnter,{capture:!0}).on(e,`mouseleave.tooltip`,this.__onMouseLeave,{capture:!0}).on(this.j.container,`mouseleave.tooltip`,this.__onMouseLeave,{capture:!0})}__addListenersOnEnter(){if(this.__listenClose)return;this.__listenClose=!0;let e=this.j;e.e.on(e.ow,Nu,this.__hide).on(Pu,this.__hide)}__removeListenersOnLeave(){if(!this.__listenClose)return;this.__listenClose=!1;let e=this.j;e.e.off(e.ow,Nu,this.__hide).off(Pu,this.__hide)}__onMouseLeave(e){this.__currentTarget===e.target&&(this.__hideDelay(),this.__currentTarget=null)}__onMouseEnter(e){if(!P.isHTMLElement(e.target))return;let t=N(e.target,`aria-label`);
402if(!t||N(e.target,`disabled`)||!e.target.className.includes(`jodit`))return;this.__currentTarget=e.target;let n=e.target;this.__open(()=>{let e=Kl(n);return{x:e.left+e.width/2,y:e.top+e.height}},t)}__open(e,t){this.__addListenersOnEnter(),this.__isOpened=!0,this.j.async.clearTimeout(this.__hideTimeout),this.j.async.clearTimeout(this.__delayShowTimeout);let n=this.j.o.showTooltipDelay||this.j.defaultTimeout;if(!n){this.__show(e,t);return}this.__delayShowTimeout=this.j.async.setTimeout(()=>this.__show(e,t),n)}__show(e,t){this.setMod(`visible`,!0),this.setMod(`above`,!1),this.getElm(`content`).innerHTML=t;let n=e(),r=Vl(this.container);M(this.container,{left:n.x-r.x,top:n.y-r.y});let i=Kl(this.container),a=this.j.ow.innerHeight;if(i.top+i.height>a){let e=Kl(this.__currentTarget);this.setMod(`above`,!0),M(this.container,{top:e.top-i.height-r.y})}}__hide(){this.j.async.clearTimeout(this.__delayShowTimeout),this.j.async.clearTimeout(this.__hideTimeout),this.__removeListenersOnLeave(),this.__isOpened&&(this.__isOpened=!1,this.setMod(`visible`,!1),this.getElm(`content`).innerHTML=``,M(this.container,{left:-5e3}))}__hideDelay(){this.j.async.clearTimeout(this.__delayShowTimeout),this.j.async.clearTimeout(this.__hideTimeout),this.__isOpened&&(this.__hideTimeout=this.async.setTimeout(this.__hide,this.j.defaultTimeout))}destruct(){this.__attachedContainers.forEach(e=>{this.j.e.off(e,`mouseenter.tooltip`,this.__onMouseEnter).off(e,`mouseleave.tooltip`,this.__onMouseLeave)}),this.__hide(),super.destruct()}};ju([A],Fu.prototype,`__onMouseLeave`,null),ju([A],Fu.prototype,`__onMouseEnter`,null),ju([A],Fu.prototype,`__hide`,null),ju([A],Fu.prototype,`__hideDelay`,null),Fu=Mu=ju([Ws],Fu);var Iu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lu=class extends Ou{className(){return`UIBlock`}constructor(e,t,n={align:`left`}){super(e,t),this.options=n,this.setMod(`align`,this.options.align||`left`),this.setMod(`width`,this.options.width||``),this.options.mod&&this.setMod(this.options.mod,!0),this.options.className&&this.container.classList.add(this.options.className),N(this.container,`data-ref`,n.ref),N(this.container,`ref`,n.ref)}};Lu=Iu([Ws],Lu);var Ru=s({required:()=>zu,url:()=>Bu}),zu=function(e){return zo(e.value).length?!0:(e.error=`Please fill out this field`,!1)},Bu=function(e){return Is(zo(e.value))?!0:(e.error=`Please enter a web address`,!1)},Vu=function(e){return zo(e.value).length?!0:(e.error=`Please fill out this field`,!1)},Hu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Uu,Wu=Uu=class extends xu{className(){return`UIInput`}onChangeClear(){this.state.clearButton?P.after(this.nativeInput,this.clearButton):P.safeRemove(this.clearButton)}onChangeClassName(e,t){t&&this.container.classList.remove(t),this.state.className&&this.container.classList.add(this.state.className)}onChangeState(){this.name=this.state.name;let e=this.nativeInput,{name:t,icon:n,type:r,ref:i,required:a,placeholder:o,autocomplete:s,label:c}=this.state;N(e,`name`,t),N(e,`type`,r),N(e,`data-ref`,i||t),N(e,`ref`,i||t),N(e,`required`,a||null),N(e,`autocomplete`,s?null:`off`),N(e,`placeholder`,o?this.j.i18n(o):``),n&&vu.exists(n)?(P.before(e,this.icon),this.icon.innerHTML=vu.get(n)):P.safeRemove(this.icon),c?(P.before(this.wrapper,this.label),this.label.innerText=this.j.i18n(c)):P.safeRemove(this.label),this.updateValidators()}updateValidators(){var e;this.validators.clear(),this.state.required&&this.validators.add(zu),(e=this.state.validators)==null||e.forEach(e=>{let t=Ru[e];t&&this.validators.add(t)})}set error(e){this.setMod(`has-error`,!!e),e?(this.__errorBox.innerText=this.j.i18n(e,this.j.i18n(this.state.label||``)),this.container.appendChild(this.__errorBox)):P.safeRemove(this.__errorBox)}get value(){return this.nativeInput.value}set value(e){this.value!==e&&(this.nativeInput.value=e,this.onChangeValue())}onChangeStateValue(){let e=this.state.value.toString();e!==this.value&&(this.value=e)}onChangeValue(){var e,t;let{value:n}=this;this.state.value!==n&&(this.state.value=n,this.j.e.fire(this,`change`,n),(t=(e=this.state).onChange)==null||t.call(e,n))}validate(){this.error=``;let e=Io(this.validators).every(e=>e(this));return this.__markInputInvalid(),e}__markInputInvalid(){var e,t,n,r;this.error?(this.nativeInput.setAttribute(`aria-invalid`,`true`),(t=(e=this.nativeInput).setCustomValidity)==null||t.call(e,this.error)):(this.nativeInput.removeAttribute(`aria-invalid`),(r=(n=this.nativeInput).setCustomValidity)==null||r.call(n,``))}createContainer(e){let t=super.createContainer();this.wrapper=this.j.c.div(this.getFullElName(`wrapper`)),this.nativeInput||=this.createNativeInput();let{nativeInput:n}=this;return n.classList.add(this.getFullElName(`input`)),this.wrapper.appendChild(n),t.appendChild(this.wrapper),N(n,`dir`,this.j.o.direction||`auto`),t}createNativeInput(e){return this.j.create.element(`input`)}constructor(e,t){super(e,t),this.label=this.j.c.span(this.getFullElName(`label`)),this.icon=this.j.c.span(this.getFullElName(`icon`)),this.clearButton=this.j.c.span(this.getFullElName(`clear`),vu.get(`cancel`)),this.state={...Uu.defaultState},this.__errorBox=this.j.c.span(this.getFullElName(`error`)),this.validators=new Set([]),t?.value!==void 0&&(t.value=t.value.toString()),Object.assign(this.state,t),this.state.clearButton!==void 0&&(this.j.e.on(this.clearButton,`click`,e=>{e.preventDefault(),this.nativeInput.value=``,this.j.e.fire(this.nativeInput,`input`),this.focus()}).on(this.nativeInput,`input`,()=>{this.state.clearButton=!!this.value.length}),this.state.clearButton=!!this.value.length),this.j.e.on(this.nativeInput,`focus blur`,()=>{this.onChangeFocus()}).on(this.nativeInput,`input change`,this.onChangeValue),this.onChangeState(),this.onChangeClassName(),this.onChangeStateValue()}focus(){this.nativeInput.focus()}get isFocused(){return this.nativeInput===this.j.od.activeElement}onChangeFocus(){this.setMod(`focused`,this.isFocused)}};Wu.defaultState={className:``,autocomplete:!0,name:``,value:``,icon:``,label:``,ref:``,type:`text`,placeholder:``,required:!1,validators:[]},Hu([I(`state.clearButton`)],Wu.prototype,`onChangeClear`,null),Hu([I(`state.className`)],Wu.prototype,`onChangeClassName`,null),Hu([I([`state.name`,`state.type`,`state.label`,`state.placeholder`,`state.autocomplete`,`state.icon`],{immediately:!1}),tu()],Wu.prototype,`onChangeState`,null),Hu([I(`state.value`)],Wu.prototype,`onChangeStateValue`,null),Hu([A],Wu.prototype,`onChangeValue`,null),Wu=Uu=Hu([Ws],Wu);var Gu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ku,qu=Ku=class extends Wu{className(){return`UISelect`}createContainer(e){var t;let n=super.createContainer(e),{j:r}=this,{nativeInput:i}=this,a=()=>r.create.element(`option`);if(e.placeholder!==void 0){let t=a();t.value=``,t.text=r.i18n(e.placeholder),i.add(t)}
402return(t=e.options)==null||t.forEach(e=>{let t=a();t.value=e.value.toString(),t.text=r.i18n(e.text),i.add(t)}),e.size&&e.size>0&&N(i,`size`,e.size),e.multiple&&N(i,`multiple`,``),n}createNativeInput(){return this.j.create.element(`select`)}updateValidators(){super.updateValidators(),this.state.required&&(this.validators.delete(zu),this.validators.add(Vu))}constructor(e,t){super(e,t),this.state={...Ku.defaultState},Object.assign(this.state,t)}};qu.defaultState={...Wu.defaultState,options:[],size:1,multiple:!1},qu=Ku=Gu([Ws],qu);var Ju=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Yu=class extends Ou{className(){return`UIForm`}submit(){this.j.e.fire(this.container,`submit`)}validate(){let e=this.allChildren.filter(e=>$l.isInstanceOf(e,Wu));for(let t of e)if(!t.validate())return!1;let t=this.allChildren.filter(e=>$l.isInstanceOf(e,qu));for(let e of t)if(!e.validate())return!1;return!0}onSubmit(e){return this.j.e.on(this.container,`submit`,()=>{let t=this.allChildren.filter(e=>$l.isInstanceOf(e,Wu));return this.validate()&&e(t.reduce((e,t)=>(e[t.state.name]=t.value,e),{})),!1}),this}createContainer(){let e=this.j.c.element(`form`);return e.classList.add(this.componentName),N(e,`dir`,this.j.o.direction||`auto`),N(e,`novalidate`,``),e}constructor(...e){super(...e),this.options?.className&&this.container.classList.add(this.options?.className)}};Yu=Ju([Ws],Yu);var Xu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Zu,Qu=Zu=class extends Wu{className(){return`UITextArea`}createNativeInput(e){return this.j.create.element(`textarea`)}constructor(e,t){super(e,t),this.state={...Zu.defaultState},Object.assign(this.state,t),this.state.resizable===!1&&(this.nativeInput.style.resize=`none`)}onChangeStateSize(){let{size:e,resizable:t}=this.state;this.nativeInput.style.resize=t?`auto`:`none`,this.nativeInput.rows=e??5}};Qu.defaultState={...Wu.defaultState,size:5,resizable:!0},Xu([I([`state.size`,`state.resizable`])],Qu.prototype,`onChangeStateSize`,null),Qu=Zu=Xu([Ws],Qu);var $u=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ed,td=ed=class extends Wu{className(){return`UICheckbox`}render(){return this.j.c.element(`label`,{className:this.componentName})}constructor(e,t){super(e,{...t,type:`checkbox`}),this.state={...ed.defaultState},Object.assign(this.state,t)}onChangeChecked(){this.value=this.state.checked.toString(),this.nativeInput.checked=this.state.checked,this.setMod(`checked`,this.state.checked)}onChangeNativeCheckBox(){this.state.checked=this.nativeInput.checked}onChangeSwitch(){this.setMod(`switch`,this.state.switch);let e=this.getElm(`switch-slider`);this.state.switch?(e||=this.j.c.div(this.getFullElName(`switch-slider`)),P.after(this.nativeInput,e)):P.safeRemove(e)}};td.defaultState={...Wu.defaultState,checked:!1,switch:!1},$u([I(`state.checked`),iu(`ready`)],td.prototype,`onChangeChecked`,null),$u([I(`nativeInput:change`)],td.prototype,`onChangeNativeCheckBox`,null),$u([I(`state.switch`),iu(`ready`)],td.prototype,`onChangeSwitch`,null),td=ed=$u([Ws],td);var nd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rd=class extends Wu{className(){return`UIFileInput`}createContainer(e){this.button=new wu(this.j,{tooltip:e.tooltip,icon:{name:`plus`}});let{container:t}=this.button;this.nativeInput||=this.createNativeInput(e);let{nativeInput:n}=this;return n.classList.add(this.getFullElName(`input`)),t.classList.add(this.componentName),t.appendChild(n),t}createNativeInput(e){return this.j.create.fromHTML(`<input
403			type="file"
404			accept="${e.onlyImages?`image/*`:`*`}"
405			tabindex="-1"
406			dir="auto"
407			multiple=""
408		/>`)}constructor(e,t){super(e,{type:`file`,...t}),this.state={...Wu.defaultState,type:`file`,onlyImages:!0}}};rd=nd([Ws],rd);var id=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ad=class extends xu{className(){return`UISeparator`}};ad=id([Ws],ad);var od=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sd=class extends xu{className(){return`UISpacer`}};sd=od([Ws],sd);var cd=e=>Ao(e.buttons);function ld(e,t){let n=t.getRegisteredButtonGroups();return new Set(e.reduce((e,t)=>
408(cd(t)?e=e.concat([...t.buttons,...n[t.group]??[]]):e.push(t),e),[]))}function ud(e,t){let n;return t||=F.defaultOptions.controls,j(e)?n=dd(e,t)||{name:e,command:e,tooltip:e}:(n={name:`empty`,...nl(e)},t[n.name]!==void 0&&(n={...nl(t[n.name]),...nl(n)})),n}function dd(e,t){let[n,r]=e.split(/\./),i=t;return r==null?r=n:t[n]!==void 0&&(i=t[n]),i[r]?{name:r,...nl(i[r])}:void 0}function fd(e,t){return(Ao(e)?e:_s(e,!1).map(t=>{let n=e[t]||{};return tl({name:t},n)})).map(e=>ud(e,t||F.defaultOptions.controls))}var pd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},md=class extends Ou{constructor(){super(...arguments),this.mode=`horizontal`,this.removeButtons=[]}className(){return`UIList`}getRole(){return`list`}__onChangeMode(){this.setMod(`mode`,this.mode)}makeGroup(e){return new Ou(this.jodit,[],e?{role:e}:void 0)}get buttons(){return this.allChildren.filter(e=>$l.isInstanceOf(e,wu))}getButtonsNames(){return this.buttons.map(e=>e instanceof wu&&e.state.name||``).filter(e=>e!==``)}setRemoveButtons(e){return this.removeButtons=e||[],this}build(e,t=null){e=Ys(e),this.clear();let n=!1,r=this.makeGroup(`group`);this.append(r),r.setMod(`line`,!0);let i,a=e=>{let a=null;switch(e.name){case`
409`:r=this.makeGroup(`group`),r.setMod(`line`,!0),i=this.makeGroup(),r.append(i),this.append(r);break;case`|`:n||(n=!0,a=new ad(this.j));break;case`---`:{i.setMod(`before-spacer`,!0);let e=new sd(this.j);r.append(e),i=this.makeGroup(),r.append(i),n=!1;break}default:switch(n=!1,e.component){case`select`:a=this.makeSelect(e,t);break;default:a=this.makeButton(e,t)}}a&&(i||(i=this.makeGroup(),r.append(i)),i.append(a))},o=e=>!this.removeButtons.includes(e.name)&&(!e.isVisible||e.isVisible?.call(e,this.j,e));return e.forEach(e=>{if(cd(e)){let t=e.buttons.filter(e=>e);t.length&&(i=this.makeGroup(),i.setMod(`separated`,!0).setMod(`group`,e.group),r.append(i),fd(t,this.j.o.controls).filter(o).forEach(a))}else{i||(i=this.makeGroup(),r.append(i));let t=ud(e,this.j.o.controls);o(t)&&a(t)}}),this.update(),this}makeSelect(e,t){throw Error(`Not implemented behaviour`)}makeButton(e,t){return new wu(this.j,{name:e.name})}};pd([I(`mode`),iu(`ready`)],md.prototype,`__onChangeMode`,null),md=pd([Ws],md);var hd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},gd=[`escape`,`cut`,`delete`,`backSpaceAfterDelete`,`beforeCommandDelete`],_d=class e extends Ou{className(){return`Popup`}appendChildToContainer(e){let t=this.getElm(`content`);Uo(t,`Content element should exist`),t.appendChild(e)}updateParentElement(t){return t!==this&&$l.isInstanceOf(t,e)&&(this.__childrenPopups.forEach(e=>{!t.closest(e)&&e.isOpened&&e.close()}),this.__childrenPopups.has(t)||this.j.e.on(t,`beforeClose`,()=>{this.__childrenPopups.delete(t)}),this.__childrenPopups.add(t)),super.updateParentElement(t)}setContent(e){if(this.allChildren.length)throw Error(`Remove children`);if($l.isInstanceOf(e,xu))this.append(e);else{let t=j(e)?this.j.c.fromHTML(e):e;this.appendChildToContainer(t)}return this.updatePosition(),this}open(t,n=!1,r){if(ms(this.jodit,this.container),this.container.classList.add(`jodit_theme_${this.jodit.o.theme}`),this.__calculateZIndex(),this.isOpened=!0,this.__addGlobalListeners(),this.__targetBound=n?this.getKeepBound(t):t,r)r.appendChild(this.container);else{let t=Ac(this.jodit,e);r!==this.container.parentElement&&t.appendChild(this.container)}return this.updatePosition(),this.j.e.fire(this,`afterOpen`),this.j.e.fire(`afterOpenPopup`,this),this}__calculateZIndex(){if(this.container.style.zIndex)return;let e=e=>{let t=e.container.style.zIndex||e.o.zIndex;return t?(this.setZIndex(1+parseInt(t.toString(),10)),!0):!1},{j:t}=this;if(e(t))return;let n=this.parentElement;for(;n;){if(e(n.j))return;if(n.container.style.zIndex){this.setZIndex(1+parseInt(n.container.style.zIndex.toString(),10));return}if(!n.parentElement&&n.container.parentElement){let e=xu.closestElement(n.container.parentElement,xu);if(e){n=e;continue}}n=n.parentElement}}getKeepBound(e){let t=e(),n=(this.j.o.shadowRoot??this.od).elementFromPoint(t.left,t.top);if(!n)return e;let r=P.isHTMLElement(n)?n:n.parentElement,i=Kl(r,this.j);return()=>{let t=e(),n=Kl(r,this.j);
409return{...t,top:t.top+(n.top-i.top),left:t.left+(n.left-i.left)}}}updatePosition(){if(!this.isOpened)return this;let[e,t]=this.__calculatePosition(this.__targetBound(),this.viewBound(),Kl(this.container,this.j));this.setMod(`strategy`,t);let n=Vl(this.container);return M(this.container,{left:e.left-n.x,top:e.top-n.y}),this.__childrenPopups.forEach(e=>e.updatePosition()),this}__throttleUpdatePosition(){this.updatePosition()}__calculatePosition(t,n,r,i=this.strategy){let a={left:t.left,right:t.left-(r.width-t.width)},o={bottom:t.top+t.height,top:t.top-r.height},s=Object.keys(a).reduce((e,t)=>e.concat(Object.keys(o).map(e=>`${t}${Jl(e)}`)),[]),c=e=>{let[t,n]=Ko(e).split(`-`);return{left:a[t],top:o[n],width:r.width,height:r.height}},l=t=>{let n=null;return n=e.boxInView(c(i),t)?i:s.find(n=>{if(e.boxInView(c(n),t))return n})||null,n},u=l(Kl(this.j.container,this.j));return(!u||!e.boxInView(c(u),n))&&(u=l(n)||u||i),[c(u),u]}static boxInView(e,t){return e.top-t.top>=-2&&e.left-t.left>=-2&&t.top+t.height-(e.top+e.height)>=-2&&t.left+t.width-(e.left+e.width)>=-2}close(){return this.isOpened?(this.isOpened=!1,this.__childrenPopups.forEach(e=>e.close()),this.j.e.fire(this,`beforeClose`),this.j.e.fire(`beforePopupClose`,this),this.__removeGlobalListeners(),P.safeRemove(this.container),this):this}__closeOnOutsideClick(e){!this.isOpened||this.isOwnClick(e)||this.close()}isOwnClick(t){if(!t.target)return!1;let n=xu.closestElement(t.target,e);return!!(n&&(this===n||n.closest(this)))}__addGlobalListeners(){let e=this.__throttleUpdatePosition,t=this.ow;Mc.on(`closeAllPopups`,this.close),this.smart&&this.j.e.on(gd,this.close).on(`mousedown touchstart`,this.__closeOnOutsideClick).on(t,`mousedown touchstart`,this.__closeOnOutsideClick),this.j.e.on(`closeAllPopups`,this.close).on(`resize`,e).on(this.container,`scroll mousewheel`,e).on(t,`scroll`,e).on(t,`resize`,e),P.up(this.j.container,t=>{t&&this.j.e.on(t,`scroll mousewheel`,e)})}__removeGlobalListeners(){let e=this.__throttleUpdatePosition,t=this.ow;Mc.off(`closeAllPopups`,this.close),this.smart&&this.j.e.off(gd,this.close).off(`mousedown touchstart`,this.__closeOnOutsideClick).off(t,`mousedown touchstart`,this.__closeOnOutsideClick),this.j.e.off(`closeAllPopups`,this.close).off(`resize`,e).off(this.container,`scroll mousewheel`,e).off(t,`scroll`,e).off(t,`resize`,e),this.j.container.isConnected&&P.up(this.j.container,t=>{t&&this.j.e.off(t,`scroll mousewheel`,e)})}setZIndex(e){this.container.style.zIndex=e.toString()}constructor(e,t=!0){super(e),this.smart=t,this.isOpened=!1,this.strategy=`leftBottom`,this.viewBound=()=>({left:0,top:0,width:this.ow.innerWidth,height:this.ow.innerHeight}),this.__childrenPopups=new Set,N(this.container,`role`,`popup`)}render(){return`<div>
410			<div class="&__content"></div>
411		</div>`}destruct(){return this.close(),super.destruct()}};hd([A],_d.prototype,`updatePosition`,null),hd([nu(10),A],_d.prototype,`__throttleUpdatePosition`,null),hd([A],_d.prototype,`close`,null),hd([A],_d.prototype,`__closeOnOutsideClick`,null);var vd=class e extends xu{constructor(){super(...arguments),this.__animationElement=null}className(){return`ProgressBar`}render(){return`<div><div></div></div>`}show(){return(this.j.workplace||this.j.container).appendChild(this.container),this}hide(){return P.safeRemove(this.container),this}progress(e){return this.container.style.width=e.toFixed(2)+`%`,this}showFileUploadAnimation(t,n){this.__cleanUpAnimation();let r=Ac(this.j,e),i=Kl(this.j.container,this.j),a=this.j.c.div(this.getFullElName(`file-animation`)),o=vu.get(`file`,``);o&&(a.innerHTML=o);let s=t??{x:i.width/2,y:0},c=n??{x:s.x+60,y:s.y-80};M(a,{left:i.left+s.x,top:i.top+s.y}),r.appendChild(a),this.__animationElement=a,a.offsetWidth,M(a,{left:i.left+c.x,top:i.top+c.y,opacity:0,transform:`scale(0.4)`});let l=()=>{a.removeEventListener(`transitionend`,l),this.__cleanUpAnimation()};a.addEventListener(`transitionend`,l)}__cleanUpAnimation(){this.__animationElement&&=(P.safeRemove(this.__animationElement),null)}destruct(){return this.__cleanUpAnimation(),this.hide(),super.destruct()}},yd=class{get doc(){return k(this.document)?this.document():this.document}constructor(e,t){this.document=e,this.createAttributes=t}element(e,t,n){let r=this.doc.createElement(e.toLowerCase());return this.applyCreateAttributes(r),t&&(Go(t)?N(r,t):n=t),n&&Nc(n).forEac
411h(e=>r.appendChild(j(e)?this.fromHTML(e):e)),r}div(e,t,n){let r=this.element(`div`,t,n);return e&&(r.className=e),r}sandbox(){let e=this.element(`iframe`,{sandbox:`allow-same-origin`});this.doc.body.appendChild(e);let t=e.contentWindow?.document;if(Uo(t,`iframe.contentWindow.document`),!t)throw Error(`Iframe error`);return t.open(),t.write(`<!DOCTYPE html><html><head></head><body></body></html>`),t.close(),[t.body,e]}span(e,t,n){let r=this.element(`span`,t,n);return e&&(r.className=e),r}a(e,t,n){let r=this.element(`a`,t,n);return e&&(r.className=e),r}text(e){return this.doc.createTextNode(e)}fake(){return this.text(``)}fragment(){return this.doc.createDocumentFragment()}fromHTML(e,t){let n=this.div();n.innerHTML=e.toString();let r=n.firstChild!==n.lastChild||!n.firstChild?n:n.firstChild;if(P.safeRemove(r),t){let e=Ic(r);Object.keys(t).forEach(n=>{let r=e[n];r&&t[n]===!1&&P.hide(r)})}return r}applyCreateAttributes(e){if(this.createAttributes){let t=this.createAttributes;if(t&&t[e.tagName.toLowerCase()]){let n=t[e.tagName.toLowerCase()];k(n)?n(e):Go(n)&&N(e,n)}}}},bd=class{constructor(e=`JoditDB`,t=`keyValueStore`){this.dbName=e,this.dbPromise=null,this.DB_VERSION=1,this.storeName=t}getDB(){return this.dbPromise||=new Promise((e,t)=>{let n=indexedDB.open(this.dbName,this.DB_VERSION);n.onerror=()=>{t(n.error)},n.onsuccess=()=>{e(n.result)},n.onupgradeneeded=e=>{let t=e.target.result;t.objectStoreNames.contains(this.storeName)||t.createObjectStore(this.storeName)}}),this.dbPromise}async performTransaction(e,t){try{let n=t((await this.getDB()).transaction([this.storeName],e).objectStore(this.storeName));return new Promise((e,t)=>{n.onsuccess=()=>{e(n.result)},n.onerror=()=>{t(n.error)}})}catch(e){return Promise.reject(e)}}async set(e,t){try{await this.performTransaction(`readwrite`,n=>n.put(t,e))}catch{}return this}async delete(e){try{await this.performTransaction(`readwrite`,t=>t.delete(e))}catch{}return this}async get(e){try{return await this.performTransaction(`readonly`,t=>t.get(e))}catch{return}}async exists(e){try{return await this.performTransaction(`readonly`,t=>t.get(e))!==void 0}catch{return!1}}async clear(){try{await this.performTransaction(`readwrite`,e=>e.clear())}catch{}return this}async close(){if(this.dbPromise){try{(await this.dbPromise).close()}catch{}this.dbPromise=null}}async keys(){try{let e=await this.performTransaction(`readonly`,e=>e.getAllKeys());return e&&typeof e==`object`&&`then`in e&&(e=await e),e.map(e=>String(e))}catch{return[]}}async values(){try{let e=await this.performTransaction(`readonly`,e=>e.getAll());return e&&typeof e==`object`&&`then`in e&&(e=await e),e}catch{return[]}}async entries(){try{let[e,t]=await Promise.all([this.keys(),this.values()]);return e.map((e,n)=>[e,t[n]])}catch{return[]}}},xd=null;function Sd(){xd=null}async function Cd(){if(xd!=null)return xd;try{if(typeof indexedDB>`u`)return xd=!1,!1;let e=`___Jodit___`+Math.random().toString(),t=indexedDB.open(e);return xd=await new Promise(n=>{t.onerror=()=>{n(!1)},t.onsuccess=()=>{indexedDB.deleteDatabase(e),n(!0)}}),xd}catch{return xd=!1,!1}}var wd=(e=`localStorage`)=>{let t=new Map;return(()=>{if(t.has(e))return t.get(e);let n=`___Jodit___`+Math.random().toString(),r=e===`sessionStorage`?sessionStorage:localStorage;try{r.setItem(n,`1`);let i=r.getItem(n)===`1`;return r.removeItem(n),t.set(e,i),i}catch{}return t.set(e,!1),!1})()},Td=class{get storage(){return this.strategy===`sessionStorage`?sessionStorage:localStorage}set(e,t){try{let n=this.storage.getItem(this.rootKey),r=n?JSON.parse(n):{};r[e]=t,this.storage.setItem(this.rootKey,JSON.stringify(r))}catch{}return this}delete(e){try{let t=this.storage.getItem(this.rootKey);if(t){let n=JSON.parse(t);delete n[e],this.storage.setItem(this.rootKey,JSON.stringify(n))}}catch{}return this}get(e){try{let t=this.storage.getItem(this.rootKey),n=t?JSON.parse(t):{};return n[e]===void 0?void 0:n[e]}catch{}}exists(e){return this.get(e)!=null}constructor(e,t=`localStorage`){this.rootKey=e,this.strategy=t}clear(){try{this.storage.removeItem(this.rootKey)}catch{}return this}},Ed=class{constructor(){this.data=new Map}set(e,t){return this.data.set(e,t),this}delete(e){return this.data.delete(e),this}get(e){return this.data.get(e)}exists(e){return this.data.has(e)}clear(){return this.data.clear(),this}},Dd=`Jodit_`,Od=class e{set(e,t){return this.provider.set(es(this.prefix+e),t),this}delete(e){return this.provider.delete(es(this.prefix+e)),this}get(e){return this.provider.get(es(this.prefix+e))}exists(e){return this.provider.exists(es(this.prefix+e))}clear(){return this.provider.clear(),this}constructor(e,t){this.provider=e,this.prefix=Dd,t&&(this.prefix+=t)}static makeStorage(t=!1,n){let r;return t===`localStorage`||t===`sessionStorage`?wd(t)&&(r=new Td(Dd+(n||``),t)):t===!0&&wd(`localStorage`)&&(r=new Td(Dd+(n||``))),r||=new Ed,new e(r,n)}},kd=class e{constructor(e,t){this.provider=e,this.prefix=Dd,t&&(this.prefix+=t)}async set(e,t){return await(await this.provider).set(es(this.prefix+e),t),this}async delete(e){return await(await this.provider).delete(es(this.prefix+e)),this}async get(e){return(await this.provider).get(es(this.prefix+e))}async exists(e){return(await this.provider).exists(es(this.prefix+e))}async clear(){return await(await this.provider).clear(),this}async close(){let e=await this.provider;`close`in e&&typeof e.close==`function`&&await e.close()}static makeStorage(t=!1,n,r){let i,a=null,o=r?.defaultProvider;return o==null?(t===`localStorage`||t===`sessionStorage`?wd(t)&&(i=new Td(Dd+(n||``),t)):(t===`indexedDB`||t===!0)&&(i=Cd().then(e=>e?new bd(Dd+(n||``),`keyValueStore`):new Ed)),i||=new Ed,a=new e(Promise.resolve(i),n),a):(i=o===`local`?wd(`localStorage`)?new Td(Dd+(n||``)):new Ed:o===`memory`?new Ed:o,new e(Promise.resolve(i),n))}},Ad=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},jd=class extends xu{className(){return`UIMessage`}constructor(e,t){super(e),this.setMod(`active`,!0),this.setMod(`variant`,t.variant),this.container.textContent=t.text}};jd=Ad([Ws],jd);var Md=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nd=class extends Ou{className(){return`UIMessages`}constructor(e,t,n={defaultTimeout:3e3,defaultOffset:5}){super(e),this.__box=t,this.options=n,this.__messages=new Set}info(e,t){this.__message(e,`info`,t)}success(e,t){this.__message(e,`success`,t)}error(e,t){this.__message(e,`error`,t)}message(e,t,n){this.__message(e,t,n)}__message(e,t=`info`,n){let r=e+`:`+t;if(this.__messages.has(r)){this.async.updateTimeout(r,n||this.options.defaultTimeout);return}if(!this.__box)throw Error(`Container is not defined: `+r);this.__box.appendChild(this.container);let i=new jd(this.j,{text:e,variant:t});this.append(i),this.__calcOffsets(),this.__messages.add(r);let a=this.__getRemoveCallback(i,r);this.j.e.on(i.container,`pointerdown`,a),this.async.setTimeout(a,{label:r,timeout:n||this.options.defaultTimeout})}__getRemoveCallback(e,t){let n=r=>{r&&r.preventDefault(),!e.isInDestruct&&(this.async.clearTimeout(t),this.j.e.off(e.container,`pointerdown`,n),this.__messages.delete(t),e.setMod(`active`,!1),this.async.setTimeout(()=>{this.remove(e),e.destruct(),this.__calcOffsets()},300))};return n}__calcOffsets(){let e=5;
411this.elements.forEach(t=>{M(t.container,`bottom`,e+`px`),e+=t.container.offsetHeight+this.options.defaultOffset})}};Nd=Md([Ws],Nd);var Pd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fd,Id=Fd=class extends $l{constructor(e,t=!1){super(),this.isJodit=t,this.isView=!0,this.parent=null,this.mods={},this.components=new Set,this.OPTIONS=Fd.defaultOptions,this.__isFullSize=!1,this.__whoLocked=``,this.isLockedNotBy=e=>this.isLocked&&this.__whoLocked!==e,this.__modulesInstances=new Map,this.id=new Date().getTime().toString(),this.initOptions(e),this.initOwners(),this.events=e?.eventEmmiter??new Qs(this.od),this.create=new yd(this.od),this.__container=this.c.div(`jodit ${this.componentName}`)}get basePath(){return this.o.basePath?this.o.basePath:xo}get minified(){return this.o.minified===void 0?So:this.o.minified}get defaultTimeout(){return Mo(this.o.defaultTimeout)?100:this.o.defaultTimeout}get buffer(){return Od.makeStorage()}get message(){return this.getMessageModule(this.container)}getMessageModule(e){return new Nd(this,e)}get storage(){return Od.makeStorage(!0,this.id)}get asyncStorage(){return kd.makeStorage(!0,this.id,this.o.asyncStorage)}get c(){return this.create}get container(){return this.__container}set container(e){this.__container=e}get e(){return this.events}get progressbar(){return new vd(this)}get options(){return this.__options}set options(e){this.__options=e}get o(){return this.options}i18n(e,...t){return Xl(e,t,this.options)}toggleFullSize(e){e===void 0&&(e=!this.__isFullSize),e!==this.__isFullSize&&(this.__isFullSize=e,this.e.fire(`toggleFullSize`,e))}get isLocked(){return this.__whoLocked!==``}lock(e=`any`){return!this.isLocked&&(this.__whoLocked=e,!0)}unlock(){return this.isLocked?(this.__whoLocked=``,!0):!1}get isFullSize(){return this.__isFullSize}getVersion(){return Fd.version}static getVersion(){return Fd.version}initOptions(e){this.options=tl(e||{},tl(this.options||{},Fd.defaultOptions))}initOwners(){this.ownerWindow=this.o.ownerWindow??window}attachEvents(e){if(!e)return;let t=e?.events;t&&Object.keys(t).forEach(e=>this.e.on(e,t[e]))}getInstance(e,t){let n=k(e)?e.prototype.className():e,r=this.e.fire(es(`getInstance_`+n),t);if(r)return r;let i=k(e)?e:Dc[n],a=this.__modulesInstances;if(!k(i))throw cs(`Need real module name`);if(!a.has(n)){let e=i.prototype instanceof eu?new i(this,t):new i(t);this.components.add(e),a.set(n,e)}return a.get(n)}addDisclaimer(e){this.container.appendChild(e)}beforeDestruct(){this.e.fire(Oo.beforeDestruct,this),this.components.forEach(e=>{ks(e)&&!e.isInDestruct&&e.destruct()}),this.components.clear()}destruct(){var e,t,n,r;this.isDestructed||((e=Rs(this,`progressbar`))==null||e.destruct(),(t=Rs(this,`message`))==null||t.destruct(),(n=Rs(this,`asyncStorage`))==null||n.close(),this.events&&=(this.events.destruct(),void 0),(r=Rs(this,`buffer`))==null||r.clear(),P.safeRemove(this.container),super.destruct())}};Id.ES=Aa,Id.version=ka,Id.esNext=!0,Id.esModern=!0,Pd([zs],Id.prototype,`buffer`,null),Pd([zs],Id.prototype,`message`,null),Pd([zs],Id.prototype,`storage`,null),Pd([zs],Id.prototype,`asyncStorage`,null),Pd([zs],Id.prototype,`c`,null),Pd([zs],Id.prototype,`e`,null),Pd([zs],Id.prototype,`progressbar`,null),Pd([iu(Oo.beforeDestruct)],Id.prototype,`beforeDestruct`,null),Id=Fd=Pd([ru(_u,gu)],Id),Id.defaultOptions={extraButtons:[],cache:!0,textIcons:!1,namespace:``,removeButtons:[],zIndex:100002,defaultTimeout:100,fullsize:!1,showTooltip:!0,useNativeTooltip:!1,buttons:[],globalFullSize:!0,language:`auto`};function Ld(e,t){let n=Gs(`ToolbarCollection`),r=Gs(`ToolbarEditorCollection`),i=Ms(e)?new r(e):new n(e);return e.o.textIcons&&i.container.classList.add(`jodit_text_icons`),t&&(i.parentElement=t),e.o.toolbarButtonSize&&(i.buttonSize=e.o.toolbarButtonSize),i}function Rd(e,t,n=null){if(k(t.getContent))return new(Gs(`ToolbarContent`))(e,t,n
411);let r=new(Gs(`ToolbarButton`))(e,t,n);return r.state.tabIndex=e.o.allowTabNavigation?0:-1,r}function zd(e,t,n=null){return new(Gs(`ToolbarSelect`))(e,t,n)}var Bd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Vd=class extends Id{get toolbarContainer(){return!this.o.fullsize&&(j(this.o.toolbar)||P.isHTMLElement(this.o.toolbar))?Rc(this.o.toolbar,this.o.shadowRoot||this.od):(this.o.toolbar&&this.__appendToolbarBox(),this.__defaultToolbarContainer)}__appendToolbarBox(){let e=this.__defaultToolbarContainer,t=this.container.firstElementChild;for(;t&&t!==e&&t.hasAttribute(`data-jodit-above-toolbar`);)t=t.nextElementSibling;t!==e&&this.container.insertBefore(e,t)}setPanel(e){this.o.toolbar=e,this.buildToolbar()}buildToolbar(){var e;if(!this.o.toolbar)return;let t=this.o.buttons?Ys(this.o.buttons):[];(e=this.toolbar)==null||e.setRemoveButtons(this.o.removeButtons).build(t.concat(this.o.extraButtons||[])).appendTo(this.toolbarContainer)}getRegisteredButtonGroups(){return this.groupToButtons}registerButton(e){this.registeredButtons.add(e);let t=e.group??`other`;return this.groupToButtons[t]||(this.groupToButtons[t]=[]),e.position==null?this.groupToButtons[t].push(e.name):this.groupToButtons[t][e.position]=e.name,this}unregisterButton(e){this.registeredButtons.delete(e);let t=e.group??`other`,n=this.groupToButtons[t];if(n){let r=n.indexOf(e.name);r!==-1&&n.splice(r,1),n.length===0&&delete this.groupToButtons[t]}return this}beforeToolbarBuild(e){if(Object.keys(this.groupToButtons).length)return e.map(e=>cd(e)&&e.group&&this.groupToButtons[e.group]?{group:e.group,buttons:[...e.buttons,...this.groupToButtons[e.group]]}:e)}constructor(e,t=!1){super(e,t),this.toolbar=Ld(this),this.__defaultToolbarContainer=this.c.div(`jodit-toolbar__box`),this.registeredButtons=new Set,this.groupToButtons={},this.isJodit=!1,this.__tooltip=new Fu(this),this.isJodit=t,this.e.on(`beforeToolbarBuild`,this.beforeToolbarBuild)}destruct(){this.isDestructed||(this.setStatus(Oo.beforeDestruct),this.e.off(`beforeToolbarBuild`,this.beforeToolbarBuild),this.__tooltip.destruct(),this.toolbar.destruct(),this.toolbar=void 0,super.destruct())}};Bd([I(`:rebuildToolbar`)],Vd.prototype,`buildToolbar`,null),Bd([A],Vd.prototype,`beforeToolbarBuild`,null);var Hd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ud;F.prototype.dialog={namespace:``,extraButtons:[],resizable:!0,draggable:!0,buttons:[`dialog.close`],removeButtons:[],toolbarButtonSize:`middle`,zIndex:`inherit`},F.prototype.controls.dialog={close:{icon:`cancel`,exec:e=>{e.close()}}};var Wd=Ud=class extends Vd{className(){return`Dialog`}get destination(){let{popupRoot:e,shadowRoot:t}=this.o;return e||t||this.od.body}setElements(e,t){let n=[];Nc(t).forEach(t=>{if(Ao(t)){let r=this.c.div(this.getFullElName(`column`));return n.push(r),e.appendChild(r),this.setElements(r,t)}let r;r=j(t)?this.c.fromHTML(t):As(t)?t.container:t,n.push(r),r.parentNode!==e&&e.appendChild(r)}),Io(e.childNodes).forEach(t=>{n.indexOf(t)===-1&&e.removeChild(t)})}__onMouseUp(){(this.draggable||this.resizable)&&(this.__removeGlobalResizeListeners(),this.draggable=!1,this.resizable=!1,this.unlockSelect(),this.e&&(this.__removeGlobalResizeListeners(),this.e.fire(this,`endResize endMove`)))}__onHeaderMouseDown(e){let t=e.target;!this.o.draggable||t&&t.nodeName.match(/^(INPUT|SELECT)$/)||(this.draggable=!0,this.startX=e.clientX,this.startY=e.clientY,this.startPoint.x=M(this.dialog,`left`),this.startPoint.y=M(this.dialog,`top`),this.setMaxZIndex(),e.cancelable&&e.preventDefault(),this.lockSelect(),this.__addGlobalResizeListeners(),this.e&&(this.e.fire(this,`startMove`),this.e.fire(`closeAllPopups`)))}__onMouseMove(e){this.draggable&&this.o.draggable&&(this.setPosition(this.startPoint.x+e.clientX-this.startX,this.startPoint.y+e.clientY-this.startY),this.e&&this.e.fire(this,`move`,e.clientX-this.startX,e.clientY-this.startY),e.stopImmediatePropagation()),this.resizable&&this.o.resizable&&(this.setSize(Math.max(this.startPoint.w+e.clientX-this.startX,this.minSize.w),Math.max(this.startPoint.h+e.clientY-this.startY,this.minSize.h)),this.e&&this.e.fire(this,`resizeDialog`,e.clientX-this.startX,e.clientY-this.startY))}__onEsc(e){if(this.o.closeOnEsc&&this.isOpened&&e.key===`Escape`&&this.getMod(`static`)!==!0){let t=this.getMaxZIndexDialog();t?t.close():this.close(),e.stopImmediatePropagation()}}__onResizerMouseDown(e){this.resizable=!0,this.startX=e.clientX,this.startY=e.clientY,this.startPoint.w=this.dialog.offsetWidth,this.startPoint.h=this.dialog.offsetHeight;let t=this.getElm(`header`),n=this.getElm(`footer`),r=this.getElm(`content`),i=r&&parseFloat(this.ow.getComputedStyle(r).minHeight)||0;this.minSize.w=Fs(this.o.minWidth)?this.o.minWidth:Math.max(100,n?.scrollWidth??0),this.minSize.h=Fs(this.o.minHeight)?this.o.minHeight:(t?.offsetHeight??0)+(n?.offsetHeight??0)+i+this.resizer.offsetHeight,this.lockSelect(),this.__addGlobalResizeListeners(),this.e&&this.e.fire(this,`startResize`)}__addGlobalResizeListeners(){let e=this;e.e.on(e.ow,`pointermove touchmove`,e.__onMouseMove).on(e.ow,`pointerup touchend`,e.__onMouseUp)}__removeGlobalResizeListeners(){let e=this;e.e.off(e.ow,`mousemove pointermove`,e.__onMouseMove).off(e.ow,`mouseup pointerup`,e.__onMouseUp)}setSize(e,t){return e??=this.dialog.offsetWidth,t??=this.dialog.offsetHeight,M(this.dialog,{width:e,height:t}),this}calcAutoSize(){return this.setSize(`auto`,`auto`),this.setSize(),this}setPosition(e,t){let n=this.ow.innerWidth,r=this.ow.innerHeight,i=n/2-this.dialog.offsetWidth/2,a=r/2-this.dialog.offsetHeight/2;return i<0&&(i=0),a<0&&(a=0),e!==void 0&&t!==void 0&&(this.offsetX=e,this.offsetY=t,this.moved=Math.abs(e-i)>100||Math.abs(t-a)>100),this.dialog.style.left=(e||i)+`px`,this.dialog.style.top=(t||a)+`px`,this}setHeader(e){return this.setElements(this.dialogbox_header,e),this}setContent(e){return this.setElements(this.dialogbox_content,e),this}setFooter(e){return this.setElements(this.dialogbox_footer,e),this.setMod(`footer`,!!e),this}getZIndex(){return parseInt(M(this.container,`zIndex`),10)||0}
411getMaxZIndexDialog(){let e=0,t,n,r=this;return Pc(`.jodit-dialog`,this.destination).forEach(i=>{t=i.component,n=parseInt(M(i,`zIndex`),10),t.isOpened&&!isNaN(n)&&n>e&&(r=t,e=n)}),r}setMaxZIndex(){if(this.getMod(`static`))return;let e=20000004,t=0;Pc(`.jodit-dialog`,this.destination).forEach(n=>{t=parseInt(M(n,`zIndex`),10),e=Math.max(isNaN(t)?0:t,e)}),this.container.style.zIndex=(e+1).toString()}toggleFullSize(e){Mo(e)&&(e=!this.getMod(`fullsize`)),this.setMod(`fullsize`,e),super.toggleFullSize(e)}open(e,t,n,r){if(Mc.fire(`closeAllPopups hideHelpers`),this.e.fire(this,`beforeOpen`)===!1)return this;Jo(e)&&(n=e),Jo(t)&&(r=t),this.destroyAfterClose=n===!0;let i=Jo(e)?void 0:e,a=Jo(t)?void 0:t;return a!==void 0&&this.setHeader(a),i&&this.setContent(i),this.setMod(`active`,!0),this.isOpened=!0,this.setModal(r),this.destination.appendChild(this.container),this.getMod(`static`)===!0?this.container.style.removeProperty(`z-index`):(this.setPosition(this.offsetX,this.offsetY),this.setMaxZIndex()),this.o.fullsize&&this.toggleFullSize(!0),this.e.fire(`afterOpen`,this),this}setModal(e){return this.isModal=!!e,this.setMod(`modal`,this.isModal),this}close(){if(this.isDestructed||!this.isOpened||this.getMod(`static`)===!0)return this;let{e}=this;return e.fire(this,`beforeClose`)===!1||e.fire(`beforeClose`,this)===!1?this:(this.setMod(`active`,!1),this.isOpened=!1,this.isFullSize&&this.toggleFullSize(!1),P.safeRemove(this.container),this.__removeGlobalResizeListeners(),e.fire(this,`afterClose`),this.isInDestruct||e.fire(this.ow,`joditCloseDialog`),this.destroyAfterClose&&this.destruct(),this)}constructor(e={}){super(e),this.destroyAfterClose=!1,this.moved=!1,this.resizable=!1,this.draggable=!1,this.startX=0,this.startY=0,this.startPoint={x:0,y:0,w:0,h:0},this.lockSelect=()=>{this.setMod(`moved`,!0)},this.unlockSelect=()=>{this.setMod(`moved`,!1)},this.__onResize=()=>{this.options&&this.o.resizable&&!this.moved&&this.isOpened&&!this.offsetX&&!this.offsetY&&this.setPosition()},this.minSize={w:0,h:0},this.isModal=!1,this.isOpened=!1;let t=this;t.options=tl(e,tl(F.prototype.dialog,Ud.defaultOptions)),t.attachEvents(t.options),P.safeRemove(t.container);let n=this.getFullElName.bind(this);t.container=this.c.fromHTML(`<div class="jodit jodit-dialog ${this.componentName}">
412				<div class="${n(`overlay`)}"></div>
413				<div class="${this.getFullElName(`panel`)}">
414					<div class="${n(`header`)}">
415						<div class="${n(`header-title`)}"></div>
416						<div class="${n(`header-toolbar`)}"></div>
417					</div>
418					<div class="${n(`content`)}"></div>
419					<div class="${n(`footer`)}"></div>
420					<div class="${n(`resizer`)}">${vu.get(`resize_handler`)}</div>
421				</div>
422			</div>`),t.options.direction===`rtl`&&(t.container.style.direction=`rtl`,t.container.setAttribute(`dir`,`rtl`)),this.o.zIndex&&(this.container.style.zIndex=this.o.zIndex.toString()),N(t.container,`role`,`dialog`),Object.defineProperty(t.container,"component",{value:this}),t.setMod(`theme`,t.o.theme||`default`).setMod(`resizable`,!!t.o.resizable);let r=t.getElm(`panel`);Uo(r!=null,`Panel element does not exist`);let i=t.getElm(`resizer`);Uo(i!=null,`Resizer element does not exist`);let a=t.getElm(`header-title`);Uo(a!=null,`header-title element does not exist`);let o=t.getElm(`content`);Uo(o!=null,`Content element does not exist`);let s=t.getElm(`footer`);Uo(s!=null,`Footer element does not exist`);let c=t.getElm(`header-toolbar`);Uo(c!=null,`header-toolbar element does not exist`),this.dialog=r,this.resizer=i,this.dialogbox_header=a,this.dialogbox_content=o,this.dialogbox_footer=s,this.dialogbox_toolbar=c,M(t.dialog,{maxWidth:t.options.maxWidth,minHeight:t.options.minHeight,minWidth:t.options.minWidth});let l=t.getElm(`header`);l&&t.e.on(l,`pointerdown touchstart`,t.__onHeaderMouseDown),t.e.on(t.resizer,`mousedown touchstart`,t.__onResizerMouseDown);let u=Ec.get(`fullsize`);if(k(u)&&u(t),this.e.on(t.container,`close_dialog`,t.close).on(this.ow,`keydown`,this.__onEsc).on(this.ow,`resize`,this.__onResize),this.o.closeOnClickOverlay){let e=t.getElm(`overlay`);Uo(e!=null,`Overlay element does not exist`),this.e.on(e,`click`,t.close)}}buildToolbar(){this.o.buttons&&this.toolbar.build(Ys(this.o.buttons)).setMod(`mode`,`header`).appendTo(this.dialogbox_toolbar)}destruct(){this.isInDestruct||(this.setStatus(Oo.beforeDestruct),this.isOpened&&this.close(),this.events&&(this.__removeGlobalResizeListeners(),this.events.off(this.container,`close_dialog`,self.close).off(this.ow,`key
422down`,this.__onEsc).off(this.ow,`resize`,this.__onResize)),super.destruct())}};Wd.defaultOptions={...Id.defaultOptions,closeOnClickOverlay:!1,closeOnEsc:!0},Hd([A],Wd.prototype,`__onMouseUp`,null),Hd([A],Wd.prototype,`__onHeaderMouseDown`,null),Hd([A],Wd.prototype,`__onMouseMove`,null),Hd([A],Wd.prototype,`__onEsc`,null),Hd([A],Wd.prototype,`__onResizerMouseDown`,null),Hd([A],Wd.prototype,`close`,null),Hd([iu(`ready`)],Wd.prototype,`buildToolbar`,null),Wd=Ud=Hd([Ws],Wd);function Gd(e,t,n,r=`jodit-dialog_alert`){k(t)&&(n=t,t=void 0);let i=this instanceof Wd?this:new Wd({closeOnClickOverlay:!0}),a=i.c.div(r),o=Tu(i,`ok`,`Ok`);return Nc(e).forEach(e=>{a.appendChild(P.isNode(e)?e:i.c.fromHTML(e))}),o.onAction(()=>{(!n||!k(n)||n(i)!==!1)&&i.close()}),i.setFooter([o]),i.open(a,t||`&nbsp;`,!0,!0),o.focus(),i}function Kd(e,t,n){let r=this instanceof Wd?this:new Wd({closeOnClickOverlay:!0}),i=r.c.fromHTML(`<form class="jodit-dialog_prompt"></form>`),a=r.c.element(`label`);k(t)&&(n=t,t=void 0),a.appendChild(r.c.fromHTML(e)),i.appendChild(a);let o=e=>()=>{(!n||n(e)!==!1)&&r.close()},s=Tu(r,`cancel`,`Cancel`),c=Tu(r,`ok`,`Yes`);return s.onAction(o(!1)),c.onAction(o(!0)),r.e.on(i,`submit`,()=>(o(!0)(),!1)),r.setFooter([c,s]),r.open(i,t||`&nbsp;`,!0,!0),c.focus(),r}function qd(e,t,n,r,i){let a=this instanceof Wd?this:new Wd({closeOnClickOverlay:!0}),o=Tu(a,`cancel`,`Cancel`),s=Tu(a,`ok`,`Ok`),c=a.c.element(`form`,{class:`jodit-dialog_prompt`}
422),l=a.c.element(`input`,{autofocus:!0,class:`jodit-input`}),u=a.c.element(`label`);k(t)&&(n=t,t=void 0),r&&N(l,`placeholder`,r),u.appendChild(a.c.text(e)),c.appendChild(u),c.appendChild(l),o.onAction(a.close);let d=()=>{(!n||!k(n)||n(l.value)!==!1)&&a.close()};return s.onAction(d),a.e.on(c,`submit`,()=>(d(),!1)),a.setFooter([s,o]),a.open(c,t||`&nbsp;`,!0,!0),l.focus(),i!==void 0&&i.length&&(l.value=i,l.select()),a}var Jd=class{dlg(e){let t=jc(this.o,this.container,this.od.body),n=new Wd({language:this.o.language,shadowRoot:this.o.shadowRoot,popupRoot:t,ownerWindow:this.o.ownerWindow,defaultTimeout:this.o.defaultTimeout,direction:this.o.direction,theme:this.o.theme,globalFullSize:this.o.globalFullSize,...e});return ms(this,n.container),n.parent=this,n.bindDestruct(this)}confirm(e,t,n){return e=Yd(e,this),t=Yd(t,this),Kd.call(this.dlg({closeOnClickOverlay:!0}),e,t,n)}prompt(e,t,n,r,i){return e=Yd(e,this),t=Yd(t,this),r=Yd(r,this),qd.call(this.dlg({closeOnClickOverlay:!0}),e,t,n,r,i)}alert(e,t,n,r){return e=Yd(e,this),t=Yd(t,this),Gd.call(this.dlg({closeOnClickOverlay:!0}),e,t,n,r)}};function Yd(e,t){return j(e)&&!Lo(e)&&(e=t.i18n(e)),e}var Xd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Zd=class extends _d{className(){return`ContextMenu`}show(e,t,n){let r=this;r.clear(),Ao(n)&&(n.forEach(e=>{if(!e)return;let t=Tu(this.jodit,e.icon||`empty`,e.title);this.jodit&&t.setParentView(this.jodit),t.setMod(`context`,`menu`),t.onAction(t=>{var n;return(n=e.exec)==null||n.call(r,t),r.clear(),r.close(),!1}),this.append(t)}),this.open(()=>({left:e,top:t,width:0,height:0}),!0))}};Zd=Xd([Ws],Zd),F.prototype.filebrowser={namespace:``,cache:!0,extraButtons:[],filter(e,t){return t=t.toLowerCase(),j(e)?e.toLowerCase().indexOf(t)!==-1:j(e.name)?e.name.toLowerCase().indexOf(t)!==-1:!j(e.file)||e.file.toLowerCase().indexOf(t)!==-1},sortBy:`changed-desc`,sort(e,t,n){let[r,i]=n.toLowerCase().split(`-`),a=i===`asc`,o=(e,t)=>e<t?a?-1:1:e>t?a?1:-1:0;if(j(e))return o(e.toLowerCase(),t.toLowerCase());if(e[r]===void 0||r===`name`)return j(e.name)?o(e.name.toLowerCase(),t.name.toLowerCase()):j(e.file)?o(e.file.toLowerCase(),t.file.toLowerCase()):0;switch(r){case`changed`:{let n=new Date(e.changed).getTime(),r=new Date(t.changed).getTime();return a?n-r:r-n}case`size`:{let n=ll(e.size),r=ll(t.size);return a?n-r:r-n}}return 0},editImage:!0,preview:!0,showPreviewNavigation:!0,showSelectButtonInPreview:!0,contextMenu:!0,howLongShowMsg:3e3,createNewFolder:!0,deleteFolder:!0,renameFolder:!0,moveFolder:!0,moveFile:!0,permissionsPresets:{allowFileDownload:void 0,allowFileMove:void 0,allowFileRemove:void 0,allowFileRename:void 0,allowFileUpload:void 0,allowFileUploadRemote:void 0,allowFiles:void 0,allowFolderCreate:void 0,allowFolderMove:void 0,allowFolderRemove:void 0,allowFolderRename:void 0,allowFolderTree:void 0,allowFolders:void 0,allowGeneratePdf:void 0,allowImageCrop:void 0,allowImageResize:void 0},showFoldersPanel:!0,storeLastOpenedFolder:!0,width:859,height:400,buttons:[`filebrowser.upload`,`filebrowser.remove`,`filebrowser.update`,`filebrowser.select`,`filebrowser.edit`,`|`,`filebrowser.tiles`,`filebrowser.list`,`|`,`filebrowser.filter`,`|`,`filebrowser.sort`],removeButtons:[],fullsize:!1,showTooltip:!0,view:null,isSuccess(e){return e.success},getMessage(e){return e.data.messages!==void 0&&Ao(e.data.messages)?e.data.messages.join(` `):``},showFileName:!0,showFileSize:!0,showFileChangeTime:!0,saveStateInStorage:{storeLastOpenedFolder:!0,storeView:!0,storeSortBy:!0},pixelOffsetLoadNewChunk:200,getThumbTemplate(e,t,n){let r=this.options,i=this.files.getFullElName(`item`),a=r.showFileName,o=r.showFileSize&&e.size,s=r.showFileChangeTime&&e.time,c=``;e.file!==void 0&&(c=e.file);let l=`<div class="${i}-info">${a?`<span class="${i}-info-filename">${c}</span>`:``}${o?`<span class="${i}-info-filesize">${e.size}</span>`:``}${s?`<span class="${i}-info-filechanged">${s}</span>`:``}</div>`;return`<a
423			data-jodit-file-browser-item="true"
424			data-is-file="${+!e.isImage}"
425			draggable="true"
426			class="${i}"
427			href="${e.fileURL}"
428			data-source="${n}"
429			data-path="${e.path}"
430			data-name="${c}"
431			title="${c}"
432			data-url="${e.fileURL}">
433				<img
434					data-is-file="${+!e.isImage}"
435					data-src="${e.fileURL}"
436					src="${e.imageURL}"
437					alt="${c}"
438					loading="lazy"
439				/>
440				${a||o||s?l:``}
441			</a>`},ajax:{...F.prototype.defaultAjaxOptions,url:``,data:{},cache:!0,contentType:`application/x-www-form-urlencoded; charset=UTF-8`,method:`POST`,processData:!0,headers:{},prepareData(e){return e},process(e){return e}},create:{data:{action:`folderCreate`}},getLocalFileByUrl:{data:{action:`getLocalFileByUrl`}},resize:{data:{action:`imageResize`}},crop:{data:{action:`imageCrop`}},fileMove:{data:{action:`fileMove`}},folderMove:{data:{action:`folderMove`}},fileRename:{data:{action:`fileRename`}},folderRename:{data:{action:`folderRename`}},fileRemove:{data:{action:`fileRemove`}},folderRemove:{data:{action:`folderRemove`}},items:{data:{action:`files`}},folder:{data:{action:`folders`}},permissions:{data:{action:`permissions`}}},F.prototype.controls.filebrowser={upload:{icon:`plus`,tooltip:`Upload file`,isInput:!0,isDisabled:e=>!e.dataProvider.canI(`FileUpload`),getContent:(e,t)=>
441{let n=new rd(e,{tooltip:t.control.tooltip,onlyImages:e.state.onlyImages});return e.e.fire(`bindUploader.filebrowser`,n.container),n.container}},remove:{icon:`bin`,tooltip:`Remove file`,isDisabled:e=>!e.state.activeElements.length||!e.dataProvider.canI(`FileRemove`),exec:e=>{e.e.fire(`fileRemove.filebrowser`)}},update:{tooltip:`Update file list`,exec:e=>{e.e.fire(`update.filebrowser`)}},select:{tooltip:`Select file`,icon:`check`,isDisabled:e=>!e.state.activeElements.length,exec:e=>{e.e.fire(`select.filebrowser`)}},edit:{tooltip:`Edit image`,icon:`pencil`,isDisabled:e=>{let t=e.state.activeElements;return t.length!==1||!t[0].isImage||!(e.dataProvider.canI(`ImageCrop`)||e.dataProvider.canI(`ImageResize`))},exec:e=>{e.e.fire(`edit.filebrowser`)}},tiles:{tooltip:`Tiles view`,icon:`th`,isActive:e=>e.state.view===`tiles`,exec:e=>{e.e.fire(`view.filebrowser`,`tiles`)}},list:{tooltip:`List view`,icon:`th-list`,isActive:e=>e.state.view===`list`,exec:e=>{e.e.fire(`view.filebrowser`,`list`)}},filter:{isInput:!0,getContent:(e,t)=>
441{let n=t.container.querySelector(`.jodit-input`);if(n)return n;let r=e.c.element(`input`,{class:`jodit-input`,placeholder:e.i18n(`Filter`)});return r.value=e.state.filterWord,e.e.on(r,`keydown mousedown`,e.async.debounce(()=>{e.e.fire(`filter.filebrowser`,r.value)},e.defaultTimeout)),r}},sort:{isInput:!0,getContent:e=>{let t=e.c.fromHTML(`<select class="jodit-input jodit-select"><option value="changed-asc">${e.i18n(`Sort by changed`)} (⬆)</option><option value="changed-desc">${e.i18n(`Sort by changed`)} (⬇)</option><option value="name-asc">${e.i18n(`Sort by name`)} (⬆)</option><option value="name-desc">${e.i18n(`Sort by name`)} (⬇)</option><option value="size-asc">${e.i18n(`Sort by size`)} (⬆)</option><option value="size-desc">${e.i18n(`Sort by size`)} (⬇)</option></select>`);return t.value=e.state.sortBy,e.e.on(`sort.filebrowser`,e=>{t.value!==e&&(t.value=e)}).on(t,`change`,()=>{e.e.fire(`sort.filebrowser`,t.value)}),t}}};function Qd(e){return e.files.setMod(`active`,!0),e.files.setMod(`loading`,!0),e.dataProvider.items(e.state.currentPath,e.state.currentSource,{sortBy:e.state.sortBy,onlyImages:e.state.onlyImages,filterWord:e.state.filterWord}).then(t=>{t&&(e.state.elements=t,e.state.activeElements=[])}).catch(e.status).finally(()=>e.files.setMod(`loading`,!1))}async function $d(e){e.tree.setMod(`active`,!0),P.detach(e.tree.container);let t=Qd(e);if(e.o.showFoldersPanel){e.tree.setMod(`loading`,!0);let n=e.dataProvider.tree(e.state.currentPath,e.state.currentSource).then(t=>{e.state.sources=t}).catch(e.status).finally(()=>e.tree.setMod(`loading`,!1));return Promise.all([n,t])}return e.tree.setMod(`active`,!1),t}var ef=new WeakMap,tf=e=>{let t=ef.get(e);return t||(t={},ef.set(e,t)),t},nf=(e,t,n=`a`)=>P.closest(e,e=>P.isTag(e,n),t),rf=(e,t)=>{let{key:n}=e.dataset,{item:r}=t[n||``];return r},af=class e{constructor(e){this.data=e,Object.keys(e).forEach(t=>{this[t]=e[t]})}static create(t){return t instanceof e?t:new e(t)}get path(){return Fl(this.data.source.path?this.data.source.path+`/`:`/`)}get imageURL(){let e=this.time||new Date().getTime().toString(),{thumbIsAbsolute:t,source:n,thumb:r,file:i}=this.data,a=r||i;return t&&a?a:Rl(n.baseurl,n.path,a||``)+`?_tmst=`+encodeURIComponent(e)}get fileURL(){let{name:e}=this.data,{file:t,fileIsAbsolute:n,source:r}=this.data;return t!==void 0&&(e=t),n&&e?e:Rl(r.baseurl,r.path,e||``)}get time(){let{changed:e}=this.data;return e&&(typeof e==`number`?new Date(e).toLocaleString():e)||``}get uniqueHashKey(){let e=this.data,t=[e.sourceName,e.name,e.file,this.time,e.thumb].join(`_`);return t=t.toLowerCase().replace(/[^0-9a-z\-.]/g,`-`),t}toJSON(){return this.data}},of=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sf=`default`,cf=class{constructor(e,t){this.parent=e,this.options=t,this.__currentPermissions=null,this.__ajaxInstances=new Map,this.progressHandler=e=>{}}get o(){return this.options}get(e){let t=this.__ajaxInstances;t.has(e)&&(t.get(e)?.abort(),t.delete(e));let n=tl(this.options[e]===void 0?{}:this.options[e],tl({onProgress:this.progressHandler},this.o.ajax));n.prepareData&&(n.data=n.prepareData.call(this,n.data));let r=new hu(n);t.set(e,r);let i=r.send();return i.finally(()=>{r.destruct(),t.delete(e),this.progressHandler(100)}).catch(()=>null),i.then(e=>e.json()).then(e=>{if(e&&!this.isSuccess(e))throw Error(this.getMessage(e));return e})}onProgress(e){this.progressHandler=e}async permissions(e,t){return this.o.permissions?(this.o.permissions.data.path=e,this.o.permissions.data.source=t,this.o.permissions.url?this.get(`permissions`).then(e=>{if(this.parent.isInDestruct)throw as();let t=this.o.permissions.process;if(t||=this.o.ajax.process,t){let n=t.call(self,e);n.data.permissions&&(this.parent.events.fire(this,`changePermissions`,this.__currentPermissions,n.data.permissions),this.__currentPermissions=n.data.permissions)}return this.__currentPermissions}):null):null}canI(e){let t=`allow`+e,n=this.o.permissionsPresets[t];return n===void 0?this.__currentPermissions==null||this.__currentPermissions[t]===void 0||this.__currentPermissions[t]:n}__items(e,t,n,r){let i=this.options;return i.items?(i.items.data.path=e,i.items.data.source=t,i.items.data.mods=n,this.get(`items`).then(e=>{let t=this.o.items.process;return t||=this.o.ajax.process,t&&(e=t.call(self,e)),r(e)})):Promise.reject(Error(`Set Items api options`))}items(e,t,n={}){return this.__items(e,t,n,e=>this.__generateItemsList(e.data.sources,n))}itemsEx(e,t,n={}){let r=e=>e.reduce((e,t)=>
441e+t.files.length,0);return this.__items(e,t,n,e=>({items:this.__generateItemsList(e.data.sources,n),loadedTotal:r(e.data.sources)}))}__generateItemsList(e,t={}){let n=[],r=e=>e.type===`folder`||!t.onlyImages||e.isImage===void 0||e.isImage,i=e=>!t.filterWord?.length||this.o.filter===void 0||this.o.filter(e,t.filterWord);return e.forEach(e=>{if(e.files&&e.files.length){let{sort:a}=this.o;k(a)&&t.sortBy&&e.files.sort((e,n)=>a(e,n,t.sortBy)),e.files.forEach(t=>{i(t)&&r(t)&&n.push(af.create({...t,sourceName:e.name,source:e}))})}}),n}async tree(e,t){return e=Il(e),this.o.folder?(await this.permissions(e,t),this.o.folder.data.path=e,this.o.folder.data.source=t,this.get(`folder`).then(e=>{let t=this.o.folder.process;return t||=this.o.ajax.process,t&&(e=t.call(self,e)),e.data.sources})):Promise.reject(Error(`Set Folder Api options`))}getPathByUrl(e){return gl(`options.getLocalFileByUrl.data.url`,e,this),this.get(`getLocalFileByUrl`).then(e=>{if(this.isSuccess(e))return e.data;throw cs(this.getMessage(e))})}createFolder(e,t,n){let{create:r}=this.o;if(!r)throw cs(`Set Create api options`);return r.data.source=n,r.data.path=t,r.data.name=e,this.get(`create`).then(e=>{if(this.isSuccess(e))return!0;throw cs(this.getMessage(e))})}move(e,t,n,r){let i=r?`fileMove`:`folderMove`,a=this.options[i];if(!a)throw cs(`Set Move api options`);return a.data.from=e,a.data.path=t,a.data.source=n,this.get(i).then(e=>{if(this.isSuccess(e))return!0;throw cs(this.getMessage(e))})}__remove(e,t,n,r){let i=this.o[e];if(!i)throw cs(`Set "${e}" api options`);return i.data.path=t,i.data.name=n,i.data.source=r,this.get(e).then(e=>(i.process&&(e=i.process.call(this,e)),this.getMessage(e)))}fileRemove(e,t,n){return this.__remove(`fileRemove`,e,t,n)}folderRemove(e,t,n){return this.__remove(`folderRemove`,e,t,n)}__rename(e,t,n,r,i){let a=this.o[e];if(!a)throw cs(`Set "${e}" api options`);return a.data.path=t,a.data.name=n,a.data.newname=r,a.data.source=i,this.get(e).then(e=>(a.process&&(e=a.process.call(self,e)),this.getMessage(e)))}folderRename(e,t,n,r){return this.__rename(`folderRename`,e,t,n,r)}fileRename(e,t,n,r){return this.__rename(`fileRename`,e,t,n,r)}__changeImage(e,t,n,r,i,a){this.o[e]||(this.o[e]={data:{}});let o=this.o[e];return o.data===void 0&&(o.data={action:e}),o.data.newname=i||r,a&&(o.data.box=a),o.data.path=t,o.data.name=r,o.data.source=n,this.get(e).then(e=>e.data.newPath||!0)}crop(e,t,n,r,i){return this.__changeImage(`crop`,e,t,n,r,i)}resize(e,t,n,r,i){return this.__changeImage(`resize`,e,t,n,r,i)}getMessage(e){return this.options.getMessage(e)}isSuccess(e){return this.options.isSuccess(e)}destruct(){this.__ajaxInstances.forEach(e=>e.destruct()),this.__ajaxInstances.clear()}};of([A],cf.prototype,`onProgress`,null),of([A],cf.prototype,`permissions`,null),of([A],cf.prototype,`canI`,null),of([A],cf.prototype,`items`,null),of([A],cf.prototype,`itemsEx`,null),of([A],cf.prototype,`tree`,null),of([A],cf.prototype,`getPathByUrl`,null),of([A],cf.prototype,`createFolder`,null),of([A],cf.prototype,`move`,null),of([A],cf.prototype,`fileRemove`,null),of([A],cf.prototype,`folderRemove`,null),of([A],cf.prototype,`folderRename`,null),of([A],cf.prototype,`fileRename`,null),of([A],cf.prototype,`crop`,null),of([A],cf.prototype,`resize`,null),of([A],cf.prototype,`getMessage`,null),of([A],cf.prototype,`isSuccess`,null),of([A],cf.prototype,`destruct`,null);function lf(e,t){return new cf(e,t)}function uf(e){return new Zd(e)}function df(e,t,n){return e.dataProvider.fileRemove(e.state.currentPath,t,n).then(n=>{e.status(n||e.i18n(`File "%s" was deleted`,t),!0)}).catch(e.status)}var ff=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M621 1280h595v-595zm-45-45l595-595h-595v595zm1152 77v192q0 14-9 23t-23 9h-224v224q0 14-9 23t-23 9h-192q-14 0-23-9t-9-23v-224h-864q-14 0-23-9t-9-23v-864h-224q-14 0-23-9t-9-23v-192q0-14 9-23t23-9h224v-224q0-14 9-23t23-9h192q14 0 23 9t9 23v224h851l246-247q10-9 23-9t23 9q9 10 9 23t-9 23l-247 246v851h224q14 0 23 9t9 23z"/> </svg> `,pf=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 24 24"> <g transform="translate(-251.000000, -443.000000)"> <g transform="translate(215.000000, 119.000000)"/> <path d="M252,448 L256,448 L256,444 L252,444 L252,448 Z M257,448 L269,448 L269,446 L257,446 L257,448 Z M257,464 L269,464 L269,462 L257,462 L257,464 Z M270,444 L270,448 L274,448 L274,444 L270,444 Z M252,462 L252,466 L256,466 L256,462 L252,462 Z M270,462 L270,466 L274,466 L274,462 L270,462 Z M254,461 L256,461 L256,449 L254,449 L254,461 Z M270,461 L272,461 L272,449 L270,449 L270,461 Z"/> </g> </svg> `;F.prototype.imageeditor={min_width:20,min_height:20,closeAfterSave:!1,width:`85%`,height:`85%`,crop:!0,resize:!0,resizeUseRatio:!0,resizeMinWidth:20,resizeMinHeight:20,cropUseRatio:!0,cropDefaultWidth:`70%`,cropDefaultHeight:`70%`},vu.set(`crop`,ff).set(`resize`,pf);var mf=`jodit-image-editor`,hf=vu.get.bind(vu),gf=(e,t=`jodti-image-editor_active`)=>e?t:``,_f=(e,t)=>{let n=e.i18n.bind(e),r=(e,t,r=!0)=>`<div class="jodit-form__group">
442			<label class="jodit-switcher-wrapper">
443				<span class='jodit-switcher'>
444					<input ${gf(r,`checked`)} data-ref="${t}" type="checkbox"/>
445					<span class="jodit-switcher__slider"></span>
446				</span>
447				<span>${n(e)}</span>
448			</label>
449	</div>`;return e.create.fromHTML(`<form class="${mf} jodit-properties">
450		<div class="jodit-grid jodit-grid_xs-column">
451			<div class="jodit_col-lg-3-4 jodit_col-sm-5-5">
452			${t.resize?`<div class="${mf}__area ${mf}__area_resize ${mf}_active">
453							<div data-ref="resizeBox" class="${mf}__box"></div>
454							<div class="${mf}__resizer">
455								<i class="jodit_bottomright"></i>
456							</div>
457						</div>`:``}
458			${t.crop?`<div class="${mf}__area ${mf}__area_crop ${gf(!t.resize)}">
459							<div data-ref="cropBox" class="${mf}__box">
460								<div class="${mf}__croper">
461									<i class="jodit_bottomright"></i>
462									<i class="${mf}__sizes"></i>
463								</div>
464							</div>
465						</div>`:``}
466			</div>
467			<div class="jodit_col-lg-1-4 jodit_col-sm-5-5">
468			${t.resize?`<div data-area="resize" class="${mf}__slider ${mf}_active">
469							<div class="${mf}__slider-title">
470								${hf(`resize`)}
471								${n(`Resize`)}
472							</div>
473							<div class="${mf}__slider-content">
474								<div class="jodit-form__group">
475									<label>
476										${n(`Width`)}
477									</label>
478									<input type="number" data-ref="widthInput" class="jodit-input"/>
479								</div>
480								<div class="jodit-form__group">
481									<label>
482										${n(`Height`)}
483									</label>
484									<input type="number" data-ref="heightInput" class="jodit-input"/>
485								</div>
486								${r(`Keep Aspect Ratio`,`keepAspectRatioResize`)}
487							</div>
488						</div>`:``}
489			${t.crop?`<div data-area="crop" class="${mf}__slider ${gf(!t.resize)}'">
490							<div class="${mf}__slider-title">
491								${hf(`crop`)}
492								${n(`Crop`)}
493							</div>
494							<div class="${mf}__slider-content">
495								${r(`Keep Aspect Ratio`,`keepAspectRatioCrop`)}
496							</div>
497						</div>`:``}
498			</div>
499		</div>
500	</form>`)},vf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yf,bf=`jodit-image-editor`,xf={resize:`resize`,crop:`crop`},Sf=yf=class extends eu{className(){return`ImageEditor`}get o(){return this.options}hide(){this._dialog.close()}open(e,t){return this.j.async.promise(n=>{let r=new Date().getTime();
500this.image=this.j.c.element(`img`),Pc(`img,.jodit-icon_loader`,this.resize_box).forEach(P.safeRemove),Pc(`img,.jodit-icon_loader`,this.crop_box).forEach(P.safeRemove),M(this.cropHandler,`background`,`transparent`),this.onSave=t,this.resize_box.appendChild(this.j.c.element(`i`,{class:`jodit-icon_loader`})),this.crop_box.appendChild(this.j.c.element(`i`,{class:`jodit-icon_loader`})),/\?/.test(e)?e+=`&_tst=`+r:e+=`?_tst=`+r,this.image.setAttribute(`src`,e),this._dialog.open();let{widthInput:i,heightInput:a}=Ic(this.editor),o=()=>{this.isDestructed||(this.image.removeEventListener(`load`,o),this.naturalWidth=this.image.naturalWidth,this.naturalHeight=this.image.naturalHeight,i.value=this.naturalWidth.toString(),a.value=this.naturalHeight.toString(),this.ratio=this.naturalWidth/this.naturalHeight,this.resize_box.appendChild(this.image),this.cropImage=this.image.cloneNode(!0),this.crop_box.appendChild(this.cropImage),P.safeRemove.apply(null,Pc(`.jodit-icon_loader`,this.editor)),this.activeTab===xf.crop&&this.showCrop(),this.j.e.fire(this.resizeHandler,`updatesize`),this.j.e.fire(this.cropHandler,`updatesize`),this._dialog.setPosition(),this.j.e.fire(`afterImageEditor`),n(this._dialog))};this.image.addEventListener(`load`,o),this.image.complete&&o()})}onTitleModeClick(e){let t=this,n=e.target?.parentElement;if(!n)return;Pc(`.${bf}__slider,.${bf}__area`,t.editor).forEach(e=>e.classList.remove(`${bf}_active`)),n.classList.add(`${bf}_active`),this.activeTab=N(n,`-area`)||xf.resize;let r=t.editor.querySelector(`.${bf}__area.${bf}__area_`+t.activeTab);r&&r.classList.add(`${bf}_active`),t.activeTab===xf.crop&&t.showCrop()}onChangeSizeInput(e){let t=this,n=e.target,{widthInput:r,heightInput:i}=Ic(this.editor),a=N(n,`data-ref`)===`widthInput`,o=parseInt(n.value,10),s=a?t.o.min_width:t.o.min_height,c=a?t.o.min_height:t.o.min_width,l;o>s&&(M(t.image,a?`width`:`height`,o),t.resizeUseRatio&&(l=Math.round(a?o/t.ratio:o*t.ratio),l>c&&(M(t.image,a?`height`:`width`,l),a?i.value=l.toString():r.value=l.toString()))),this.j.e.fire(t.resizeHandler,`updatesize`)}onResizeHandleMouseDown(e){let t=this;t.target=e.target,e.preventDefault(),e.stopImmediatePropagation(),t.clicked=!0,t.start_x=e.clientX,t.start_y=e.clientY,t.activeTab===xf.crop?(t.top_x=M(t.cropHandler,`left`),t.top_y=M(t.cropHandler,`top`),t.width=t.cropHandler.offsetWidth,t.height=t.cropHandler.offsetHeight):(t.width=t.image.offsetWidth,t.height=t.image.offsetHeight),t.j.e.on(this.j.ow,`mousemove`,this.onGlobalMouseMove).one(this.j.ow,`mouseup`,this.onGlobalMouseUp)}onGlobalMouseUp(e){this.clicked&&(this.clicked=!1,e.stopImmediatePropagation(),this.j.e.off(this.j.ow,`mousemove`,this.onGlobalMouseMove))}onGlobalMouseMove(e){let t=this;if(!t.clicked)return;let{widthInput:n,heightInput:r}=Ic(this.editor);t.diff_x=e.clientX-t.start_x,t.diff_y=e.clientY-t.start_y,t.activeTab===xf.resize&&t.resizeUseRatio||t.activeTab===xf.crop&&t.cropUseRatio?t.diff_x?(t.new_w=t.width+t.diff_x,t.new_h=Math.round(t.new_w/t.ratio)):(t.new_h=t.height+t.diff_y,t.new_w=Math.round(t.new_h*t.ratio)):(t.new_w=t.width+t.diff_x,t.new_h=t.height+t.diff_y),t.activeTab===xf.resize?(t.new_w>t.o.resizeMinWidth&&(M(t.image,`width`,t.new_w+`px`),n.value=t.new_w.toString()),t.new_h>t.o.resizeMinHeight&&(M(t.image,`height`,t.new_h+`px`),r.value=t.new_h.toString()),this.j.e.fire(t.resizeHandler,`updatesize`)):(t.target===t.cropHandler?(t.top_x+t.diff_x+t.cropHandler.offsetWidth>t.cropImage.offsetWidth&&(t.diff_x=t.cropImage.offsetWidth-t.top_x-t.cropHandler.offsetWidth),M(t.cropHandler,`left`,t.top_x+t.diff_x),t.top_y+t.diff_y+t.cropHandler.offsetHeight>t.cropImage.offsetHeight&&(t.diff_y=t.cropImage.offsetHeight-t.top_y-t.cropHandler.offsetHeight),M(t.cropHandler,`top`,t.top_y+t.diff_y)):(t.top_x+t.new_w>t.cropImage.offsetWidth&&(t.new_w=t.cropImage.offsetWidth-t.top_x),t.top_y+t.new_h>t.cropImage.offsetHeight&&(t.new_h=t.cropImage.offsetHeight-t.top_y),M(t.cropHandler,{width:t.new_w,height:t.new_h})),this.j.e.fire(t.cropHandler,`updatesize`))}constructor(e){super(e),this.resizeUseRatio=!0,this.cropUseRatio=!0,this.clicked=!1,this.start_x=0,this.start_y=0,this.top_x=0,this.top_y=0,this.width=0,this.height=0,this.activeTab=xf.resize,this.naturalWi
500dth=0,this.naturalHeight=0,this.ratio=0,this.new_h=0,this.new_w=0,this.diff_x=0,this.diff_y=0,this.cropBox={x:0,y:0,w:0,h:0},this.resizeBox={w:0,h:0},this.calcCropBox=()=>{let e=this.crop_box.parentNode,t=e.offsetWidth*.8,n=e.offsetHeight*.8,r=t,i=n,{naturalWidth:a,naturalHeight:o}=this;t>a&&n>o?(r=a,i=o):this.ratio>t/n?(r=t,i=t/a*o):(r=n/o*a,i=n),M(this.crop_box,{width:r,height:i})},this.showCrop=()=>{if(!this.cropImage)return;this.calcCropBox();let e=this.cropImage.offsetWidth||this.image.offsetWidth||this.image.naturalWidth;this.new_w=yf.calcValueByPercent(e,this.o.cropDefaultWidth);let t=this.cropImage.offsetHeight||this.image.offsetHeight||this.image.naturalHeight;this.new_h=this.cropUseRatio?this.new_w/this.ratio:yf.calcValueByPercent(t,this.o.cropDefaultHeight),M(this.cropHandler,{backgroundImage:`url(`+N(this.cropImage,`src`)+`)`,width:this.new_w,height:this.new_h,left:e/2-this.new_w/2,top:t/2-this.new_h/2}),this.j.e.fire(this.cropHandler,`updatesize`)},this.updateCropBox=()=>{if(!this.cropImage)return;let e=this.cropImage.offsetWidth/this.naturalWidth,t=this.cropImage.offsetHeight/this.naturalHeight;this.cropBox.x=M(this.cropHandler,`left`)/e,this.cropBox.y=M(this.cropHandler,`top`)/t,this.cropBox.w=this.cropHandler.offsetWidth/e,this.cropBox.h=this.cropHandler.offsetHeight/t,this.sizes.textContent=this.cropBox.w.toFixed(0)+`x`+this.cropBox.h.toFixed(0)},this.updateResizeBox=()=>{this.resizeBox.w=this.image.offsetWidth||this.naturalWidth,this.resizeBox.h=this.image.offsetHeight||this.naturalHeight},this.setHandlers=()=>{let e=this,{widthInput:t,heightInput:n}=Ic(this.editor);e.j.e.on([e.editor.querySelector(`.jodit_bottomright`),e.cropHandler],`mousedown.${bf}`,this.onResizeHandleMouseDown).on(this.j.ow,`resize.${bf}`,()=>{this.j.e.fire(e.resizeHandler,`updatesize`),e.showCrop(),this.j.e.fire(e.cropHandler,`updatesize`)}),e.j.e.on(Io(this.editor.querySelectorAll(`.${bf}__slider-title`)),`click`,this.onTitleModeClick).on([t,n],`input`,this.onChangeSizeInput);let{keepAspectRatioResize:r,keepAspectRatioCrop:i}=Ic(this.editor);r&&r.addEventListener(`change`,()=>{this.resizeUseRatio=r.checked}),i&&i.addEventListener(`change`,()=>{this.cropUseRatio=i.checked}),e.j.e.on(e.resizeHandler,`updatesize`,()=>{M(e.resizeHandler,{top:0,left:0,width:e.image.offsetWidth||e.naturalWidth,height:e.image.offsetHeight||e.naturalHeight}),this.updateResizeBox()}).on(e.cropHandler,`updatesize`,()=>{if(!e.cropImage)return;let t=M(e.cropHandler,`left`),n=M(e.cropHandler,`top`),r=e.cropHandler.offsetWidth,i=e.cropHandler.offsetHeight;t<0&&(t=0),n<0&&(n=0),t+r>e.cropImage.offsetWidth&&(r=e.cropImage.offsetWidth-t,e.cropUseRatio&&(i=r/e.ratio)),n+i>e.cropImage.offsetHeight&&(i=e.cropImage.offsetHeight-n,e.cropUseRatio&&(r=i*e.ratio)),M(e.cropHandler,{width:r,height:i,left:t,top:n,backgroundPosition:-t-1+`px `+(-n-1)+`px`,backgroundSize:e.cropImage.offsetWidth+`px `+e.cropImage.offsetHeight+`px`}),e.updateCropBox()}),Object.values(e.buttons).forEach(r=>{r.onAction(()=>{let i={action:e.activeTab,box:e.activeTab===xf.resize?e.resizeBox:e.cropBox};switch(r){case e.buttons.saveas:e.j.prompt(`Enter new name`,`Save in new file`,t=>{if(!zo(t))return e.j.alert(`The name should not be empty`),!1;e.j.e.fire(`afterImageEditorSave`,i,t),e.onSave(t,i,e.hide,t=>{e.j.alert(t.message)})});break;case e.buttons.save:e.j.e.fire(`afterImageEditorSave`,i),e.onSave(void 0,i,e.hide,t=>{e.j.alert(t.message)});break;case e.buttons.reset:e.activeTab===xf.resize?(M(e.image,{width:null,height:null}),t.value=e.naturalWidth.toString(),n.value=e.naturalHeight.toString(),e.j.e.fire(e.resizeHandler,`updatesize`)):e.showCrop()}})})},this.options=e&&e.o&&e.o.imageeditor?e.o.imageeditor:F.defaultOptions.imageeditor;let t=this.options;this.resizeUseRatio=t.resizeUseRatio,this.cropUseRatio=t.cropUseRatio,this.buttons={reset:Tu(this.j,`update`,`Reset`),save:Tu(this.j,`save`,`Save`),saveas:Tu(this.j,{icon:{name:`save`},name:`save-as`,text:`Save as ...`})},this.activeTab=t.resize?xf.resize:xf.crop,this.editor=_f(this.j,this.options);let{resizeBox:n,cropBox:r}=Ic(this.editor);this.resize_box=n,this.crop_box=r,this.sizes=this.editor.querySelector(`.${bf}__area.${bf}__area_crop .jodit-image-editor__sizes`),this.resizeHandler=this.editor.querySelector(`.${bf}__resizer`),this.cropHandler=this.editor.querySelector(`.${bf}__croper`),this._dialog=this.j.dlg({buttons:[`fullsize`,`dialog.close`]}),this._dialog.setContent(this.editor),this._dialog.setSize(this.o.width,this.o.height),this._dialog.setHeader([this.buttons.reset,this.buttons.save,this.buttons.saveas]),this.setHandlers()}destruct(){this.isDestructed||(this._dialog&&!this._dialog.isInDestruct&&this._dialog.destruct(),P.safeRemove(this.editor),this.j.e&&this.j.e.off(this.j.ow,`mousemove`,this.onGlobalMouseMove).off(this.j.ow,`mouseup`,this.onGlobalMouseUp).off(this.ow,`.${bf}`).off(`.${bf}`),super.destruct())}};Sf.calcValueByPercent=(e,t)=>
500{let n=t.toString(),r=parseFloat(e.toString()),i;return i=/^[-+]?[0-9]+(px)?$/.exec(n),i?parseInt(n,10):(i=/^([-+]?[0-9.]+)%$/.exec(n),i?Math.round(r*(parseFloat(i[1])/100)):r||0)},vf([A],Sf.prototype,`hide`,null),vf([A],Sf.prototype,`open`,null),vf([A],Sf.prototype,`onTitleModeClick`,null),vf([tu(),A],Sf.prototype,`onChangeSizeInput`,null),vf([A],Sf.prototype,`onResizeHandleMouseDown`,null),vf([A],Sf.prototype,`onGlobalMouseUp`,null),vf([nu(10)],Sf.prototype,`onGlobalMouseMove`,null),Sf=yf=vf([Ws],Sf);function Cf(e,t,n,r,i,a){return this.getInstance(`ImageEditor`,this.o).open(e,(e,o,s,c)=>{if(o.action===`saved`){s(),i&&i(o.newPath);return}fs(o.action===`resize`?this.dataProvider.resize:this.dataProvider.crop,n,r,t,e,o.box).then(e=>{e&&(s(),i&&i(typeof e==`string`?e:void 0))}).catch(e=>{c(e),a&&a(e)})})}var wf=`jodit-file-browser-preview`,Tf=(e=`next`,t=`right`)=>`<div class="${wf}__navigation ${wf}__navigation_arrow_${e}">`+vu.get(`angle-`+t)+`</a>`,Ef=e=>{if(!e.o.contextMenu)return()=>{};let t=uf(e);return n=>{let r=nf(n.target,e.container);if(!r)return;let i=r,a=e.options,o=e=>N(i,e)||``;return e.async.setTimeout(()=>{let s=rf(r,tf(e));s&&(e.state.activeElements=[s],t.show(n.clientX,n.clientY,[o(`data-is-file`)!==`1`&&a.editImage&&(e.dataProvider.canI(`ImageResize`)||e.dataProvider.canI(`ImageCrop`))?{icon:`pencil`,title:`Edit`,exec:()=>Cf.call(e,o(`href`),o(`data-name`),o(`data-path`),o(`data-source`))}:!1,e.dataProvider.canI(`FileRename`)?{icon:`italic`,title:`Rename`,exec:()=>{e.e.fire(`fileRename.filebrowser`,o(`data-name`),o(`data-path`),o(`data-source`))}}:!1,e.dataProvider.canI(`FileRemove`)?{icon:`bin`,title:`Delete`,exec:async()=>{try{await df(e,o(`data-name`),o(`data-source`))}catch(t){return e.status(t)}return e.state.activeElements=[],$d(e).catch(e.status)}}:!1,a.preview?{icon:`eye`,title:`Preview`,exec:()=>{let t=e.dlg({buttons:[`fullsize`,`dialog.close`]}),n=e.c.div(wf,`<div class="jodit-icon_loader"></div>`),r=e.c.div(`jodit-file-browser-preview__box`),s=e.c.fromHTML(Tf()),c=e.c.fromHTML(Tf(`prev`,`left`)),l=o=>{let l=e.c.element(`img`);l.setAttribute(`src`,o);let u=()=>{var o;e.isInDestruct||(e.e.off(l,`load`),P.detach(n),a.showPreviewNavigation&&(P.prevWithClass(i,e.files.getFullElName(`item`))&&n.appendChild(c),P.nextWithClass(i,e.files.getFullElName(`item`))&&n.appendChild(s)),n.appendChild(r),r.appendChild(l),t.setPosition(),(o=e?.events)==null||o.fire(`previewOpenedAndLoaded`))};e.e.on(l,`load`,u),l.complete&&u()};e.e.on([s,c],`click`,function(){if(i=this===s?P.nextWithClass(i,e.files.getFullElName(`item`)):P.prevWithClass(i,e.files.getFullElName(`item`)),!i)throw cs(`Need element`);P.detach(n),P.detach(r),n.innerHTML=`<div class="jodit-icon_loader"></div>`,l(o(`href`))}),e.e.on(`beforeDestruct`,()=>{t.destruct()}),t.container.classList.add(`jodit-file-browser-preview__dialog`),t.setContent(n),t.setPosition(),t.open(),l(o(`href`)),e.events.on(`beforeDestruct`,()=>{t.destruct()}).fire(`previewOpened`)}}:!1,{icon:`upload`,title:`Download`,exec:()=>
500{let t=o(`href`);t&&e.ow.open(t)}}]))},e.defaultTimeout),e.e.on(`beforeClose`,()=>{t.close()}).on(`beforeDestruct`,()=>t.destruct()),n.stopPropagation(),n.preventDefault(),!1}};function Df(){let e=!1,t=tf(this),n=this;n.e.on(n.tree.container,`dragstart`,t=>{let r=nf(t.target,n.container);r&&n.o.moveFolder&&(e=r)}).on(n.tree.container,`drop`,t=>{if((n.o.moveFile||n.o.moveFolder)&&e){let r=N(e,`-path`)||``;if(!n.o.moveFolder&&e.classList.contains(this.tree.getFullElName(`item`))||e.classList.contains(this.files.getFullElName(`item`))&&(r+=N(e,`-name`),!n.o.moveFile))return!1;let i=nf(t.target,n.container);if(!i)return;n.dataProvider.move(r,N(i,`-path`)||``,N(i,`-source`)||``,e.classList.contains(this.files.getFullElName(`item`))).then(()=>$d(this)).catch(n.status),e=!1}}).on(n.files.container,`contextmenu`,Ef(n)).on(n.files.container,`click`,e=>{sl(e)||(this.state.activeElements=[])}).on(n.files.container,`click`,e=>{let r=nf(e.target,n.container);if(!r)return;let i=rf(r,t);if(i)return sl(e)?n.state.activeElements=[...n.state.activeElements,i]:n.state.activeElements=[i],e.stopPropagation(),!1}).on(n.files.container,`dragstart`,t=>{if(n.o.moveFile){let r=nf(t.target,n.container);if(!r)return;e=r}}).on(n.container,`drop`,e=>e.preventDefault())}function Of(){let e=this.state,t=this.dataProvider,n=this;n.e.on(`view.filebrowser`,t=>{t!==e.view&&(e.view=t)}).on(`sort.filebrowser`,t=>{t!==e.sortBy&&(e.sortBy=t,Qd(n))}).on(`filter.filebrowser`,t=>{t!==e.filterWord&&(e.filterWord=t,Qd(n))}).on(`openFolder.filebrowser`,e=>{let t;t=e.name===`..`?e.path.split(`/`).filter(e=>e.length).slice(0,-1).join(`/`):Fl(e.path,e.name),n.state.currentPath=t,n.state.currentSource=e.name===`.`?sf:e.source}).on(`removeFolder.filebrowser`,e=>{n.confirm(`Are you sure?`,`Delete`,r=>{r&&t.folderRemove(e.path,e.name,e.source).then(e=>(n.status(e,!0),$d(n))).catch(n.status)})}).on(`renameFolder.filebrowser`,e=>{n.prompt(`Enter new name`,`Rename`,r=>{if(!Ls(r))return n.status(n.i18n(`Enter new name`)),!1;t.folderRename(e.path,e.name,r,e.source).then(e=>(n.state.activeElements=[],n.status(e,!0),$d(n))).catch(n.status)},`type name`,e.name)}).on(`addFolder.filebrowser`,e=>{n.prompt(`Enter Directory name`,`Create directory`,r=>{t.createFolder(r,e.path,e.source).then(()=>$d(n)).catch(n.status)},`type name`)}).on(`fileRemove.filebrowser`,()=>{n.state.activeElements.length&&n.confirm(`Are you sure?`,``,e=>{if(e){let e=[];n.state.activeElements.forEach(t=>{e.push(df(n,t.file||t.name||``,t.sourceName))}),n.state.activeElements=[],Promise.all(e).then(()=>$d(n).catch(n.status),n.status)}})}).on(`edit.filebrowser`,()=>{if(n.state.activeElements.length===1){let[e]=this.state.activeElements;Cf.call(n,e.fileURL,e.file||``,e.path,e.sourceName)}}).on(`fileRename.filebrowser`,(e,r,i)=>{n.state.activeElements.length===1&&n.prompt(`Enter new name`,`Rename`,a=>{if(!Ls(a))return n.status(n.i18n(`Enter new name`)),!1;t.fileRename(r,e,a,i).then(e=>{n.state.activeElements=[],n.status(e,!0),Qd(n)}).catch(n.status)},`type name`,e)}).on(`update.filebrowser`,()=>{$d(this).then(this.status,this.status)})}var kf=`default`;function Af(){let e=tf(this),{state:t,files:n,create:r,options:i}=this,a=t=>{let n=t.uniqueHashKey;if(e[n])return e[n].elm;let a=r.fromHTML(i.getThumbTemplate.call(this,t,t.source,t.sourceName.toString()));return a.dataset.key=n,e[n]={item:t,elm:a},e[n].elm};t.on([`change.currentPath`,`change.currentSource`],this.async.debounce(()=>{this.o.saveStateInStorage&&this.o.saveStateInStorage.storeLastOpenedFolder&&this.storage.set(`currentPath`,this.state.currentPath).set(`currentSource`,this.state.currentSource),$d(this).catch(this.status)},this.defaultTimeout)).on(`beforeChange.activeElements`,()=>{t.activeElements.forEach(t=>{let r=t.uniqueHashKey,{elm:i}=e[r];i&&i.classList.remove(n.getFullElName(`item`,`active`,!0))})}).on(`change.activeElements`,()=>{this.e.fire(`changeSelection`),t.activeElements.forEach(t=>{let r=t.uniqueHashKey,{elm:i}=e[r];i&&i.classList.add(n.getFullElName(`item`,`active`,!0))})}).on(`change.view`,()=>{n.setMod(`view`,t.view),this.o.saveStateInStorage&&this.o.saveStateInStorage.storeView&&this.storage.set(`view`,t.view)}).on(`change.sortBy`,()=>{this.o.saveStateInStorage&&this.o.saveStateInStorage.storeSortBy&&this.storage.set(`sortBy`,t.sortBy)}).on(`change.elements`,this.async.debounce(()=>
500{P.detach(n.container),t.elements.length?t.elements.forEach(e=>{this.files.container.appendChild(a(e))}):n.container.appendChild(r.div(this.componentName+`_no-files_true`,this.i18n(`There are no files`)))},this.defaultTimeout)).on(`change.sources`,this.async.debounce(()=>{P.detach(this.tree.container),t.sources.forEach(e=>{let t=e.name;if(t&&t!==kf&&this.tree.container.appendChild(r.div(this.tree.getFullElName(`source-title`),t)),e.folders.forEach(n=>{let a=r.a(this.tree.getFullElName(`item`),{draggable:`draggable`,href:`#`,"data-path":Fl(e.path,n+`/`),"data-name":n,"data-source":t,"data-source-path":e.path},r.span(this.tree.getFullElName(`item-title`),n)),o=r=>i=>{this.e.fire(`${r}.filebrowser`,{name:n,path:Fl(e.path+`/`),source:t}),i.stopPropagation(),i.preventDefault()};if(this.e.on(a,`click`,o(`openFolder`)),this.tree.container.appendChild(a),n!==`..`&&n!==`.`){if(i.renameFolder&&this.dataProvider.canI(`FolderRename`)){let e=Tu(this,{icon:{name:`pencil`},name:`rename`,tooltip:`Rename`,size:`tiny`});e.onAction(o(`renameFolder`)),a.appendChild(e.container)}if(i.deleteFolder&&this.dataProvider.canI(`FolderRemove`)){let e=Tu(this,{icon:{name:`cancel`},name:`remove`,tooltip:`Delete`,size:`tiny`});e.onAction(o(`removeFolder`)),a.appendChild(e.container)}}}),i.createNewFolder&&this.dataProvider.canI(`FolderCreate`)){let n=Tu(this,`plus`,`Add folder`,`secondary`);n.onAction(()=>{this.e.fire(`addFolder`,{path:Fl(e.path+`/`),source:t})}),this.tree.append(n)}})},this.defaultTimeout))}var jf=class extends Ou{className(){return`FileBrowserFiles`}},Mf=class extends Ou{className(){return`FileBrowserTree`}},Nf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Pf=class extends Vd{className(){return`FileBrowser`}get dataProvider(){return lf(this,this.options)}onSelect(e){return()=>{if(this.state.activeElements.length){let t=[],n=[];this.state.activeElements.forEach(e=>{let r=e.fileURL;r&&(t.push(r),n.push(e.isImage||!1))}),this.close();let r={baseurl:``,files:t,isImages:n};k(e)&&e(r),this.close()}return!1}}get _dialog(){let e=this.dlg({minWidth:Math.min(700,screen.width),minHeight:300,buttons:this.o.headerButtons??[`fullsize`,`dialog.close`]});return[`beforeClose`,`afterClose`,`beforeOpen`].forEach(t=>e.events.on(e,t,()=>this.e.fire(t))),e.setSize(this.o.width,this.o.height),e}get storage(){return Od.makeStorage(!!this.o.saveStateInStorage,this.componentName)}get isOpened(){return this._dialog.isOpened&&this.browser.style.display!==`none`}status(e,t){!e||Cs(e)||(j(e)||(e=e.message),!(!j(e)||!zo(e).length)&&this.message.message(e,t?`success`:`error`,this.o.howLongShowMsg))}open(e=this.o.defaultCallback,t=!1){return this.state.onlyImages=t,this.async.promise((t,n)=>{var r;if(!this.o.items||!this.o.items.url)throw cs(`Need set options.filebrowser.ajax.url`);let i=0;this.e.off(this.files.container,`dblclick`).on(this.files.container,`dblclick`,this.onSelect(e)).on(this.files.container,`touchstart`,()=>{let t=new Date().getTime();t-i<300&&this.onSelect(e)(),i=t}).off(`select.filebrowser`).on(`select.filebrowser`,this.onSelect(e));let a=this.c.div();(r=this.toolbar)==null||r.appendTo(a),this.__updateToolbarButtons(),this._dialog.open(this.browser,a),this.e.fire(`sort.filebrowser`,this.state.sortBy),$d(this).then(t,n).finally(()=>{var e;this.isInDestruct||(e=this===null||this===void 0?void 0:this.e)==null||e.fire(`fileBrowserReady.filebrowser`)})}).catch(e=>{Cs(e)})}__getButtons(){return(this.o.buttons??[]).filter(e=>{if(!j(e))return!0;switch(e){case`filebrowser.upload`:return this.dataProvider.canI(`FileUpload`);case`filebrowser.edit`:return this.dataProvider.canI(`ImageResize`)||this.dataProvider.canI(`ImageCrop`);case`filebrowser.remove`:return this.dataProvider.canI(`FileRemove`)}return!0})}initUploader(e){let t=this,n=e?.options?.uploader,r=tl(n||{},F.defaultOptions.uploader),i=()=>Qd(this);t.uploader=t.getInstance(`Uploader`,r),t.uploader.setPath(t.state.currentPath).setSource(t.state.currentSource).bind(t.browser,i,t.errorHandler),this.state.on([`change.currentPath`,`change.currentSource`],()=>{this.uploader.setPath(this.state.currentPath).setSource(this.state.currentSource)}),t.e.on(`bindUploader.filebrowser`,e=>{t.uploader.bind(e,i,t.errorHandler)})}constructor(e){super(e),this.browser=this.c.div(this.componentName),this.status_line=this.c.div(this.getFullElName(`status`)),this.tree=new Mf(this),this.files=new jf(this),this.state=du({currentPath:``,currentSource:sf,currentBaseUrl:``,activeElements:[],elements:[],sources:[],view:`tiles`,sortBy:`changed-desc`,filterWord:``,onlyImages:!1}),this.errorHandler=e=>{Cs(e)||(e instanceof Error?this.status(this.i18n(e.message)):this.status(this.dataProvider.getMessage(e)))},this.close=()=>{this._dialog.close()},this.__prevButtons=[],this.attachEvents(e);let t=this;t.options=tl(e||{},F.defaultOptions.filebrowser),t.browser.component=this,t.container=t.browser,t.o.showFoldersPanel&&t.browser.appendChild(t.tree.container),t.browser.appendChild(t.files.container),t.browser.appendChild(t.status_line),Of.call(t),Df.call(t),Af.call(t),[`getLocalFileByUrl`,`crop`,`resize`,`create`,`fileMove`,`folderMove`,`fileRename`,`folderRename`,`fileRemove`,`folderRemove`,`folder`,`items`,`permissions`].forEach(e
500=>{this.options[e]!=null&&(this.options[e]=tl(this.options[e],this.o.ajax))});let{storeView:n,storeSortBy:r,storeLastOpenedFolder:i}=this.o.saveStateInStorage||{storeLastOpenedFolder:!1,storeView:!1,storeSortBy:!1},a=n&&this.storage.get(`view`);a&&this.o.view==null?t.state.view=a===`list`?`list`:`tiles`:t.state.view=t.o.view===`list`?`list`:`tiles`,t.files.setMod(`view`,t.state.view);let o=r&&t.storage.get(`sortBy`);if(o){let e=o.split(`-`);t.state.sortBy=[`changed`,`name`,`size`].includes(e[0])?o:`changed-desc`}else t.state.sortBy=t.o.sortBy||`changed-desc`;if(i){let e=t.storage.get(`currentPath`),n=t.storage.get(`currentSource`);t.state.currentPath=e??``,t.state.currentSource=n??``}t.initUploader(t),t.setStatus(Oo.ready)}destruct(){var e;this.isInDestruct||((e=Rs(this,`_dialog`))==null||e.destruct(),super.destruct(),this.events&&this.e.off(`.filebrowser`),this.uploader&&this.uploader.destruct())}__updateToolbarButtons(){var e;let t=this.__getButtons();Ff(this.__prevButtons,t)||(this.__prevButtons=t,(e=this.toolbar)==null||e.build(t))}};Nf([zs],Pf.prototype,`dataProvider`,null),Nf([zs],Pf.prototype,`_dialog`,null),Nf([zs],Pf.prototype,`storage`,null),Nf([A],Pf.prototype,`status`,null),Nf([A],Pf.prototype,`open`,null),Nf([I(`dataProvider:changePermissions`)],Pf.prototype,`__updateToolbarButtons`,null),Pf=Nf([ru(Jd)],Pf);function Ff(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var If=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lf=class extends eu{className(){return`Plugin`}constructor(e){super(e),this.buttons=[],this.hasStyle=!1,this.__inited=!1,e.e.on(`afterPluginSystemInit`,this.__afterPluginSystemInit).on(`afterInit`,this.__afterInit).on(`beforeDestruct`,this.__beforeDestruct)}__afterPluginSystemInit(){let{j:e,buttons:t}=this;t&&Ms(e)&&t.forEach(t=>{e.registerButton(t)})}__afterInit(){this.__inited=!0,this.setStatus(Oo.ready),this.afterInit(this.jodit)}init(e){this.jodit.isReady&&(this.afterInit(this.jodit),this.__afterPluginSystemInit(),this.jodit.e.fire(`rebuildToolbar`))}__beforeDestruct(){var e;if(this.isInDestruct)return;let{j:t}=this;if(t.e.off(`afterPluginSystemInit`,this.__afterPluginSystemInit).off(`afterInit`,this.__afterInit).off(`beforeDestruct`,this.destruct),this.setStatus(Oo.beforeDestruct),!this.__inited)return super.destruct();Ms(t)&&((e=this.buttons)==null||e.forEach(e=>{t?.unregisterButton(e)})),this.beforeDestruct(this.j),super.destruct()}};Lf.requires=[],If([A],Lf.prototype,`__afterPluginSystemInit`,null),If([A],Lf.prototype,`__afterInit`,null),If([A],Lf.prototype,`__beforeDestruct`,null);var Rf=class{undo(){this.history.snapshot.restore(this.oldValue)}redo(){this.history.snapshot.restore(this.newValue)}constructor(e,t,n,r){this.oldValue=e,this.newValue=t,this.history=n,this.tick=r}},zf=class e extends eu{constructor(){super(...arguments),this.__isBlocked=!1,this.__levelOfTransaction=0}className(){return`Snapshot`}static equal(e,t){return e.html===t.html&&JSON.stringify(e.range)===JSON.stringify(t.range)}static countNodesBeforeInParent(e){if(!e.parentNode)return 0;let t=e.parentNode.childNodes,n=0,r=null;for(let i=0;i<t.length;i+=1){if(r&&!this.isIgnoredNode(t[i])&&!(P.isText(r)&&P.isText(t[i]))&&(n+=1),t[i]===e)return n;r=t[i]}return 0}static strokeOffset(e,t){for(;P.isText(e);)e=e.previousSibling,P.isText(e)&&e.nodeValue&&(t+=e.nodeValue.length);return t}calcHierarchyLadder(t){let n=[];if(!t||!t.parentNode||!P.isOrContains(this.j.editor,t))return[];for(;t&&t!==this.j.editor;)t&&!e.isIgnoredNode(t)&&n.push(e.countNodesBeforeInParent(t)),t=t.parentNode;return n.reverse()}getElementByLadder(e){let t=this.j.editor,n;for(n=0;t&&n<e.length;n+=1)t=t.childNodes[e[n]];return t}get isBlocked(){return this.__isBlocked}__block(e){this.__isBlocked=e}transaction(e){this.__block(!0),this.__levelOfTransaction+=1;try{e()}catch{}finally{--this.__levelOfTransaction,this.__levelOfTransaction===0&&this.__block(!1)}}make(){let t={html:``,range:{startContainer:[],startOffset:0,endContainer:[],endOffset:0}};t.html=this.__getCleanedEditorValue(this.j.editor);let n=this.j.s.sel;if(n&&n.rangeCount){let r=n.getRangeAt(0),i=this.calcHierarchyLadder(r.startContainer),a=this.calcHierarchyLadder(r.endContainer),o=e.strokeOffset(r.startContainer,r.startOffset),s=e.strokeOffset(r.endContainer,r.endOffset);!i.length&&r.startContainer!==this.j.editor&&(o=0),!a.length&&r.endContainer!==this.j.editor&&(s=0),t.range={startContainer:i,startOffset:o,endContainer:a,endOffset:s}}return t}restore(e){this.transaction(()=>{let t=this.storeScrollState();this.__getCleanedEditorValue(this.j.editor)!==e.html&&(this.j.value=e.html),this.restoreOnlySelection(e),this.restoreScrollState(t)})}storeScrollState(){return[this.j.ow.scrollY,this.j.editor.scrollTop]}restoreScrollState(e){let{j:t}=this,{ow:n}=t;n.scrollTo(n.scrollX,e[0]),t.editor.scrollTop=e[1]}restoreOnlySelection(e){try{if(e.range){let t=this.j.ed.createRange();t.setStart(this.getElementByLadder(e.range.startContainer),e.range.startOffset),t.setEnd(this.getElementByLadder(e.range.endContainer),e.range.endOffset),this.j.s.selectRange(t)}}catch{this.j.editor.lastChild&&this.j.s.setCursorAfter(this.j.editor.lastChild)}}destruct(){this.__block(!1),super.destruct()}static isIgnoredNode(e){return P.isText(e)&&!e.nodeValue||P.isTemporary(e)}__getCleanedEditorValue(e){let t=e.cloneNode(!0);return P.temporaryList(t).forEach(P.unwrap),t.innerHTML}},Bf=class{constructor(e){this.size=e,this.commands=[],this.stackPosition=-1}get length(){return this.commands.length}clearRedo(){this.commands.length=this.stackPosition+1}clear(){this.commands.length=0,this.stackPosition=-1}push(e){this.clearRedo(),this.commands.push(e),this.stackPosition+=1,this.commands.length>this.size&&(this.commands.shift(),--this.stackPosition)}replace(e){this.commands[this.stackPosition]=e}current(){return this.commands[this.stackPosition]}undo(){return this.canUndo()?(this.commands[this.stackPosition]&&this.commands[this.stackPosition].undo(),--this.stackPosition,!0):!1}redo(){return this.canRedo()?(this.stackPosition+=1,this.commands[this.stackPosition]&&this.commands[this.stackPosition].redo(),!0):!1}canUndo(){return this.stackPosition>=0}canRedo(){return this.stackPosition<this.commands.length-1}},Vf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a};F.prototype.history={enable:!0,maxHistoryLength:1/0,timeout:1e3};var Hf=class extends eu{className(){return`History`}redo(){this.__stack.redo()&&(this.startValue=this.snapshot.make(),this.fireChangeStack())}canRedo(){return this.__stack.canRedo()}undo(){this.__stack.undo()&&(this.startValue=this.snapshot.make(),this.fireChangeStack())}canUndo(){return this.__stack.canUndo()}clear(){this.startValue=this.snapshot.make(),this.__stack.clear(),this.fireChangeStack()}get length(){return this.__stack.length}get startValue(){return this.__startValue}set startValue(e){this.__startValue=e}constructor(e,t=new Bf(e.o.history.maxHistoryLength),n=new zf(e)){super(e),this.updateTick=0,this.__stack=t,this.snapshot=n,e.o.history.enable&&e.e.on(`afterAddPlace.history`,()=>{this.isInDestruct||(this.startValue=this.snapshot.make(),e.events.on(`internalChange internalUpdate`,()=>{this.startValue=this.snapshot.make()}).on(e.editor,[`changeSelection`,`selectionstart`,`selectionchange`,`mousedown`,`mouseup`,`keydown`,`keyup`].map(e=>e+`.history`).join(` `),()=>{this.startValue.html===this.j.getNativeEditorValue()&&(this.startValue=this.snapshot.make())}).on(this,`change.history`,this.onChange))})}__upTick(){this.updateTick+=1}onChange(){this.__processChanges()}__processChanges(){this.snapshot.isBlocked||!this.j.o.history.enable||this.updateStack()}updateStack(e=!1){let t=this.snapshot.make();if(!zf.equal(t,this.startValue)){let n=new Rf(this.startValue,t,this,this.updateTick);if(e){let e=this.__stack.current();e&&this.updateTick===e.tick&&this.__stack.replace(n)}else this.__stack.push(n);this.startValue=t,this.fireChangeStack()}}fireChangeStack(){var e;this.j&&!this.j.isInDestruct&&((e=this.j.events)==null||e.fire(`changeStack`))}destruct(){this.isInDestruct||(this.j.events&&this.j.e.off(`.history`),this.snapshot.destruct(),super.destruct())}};Vf([tu()],Hf.prototype,`onChange`,null);var Uf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Wf=class extends eu{className(){return`StatusBar`}hide(){this.container.classList.add(`jodit_hidden`)}show(){this.container.classList.remove(`jodit_hidden`)}get isShown(){return!this.container.classList.contains(`jodit_hidden`)}
500getHeight(){return this.container?.offsetHeight??0}findEmpty(e=!1){let t=this.getElms(e?`item-right`:`item`);for(let e=0;e<t.length;e+=1)if(!t[e].innerHTML.trim().length)return t[e]}append(e,t=!1){var n;let r=this.findEmpty(t)||this.j.c.div(this.getFullElName(`item`));t&&r.classList.add(this.getFullElName(`item-right`)),r.appendChild(e),(n=this.container)==null||n.appendChild(r),this.j.o.statusbar&&this.show(),this.j.e.fire(`resize`)}constructor(e,t){super(e),this.target=t,this.mods={},this.container=e.c.div(`jodit-status-bar`),t.appendChild(this.container),this.hide()}destruct(){this.isInDestruct||(this.setStatus(Oo.beforeDestruct),P.safeRemove(this.container),super.destruct())}};Wf=Uf([Ws,ru(_u,gu)],Wf);var Gf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Kf=new WeakMap,qf=class e extends eu{constructor(){super(...arguments),this.selected=new Set}className(){return`Table`}__recalculateStyles(){let t=Ac(this.j,e,`style`,!0),n=[];this.selected.forEach(e=>{let t=Lc(e);t&&n.push(t)}),t.innerHTML=n.length?n.join(`,`)+`{${this.jodit.options.table.selectionCellStyle}}`:``}addSelection(t){this.selected.add(t),this.__recalculateStyles();let n=P.closest(t,`table`,this.j.editor);if(n){let r=e.__selectedByTable.get(n)||new Set;r.add(t),e.__selectedByTable.set(n,r)}}removeSelection(t){this.selected.delete(t),this.__recalculateStyles();let n=P.closest(t,`table`,this.j.editor);if(n){let r=e.__selectedByTable.get(n);r&&(r.delete(t),r.size||e.__selectedByTable.delete(n))}}getAllSelectedCells(){return Io(this.selected)}static __getSelectedCellsByTable(t){let n=e.__selectedByTable.get(t);return n?Io(n):[]}destruct(){return this.selected.clear(),super.destruct()}static __getRowsCount(e){return e.rows.length}getRowsCount(t){return e.__getRowsCount(t)}static __getColumnsCount(t){return e.__formalMatrix(t).reduce((e,t)=>Math.max(e,t.length),0)}getColumnsCount(t){return e.__getColumnsCount(t)}static __formalMatrix(e,t){let n=[[]],r=Io(e.rows),i=(e,r)=>{n[r]===void 0&&(n[r]=[]);let i=e.colSpan,a=e.rowSpan,o,s,c=0;for(;n[r][c];)c+=1;for(s=0;s<a;s+=1)for(o=0;o<i;o+=1){if(n[r+s]===void 0&&(n[r+s]=[]),t&&t(e,r+s,c+o,i,a)===!1)return!1;n[r+s][c+o]=e}};for(let e=0;e<r.length;
500e+=1){let t=Io(r[e].cells);for(let r=0;r<t.length;r+=1)if(i(t[r],e)===!1)return n}return n}formalMatrix(t,n){return e.__formalMatrix(t,n)}static __formalCoordinate(t,n,r=!1){let i=0,a=0,o=1,s=1;return e.__formalMatrix(t,(e,t,c,l,u)=>{if(n===e)return i=t,a=c,o=l||1,s=u||1,r&&(a+=(l||1)-1,i+=(u||1)-1),!1}),[i,a,o,s]}formalCoordinate(t,n,r=!1){return e.__formalCoordinate(t,n,r)}static __appendRow(t,n,r,i){let a;if(n)a=n.cloneNode(!0),Pc(`td,th`,n).forEach(e=>{let t=N(e,`rowspan`);if(t&&parseInt(t,10)>1){let n=parseInt(t,10)-1;N(e,`rowspan`,n>1?n:null)}}),Pc(`td,th`,a).forEach(e=>{e.innerHTML=``});else{let n=e.__getColumnsCount(t);a=i.element(`tr`);for(let e=0;e<n;e+=1)a.appendChild(i.element(`td`))}r&&n&&n.nextSibling?n.parentNode&&n.parentNode.insertBefore(a,n.nextSibling):!r&&n?n.parentNode&&n.parentNode.insertBefore(a,n):(t.getElementsByTagName(`tbody`)?.[0]||t).appendChild(a)}appendRow(t,n,r){return e.__appendRow(t,n,r,this.j.createInside)}static __removeRow(t,n){let r=e.__formalMatrix(t),i,a=t.rows[n];r[n].forEach((e,o)=>{if(i=!1,n-1>=0&&r[n-1][o]===e)i=!0;else if(r[n+1]&&r[n+1][o]===e){if(e.parentNode===a&&e.parentNode.nextSibling){i=!0;let a=o+1;for(;r[n+1][a]===e;)a+=1;let s=P.next(e.parentNode,e=>P.isTag(e,`tr`),t);if(s){let t=null;for(let e=a;e<r[n+1].length;e+=1){let i=r[n+1][e];if(i&&i.parentNode===s){t=i;break}}t?s.insertBefore(e,t):s.appendChild(e)}}}else P.safeRemove(e);
500if(i&&(e.parentNode===a||e!==r[n][o-1])){let t=e.rowSpan;N(e,`rowspan`,t-1>1?t-1:null)}}),P.safeRemove(a)}removeRow(t,n){return e.__removeRow(t,n)}appendColumn(t,n,r=!0){let i=e.__formalMatrix(t);if(!r&&P.isCell(n.previousElementSibling))return this.appendColumn(t,n.previousElementSibling,!0);let[,a]=e.__formalCoordinate(t,n,r),o=a,s=r?o+1:o;for(let e=0;e<i.length;){let t=i[e];if(t[o]!==t[s]||o===s){let e=this.j.createInside.element(`td`);r?P.after(t[o],e):P.before(t[o],e),t[o].rowSpan>1&&(e.rowSpan=t[o].rowSpan)}else t[o].colSpan+=1;e+=t[o].rowSpan||1}}static __removeColumn(t,n){let r=e.__formalMatrix(t),i;r.forEach((e,t)=>{let a=e[n];if(i=!1,n-1>=0&&r[t][n-1]===a||n+1<e.length&&r[t][n+1]===a?i=!0:P.safeRemove(a),i&&(t-1<0||a!==r[t-1][n])){let e=a.colSpan;N(a,`colspan`,e-1>1?(e-1).toString():null)}})}removeColumn(t,n){return e.__removeColumn(t,n)}static __getSelectedBound(t,n){let r=[[1/0,1/0],[0,0]],i=e.__formalMatrix(t),a,o,s;for(a=0;a<i.length;a+=1)for(o=0;i[a]&&o<i[a].length;o+=1)n.includes(i[a][o])&&(r[0][0]=Math.min(a,r[0][0]),r[0][1]=Math.min(o,r[0][1]),r[1][0]=Math.max(a,r[1][0]),r[1][1]=Math.max(o,r[1][1]));for(a=r[0][0];a<=r[1][0];a+=1)for(s=1,o=r[0][1];o<=r[1][1];o+=1){for(;i[a]&&i[a][o-s]&&i[a][o]===i[a][o-s];)r[0][1]=Math.min(o-s,r[0][1]),r[1][1]=Math.max(o-s,r[1][1]),s+=1;for(s=1;i[a]&&i[a][o+s]&&i[a][o]===i[a][o+s];)r[0][1]=Math.min(o+s,r[0][1]),r[1][1]=Math.max(o+s,r[1][1]),s+=1;for(s=1;i[a-s]&&i[a][o]===i[a-s][o];)r[0][0]=Math.min(a-s,r[0][0]),r[1][0]=Math.max(a-s,r[1][0]),s+=1;for(s=1;i[a+s]&&i[a][o]===i[a+s][o];)r[0][0]=Math.min(a+s,r[0][0]),r[1][0]=Math.max(a+s,r[1][0]),s+=1}return r}getSelectedBound(t,n){return e.__getSelectedBound(t,n)}static __normalizeTable(t){let n=[],r=e.__formalMatrix(t);e.__removeExtraColspans(r,n),e.__removeExtraRowspans(r,n);for(let e=0;e<r.length;e+=1)for(let t=0;t<r[e].length;t+=1)r[e][t]!==void 0&&(r[e][t].hasAttribute(`rowspan`)&&r[e][t].rowSpan===1&&N(r[e][t],`rowspan`,null),r[e][t].hasAttribute(`colspan`)&&r[e][t].colSpan===1&&N(r[e][t],`colspan`,null),r[e][t].hasAttribute(`class`)&&!N(r[e][t],`class`)&&N(r[e][t],`class`,null));e.__unmark(n)}static __removeExtraColspans(t,n){for(let r=0;r<t[0].length;r+=1){let i=1e6,a=!1;for(let e=0;e<t.length;e+=1)if(t[e][r]!==void 0){if(t[e][r].colSpan<2){a=!0;break}i=Math.min(i,t[e][r].colSpan)}if(!a)for(let a=0;a<t.length;a+=1)t[a][r]!==void 0&&e.__mark(t[a][r],`colspan`,t[a][r].colSpan-i+1,n)}}static __removeExtraRowspans(t,n){let r=0,i=0;for(r=0;r<t.length;r+=1){let a=1e6,o=!1;for(i=0;i<t[r].length;i+=1)if(t[r][i]!==void 0){if(t[r][i].rowSpan<2){o=!0;break}a=Math.min(a,t[r][i].rowSpan)}if(!o)for(i=0;i<t[r].length;i+=1)t[r][i]!==void 0&&e.__mark(t[r][i],`rowspan`,t[r][i].rowSpan-a+1,n)}}normalizeTable(t){return e.__normalizeTable(t)}static __mergeSelected(t,n){let r=[],i=e.__getSelectedBound(t,e.__getSelectedCellsByTable(t)),a=0,o=null,s=0,c,l=0,u=0,d=new Set,f=[];i&&(i[0][0]-i[1][0]||i[0][1]-i[1][1])&&(e.__formalMatrix(t,(t,p,m,h,g)=>{if(p>=i[0][0]&&p<=i[1][0]&&m>=i[0][1]&&m<=i[1][1]){if(c=t,d.has(c))return;d.add(c),p===i[0][0]&&c.style.width&&(a+=c.offsetWidth),zo(t.innerHTML.replace(/<br(\/)?>/g,``))!==``&&r.push(t.innerHTML),h>1&&(l+=h-1),g>1&&(u+=g-1),o?(e.__mark(c,`remove`,1,f),Jf(n).removeSelection(c)):(o=t,s=m)}}),l=i[1][1]-i[0][1]+1,u=i[1][0]-i[0][0]+1,o&&(l>1&&e.__mark(o,`colspan`,l,f),u>1&&e.__mark(o,`rowspan`,u,f),a&&(e.__mark(o,`width`,(a/t.offsetWidth*100).toFixed(10)+`%`,f),s&&e.__setColumnWidthByDelta(t,s,0,!0,f)),o.innerHTML=r.join(`<br/>`),Jf(n).addSelection(o),d.delete(o),e.__unmark(f),e.__normalizeTable(t),Io(t.rows).forEach(e=>{e.cells.length||P.safeRemove(e)})))}mergeSelected(t){return e.__mergeSelected(t,this.j)}static __splitHorizontal(t,n){let r,i,a,o,s,c=[];e.__getSelectedCellsByTable(t).forEach(l=>{i=n.createInside.element(`td`),i.appendChild(n.createInside.element(`br`)),a=n.createInside.element(`tr`),r=e.__formalCoordinate(t,l),l.rowSpan<2?(e.__formalMatrix(t,(t,n,i)=>{r[0]===n&&r[1]!==i&&t!==l&&e.__mark(t,`rowspan`,t.rowSpan+1,c)}),P.after(P.closest(l,`tr`,t),a),a.appendChild(i)):(e.__mark(l,`rowspan`,l.rowSpan-1,c),e.__formalMatrix(t,(e,n,i)=>{n>r[0]&&n<r[0]+l.rowSpan&&r[1]>i&&e.parentNode.rowIndex===n&&(s=e),r[0]<n&&e===l&&(o=t.rows[n])}),s?P.after(s,i):o.insertBefore(i,o.firstChild)),l.colSpan>1&&e.__mark(i,`colspan`,l.colSpan,c),e.__unmark(c),Jf(n).removeSelection(l)}),this.__normalizeTable(t)}splitHorizontal(t){return e.__splitHorizontal(t,this.j)}static __splitVertical(t,n){let r,i,a,o=[];e.__getSelectedCellsByTable(t).forEach(s=>{r=e.__formalCoordinate(t,s),s.colSpan<2?e.__formalMatrix(t,(t,n,i)=>{r[1]===i&&r[0]!==n&&t!==s&&e.__mark(t,`colspan`,t.colSpan+1,o)}):e.__mark(s,`colspan`,s.colSpan-1,o),i=n.createInside.element(`td`),i.appendChild(n.createInside.element(`br`)),s.rowSpan>1&&e.__mark(i,`rowspan`,s.rowSpan,o);let c=s.offsetWidth;P.after(s,i),a=c/t.offsetWidth/2,e.__mark(s,`width`,(a*100).toFixed(10)+`%`,o),e.__mark(i,`width`,(a*100).toFixed(10)+`%`,o),e.__unmark(o),Jf(n).removeSelection(s)}),e.__normalizeTable(t)}splitVertical(t){return e.__splitVertical(t,this.j)}static __setColumnWidthByDelta(t,n,r,i,a){let o=e.__formalMatrix(t),s=0;for(let i=0;i<o.length;i+=1){let c=o[i][n];if(c.colSpan>1&&o.length>1)continue;let l=(c.offsetWidth+r)/t.offsetWidth*100;e.__mark(c,`width`,l.toFixed(10)+`%`,a),s=i;break}for(let t=s+1;t<o.length;t+=1){let r=o[t][n];e.__mark(r,`width`,null,a)}i||e.__unmark(a)}setColumnWidthByDelta(t,n,r,i,a){return e.__setColumnWidthByDelta(t,n,r,i,a)}static __mark(e,t,n,r){r.push(e);let i=Kf.get(e)??{};i[t]=n===void 0?1:n,Kf.set(e,i)}
500static __unmark(e){e.forEach(e=>{let t=Kf.get(e);t&&(Object.keys(t).forEach(n=>{let r=t[n];switch(n){case`remove`:P.safeRemove(e);break;case`rowspan`:N(e,`rowspan`,Fs(r)&&r>1?r:null);break;case`colspan`:N(e,`colspan`,Fs(r)&&r>1?r:null);break;case`width`:r==null?(e.style.removeProperty(`width`),N(e,`style`)||N(e,`style`,null)):e.style.width=r.toString()}delete t[n]}),Kf.delete(e))})}};qf.__selectedByTable=new WeakMap,Gf([tu()],qf.prototype,`__recalculateStyles`,null);var Jf=e=>e.getInstance(`Table`,e.o),Yf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Xf=class extends wu{className(){return`ToolbarButton`}getRole(){return`listitem`}updateAriaLabel(){if(super.updateAriaLabel(),this.trigger){let e=this.state.tooltip?this.jodit.i18n(this.state.tooltip):null;N(this.trigger,`aria-label`,e)}}get toolbar(){let e=Gs(`ToolbarCollection`);return this.closest(e)}update(){var e;let{control:t,state:n}=this,r=this.toolbar;if(!r)return;let i=t.value?.call(t,r.jodit,this);i!==void 0&&(n.value=i),n.disabled=this.__calculateDisabledStatus(r),n.activated=this.__calculateActivatedStatus(r),(e=t.update)==null||e.call(t,r.jodit,this)}__calculateActivatedStatus(e){var t;return Ms(this.j)&&!this.j.editorIsActive?!1:(t=this.control).isActive?.call(t,this.j,this)?!0:!!(e&&e.shouldBeActive(this))}__calculateDisabledStatus(e){var t;return this.j.o.disabled||this.j.o.readonly&&(!this.j.o.activeButtonsInReadOnly||!this.j.o.activeButtonsInReadOnly.includes(this.control.name))||(t=this.control).isDisabled?.call(t,this.j,this)?!0:!!(e&&e.shouldBeDisabled(this))}onChangeActivated(){N(this.button,`aria-pressed`,this.state.activated),super.onChangeActivated()}onChangeText(){k(this.control.template)?this.text.innerHTML=this.control.template(this.j,this.control.name,this.j.i18n(this.state.text)):super.onChangeText(),this.setMod(`text-icons`,!!this.text.innerText.trim().length)}onChangeTabIndex(){N(this.button,`tabindex`,this.state.tabIndex)}createContainer(){let e=this.componentName,t=this.j.c.span(e),n=super.createContainer();n.classList.remove(e),n.classList.add(e+`__button`),Object.defineProperty(n,"component",{value:this,configurable:!0}),t.appendChild(n);let r=this.j.c.fromHTML(`<span role="button" aria-haspopup="true" aria-expanded="false" class="${e}__trigger">${vu.get(`chevron`)}</span>`);return n.appendChild(r),t}focus(){var e;(e=this.container.querySelector(`button`))==null||e.focus()}onChangeHasTrigger(){this.state.hasTrigger?this.container.appendChild(this.trigger):P.safeRemove(this.trigger),this.setMod(`with-trigger`,this.state.hasTrigger||null)}onChangeDisabled(){let e=this.state.disabled?`disabled`:null;N(this.trigger,`disabled`,e),N(this.button,`disabled`,e),N(this.container,`disabled`,e)}constructor(e,t,n=null){super(e),this.control=t,this.target=n,this.state={...Cu(),theme:`toolbar`,currentValue:``,hasTrigger:!1},this.openedPopup=null;let r=this.getElm(`button`);Uo(r,`Element button should exists`),this.button=r,Object.defineProperty(r,"component",{value:this,configurable:!0});let i=this.getElm(`trigger`);Uo(i,`Element trigger should exists`),this.trigger=i,i.remove(),e.e.on([this.button,this.trigger],`mousedown`,e=>e.preventDefault()),this.onAction(this.onClick),this.hookStatus(Oo.ready,()=>{this.__initFromControl(),this.update()}),t.mods&&Object.keys(t.mods).forEach(e=>{t.mods&&this.setMod(e,t.mods[e])})}__initFromControl(){let{control:e,state:t}=this;this.updateSize(),t.name=e.name,this.__initIconFromControl(),e.tooltip&&(t.tooltip=k(e.tooltip)?e.tooltip(this.j,e,this):e.tooltip),t.hasTrigger=!!(e.list||e.popup&&e.exec)}__initIconFromControl(){let{control:e,state:t}=this,{textIcons:n}=this.j.o;if(n===!0||k(n)&&n(e.name)||e.template){t.icon=Cu().icon,t.text=e.text||e.name;return}if(!j(e.icon)&&e.icon!=null){t.icon={name:e.icon.name||e.name,iconURL:e.icon.iconURL||``,fill:e.icon.fill||``,scale:e.icon.scale};return}if(e.iconURL)t.icon.iconURL=e.iconURL;else{let n=e.icon||e.name;t.icon.name=vu.exists(n)||this.j.o.extraIcons?.[n]?n:``}!e.iconURL&&!t.icon.name&&(t.text=e.text||e.name)}onTriggerClick(e){if(this.openedPopup){this.__closePopup();return}let{control:t}=this;if(N(this.trigger,`aria-expanded`,!0),e.buffer={actionTrigger:this},t.list)return this.__openControlList(t);if(k(t.popup)){let e=this.openPopup();e.parentElement=this;try{if(this.j.e.fire(es(`before-${t.name}-open-popup`),this.target,t,e)!==!1){let n=this.toolbar?.getTarget(this)??this.target??null,r=t.popup(this.j,n,this.__closePopup,this);r?e.setContent(j(r)?this.j.c.fromHTML(r):r).open(()=>Kl(this.container),!1,this.j.o.allowTabNavigation?this.container:void 0):this.__closePopup()}}catch(e){throw this.__closePopup(),e}
500this.j.e.fire(es(`after-${t.name}-open-popup`),e.container)}}__openControlList(e){let t=this.jodit.options.controls??{},n=e=>dd(e,t),r=e.list,i=this.openPopup(),a=Ld(this.j);i.parentElement=this,a.parentElement=i,a.mode=`vertical`;let o=e=>Go(e)&&`title`in e&&`value`in e,s=(t,r)=>{if(j(r)&&n(r))return{name:r.toString(),...n(r)};if(j(t)&&n(t))return{name:t.toString(),...n(t),...typeof r==`object`?r:{}};o(t)&&(r=t.value,t=t.title);let{childTemplate:i}=e,a={name:t.toString(),template:i&&((e,t,n)=>i(e,t,n,this)),exec:e.childExec?(t,n,r)=>e.childExec?.call(e,t,n,{...r,parentControl:e}):e.exec,data:e.data,command:e.command,isActive:e.isChildActive,value:e.value,isDisabled:e.isChildDisabled,mode:e.mode,args:[...e.args?e.args:[],t,r]};return j(r)&&(a.text=r),a};a.build(Ao(r)?r.map(s):_s(r,!1).map(e=>s(e,r[e])),this.target),i.setContent(a).open(()=>Kl(this.container),!1,this.j.o.allowTabNavigation?this.container:void 0),this.state.activated=!0}onOutsideClick(e){this.openedPopup&&(!e||!P.isNode(e.target)||!P.isOrContains(this.container,e.target)&&!this.openedPopup.isOwnClick(e))&&this.__closePopup()}openPopup(){return this.__closePopup(),this.openedPopup=new _d(this.j,!1),this.j.e.on(this.ow,`mousedown touchstart`,this.onOutsideClick).on(`escape closeAllPopups`,this.onOutsideClick),this.openedPopup}__closePopup(){this.openedPopup&&(this.j.e.off(this.ow,`mousedown touchstart`,this.onOutsideClick).off(`escape closeAllPopups`,this.onOutsideClick),this.state.activated=!1,this.openedPopup.close(),this.openedPopup.destruct(),this.openedPopup=null,this.trigger&&N(this.trigger,`aria-expanded`,!1))}onClick(e){var t,n;let{control:r}=this;if(k(r.exec)){let i=this.toolbar?.getTarget(this)??this.target??null,a=r.exec(this.j,i,{control:r,originalEvent:e,button:this});if(a!==!1&&a!==!0&&((t=this.j?.e)==null||t.fire(`synchro`),this.parentElement&&this.parentElement.update(),(n=this.j?.e)==null||n.fire(`closeAllPopups afterExec`)),a!==!1)return}if(r.list)return this.__openControlList(r);if(k(r.popup))return this.onTriggerClick(e);(r.command||r.name)&&(fs(Ms(this.j)?this.j.execCommand.bind(this.j):this.j.od.execCommand.bind(this.j.od),r.command||r.name,!1,r.args&&r.args[0]),this.j.e.fire(`closeAllPopups`))}destruct(){return this.__closePopup(),super.destruct()}};Yf([Bs],Xf.prototype,`createContainer`,null),Yf([I(`state.hasTrigger`,{immediately:!1})],Xf.prototype,`onChangeHasTrigger`,null),Yf([I(`trigger:click`)],Xf.prototype,`onTriggerClick`,null),Yf([A],Xf.prototype,`onOutsideClick`,null),Yf([A],Xf.prototype,`__closePopup`,null),Xf=Yf([Ws],Xf);var Zf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},L=class extends wu{className(){return`ToolbarContent`}update(){var e;let{control:t}=this,n=t.getContent(this.j,this);(j(n)||n.parentNode!==this.container)&&(P.detach(this.container),this.container.appendChild(j(n)?this.j.create.fromHTML(n):n)),this.state.disabled=!!t.isDisabled?.call(t,this.j,this),this.state.activated=!!t.isActive?.call(t,this.j,this),(e=t.update)==null||e.call(t,this.j,this),this.onChangeDisabled(),this.onChangeActivated(),super.update()}onChangeDisabled(){super.onChangeDisabled(),this.container.querySelectorAll(`input,button,select,textarea`).forEach(e=>N(e,`disabled`,this.state.disabled||null))}createContainer(){return this.j.c.span(this.componentName)}constructor(e,t,n=null){super(e),this.control=t,this.target=n,this.container.classList.add(`${this.componentName}_${this.clearName(t.name)}`),N(this.container,`role`,`content`)}};L=Zf([Ws],L);var Qf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$f=class extends Xf{className(){return`ToolbarSelect`}update(){var e;
500super.update(),this.state.icon.name=``;let{list:t,data:n}=this.control;if(t){let r=this.state.value||(n&&j(n.currentValue)?n.currentValue:void 0);r||=Object.keys(t)[0];let i=(Go(t)&&t[r.toString()]||r).toString();this.state.text=(e=this.control).textTemplate?.call(e,this.jodit,i)??i}}};$f=Qf([Ws],$f);var ep=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tp=class extends md{className(){return`ToolbarCollection`}getRole(){return`toolbar`}get firstButton(){let[e]=this.buttons;return e||null}makeButton(e,t=null){return Rd(this.j,e,t)}makeSelect(e,t=null){return zd(this.j,e,t)}shouldBeActive(e){}shouldBeDisabled(e){}getTarget(e){return e.target||null}__immediateUpdate(){this.isDestructed||this.j.isLocked||(super.update(),this.j.e.fire(`afterUpdateToolbar`,this))}update(){this.__immediateUpdate()}setDirection(e){this.container.style.direction=e,this.container.setAttribute(`dir`,e)}constructor(e){super(e),this.__listenEvents=`updatePlugins updateToolbar changeStack mousedown mouseup keydown change readonly afterResize selectionchange changeSelection focus afterSetMode touchstart focus blur`}__initEvents(){this.j.e.on(this.__listenEvents,this.update).on(`afterSetMode focus`,this.__immediateUpdate)}hide(){this.container.remove()}show(){this.appendTo(this.j.toolbarContainer)}showInline(e){throw cs(`The method is not implemented for this class.`)}build(e,t=null){let n=this.j.e.fire(`beforeToolbarBuild`,e);return n&&(e=n),super.build(e,t),this}destruct(){this.isDestructed||(this.j.e.off(this.__listenEvents,this.update).off(`afterSetMode focus`,this.__immediateUpdate),super.destruct())}};ep([I(`:afterInit`),A],tp.prototype,`__immediateUpdate`,null),ep([tu(e=>e.j.defaultTimeout,!0)],tp.prototype,`update`,null),ep([iu(`ready`)],tp.prototype,`__initEvents`,null),tp=ep([Ws],tp);var np=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},rp=class extends tp{className(){return`ToolbarEditorCollection`}shouldBeDisabled(e){let t=super.shouldBeDisabled(e);if(t!==void 0)return t;let n=e.control.mode===void 0?1:e.control.mode;return n!==3&&n!==this.j.getRealMode()}shouldBeActive(e){let t=super.shouldBeActive(e);if(t!==void 0)return t;let n=this.j.selection?this.j.s.current():null;if(!n)return!1;let r;if(e.control.tags){let t=e.control.tags;if(r=n,P.up(r,e=>{if(e&&t.indexOf(e.nodeName.toLowerCase())!==-1)return!0},this.j.editor))return!0}if(e.control.css){let t=e.control.css;if(r=n,P.up(r,e=>{if(e&&!P.isText(e)&&!P.isComment(e))return this.checkActiveStatus(t,e)},this.j.editor))return!0}return!1}getTarget(e){return e.target||this.j.s.current()||null}constructor(e){super(e),this.checkActiveStatus=(e,t)=>{let n=0,r=0;return Object.keys(e).forEach(i=>{let a=e[i];k(a)?a(this.j,M(t,i).toString())&&(n+=1):a.indexOf(M(t,i).toString())!==-1&&(n+=1),r+=1}),r===n},this.prependInvisibleInput(this.container)}prependInvisibleInput(e){let t=this.j.create.element(`input`,{name:`jodit-toolbar-focus-helper_`+this.j.id,tabIndex:-1,disabled:!0,style:`width: 0; height:0; position: absolute; visibility: hidden;`});P.appendChildFirst(e,t)}showInline(e){this.jodit.e.fire(`showInlineToolbar`,e)}hide(){this.jodit.e.fire(`hidePopup`),super.hide(),this.jodit.e.fire(`toggleToolbar`)}show(){super.show(),this.jodit.e.fire(`toggleToolbar`)}};rp=np([Ws],rp);function ip(e,t){if(k(e.o.buildData))return e.o.buildData.call(e,t);let n=e.ow.FormData;if(n!==void 0){if(t instanceof n||j(t))return t;let e=new n,r=t;return Object.keys(r).forEach(t=>{e.append(t,r[t])}),e}return t}var ap=new WeakMap;function op(e,t){let n=ip(e,t),r=t=>{e.j.progressbar.show().progress(t),t>=100&&e.j.progressbar.hide()},i=(t,n)=>{let r=new hu({xhr:()=>{let t=new XMLHttpRequest;return e.j.ow.FormData!==void 0&&t.upload?(n(10),t.upload.addEventListener(`progress`,e=>{if(e.lengthComputable){let t=e.loaded/e.total;t*=100,n(t)}},!1)):n(100),t},method:e.o.method||`POST`,data:t,url:k(e.o.url)?e.o.url(t):e.o.url,headers:e.o.headers,queryBuild:e.o.queryBuild,contentType:e.o.contentType.call(e,t),withCredentials:e.o.withCredentials||!1}),i=ap.get(e);
500return i||(i=new Set,ap.set(e,i)),i.add(r),e.j.e.one(`beforeDestruct`,r.destruct),r.send().then(e=>e.json()).catch(e=>({success:!1,data:{messages:[e]}})).finally(()=>{r.destruct(),i?.delete(r)})};return k(e.o.customUploadFunction)&&(i=e.o.customUploadFunction),ds(n)?n.then(e=>i(e,r)).catch(t=>{e.o.error.call(e,t)}):i(n,r)}function sp(e,t,n,r,i){if(!t)return Promise.reject(cs(`Need files`));let{o:a}=e,o=Io(t);if(!o.length)return Promise.reject(cs(`Need files`));if(k(a.beforeUpload)&&a.beforeUpload.call(e,o)===!1){let t=cs(`Upload canceled`);return(r||a.defaultHandlerError).call(e,t),Promise.reject(t)}let s=[];if(a.insertImageAsBase64URI&&cp(o,a.imagesExtensions,s,e,n,a.defaultHandlerSuccess),o=o.filter(e=>e),o.length){let t=new FormData;t.append(a.pathVariableName,e.path),t.append(`source`,e.source);let c;for(let n=0;n<o.length;n+=1)if(c=o[n],c){let r=/\.\w+$/.test(c.name),i=c.type.match(/\/([a-z0-9]+)/i),s=i&&i[1]?i[1].toLowerCase():``,l=o[n].name||Math.random().toString().replace(`.`,``);if(!r&&s){let e=s;[`jpeg`,`jpg`].includes(e)&&(e=`jpeg|jpg`),RegExp(`.(`+e+`)$`,`i`).test(l)||(l+=`.`+s)}let[u,d,f]=a.processFileName.call(e,a.filesVariableName(n),o[n],l);t.append(u,d,f)}i&&i(t),a.data&&Go(a.data)&&Object.keys(a.data).forEach(e=>{t.append(e,a.data[e])}),a.prepareData.call(e,t),s.push(op(e,t).then(t=>a.isSuccess.call(e,t)?((k(n)?n:a.defaultHandlerSuccess).call(e,a.process.call(e,t)),t):((k(r)?r:a.defaultHandlerError).call(e,cs(a.getMessage.call(e,t))),t)).then(()=>{e.j.events&&e.j.e.fire(`filesWereUploaded`)}))}return Promise.all(s)}function cp(e,t,n,r,i,a){let o,s;for(s=0;s<e.length;s+=1)if(o=e[s],o&&o.type){let c=o.type.match(/\/([a-z0-9]+)/i),l=c[1]?c[1].toLowerCase():``;if(!t.includes(l))continue;let u=new FileReader;n.push(r.j.async.promise((e,t)=>{u.onerror=t,u.onloadend=()=>{let t={baseurl:``,files:[u.result],isImages:[!0]};(k(i)?i:a).call(r,t),e(t)},u.readAsDataURL(o)})),e[s]=null}}function lp(e){return!!(e&&e.files&&e.files.length>0)}function up(e){return!!(e&&e.items&&e.items.length>0)}F.prototype.enableDragAndDropFileToEditor=!0,F.prototype.uploader={url:``,insertImageAsBase64URI:!1,imagesExtensions:[`jpg`,`jpeg`,`png`,`gif`,`webp`,`bmp`,`svg`,`tiff`,`avif`],headers:null,data:null,filesVariableName(e){return`files[${e}]`},withCredentials:!1,pathVariableName:`path`,format:`json`,method:`POST`,prepareData(e){return e},isSuccess(e){return e.success},getMessage(e){return e.data.messages!==void 0&&Ao(e.data.messages)?e.data.messages.join(` `):``},processFileName(e,t,n){return[e,t,n]},process(e){return e.data},error(e){this.j.message.error(e.message,4e3)},getDisplayName(e,t){return e+t},defaultHandlerSuccess(e){let t=this.j||this;Ms(t)&&e.files&&e.files.length&&e.files.forEach((n,r)=>{let[i,a]=e.isImages&&e.isImages[r]?[`img`,`src`]:[`a`,`href`],o=t.createInside.element(i);o.setAttribute(a,e.baseurl+n),i===`a`&&(o.textContent=t.o.uploader.getDisplayName.call(this,e.baseurl,n)),i===`img`?t.s.insertImage(o,null,t.o.imageDefaultWidth):t.s.insertNode(o)})},defaultHandlerError(e){this.j.message.error(e.message)},contentType(e){return this.ow.FormData!==void 0&&typeof e!=`string`?!1:`application/x-www-form-urlencoded; charset=UTF-8`}};var dp=class extends eu{get j(){return this.jodit}className(){return`Uploader`}get o(){return this.options}setPath(e){return this.path=e,this}setSource(e){return this.source=e,this}bind(e,t,n){let r=()=>{e.classList.remove(`jodit_drag_hover`)},i=this,a=e=>{let a,o,s,c=e.clipboardData,l=e=>{o&&(e.append(`extension`,s),e.append(`mimetype`,o.type))};if(!oo&&lp(c))return sp(i,c.files,t,n).finally(r),!1;if(up(c)){let{items:u}=c;for(a=0;a<u.length;a+=1)if(u[a].kind===`file`&&u[a].type===`image/png`){if(o=u[a].getAsFile(),o){let e=o.type.match(/\/([a-z0-9]+)/i);s=e[1]?e[1].toLowerCase():``,sp(i,[o],t,n,l).finally(r)}e.preventDefault();break}}};i.j&&i.j.editor!==e?i.j.e.on(e,`paste`,a):i.j.e.on(`beforePaste`,a),this.attachEvents(e,t,n,r)}attachEvents(e,t,n,r){let i=this;i.j.e.on(e,`dragend dragover dragenter dragleave drop`,e=>{e.preventDefault()}).on(e,`dragover`,t=>{(lp(t.dataTransfer)||up(t.dataTransfer))&&(e.classList.add(`jodit_drag_hover`),t.preventDefault())}).on(e,`dragend dragleave`,t=>{e.classList.remove(`jodit_drag_hover`),lp(t.dataTransfer)&&t.preventDefault()}).on(e,`drop`,a=>{e.classList.remove(`jodit_drag_hover`),lp(a.dataTransfer)&&(a.preventDefault(),a.stopImmediatePropagation(),sp(i,a.dataTransfer.files,t,n).finally(r))});let a=e.querySelector(`input[type=file]`);a&&i.j.e.on(a,`change`,()=>{sp(i,a.files,t,n).then(()=>
500{a.value=``,/safari/i.test(navigator.userAgent)||(a.type=``,a.type=`file`)}).finally(r)})}uploadRemoteImage(e,t,n){let r=this,{o:i}=r,a=k(n)?n:i.defaultHandlerError;op(r,{action:`fileUploadRemote`,url:e}).then(e=>{if(i.isSuccess.call(r,e)){(k(t)?t:i.defaultHandlerSuccess).call(r,i.process.call(r,e));return}a.call(r,cs(i.getMessage.call(r,e)))}).catch(e=>a.call(r,e))}upload(e){return this.async.promise((t,n)=>{sp(this,e,t,n)})}constructor(e,t){super(e),this.path=``,this.source=`default`,this.options=tl(t||{},tl(F.defaultOptions.uploader,Ms(e)?e.o.uploader:{}))}destruct(){this.setStatus(Oo.beforeDestruct);let e=ap.get(this);e&&(e.forEach(e=>{try{e.destruct()}catch{}}),e.clear()),super.destruct()}};function fp(e,t,n){let r=e;for(;r&&r!==n;){if(P.findSibling(r,t))return;if(P.isBlock(r.parentElement))break;r=r.parentElement,r&&r!==n&&(t?P.before(r,e):P.after(r,e))}}var pp=`wrap`,mp=`unwrap`,hp=`change`,gp=`unset`,_p=`initial`,vp=`replace`,yp=`commitStyle`;function bp(e,t,n){let r=n.s.createRange(),i=Ps(t.previousSibling)?t.previousSibling:t;r.setStartBefore(e),r.setEndBefore(i),xp(e,r,!0);let a=Ps(t.nextSibling)?t.nextSibling:t;r.setStartAfter(a),r.setEndAfter(e),xp(e,r,!1)}function xp(e,t,n){let r=t.extractContents();(!r.textContent||!zo(r.textContent).length)&&r.firstChild&&P.unwrap(r.firstChild),e.parentNode&&fs(n?P.before:P.after,e,r)}var Sp=class{setState(e){Uo(!this.__previewsStates.has(e),`Circled states`),this.__previewsStates.add(e),this.__state=e}getState(){return this.__state}disableSilent(){this.silent=!1}constructor(e,t){this.transitions=t,this.silent=!0,this.__previewsStates=new Set,this.setState(e)}dispatch(e,t){let n=this.transitions[this.getState()][e];if(n){let e=n.call(this,t);return Uo(e&&e!==t,`Action should return new value`),Uo(j(e.next),`Value should contain the next state`),Uo(e.next!==this.getState(),`The new state should not be equal to the old one.`),this.setState(e.next),e}throw Error(`invalid action: ${this.getState()}.${e.toString()}`)}};function Cp(e){return!!(e&&!P.isEmptyTextNode(e)&&!P.isTemporary(e)&&!Ps(e))}function wp(e,t){return!!(!P.isTag(e,`font`)&&P.isHTMLElement(e)&&Object.keys(t).every(n=>{let r=M(e,n,!0);
500return r===``&&(t[n]===``||t[n]==null)||!Mo(r)&&r!==``&&!Mo(t[n])&&$o(n,t[n]).toString().toLowerCase()===r.toString().toLowerCase()}))}if(Ha){let e=Ha.createElement(`div`);e.style.color=`red`,Uo(wp(e,{color:`red`}),`Style test`),Uo(wp(e,{fontSize:null}),`Style test`),Uo(wp(e,{fontSize:``}),`Style test`)}function Tp(e,t){return!!(!P.isTag(e,`font`)&&P.isHTMLElement(e)&&Object.keys(t).every(t=>M(e,t,!0)!==``))}if(Ha){let e=Ha.createElement(`div`);e.style.color=`red`,Uo(Tp(e,{color:`red`}),`Style test`),Uo(!Tp(e,{font:`Arial`,color:`red`}),`Style test`),Uo(!Tp(e,{border:`1px solid #ccc`}),`Style test`)}function Ep(e,t,n,r=!0){if(!t||!Cp(t))return!1;let{element:i,elementIsDefault:a,options:o}=e;if(P.isList(t)&&e.elementIsList)return!0;let s=P.isTag(t,i);return s&&!(a&&n)||o.attributes?.style&&(r?wp(t,o.attributes.style):Tp(t,o.attributes.style))&&!e.elementIsList?!0:!s&&!n&&a&&P.isInlineBlock(t)}function Dp(e,t,n){return P.closest(t,t=>Ep(e,t,!0,!1),n)}function Op(e,t){let{element:n,options:r}=e;if(!t||!Cp(t))return!1;let i=t.nodeName.toLowerCase()===n,a=!!(r.attributes?.style&&Tp(t,r.attributes?.style));return i&&a}function kp(e,t){let{firstChild:n}=t;for(;n&&!Cp(n);)if(n=n.nextSibling,!n)return null;return n&&!P.next(n,Cp,t)&&Ep(e,n,!1)?n:null}function Ap(e,t,n){let{parentNode:r}=t;return r===n||!P.isHTMLElement(r)||P.next(t,Cp,r)||P.prev(t,Cp,r)?null:e.isElementCommit&&e.elementIsBlock&&!P.isBlock(r)?Ap(e,r,n):Ep(e,r,!1)&&(!P.isBlock(r)||e.elementIsBlock)?r:e.isElementCommit&&!P.isBlock(r)?Ap(e,r,n):null}function jp(e,t){return!!P.closest(e,[`style`,`script`],t)}function Mp(e,t){return!Wl(t)||(Uo(t,`Attrs must be a non-empty object`),Object.keys(t).every(n=>n===`class`||n===`className`?e.classList.contains(t[n]):n===`style`?wp(e,t[n]):N(e,n)===t[n]))}function Np(e,t){return e.attributes.length===t.attributes.length&&Array.from(e.attributes).every(e=>t.hasAttribute(e.name)&&t.getAttribute(e.name)===e.value)}var Pp=`toggleAttributes`;function Fp(e,t,n,r,i=!1){if(!i&&e.isApplied(t,Pp))return r;!i&&e.setApplied(t,Pp);let{attributes:a}=e.options;return a&&Wl(a)>0&&Object.keys(a).forEach(o=>{let s=a[o];switch(o){case`style`:r=Ip(e,n,s,t,i,r);break;case`className`:case`class`:r=Lp(n,s,t,r,i);break;default:r=Rp(n,s,t,o,i,r)}}),r}function Ip(e,t,n,r,i,a){return Uo(Go(n)&&Wl(n),`Style must be an object`),Object.keys(n).forEach(o=>{let s=r.style.getPropertyValue(Ko(o)),c=n[o];if(s!==``||c!=null){if(Vp(t,r,o)===$o(o,c)){if(!s)return;!i&&M(r,o,null),a=gp,a=zp(e,r,a);return}a=hp,i||(M(r,o,c),a=zp(e,r,a))}}),a}function Lp(e,t,n,r,i){Uo(j(t),`Class name must be a string`);let a=e.e.fire.bind(e.e,`${yp}AfterToggleAttribute`);return n.classList.contains(t.toString())?(r=gp,i||(n.classList.remove(t),n.classList.length===0&&(N(n,`class`,null),a(r,n,`class`,null)))):(r=hp,i||(n.classList.add(t),a(r,n,`class`,t))),r}function Rp(e,t,n,r,i,a){Uo(j(t)||Fs(t)||Jo(t)||t==null,`Attribute value must be a string or number or boolean or null`);let o=e.e.fire.bind(e.e,`${yp}AfterToggleAttribute`);return N(n,r)===(t==null?t:String(t))?(!i&&N(n,r,null),a=gp,!i&&o(a,n,r,t),a):(a=hp,i||(N(n,r,t),o(a,n,r,t)),a)}function zp(e,t,n){return N(t,`style`)||(N(t,`style`,null),t.tagName.toLowerCase()===e.defaultTag&&(P.unwrap(t),n=mp)),n}function Bp(e){if(is(e,`shadowRoot`)!==void 0)return is(e,`shadowRoot`);let t=Ac(e),n=Ha.createElement(`iframe`);M(n,{width:0,height:0,position:`absolute`,border:0}),n.src=`about:blank`,t.appendChild(n);let r=n.contentWindow?.document,i=r?r.body:e.od.body;return is(e,`shadowRoot`,i),i}function Vp(e,t,n){let r=Bp(e),i=e.create.element(`div`);i.style.color=M(e.editor,`color`);let a=e.create.element(t.tagName.toLowerCase());a.style.cssText=t.style.cssText,i.appendChild(a),r.appendChild(i);let o=M(a,n);return P.safeRemove(i),o}function Hp(e,t,n){let r=n.e.fire(`${yp}BeforeWrapList`,vp,t,e)??P.replace(t,`li`,n.createInside),i=r.previousElementSibling,a=r.nextElementSibling,o=P.isTag(i,e.element)?i:null;return o??=P.isTag(a,e.element)?a:null,(!P.isList(o)||!Mp(o,e.options.attributes))&&(o=n.createInside.element(e.element),Fp(e,o,n,_p),P.before(r,o)),i===o?P.append(o,r):P.prepend(o,r),P.isTag(o.nextElementSibling,e.element)&&Np(o,o.nextElementSibling)&&(P.append(o,Array.from(o.nextElementSibling.childNodes)),P.safeRemove(o.nextElementSibling)),n.e.fire(`${yp}AfterWrapList`,pp,o,e),o}function Up(e,t,n,r){if(!t)return r;let i=t.parentElement;if(!i)return r;let a=n.e.fire(`${yp}BeforeToggleList`,r,e,i);if(a!==void 0)return a;let o=n.e.fire.bind(n.e,`${yp}AfterToggleList`);if(r!==`unwrap`){let a=Fp(e,t.parentElement,n,_p,!0)===hp;if(r===`replace`||a||i.tagName.toLowerCase()!==e.element)return o(vp,Hp(e,Wp(vp,i,t,n,e),n),e),vp}return o(mp,Wp(mp,i,t,n,e),e),mp}function Wp(e,t,n,r,i){let a=r.e.fire(`${yp}BeforeUnwrapList`,e,t,i);return a?(Uo(P.isHTMLElement(a),`${yp}BeforeUnwrapList hook must return HTMLElement`),a):(bp(t,n,r),Uo(P.isHTMLElement(n.parentElement),`Element should be inside the list`),P.unwrap(n.parentElement),e===`replace`?n:P.replace(n,r.o.enter.toLowerCase()===`br`?r.createInside.fragment():r.o.enter,r.createInside))}function Gp(e,t){let n=[],r=[],i,a=e.options.attributes?.style;if(t.firstChild){let o=P.eachGen(t),s=o.next();for(;!s.done;){let t=s.value;Ep(e,t,!0)&&(!a||Tp(t,a))?(i===void 0&&(i=!0),n.push(t)):a&&Op(e,t)?(i===void 0&&(i=!1),r.push(()=>{M(t,Object.keys(a).reduce((e,t)=>
500(e[t]=null,e),{})),N(t,`style`)||N(t,`style`,null),!N(t,`style`)&&t.nodeName.toLowerCase()===e.element&&n.push(t)})):P.isEmptyTextNode(t)||i===void 0&&(i=!1),s=o.next()}}return r.forEach(e=>e()),n.forEach(P.unwrap),!!i}function Kp(e,t,n){let r=n.editor,i=n.createInside,a=(e,t=`previousSibling`)=>{let i=e,a=e;for(;a&&!Ps(a)&&!(P.isTag(a,n.o.enter)||(i=a,a=a[t]?a[t]:a.parentNode&&!P.isBlock(a.parentNode)&&a.parentNode!==r?a.parentNode:null,P.isBlock(a))););return i},o=a(t),s=a(t,`nextSibling`),c=n.s.createRange();c.setStartBefore(o),c.setEndAfter(s);let l=c.extractContents(),u=i.element(e.element);return u.appendChild(l),P.safeInsertNode(c,u),e.elementIsBlock&&P.isEmpty(u)&&!P.isTag(u.firstElementChild,`br`)&&u.appendChild(i.element(`br`)),u}function qp(e,t,n){let r=Yp(e,t,n);if(e.elementIsList)return Hp(e,r,n);let i=P.replace(r,e.element,n.createInside,!0);return e.elementIsBlock&&(M(i,`fontSize`,null),M(i,`fontWeight`,null),N(i,`style`)||N(i,`style`,null)),i}var Jp=new Set([`td`,`th`,`tr`,`tbody`,`table`,`li`,`ul`,`ol`]);function Yp(e,t,n){return e.elementIsBlock?P.up(t,e=>P.isBlock(e)&&!P.isTag(e,Jp),n.editor)||Kp(e,t,n):(N(t,`size`,null),t)}var Xp={START:`START`,ELEMENT:`ELEMENT`,UNWRAP:`UNWRAP`,UNWRAP_CHILDREN:`UNWRAP_CHILDREN`,CHANGE:`CHANGE`,REPLACE_DEFAULT:`REPLACE_DEFAULT`,LIST:`LIST`,TOGGLE_LIST:`TOGGLE_LIST`,WRAP:`WRAP`,EXTRACT:`EXTRACT`,END:`END`},Zp={[Xp.START]:{exec(e){let{element:t,jodit:n,style:r,mode:i,collapsed:a}=e;if(jp(t,n.editor)||!a&&P.isEmptyContent(t))return{...e,next:Xp.END};let o=Ap(r,t,n.editor)||kp(r,t);if(o)return{...e,next:Xp.ELEMENT,element:o};let s=Dp(r,t,n.editor);return r.elementIsList&&P.isList(s)?{...e,next:Xp.LIST}:s?{...e,next:Xp.EXTRACT}:{...e,next:i===`unwrap`?Xp.END:Xp.UNWRAP_CHILDREN}}},[Xp.LIST]:{exec(e){let{element:t,jodit:n,mode:r}=e;if(r!==`initial`&&r!==`unwrap`&&r!==`replace`)return{...e,next:Xp.END};let i=P.closest(t,`li`,n.editor);return i&&P.closest(t,Ga,n.editor)?{...e,element:i,next:Xp.TOGGLE_LIST}:{...e,next:Xp.END}}},[Xp.TOGGLE_LIST]:{exec(e){return{...e,mode:Up(e.style,e.element,e.jodit,e.mode),next:Xp.END}}},[Xp.EXTRACT]:{exec(e){let{element:t,jodit:n,style:r}=e,i=Dp(r,t,n.editor);return Uo(i,`This place should have an element`),!r.elementIsBlock&&r.options.attributes?.style&&P.isBlock(i)?{...e,next:Xp.WRAP}:(r.elementIsBlock||bp(i,t,n),{...e,element:i,next:Xp.ELEMENT})}},[Xp.UNWRAP_CHILDREN]:{exec(e){let{element:t,style:n}=e;return Gp(n,t)?{...e,mode:mp,next:Xp.END}:{...e,next:Xp.WRAP}}},[Xp.WRAP]:{exec(e){let{element:t,jodit:n,style:r}=e,i=qp(r,t,n);return{...e,next:r.elementIsList?Xp.END:Xp.CHANGE,mode:pp,element:i}}},[Xp.ELEMENT]:{exec(e){let{style:t,element:n,jodit:r}=e;return Fp(t,n,r,`initial`,!0)===`initial`?P.isTag(n,t.element)?{...e,next:Xp.UNWRAP}:{...e,next:Xp.END}:{...e,next:Xp.CHANGE}}},[Xp.CHANGE]:{exec(e){let{style:t,element:n,jodit:r,mode:i}=e,a=Fp(t,n,r,e.mode);return i!==`wrap`&&a===`unset`&&!n.attributes.length&&P.isTag(n,t.element)?{...e,next:Xp.UNWRAP}:{...e,mode:a,next:Xp.END}}},[Xp.UNWRAP]:{exec(e){return e.element.attributes.length&&P.isTag(e.element,e.style.element)?{...e,next:Xp.REPLACE_DEFAULT}:(P.unwrap(e.element),{...e,mode:mp,next:Xp.END})}},[Xp.REPLACE_DEFAULT]:{exec(e){return P.replace(e.element,e.style.defaultTag,e.jodit.createInside,!0),{...e,mode:vp,next:Xp.END}}},[Xp.END]:{exec(e){return e}}};function Qp(e,t){var n;let{s:r,editor:i}=e;(n=i.firstChild)==null||n.normalize();let a=r.fakes(),o=e.s.wrapInTagGen(a),s=o.next();if(s.done)return;let c={collapsed:r.isCollapsed(),mode:_p,element:s.value,next:Xp.START,jodit:e,style:t};for(;s&&!s.done;){let e=new Sp(Xp.START,Zp);for(c.element=s.value;e.getState()!==Xp.END;)c=e.dispatch(`exec`,c);s=o.next()}r.restoreFakes(a)}var $p=class{isApplied(e,t){let n=this.__applyMap.get(e);return n?!!n[t]:!1}setApplied(e,t){let n=this.__applyMap.get(e)??{};n[t]=!0,this.__applyMap.set(e,n)}get elementIsList(){return!!(this.options.element&&Ga.has(this.options.element))}get element(){return this.options.element||this.defaultTag}get elementIsBlock(){return!!(this.options.element&&Ua.test(this.options.element))}get isElementCommit(){return!!(this.options.element&&this.options.element!==this.options.defaultTag)}get defaultTag(){return this.options.defaultTag?this.options.defaultTag:this.elementIsBlock?`p`:`span`}get elementIsDefault(){return this.element===this.defaultTag}constructor(e){this.options=e,this.__applyMap=new WeakMap}apply(e){let{hooks:t}=this.options,n=t?Object.keys(t):[];
500try{n.forEach(n=>{e.e.on(es(yp+`_`+n),t[n])}),Qp(e,this)}finally{n.forEach(n=>{e.e.off(es(yp+`_`+n),t[n])}),this.__applyMap=new WeakMap}e.synchronizeValues(),e.e.fire(`afterCommitStyle`,this)}};function em(e,t,n){let r=P.findSibling(t,n),i=P.findSibling(t,!n);for(;P.isElement(r)&&!P.isTag(r,qa)&&P.isContentEditable(r,e.editor)&&(!i||!P.closest(t,P.isElement,e.editor));)n||!r.firstChild?r.appendChild(t):P.before(r.firstChild,t),r=P.sibling(t,n),i=P.sibling(t,!n)}function tm(e,t,n,r){let i=e.nodeValue?.length?e.nodeValue:``;if(r&&i.replace(Ia(),``).length>t)return!0;let a=La().exec(i);return n&&(a&&a[0].length<t||!a&&t>0)}function nm(e,t,n,r,i,a){if(e=t.startContainer.childNodes[t.startOffset],e||(e=t.startContainer.childNodes[t.startOffset-1],n=!0),e&&r&&!P.isText(e)){if(!n&&P.isText(e.previousSibling))e=e.previousSibling;else if(i){let t=a(e);for(;t;){if(t&&P.isText(t)){e=t;break}t=a(t)}}}if(e&&!r&&!P.isText(e)){let t=e,n=e;do t=t.firstChild,n=n.lastChild;while(t&&n&&!P.isText(t));t===n&&t&&P.isText(t)&&(e=t)}return{node:e,rightMode:n}}var rm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},im=class{constructor(e){this.jodit=e,e.e.on(`removeMarkers`,()=>{this.removeMarkers()})}get j(){return this.jodit}errorNode(e){if(!P.isNode(e))throw cs(`Parameter node must be instance of Node`)}get area(){return this.j.editor}get win(){return this.j.ew}get doc(){return this.j.ed}get sel(){return this.j.o.shadowRoot&&k(this.j.o.shadowRoot.getSelection)?this.j.o.shadowRoot.getSelection():this.win.getSelection()}get range(){let e=this.sel;return e&&e.rangeCount?e.getRangeAt(0):this.createRange()}get isInsideArea(){let{sel:e}=this,t=e?.rangeCount?e.getRangeAt(0):null;return!(!t||!P.isOrContains(this.area,t.startContainer))}createRange(e=!1){let t=this.doc.createRange();return e&&this.selectRange(t),t}remove(){let e=this.sel,t=this.current();if(e&&t)for(let t=0;t<e.rangeCount;t+=1)e.getRangeAt(t).deleteContents(),e.getRangeAt(t).collapse(!0)}clear(){var e;this.sel?.rangeCount&&((e=this.sel)==null||e.removeAllRanges())}removeNode(e){if(!P.isOrContains(this.j.editor,e,!0))throw cs(`Selection.removeNode can remove only editor's children`);P.safeRemove(e),this.j.e.fire(`afterRemoveNode`,e)}insertCursorAtPoint(e,t){this.removeMarkers();try{let n=this.createRange();return(()=>{if(this.doc.caretPositionFromPoint){let r=this.doc.caretPositionFromPoint(e,t);if(r){n.setStart(r.offsetNode,r.offset);return}}if(this.doc.caretRangeFromPoint){let r=this.doc.caretRangeFromPoint(e,t);Uo(r,`Incorrect caretRangeFromPoint behaviour`),n.setStart(r.startContainer,r.startOffset)}})(),n.collapse(!0),this.selectRange(n),!0}catch{}return!1}get hasMarkers(){return!!this.markers.length}get markers(){return Pc(`span[data-`+uo+`]`,this.area)}removeMarkers(){P.safeRemove(...this.markers)}marker(e=!1,t){let n=null;t&&(n=t.cloneRange(),n.collapse(e));let r=this.j.createInside.span();return r.id=uo+`_`+Number(new Date)+`_`+String(Math.random()).slice(2),r.style.lineHeight=`0`,r.style.display=`none`,P.markTemporary(r),N(r,`data-`+uo,e?`start`:`end`),r.appendChild(this.j.createInside.text(``)),n&&P.isOrContains(this.area,e?n.startContainer:n.endContainer)&&n.insertNode(r),r}restore(){let e=!1,t=e=>`span[data-${uo}=${e?`start`:`end`}]`,n=this.area.querySelector(t(!0)),r=this.area.querySelector(t(!1));if(n){if(e=this.createRange(),r)e.setStartAfter(n),P.safeRemove(n),e.setEndBefore(r),P.safeRemove(r);else{let t=n.previousSibling;P.isText(t)?e.setStart(t,t.nodeValue?t.nodeValue.length:0):e.setStartBefore(n),P.safeRemove(n),e.collapse(!0)}e&&this.selectRange(e)}}fakes(){let e=this.sel;if(!e||!e.rangeCount)return[];let t=e.getRangeAt(0);Uo(t,`Range is null`);let n=t.cloneRange();n.collapse(!0);let r=this.j.createInside.fake();P.safeInsertNode(n,r),t.setStartBefore(r);let i=[r];if(!t.collapsed){let e=t.cloneRange();e.collapse(!1);let n=this.j.createInside.fake();P.safeInsertNode(e,n),t.setEndAfter(n),i.push(n)}return this.selectRange(t),i}restoreFakes(e){let t=e.filter(e=>e.isConnected);if(!t.length)return;let[n,r]=t,i=this.createRange();i.setStartAfter(n),r&&i.setEndBefore(r),this.selectRange(i),n.parentNode?.firstChild!==n.parentNode?.lastChild&&P.safeRemove(n),r?.parentNode?.firstChild!==r?.parentNode?.lastChild&&P.safeRemove(r)}save(e=!1){if(this.hasMarkers)return[];let t=this.sel;if(!t||!t.rangeCount)return[];let n=[],r=t.rangeCount,i=[];for(let e=0;e<r;e+=1)if(i[e]=t.getRangeAt(e),i[e].collapsed){let t=this.marker(!0,i[e]);n[e]={startId:t.id,collapsed:!0,startMarker:t.outerHTML}}else{let t=this.marker(!0,i[e]),r=this.marker(!1,i[e]);n[e]={startId:t.id,endId:r.id,collapsed:!1,startMarker:t.outerHTML,endMarker:r.outerHTML}}if(!e){t.removeAllRanges();for(let e=r-1;e>=0;--e){let r=this.doc.getElementById(n[e].startId);if(r){if(n[e].collapsed)i[e].setStartAfter(r),i[e].collapse(!0);else if(i[e].setStartBefore(r),n[e].endId){let t=this.doc.getElementById(n[e].endId);t&&i[e].setEndAfter(t)}try{t.addRange(i[e].cloneRange())}catch{}}}}return n}focus(e={preventScroll:!0}){var t;if(!this.isFocused()){let n=Hl(this.j.container),r=n?.scrollTop;this.j.iframe&&this.doc.readyState===`complete`&&this.j.iframe.focus(e),this.win.focus(),this.area.focus(e),r&&n?.scrollTo&&n.scrollTo(0,r);let i=this.sel,a=i?.rangeCount?i?.getRangeAt(0):null;if(!a||!P.isOrContains(this.area,a.startContainer)){let e=this.createRange();e.setStart(this.area,0),e.collapse(!0),this.selectRange(e,!1)}return this.j.editorIsActive||(t=this.j?.events)==null||t.fire(`focus`),!0}return!1}isCollapsed(){let e=this.sel;for(let t=0;e&&t<e.rangeCount;t+=1)if(!e.getRangeAt(t).collapsed)return!1;return!0}isFocused(){return this.doc.hasFocus&&this.doc.hasFocus()&&this.area===this.doc.activeElement}current(e=!0){if(this.j.getRealMode()!==1)return null;let t=this.sel;if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0),r=n.startContainer,i=!1,a=e=>i?e.lastChild:e.firstChild;if(P.isTag(r,`br`)&&t.isCollapsed)return r;if(!P.isText(r)){let o=nm(r,n,i,t.isCollapsed,e,a);r=o.node,i=o.rightMode}return r&&P.isOrContains(this.area,r)?r:null}insertNode(e,t=!0,n=!0){this.errorNode(e);let r=P.isFragment(e)?e.lastChild:e;this.j.e.fire(`safeHTML`,e),!this.isFocused()&&this.j.isEditorMode()&&(this.focus(),this.restore(
500));let i=this.sel;this.j.history.snapshot.transaction(()=>{if(this.isCollapsed()||this.j.execCommand(`Delete`),this.j.e.fire(`beforeInsertNode`,e),i&&i.rangeCount){let t=i.getRangeAt(0),{firstChild:n}=e;P.isOrContains(this.area,t.commonAncestorContainer)?P.safeInsertNode(t,e):this.area.appendChild(e),[()=>n?.previousSibling,()=>n?.previousSibling,()=>n?.previousSibling?.lastChild].forEach(e=>{let t=e();t&&P.isEmptyTextNode(t)&&P.safeRemove(t)})}else this.area.appendChild(e);let n=e=>{if(P.isBlock(e)){let t=e.lastChild;if(t)return n(t)}this.setCursorAfter(e)};t&&(P.isFragment(e)?r&&n(r):n(e)),this.j.o.scrollToPastedContent&&hl(r??e,this.j.editor,this.doc)}),n&&this.j.events&&this.j.__imdSynchronizeValues(),this.j.events&&this.j.e.fire(`afterInsertNode`,P.isFragment(e)?r:e)}insertHTML(e,t=!0){if(e===``)return;let n=this.j.createInside.div(),r=this.j.createInside.fragment();if(!this.isFocused()&&this.j.isEditorMode()&&(this.focus(),this.restore()),P.isNode(e)?n.appendChild(e):n.innerHTML=e.toString(),!(!this.j.isEditorMode()&&this.j.e.fire(`insertHTML`,n.innerHTML)===!1)&&n.lastChild){for(;n.firstChild;)r.appendChild(n.firstChild);this.insertNode(r,t,!1),this.j.__imdSynchronizeValues()}}insertImage(e,t=null,n=null){let r=j(e)?this.j.createInside.element(`img`):e;if(j(e)&&r.setAttribute(`src`,e),n!=null){let e=n.toString();e&&e!==`auto`&&String(e).indexOf(`px`)<0&&String(e).indexOf(`%`)<0&&(e+=`px`),N(r,`width`,e)}t&&typeof t==`object`&&M(r,t);let i=()=>{(r.naturalHeight<r.offsetHeight||r.naturalWidth<r.offsetWidth)&&(r.style.width=``,r.style.height=``),r.removeEventListener(`load`,i)};this.j.e.on(r,`load`,i),r.complete&&i(),this.insertNode(r),this.j.e.fire(`afterInsertImage`,r)}eachSelection(e){let t=this.sel;if(!t||!t.rangeCount)return;let n=t.getRangeAt(0),r=n.commonAncestorContainer;P.isHTMLElement(r)||(r=r.parentElement);let i=[],a=n.startOffset,o=r.childNodes.length,s=a<o?a:o-1,c=n.startContainer===this.area?r.childNodes[s]:n.startContainer,l=n.endContainer===this.area?r.childNodes[n.endOffset-1]:n.endContainer;P.isText(c)&&c===n.startContainer&&n.startOffset===c.nodeValue?.length&&c.nextSibling&&(c=c.nextSibling),P.isText(l)&&l===n.endContainer&&n.endOffset===0&&l.previousSibling&&(l=l.previousSibling);let u=e=>{e&&e!==r&&!P.isEmptyTextNode(e)&&!Ps(e)&&i.push(e)};u(c),c!==l&&P.isOrContains(r,c,!0)&&P.find(c,e=>(u(e),e===l||e&&e.contains&&e.contains(l)),r,!0,!1);let d=t=>{if(P.isOrContains(this.j.editor,t,!0)){if(t.nodeName.match(/^(UL|OL)$/))return Io(t.childNodes).forEach(d);if(P.isTag(t,`li`))if(t.firstChild)t=t.firstChild;else{let e=this.j.createInside.text(``);t.appendChild(e),t=e}e(t)}};i.length===0&&(P.isEmptyTextNode(c)&&i.push(c),c?.firstChild&&i.push(c.firstChild)),i.forEac
500h(d)}cursorInTheEdge(e,t,n=null){let r=!e,i=this.sel,a=i?.rangeCount?i.getRangeAt(0):null;if(n??=this.current(!1),!a||!n||!P.isOrContains(t,n,!0))return null;let o=e?a.startContainer:a.endContainer,s=e?a.startOffset:a.endOffset,c=e=>!!(e&&!P.isTag(e,`br`)&&!P.isEmptyTextNode(e)&&!P.isTemporary(e)&&!(P.isElement(e)&&this.j.e.fire(`isInvisibleForCursor`,e)===!0));if(P.isText(o)){if(tm(o,s,e,r))return!1}else{let e=Io(o.childNodes);if(r){if(e.slice(s).some(c))return!1}else if(e.slice(0,s).some(c))return!1}let l=n;for(;l&&l!==t;){let t=P.sibling(l,e);if(!t){l=l.parentNode;continue}if(l=t,l&&c(l))return!1}return!0}cursorOnTheLeft(e,t){return this.cursorInTheEdge(!0,e,t)}cursorOnTheRight(e,t){return this.cursorInTheEdge(!1,e,t)}setCursorAfter(e){return this.setCursorNearWith(e,!1)}setCursorBefore(e){return this.setCursorNearWith(e,!0)}setCursorNearWith(e,t){if(this.errorNode(e),!P.up(e,e=>e===this.area||e&&e.parentNode===this.area,this.area))throw cs(`Node element must be in editor`);let n=this.createRange(),r=null;return P.isText(e)?t?n.setStart(e,0):n.setEnd(e,e.nodeValue?.length??0):(r=this.j.createInside.fake(),t?n.setStartBefore(e):n.setEndAfter(e),n.collapse(t),P.safeInsertNode(n,r),n.selectNode(r)),n.collapse(t),this.selectRange(n),r}setCursorIn(e,t=!1){if(this.errorNode(e),!P.up(e,e=>e===this.area||e&&e.parentNode===this.area,this.area))throw cs(`Node element must be in editor`);let n=this.createRange(),r=e,i=e;do{if(P.isText(r)||P.isTag(r,qa))break;i=r,r=t?r.firstChild:r.lastChild}while(r);if(!r){let e=this.j.createInside.text(``);P.isTag(i,qa)?r=i:(i.appendChild(e),i=e)}let a=r||i;return P.isTag(a,qa)?(t||P.isTag(a,`br`)?n.setStartBefore(a):n.setEndAfter(a),n.collapse(t)):(n.selectNodeContents(a),n.collapse(t)),this.selectRange(n),i}selectRange(e,t=!0){let n=this.sel;return t&&!this.isFocused()&&this.j.e.current!==`focus`&&this.focus(),n&&(n.removeAllRanges(),n.addRange(e)),this.j.e.fire(`changeSelection`),this}select(e,t=!1){if(this.errorNode(e),!P.up(e,e=>e===this.area||e&&e.parentNode===this.area,this.area))throw cs(`Node element must be in editor`);let n=this.createRange();return n[t?`selectNodeContents`:`selectNode`](e),this.selectRange(n)}get html(){let e=this.sel;if(e&&e.rangeCount>0){let t=e.getRangeAt(0).cloneContents(),n=this.j.createInside.div();return n.appendChild(t),n.innerHTML}return``}__wrapSelectionFragments(){let e=this.range;this.__splitSelectionBoundaries(e);let t=e.commonAncestorContainer;return P.isText(t)&&(t=t.parentNode),t?this.__wrapSelectionRuns(this.__collectContainedNodes(t,e)):[]}__splitSelectionBoundaries(e){let{startContainer:t,endContainer:n}=e,{startOffset:r,endOffset:i}=e;if(P.isText(n)&&i>0&&i<(n.nodeValue?.length??0)&&(n.splitText(i),i=n.nodeValue?.length??i),P.isText(t)&&r>0&&r<(t.nodeValue?.length??0)){let e=t.splitText(r);t===n&&(n=e,i=e.nodeValue?.length??0),t=e,r=0}e.setStart(t,r),e.setEnd(n,i),this.__normalizeRangeBoundary(e,!0),this.__normalizeRangeBoundary(e,!1)}__normalizeRangeBoundary(e,t){let n=t?e.startContainer:e.endContainer;if(!P.isText(n))return;let r=t?e.startOffset:e.endOffset,i=n.nodeValue?.length??0;r===0?t?e.setStartBefore(n):e.setEndBefore(n):r>=i&&(t?e.setStartAfter(n):e.setEndAfter(n))}__collectContainedNodes(e,t){let n=[];return Io(e.childNodes).forEach(e=>{this.__isFullyContained(t,e)?n.push(e):e.childNodes.length&&t.intersectsNode(e)&&n.push(...this.__collectContainedNodes(e,t))}),n}__isFullyContained(e,t){let n=this.createRange();return n.selectNode(t),e.compareBoundaryPoints(Range.START_TO_START,n)<=0&&e.compareBoundaryPoints(Range.END_TO_END,n)>=0}__wrapSelectionRuns(e){let t=[],n=[],r=()=>{n.length&&(t.push(this.__wrapRunInFont(n)),n=[])};return e.forEach(e=>{P.isElement(e)&&this.__isOrContainsBlock(e)?(r(),t.push(...this.__wrapSelectionRuns(Io(e.childNodes)))):(n.length&&n[n.length-1].parentNode!==e.parentNode&&r(),n.push(e))}),r(),t}__isOrContainsBlock(e){return P.isBlock(e)?!0:Io(e.childNodes).some(e=>this.__isOrContainsBlock(e))}__wrapRunInFont(e){var t;let n=this.j.createInside.element(`font`),[r]=e;
500return(t=r.parentNode)==null||t.insertBefore(n,r),e.forEach(e=>n.appendChild(e)),n}*wrapInTagGen(e){if(this.isCollapsed()){let t=this.jodit.createInside.element(`font`,``);this.insertNode(t,!1,!1),e&&e[0]&&t.appendChild(e[0]),yield t,P.unwrap(t);return}let t=this.__wrapSelectionFragments();for(let e of t){let{firstChild:t,lastChild:n}=e;if(t&&t===n&&Ps(t)){P.unwrap(e);continue}t&&Ps(t)&&P.before(e,t),n&&Ps(n)&&P.after(e,n),yield e,P.unwrap(e)}}wrapInTag(e){let t=[];for(let n of this.wrapInTagGen())try{if(n.firstChild&&n.firstChild===n.lastChild&&Ps(n.firstChild))continue;k(e)?e(n):t.push(P.replace(n,e,this.j.createInside))}finally{let e=n.parentNode;e&&(P.unwrap(n),P.isEmpty(e)&&P.unwrap(e))}return t}commitStyle(e){Uo(Wl(e)>0,`Need to pass at least one option`),new $p(e).apply(this.j)}splitSelection(e,t){if(!this.isCollapsed())return null;let n=this.createRange(),r=this.range;n.setStartBefore(e);let i=this.cursorOnTheRight(e,t),a=this.cursorOnTheLeft(e,t),o=this.j.createInside.element(`br`),s=this.j.createInside.fake(),c=s.cloneNode();try{if(i||a){t?P.before(t,o):P.safeInsertNode(r,o);let e=(e,t)=>{let n=t(e);for(;n;){let e=t(n);if(n&&(P.isTag(n,`br`)||P.isEmptyTextNode(n)))P.safeRemove(n);else break;n=e}};e(o,e=>e.nextSibling),e(o,e=>e.previousSibling),P.after(o,c),P.before(o,s),i?(n.setEndBefore(o),r.setEndBefore(o)):(n.setEndAfter(o),r.setEndAfter(o))}else n.setEnd(r.startContainer,r.startOffset);let l=n.extractContents(),u=e=>P.each(e,e=>P.isEmptyTextNode(e)&&P.safeRemove(e));Uo(e.parentNode,`Splitting fails`);try{if(u(l),u(e),e.parentNode.insertBefore(l,e),!t&&i&&o?.parentNode){let e=this.createRange();e.setStartBefore(o),this.selectRange(e)}}catch{}let d=e=>{var t;e?.parentNode?.firstChild===e?.parentNode?.lastChild&&((t=e?.parentNode)==null||t.appendChild(o.cloneNode()))};d(s),d(c)}finally{P.safeRemove(s),P.safeRemove(c)}return e.previousElementSibling}expandSelection(){if(this.isCollapsed())return this;let{range:e}=this,t=e.cloneRange();if(!P.isOrContains(this.j.editor,e.commonAncestorContainer,!0))return this;let n=t=>{let n=this.j.createInside.fake(),r=e.cloneRange();return r.collapse(t),P.safeInsertNode(r,n),fp(n,t,this.j.editor),n},r=n(!0),i=n(!1);t.setStartAfter(r),t.setEndBefore(i);let a=P.findSibling(r,!1),o=P.findSibling(i,!0);if(a!==o){let e=P.isElement(a)&&P.isOrContains(a,i),n=!e&&P.isElement(o)&&P.isOrContains(o,r);if(e||n){let n=e?a:o,s=n;for(;P.isElement(n);)n=e?n.firstElementChild:n.lastElementChild,n&&(e?P.isOrContains(n,i):P.isOrContains(n,r))&&(s=n);e?t.setStart(s,0):t.setEnd(s,s.childNodes.length)}}if(this.selectRange(t),P.safeRemove(r,i),this.isCollapsed())throw cs(`Selection is collapsed`);return this}};rm([A],im.prototype,`createRange`,null),rm([A],im.prototype,`focus`,null),rm([A],im.prototype,`setCursorAfter`,null),rm([A],im.prototype,`setCursorBefore`,null),rm([A],im.prototype,`setCursorIn`,null);var am=s({Ajax:()=>hu,Alert:()=>Gd,Async:()=>Js,AsyncStorage:()=>kd,Button:()=>Tu,CommitStyle:()=>$p,Component:()=>$l,Confirm:()=>Kd,ContextMenu:()=>Zd,Create:()=>yd,Dialog:()=>Wd,Dom:()=>P,EventEmitter:()=>Qs,EventHandlersStore:()=>Zs,Eventify:()=>yc,FileBrowser:()=>Pf,Helpers:()=>Zl,History:()=>Hf,Icon:()=>vu,ImageEditor:()=>Sf,IndexedDBProvider:()=>bd,LazyWalker:()=>xc,LocalStorageProvider:()=>Td,MemoryStorageProvider:()=>Ed,Plugin:()=>Lf,PluginSystem:()=>gc,Popup:()=>_d,ProgressBar:()=>vd,Prompt:()=>qd,Response:()=>pu,STATUSES:()=>Oo,Selection:()=>im,Snapshot:()=>zf,StatusBar:()=>Wf,Storage:()=>Od,StorageKey:()=>Dd,Table:()=>qf,ToolbarButton:()=>Xf,ToolbarCollection:()=>tp,ToolbarContent:()=>L,ToolbarEditorCollection:()=>rp,ToolbarSelect:()=>$f,UIBlock:()=>Lu,UIButton:()=>wu,UIButtonGroup:()=>Au,UIButtonState:()=>Cu,UICheckbox:()=>td,UIElement:()=>xu,UIFileInput:()=>rd,UIForm:()=>Yu,UIGroup:()=>Ou,UIInput:()=>Wu,UIList:()=>md,UIMessages:()=>Nd,UISelect:()=>qu,UISeparator:()=>ad,UISpacer:()=>sd,UITextArea:()=>Qu,UITooltip:()=>Fu,Uploader:()=>dp,View:()=>Id,ViewComponent:()=>eu,ViewWithToolbar:()=>Vd,canUseIndexedDB:()=>Cd,canUsePersistentStorage:()=>wd,clearUseIndexedDBCache:()=>Sd,defaultNameSpace:()=>Xs,observable:()=>du}),om=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},sm,cm=`data-jodit-default-style-display`,lm=`data-jodit-default-classes`,um={contenteditable:!1},dm=sm=class extends Vd{className(){return`Jodit`}waitForReady(){return this.isReady?Promise.resolve(this):this.async.promise(e=>{this.hookStatus(`ready`,()=>e(this))})}static get ready(){return new Promise(e=>{Mc.on(`joditready`,e)})}get text(){if(this.editor)return this.editor.innerText||``;let e=this.createInside.div();return e.innerHTML=this.getElementValue(),e.innerText||``}get defaultTimeout(){return Fs(this.o.defaultTimeout)?this.o.defaultTimeout:F.defaultOptions.defaultTimeout}static atom(e){return Zc(e)}static make(e,t){return new this(e,t)}static isJoditAssigned(e){return e&&Ms(e.component)&&!e.component.isInDestruct}static get defaultOptions(){return F.defaultOptions}static configure(e){rl(sm.defaultOptions,e)}get createInside(){return new yd(()=>this.ed,this.o.createAttributes)}__setPlaceField(e,t){this.currentPlace||(this.currentPlace={},this.places=[this.currentPlace]),this.currentPlace[e]=t}
500get element(){return this.currentPlace.element}get editor(){return this.currentPlace.editor}set editor(e){this.__setPlaceField(`editor`,e)}get container(){return this.currentPlace.container}set container(e){this.__setPlaceField(`container`,e)}get workplace(){return this.currentPlace.workplace}get message(){return this.getMessageModule(this.workplace)}get statusbar(){return this.currentPlace.statusbar}get iframe(){return this.currentPlace.iframe}set iframe(e){this.__setPlaceField(`iframe`,e)}get history(){return this.currentPlace.history}get editorWindow(){return this.currentPlace.editorWindow}set editorWindow(e){this.__setPlaceField(`editorWindow`,e)}get ew(){return this.editorWindow}get editorDocument(){return this.currentPlace.editorWindow.document}get ed(){return this.editorDocument}get options(){return this.currentPlace.options}set options(e){this.__options=e,this.__setPlaceField(`options`,e)}get s(){return this.selection}get uploader(){return this.getInstance(`Uploader`,this.o.uploader)}get filebrowser(){let e=this,t=tl({defaultTimeout:e.defaultTimeout,uploader:e.o.uploader,language:e.o.language,license:e.o.license,theme:e.o.theme,shadowRoot:e.o.shadowRoot,defaultCallback(t){t.files&&t.files.length&&t.files.forEach((n,r)=>{let i=t.baseurl+n;t.isImages&&t.isImages[r]?e.s.insertImage(i,null,e.o.imageDefaultWidth):e.s.insertNode(e.createInside.fromHTML(`<a href='${i}' title='${i}'>${i}</a>`))})}},this.o.filebrowser);return e.getInstance(`FileBrowser`,t)}get mode(){return this.__mode}set mode(e){this.setMode(e)}getNativeEditorValue(){let e=this.e.fire(`beforeGetNativeEditorValue`);return j(e)?e:this.editor?this.editor.innerHTML:this.getElementValue()}setNativeEditorValue(e){let t={value:e};this.e.fire(`beforeSetNativeEditorValue`,t)||this.editor&&(this.editor.innerHTML=t.value)}get value(){return this.getEditorValue()}set value(e){this.setEditorValue(e),this.history.__processChanges()}synchronizeValues(){this.__imdSynchronizeValues()}__imdSynchronizeValues(){this.setEditorValue()}getEditorValue(e=!0,t){let n;if(n=this.e.fire(`beforeGetValueFromEditor`,t),n!==void 0)return n;n=this.getNativeEditorValue().replace(Fa(),``),e&&(n=n.replace(/<span[^>]+id="jodit-selection_marker_[^>]+><\/span>/g,``)),n===`<br>`&&(n=``);let r={value:n};return this.e.fire(`afterGetValueFromEditor`,r,t),r.value}setEditorValue(e){let t=this.e.fire(`beforeSetValueToEditor`,e);if(t===!1)return;if(j(t)&&(e=t),!this.editor){e!==void 0&&this.__setElementValue(e);return}if(!j(e)&&!Mo(e))throw cs(`value must be string`);!Mo(e)&&this.getNativeEditorValue()!==e&&this.setNativeEditorValue(e),this.e.fire(`postProcessSetEditorValue`);let n=this.getElementValue(),r=this.getEditorValue();if(!this.__isSilentChange&&n!==r&&this.__callChangeCount<10){this.__setElementValue(r),this.__callChangeCount+=1;try{this.history.__upTick(),this.e.fire(`change`,r,n),this.e.fire(this.history,`change`,r,n)}finally{this.__callChangeCount=0}}}updateElementValue(){this.__setElementValue(this.getEditorValue())}getElementValue(){return this.element.value===void 0?this.element.innerHTML:this.element.value}__setElementValue(e){if(!j(e))throw cs(`value must be string`);if(this.element!==this.container&&e!==this.getElementValue()){let t={value:e};hs(this.e.fire(`beforeSetElementValue`,t),()=>{this.element.value===void 0?this.element.innerHTML=t.value:this.element.value=t.value,this.e.fire(`afterSetElementValue`,t)})}}registerCommand(e,t,n){let r=e.toLowerCase(),i=this.commands.get(r);if(i===void 0&&(i=[],this.commands.set(r,i)),i.push(t),!k(t)){let i=this.o.commandToHotkeys[r]||this.o.commandToHotkeys[e]||t.hotkeys;i&&this.registerHotkeyToCommand(i,r,n?.stopPropagation)}return this}registerHotkeyToCommand(e,t,n=!0){let r=Nc(e).map(Nl).map(e=>e+`.hotkey`).join(` `);this.e.off(r).on(r,(e,r)=>(r&&(r.shouldStop=n??!0),this.execCommand(t)))}execCommand(e,t,n,...r){if(this.s.isFocused()||this.s.focus(),this.o.readonly&&!this.o.allowCommandsInReadOnly.includes(e))return;let i;if(e=e.toLowerCase(),i=this.e.fire(`beforeCommand${Jl(e)}`,t,n,...r),i!==!1&&(i=this.e.fire(`beforeCommand`,e,t,n,...r)),i!==!1&&(i=this.__execCustomCommands(e,t,n,...r)),i!==!1){this.s.focus();
500try{i=this.nativeExecCommand(e,t,n)}catch{}}return this.e.fire(`afterCommand`,e,t,n),this.__imdSynchronizeValues(),i}nativeExecCommand(e,t,n){this.__isSilentChange=!0;try{return this.ed.execCommand(e,t,n)}finally{this.__isSilentChange=!1}}__execCustomCommands(e,t,n,...r){e=e.toLowerCase();let i=this.commands.get(e);if(i!==void 0){let a;return i.forEach(i=>{let o;o=k(i)?i:i.exec;let s=o.call(this,e,t,n,...r);s!==void 0&&(a=s)}),a}}lock(e=`any`){return super.lock(e)?(this.__selectionLocked=this.s.save(),this.s.clear(),this.container.classList.add(`jodit_lock`),this.e.fire(`lock`,!0),!0):!1}unlock(){return super.unlock()?(this.container.classList.remove(`jodit_lock`),this.__selectionLocked&&this.s.restore(),this.e.fire(`lock`,!1),!0):!1}getMode(){return this.mode}isEditorMode(){return this.getRealMode()===1}getRealMode(){if(this.getMode()!==3)return this.getMode();let e=this.od.activeElement;return e&&(e===this.iframe||P.isOrContains(this.editor,e)||P.isOrContains(this.toolbar.container,e))?1:2}setMode(e){let t=this.getMode(),n={mode:parseInt(e.toString(),10)},r=[`jodit-wysiwyg_mode`,`jodit-source__mode`,`jodit_split_mode`];this.e.fire(`beforeSetMode`,n)!==!1&&(this.__mode=[2,1,3].includes(n.mode)?n.mode:1,this.o.saveModeInStorage&&this.storage.set(`jodit_default_mode`,this.mode),r.forEach(e=>{this.container.classList.remove(e)}),this.container.classList.add(r[this.mode-1]),t!==this.getMode()&&this.e.fire(`afterSetMode`))}toggleMode(){let e=this.getMode();[2,1,this.o.useSplitMode?3:9].includes(e+1)?e+=1:e=1,this.setMode(e)}setDisabled(e){this.o.disabled=e;let t=this.__wasReadOnly;this.setReadOnly(e||t),this.__wasReadOnly=t,this.editor&&(this.editor.setAttribute(`aria-disabled`,e.toString()),this.container.classList.toggle(`jodit_disabled`,e),this.e.fire(`disabled`,e))}getDisabled(){return this.o.disabled}setReadOnly(e){this.__wasReadOnly!==e&&(this.__wasReadOnly=e,this.o.readonly=e,e?this.editor&&this.editor.removeAttribute(`contenteditable`):this.editor&&this.editor.setAttribute(`contenteditable`,`true`),this.e&&this.e.fire(`readonly`,e))}getReadOnly(){return this.o.readonly}focus(){this.getMode()!==2&&this.s.focus()}get isFocused(){return this.s.isFocused()}beforeInitHook(){}afterInitHook(){}initOptions(e){this.options=tl(e||{},F.defaultOptions)}initOwners(){this.editorWindow=this.o.ownerWindow,this.ownerWindow=this.o.ownerWindow}constructor(e,t){super(t,!0),this.isJodit=!0,this.commands=new Map,this.__selectionLocked=null,this.__wasReadOnly=!1,this.editorIsActive=!1,this.__mode=1,this.__callChangeCount=0,this.__isSilentChange=!1,this.currentPlace={options:this.__options,container:this.__container},this.places=[],this.__elementToPlace=new Map;try{let t=Rc(e,this.options.shadowRoot||this.od);if(sm.isJoditAssigned(t))return t.component}catch(e){throw this.destruct(),e}this.setStatus(Oo.beforeInit),this.id=N(Rc(e,this.o.shadowRoot||this.od),`id`)||new Date().getTime().toString(),Sc[this.id]=this,this.attachEvents(t),this.e.on(this.ow,`resize`,()=>{this.e&&this.e.fire(`resize`)}),this.e.on(`prepareWYSIWYGEditor`,this.__prepareWYSIWYGEditor),this.selection=new im(this),hs(this.beforeInitHook(),()=>{if(this.isInDestruct)return;this.e.fire(`beforeInit`,this),Ec.__init(this),this.e.fire(`afterPluginSystemInit`,this),this.e.on(`changePlace`,()=>{this.setReadOnly(this.o.readonly),this.setDisabled(this.o.disabled)}),this.places.length=0;let n=this.addPlace(e,t);Sc[this.id]=this,hs(n,()=>{this.isInDestruct||(this.e&&this.e.fire(`afterInit`,this),hs(this.afterInitHook()),this.setStatus(Oo.ready),this.e.fire(`afterConstructor`,this))})})}addPlace(e,t){let n=Rc(e,this.o.shadowRoot||this.od);this.attachEvents(t),n.attributes&&Io(n.attributes).forEach(e=>{let n=e.name,r=e.value;F.defaultOptions[n]!==void 0&&(!t||t[n]===void 0)&&([`readonly`,`disabled`].indexOf(n)!==-1&&(r=r===``||r===`true`),/^[0-9]+(\.)?([0-9]+)?$/.test(r.toString())&&(r=Number(r)),this.options[n]=r)});let r=this.c.div(`jodit-container`);r.classList.add(`jodit`),r.classList.add(`jodit-container`),r.classList.add(`jodit_theme_${this.o.theme||`default`}`),fm(this.o.className,r),this.o.containerStyle&&M(r,this.o.containerStyle);let{styleValues:i}=this.o;
500Object.keys(i).forEach(e=>{let t=Ko(e);r.style.setProperty(`--jd-${t}`,i[e])}),r.setAttribute(`contenteditable`,`false`);let a=null;this.o.inline&&([`TEXTAREA`,`INPUT`].indexOf(n.nodeName)===-1&&(r=n,n.setAttribute(lm,n.className.toString()),a=r.innerHTML,r.innerHTML=``),r.classList.add(`jodit_inline`),r.classList.add(`jodit-container`)),n!==r&&(n.style.display&&n.setAttribute(cm,n.style.display),n.style.display=`none`);let o=`workplace-slot`,s=this.c.div(this.getFullElName(o,`above`),um);s.setAttribute(`data-jodit-above-toolbar`,``),P.appendChildFirst(r,s);let c=this.c.div(this.getFullElName(o,`top`),um);r.appendChild(c);let l=this.c.div(this.getFullElName(o,`center`),um),u=this.c.div(`jodit-workplace`,um),d=this.c.div(this.getFullElName(o,`left`),um),f=this.c.div(this.getFullElName(o,`right`),um);l.appendChild(d),l.appendChild(u),l.appendChild(f),r.appendChild(l);let p=this.c.div(this.getFullElName(o,`bottom`),um);r.appendChild(p),n.parentNode&&n!==r&&n.parentNode.insertBefore(r,n),Object.defineProperty(n,"component",{enumerable:!1,configurable:!0,value:this});let m=this.c.div(`jodit-wysiwyg`,{contenteditable:!0,"aria-disabled":!1,tabindex:this.o.tabIndex});u.appendChild(m);let h={editor:m,element:n,container:r,workplace:u,slots:{above:s,top:c,bottom:p,center:l,left:d,right:f},statusbar:new Wf(this,r),options:this.isReady?tl(t||{},F.defaultOptions):this.options,history:new Hf(this),editorWindow:this.ow};this.__elementToPlace.set(m,h),this.setCurrentPlace(h),this.places.push(h),this.setNativeEditorValue(this.getElementValue());let g=this.__initEditor(a),_=this.options;return hs(g,()=>{_.enableDragAndDropFileToEditor&&_.uploader&&(_.uploader.url||_.uploader.insertImageAsBase64URI)?this.uploader.bind(this.editor):_.enableDragAndDropFileToEditor||this.e.on(m,`drop`,e=>{e.dataTransfer?.files?.length&&e.preventDefault()}),this.__elementToPlace.get(this.editor)||this.__elementToPlace.set(this.editor,h),this.e.fire(`afterAddPlace`,h)})}addDisclaimer(e){this.workplace.appendChild(e)}setCurrentPlace(e){this.currentPlace!==e&&(this.isEditorMode()||this.setMode(1),this.currentPlace=e,this.buildToolbar(),this.isReady&&this.e.fire(`changePlace`,e))}__initEditor(e){return hs(this.__createEditor(),()=>{if(this.isInDestruct)return;if(this.element!==this.container){let e=this.getElementValue();e!==this.getEditorValue()&&this.setEditorValue(e)}else e!=null&&this.setEditorValue(e);let t=this.o.defaultMode;if(this.o.saveModeInStorage){let e=this.storage.get(`jodit_default_mode`);typeof e==`string`&&(t=parseInt(e,10))}this.setMode(t),this.o.readonly&&(this.__wasReadOnly=!1,this.setReadOnly(!0)),this.o.disabled&&this.setDisabled(!0);try{this.ed.execCommand(`defaultParagraphSeparator`,!1,this.o.enter.toLowerCase())}catch{}})}__createEditor(){let e=this.editor,t=this.e.fire(`createEditor`,this);return hs(t,()=>{this.isInDestruct||((t===!1||ds(t))&&P.safeRemove(e),fm(this.o.editorClassName,this.editor),this.o.style&&M(this.editor,this.o.style),this.e.on(`synchro`,()=>{this.setEditorValue()}).on(`focus`,()=>{this.editorIsActive=!0}).on(`blur`,()=>this.editorIsActive=!1),this.__prepareWYSIWYGEditor(),this.o.triggerChangeEvent&&this.e.on(`change`,this.async.debounce(()=>{this.e&&this.e.fire(this.element,`change`)},this.defaultTimeout)))})}__prepareWYSIWYGEditor(){let{editor:e}=this;if(this.o.direction){let e=this.o.direction.toLowerCase()===`rtl`?`rtl`:`ltr`;this.editor.style.direction=e,this.editor.setAttribute(`dir`,e),this.container.style.direction=e,this.container.setAttribute(`dir`,e),this.toolbar.setDirection(e)}this.e.on(e,`mousedown touchstart focus`,()=>{let t=this.__elementToPlace.get(e);t&&this.setCurrentPlace(t)}).on(e,`compositionend`,this.synchronizeValues).on(e,`selectionchange selectionstart keydown keyup input keypress dblclick mousedown mouseup click copy cut dragstart drop dragover paste resize touchstart touchend focus blur`,e=>{if(!(this.o.readonly||this.__isSilentChange)&&!(e instanceof this.ew.KeyboardEvent&&e.isComposing)&&this.e&&this.e.fire){if(this.e.fire(e.type,e)===!1)return!1;this.synchronizeValues()}}).on(this.ow,`mouseup`,t=>{if(this.o.readonly||this.__isSilentChange)return;let n=t.target;n&&Fs(n.nodeType)&&e.contains(n)||!this.s.isInsideArea||(this.e.fire(`changeSelection`),this.synchronizeValues())})}fetch(e,t){let n=new hu({url:e,...t},this.o.defaultAjaxOptions),r=()=>{this.e.off(`beforeDestruct`,r),this.progressbar.progress(100).hide(),n.destruct()};this.e.one(`beforeDestruct`,r),this.progressbar.show().progress(30);let i=n.send();return i.finally(r).catch(()=>null),i}destruct(){var e,t;if(this.isInDestruct)return;this.setStatus(Oo.beforeDestruct),this.__elementToPlace.clear(),(e=Rs(this,`storage`))==null||e.clear(),(t=Rs(this,`buffer`))==null||t.clear(),this.commands.clear(),this.__selectionLocked=null,this.e.off(this.ow,`resize`),this.e.off(this.ow),this.e.off(this.od),this.e.off(this.od.body);let n=this.editor?this.getEditorValue():``;
500this.places.forEach(({container:e,workplace:t,statusbar:r,element:i,iframe:a,editor:o,history:s})=>{if(i){if(i!==e)if(i.hasAttribute(cm)){let e=N(i,cm);e&&(i.style.display=e,i.removeAttribute(cm))}else i.style.display=``;else i.hasAttribute(lm)&&(i.className=N(i,lm)||``,i.removeAttribute(lm));i.hasAttribute(`style`)&&!N(i,`style`)&&i.removeAttribute(`style`),r.destruct(),this.e.off(e),this.e.off(i),this.e.off(o),P.safeRemove(t),P.safeRemove(o),e!==i&&P.safeRemove(e),Object.defineProperty(i,"component",{enumerable:!1,configurable:!0,value:null}),P.safeRemove(a),e===i&&(i.innerHTML=n),s.destruct()}}),this.places.length=0,this.currentPlace={},delete Sc[this.id],super.destruct()}};dm.fatMode=!0,dm.plugins=Ec,dm.modules=Dc,dm.ns=Dc,dm.decorators={},dm.constants=Oa,dm.instances=Sc,dm.lang=wo,dm.core={Plugin:Lf},om([zs],dm.prototype,`createInside`,null),om([zs],dm.prototype,`message`,null),om([zs],dm.prototype,`s`,null),om([zs],dm.prototype,`uploader`,null),om([zs],dm.prototype,`filebrowser`,null),om([nu()],dm.prototype,`synchronizeValues`,null),om([I(`:internalChange`)],dm.prototype,`updateElementValue`,null),om([A],dm.prototype,`__prepareWYSIWYGEditor`,null),dm=sm=om([ru(Jd)],dm);function fm(e,t){e&&e.split(/\s+/).forEach(e=>t.classList.add(e))}var pm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1395 736q0 13-10 23l-466 466q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l393 393 393-393q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> `,mm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z"/> </svg> `,hm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> `,gm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1395 1184q0 13-10 23l-50 50q-10 10-23 10t-23-10l-393-393-393 393q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l466 466q10 10 10 23z"/> </svg> `,_m=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M704 1376v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm256 0v-704q0-14-9-23t-23-9h-64q-14 0-23 9t-9 23v704q0 14 9 23t23 9h64q14 0 23-9t9-23zm-544-992h448l-48-117q-7-9-17-11h-317q-10 2-17 11zm928 32v64q0 14-9 23t-23 9h-96v948q0 83-47 143.5t-113 60.5h-832q-66 0-113-58.5t-47-141.5v-952h-96q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h309l70-167q15-37 54-63t79-26h320q40 0 79 26t54 63l70 167h309q14 0 23 9t9 23z"/> </svg> `,vm=`<svg viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1"> <path d="M14,1.4 L12.6,0 L7,5.6 L1.4,0 L0,1.4 L5.6,7 L0,12.6 L1.4,14 L7,8.4 L12.6,14 L14,12.6 L8.4,7 L14,1.4 Z"/> </g> </svg> `,ym=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h896q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-640q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h640q26 0 45 19t19 45z"/> </svg> `,bm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1472 930v318q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q63 0 117 25 15 7 18 23 3 17-9 29l-49 49q-10 10-23 10-3 0-9-2-23-6-45-6h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113v-254q0-13 9-22l64-64q10-10 23-10 6 0 12 3 20 8 20 29zm231-489l-814 814q-24 24-57 24t-57-24l-430-430q-24-24-24-57t24-57l110-110q24-24 57-24t57 24l263 263 647-647q24-24 57-24t57 24l110 110q24 24 24 57t-24 57z"/> </svg> `,xm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 10 10"> <path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/> </svg> `,Sm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 24 24" > <circle cx="12" cy="12" r="2.2"/> <circle cx="12" cy="5" r="2.2"/> <circle cx="12" cy="19" r="2.2"/> </svg> `,Cm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 11
5007-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> </svg> `,wm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1152 512v-472q22 14 36 28l408 408q14 14 28 36h-472zm-128 32q0 40 28 68t68 28h544v1056q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h800v544z"/> </svg> `,Tm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1728 608v704q0 92-66 158t-158 66h-1216q-92 0-158-66t-66-158v-960q0-92 66-158t158-66h320q92 0 158 66t66 158v32h672q92 0 158 66t66 158z"/> </svg> `,Em=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1152 1376v-160q0-14-9-23t-23-9h-96v-512q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v160q0 14 9 23t23 9h96v320h-96q-14 0-23 9t-9 23v160q0 14 9 23t23 9h448q14 0 23-9t9-23zm-128-896v-160q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v160q0 14 9 23t23 9h192q14 0 23-9t9-23zm640 416q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> </svg> `,Dm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm256-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm-384-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> `,Om=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"><path d="M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"/></svg> `,km=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 32 32"> <path d="M27 4l-15 15-7-7-5 5 12 12 20-20z"/> </svg> `,Am=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"><path d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/></svg> `,jm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"><path d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/></svg> `,Mm=`<svg viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"> <path d="M5.9814 11.8049C5.59087 11.4144 5.59087 10.7812 5.9814 10.3907L10.224 6.14806C10.6146 5.75754 11.2477 5.75754 11.6383 6.14806C12.0288 6.53859 12.0288 7.17175 11.6383 7.56228L7.39561 11.8049C7.00509 12.1954 6.37192 12.1954 5.9814 11.8049Z"/> <path d="M0.707107 12.0208C0.316582 11.6303 0.316582 10.9971 0.707107 10.6066L10.6066 0.707121C10.9971 0.316597 11.6303 0.316596 12.0208 0.707121C12.4113 1.09764 12.4113 1.73081 12.0208 2.12133L2.12132 12.0208C1.7308 12.4114 1.09763 12.4114 0.707107 12.0208Z"/> </svg> `,Nm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1280q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1280q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1536q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1536q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1152q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1152q26 0 45 19t19 45z"/> </svg> `,Pm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M512 1536h768v-384h-768v384zm896 0h128v-896q0-14-10-38.5t-20-34.5l-281-281q-10-10-34-20t-39-10v416q0 40-28 68t-68 28h-576q-40 0-68-28t-28-68v-416h-128v1280h128v-416q0-40 28-68t68-28h832q40 0 68 28t28 68v416zm-384-928v-320q0-13-9.5-22.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 22.5v320q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5-9.5t9.5-22.5zm640 32v928q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h928q40 0 88 20t76 48l280 280q28 28 48 76t20 88z"/> </svg> `,Fm=`<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <path stroke="null" d="m42.276011,26.302547c0.098397,-0.76605 0.172194,-1.54407 0.172194,-2.33406s-0.073797,-1.56801 -0.172194,-2.33406l5.202718,-3.961917c0.467384,-0.359086 0.602679,-1.005441 0.29519,-1.532101l-4.919828,-8.29489c-0.307489,-0.51469 -0.947067,-0.730142 -1.500548,-0.51469l-6.125186,2.405877c-1.266856,-0.945594 -2.656707,-1.747553 -4.157255,-2.357999l-0.922468,-6.343855c-0.110696,-0.562568 -0.614979,-1.005441 -1.229957,-1.005441l-9.839656,0c-0.614979,0 -1.119261,0.442873 -1.217657,1.005441l-0.922468,6.343855c-1.500548,0.610446 -2.890399,1.400436 -4.157255,2.357999l-6.125186,-2.405877c-0.553481,-0.203482 -1.193058,0 -1.500548,0.51469l-4.919828,8.29489c-0.307489,0.51469 -0.172194,1.161045 0.29519,1.532101l5.190419,3.961917c-0.098397,0.76605 -0.172194,1.54407 -0.172194,2.33406s0.073797,1.56801 0.172194,2.33406l-5.190419,3.961917c-0.467384,0.359086 -0.602679,1.005441 -0.29519,1.532101l4.919828,8.29489c0.307489,0.51469 0.947067,0.730142 1.500548,0.51469l6.125186,-2.405877c1.266856,0.945594 2.656707,1.747553 4.157255,2.357999l0.922468,6.343855c0.098397,0.562568 0.602679,1.005441 1.217657,1.005441l9.839656,0c0.614979,0 1.119261,-0.442873 1.217657,-1.005441l0.922468,-6.343855c1.500548,-0.610446 2.890399,-1.400436 4.157255,-2.357999l6.125186,2.405877c0.553481,0.203482 1.193058,0 1.500548,-0.51469l4.919828,-8.29489c0.307489,-0.51469 0.172194,-1.161045 -0.29519,-1.532101l-5.190419,-3.961917zm-18.277162,6.044617c-4.759934,0 -8.609699,-3.746465 -8.609699,-8.378677s3.849766,-8.378677 8.609699,-8.378677s8.609699,3.746465 8.609699,8.378677s-3.849766,8.378677 -8.609699,8.378677z"/> </svg> `,Im=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z"/> </svg> `,Lm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1639 1056q0 5-1 7-64 268-268 434.5t-478 166.5q-146 0-282.5-55t-243.5-157l-129 129q-19 19-45 19t-45-19-19-45v-448q0-26 19-45t45-19h448q26 0 45 19t19 45-19 45l-137 137q71 66 161 102t187 36q134 0 250-65t186-179q11-17 53-117 8-23 30-23h192q13 0 22.5 9.5t9.5 22.5zm25-800v448q0 26-19 45t-45 19h-448q-26 0-45-19t-19-45 19-45l138-138q-148-137-349-137-134 0-250 65t-186 179q-11 17-53 117-8 23-30 23h-199q-13 0-22.5-9.5t-9.5-22.5v-7q65-268 270-434.5t480-166.5q146 0 284 55.5t245 156.5l130-129q19-19 45-19t45 19 19 45z"/> </svg> `,Rm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1344 1472q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm256 0q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128-224v320q0 40-28 68t-68 28h-1472q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h427q21 56 70.5 92t110.5 36h256q61 0 110.5-36t70.5-92h427q40 0 68 28t28 68zm-325-648q-17 40-59 40h-256v448q0 26-19 45t-45 19h-256q-26 0-45-19t-19-45v-448h-256q
500-42 0-59-40-17-39 14-69l448-448q18-19 45-19t45 19l448 448q31 30 14 69z"/> </svg> `,zm=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1216 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z"/> </svg> `,Bm=s({angle_down:()=>pm,angle_left:()=>mm,angle_right:()=>hm,angle_up:()=>gm,bin:()=>_m,cancel:()=>vm,center:()=>ym,check:()=>bm,chevron:()=>xm,dots:()=>Sm,eye:()=>Cm,file:()=>wm,folder:()=>Tm,info_circle:()=>Em,left:()=>Dm,lock:()=>Om,ok:()=>km,pencil:()=>Am,plus:()=>jm,resize_handler:()=>Mm,right:()=>Nm,save:()=>Pm,settings:()=>Fm,unlock:()=>Im,update:()=>Lm,upload:()=>Rm,valign:()=>zm}),Vm={"Type something":`إبدأ في الكتابة...`,"About Jodit":`حول جوديت`,"Jodit Editor":`محرر جوديت`,"Jodit User's Guide":`دليل مستخدم جوديت`,"contains detailed help for using":`يحتوي على مساعدة مفصلة للاستخدام`,"For information about the license, please go to our website:":`للحصول على معلومات حول الترخيص، يرجى الذهاب لموقعنا:`,"Buy full version":`شراء النسخة الكاملة`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`حقوق الطبع والنشر © XDSoft.net - Chupurnov Valeriy. كل الحقوق محفوظة.`,Anchor:`مِرْساة`,"Open in new tab":`فتح في نافذة جديدة`,"Open in fullsize":`فتح المحرر في الحجم الكامل`,"Clear Formatting":`مسح التنسيق`,"Fill color or set the text color":`ملء اللون أو تعيين لون النص`,Redo:`إعادة`,Undo:`تراجع`,Bold:`عريض`,Italic:`مائل`,"Insert Unordered List":`إدراج قائمة غير مرتبة`,"Insert Ordered List":`إدراج قائمة مرتبة`,"Align Center":`محاذاة للوسط`,"Align Justify":`محاذاة مثبتة`,"Align Left":`محاذاة لليسار`,"Align Right":`محاذاة لليمين`,"Insert Horizontal Line":`إدراج خط أفقي`,"Insert Image":`إدراج صورة`,"Insert file":`ادخال الملف`,"Insert youtube/vimeo video":`إدراج فيديو يوتيوب/فيميو `,"Insert link":`إدراج رابط`,"Font size":`حجم الخط`,"Font family":`نوع الخط`,"Insert format block":`إدراج كتلة تنسيق`,Normal:`عادي`,"Heading 1":`عنوان 1`,"Heading 2":`عنوان 2`,"Heading 3":`عنوان 3`,"Heading 4":`عنوان 4`,Quote:`إقتباس`,Code:`كود`,Insert:`إدراج`,"Insert table":`إدراج جدول`,"Decrease Indent":`تقليل المسافة البادئة`,"Increase Indent":`زيادة المسافة البادئة`,"Select Special Character":`تحديد أحرف خاصة`,"Insert Special Character":`إدراج حرف خاص`,"Paint format":`تنسيق الرسم`,"Change mode":`تغيير الوضع`,Margins:`هوامش`,top:`أعلى`,right:`يمين`,bottom:`أسفل`,left:`يسار`,Styles:`الأنماط`,Classes:`الطبقات`,Align:`محاذاة`,Right:`اليمين`,Center:`الوسط`,Left:`اليسار`,"--Not Set--":`--غير مضبوط--`,Src:`Src`,Title:`العنوان`,Alternative:`العنوان البديل`,Link:`الرابط`,"Open link in new tab":`افتح الرابط في نافذة جديدة`,Image:`الصورة`,file:`ملف`,Advanced:`متقدم`,"Image properties":`خصائص الصورة`,Cancel:`إلغاء`,Ok:`حسنا`,"File Browser":`متصفح الملفات`,"Error on load list":`حدث خطأ في تحميل القائمة `,"Error on load folders":`حدث خطأ في تحميل المجلدات`,"Are you sure?":`هل أنت واثق؟`,"Enter Directory name":`أدخل اسم المجلد`,"Create directory":`إنشاء مجلد`,"type name":`أكتب إسم`,"Drop image":`إسقاط صورة`,"Drop file":`إسقاط الملف`,"or click":`أو أنقر`,"Alternative text":`النص البديل`,Upload:`رفع`,Browse:`تصفح`,Background:`الخلفية`,Text:`نص`,Top:`أعلى`,Middle:`الوسط`,Bottom:`الأسفل`,"Insert column before":`إدراج عمود قبل`,"Insert column after":`إدراج عمود بعد`,"Insert row above":`إدراج صف أعلى`,"Insert row below":`إدراج صف أسفل`,"Delete table":`حذف الجدول`,"Delete row":`حذف الصف`,"Delete column":`حذف العمود`,"Empty cell":`خلية فارغة`,"Chars: %d":`%d حرف`,"Words: %d":`%d كلام`,"Strike through":`اضرب من خلال`,Underline:`أكد`,superscript:`حرف فوقي`,subscript:`مخطوطة`,"Cut selection":`قطع الاختيار`,"Select all":`اختر الكل`,Break:`استراحة`,"Search for":`البحث عن`,"Replace with":`استبدل ب`,Replace:`محل`,Paste:`معجون`,"Choose Content to Paste":`اختر محتوى للصق`,source:`مصدر`,bold:`بالخط العريض`,italic:`مائل`,brush:`شغل`,link:`صلة`,undo:`إلغاء`,redo:`كرر`,table:`طاولة`,image:`صورة`,eraser:`نظيف`,paragraph:`فقرة`,fontsize:`حجم الخط`,video:`فيديو`,font:`الخط`,about:`حول المحرر`,print:`طباعة`,underline:`أكد`,strikethrough:`شطب`,indent:`المسافة البادئة`,outdent:`نتوء`,fullsize:`ملء الشاشة`,shrink:`الحجم التقليدي`,hr:`الخط`,ul:`قائمة`,ol:`قائمة مرقمة`,cut:`قطع`,selectall:`اختر الكل`,"Embed code":`قانون`,"Open link":`فتح الرابط`,"Edit link":`تعديل الرابط`,"No follow":`سمة Nofollow`,Unlink:`إزالة الرابط`,Update:`تحديث`,pencil:`لتحرير`,Eye:`مراجعة`," URL":`URL`,Edit:`تحرير`,"Horizontal align":`محاذاة أفقية`,Filter:`فلتر`,"Sort by changed":`عن طريق التغيير`,"Sort by name":`بالاسم`,"Sort by size":`حسب الحجم`,"Add folder":`إضافة مجلد`,Reset:`إعادة`,Save:`احتفظ`,"Save as ...":`حفظ باسم`,Resize:`تغيير الحجم`,Crop:`حجم القطع`,Width:`عرض`,Height:`ارتفاع`,"Keep Aspect Ratio":`حافظ على النسب`,Yes:`أن`,No:`لا`,Remove:`حذف`,Select:`تميز`,"Select %s":`تميز %s`,"Vertical align":`محاذاة عمودية`,Split:`انشق، مزق`,Merge:`اذهب`,"Add column":`أضف العمود`,"Add row":`اضف سطر`,"License: %s":`رخصة %s`,Delete:`حذف`,"Split vertical":`انقسام عمودي`,"Split horizontal":`تقسيم أفقي`,Border:`الحدود`,"Your code is similar to HTML. Keep as HTML?":`يشبه الكود الخاص بك HTML. تبقي كما HTML؟`,"Paste as HTML":`الصق ك HTML`,Keep:`احتفظ`,"Insert as Text":`إدراج كنص`,"Insert only Text":`إدراج النص فقط`,"You can only edit your own images. Download this image on the host?":`يمكنك فقط تحرير صورك الخاصة. تحميل هذه الصورة على المضيف؟`,"The image has been successfully uploaded to the host!":`تم تحميل الصورة بنجاح على الخادم!`,palette:`لوحة`,"There are no files":`لا توجد ملفات في هذا الدليل.`,Rename:`إعادة تسمية`,"Enter new name":`أدخل اسم جديد`,preview:`معاينة`,download:`تحميل`,"Paste from clipboard":`لصق من الحافظة`,"Your browser doesn't support direct access to the clipboard.":`متصفحك لا يدعم إمكانية الوصول المباشر إلى الحافظة.`,"Copy selection":`نسخ التحديد`,copy:`نسخ`,"Border radius":`دائرة نصف قطرها الحدود`,"Show all":`عرض كل`,Apply:`تطبيق`,"Please fill out this field":`يرجى ملء هذا المجال`,"Please enter a web address":`يرجى إدخال عنوان ويب`,Default:`الافتراضي`,Circle:`دائرة`,Dot:`نقطة`,Quadrate:`المربعة`,Find:`البحث`,"Find Previous":`تجد السابقة`,"Find Next":`تجد التالي`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`للصق المحتوى قادم من Microsoft Word/Excel الوثيقة. هل تريد أن تبقي شكل أو تنظيفه ؟ `,"Word Paste Detected":`كلمة لصق الكشف عن`,Clean:`نظيفة`,"Insert className":`أدخل اسم الفصل`,"Press Alt for custom resizing":`اضغط البديل لتغيير حجم مخصص`,"Line height":`ارتفاع الخط`,spellcheck:`التدقيق الإملائي`,"Speech Recognize":`التعرف على الكلام`,All:`تحديد الكل`},Hm={"Type something":`Napiš něco`,"About Jodit":`O Jodit`,"Jodit Editor":`Editor Jodit`,"Free Non-commercial Version":`Verze pro nekomerční použití`,"Jodit User's Guide":`Jodit Uživatelská příručka`,"contains detailed help for using":`obsahuje detailní nápovědu`,"For information about the license, please go to our website:":`Pro informace o licenci, prosím, přejděte na naši stránku:`,"Buy full version":`Koupit plnou verzi`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Všechna práva vyhrazena.`,Anchor:`Anchor`,"Open in new tab":`Otevřít v nové záložce`,"Open in fullsize":`Otevřít v celoobrazovkovém režimu`,"Clear Formatting":`Vyčistit formátování`,"Fill color or set the text color":`Barva výplně a písma`,Redo:`Vpřed`,Undo:`Zpět`,Bold:`Tučné`,Italic:`Kurzíva`,"Insert Unordered List":`Odrážky`,"Insert Ordered List":`Číslovaný seznam`,"Align Center":`Zarovnat na střed`,"Align Justify":`Zarovnat do bloku`,"Align Left":`Zarovnat vlevo`,"Align Right":`Zarovnat vpravo`,"Insert Horizontal Line":`Vložit horizontální linku`,"Insert Image":`Vložit obrázek`,"Insert file":`Vložit soubor`,"Insert youtube/vimeo video":`Vložit video (YT/Vimeo)`,"Insert link":`Vložit odkaz`,"Font size":`Velikost písma`,"Font family":`Typ písma`,"Insert format block":`Formátovat blok`,Normal:`Normální text`,"Heading 1":`Nadpis 1`,"Heading 2":`Nadpis 2`,"Heading 3":`Nadpis 3`,"Heading 4":`Nadpis 4`,Quote:`Citát`,Code:`Kód`,Insert:`Vložit`,"Insert table":`Vložit tabulku`,"Decrease Indent":`Zmenšit odsazení`,"Increase Indent":`Zvětšit odsazení`,"Select Special Character":`Vybrat speciální symbol`,"Insert Special Character":`Vložit speciální symbol`,"Paint format":`Použít formát`,"Change mode":`Změnit mód`,Margins:`Okraje`,top:`horní`,right:`pravý`,bottom:`spodní`,left:`levý`,Styles:`Styly`,Classes:`Třídy`,Align:`Zarovnání`,Right:`Vpravo`,Center:`Na střed`,Left:`Vlevo`,"--Not Set--":`--nenastaveno--`,Src:`src`,Title:`Titulek`,Alternative:`Alternativní text (alt)`,Link:`Link`,"Open link in new tab":`Otevřít link v nové záložce`,Image:`Obrázek`,file:`soubor`,Advanced:`Rozšířené`,"Image properties":`Vlastnosti obrázku`,Cancel:`Zpět`,Ok:`Ok`,"Your code is similar to HTML. Keep as HTML?":`Váš text se podobá HTML. Vložit ho jako HTML?`,"Paste as HTML":`Vložit jako HTML`,Keep:`Ponechat originál`,Clean:`Vyčistit`,"Insert as Text":`Vložit jako TEXT`,"Insert only Text":`Vložit pouze TEXT`,"Word Paste Detected":`Detekován fragment z Wordu nebo Excelu`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Obsah, který vkládáte, je pravděpodobně z Microsoft Word / Excel. Chcete ponechat formát nebo vložit pouze text?`,"File Browser":`Prohlížeč souborů`,"Error on load list":`Chyba při načítání seznamu souborů`,"Error on load folders":`Chyba při načítání složek`,"Are you sure?":`Jste si jistý(á)?`,"Enter Directory name":`Název složky`,"Create directory":`Vytvořit složku`,"type name":`název`,"Drop image":`Přetáhněte sem obrázek`,"Drop file":`Přetáhněte sem soubor`,"or click":`nebo klikněte`,"Alternative text":`Alternativní text`,Browse:`Server`,Upload:`Nahrát`,Backgroun
500d:`Pozadí`,Text:`Text`,Top:`Nahoru`,Middle:`Na střed`,Bottom:`Dolu`,"Insert column before":`Vložit sloupec před`,"Insert column after":`Vložit sloupec za`,"Insert row above":`Vložit řádek nad`,"Insert row below":`Vložit řádek pod`,"Delete table":`Vymazat tabulku`,"Delete row":`Vymazat řádku`,"Delete column":`Vymazat sloupec`,"Empty cell":`Vyčistit buňku`,source:`HTML`,bold:`tučně`,italic:`kurzíva`,brush:`štětec`,link:`odkaz`,undo:`zpět`,redo:`vpřed`,table:`tabulka`,image:`obrázek`,eraser:`guma`,paragraph:`odstavec`,fontsize:`velikost písma`,video:`video`,font:`písmo`,about:`о editoru`,print:`tisk`,underline:`podtrženo`,strikethrough:`přeškrtnuto`,indent:`zvětšit odsazení`,outdent:`zmenšit odsazení`,fullsize:`celoobrazovkový režim`,shrink:`smrsknout`,hr:`Linka`,ul:`Odrážka`,ol:`Číslovaný seznam`,cut:`Vyjmout`,selectall:`Označit vše`,"Embed code":`Kód`,"Open link":`Otevřít odkaz`,"Edit link":`Upravit odkaz`,"No follow":`Atribut no-follow`,Unlink:`Odstranit odkaz`,Eye:`Zobrazit`,pencil:`Chcete-li upravit`,Update:`Aktualizovat`," URL":`URL`,Edit:`Editovat`,"Horizontal align":`Horizontální zarovnání`,Filter:`Filtr`,"Sort by changed":`Dle poslední změny`,"Sort by name":`Dle názvu`,"Sort by size":`Dle velikosti`,"Add folder":`Přidat složku`,Reset:`Reset`,Save:`Uložit`,"Save as ...":`Uložit jako...`,Resize:`Změnit rozměr`,Crop:`Ořezat`,Width:`Šířka`,Height:`Výška`,"Keep Aspect Ratio":`Ponechat poměr`,Yes:`Ano`,No:`Ne`,Remove:`Vyjmout`,Select:`Označit`,"Chars: %d":`Znaky: %d`,"Words: %d":`Slova: %d`,All:`Vše`,"Select %s":`Označit %s`,"Select all":`Označit vše`,"Vertical align":`Vertikální zarovnání`,Split:`Rozdělit`,"Split vertical":`Rozdělit vertikálně`,"Split horizontal":`Rozdělit horizontálně`,Merge:`Spojit`,"Add column":`Přidat sloupec`,"Add row":`Přidat řádek`,Delete:`Vymazat`,Border:`Okraj`,"License: %s":`Licence: %s`,"Strike through":`Přeškrtnuto`,Underline:`Podtrženo`,superscript:`Horní index`,subscript:`Dolní index`,"Cut selection":`Vyjmout označené`,Break:`Zalomení`,"Search for":`Najdi`,"Replace with":`Nahradit za`,Replace:`Vyměňte`,Paste:`Vložit`,"Choose Content to Paste":`Vyber obsah pro vložení`,"You can only edit your own images. Download this image on the host?":`Můžete upravovat pouze své obrázky. Načíst obrázek?`,"The image has been successfully uploaded to the host!":`Obrázek byl úspěšně nahrán!`,palette:`paleta`,"There are no files":`V tomto adresáři nejsou žádné soubory.`,Rename:`přejmenovat`,"Enter new name":`Zadejte nový název`,preview:`náhled`,download:`Stažení`,"Paste from clipboard":`Vložit ze schránky`,"Your browser doesn't support direct access to the clipboard.":`Váš prohlížeč nepodporuje přímý přístup do schránky.`,"Copy selection":`Kopírovat výběr`,copy:`kopírování`,"Border radius":`Border radius`,"Show all":`Zobrazit všechny`,Apply:`Platí`,"Please fill out this field":`Prosím, vyplňte toto pole`,"Please enter a web address":`Prosím, zadejte webovou adresu`,Default:`Výchozí`,Circle:`Kruh`,Dot:`Dot`,Quadrate:`Quadrate`,Find:`Najít`,"Find Previous":`Najít Předchozí`,"Find Next":`Najít Další`,"Insert className":`Vložte název třídy`,"Press Alt for custom resizing":`Stiskněte Alt pro vlastní změnu velikosti`},Um={"Type something":`Bitte geben Sie einen Text ein`,Advanced:`Fortgeschritten`,"About Jodit":`Über Jodit`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Das Jodit Benutzerhandbuch`,"contains detailed help for using":`beinhaltet ausführliche Informationen wie Sie den Editor verwenden können.`,"For information about the license, please go to our website:":`Für Informationen zur Lizenz, besuchen Sie bitte unsere Web-Präsenz:`,"Buy full version":`Vollversion kaufen`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Alle Rechte vorbehalten.`,Anchor:`Anker`,"Open in new tab":`In neuer Registerkarte öffnen`,"Open in fullsize":`Editor in voller Größe öffnen`,"Clear Formatting":`Formatierung löschen`,"Fill color or set the text color":`Füllfarbe oder Textfarbe ändern`,Redo:`Wiederholen`,Undo:`Rückgängig machen`,Bold:`Fett`,Italic:`Kursiv`,"Insert Unordered List":`Unsortierte Liste einfügen`,"Insert Ordered List":`Nummerierte Liste einfügen`,"Align Center":`Mittig ausrichten`,"Align Justify":`Blocksatz`,"Align Left":`Links ausrichten`,"Align Right":`Rechts ausrichten`,"Insert Horizontal Line":`Horizontale Linie einfügen`,"Insert Image":`Bild einfügen`,"Insert file":`Datei einfügen`,"Insert youtube/vimeo video":`Youtube/vimeo Video einf
500ügen`,"Insert link":`Link einfügen`,"Font size":`Schriftgröße`,"Font family":`Schriftfamilie`,"Insert format block":`Formatblock einfügen`,Normal:`Normal`,"Heading 1":`Überschrift 1`,"Heading 2":`Überschrift 2`,"Heading 3":`Überschrift 3`,"Heading 4":`Überschrift 4`,Quote:`Zitat`,Code:`Code`,Insert:`Einfügen`,"Insert table":`Tabelle einfügen`,"Decrease Indent":`Einzug verkleinern`,"Increase Indent":`Einzug vergrößern`,"Select Special Character":`Sonderzeichen auswählen`,"Insert Special Character":`Sonderzeichen einfügen`,"Paint format":`Format kopieren`,"Change mode":`Änderungsmodus`,Margins:`Ränder`,top:`Oben`,right:`Rechts`,bottom:`Unten`,left:`Links`,Styles:`CSS Stil`,Classes:`CSS Klassen`,Align:`Ausrichtung`,Right:`Rechts`,Center:`Zentriert`,Left:`Links`,"--Not Set--":`Keine`,Src:`Pfad`,Title:`Titel`,Alternative:`Alternativer Text`,Link:`Link`,"Open link in new tab":`Link in neuem Tab öffnen`,Image:`Bild`,file:`Datei`,"Image properties":`Bildeigenschaften`,Cancel:`Abbrechen`,Ok:`OK`,"Your code is similar to HTML. Keep as HTML?":`Ihr Text ähnelt HTML-Code. Als HTML beibehalten?`,"Paste as HTML":`Als HTML einfügen?`,Keep:`Original speichern`,Clean:`Säubern`,"Insert as Text":`Als Text einfügen`,"Word Paste Detected":`In Word formatierter Text erkannt`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Der Inhalt, den Sie einfügen, stammt aus einem Microsoft Word / Excel-Dokument. Möchten Sie das Format erhalten oder bereinigen?`,"Insert only Text":`Nur Text einfügen`,"File Browser":`Dateibrowser`,"Error on load list":`Fehler beim Laden der Liste`,"Error on load folders":`Fehler beim Laden der Ordner`,"Are you sure?":`Sind Sie sicher?`,"Enter Directory name":`Geben Sie den Verzeichnisnamen ein`,"Create directory":`Verzeichnis erstellen`,"type name":`Typname`,"Drop image":`Bild hier hinziehen`,"Drop file":`Datei löschen`,"or click":`oder hier klicken`,"Alternative text":`Alternativtext`,Browse:`Auswählen`,Upload:`Hochladen`,Background:`Hintergrund`,Text:`Text`,Top:`Oben`,Middle:`Mittig`,Bottom:`Unten`,"Insert column before":`Spalte davor einfügen`,"Insert column after":`Spalte danach einfügen`,"Insert row above":`Zeile oberhalb einfügen`,"Insert row below":`Zeile unterhalb einfügen`,"Delete table":`Tabelle löschen`,"Delete row":`Zeile löschen`,"Delete column":`Spalte löschen`,"Empty cell":`Zelle leeren`,Delete:`Löschen`,"Strike through":`Durchstreichen`,Underline:`Unterstreichen`,Break:`Pause`,"Search for":`Suche nach`,"Replace with":`Ersetzen durch`,Replace:`Ersetzen`,Edit:`Bearbeiten`,"Vertical align":`Vertikale Ausrichtung`,"Horizontal align":`Horizontale Ausrichtung`,Filter:`Filter`,"Sort by changed":`Sortieren nach geändert`,"Sort by name":`Nach Name sortieren`,"Sort by size":`Nach Größe sortiert`,"Add folder":`Ordner hinzufügen`,"Split vertical":`Vertikal unterteilen`,"Split horizontal":`Horizontal unterteilen`,Split:`Unterteilen`,Merge:`Vereinen`,"Add column":`Spalte hinzufügen`,"Add row":`Zeile hinzufügen`,Border:`Rand`,"Embed code":`Code einbetten`,Update:`Aktualisieren`,superscript:`Hochstellen`,subscript:`Tiefstellen`,"Cut selection":`Auswahl ausschneiden`,Paste:`Einfügen`,"Choose Content to Paste":`Wählen Sie den Inhalt zum Einfügen aus`,"Chars: %d":`Zeichen: %d`,"Words: %d":`Wörter: %d`,All:`Alles markieren`,"Select %s":`Markieren: %s`,"Select all":`Alles markieren`,source:`HTML`,bold:`Fett gedruckt`,italic:`Kursiv`,brush:`Bürste`,link:`Verknüpfung`,undo:`Rückgängig machen`,redo:`Wiederholen`,table:`Tabelle`,image:`Bild`,eraser:`Radiergummi`,paragraph:`Absatz`,fontsize:`Schriftgröße`,video:`Video`,font:`Schriftart`,about:`Über`,print:`Drucken`,underline:`Unterstreichen`,strikethrough:`Durchstreichen`,indent:`Einzug`,outdent:`Herausstellen`,fullsize:`Vollgröße`,shrink:`Schrumpfen`,hr:`die Linie`,ul:`Liste von`,ol:`Nummerierte Liste`,"Lower Alpha":`Standard, Alphabet (klein)`,"Upper Alpha":`Standard, Alphabet (gross)`,"Lower Roman":`Römisch (klein)`,"Upper Roman":`Römisch (gross)`,"Lower Greek":`Griechisch`,cut:`Schneiden`,selectall:`Wählen Sie Alle au
500s`,"Open link":`Link öffnen`,"Edit link":`Link bearbeiten`,"No follow":`Nofollow-Attribut`,Unlink:`Link entfernen`,Eye:`Ansehen`,pencil:`Bearbeiten`," URL":`URL`,Reset:`Wiederherstellen`,Save:`Speichern`,"Save as ...":`Speichern als`,Resize:`Größe ändern`,Crop:`Größe anpassen`,Width:`Breite`,Height:`Höhe`,"Keep Aspect Ratio":`Seitenverhältnis beibehalten`,Yes:`Ja`,No:`Nein`,Remove:`Entfernen`,Select:`Markieren`,"You can only edit your own images. Download this image on the host?":`Sie können nur Ihre eigenen Bilder bearbeiten. Dieses Bild auf den Host herunterladen?`,"The image has been successfully uploaded to the host!":`Das Bild wurde erfolgreich auf den Server hochgeladen!`,palette:`Palette`,"There are no files":`In diesem Verzeichnis befinden sich keine Dateien.`,Rename:`Umbenennen`,"Enter new name":`Geben Sie einen neuen Namen ein`,preview:`Vorschau`,download:`Herunterladen`,"Paste from clipboard":`Aus Zwischenablage einfügen`,"Your browser doesn't support direct access to the clipboard.":`Ihr Browser unterstützt keinen direkten Zugriff auf die Zwischenablage.`,"Copy selection":`Auswahl kopieren`,copy:`Kopieren`,"Border radius":`Radius für abgerundete Ecken`,"Show all":`Alle anzeigen`,Apply:`Anwenden`,"Please fill out this field":`Bitte füllen Sie dieses Feld aus`,"Please enter a web address":`Bitte geben Sie eine Web-Adresse ein`,Default:`Standard`,Circle:`Kreis`,Dot:`Punkte`,Quadrate:`Quadrate`,Find:`Suchen`,"Find Previous":`Suche vorherige`,"Find Next":`Weitersuchen`,"Insert className":`className (CSS) einfügen`,"Press Alt for custom resizing":`Drücken Sie Alt für benutzerdefinierte Größenanpassung`,"License: %s":`Lizenz: %s`},Wm={"Type something":`Start writing...`,pencil:`Edit`,Quadrate:`Square`},Gm={"Type something":`Escriba algo...`,Advanced:`Avanzado`,"About Jodit":`Acerca de Jodit`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Guía de usuario Jodit`,"contains detailed help for using":`contiene ayuda detallada para el uso.`,"For information about the license, please go to our website:":`Para información sobre la licencia, por favor visite nuestro sitio:`,"Buy full version":`Compre la versión completa`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Todos los derechos reservados.`,Anchor:`Anclar`,"Open in new tab":`Abrir en nueva pestaña`,"Open in fullsize":`Abrir editor en pantalla completa`,"Clear Formatting":`Limpiar formato`,"Fill color or set the text color":`Color de relleno o de letra`,Redo:`Rehacer`,Undo:`Deshacer`,Bold:`Negrita`,Italic:`Cursiva`,"Insert Unordered List":`Insertar lista no ordenada`,"Insert Ordered List":`Insertar lista ordenada`,"Align Center":`Alinear Centrado`,"Align Justify":`Alinear Justificado`,"Align Left":`Alinear Izquierda`,"Align Right":`Alinear Derecha`,"Insert Horizontal Line":`Insertar línea horizontal`,"Insert Image":`Insertar imagen`,"Insert file":`Insertar archivo`,"Insert youtube/vimeo video":`Insertar video de Youtube/vimeo`,"Insert link":`Insertar vínculo`,"Font size":`Tamaño de letra`,"Font family":`Familia de letra`,"Insert format block":`Insertar bloque`,Normal:`Normal`,"Heading 1":`Encabezado 1`,"Heading 2":`Encabezado 2`,"Heading 3":`Encabezado 3`,"Heading 4":`Encabezado 4`,Quote:`Cita`,Code:`Código`,Insert:`Insertar`,"Insert table":`Insertar tabla`,"Decrease Indent":`Disminuir sangría`,"Increase Indent":`Aumentar sangría`,"Select Special Character":`Seleccionar caracter especial`,"Insert Special Character":`Insertar caracter especial`,"Paint format":`Copiar formato`,"Change mode":`Cambiar modo`,Margins:`Márgenes`,top:`arriba`,right:`derecha`,bottom:`abajo`,left:`izquierda`,Styles:`Estilos CSS`,Classes:`Clases CSS`,Align:`Alinear`,Right:`Derecha`,Center:`Centrado`,Left:`Izquierda`,"--Not Set--":`--No Establecido--`,Src:`Fuente`,Title:`Título`,Alternative:`Texto Alternativo`,Filter:`Filtrar`,Link:`Vínculo`,"Open link in new tab":`Abrir vínculo en nueva pestaña`,Image:`Imagen`,file:`Archivo`,"Image properties":`Propiedades de imagen`,Cancel:`Cancelar`,Ok:`Aceptar`,"Your code is similar to HTML. Keep as HTML?":`El código es similar a HTML. ¿Mantener como HTML?`,"Paste as HTML":`Pegar como HTML?`,Keep:`Mantener`,Clean:`Limpiar`,"Insert as Text":`Insertar c
500omo texto`,"Word Paste Detected":`Pegado desde Word detectado`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`El contenido pegado proviene de un documento de Microsoft Word/Excel. ¿Desea mantener el formato o limpiarlo?`,"Insert only Text":`Insertar solo texto`,"File Browser":`Buscar archivo`,"Error on load list":`Error al cargar la lista`,"Error on load folders":`Error al cargar las carpetas`,"Are you sure?":`¿Está seguro?`,"Enter Directory name":`Entre nombre de carpeta`,"Create directory":`Crear carpeta`,"type name":`Entre el nombre`,"Drop image":`Soltar imagen`,"Drop file":`Soltar archivo`,"or click":`o click`,"Alternative text":`Texto alternativo`,Browse:`Buscar`,Upload:`Subir`,Background:`Fondo`,Text:`Texto`,Top:`Arriba`,Middle:`Centro`,Bottom:`Abajo`,"Insert column before":`Insertar columna antes`,"Insert column after":`Interar columna después`,"Insert row above":`Insertar fila arriba`,"Insert row below":`Insertar fila debajo`,"Delete table":`Borrar tabla`,"Delete row":`Borrar fila`,"Delete column":`Borrar columna`,"Empty cell":`Vaciar celda`,Delete:`Borrar`,"Strike through":`Tachado`,Underline:`Subrayado`,Break:`Pausa`,"Search for":`Buscar`,"Replace with":`Reemplazar con`,Replace:`Reemplazar`,Edit:`Editar`,"Vertical align":`Alineación vertical`,"Horizontal align":`Alineación horizontal`,"Sort by changed":`Ordenar por fecha modificación`,"Sort by name":`Ordenar por nombre`,"Sort by size":`Ordenar por tamaño`,"Add folder":`Agregar carpeta`,Split:`Dividir`,"Split vertical":`Dividir vertical`,"Split horizontal":`Dividir horizontal`,Merge:`Mezclar`,"Add column":`Agregar columna`,"Add row":`Agregar fila`,Border:`Borde`,"Embed code":`Incluir código`,Update:`Actualizar`,superscript:`superíndice`,subscript:`subíndice`,"Cut selection":`Cortar selección`,Paste:`Pegar`,"Choose Content to Paste":`Seleccionar contenido para pegar`,"Chars: %d":`Caracteres: %d`,"Words: %d":`Palabras: %d`,All:`Todo`,"Select %s":`Seleccionar: %s`,"Select all":`Seleccionar todo`,source:`HTML`,bold:`negrita`,italic:`cursiva`,brush:`Brocha`,link:`Vínculo`,undo:`deshacer`,redo:`rehacer`,table:`Tabla`,image:`Imagen`,eraser:`Borrar`,paragraph:`Párrafo`,fontsize:`Tamaño de letra`,video:`Video`,font:`Letra`,about:`Acerca de`,print:`Imprimir`,underline:`subrayar`,strikethrough:`tachar`,indent:`sangría`,outdent:`quitar sangría`,fullsize:`Tamaño completo`,shrink:`encoger`,hr:`línea horizontal`,ul:`lista sin ordenar`,ol:`lista ordenada`,cut:`Cortar`,selectall:`Seleccionar todo`,"Open link":`Abrir vínculo`,"Edit link":`Editar vínculo`,"No follow":`No seguir`,Unlink:`Desvincular`,Eye:`Ver`,pencil:`Para editar`," URL":`URL`,Reset:`Resetear`,Save:`Guardar`,"Save as ...":`Guardar como...`,Resize:`Redimensionar`,Crop:`Recortar`,Width:`Ancho`,Height:`Alto`,"Keep Aspect Ratio":`Mantener relación de aspecto`,Yes:`Si`,No:`No`,Remove:`Quitar`,Select:`Seleccionar`,"You can only edit your own images. Download this image on the host?":`Solo puedes editar tus propias imágenes. ¿Descargar esta imagen en el servidor?`,"The image has been successfully uploaded to the host!":`¡La imagen se ha subido correctamente al servidor!`,palette:`paleta`,"There are no files":`No hay archivos en este directorio.`,Rename:`renombrar`,"Enter new name":`Ingresa un nuevo nombre`,preview:`avance`,download:`Descargar`,"Paste from clipboard":`Pegar desde el portapapeles`,"Your browser doesn't support direct access to the clipboard.":`Su navegador no soporta el acceso directo en el portapapeles.`,"Copy selection":`Selección de copia`,copy:`copia`,"Border radius":`Radio frontera`,"Show all":`Mostrar todos los`,Apply:`Aplicar`,"Please fill out this field":`Por favor, rellene este campo`,"Please enter a web address":`Por favor, introduzca una dirección web`,Default:`Predeterminado`,Circle:`Círculo`,Dot:`Punto`,Quadrate:`Cuadro`,"Lower Alpha":`Letra Minúscula`,"Lower Greek":`Griego Minúscula`,"Lower Roman":`Romano Minúscula`,"Upper Alpha":`Letra Mayúscula`,"Upper Roman":`Romano Mayúscula`,Find:`Encontrar`,"Find Previous":`Buscar Anterior`,"Find Next":`Buscar Siguiente`,"Insert className":`Insertar nombre de clase`,"Press Alt for custom resizing":`Presione Alt para cambiar el tamaño personalizado`,"License: %s":`Licencia: %s`},Km={"Type something":`Kirjoita jotain...`,Advanced:`Avanzado`,"About Jodit":`Tietoja Jodit:ista`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Jodit kÃ
500¤yttäjän ohje`,"contains detailed help for using":`sisältää tarkempaa tietoa käyttämiseen`,"For information about the license, please go to our website:":`Tietoa lisensoinnista, vieraile verkkosivuillamme:`,"Buy full version":`Osta täysi versio`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Kaikki oikeudet pidätetään.`,Anchor:`Ankkuri`,"Open in new tab":`Avaa uudessa välilehdessä`,"Open in fullsize":`Avaa täysikokoisena`,"Clear Formatting":`Poista muotoilu`,"Fill color or set the text color":`Täytä värillä tai aseta tekstin väri`,Redo:`Tee uudelleen`,Undo:`Peruuta`,Bold:`Lihavoitu`,Italic:`Kursiivi`,"Insert Unordered List":`Lisää järjestämätön lista`,"Insert Ordered List":`Lisää järjestetty lista`,"Align Center":`Asemoi keskelle`,"Align Justify":`Asemoi tasavälein`,"Align Left":`Asemoi vasemmalle`,"Align Right":`Asemoi oikealle`,"Insert Horizontal Line":`Lisää vaakasuuntainen viiva`,"Insert Image":`Lisää kuva`,"Insert file":`Lisää tiedosto`,"Insert youtube/vimeo video":`Lisää Youtube-/vimeo- video`,"Insert link":`Lisää linkki`,"Font size":`Kirjasimen koko`,"Font family":`Kirjasimen nimi`,"Insert format block":`Lisää muotoilualue`,Normal:`Normaali`,"Heading 1":`Otsikko 1`,"Heading 2":`Otsikko 2`,"Heading 3":`Otsikko 3`,"Heading 4":`Otsikko 4`,Quote:`Lainaus`,Code:`Koodi`,Insert:`Lisää`,"Insert table":`Lisää taulukko`,"Decrease Indent":`Pienennä sisennystä`,"Increase Indent":`Lisää sisennystä`,"Select Special Character":`Valitse erikoismerkki`,"Insert Special Character":`Lisää erikoismerkki`,"Paint format":`Maalaa muotoilu`,"Change mode":`Vaihda tilaa`,Margins:`Marginaalit`,top:`ylös`,right:`oikealle`,bottom:`alas`,left:`vasemmalle`,Styles:`CSS-tyylit`,Classes:`CSS-luokat`,Align:`Asemointi`,Right:`Oikea`,Center:`Keskellä`,Left:`Vasen`,"--Not Set--":`--Ei asetettu--`,Src:`Fuente`,Title:`Otsikko`,Alternative:`Vaihtoehtoinen teksti`,Filter:`Suodatin`,Link:`Linkki`,"Open link in new tab":`Avaa uudessa välilehdessä`,Image:`Kuva`,file:`Tiedosto`,"Image properties":`Kuvan ominaisuudet`,Cancel:`Peruuta`,Ok:`Ok`,"Your code is similar to HTML. Keep as HTML?":`Koodi on HTML:n tapaista. Säilytetäänkö HTML?`,"Paste as HTML":`Liitä HTML:nä?`,Keep:`Säilytä`,Clean:`Tyhjennä`,"Insert as Text":`Lisää tekstinä`,"Word Paste Detected":`Word liittäminen havaittu`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Liitetty sisältö tulee Microsoft Word-/Excel- tiedostosta. Haluatko säilyttää muotoilun vai poistaa sen?`,"Insert only Text":`Lisää vain teksti`,"File Browser":`Tiedostoselain`,"Error on load list":`Virhe listan latauksessa`,"Error on load folders":`Virhe kansioiden latauksessa`,"Are you sure?":`Oletko varma?`,"Enter Directory name":`Syötä hakemiston nimi`,"Create directory":`Luo hakemisto`,"type name":`Syötä nimi`,"Drop image":`Pudota kuva`,"Drop file":`Pudota tiedosto`,"or click":`tai klikkaa`,"Alternative text":`Vaihtoehtoinen teksti`,Browse:`Selaa`,Upload:`Lataa`,Background:`Tausta`,Text:`Teksti`,Top:`Ylös`,Middle:`Keskelle`,Bottom:`Alas`,"Insert column before":`Lisää sarake ennen`,"Insert column after":`Lisää sarake jälkeen`,"Insert row above":`Lisää rivi ylös`,"Insert row below":`Lisää rivi alle`,"Delete table":`Poista taulukko`,"Delete row":`Poista rivi`,"Delete column":`Poista sarake`,"Empty cell":`Tyhjennä solu`,Delete:`Poista`,"Strike through":`Yliviivaus`,Underline:`Alleviivaus`,Break:`Vaihto`,"Search for":`Etsi arvoa`,"Replace with":`Korvaa arvolla`,Replace:`Korvaa`,Edit:`Muokkaa`,"Vertical align":`Pystyasemointi`,"Horizontal align":`Vaaka-asemointi`,"Sort by changed":`Järjestä muuttuneilla`,"Sort by name":`Järjestä nimellä`,"Sort by size":`Järjestä koolla`,"Add folder":`Lisää kansio`,Split:`Jaa`,"Split vertical":`Jaa pystysuuntaisesti`,"Split horizontal":`Jaa vaakasuuntaisesti`,Merge:`Yhdistä`,"Add column":`Lisää sarake`,"Add row":`Lisää rivi`,Border:`Reuna`,"Embed code":`Sisällytä koodi`,Update:`Päivitä`,superscript:`yläviite`,subscript:`alaviite`,"Cut selection":`Leikkaa valinta`,Paste:`Liitä`,"Choose Content to Paste":`Valitse liitettävä sisältö`,"Chars: %d":`Merkit: %d`,"Words: %d":`Sanat: %d`,All:`Kaikki`,"Select %s":`Valitse: %s`,"Select all":`Valitse kaikki`,source:`HTML`,bold:`lihavoitu`,italic:`kursiivi`,brush:`sivellin`,link:`linkki`,undo:`peruuta`,redo:`tee uudelleen`,table:`taulukko`,image:`kuva`,eraser:`pyyhekumi`,paragraph:`kappale`,fontsize:`tekstin koko`,video:`video`,font:`kirjasin`,about:`tietoja`,print:`tulosta`,underline:`alleviivaa`,strikethrough:`yliviivaa`,indent:`sisennä`,outdent:`pienennä sisennystä`,fullsize:`täysikokoinen`,shrink:`pienennä`,hr:`vaakaviiva`,ul:`järjestetty lista`,ol:`järjestämätön lista`,cut:`leikkaa`,selectall:`valitse kaikki`,"Open link":`Avaa linkki`,"Edit link":`Muokkaa linkkiä`,"No follow":`Älä seuraa`,Unlink:`Pura linkki`,Eye:`Ver`,pencil:`Muokkaa`," URL":`URL`,Reset:`Nollaa`,Save:`Tallenna`,"Save as ...":`Tallenna nimellä ...`,Resize:`Muuta kokoa`,Crop:`Rajaa`,Width:`Leveys`,Height:`Korkeus`,"Keep Aspect Ratio":`Säilytä kuvasuhde`,Yes:`Kyllä`,No:`Ei`,Remove:`Poista`,Select:`Valitse`,"You can only edit your own images. Download this image on the host?":`Voit muokata vain om
500ia kuvia. Lataa tämä kuva palvelimelle?`,"The image has been successfully uploaded to the host!":`Kuva on onnistuneesti ladattu palvelimelle!`,palette:`paletti`,"There are no files":`Tiedostoja ei ole`,Rename:`Nimeä uudelleen`,"Enter new name":`Syötä uusi nimi`,preview:`esikatselu`,download:`Lataa`,"Paste from clipboard":`Liitä leikepöydältä`,"Your browser doesn't support direct access to the clipboard.":`Selaimesi ei tue suoraa pääsyä leikepöydälle.`,"Copy selection":`Kopioi valinta`,copy:`kopioi`,"Border radius":`Reunan pyöristys`,"Show all":`Näytä kaikki`,Apply:`Käytä`,"Please fill out this field":`Täytä tämä kenttä`,"Please enter a web address":`Annan web-osoite`,Default:`Oletus`,Circle:`Ympyrä`,Dot:`Piste`,Quadrate:`Neliö`,"Lower Alpha":`Pieni aakkosellinen`,"Lower Greek":`Pieni kreikkalainen`,"Lower Roman":`Pieni roomalainen`,"Upper Alpha":`Suuri aakkosellinen`,"Upper Roman":`Suuri roomalainen`,Find:`Hae`,"Find Previous":`Hae edellinen`,"Find Next":`Hae seuraava`,"Insert className":`Lisää luokkanimi`,"Press Alt for custom resizing":`Paina Alt muokattuun koon muuttamiseen`,"Class name":`Luokan nimi`,"License: %s":`Lisenssi: %s`},qm={"Type something":`Ecrivez ici`,"About Jodit":`A propos de Jodit`,"Jodit Editor":`Editeur Jodit`,"Jodit User's Guide":`Guide de l'utilisateur`,"contains detailed help for using":`Aide détaillée à l'utilisation`,"For information about the license, please go to our website:":`Consulter la licence sur notre site web:`,"Buy full version":`Acheter la version complète`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Tous droits réservés.`,Anchor:`Ancre`,"Open in new tab":`Ouvrir dans un nouvel onglet`,"Open in fullsize":`Ouvrir l'éditeur en pleine page`,"Clear Formatting":`Supprimer le formattage`,"Fill color or set the text color":`Modifier la couleur du fond ou du texte`,Redo:`Refaire`,Undo:`Défaire`,Bold:`Gras`,Italic:`Italique`,"Insert Unordered List":`Liste non ordonnée`,"Insert Ordered List":`Liste ordonnée`,"Align Center":`Centrer`,"Align Justify":`Justifier`,"Align Left":`Aligner à gauche `,"Align Right":`Aligner à droite`,"Insert Horizontal Line":`Insérer une ligne horizontale`,"Insert Image":`Insérer une image`,"Insert file":`Insérer un fichier`,"Insert youtube/vimeo video":`Insérer une vidéo`,"Insert link":`Insérer un lien`,"Font size":`Taille des caractères`,"Font family":`Famille des caractères`,"Insert format block":`Bloc formatté`,Normal:`Normal`,"Heading 1":`Titre 1`,"Heading 2":`Titre 2`,"Heading 3":`Titre 3`,"Heading 4":`Titre 4`,Quote:`Citation`,Code:`Code`,Insert:`Insérer`,"Insert table":`Insérer un tableau`,"Decrease Indent":`Diminuer le retrait`,"Increase Indent":`Retrait plus`,"Select Special Character":`Sélectionnez un caractère spécial`,"Insert Special Character":`Insérer un caractère spécial`,"Paint format":`Cloner le format`,"Change mode":`Mode wysiwyg <-> code html`,Margins:`Marges`,top:`haut`,right:`droite`,bottom:`Bas`,left:`gauche`,Styles:`Styles`,Classes:`Classes`,Align:`Alignement`,Right:`Droite`,Center:`Centre`,Left:`Gauche`,"--Not Set--":`--Non disponible--`,Src:`Source`,Title:`Titre`,Alternative:`Alternative`,Filter:`Filtre`,Link:`Lien`,"Open link in new tab":`Ouvrir le lien dans un nouvel onglet`,Image:`Image`,file:`fichier`,Advanced:`Avancé`,"Image properties":`Propriétés de l'image`,Cancel:`Annuler`,Ok:`OK`,"Your code is similar to HTML. Keep as HTML?":`Votre texte que vous essayez de coller est similaire au HTML. Collez-le en HTML?`,"Paste as HTML":`Coller en HTML?`,Keep:`Sauvegarder l'original`,Clean:`Nettoyer`,"Insert as Text":`Coller en tant que texte`,"Word Paste Detected":`C'est peut-être un fragment de Word ou Excel`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Le contenu que vous insérez provient d'un document Microsoft Word / Excel. Voulez-vous enregistrer le format ou l'effacer?`,"Insert only Text":`Coller le texte seulement`,"File Browser":`Explorateur de fichiers`,"Error on load list":`Erreur de liste de chargement`,"Error on load folders":`Erreur de dossier de chargement`,"Are you sure?":`Etes-vous sûrs ?`,"Enter Directory name":`Entrer le nom de dossier`,"Create directory":`Créer un dossier`,"type name":`type de fichier`,"Drop image":`Coller une image`,"Drop file":`Déposer un fichier`,"or click":`ou cliquer`,"Alternative text":`Texte de remplacemement`,Browse:`Chercher`,Upload:`Charger`,Backgroun
500d:`Arrière-plan`,Border:`Bordure`,Text:`Texte`,Top:`Haut`,Middle:`Milieu`,Bottom:`Bas`,"Insert column before":`Insérer une colonne avant`,"Insert column after":`Insérer une colonne après`,"Insert row above":`Insérer une ligne au dessus`,"Insert row below":`Insérer une ligne en dessous`,"Delete table":`Supprimer le tableau`,"Delete row":`Supprimer la ligne`,"Delete column":`Supprimer la colonne`,"Empty cell":`Vider la cellule`,"Chars: %d":`Symboles: %d`,"Words: %d":`Mots: %d`,Split:`Split`,"Split vertical":`Split vertical`,"Split horizontal":`Split horizontal`,"Strike through":`Barrer`,Underline:`Souligner`,superscript:`exposant`,subscript:`indice`,"Cut selection":`Couper la sélection`,"Select all":`Tout sélectionner`,Break:`Pause`,"Search for":`Rechercher`,"Replace with":`Remplacer par`,Replace:`Remplacer`,Paste:`Coller`,"Choose Content to Paste":`Choisissez le contenu à coller`,source:`la source`,bold:`gras`,italic:`italique`,brush:`pinceau`,link:`lien`,undo:`annuler`,redo:`refaire`,table:`tableau`,image:`image`,eraser:`gomme`,paragraph:`clause`,fontsize:`taille de police`,video:`Video`,font:`police`,about:`à propos de l'éditeur`,print:`impression`,underline:`souligné`,strikethrough:`barré`,indent:`indentation`,outdent:`retrait`,fullsize:`taille réelle`,shrink:`taille conventionnelle`,hr:`la ligne`,ul:`Liste`,ol:`Liste numérotée`,cut:`Couper`,selectall:`Sélectionner tout`,"Open link":`Ouvrir le lien`,"Edit link":`Modifier le lien`,"No follow":`Attribut Nofollow`,Unlink:`Supprimer le lien`,Eye:`Voir`,pencil:`Pour éditer`," URL":`URL`,Reset:`Restaurer`,Save:`Sauvegarder`,"Save as ...":`Enregistrer sous`,Resize:`Changer la taille`,Crop:`Taille de garniture`,Width:`Largeur`,Height:`Hauteur`,"Keep Aspect Ratio":`Garder les proportions`,Yes:`Oui`,No:`Non`,Remove:`Supprimer`,Select:`Mettre en évidence`,"Select %s":`Mettre en évidence: %s`,Update:`Mettre à jour`,"Vertical align":`Alignement vertical`,Merge:`aller`,"Add column":`Ajouter une colonne`,"Add row":`Ajouter une rangée`,Delete:`Effacer`,"Horizontal align":`Alignement horizontal`,"Sort by changed":`Trier par modification`,"Sort by name":`Trier par nom`,"Sort by size":`Trier par taille`,"Add folder":`Créer le dossier`,"You can only edit your own images. Download this image on the host?":`Vous ne pouvez éditer que vos propres images. Téléchargez cette image sur l'hôte?`,"The image has been successfully uploaded to the host!":`L'image a été téléchargée avec succès sur le serveur!`,palette:`Palette`,"There are no files":`Il n'y a aucun fichier dans ce répertoire.`,Rename:`renommer`,"Enter new name":`Entrez un nouveau nom`,preview:`Aperçu`,download:`Télécharger`,"Paste from clipboard":`Coller à partir du presse-papiers`,"Your browser doesn't support direct access to the clipboard.":`Votre navigateur ne prend pas en charge l'accès direct au presse-papiers.`,"Copy selection":`Copier la sélection`,copy:`copie`,"Border radius":`Rayon des bordures`,"Show all":`Afficher tous`,Apply:`Appliquer`,"Please fill out this field":`Veuillez remplir ce champ`,"Please enter a web address":`Veuillez entrer une adresse web`,Default:`Par défaut`,Circle:`Cercle`,Dot:`Point`,Quadrate:`Quadratique`,Find:`Trouver`,"Find Previous":`Précédent`,"Find Next":`Suivant`,"Insert className":`Insérer un nom de classe`,"Press Alt for custom resizing":`Appuyez sur Alt pour un redimensionnement personnalisé`,"Embed code":`Code d'intégration`,Edit:`Modifier`,All:`Tout sélectionner`,"License: %s":`Licence: %s`},Jm={"Type something":`הקלד משהו...`,Advanced:`מתקדם`,"About Jodit":`About Jodit`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Jodit User's Guide`,"contains detailed help for using":`contains detailed help for using.`,"For information about the license, please go to our website:":`For information about the license, please go to our website:`,"Buy full version":`Buy full version`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.`,Anchor:`מקום עיגון`,"Open in new tab":`פתח בכרטיסיה חדשה`,"Open in fullsize":`פתח את העורך בחלון חדש`,"Clear Formatting":`נקה עיצוב`,"Fill color or set the text color":`שנה צבע טקסט או רקע`,Redo:`בצע שוב`,Undo:`בטל`,Bold:`מודגש`,Italic:`נטוי`,"Insert Unordered List":`הכנס רשימת תבליטים`,"Insert Ordered List":`הכנס רשימה ממוספרת`,"Align Center":`מרכז`,"Align Justify":`ישר `,"Align Left":`ישר לשמאל`,"Align Right":`ישר לימין`,"Insert Horizontal Line":`הכנס קו אופקי`,"Insert Image":`הכנס תמונה`,"Insert file":`הכנס קובץ`,"Insert youtube/vimeo video":`הכנס סרטון וידאו מYouTube/Vimeo`,"Insert link":`הכנס קישור`,"Font size":`גודל גופן`,"Font family":`גופן`,"Insert format block":`מעוצב מראש`,Normal:`רגיל`,"Heading 1":`כותרת 1`,"Heading 2":`כותרת 2`,"Heading 3":`כותרת 3`,"Heading 4":`כותרת 4`,Quote:`ציטוט`,Code:`קוד`,Insert:`הכנס`,"Insert table":`הכנס טבלה`,"Decrease Indent":`הקטן כניסה`,"Increase Indent":`הגדל כניסה`,"Select Special Character":`בחר תו מיוחד`,"Insert Special Character":`הכנס תו מיוחד`,"Paint format":`העתק עיצוב`,"Change mode":`החלף מצב`,Margins:`ריווח`,top:`עליון`,right:`ימין`,bottom:`תחתון`,left:`שמאל`,Styles:`עיצוב CSS`,Classes:`מחלקת CSS`,Align:`יישור`,Right:`ימין`,Center:`מרכז`,Left:`שמאל`,"--Not Set--":`--לא נקבע--`,Src:`מקור`,Title:`כותרת`,Alternative:`כיתוב חלופי`,Link:`קישור`,"Open link in new tab":`פתח בכרטיסיה חדשה`,Image:`תמונה`,file:`קובץ`,"Image properties":`מאפייני תמונה`,Cancel:`ביטול`,Ok:`אישור`,"Your code is similar to HTML. Keep as HTML?":`הקוד דומה לHTML, האם להשאיר כHTML`,"Paste as HTML":`הדבק כHTML`,Keep:`השאר`,Clean:`נקה`,"Insert as Text":`הכנס כטקסט`,"Word Paste Detected":`זוהתה הדבקה מ"וורד"`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`התוכן המודבק מגיע ממסמך וורד/אקסל. האם ברצונך להשאיר את העיצוב או לנקותו`,"Insert only Text":`הכנס טקסט בלבד`,"File Browser":`סייר הקבצים`,"Error on load list":`שגיאה  בזמן טעינת רשימה`,"Error on load folders":`שגיאה בזמן טעינת תקיות`,"Are you sure?":`האם אתה בטוח?`,"Enter Directory name":`הכנס שם תקיה`,"Create directory":`צור תקיה`,"type name":`סוג הקובץ`,"Drop image":`הסר תמונה`,"Drop file":`הסר קובץ`,"or click":`או לחץ`,"Alternative text":`כיתוב חלופי`,Browse:`סייר`,Upload:`העלה`,Backgroun
500d:`רקע`,Text:`טקסט`,Top:`עליון`,Middle:`מרכז`,Bottom:`תחתון`,"Insert column before":`הכנס עמודה לפני`,"Insert column after":`הכנס עמודה אחרי`,"Insert row above":`הכנס שורה מעל`,"Insert row below":`הכנס שורה מתחת`,"Delete table":`מחק טבלה`,"Delete row":`מחק שורה`,"Delete column":`מחק עמודה`,"Empty cell":`רוקן תא`,Delete:`מחק`,"Strike through":`קו חוצה`,Underline:`קו תחתון`,Break:`שבירת שורה`,"Search for":`חפש`,"Replace with":`החלף ב`,Replace:`להחליף`,Edit:`ערוך`,"Vertical align":`יישור אנכי`,"Horizontal align":`יישור אופקי`,Filter:`סנן`,"Sort by changed":`מין לפי שינוי`,"Sort by name":`מיין לפי שם`,"Sort by size":`מיין לפי גודל`,"Add folder":`הוסף תקייה`,Split:`פיצול`,"Split vertical":`פיצול אנכי`,"Split horizontal":`פיצול אופקי`,Merge:`מזג`,"Add column":`הוסף עמודה`,"Add row":`הוסף שורה`,Border:`מסגרת`,"Embed code":`הוסף קוד`,Update:`עדכן`,superscript:`superscript`,subscript:`subscript`,"Cut selection":`גזור בחירה`,Paste:`הדבק`,"Choose Content to Paste":`בחר תוכן להדבקה`,"Chars: %d":`תווים: %d`,"Words: %d":`מילים: %d`,All:`הכל`,"Select %s":`נבחר: %s`,"Select all":`בחר הכל`,source:`HTML`,bold:`מודגש`,italic:`נטוי`,brush:`מברשת`,link:`קישור`,undo:`בטל`,redo:`בצע שוב`,table:`טבלה`,image:`תמונה`,eraser:`מחק`,paragraph:`פסקה`,fontsize:`גודל גופן`,video:`וידאו`,font:`גופן`,about:`עלינו`,print:`הדפס`,underline:`קו תחתון`,strikethrough:`קו חוצה`,indent:`הגדל כניסה`,outdent:`הקטן כניסה`,fullsize:`גודל מלא`,shrink:`כווץ`,hr:`קו אופקי`,ul:`רשימת תבליטים`,ol:`רשימה ממוספרת`,cut:`חתוך`,selectall:`בחר הכל`,"Open link":`פתח קישור`,"Edit link":`ערוך קישור`,"No follow":`ללא מעקב`,Unlink:`בטל קישור`,Eye:`הצג`,pencil:`כדי לערוך`," URL":`כתובת`,Reset:`אפס`,Save:`שמור`,"Save as ...":`שמור בשם...`,Resize:`שנה גודל`,Crop:`חתוך`,Width:`רוחב`,Height:`גובה`,"Keep Aspect Ratio":`שמור יחס`,Yes:`כן`,No:`לא`,Remove:`הסר`,Select:`בחר`,"You can only edit your own images. Download this image on the host?":`רק קבצים המשוייכים שלך ניתנים לעריכה. האם להוריד את הקובץ?`,"The image has been successfully uploaded to the host!":`התמונה עלתה בהצלחה!`,palette:`לוח`,"There are no files":`אין קבצים בספריה זו.`,Rename:`הונגרית`,"Enter new name":`הזן שם חדש`,preview:`תצוגה מקדימה`,download:`הורד`,"Paste from clipboard":`להדביק מהלוח`,"Your browser doesn't support direct access to the clipboard.":`הדפדפן שלך לא תומך גישה ישירה ללוח.`,"Copy selection":`העתק בחירה`,copy:`העתק`,"Border radius":`רדיוס הגבול`,"Show all":`הצג את כל`,Apply:`החל`,"Please fill out this field":`נא למלא שדה זה`,"Please enter a web address":`אנא הזן כתובת אינטרנט`,Default:`ברירת המחדל`,Circle:`מעגל`,Dot:`נקודה`,Quadrate:`הריבוע הזה`,Find:`למצוא`,"Find Previous":`מצא את הקודם`,"Find Next":`חפש את הבא`,"Insert className":`הכנס את שם הכיתה`,"Press Alt for custom resizing":`לחץ על אלט לשינוי גודל מותאם אישית`,"License: %s":`רישיון: %s`},Ym={"Type something":`Írjon be valamit`,Advanced:`Haladó`,"About Jodit":`Joditról`,"Jodit Editor":`Jodit Editor`,"Free Non-commercial Version":`Ingyenes változat`,"Jodit User's Guide":`Jodit útmutató`,"contains detailed help for using":`további segítséget tartalmaz`,"For information about the license, please go to our website:":`További licence információkért látogassa meg a weboldalunkat:`,"Buy full version":`Teljes verzió megvásárlása`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Minden jog fenntartva.`,Anchor:`Horgony`,"Open in new tab":`Megnyitás új lapon`,"Open in fullsize":`Megnyitás teljes méretben`,"Clear Formatting":`Formázás törl
500ése`,"Fill color or set the text color":`Háttér/szöveg szín`,Redo:`Újra`,Undo:`Visszavon`,Bold:`Félkövér`,Italic:`Dőlt`,"Insert Unordered List":`Pontozott lista`,"Insert Ordered List":`Számozott lista`,"Align Center":`Középre zárt`,"Align Justify":`Sorkizárt`,"Align Left":`Balra zárt`,"Align Right":`Jobbra zárt`,"Insert Horizontal Line":`Vízszintes vonal beszúrása`,"Insert Image":`Kép beszúrás`,"Insert file":`Fájl beszúrás`,"Insert youtube/vimeo video":`Youtube videó beszúrása`,"Insert link":`Link beszúrás`,"Font size":`Betűméret`,"Font family":`Betűtípus`,"Insert format block":`Formázott blokk beszúrása`,Normal:`Normál`,"Heading 1":`Fejléc 1`,"Heading 2":`Fejléc 2`,"Heading 3":`Fejléc 3`,"Heading 4":`Fejléc 4`,Quote:`Idézet`,Code:`Kód`,Insert:`Beszúr`,"Insert table":`Táblázat beszúrása`,"Decrease Indent":`Behúzás csökkentése`,"Increase Indent":`Behúzás növelése`,"Select Special Character":`Speciális karakter kiválasztása`,"Insert Special Character":`Speciális karakter beszúrása`,"Paint format":`Kép formázása`,"Change mode":`Nézet váltása`,Print:`Nyomtatás`,Margins:`Szegélyek`,top:`felső`,right:`jobb`,bottom:`alsó`,left:`bal`,Styles:`CSS stílusok`,Classes:`CSS osztályok`,Align:`Igazítás`,Right:`Jobbra`,Center:`Középre`,Left:`Balra`,"--Not Set--":`Nincs`,Src:`Forrás`,Title:`Cím`,Alternative:`Helyettesítő szöveg`,Link:`Link`,"Open link in new tab":`Link megnyitása új lapon`,Image:`Kép`,file:`Fájl`,"Image properties":`Kép tulajdonságai`,Cancel:`Mégsem`,Ok:`OK`,"Your code is similar to HTML. Keep as HTML?":`A beillesztett szöveg HTML-nek tűnik. Megtartsuk HTML-ként?`,"Paste as HTML":`Beszúrás HTML-ként`,Keep:`Megtartás`,Clean:`Elvetés`,"Insert as Text":`Beszúrás szövegként`,"Word Paste Detected":`Word-ből másolt szöveg`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`A beillesztett tartalom Microsoft Word/Excel dokumentumból származik. Meg szeretné tartani a formátumát?`,"Insert only Text":`Csak szöveg beillesztése`,"File Browser":`Fájl tallózó`,"Error on load list":`Hiba a lista betöltése közben`,"Error on load folders":`Hiba a mappák betöltése közben`,"Are you sure?":`Biztosan ezt szeretné?`,"Enter Directory name":`Írjon be egy mappanevet`,"Create directory":`Mappa létrehozása`,"type name":`írjon be bevet`,"Drop image":`Húzza ide a képet`,"Drop file":`Húzza ide a fájlt`,"or click":`vagy kattintson`,"Alternative text":`Helyettesítő szöveg`,Browse:`Tallóz`,Upload:`Feltölt`,Background:`Háttér`,Text:`Szöveg`,Top:`Fent`,Middle:`Középen`,Bottom:`Lent`,"Insert column before":`Oszlop beszúrás elé`,"Insert column after":`Oszlop beszúrás utána`,"Insert row above":`Sor beszúrás fölé`,"Insert row below":`Sor beszúrás alá`,"Delete table":`Táblázat törlése`,"Delete row":`Sor törlése`,"Delete column":`Oszlop törlése`,"Empty cell":`Cella tartalmának törlése`,Delete:`Törlés`,"Strike through":`Áthúzott`,Underline:`Aláhúzott`,Break:`Szünet`,"Search for":`Keresés`,"Replace with":`Csere erre`,Replace:`Cserélje ki`,Edit:`Szerkeszt`,"Vertical align":`Függőleges igazítás`,"Horizontal align":`Vízszintes igazítás`,Filter:`Szűrő`,"Sort by changed":`Rendezés módosítás szerint`,"Sort by name":`Rendezés név szerint`,"Sort by size":`Rendezés méret szerint`,"Add folder":`Mappa hozzáadás`,"Split vertical":`Függőleges felosztás`,"Split horizontal":`Vízszintes felosztás`,Merge:`Összevonás`,"Add column":`Oszlop hozzáadás`,"Add row":`Sor hozzáadás`,Border:`Szegély`,"Embed code":`Beágyazott kód`,Update:`Frissít`,superscript:`Felső index`,subscript:`Alsó index`,"Cut selection":`Kivágás`,Paste:`Beillesztés`,"Choose Content to Paste":`Válasszon tartalmat a beillesztéshez`,Split:`Felosztás`,"Chars: %d":`Karakterek száma: %d`,"Words: %d":`Szavak száma: %d`,All:`Összes`,"Select %s":`Kijelöl: %s`,"Select all":`Összes kijelölése`,source:`HTML`,bold:`Félkövér`,italic:`Dőlt`,brush:`Ecset`,link:`Link`,undo:`Visszavon`,redo:`Újra`,table:`Táblázat`,image:`Kép`,eraser:`Törlés`,paragraph:`Paragráfus`,fontsize:`Betűméret`,video:`Videó`,font:`Betű`,about:`Rólunk`,print:`Nyomtat`,underline:`Aláhúzott`,strikethrough:`Áthúzott`,indent:`Behúzás`,outdent:`Aussenseiter`,fullsize:`Teljes méret`,shrink:`Összenyom`,hr:`Egyenes vonal`,ul:`Lista`,ol:`Számozott lista`,cut:`Kivág`,selectall:`Összes kijelölése`,"Open link":`Link megnyitása`,"Edit link":`Link szerkesztése`,"No follow":`Nincs követés`,Unlink:`Link leválasztása`,Eye:`felülvizsgálat`,pencil:`Szerkesztés`," URL":`URL`,Reset:`Visszaállít`,Save:`Mentés`,"Save as ...":`Mentés másként...`,Resize:`Átméretezés`,Crop:`Kivág`,Wi
500dth:`Szélesség`,Height:`Magasság`,"Keep Aspect Ratio":`Képarány megtartása`,Yes:`Igen`,No:`Nem`,Remove:`Eltávolít`,Select:`Kijelöl`,"You can only edit your own images. Download this image on the host?":`Csak a saját képeit tudja szerkeszteni. Letölti ezt a képet?`,"The image has been successfully uploaded to the host!":`Kép sikeresen feltöltve!`,palette:`Palette`,"There are no files":`Er zijn geen bestanden in deze map.`,Rename:`átnevezés`,"Enter new name":`Adja meg az új nevet`,preview:`előnézet`,download:`Letöltés`,"Paste from clipboard":`Illessze be a vágólap`,"Your browser doesn't support direct access to the clipboard.":`A böngésző nem támogatja a közvetlen hozzáférést biztosít a vágólapra.`,"Copy selection":`Másolás kiválasztása`,copy:`másolás`,"Border radius":`Határ sugár`,"Show all":`Összes`,Apply:`Alkalmazni`,"Please fill out this field":`Kérjük, töltse ki ezt a mezőt,`,"Please enter a web address":`Kérjük, írja be a webcímet`,Default:`Alapértelmezett`,Circle:`Kör`,Dot:`Pont`,Quadrate:`Quadrate`,Find:`Találni`,"Find Previous":`Megtalálja Előző`,"Find Next":`Következő Keresése`,"Insert className":`Helyezze be az osztály nevét`,"Press Alt for custom resizing":`Nyomja meg az Alt egyéni átméretezés`,"License: %s":`Licenc: %s`},Xm={"Type something":`Ketik sesuatu`,"About Jodit":`Tentang Jodit`,"Jodit Editor":`Editor Jodit`,"Free Non-commercial Version":`Versi Bebas Non-komersil`,"Jodit User's Guide":`Panduan Pengguna Jodit`,"contains detailed help for using":`mencakup detail bantuan penggunaan`,"For information about the license, please go to our website:":`Untuk informasi tentang lisensi, silakan kunjungi website:`,"Buy full version":`Beli versi lengkap`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Hak Cipta © XDSoft.net - Chupurnov Valeriy. Hak cipta dilindungi undang-undang.`,Anchor:`Tautan`,"Open in new tab":`Buka di tab baru`,"Open in fullsize":`Buka editor dalam ukuran penuh`,"Clear Formatting":`Hapus Pemformatan`,"Fill color or set the text color":`Isi warna atau atur warna teks`,Redo:`Ulangi`,Undo:`Batalkan`,Bold:`Tebal`,Italic:`Miring`,"Insert Unordered List":`Sisipkan Daftar Tidak Berurut`,"Insert Ordered List":`Sisipkan Daftar Berurut`,"Align Center":`Tengah`,"Align Justify":`Penuh`,"Align Left":`Kiri`,"Align Right":`Kanan`,"Insert Horizontal Line":`Sisipkan Garis Horizontal`,"Insert Image":`Sisipkan Gambar`,"Insert file":`Sisipkan Berkas`,"Insert youtube/vimeo video":`Sisipkan video youtube/vimeo`,"Insert link":`Sisipkan tautan`,"Font size":`Ukuran font`,"Font family":`Keluarga font`,"Insert format block":`Sisipkan blok format`,Normal:`Normal`,"Heading 1":`Heading 1`,"Heading 2":`Heading 2`,"Heading 3":`Heading 3`,"Heading 4":`Heading 4`,Quote:`Kutip`,Code:`Kode`,Insert:`Sisipkan`,"Insert table":`Sisipkan tabel`,"Decrease Indent":`Kurangi Indentasi`,"Increase Indent":`Tambah Indentasi`,"Select Special Character":`Pilih Karakter Spesial`,"Insert Special Character":`Sisipkan Karakter Spesial`,"Paint format":`Formar warna`,"Change mode":`Ubah mode`,Margins:`Batas`,top:`atas`,right:`kanan`,bottom:`bawah`,left:`kiri`,Styles:`Gaya`,Classes:`Class`,Align:`Rata`,Right:`Kanan`,Center:`Tengah`,Left:`Kiri`,"--Not Set--":`--Tidak diset--`,Src:`Src`,Title:`Judul`,Alternative:`Teks alternatif`,Link:`Tautan`,"Open link in new tab":`Buka tautan di tab baru`,Image:`Gambar`,file:`berkas`,Advanced:`Lanjutan`,"Image properties":`Properti gambar`,Cancel:`Batal`,Ok:`Ya`,"Your code is similar to HTML. Keep as HTML?":`Kode Anda cenderung ke HTML. Biarkan sebagai HTML?`,"Paste as HTML":`Paste sebagai HTML`,Keep:`Jaga`,Clean:`Bersih`,"Insert as Text":`Sisipkan sebagai teks`,"Insert only Text":`Sisipkan hanya teks`,"Word Paste Detected":`Terdeteksi paste dari Word`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Konten dipaste dari dokumen Microsoft Word/Excel. Apakah Anda ingin tetap menjaga format atau membersihkannya?`,"File Browser":`Penjelajah Berkas`,"Error on load list":`Error ketika memuat list`,"Error on load folders":`Error ketika memuat folder`,"Are you sure?":`Apakah Anda yakin?`,"Enter Directory name":`Masukkan nama Direktori`,"Create directory":`Buat direktori`,"type name":`ketik nama`,"Drop image":`Letakkan gambar`,"Drop file":`Letakkan berkas`,"or click":`atau klik`,"Alternative text":`Teks alternatif`,Browse:`Jelajahi`,Upload:`Unggah`,Backgroun
500d:`Latar Belakang`,Text:`Teks`,Top:`Atas`,Middle:`Tengah`,Bottom:`Bawah`,"Insert column before":`Sisipkan kolom sebelumnya`,"Insert column after":`Sisipkan kolom setelahnya`,"Insert row above":`Sisipkan baris di atasnya`,"Insert row below":`Sisipkan baris di bawahnya`,"Delete table":`Hapus tabel`,"Delete row":`Hapus baris`,"Delete column":`Hapus kolom`,"Empty cell":`Kosongkan cell`,source:`sumber`,bold:`tebal`,italic:`miring`,brush:`sikat`,link:`tautan`,undo:`batalkan`,redo:`ulangi`,table:`tabel`,image:`gambar`,eraser:`penghapus`,paragraph:`paragraf`,fontsize:`ukuran font`,video:`video`,font:`font`,about:`tentang`,print:`cetak`,underline:`garis bawah`,strikethrough:`coret`,indent:`menjorok ke dalam`,outdent:`menjorok ke luar`,fullsize:`ukuran penuh`,shrink:`menyusut`,hr:`hr`,ul:`ul`,ol:`ol`,cut:`potong`,selectall:`Pilih semua`,"Embed code":`Kode embed`,"Open link":`Buka tautan`,"Edit link":`Edit tautan`,"No follow":`No follow`,Unlink:`Hapus tautan`,Eye:`Mata`,pencil:`pensil`,Update:`Perbarui`," URL":`URL`,Edit:`Edit`,"Horizontal align":`Perataan horizontal`,Filter:`Filter`,"Sort by changed":`Urutkan berdasarkan perubahan`,"Sort by name":`Urutkan berdasarkan nama`,"Sort by size":`Urutkan berdasarkan ukuran`,"Add folder":`Tambah folder`,Reset:`Reset`,Save:`Simpan`,"Save as ...":`Simpan sebagai...`,Resize:`Ubah ukuran`,Crop:`Crop`,Width:`Lebar`,Height:`Tinggi`,"Keep Aspect Ratio":`Jaga aspek rasio`,Yes:`Ya`,No:`Tidak`,Remove:`Copot`,Select:`Pilih`,"Chars: %d":`Karakter: %d`,"Words: %d":`Kata: %d`,All:`Semua`,"Select %s":`Pilih %s`,"Select all":`Pilih semua`,"Vertical align":`Rata vertikal`,Split:`Bagi`,"Split vertical":`Bagi secara vertikal`,"Split horizontal":`Bagi secara horizontal`,Merge:`Gabungkan`,"Add column":`Tambah kolom`,"Add row":`tambah baris`,Delete:`Hapus`,Border:`Bingkai`,"License: %s":`Lisensi: %s`,"Strike through":`Coret`,Underline:`Garis Bawah`,superscript:`Superskrip`,subscript:`Subskrip`,"Cut selection":`Potong pilihan`,Break:`Berhenti`,"Search for":`Mencari`,"Replace with":`Ganti dengan`,Replace:`Mengganti`,Paste:`Paste`,"Choose Content to Paste":`Pilih konten untuk dipaste`,"You can only edit your own images. Download this image on the host?":`Anda hanya dapat mengedit gambar Anda sendiri. Unduh gambar ini di host?`,"The image has been successfully uploaded to the host!":`Gambar telah sukses diunggah ke host!`,palette:`palet`,"There are no files":`Tidak ada berkas`,Rename:`ganti nama`,"Enter new name":`Masukkan nama baru`,preview:`pratinjau`,download:`Unduh`,"Paste from clipboard":`Paste dari clipboard`,"Your browser doesn't support direct access to the clipboard.":`Browser anda tidak mendukung akses langsung ke clipboard.`,"Copy selection":`Copy seleksi`,copy:`copy`,"Border radius":`Border radius`,"Show all":`Tampilkan semua`,Apply:`Menerapkan`,"Please fill out this field":`Silahkan mengisi kolom ini`,"Please enter a web address":`Silahkan masukkan alamat web`,Default:`Default`,Circle:`Lingkaran`,Dot:`Dot`,Quadrate:`Kuadrat`,Find:`Menemukan`,"Find Previous":`Menemukan Sebelumnya`,"Find Next":`Menemukan Berikutnya`,"Insert className":`Masukkan nama kelas`,"Press Alt for custom resizing":`Tekan Alt untuk mengubah ukuran kustom`},Zm={"Type something":`Scrivi qualcosa...`,Advanced:`Avanzato`,"About Jodit":`A proposito di Jodit`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Guida utente di Jodit`,"contains detailed help for using":`contiene una guida dettagliata per l'uso.`,"For information about the license, please go to our website:":`Per informazioni sulla licenza, si prega di visitare il nostro sito web:`,"Buy full version":`Acquista la versione completa`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Tutti i diritti riservati.`,Anchor:`Link`,"Open in new tab":`Apri in una nuova scheda`,"Open in fullsize":`Apri l'editor a schermo intero`,"Clear Formatting":`Pulisci Formattazione`,"Fill color or set the text color":`Colore di sfondo o del testo`,Redo:`Ripristina`,Undo:`Annulla`,Bold:`Grassetto`,Italic:`Corsivo`,"Insert Unordered List":`Inserisci lista non ordinata`,"Insert Ordered List":`Inserisci lista ordinata`,"Align Center":`Allinea al centro`,"Align Justify":`Allineamento Giustificato`,"Align Left":`Allinea a Sinistra`,"Align Right":`Allinea a Destra`,"Insert Horizontal Line":`Inserisci una linea orizzontale`,"Insert Image":`Inserisci immagine`,"Insert file":`Inserisci un file`,"Insert youtube/vimeo video":`Inserisci video Youtube/Vimeo`,"Insert link":`Inserisci link`,"Font size":`Dimensione carattere`,"Font family":`Tipo di font`,"Insert format block":`Inserisci blocco`,Normal:`Normale`,"Heading 1":`Intestazione 1`,"Heading 2":`Intestazione 2`,"Heading 3":`Intestazione 3`,"Heading 4":`Intestazione 4`,Quote:`Citazione`,Code:`Codice`,Insert:`Inserisci`,"Insert table":`Inserisci tabella`,"Decrease Indent":`Riduci il rientro`,"Increase Indent":`Aumenta il rientro`,"Select Special Character":`Seleziona un carattere speciale`,"Insert Special Character":`Inserisci un carattere speciale`,"Paint format":`Copia formato`,"Change mode":`Cambia modalita'`,Margins:`Margini`,top:`su`,right:`destra`,bottom:`giù`,left:`sinistra`,Styles:`Stili CSS`,Classes:`Classi CSS`,Align:`Allinea`,Right:`Destra`,Center:`Centro`,Left:`Sinistra`,"--Not Set--":`--Non Impostato--`,Src:`Fonte`,Title:`Titolo`,Alternative:`Testo Alternativo`,Link:`Link`,"Open link in new tab":`Apri il link in una nuova scheda`,Image:`Immagine`,file:`Archiv
500io`,"Image properties":`Proprietà dell'immagine`,Cancel:`Annulla`,Ok:`Accetta`,"Your code is similar to HTML. Keep as HTML?":`Il codice è simile all'HTML. Mantieni come HTML?`,"Paste as HTML":`Incolla come HTML`,Keep:`Mantieni`,Clean:`Pulisci`,"Insert as Text":`Inserisci come testo`,"Word Paste Detected":`Incolla testo da Word rilevato`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Il contenuto incollato proviene da un documento Microsoft Word / Excel. Vuoi mantenere il formato o pulirlo?`,"Insert only Text":`Inserisci solo il testo`,"File Browser":`Cerca file`,"Error on load list":`Errore durante il caricamento dell'elenco`,"Error on load folders":`Errore durante il caricamento delle cartelle`,"Are you sure?":`Sei sicuro?`,"Enter Directory name":`Inserisci il nome della cartella`,"Create directory":`Crea cartella`,"type name":`Digita il nome`,"Drop image":`Cancella immagine`,"Drop file":`Cancella file`,"or click":`o clicca`,"Alternative text":`Testo alternativo`,Browse:`Sfoglia`,Upload:`Carica`,Background:`Sfondo`,Text:`Testo`,Top:`Su`,Middle:`Centro`,Bottom:`Sotto`,"Insert column before":`Inserisci la colonna prima`,"Insert column after":`Inserisci la colonna dopo`,"Insert row above":`Inserisci la riga sopra`,"Insert row below":`Inserisci la riga sotto`,"Delete table":`Elimina tabella`,"Delete row":`Elimina riga`,"Delete column":`Elimina colonna`,"Empty cell":`Cella vuota`,Delete:`Cancella`,"Strike through":`Barrato`,Underline:`Sottolineato`,Break:`Pausa`,"Search for":`Cerca per`,"Replace with":`Sostituisci con`,Replace:`Sostituisci`,Edit:`Modifica`,"Vertical align":`Allineamento verticala`,"Horizontal align":`Allineamento orizzontale`,Filter:`Filtro`,"Sort by changed":`Ordina per data di modifica`,"Sort by name":`Ordina per nome`,"Sort by size":`Ordina per dimensione`,"Add folder":`Aggiungi cartella`,Split:`Dividi`,"Split vertical":`Dividi verticalmente`,"Split horizontal":`Dividi orizzontale`,Merge:`Fondi`,"Add column":`Aggiungi colonna`,"Add row":`Aggiungi riga`,Border:`Bordo`,"Embed code":`Includi codice`,Update:`Aggiorna`,superscript:`indice`,subscript:`pedice`,"Cut selection":`Taglia selezione`,Paste:`Incolla`,"Choose Content to Paste":`Seleziona il contenuto da incollare`,"Chars: %d":`Caratteri: %d`,"Words: %d":`Parole: %d`,All:`Tutto`,"Select %s":`Seleziona: %s`,"Select all":`Seleziona tutto`,source:`risorsa`,bold:`Grassetto`,italic:`Corsivo`,brush:`Pennello`,link:`Link`,undo:`Annulla`,redo:`Ripristina`,table:`Tabella`,image:`Immagine`,eraser:`Gomma`,paragraph:`Paragrafo`,fontsize:`Dimensione del carattere`,video:`Video`,font:`Font`,about:`Approposito di`,print:`Stampa`,underline:`Sottolineato`,strikethrough:`Barrato`,indent:`aumenta rientro`,outdent:`riduci rientro`,fullsize:`espandi`,shrink:`comprimi`,hr:`linea orizzontale`,ul:`lista non ordinata`,ol:`lista ordinata`,cut:`Taglia`,selectall:`Seleziona tutto`,"Open link":`Apri link`,"Edit link":`Modifica link`,"No follow":`Non seguire`,Unlink:`Rimuovi link`,Eye:`Recensione`,pencil:`Per modificare`," URL":` URL`,Reset:`Reset`,Save:`Salva`,"Save as ...":`Salva con nome...`,Resize:`Ridimensiona`,Crop:`Ritaglia`,Width:`Larghezza`,Height:`Altezza`,"Keep Aspect Ratio":`Mantieni le proporzioni`,Yes:`Si`,No:`No`,Remove:`Rimuovi`,Select:`Seleziona`,"You can only edit your own images. Download this image on the host?":`Puoi modificare solo le tue immagini. Vuoi scaricare questa immagine dal server?`,"The image has been successfully uploaded to the host!":`L'immagine è stata caricata correttamente sul server!`,palette:`tavolozza`,"There are no files":`Non ci sono file in questa directory.`,Rename:`Rinomina`,"Enter new name":`Inserisci un nuovo nome`,preview:`anteprima`,download:`Scarica`,"Paste from clipboard":`Incolla dagli appunti`,"Your browser doesn't support direct access to the clipboard.":`Il tuo browser non supporta l'accesso diretto agli appunti.`,"Copy selection":`Copia selezione`,copy:`copia`,"Border radius":`Border radius`,"Show all":`Mostra tutti`,Apply:`Applica`,"Please fill out this field":`Si prega di compilare questo campo`,"Please enter a web address":`Si prega di inserire un indirizzo web`,Default:`Default`,Circle:`Cerchio`,Dot:`Punto`,Quadrate:`Quadrato`,"Lower Alpha":`Lettera Minuscola`,"Lower Greek":`Lettera Greca Minuscola`,"Lower Roman":`Numero Romano Minuscolo`,"Upper Alpha":`Lettera Maiuscola`,"Upper Roman":`Numero Romano Maiuscolo`,Find:`Trova`,"Find Previous":`Trova Precedente`,"Find Next":`Trova Successivo`,"Insert className":`Inserisci il nome della classe`,"Press Alt for custom resizing":`Premere Alt per il ridimensionamento personalizzato`,"License: %s":`Licenza: %s`},Qm={"Type something":`なにかタイプしてください`,Advanced:`高度な設定`,"About Jodit":`Joditについて`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Jodit ユーザーズ・ガイド`,"contains detailed help for using":`詳しい使い方`,"For information about the license, please go to our website:":`ライセンス詳細についてはJodit Webサイトを確認ください:`,"Buy full version":`フルバージョンを購入`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.`,Anchor:`Anchor`,"Open in new tab":`新しいタブで開く`,"Open in fullsize":`エディターのサイズ(フル/ノーマル)`,"Clear Formatting":`書式をクリア`,"Fill color or set the text color":`テキストの色`,Redo:`やり直し`,Undo:`元に戻す`,Bold:`太字`,Italic:`斜体`,"Insert Unordered List":`箇条書き`,"Insert Ordered List":`番号付きリスト`,"Align Center":`中央揃え`,"Align Justify":`両端揃え`,"Align Left":`左揃え`,"Align Right":`右揃え`,"Insert Horizontal Line":`区切り線を挿入`,"Insert Image":`画像を挿入`,"Insert file":`ファイルを挿入`,"Insert youtube/vimeo video":`Youtube/Vimeo 動画`,"Insert link":`リンクを挿入`,"Font size":`フォントサイズ`,"Font family":`フォント`,"Insert format block":`テキストのスタイル`,Normal:`指定なし`,"Heading 1":`タイトル1`,"Heading 2":`タイトル2`,"Heading 3":`タイトル3`,"Heading 4":`タイトル4`,Quote:`引用`,Code:`コード`,Insert:`挿入`,"Insert table":`表を挿入`,"Decrease Indent":`イãƒ
500³ãƒ‡ãƒ³ãƒˆæ¸›`,"Increase Indent":`インデント増`,"Select Special Character":`特殊文字を選択`,"Insert Special Character":`特殊文字を挿入`,"Paint format":`書式を貼付け`,"Change mode":`編集モード切替え`,Margins:`マージン`,top:`上`,right:`右`,bottom:`下`,left:`å·¦`,Styles:`スタイル`,Classes:`クラス`,Align:`配置`,Right:`右寄せ`,Center:`中央寄せ`,Left:`左寄せ`,"--Not Set--":`指定なし`,Src:`ソース`,Title:`タイトル`,Alternative:`代替テキスト`,Link:`リンク`,"Open link in new tab":`新しいタブで開く`,Image:`画像`,file:`ファイル`,"Image properties":`画像のプロパティー`,Cancel:`キャンセル`,Ok:`確定`,"Your code is similar to HTML. Keep as HTML?":`HTMLコードを保持しますか?`,"Paste as HTML":`HTMLで貼付け`,Keep:`HTMLを保持`,Clean:`Clean`,"Insert as Text":`HTMLをテキストにする`,"Word Paste Detected":`Word Paste Detected`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?`,"Insert only Text":`テキストだけ`,"File Browser":`File Browser`,"Error on load list":`Error on load list`,"Error on load folders":`Error on load folders`,"Are you sure?":`Are you sure?`,"Enter Directory name":`Enter Directory name`,"Create directory":`Create directory`,"type name":`type name`,"Drop image":`ここに画像をドロップ`,"Drop file":`ここにファイルをドロップ`,"or click":`or クリック`,"Alternative text":`代替テキスト`,Browse:`ブラウズ`,Upload:`アップロード`,Background:`背景`,Text:`文字`,Top:`上`,Middle:`中央`,Bottom:`下`,"Insert column before":`左に列を挿入`,"Insert column after":`右に列を挿入`,"Insert row above":`上に行を挿入`,"Insert row below":`下に行を挿入`,"Delete table":`表を削除`,"Delete row":`行を削除`,"Delete column":`列を削除`,"Empty cell":`セルを空にする`,"Chars: %d":`文字数: %d`,"Words: %d":`単語数: %d`,"Strike through":`取り消し線`,Underline:`下線`,superscript:`上付き文字`,subscript:`下付き文字`,"Cut selection":`切り取り`,"Select all":`すべて選択`,Break:`Pause`,"Search for":`検索`,"Replace with":`置換`,Replace:`交換`,Paste:`貼付け`,"Choose Content to Paste":`選択した内容を貼付け`,All:`全部`,source:`source`,bold:`bold`,italic:`italic`,brush:`brush`,link:`link`,undo:`undo`,redo:`redo`,table:`table`,image:`image`,eraser:`eraser`,paragraph:`paragraph`,fontsize:`fontsize`,video:`video`,font:`font`,about:`about`,print:`print`,underline:`underline`,strikethrough:`strikethrough`,indent:`indent`,outdent:`outdent`,fullsize:`fullsize`,shrink:`shrink`,hr:`分割線`,ul:`箇条書き`,ol:`番号付きリスト`,cut:`切り取り`,selectall:`すべて選択`,"Open link":`リンクを開く`,"Edit link":`リンクを編集`,"No follow":`No follow`,Unlink:`リンク解除`,Eye:`サイトを確認`," URL":`URL`,Reset:`リセット`,Save:`保存`,"Save as ...":`Save as ...`,Resize:`リサイズ`,Crop:`Crop`,Width:`幅`,Height:`高さ`,"Keep Aspect Ratio":`縦横比を保持`,Yes:`はい`,No:`いいえ`,Remove:`移除`,Select:`選択`,"Select %s":`選択: %s`,Update:`更新`,"Vertical align":`垂直方向の配置`,Merge:`セルの結合`,"Add column":`列を追加`,"Add row":`行を追加`,Border:`境界線`,"Embed code":`埋め込みコード`,Delete:`削除`,Edit:`編集`,"Horizontal align":`水平方向の配置`,Filter:`Filter`,"Sort by changed":`Sort by changed`,"Sort by name":`Sort by name`,"Sort by size":`Sort by size`,"Add folder":`Add folder`,Split:`分割`,"Split vertical":`セルの分割(垂直方向)`,"Split horizontal":`セルの分割(水平方向)`,"You can only edit your own images. Download this image on the host?":`You can only edit your own images. Download this image on the host?`,"The image has been successfully uploaded to the host!":`The image has been successfully uploaded to the host!`,palette:`パレット`,pencil:`鉛筆`,"There are no files":`There are no files`,Rename:`Rename`,"Enter new name":`Enter new name`,preview:`プレビュー`,download:`ダウンロード`,"Paste from clipboard":`貼り付け`,"Your browser doesn't support direct access to the clipboard.":`お使いのブラウザはクリップボードを使用できません`,"Copy selection":`コピー`,copy:`copy`,"Border radius":`角の丸み`,"Show all":`全て表示`,Apply:`適用`,"Please fill out this field":`まだこの分野`,"Please enter a web address":`を入力してくださいウェブアドレス`,Default:`デフォルト`,Circle:`白丸`,Dot:`黒丸`,Quadrate:`四角`,Find:`見`,"Find Previous":`探前`,"Find Next":`由来`,"Lower Alpha":`英小文字`,"Lower Greek":`ギリシャ文字`,"Lower Roman":`ローマ数字小文字`,"Upper Alpha":`英大文字`,"Upper Roman":`ローマ数字大文字`,"Insert className":`クラス名を挿入`,"Press Alt for custom resizing":`カスタムサイズ変更のためのAltキーを押します`,"License: %s":`ライセンス: %s`},$m={},eh={"Type something":`무엇이든 입력하세요`,"About Jodit":`Jodit에 대하여`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Jodit 사용자 안내서`,"contains detailed help for using":`자세한 도움말이 들어있어요`,"For information about the license, please go to our website:":`라이센스에 관해서는 Jodit 웹 사이트를 방문해주세요:`,"Buy full version":`풀 버전 구입하기`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`© XDSoft.net - Chupurnov Valeriy. 에게 저작권과 모든 권리가 있습니다.`,Anchor:`Anchor`,"Open in new tab":`새 탭에서 열기`,"Open in fullsize":`전체 크기로 보기`,"Clear Formatting":`서식 지우기`,"Fill color or set the text color":`글씨 색상`,Redo:`재실행`,Undo:`실행 취소`,Bold:`굵게`,Italic:`기울임`,"Insert Unordered List":`글머리 목록`,"Insert Ordered List":`번호 목록`,"Align Center":`가운데 정렬`,"Align Justify":`양쪽 정렬`,"Align Left":`왼쪽 정렬`,"Align Right":`오른쪽 정렬`,"Insert Horizontal Line":`수평 구분선 넣기`,"Insert Image":`이미지 넣기`,"Insert file":`파일 넣기`,"Insert youtube/vimeo video":`Youtube/Vimeo 동영상`,"Insert link":`링크 넣기`,"Font size":`글꼴 크기`,"Font family":`글꼴`,"Insert format block":`블록 요소 넣기`,Normal:`일반 텍스트`,"Heading 1":`제목 1`,"Heading 2":`제목 2`,"Heading 3":`제목 3`,"Heading 4":`제목 4`,Quote:`인용`,Code:`코드`,Insert:`붙여 넣기`,"Insert table":`테이블`,"Decrease Indent":`들여쓰기 감소`,"Increase Indent":`들여쓰기 증가`,"Select Special Character":`특수문자 선택`,"Insert Special Character":`특수문자 입력`,"Paint format":`페인트 형식`,"Change mode":`편집모드 변경`,Margins:`마진`,top:`위`,right:`오른쪽`,bottom:`아래`,left:`왼쪽`,Styles:`스타일`,Classes:`클래스`,Align:`정렬`,Right:`오른쪽으로`,Center:`가운데로`,Left:`왼쪽으로`,"--Not Set--":`--ì
500§€ì • 안 함--`,Src:`경로(src)`,Title:`제목`,Alternative:`대체 텍스트(alt)`,Link:`링크`,"Open link in new tab":`새 탭에서 열기`,file:`파일`,Advanced:`고급`,"Image properties":`이미지 속성`,Cancel:`취소`,Ok:`확인`,"Your code is similar to HTML. Keep as HTML?":`HTML 코드로 감지했어요. 코드인채로 붙여넣을까요?`,"Paste as HTML":`HTML로 붙여넣기`,Keep:`원본 유지`,Clean:`지우기`,"Insert as Text":`텍스트로 넣기`,"Insert only Text":`텍스트만 넣기`,"Word Paste Detected":`Word 붙여넣기 감지`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Microsoft Word/Excel 문서로 감지했어요. 서식을 유지한채로 붙여넣을까요?`,"File Browser":`파일 탐색기`,"Error on load list":`목록 불러오기 에러`,"Error on load folders":`폴더 불러오기`,"Are you sure?":`정말 진행할까요?`,"Enter Directory name":`디렉토리 이름 입력`,"Create directory":`디렉토리 생성`,"type name":`이름 입력`,"Drop image":`이미지 드래그`,"Drop file":`파일 드래그`,"or click":`혹은 클릭`,"Alternative text":`대체 텍스트`,Browse:`탐색`,Upload:`업로드`,Background:`ë°°ê²½`,Text:`텍스트`,Top:`위`,Middle:`중앙`,Bottom:`아래`,"Insert column before":`이전 열에 삽입`,"Insert column after":`다음 열에 삽입`,"Insert row above":`위 행에 삽입`,"Insert row below":`아래 행에 삽입`,"Delete table":`테이블 삭제`,"Delete row":`행 삭제`,"Delete column":`열 삭제`,"Empty cell":`빈 셀`,source:`HTML 소스`,bold:`볼드`,italic:`이탤릭`,brush:`브러시`,link:`링크`,undo:`실행 취소`,redo:`재실행`,table:`테이블`,image:`이미지`,eraser:`지우개`,paragraph:`문단`,fontsize:`글꼴 크기`,video:`비디오`,font:`글꼴`,about:`편집기 정보`,print:`프린트`,underline:`밑줄`,strikethrough:`취소선`,indent:`들여쓰기`,outdent:`내어쓰기`,fullsize:`전체 화면`,shrink:`일반 화면`,hr:`구분선`,ul:`글머리 목록`,ol:`번호 목록`,cut:`잘라내기`,selectall:`모두 선택`,"Embed code":`Embed 코드`,"Open link":`링크 열기`,"Edit link":`링크 편집`,"No follow":`No follow`,Unlink:`링크 제거`,Eye:`사이트 확인`,pencil:`연필`,Update:`갱신`," URL":`URL`,Edit:`편집`,"Horizontal align":`수평 정렬`,Filter:`필터`,"Sort by changed":`변경일 정렬`,"Sort by name":`이름 정렬`,"Sort by size":`크기 정렬`,"Add folder":`새 폴더`,Reset:`초기화`,Save:`저장`,"Save as ...":`새로 저장하기 ...`,Resize:`리사이즈`,Crop:`크롭`,Width:`가로 길이`,Height:`세로 높이`,"Keep Aspect Ratio":`비율 유지하기`,Yes:`네`,No:`아니오`,Remove:`제거`,Select:`선택`,"Chars: %d":`문자수: %d`,"Words: %d":`단어수: %d`,All:`모두`,"Select all":`모두 선택`,"Select %s":`선택: %s`,"Vertical align":`수직 정렬`,Split:`분할`,"Split vertical":`세로 셀 분할`,"Split horizontal":`가로 셀 분할`,Merge:`셀 병합`,"Add column":`열 추가`,"Add row":`행 추가`,Delete:`삭제`,Border:`외곽선`,"License: %s":`라이센스: %s`,"Strike through":`취소선`,Underline:`밑줄`,superscript:`윗첨자`,subscript:`아래첨자`,"Cut selection":`선택 잘라내기`,Break:`구분자`,"Search for":`검색`,"Replace with":`대체하기`,Replace:`대체`,Paste:`붙여넣기`,"Choose Content to Paste":`붙여넣을 내용 선택`,"You can only edit your own images. Download this image on the host?":`외부 이미지는 편집할 수 없어요. 외부 이미지를 다운로드 할까요?`,"The image has been successfully uploaded to the host!":`이미지를 무사히 업로드 했어요!`,palette:`팔레트`,"There are no files":`파일이 없어요`,Rename:`이름 변경`,"Enter new name":`새 이름 입력`,preview:`미리보기`,download:`다운로드`,"Paste from clipboard":`클립보드 붙여넣기`,"Your browser doesn't support direct access to the clipboard.":`사용중인 브라우저가 클립보드 접근을 지원하지 않아요.`,"Copy selection":`선택 복사`,copy:`복사`,"Border radius":`둥근 테두리`,"Show all":`모두 보기`,Apply:`적용`,"Please fill out this field":`이 항목을 입력해주세요!`,"Please enter a web address":`웹 URL을 입력해주세요.`,Default:`기본`,Circle:`원`,Dot:`점`,Quadrate:`정사각형`,Find:`찾기`,"Find Previous":`이전 찾기`,"Find Next":`다음 찾기`,"Insert className":`className 입력`,"Press Alt for custom resizing":`사용자 지정 크기 조정에 대 한 고도 누르십시오`},th={"Type something":`Бичээд үзээрэй`,Advanced:`Дэвшилтэт`,"About Jodit":`Jodit-ын талаар `,"Jodit Editor":`Jodit програм`,"Jodit User's Guide":`Jodit гарын авлага`,"contains detailed help for using":`хэрэглээний талаар дэлгэрэнгүй мэдээллийг агуулна`,"For information about the license, please go to our website:":`Лицензийн мэдээллийг манай вэб хуудаснаас авна уу:`,"Buy full version":`Бүрэн хувилбар худалдан авах`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Зохиогчийн эрх хамгаалагдсан © XDSoft.net - Chupurnov Valeriy. Бүх эрхийг эзэмшинэ.`,Anchor:`Холбоо барих`,"Open in new tab":`Шинэ табаар нээх`,"Open in fullsize":`Бүтэн дэлгэцээр нээх`,"Clear Formatting":`Форматыг арилгах`,"Fill color or set the text color":`Өнгөөр будах эсвэл текстийн өнгө сонгох`,Redo:`Дахих`,Undo:`Буцаах`,Bold:`Тод`,Italic:`Налуу`,"Insert Unordered List":`Тэмдэгт жагсаалт нэмэх`,"Insert Ordered List":`Дугаарт жагсаалт нэмэх`,"Align Center":`Голлож байрлуулах`,"Align Justify":`Тэгшитгэн байрлуулах`,"Align Left":`Зүүнд байрлуулах`,"Align Right":`Баруунд байрлуулах`,"Insert Horizontal Line":`Хэвтээ зураас нэмэх`,"Insert Image":`Зураг нэмэх`,"Insert file":`Файл нэмэх`,"Insert youtube/vimeo video":`Youtube/Vimeo видео нэмэх`,"Insert link":`Холбоос нэмэх`,"Font size":`Фонтын хэмжээ`,"Font family":`Фонтын бүл`,"Insert format block":`Блок нэмэх`,Normal:`Хэвийн`,"Heading 1":`Гарчиг 1`,"Heading 2":`Гарчиг 2`,"Heading 3":`Гарчиг 3`,"Heading 4":`Гарчиг 4`,Quote:`Ишлэл`,Code:`Код`,Insert:`Оруулах`,"Insert table":`Хүснэгт оруулах`,"Decrease Indent":`Доголын зай хасах`,"Increase Indent":`Доголын зай нэмэх`,"Select Special Character":`Тусгай тэмдэгт сонгох`,"Insert Special Character":`Тусгай тэмдэгт нэмэх`,"Paint format":`Зургийн формат`,"Change mode":`Горим өөрчлөх`,Margins:`Цаасны зай`,top:`Дээрээс`,right:`Баруунаас`,bottom:`Доороос`,left:`Зүүнээс`,Styles:`CSS стиль`,Classes:`CSS анги`,Align:`Байрлуулах`,Right:`Баруун`,Center:`Төв`,Left:`Зүүн`,"--Not Set--":`--Тодорхойгүй--`,Src:`Эх үүсвэр`,Title:`Гарчиг`,Alternative:`Алтернатив текст`,Link:`Холбоос`,"Open link in new tab":`Холбоосыг шинэ хавтсанд нээх`,Image:`Зураг`,file:`Файл`,"Image properties":`Зургийн үзүүлэлт`,Cancel:`Цуцлах`,Ok:`Ok`,"Your code is similar to HTML. Keep as HTML?":`Таны код HTML кодтой адил байна. HTML форматаар үргэлжлүүлэх Ò¯Ò¯?`,"Paste as HTML":`HTML байдлаар буулгах`,Keep:`Хадгалах`,Clean:`Цэвэрлэх`,"Insert as Text":`Текст байдлаар нэмэх`,"Word Paste Detected":`Word байдлаар буулгасан байна`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Буулгасан агуулга Microsoft Word/Excel форматтай байна. Энэ форматыг хэвээр хадгалах уу эсвэл арилгах уу?`,"Insert only Text":`Зөвхөн текст оруулах`,"File Browser":`Файлын цонх`,"Error on load list":`Жагсаалт татах үед алдаа гарлаа`,"Error on load folders":`Хавтас татах үед алдаа гарлаа`,"Are you sure?":`Итгэлтэй байна уу?`,"Enter Directory name":`Хавтсын нэр оруулах`,"Create directory":`Хавтас үүсгэх`,"type name":`Нэр бичих`,"Drop image":`Зураг буулгах`,"Drop file":`Файл буулгах`,"or click":`эсвэл товш`,"Alternative text":`Алтернатив текст`,Browse:`Үзэх`,Upload:`Байршуулах`,Backgroun
500d:`Арын зураг`,Text:`Текст`,Top:`Дээр`,Middle:`Дунд`,Bottom:`Доор`,"Insert column before":`Урд нь багана нэмэх`,"Insert column after":`Ард нь багана нэмэх`,"Insert row above":`Дээр нь мөр нэмэх`,"Insert row below":`Доор нь мөр нэмэх`,"Delete table":`Хүснэгт устгах`,"Delete row":`Мөр устгах`,"Delete column":`Багана устгах`,"Empty cell":`Нүд цэвэрлэх`,Delete:`Устгах`,"Strike through":`Дээгүүр зураас`,Underline:`Доогуур зураас`,Break:`Мөрийг таслах`,"Search for":`Хайх`,"Replace with":`Үүгээр солих`,Replace:`Солих`,Edit:`Засах`,"Vertical align":`Босоо эгнүүлэх`,"Horizontal align":`Хэвтээ эгнүүлэх`,Filter:`Шүүх`,"Sort by changed":`Сүүлд өөрчлөгдсөнөөр жагсаах`,"Sort by name":`Нэрээр жагсаах`,"Sort by size":`Хэмжээгээр жагсаах`,"Add folder":`Хавтас нэмэх`,Split:`Задлах`,"Split vertical":`Баганаар задлах`,"Split horizontal":`Мөрөөр задлах`,Merge:`Нэгтгэх`,"Add column":`Багана нэмэх`,"Add row":`Мөр нэмэх`,Border:`Хүрээ`,"Embed code":`Код оруулах`,Update:`Шинэчлэх`,superscript:`Дээд индекс`,subscript:`Доод индекс`,"Cut selection":`Сонголтыг таслах`,Paste:`Буулгах`,"Choose Content to Paste":`Буулгах агуулгаа сонгоно уу`,"Chars: %d":`Тэмдэгт: %d`,"Words: %d":`Үг: %d`,All:`Бүгдийг`,"Select %s":`Сонго: %s`,"Select all":`Бүгдийг сонго`,source:`Эх үүсвэр`,bold:`Тод`,italic:`Налуу`,brush:`Будах`,link:`Холбоос`,undo:`Буцаах`,redo:`Дахих`,table:`Хүснэгт`,image:`Зураг`,eraser:`Баллуур`,paragraph:`Параграф`,fontsize:`Фонтын хэмжээ`,video:`Видео`,font:`Фонт`,about:`Тухай`,print:`Хэвлэх`,underline:`Доогуур зураас`,strikethrough:`Дээгүүр зураас`,indent:`Догол нэмэх`,outdent:`Догол багасгах`,fullsize:`Бүтэн дэлгэц`,shrink:`Багасга`,hr:`Хаалт`,ul:`Тэмдэгт жагсаалт`,ol:`Дугаарласан жагсаалт`,cut:`Таслах`,selectall:`Бүгдийг сонго`,"Open link":`Холбоос нээх`,"Edit link":`Холбоос засах`,"No follow":`Nofollow özelliği`,Unlink:`Холбоос салгах`,Eye:`Нүд`,pencil:`Засах`," URL":`URL`,Reset:`Буцаах`,Save:`Хадгалах`,"Save as ...":`Өөрөөр хадгалах`,Resize:`Хэмжээг өөрчил`,Crop:`Тайрах`,Width:`Өргөн`,Height:`Өндөр`,"Keep Aspect Ratio":`Харьцааг хадгал`,Yes:`Тийм`,No:`Үгүй`,Remove:`Арилга`,Select:`Сонго`,"You can only edit your own images. Download this image on the host?":`Та зөвхөн өөрийн зургуудаа янзлах боломжтой. Энэ зургийг өөр лүүгээ татмаар байна уу?`,"The image has been successfully uploaded to the host!":`Зургийг хост руу амжилттай хадгалсан`,palette:`Палет`,"There are no files":`Энд ямар нэг файл алга`,Rename:`Шинээр нэрлэх`,"Enter new name":`Шинэ нэр оруулна уу`,preview:`Урьдчилан харах`,download:`Татах`,"Paste from clipboard":`Самбараас хуулах `,"Your browser doesn't support direct access to the clipboard.":`Энэ вэб хөтчөөс самбарт хандах эрх алга.`,"Copy selection":`Сонголтыг хуул`,copy:`Хуулах`,"Border radius":`Хүрээний радиус`,"Show all":`Бүгдийг харуулах`,Apply:`Хэрэгжүүл`,"Please fill out this field":`Энэ талбарыг бөглөнө үү`,"Please enter a web address":`Вэб хаягаа оруулна уу`,Default:`Үндсэн`,Circle:`Дугуй`,Dot:`Цэг`,Quadrate:`Дөрвөлжин`,Find:`Хайх`,"Find Previous":`Өмнөхийг ол`,"Find Next":`Дараагийнхийг ол`,"Insert className":`Бүлгийн нэрээ оруулна уу`,"Press Alt for custom resizing":`Хэмжээсийг шинээр өөчрлөхийн тулд Alt товчин дээр дарна уу`,"License: %s":`Лиценз: %s`},nh={"Type something":`Begin met typen..`,Advanced:`Geavanceerd`,"About Jodit":`Over Jodit`,"Jodit Editor":`Jodit Editor`,"Free Non-commercial Version":`Gratis niet-commerciële versie`,"Jodit User's Guide":`Jodit gebruikershandleiding`,"contains detailed help for using":`bevat gedetailleerde informatie voor gebruik.`,"For information about the license, please go to our website:":`Voor informatie over de licentie, ga naar onze website:`,"Buy full version":`Volledige versie kopen`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Alle rechten voorbehouden.`,Anchor:`Anker`,"Open in new tab":`Open in nieuwe tab`,"Open in fullsize":`Editor in volledig scherm openen`,"Clear Formatting":`Opmaak verwijderen`,"Fill color or set the text color":`Vulkleur of tekstkleur aanpassen`,Redo:`Opnieuw`,Undo:`Ongedaan maken`,Bold:`Vet`,Italic:`Cursief`,"Insert Unordered List":`Geordende list invoegen`,"Insert Ordered List":`Ongeordende lijst invoegen`,"Align Center":`Centreren`,"Align Justify":`Uitlijnen op volledige breedte`,"Align Left":`Links uitlijnen`,"Align Right":`Rechts uitlijnen`,"Insert Horizontal Line":`Horizontale lijn invoegen`,"Insert Image":`Afbeelding invoegen`,"Insert file":`Bestand invoegen`,"Insert youtube/vimeo video":`Youtube/Vimeo video invoegen`,"Insert link":`Link toevoegen`,"Font size":`Tekstgrootte`,"Font family":`Lettertype`,"Insert format block":`Format blok invoegen`,Normal:`Normaal`,"Heading 1":`Koptekst 1`,"Heading 2":`Koptekst 2`,"Heading 3":`Koptekst 3`,"Heading 4":`Koptekst 4`,Quote:`Citaat`,Code:`Code`,Insert:`Invoegen`,"Insert table":`Tabel invoegen`,"Decrease Indent":`Inspringing verkleinen`,"Increase Indent":`Inspringing vergroten`,"Select Special Character":`Symbool selecteren`,"Insert Special Character":`Symbool invoegen`,"Paint format":`Opmaak kopieren`,"Change mode":`Modus veranderen`,Margins:`Marges`,top:`Boven`,right:`Rechts`,bottom:`Onder`,left:`Links`,Styles:`CSS styles`,Classes:`CSS classes`,Align:`Uitlijning`,Right:`Rechts`,Center:`Gecentreerd`,Left:`Links`,"--Not Set--":`--Leeg--`,Src:`Src`,Title:`Titel`,Alternative:`Alternatieve tekst`,Link:`Link`,"Open link in new tab":`Link in nieuwe tab openen`,Image:`Afbeelding`,file:`Bestand`,"Image properties":`Afbeeldingseigenschappen`,Cancel:`Annuleren`,Ok:`OK`,"Your code is similar to HTML. Keep as HTML?":`Deze code lijkt op HTML. Als HTML behouden?`,"Paste as HTML":`Invoegen als HTML`,Keep:`Origineel behouden`,Clean:`Opschonen`,"Insert as Text":`Als tekst invoegen`,"Word Paste Detected":`Word-tekst gedetecteerd`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`De geplakte tekst is afkomstig van een Microsoft Word/Excel document. Wil je de opmaak behouden of opschonen?`,"Insert only Text":`Als onopgemaakte tekst invoegen`,"File Browser":`Bestandsbrowser`,"Error on load list":`Fout bij het laden van de lijst`,"Error on load folders":`Fout bij het laden van de mappenlijst`,"Are you sure?":`Weet je het zeker?`,"Enter Directory name":`Geef de map een naam`,"Create directory":`Map aanmaken`,"type name":`Type naam`,"Drop image":`Sleep hier een afbeelding naartoe`,"Drop file":`Sleep hier een bestand naartoe`,"or click":`of klik`,"Alternative text":`Alternatieve tekst`,Browse:`Bladeren`,Upload:`Uploaden`,Backgroun
500d:`Achtergrond`,Text:`Tekst`,Top:`Boven`,Middle:`Midden`,Bottom:`Onder`,"Insert column before":`Kolom invoegen (voor)`,"Insert column after":`Kolom invoegen (na)`,"Insert row above":`Rij invoegen (boven)`,"Insert row below":`Rij invoegen (onder)`,"Delete table":`Tabel verwijderen`,"Delete row":`Rij verwijderen`,"Delete column":`Kolom verwijderen`,"Empty cell":`Cel leegmaken`,Delete:`Verwijderen`,"Strike through":`Doorstrepen`,Underline:`Onderstrepen`,Break:`Enter`,"Search for":`Zoek naar`,"Replace with":`Vervangen door`,Replace:`Vervangen`,Edit:`Bewerken`,"Vertical align":`Verticaal uitlijnen`,"Horizontal align":`Horizontaal uitlijnen`,Filter:`Filteren`,"Sort by changed":`Sorteren op wijzigingsdatum`,"Sort by name":`Sorteren op naam`,"Sort by size":`Sorteren op grootte`,"Add folder":`Map toevoegen`,Split:`Splitsen`,"Split vertical":`Verticaal splitsen`,"Split horizontal":`Horizontaal splitsen`,Merge:`Samenvoegen`,"Add column":`Kolom toevoegen`,"Add row":`Rij toevoegen`,Border:`Rand`,"Embed code":`Embed code`,Update:`Updaten`,superscript:`Superscript`,subscript:`Subscript`,"Cut selection":`Selectie knippen`,Paste:`Plakken`,"Choose Content to Paste":`Kies content om te plakken`,"Chars: %d":`Tekens: %d`,"Words: %d":`Woorden: %d`,All:`Alles`,"Select %s":`Selecteer: %s`,"Select all":`Selecteer alles`,source:`Broncode`,bold:`vet`,italic:`cursief`,brush:`kwast`,link:`link`,undo:`ongedaan maken`,redo:`opnieuw`,table:`tabel`,image:`afbeelding`,eraser:`gum`,paragraph:`paragraaf`,fontsize:`lettergrootte`,video:`video`,font:`lettertype`,about:`over`,print:`afdrukken`,underline:`onderstreept`,strikethrough:`doorgestreept`,indent:`inspringen`,outdent:`minder inspringen`,fullsize:`volledige grootte`,shrink:`kleiner maken`,hr:`horizontale lijn`,ul:`lijst`,ol:`genummerde lijst`,cut:`knip`,selectall:`alles selecteren`,"Open link":`Link openen`,"Edit link":`Link aanpassen`,"No follow":`Niet volgen`,Unlink:`link verwijderen`,Eye:`Recensie`,pencil:`Om te bewerken`," URL":` URL`,Reset:`Herstellen`,Save:`Opslaan`,"Save as ...":`Opslaan als ...`,Resize:`Grootte aanpassen`,Crop:`Bijknippen`,Width:`Breedte`,Height:`Hoogte`,"Keep Aspect Ratio":`Verhouding behouden`,Yes:`Ja`,No:`Nee`,Remove:`Verwijderen`,Select:`Selecteren`,"You can only edit your own images. Download this image on the host?":`Je kunt alleen je eigen afbeeldingen aanpassen. Deze afbeelding downloaden?`,"The image has been successfully uploaded to the host!":`De afbeelding is succesvol geüploadet!`,palette:`Palette`,"There are no files":`Er zijn geen bestanden in deze map.`,Rename:`Hernoemen`,"Enter new name":`Voer een nieuwe naam in`,preview:`Voorvertoning`,download:`Download`,"Paste from clipboard":`Plakken van klembord`,"Your browser doesn't support direct access to the clipboard.":`Uw browser ondersteunt geen directe toegang tot het klembord.`,"Copy selection":`Selectie kopiëren`,copy:`kopiëren`,"Border radius":`Border radius`,"Show all":`Toon alle`,Apply:`Toepassen`,"Please fill out this field":`Vul dit veld in`,"Please enter a web address":`Voer een webadres in`,Default:`Standaard`,Circle:`Cirkel`,Dot:`Punt`,Quadrate:`Kwadraat`,Find:`Zoeken`,"Find Previous":`Vorige Zoeken`,"Find Next":`Volgende Zoeken`,"Insert className":`Voeg de klassenaam in`,"Press Alt for custom resizing":`Druk op Alt voor aangepaste grootte`,"License: %s":`Licentie: %s`},rh={"Type something":`Skriv noe`,"About Jodit":`Om Jodit`,"Jodit Editor":`Jodit-redigerer`,"Jodit User's Guide":`Jodit brukerveiledning`,"contains detailed help for using":`Inneholder detaljert hjelp for bruk`,"For information about the license, please go to our website:":`For informasjon om lisensen, besøk vår nettside:`,"Buy full version":`Kjøp fullversjon`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Opphavsrett © XDSoft.net - Chupurnov Valeriy. Alle rettigheter forbeholdt.`,Anchor:`Anker`,"Open in new tab":`Åpne i ny fane`,"Open in fullsize":`Åpne i fullskjerm`,"Clear Formatting":`Fjern formatering`,"Fill color or set the text color":`Endre bakgrunns- eller tekstfarge`,Redo:`Gjør om`,Undo:`Angre`,Bold:`Fet`,Italic:`Kursiv`,"Insert Unordered List":`Sett inn punktliste`,"Insert Ordered List":`Sett inn nummerert liste`,"Align Center":`Midtstill`,"Align Justify":`Juster`,"Align Left":`Venstrejuster`,"Align Right":`Høyrejuster`,"Insert Horizontal Line":`Sett inn horisontal linje`,"Insert Image":`Sett inn bilde`,"Insert file":`Sett inn fil`,"Insert youtube/vimeo video":`Sett inn YouTube/Vimeo-vi
500deo`,"Insert link":`Sett inn lenke`,"Font size":`Skriftstørrelse`,"Font family":`Skriftfamilie`,"Insert format block":`Sett inn formateringsblokk`,Normal:`Normal`,"Heading 1":`Overskrift 1`,"Heading 2":`Overskrift 2`,"Heading 3":`Overskrift 3`,"Heading 4":`Overskrift 4`,Quote:`Sitat`,Code:`Kode`,Insert:`Sett inn`,"Insert table":`Sett inn tabell`,"Decrease Indent":`Reduser innrykk`,"Increase Indent":`Øk innrykk`,"Select Special Character":`Velg spesialtegn`,"Insert Special Character":`Sett inn spesialtegn`,"Paint format":`Kopier format`,"Change mode":`Bytt modus (WYSIWYG/HTML)`,Margins:`Marger`,top:`topp`,right:`høyre`,bottom:`bunn`,left:`venstre`,Styles:`Stiler`,Classes:`Klasser`,Align:`Justering`,Right:`Høyre`,Center:`Senter`,Left:`Venstre`,"--Not Set--":`--Ikke satt--`,Src:`Kilde`,Title:`Tittel`,Alternative:`Alternativ`,Filter:`Filter`,Link:`Lenke`,"Open link in new tab":`Åpne lenke i ny fane`,Image:`Bilde`,file:`fil`,Advanced:`Avansert`,"Image properties":`Bildeegenskaper`,Cancel:`Avbryt`,Ok:`OK`,"Your code is similar to HTML. Keep as HTML?":`Koden din ligner HTML. Beholde som HTML?`,"Paste as HTML":`Lim inn som HTML`,Keep:`Behold`,Clean:`Rens`,"Insert as Text":`Lim inn som tekst`,"Word Paste Detected":`Word-innliming oppdaget`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Innholdet du limer inn kommer fra et Microsoft Word/Excel-dokument. Vil du beholde formatet eller rense det?`,"Insert only Text":`Lim inn kun tekst`,"File Browser":`Filutforsker`,"Error on load list":`Feil ved lasting av liste`,"Error on load folders":`Feil ved lasting av mapper`,"Are you sure?":`Er du sikker?`,"Enter Directory name":`Skriv inn mappenavn`,"Create directory":`Opprett mappe`,"type name":`skriv navn`,"Drop image":`Slipp bilde`,"Drop file":`Slipp fil`,"or click":`eller klikk`,"Alternative text":`Alternativ tekst`,Browse:`Bla gjennom`,Upload:`Last opp`,Background:`Bakgrunn`,Border:`Kantlinje`,Text:`Tekst`,Top:`Topp`,Middle:`Midt`,Bottom:`Bunn`,"Insert column before":`Sett inn kolonne før`,"Insert column after":`Sett inn kolonne etter`,"Insert row above":`Sett inn rad over`,"Insert row below":`Sett inn rad under`,"Delete table":`Slett tabell`,"Delete row":`Slett rad`,"Delete column":`Slett kolonne`,"Empty cell":`Tøm celle`,"Chars: %d":`Tegn: %d`,"Words: %d":`Ord: %d`,Split:`Del`,"Split vertical":`Del vertikalt`,"Split horizontal":`Del horisontalt`,"Strike through":`Gjennomstreking`,Underline:`Understreking`,superscript:`hevet skrift`,subscript:`senket skrift`,"Cut selection":`Klipp ut markering`,"Select all":`Velg alt`,Break:`Pause`,"Search for":`Søk etter`,"Replace with":`Erstatt med`,Replace:`Erstatt`,Paste:`Lim inn`,"Choose Content to Paste":`Velg innhold å lime inn`,source:`kilde`,bold:`fet`,italic:`kursiv`,brush:`pensel`,link:`lenke`,undo:`angre`,redo:`gjør om`,table:`tabell`,image:`bilde`,eraser:`viskelær`,paragraph:`avsnitt`,fontsize:`skriftstørrelse`,video:`video`,font:`skrift`,about:`om redigeringsverktøyet`,print:`skriv ut`,underline:`understreking`,strikethrough:`gjennomstreking`,indent:`innrykk`,outdent:`reduser innrykk`,fullsize:`full størrelse`,shrink:`krympe`,hr:`linje`,ul:`punktliste`,ol:`nummerert liste`,cut:`klipp ut`,selectall:`velg alt`,"Open link":`Åpne lenke`,"Edit link":`Rediger lenke`,"N
500o follow":`Ingen oppfølging`,Unlink:`Fjern lenke`,Eye:`Forhåndsvisning`,pencil:`Rediger`," URL":`URL`,Reset:`Tilbakestill`,Save:`Lagre`,"Save as ...":`Lagre som ...`,Resize:`Endre størrelse`,Crop:`Beskjær`,Width:`Bredde`,Height:`Høyde`,"Keep Aspect Ratio":`Behold proporsjoner`,Yes:`Ja`,No:`Nei`,Remove:`Fjern`,Select:`Velg`,"Select %s":`Velg: %s`,Update:`Oppdater`,"Vertical align":`Vertikal justering`,Merge:`Slå sammen`,"Add column":`Legg til kolonne`,"Add row":`Legg til rad`,Delete:`Slett`,"Horizontal align":`Horisontal justering`,"Sort by changed":`Sorter etter endring`,"Sort by name":`Sorter etter navn`,"Sort by size":`Sorter etter størrelse`,"Add folder":`Legg til mappe`,palette:`Palett`,preview:`Forhåndsvisning`,"Line height":`Linjehøyde`,"Insert className":`Sett inn klassenavn`,apply:`Bruk`,edit:`Rediger`,"Show all":`Vis alle`,sound:`Lyd`,"Interim Results":`Foreløpige resultater`,default:`Standard`,circle:`Sirkel`,dot:`Punkt`,square:`Firkant`,"Press Alt for custom resizing":`Trykk på Alt for å endre størrelse`,"Copy selection":`Kopier utvalg`,"Paste from clipboard":`Lim inn fra utklippstavlen`,Find:`Finne`,"Embed code":`Bygge inn kode`,Edit:`Rediger`,All:`Velg alle`,"License: %s":`Lisens: %s`,"You can only edit your own images. Download this image on the host?":`Du kan bare redigere dine egne bilder. Last ned dette bildet på verten?`,"The image has been successfully uploaded to the host!":`Bildet har blitt lastet opp til verten!`,"There are no files":`Det er ingen filer i denne katalogen`,Rename:`Gi nytt navn`,"Enter new name":`Skriv inn nytt navn`,download:`Last ned`,"Your browser doesn't support direct access to the clipboard.":`Nettleseren din støtter ikke direkte tilgang til utklippstavlen.`,copy:`kopi`,"Border radius":`Grenseradius`,Apply:`Bruk`,"Please fill out this field":`Vennligst fyll ut dette feltet`,"Please enter a web address":`Vennligst skriv inn en webadresse`,Default:`Standard`,Circle:`Sirkel`,Dot:`Prikk`,Quadrate:`Firkant`,"Find Previous":`Finn forrige`,"Find Next":`Finn neste`},ih={"Type something":`Napisz coś`,Advanced:`Zaawansowane`,"About Jodit":`O Jodit`,"Jodit Editor":`Edytor Jodit`,"Jodit User's Guide":`Instrukcja Jodit`,"contains detailed help for using":`zawiera szczegółowe informacje dotyczące użytkowania.`,"For information about the license, please go to our website:":`Odwiedź naszą stronę, aby uzyskać więcej informacji na temat licencji:`,"Buy full version":`Zakup pełnej wersji`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Wszystkie prawa zastrzeżone.`,Anchor:`Kotwica`,"Open in new tab":`Otwórz w nowej zakładce`,"Open in fullsize":`Otwórz edytor w pełnym rozmiarze`,"Clear Formatting":`Wyczyść formatowanie`,"Fill color or set the text color":`Kolor wypełnienia lub ustaw kolor tekstu`,Redo:`Ponów`,Undo:`Cofnij`,Bold:`Pogrubienie`,Italic:`Kursywa`,"Insert Unordered List":`Wstaw listę wypunktowaną`,"Insert Ordered List":`Wstaw listę numeryczną`,"Align Center":`Wyśrodkuj`,"Align Justify":`Wyjustuj`,"Align Left":`Wyrównaj do lewej`,"Align Right":`Wyrównaj do prawej`,"Insert Horizontal Line":`Wstaw linię poziomą`,"Insert Image":`Wstaw grafikę`,"Insert file":`Wstaw plik`,"Insert youtube/vimeo video":`Wstaw film Youtube/vimeo`,"Insert link":`Wstaw link`,"Font size":`Rozmiar tekstu`,"Font family":`Krój czcionki`,"Insert format block":`Wstaw formatowanie`,Normal:`Normalne`,"Heading 1":`Nagłówek 1`,"Heading 2":`Nagłówek 2`,"Heading 3":`Nagłówek 3`,"Heading 4":`Nagłówek 4`,Quote:`Cytat`,Code:`Kod`,Insert:`Wstaw`,"Insert table":`Wstaw tabelę`,"Decrease Indent":`Zmniejsz wcięcie`,"Increase Indent":`Zwiększ wcięcie`,"Select Special Character":`Wybierz znak specjalny`,"Insert Special Character":`Wstaw znak specjalny`,"Paint format":`Malarz formatów`,"Change mode":`Zmień tryb`,Margins:`Marginesy`,top:`Górny`,right:`Prawy`,bottom:`Dolny`,left:`Levy`,Styles:`Style CSS`,Classes:`Klasy CSS`,Align:`Wyrównanie`,Right:`Prawa`,Center:`środek`,Left:`Lewa`,"--Not Set--":`brak`,Src:`Źródło`,Title:`Tytuł`,Alternative:`Tekst alternatywny`,Link:`Link`,"Open link in new tab":`Otwórz w nowej zakładce`,Image:`Grafika`,file:`Plik`,"Image properties":`Właściwości grafiki`,Cancel:`Anuluj`,Ok:`OK`,"Your code is similar to HTML. Keep as HTML?":`Twój kod wygląda jak HTML. Zachować HTML?`,"Paste as HTML":`Wkleić jako HTML?`,Keep:`Oryginalny tekst`,Clean:`Wyczyść`,"Insert as Text":`Wstaw jako tekst`,"Word Paste Detected":`Wykryto tekst w formacie Word`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Wklejany tekst pochodzi z dokumentu Microsoft Word/Excel. Chcesz zachować ten format czy wyczyścić go? `,"Insert only Text":`Wstaw tylko treść`,"File Browser":`Przeglądarka plików`,"Error on load list":`Błąd ładowania listy plików`,"Error on load folders":`Błąd ładowania folderów`,"Are you sure?":`Czy jesteś pewien?`,"Enter Directory name":`Wprowadź nazwę folderu`,"Create directory":`Utwórz folder`,"type name":`wprowadź nazwę`,"Drop image":`Upuść plik graficzny`,"Drop file":`Upuść plik`,"or click":`lub kliknij tu`,"Alternative text":`Tekst alternatywny`,Browse:`Przeglądaj`,Upload:`Wczytaj`,Backgroun
500d:`Tło`,Text:`Treść`,Top:`Góra`,Middle:`Środek`,Bottom:`Dół`,"Insert column before":`Wstaw kolumnę przed`,"Insert column after":`Wstaw kolumnę po`,"Insert row above":`Wstaw wiersz przed`,"Insert row below":`Wstaw wiersz po`,"Delete table":`Usuń tabelę`,"Delete row":`Usuń wiersz`,"Delete column":`Usuń kolumnę`,"Empty cell":`Wyczyść komórkę`,Delete:`Usuń`,"Strike through":`Przekreślenie`,Underline:`Podkreślenie`,Break:`Przerwa`,"Search for":`Szukaj`,"Replace with":`Zamień na`,Replace:`Wymienić`,Edit:`Edytuj`,"Vertical align":`Wyrównywanie w pionie`,"Horizontal align":`Wyrównywanie w poziomie`,Filter:`Filtruj`,"Sort by changed":`Sortuj wg zmiany`,"Sort by name":`Sortuj wg nazwy`,"Sort by size":`Sortuj wg rozmiaru`,"Add folder":`Dodaj folder`,"Split vertical":`Podziel w pionie`,"Split horizontal":`Podziel w poziomie`,Split:`Podziel`,Merge:`Scal`,"Add column":`Dodaj kolumnę`,"Add row":`Dodaj wiersz`,Border:`Obramowanie`,"Embed code":`Wstaw kod`,Update:`Aktualizuj`,superscript:`indeks górny`,subscript:`index dolny`,"Cut selection":`Wytnij zaznaczenie`,Paste:`Wklej`,"Choose Content to Paste":`Wybierz zawartość do wklejenia`,"Chars: %d":`Znaki: %d`,"Words: %d":`Słowa: %d`,All:`Wszystko`,"Select %s":`Wybierz: %s`,"Select all":`Wybierz wszystko`,source:`HTML`,bold:`pogrubienie`,italic:`kursywa`,brush:`pędzel`,link:`link`,undo:`cofnij`,redo:`ponów`,table:`tabela`,image:`grafika`,eraser:`wyczyść`,paragraph:`akapit`,fontsize:`rozmiar czcionki`,video:`wideo`,font:`czcionka`,about:`O programie`,print:`drukuj`,underline:`podkreślenie`,strikethrough:`przekreślenie`,indent:`wcięcie`,outdent:`wycięcie`,fullsize:`pełen rozmiar`,shrink:`przytnij`,hr:`linia pozioma`,ul:`lista`,ol:`lista numerowana`,cut:`wytnij`,selectall:`zaznacz wszystko`,"Open link":`otwórz link`,"Edit link":`edytuj link`,"No follow":`Atrybut no-follow`,Unlink:`Usuń link`,Eye:`szukaj`,pencil:`edytuj`," URL":`URL`,Reset:`wyczyść`,Save:`zapisz`,"Save as ...":`zapisz jako`,Resize:`Zmień rozmiar`,Crop:`Przytnij`,Width:`Szerokość`,Height:`Wysokość`,"Keep Aspect Ratio":`Zachowaj proporcje`,Yes:`Tak`,No:`Nie`,Remove:`Usuń`,Select:`Wybierz`,"You can only edit your own images. Download this image on the host?":`Możesz edytować tylko swoje grafiki. Czy chcesz pobrać tą grafikę?`,"The image has been successfully uploaded to the host!":`Grafika została pomyślnienie dodana na serwer`,palette:`Paleta`,"There are no files":`Brak plików.`,Rename:`zmień nazwę`,"Enter new name":`Wprowadź nową nazwę`,preview:`podgląd`,download:`pobierz`,"Paste from clipboard":`Wklej ze schowka`,"Your browser doesn't support direct access to the clipboard.":`Twoja przeglądarka nie obsługuje schowka`,"Copy selection":`Kopiuj zaznaczenie`,copy:`kopiuj`,"Border radius":`Zaokrąglenie krawędzi`,"Show all":`Pokaż wszystkie`,Apply:`Zastosuj`,"Please fill out this field":`Proszę wypełnić to pole`,"Please enter a web address":`Proszę, wpisz adres sieci web`,Default:`Domyślnie`,Circle:`Koło`,Dot:`Punkt`,Quadrate:`Kwadrat`,Find:`Znaleźć`,"Find Previous":`Znaleźć Poprzednie`,"Find Next":`Znajdź Dalej`,"Insert className":`Wstaw nazwę zajęć`,"Press Alt for custom resizing":`Naciśnij Alt, aby zmienić rozmiar`,"License: %s":`Licencja: %s`},ah={"Type something":`Escreva algo...`,Advanced:`Avançado`,"About Jodit":`Sobre o Jodit`,"Jodit Editor":`Editor Jodit`,"Jodit User's Guide":`Guia de usuário Jodit`,"contains detailed help for using":`contém ajuda detalhada para o uso.`,"For information about the license, please go to our website:":`Para informação sobre a licença, por favor visite nosso site:`,"Buy full version":`Compre a versão completa`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. Todos os direitos reservados.`,Anchor:`Link`,"Open in new tab":`Abrir em nova aba`,"Open in fullsize":`Abrir editor em tela cheia`,"Clear Formatting":`Limpar formatação`,"Fill color or set the text color":`Cor de preenchimento ou cor do texto`,Redo:`Refazer`,Undo:`Desfazer`,Bold:`Negrito`,Italic:`Itálico`,"Insert Unordered List":`Inserir lista não ordenada`,"Insert Ordered List":`Inserir lista ordenada`,"Align Center":`Centralizar`,"Align Justify":`Justificar`,"Align Left":`Alinhar à Esquerda`,"Align Right":`Alinhar à Direita`,"Insert Horizontal Line":`Inserir linha horizontal`,"Insert Image":`Inserir imagem`,"Insert file":`Inserir arquivo`,"Insert youtube/vimeo video":`Inserir vídeo do Youtube/vimeo`,"Insert link":`Inserir link`,"Font size":`Tamanho da letra`,"Font family":`Fonte`,"Insert format block":`Inserir bloco`,Normal:`Normal`,"Heading 1":`Cabeçalho 1`,"Heading 2":`Cabeçalho 2`,"Heading 3":`Cabeçalho 3`,"Heading 4":`Cabeçalho 4`,Quote:`Citação`,Code:`Código`,Insert:`Inserir`,"Insert table":`Inserir tabela`,"Decrease Indent":`Diminuir recuo`,"Increase Indent":`Aumentar recuo`,"Select Special Character":`Selecionar caractere especial`,"Insert Special Character":`Inserir caractere especial`,"Paint format":`Copiar formato`,"Change mode":`Mudar modo`,Margins:`Margens`,top:`cima`,right:`direta`,bottom:`baixo`,left:`esquerda`,Styles:`Estilos CSS`,Classes:`Classes CSS`,Align:`Alinhamento`,Right:`Direita`,Center:`Centro`,Left:`Esquerda`,"--Not Set--":`--Não Estabelecido--`,Src:`Fonte`,Title:`Título`,Alternative:`Texto Alternativo`,Link:`Link`,"Open link in new tab":`Abrir link em nova aba`,Image:`Imagem`,file:`Arquivo`,"Image properties":`Propriedades da imagem`,Cancel:`Cancelar`,Ok:`Ok`,"Your code is similar to HTML. Keep as HTML?":`Seu código é similar ao HTML. Manter como HTML?`,"Paste as HTML":`Colar como HTML?`,Keep:`Manter`,Clean:`Limpar`,"Insert as Text":`Inserir como Texto`,"Word Paste Detected":`Colado do Word Detectado`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`O conteúdo colado veio de um documento Microsoft Word/Excel. Você deseja manter o formato ou limpa-lo?`,"Insert only Text":`Inserir somente o Texto`,"File Browser":`Procurar arquivo`,"Error on load list":`Erro ao carregar a lista`,"
500Error on load folders":`Erro ao carregar as pastas`,"Are you sure?":`Você tem certeza?`,"Enter Directory name":`Escreva o nome da pasta`,"Create directory":`Criar pasta`,"type name":`Escreva seu nome`,"Drop image":`Soltar imagem`,"Drop file":`Soltar arquivo`,"or click":`ou clique`,"Alternative text":`Texto alternativo`,Browse:`Explorar`,Upload:`Upload`,Background:`Fundo`,Text:`Texto`,Top:`Cima`,Middle:`Meio`,Bottom:`Baixo`,"Insert column before":`Inserir coluna antes`,"Insert column after":`Inserir coluna depois`,"Insert row above":`Inserir linha acima`,"Insert row below":`Inserir linha abaixo`,"Delete table":`Excluir tabela`,"Delete row":`Excluir linha`,"Delete column":`Excluir coluna`,"Empty cell":`Limpar célula`,Delete:`Excluir`,"Strike through":`Tachado`,Underline:`Sublinhar`,Break:`Pausa`,"Search for":`Procurar por`,"Replace with":`Substituir com`,Replace:`Substituir`,Edit:`Editar`,"Vertical align":`Alinhamento vertical`,"Horizontal align":`Alinhamento horizontal`,Filter:`filtrar`,"Sort by changed":`Ordenar por modificação`,"Sort by name":`Ordenar por nome`,"Sort by size":`Ordenar por tamanho`,"Add folder":`Adicionar pasta`,Split:`Dividir`,"Split vertical":`Dividir vertical`,"Split horizontal":`Dividir horizontal`,Merge:`Mesclar`,"Add column":`Adicionar coluna`,"Add row":`Adicionar linha`,Border:`Borda`,"Embed code":`Incluir código`,Update:`Atualizar`,superscript:`sobrescrito`,subscript:`subscrito`,"Cut selection":`Cortar seleção`,Paste:`Colar`,"Choose Content to Paste":`Escolher conteúdo para colar`,"Chars: %d":`Caracteres: %d`,"Words: %d":`Palavras: %d`,All:`Tudo`,"Select %s":`Selecionar: %s`,"Select all":`Selecionar tudo`,source:`HTML`,bold:`negrito`,italic:`itálico`,brush:`pincel`,link:`link`,undo:`desfazer`,redo:`refazer`,table:`tabela`,image:`imagem`,eraser:`apagar`,paragraph:`parágrafo`,fontsize:`tamanho da letra`,video:`vídeo`,font:`fonte`,about:`Sobre de`,print:`Imprimir`,underline:`sublinhar`,strikethrough:`tachado`,indent:`recuar`,outdent:`diminuir recuo`,fullsize:`Tamanho completo`,shrink:`diminuir`,hr:`linha horizontal`,ul:`lista não ordenada`,ol:`lista ordenada`,cut:`Cortar`,selectall:`Selecionar tudo`,"Open link":`Abrir link`,"Edit link":`Editar link`,"No follow":`Não siga`,Unlink:`Remover link`,Eye:`Visualizar`,pencil:`Editar`," URL":`URL`,Reset:`Resetar`,Save:`Salvar`,"Save as ...":`Salvar como...`,Resize:`Redimensionar`,Crop:`Recortar`,Width:`Largura`,He
500ight:`Altura`,"Keep Aspect Ratio":`Manter a proporção`,Yes:`Sim`,No:`Não`,Remove:`Remover`,Select:`Selecionar`,"You can only edit your own images. Download this image on the host?":`Você só pode editar suas próprias imagens. Baixar essa imagem pro servidor?`,"The image has been successfully uploaded to the host!":`A imagem foi enviada com sucesso para o servidor!`,palette:`Palette`,"There are no files":`Não há arquivos nesse diretório.`,Rename:`Húngara`,"Enter new name":`Digite um novo nome`,preview:`preview`,download:`Baixar`,"Paste from clipboard":`Colar da área de transferência`,"Your browser doesn't support direct access to the clipboard.":`O seu navegador não oferece suporte a acesso direto para a área de transferência.`,"Copy selection":`Selecção de cópia`,copy:`cópia`,"Border radius":`Border radius`,"Show all":`Mostrar todos os`,Apply:`Aplicar`,"Please fill out this field":`Por favor, preencha este campo`,"Please enter a web address":`Por favor introduza um endereço web`,Default:`Padrão`,Circle:`Círculo`,Dot:`Ponto`,Quadrate:`Quadro`,"Lower Alpha":`Letra Minúscula`,"Lower Greek":`Grego Minúscula`,"Lower Roman":`Romano Minúscula`,"Upper Alpha":`Letra Maiúscula`,"Upper Roman":`Romano Maiúscula`,Find:`Encontrar`,"Find Previous":`Encontrar Anteriores`,"Find Next":`Localizar Próxima`,"Insert className":`Insira o nome da classe`,"Press Alt for custom resizing":`Pressione Alt para redimensionamento personalizado`,"License: %s":`Licença: %s`},oh={"Type something":`Напишите что-либо`,"About Jodit":`О Jodit`,"Jodit Editor":`Редактор Jodit`,"Jodit User's Guide":`Jodit Руководство пользователя`,"contains detailed help for using":`содержит детальную информацию по использованию`,"For information about the license, please go to our website:":`Для получения сведений о лицензии , пожалуйста, перейдите на наш сайт:`,"Buy full version":`Купить полную версию`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Авторские права © XDSoft.net - Чупурнов Валерий. Все права защищены.`,Anchor:`Анкор`,"Open in new tab":`Открывать ссылку в новой вкладке`,"Open in fullsize":`Открыть редактор в полном размере`,"Clear Formatting":`Очистить форматирование`,"Fill color or set the text color":`Цвет заливки или цвет текста`,Redo:`Повтор`,Undo:`Отмена`,Bold:`Жирный`,Italic:`Наклонный`,"Insert Unordered List":`Вставка маркированного списка`,"Insert Ordered List":`Вставить нумерованный список`,"Align Center":`Выровнять по центру`,"Align Justify":`Выровнять по ширине`,"Align Left":`Выровнять по левому краю`,"Align Right":`Выровнять по правому краю`,"Insert Horizontal Line":`Вставить горизонтальную линию`,"Insert Image":`Вставить изображение`,"Insert file":`Вставить файл`,"Insert youtube/vimeo video":`Вставьте видео`,"Insert link":`Вставить ссылку`,"Font size":`Размер шрифта`,"Font family":`Шрифт`,"Insert format block":`Вставить блочный элемент`,Normal:`Нормальный текст`,"Heading 1":`Заголовок 1`,"Heading 2":`Заголовок 2`,"Heading 3":`Заголовок 3`,"Heading 4":`Заголовок 4`,Quote:`Цитата`,Code:`Код`,Insert:`Вставить`,"Insert table":`Вставить таблицу`,"Decrease Indent":`Уменьшить отступ`,"Increase Indent":`Увеличить отступ`,"Select Special Character":`Выберите специальный символ`,"Insert Special Character":`Вставить специальный символ`,"Paint format":`Формат краски`,"Change mode":`Источник`,Margins:`Отступы`,top:`сверху`,right:`справа`,bottom:`снизу`,left:`слева`,Styles:`Стили`,Classes:`Классы`,Align:`Выравнивание`,Right:`По правому краю`,Center:`По центру`,Left:`По левому краю`,"--Not Set--":`--не устанавливать--`,Src:`src`,Title:`Заголовок`,Alternative:`Альтернативный текст (alt)`,Link:`Ссылка`,"Open link in new tab":`Открывать ссылку в новом окне`,file:`Файл`,Advanced:`Расширенные`,"Image properties":`Свойства изображения`,Cancel:`Отмена`,Ok:`Ок`,"Your code is similar to HTML. Keep as HTML?":`Ваш текст, который вы пытаетесь вставить похож на HTML. Вставить его как HTML?`,"Paste as HTML":`Вставить как HTML?`,Keep:`Сохранить оригинал`,Clean:`Почистить`,"Insert as Text":`Вставить как текст`,"Insert only Text":`Вставить только текст`,"Word Paste Detected":`Возможно это фрагмент Word или Excel`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Контент который вы вставляете поступает из документа Microsoft Word / Excel. Вы хотите сохранить формат или очистить его?`,"File Browser":`Браузер файлов`,"Error on load list":`Ошибка при загрузке списка изображений`,"Error on load folders":`Ошибка при загрузке списка директорий`,"Are you sure?":`Вы уверены?`,"Enter Directory name":`Введите название директории`,"Create directory":`Создать директорию`,"type name":`введите название`,"Drop image":`Перетащите сюда изображение`,"Drop file":`Перетащите сюда файл`,"or click":`или нажмите`,"Alternative text":`Альтернативный текст`,Browse:`Сервер`,Upload:`Загрузка`,Backgroun
500d:`Фон`,Text:`Текст`,Top:` К верху`,Middle:`По середине`,Bottom:`К низу`,"Insert column before":`Вставить столбец до`,"Insert column after":`Вставить столбец после`,"Insert row above":`Вставить ряд выше`,"Insert row below":`Вставить ряд ниже`,"Delete table":`Удалить таблицу`,"Delete row":`Удалять ряд`,"Delete column":`Удалить столбец`,"Empty cell":`Очистить ячейку`,source:`HTML`,bold:`жирный`,italic:`курсив`,brush:`заливка`,link:`ссылка`,undo:`отменить`,redo:`повторить`,table:`таблица`,image:`Изображение`,eraser:`очистить`,paragraph:`параграф`,fontsize:`размер шрифта`,video:`видео`,font:`шрифт`,about:`о редакторе`,print:`печать`,underline:`подчеркнутый`,strikethrough:`перечеркнутый`,indent:`отступ`,outdent:`выступ`,fullsize:`во весь экран`,shrink:`обычный размер`,hr:`линия`,ul:`Список`,ol:`Нумерованный список`,cut:`Вырезать`,selectall:`Выделить все`,"Embed code":`Код`,"Open link":`Открыть ссылку`,"Edit link":`Редактировать ссылку`,"No follow":`Атрибут nofollow`,Unlink:`Убрать ссылку`,Eye:`Просмотр`,pencil:`Редактировать`,Update:`Обновить`," URL":`URL`,Edit:`Редактировать`,"Horizontal align":`Горизонтальное выравнивание`,Filter:`Фильтр`,"Sort by changed":`По изменению`,"Sort by name":`По имени`,"Sort by size":`По размеру`,"Add folder":`Добавить папку`,Reset:`Восстановить`,Save:`Сохранить`,"Save as ...":`Сохранить как`,Resize:`Изменить размер`,Crop:`Обрезать размер`,Width:`Ширина`,Height:`Высота`,"Keep Aspect Ratio":`Сохранять пропорции`,Yes:`Да`,No:`Нет`,Remove:`Удалить`,Select:`Выделить`,"Chars: %d":`Символов: %d`,"Words: %d":`Слов: %d`,All:`Выделить все`,"Select %s":`Выделить: %s`,"Select all":`Выделить все`,"Vertical align":`Вертикальное выравнивание`,Split:`Разделить`,"Split vertical":`Разделить по вертикали`,"Split horizontal":`Разделить по горизонтали`,Merge:`Объединить в одну`,"Add column":`Добавить столбец`,"Add row":`Добавить строку`,Delete:`Удалить`,Border:`Рамка`,"License: %s":`Лицензия: %s`,"Strike through":`Перечеркнуть`,Underline:`Подчеркивание`,superscript:`верхний индекс`,subscript:`индекс`,"Cut selection":`Вырезать`,Break:`Разделитель`,"Search for":`Найти`,"Replace with":`Заменить на`,Replace:`Заменить`,Paste:`Вставить`,"Choose Content to Paste":`Выбрать контент для вставки`,"You can only edit your own images. Download this image on the host?":`Вы можете редактировать только свои собственные изображения. Загрузить это изображение на ваш сервер?`,"The image has been successfully uploaded to the host!":`Изображение успешно загружено на сервер!`,palette:`палитра`,"There are no files":`В данном каталоге нет файлов`,Rename:`Переименовать`,"Enter new name":`Введите новое имя`,preview:`Предпросмотр`,download:`Скачать`,"Paste from clipboard":`Вставить из буфера обмена`,"Your browser doesn't support direct access to the clipboard.":`Ваш браузер не поддерживает прямой доступ к буферу обмена.`,"Copy selection":`Скопировать выделенное`,copy:`копия`,"Border radius":`Радиус границы`,"Show all":`Показать все`,Apply:`Применить`,"Please fill out this field":`Пожалуйста, заполните это поле`,"Please enter a web address":`Пожалуйста, введите веб-адрес`,Default:`По умолчанию`,Circle:`Круг`,Dot:`Точка`,Quadrate:`Квадрат`,Find:`Найти`,"Find Previous":`Найти Предыдущие`,"Find Next":`Найти Далее`,"Insert className":`Вставить название класса`,"Press Alt for custom resizing":`Нажмите Alt для изменения пользовательского размера`},sh={"Type something":`Bir şeyler yaz`,Advanced:`Gelişmiş`,"About Jodit":`Jodit Hakkında`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`Jodit Kullanım Kılavuzu`,"contains detailed help for using":`kullanım için detaylı bilgiler içerir`,"For information about the license, please go to our website:":`Lisans hakkında bilgi için lütfen web sitemize gidin:`,"Buy full version":`Tam versiyonunu satın al`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. T
500üm hakları saklıdır.`,Anchor:`Bağlantı`,"Open in new tab":`Yeni sekmede aç`,"Open in fullsize":`Editörü tam ekranda aç`,"Clear Formatting":`Stili temizle`,"Fill color or set the text color":`Renk doldur veya yazı rengi seç`,Redo:`Yinele`,Undo:`Geri Al`,Bold:`Kalın`,Italic:`İtalik`,"Insert Unordered List":`Sırasız Liste Ekle`,"Insert Ordered List":`Sıralı Liste Ekle`,"Align Center":`Ortala`,"Align Justify":`Kenarlara Yasla`,"Align Left":`Sola Yasla`,"Align Right":`Sağa Yasla`,"Insert Horizontal Line":`Yatay Çizgi Ekle`,"Insert Image":`Resim Ekle`,"Insert file":`Dosya Ekle`,"Insert youtube/vimeo video":`Youtube/Vimeo Videosu Ekle`,"Insert link":`Bağlantı Ekle`,"Font size":`Font Boyutu`,"Font family":`Font Ailesi`,"Insert format block":`Blok Ekle`,Normal:`Normal`,"Heading 1":`Başlık 1`,"Heading 2":`Başlık 2`,"Heading 3":`Başlık 3`,"Heading 4":`Başlık 4`,Quote:`Alıntı`,Code:`Kod`,Insert:`Ekle`,"Insert table":`Tablo Ekle`,"Decrease Indent":`Girintiyi Azalt`,"Increase Indent":`Girintiyi Arttır`,"Select Special Character":`Özel Karakter Seç`,"Insert Special Character":`Özel Karakter Ekle`,"Paint format":`Resim Biçimi`,"Change mode":`Mod Değiştir`,Margins:`Boşluklar`,top:`Üst`,right:`Sağ`,bottom:`Alt`,left:`Sol`,Styles:`CSS Stilleri`,Classes:`CSS Sınıfları`,Align:`Hizalama`,Right:`Sağ`,Center:`Ortalı`,Left:`Sol`,"--Not Set--":`Belirsiz`,Src:`Kaynak`,Title:`Başlık`,Alternative:`Alternatif Yazı`,Link:`Link`,"Open link in new tab":`Bağlantıyı yeni sekmede aç`,Image:`Resim`,file:`Dosya`,"Image properties":`Resim özellikleri`,Cancel:`İptal`,Ok:`Tamam`,"Your code is similar to HTML. Keep as HTML?":`Kodunuz HTML koduna benziyor. HTML olarak devam etmek ister misiniz?`,"Paste as HTML":`HTML olarak yapıştır`,Keep:`Sakla`,Clean:`Temizle`,"Insert as Text":`Yazı olarak ekle`,"Word Paste Detected":`Word biçiminde yapıştırma algılandı`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Yapıştırılan içerik bir Microsoft Word/Excel belgesinden geliyor. Formatı korumak mı yoksa temizlemek mi istiyorsunuz?`,"Insert only Text":`Sadece yazıyı ekle`,"File Browser":`Dosya Listeleyici`,"Error on load list":`Liste yüklenirken hata oluştu`,"Error on load folders":`Klasörler yüklenirken hata oluştur`,"Are you sure?":`Emin misiniz?`,"Enter Directory name":`Dizin yolu giriniz`,"Create directory":`Dizin oluştur`,"type name":`İsim yaz`,"Drop image":`Resim bırak`,"Drop file":`Dosya bırak`,"or click":`veya tıkla`,"Alternative text":`Alternatif yazı`,Browse:`Gözat`,Upload:`Yükle`,Background:`Arka plan`,Text:`Yazı`,Top:`Üst`,Middle:`Orta`,Bottom:`Aşağı`,"Insert column before":`Öncesine kolon ekle`,"Insert column after":`Sonrasına kolon ekle`,"Insert row above":`Üstüne satır ekle`,"Insert row below":`Altına satır ekle`,"Delete table":`Tabloyu sil`,"Delete row":`Satırı sil`,"Delete column":`Kolonu sil`,"Empty cell":`Hücreyi temizle`,Delete:`Sil`,"Strike through":`Üstü çizili`,Underline:`Alt çizgi`,Break:`Satır sonu`,"Search for":`Ara`,"Replace with":`Şununla değiştir`,Replace:`Değiştir`,Edit:`Düzenle`,"Vertical align":`Dikey hizala`,"Horizontal align":`Yatay hizala`,Filter:`Filtre`,"Sort by changed":`Değişime göre sırala`,"Sort by name":`İsme göre sırala`,"Sort by size":`Boyuta göre sırala`,"Add folder":`Klasör ekle`,Split:`Ayır`,"Split vertical":`Dikey ayır`,"Split horizontal":`Yatay ayır`,Merge:`Birleştir`,"Add column":`Kolon ekle`,"Add row":`Satır e
500kle`,Border:`Kenarlık`,"Embed code":`Kod ekle`,Update:`Güncelle`,superscript:`Üst yazı`,subscript:`Alt yazı`,"Cut selection":`Seçilimi kes`,Paste:`Yapıştır`,"Choose Content to Paste":`Yapıştırılacak içerik seç`,"Chars: %d":`Harfler: %d`,"Words: %d":`Kelimeler: %d`,All:`Tümü`,"Select %s":`Seç: %s`,"Select all":`Tümünü seç`,source:`Kaynak`,bold:`Kalın`,italic:`italik`,brush:`Fırça`,link:`Bağlantı`,undo:`Geri al`,redo:`Yinele`,table:`Tablo`,image:`Resim`,eraser:`Silgi`,paragraph:`Paragraf`,fontsize:`Font boyutu`,video:`Video`,font:`Font`,about:`Hakkında`,print:`Yazdır`,underline:`Alt çizgi`,strikethrough:`Üstü çizili`,indent:`Girinti`,outdent:`Çıkıntı`,fullsize:`Tam ekran`,shrink:`Küçült`,hr:`Ayraç`,ul:`Sırasız liste`,ol:`Sıralı liste`,cut:`Kes`,selectall:`Tümünü seç`,"Open link":`Bağlantıyı aç`,"Edit link":`Bağlantıyı düzenle`,"No follow":`Nofollow özelliği`,Unlink:`Bağlantıyı kaldır`,Eye:`Yorumu`,pencil:`Düzenlemek için`," URL":`URL`,Reset:`Sıfırla`,Save:`Kaydet`,"Save as ...":`Farklı kaydet`,Resize:`Boyutlandır`,Crop:`Kırp`,Width:`Genişlik`,Height:`Yükseklik`,"Keep Aspect Ratio":`En boy oranını koru`,Yes:`Evet`,No:`Hayır`,Remove:`Sil`,Select:`Seç`,"You can only edit your own images. Download this image on the host?":`Sadece kendi resimlerinizi düzenleyebilirsiniz. Bu görseli kendi hostunuza indirmek ister misiniz?`,"The image has been successfully uploaded to the host!":`Görsel başarıyla hostunuza yüklendi`,palette:`Palet`,"There are no files":`Bu dizinde dosya yok`,Rename:`Yeniden isimlendir`,"Enter new name":`Yeni isim girin`,preview:`Ön izleme`,download:`İndir`,"Paste from clipboard":`Panodan yapıştır `,"Your browser doesn't support direct access to the clipboard.":`Tarayıcınız panoya doğrudan erişimi desteklemiyor.`,"Copy selection":`Seçimi kopyala`,copy:`Kopyala`,"Border radius":`Sınır yarıçapı`,"Show all":`Tümünü Göster`,Apply:`Uygula`,"Please fill out this field":`Lütfen bu alanı doldurun`,"Please enter a web address":`Lütfen bir web adresi girin`,Default:`Varsayılan`,Circle:`Daire`,Dot:`Nokta`,Quadrate:`Kare`,Find:`Bul`,"Find Previous":`Öncekini Bul`,"Find Next":`Sonrakini Bul`,"Insert className":`Sınıf adı girin`,"Press Alt for custom resizing":`Özel yeniden boyutlandırma için Alt tuşuna basın`,"License: %s":`Lisans: %s`},ch={"Type something":`Напишіть щось`,"About Jodit":`Про Jodit`,"Jodit Editor":`Редактор Jodit`,"Jodit User's Guide":`Jodit інструкція користувача`,"contains detailed help for using":`містить детальну інформацію щодо користування`,"For information about the license, please go to our website:":`Щоб дізнатись більше про ліцензію , будь ласка, перейдіть на наш сайт:`,"Buy full version":`Купити повну версію`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Авторські права © XDSoft.net - Чупурнов Валерій. Всі права захищені.`,Anchor:`Анкор`,"Open in new tab":`Відкрити у новій вкладці`,"Open in fullsize":`Відкрити редактор в повному розмірі`,"Clear Formatting":`Очистити форматування`,"Fill color or set the text color":`Колір заливки або колір текста`,Redo:`Повторити`,Undo:`Відмінити`,Bold:`Жирний`,Italic:`Курсів`,"Insert Unordered List":`Вставити невпорядкований список`,"Insert Ordered List":`Вставити нумерованний список`,"Align Center":`Вирівняти по центру`,"Align Justify":`Вирівняти по ширині`,"Align Left":`Вирівняти по лівому краю`,"Align Right":`Вирівняти по правому краю`,"Insert Horizontal Line":`Вставити горизонтальну лінію`,"Insert Image":`Вставити зображення`,"Insert file":`Вставити файл`,"Insert youtube/vimeo video":`Вставити відео`,"Insert link":`Вставити посилання`,"Font size":`Розмір шрифту`,"Font family":`Шрифт`,"Insert format block":`Вставити блочний елемент`,Normal:`Нормальний текст`,"Heading 1":`Заголовок 1`,"Heading 2":`Заголовок 2`,"Heading 3":`Заголовок 3`,"Heading 4":`Заголовок 4`,Quote:`Цитата`,Code:`Код`,Insert:`Вставити`,"Insert table":`Вставити таблицю`,"Decrease Indent":`Збільшити відступ`,"Increase Indent":`Зменшити відступ`,"Select Special Character":`Оберіть спеціальный символ`,"Insert Special Character":`Вставити спеціальный символ`,"Paint format":`Формат краски`,"Change mode":`Джерело`,Margins:`Відступи`,top:`зверху`,right:`справа`,bottom:`знизу`,left:`зліва`,Styles:`Стилі`,Classes:`Класи`,Align:`Вирівнювання`,Right:`По правому краю`,Center:`По центру`,Left:`По лівому краю`,"--Not Set--":`--не встановлено--`,Src:`src`,Title:`Заголовок`,Alternative:`Альтернативний текст (alt)`,Link:`Посилання`,"Open link in new tab":`Відкрити посилання в новій вкладці`,file:`Файл`,Advanced:`Розширені`,"Image properties":`Властивості зображення`,Cancel:`Відміна`,Ok:`Ок`,"Your code is similar to HTML. Keep as HTML?":`Текст, який Ви намагаєтесь вставити схожий на HTML. Вставити його як HTML?`,"Paste as HTML":`Вставити його як HTML`,Keep:`Зберегти оригінал`,Clean:`Почистити`,"Insert as Text":`Вставити як текст`,"Insert only Text":`Вставити тільки текст`,"Word Paste Detected":`Можливо це фрагмент Word або Excel`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`Ви вставляєте контент з документа Microsoft Word або Excel. Бажаєте зберегти форматування?`,"File Browser":`Браузер файлів`,"Error on load list":`Помилка при завантаженні списку зображень`,"
500Error on load folders":`Помилка при завантаженні списку папок`,"Are you sure?":`Ви впевнені?`,"Enter Directory name":`Введіть назву папки`,"Create directory":`Створити папку`,"type name":`введіть назву`,"Drop image":`Перетягніть зображення сюди`,"Drop file":`Перетягніть файл сюди`,"or click":`або клікніть`,"Alternative text":`Альтернативный текст`,Browse:`Сервер`,Upload:`Завантаження`,Background:`Фон`,Text:`Текст`,Top:` Вгору`,Middle:`По центру`,Bottom:`Донизу`,"Insert column before":`Вставити стовпець до`,"Insert column after":`Вставити стовпець після`,"Insert row above":`Вставити рядок вище`,"Insert row below":`Вставити рядок нижче`,"Delete table":`Видалити таблицю`,"Delete row":`Видалити рядок`,"Delete column":`Видалити стовпчик`,"Empty cell":`Очистити кліинку`,source:`HTML`,bold:`жирний`,italic:`курсів`,brush:`заливка`,link:`посилання`,undo:`відмінити`,redo:`повторити`,table:`таблиця`,image:`зображення`,eraser:`видалення`,paragraph:`параграф`,fontsize:`розмір шрифту`,video:`відео`,font:`шрифт`,about:`про редактор`,print:`друк`,underline:`підкреслений`,strikethrough:`закреслений`,indent:`відступ`,outdent:`заступ`,fullsize:`на весь екран`,shrink:`звичайний розмір`,hr:`лінія`,ul:`Список`,ol:`Нумерований список`,cut:`Вирізати`,selectall:`Виділити все`,"Embed code":`Код`,"Open link":`Відкрити посилання`,"Edit link":`Редагувати посилання`,"No follow":`Атрибут nofollow`,Unlink:`Видалити посилання`,Eye:`Перегляд`,pencil:`Редагування`,Update:`Оновити`," URL":`URL`,Edit:`Редагувати`,"Horizontal align":`Горизонтальне вирівнювання`,Filter:`Фільтр`,"Sort by changed":`Сортувати за зміною`,"Sort by name":`Сортувати за ім'ям`,"Sort by size":`Сортувати за розміром`,"Add folder":`Додати папку`,Reset:`Відновити`,Save:`Зберегти`,"Save as ...":`Зберегти як`,Resize:`Змінити розмір`,Crop:`Обрізати розмір`,Width:`Ширина`,Height:`Висота`,"Keep Aspect Ratio":`Зберегти пропорції`,Yes:`Так`,No:`Ні`,Remove:`Видалити`,Select:`Вибрати`,"Chars: %d":`Символів: %d`,"Words: %d":`Слів: %d`,All:`Вибрати все`,"Select %s":`Вибрати: %s`,"Select all":`Вибрати все`,"Vertical align":`Вертикальне вирівнювання`,Split:`Розділити`,"Split vertical":`Розділити по вертикалі`,"Split horizontal":`Розділити по горизонталі`,Merge:`Об'єднати в одну`,"Add column":`Додати стовпчик`,"Add row":`Додати рядок`,Delete:`Видалити`,Border:`Рамка`,"License: %s":`Ліцензія: %s`,"Strike through":`Закреслений`,Underline:`Підкреслений`,superscript:`верхній індекс`,subscript:`індекс`,"Cut selection":`Обрізати вибране`,Break:`Межа`,"Search for":`Шукати`,"Replace with":`Замінити на`,Replace:`Замінити`,Paste:`Вставити`,"Choose Content to Paste":`Обрати контент для вставки`,"You can only edit your own images. Download this image on the host?":`Ви можете редагувати лише власні зображення. Завантажити зображення на ваш сервер?`,"The image has been successfully uploaded to the host!":`Зображення успішно завантажено на сервер!`,palette:`палітра`,"There are no files":`Файли відсутні`,Rename:`Змінити назву`,"Enter new name":`Введіть нове імя'`,preview:`Попередній перегляд`,download:`Завантажити`,"Paste from clipboard":`Вставити з буфера обміну`,"Your browser doesn't support direct access to the clipboard.":`Ваш браузер не підтримує доступ до буфера обміну.`,"Copy selection":`Копіювати виділене`,copy:`копія`,"Border radius":`Радіус рамки`,"Show all":`Показати все`,Apply:`Застосувати`,"Please fill out this field":`Будь ласка, заповніть це поле`,"Please enter a web address":`Будь ласка, введіть веб-адресу`,Default:`За замовченням`,Circle:`Коло`,Dot:`Крапка`,Quadrate:`Квадрат`,Find:`Знайти`,"Find Previous":`Знайти попередні`,"Find Next":`Знайти наступні`,"Insert className":`Вставити клас`,"Press Alt for custom resizing":`Натисніть Alt для зміни розміру`},lh={"Type something":`输入一些内容`,Advanced:`高级`,"About Jodit":`关于Jodit`,"Jodit Editor":`Jodit Editor`,"Free Non-commercial Version":`Free Non-commercial Version`,"Jodit User's Guide":`开发者指南`,"contains detailed help for using":`使用帮助`,"For information about the license, please go to our website:":`有关许可证的信息,请访问我们的网站:`,"Buy full version":`购买完整版本`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. 版权所有`,Anchor:`Anchor`,"Open in new tab":`在新窗口打开`,"Open in fullsize":`全屏编辑`,"Clear Formatting":`清除样式`,"Fill color or set the text color":`颜色`,Redo:`重做`,Undo:`撤销`,Bold:`粗体`,Italic:`斜体`,"Insert Unordered List":`符号列表`,"Insert Ordered List":`编号`,"Align Center":`居中`,"Align Justify":`对齐文本`,"Align Left":`左对齐`,"Align Right":`右对齐`,"Insert Horizontal Line":`分割线`,"Insert Image":`图片`,"Insert file":`文件`,"Insert youtube/vimeo video":`视频`,"Insert link":`链接`,"Font size":`字号`,"Font family":`字体`,"Insert format block":`格式块`,Normal:`默认`,"Heading 1":`标题1`,"Heading 2":`标题2`,"Heading 3":`标题3`,"Heading 4":`标题4`,Quote:`引用`,Code:`代码`,Insert:`插入`,"Insert table":`表格`,"Decrease Indent":`减少缩进`,"Increase Indent":`增加缩进`,"Select Special Character":`选择特殊符号`,"Insert Special Character":`特殊符号`,"Paint format":`格式复制`,"Change mode":`改变模式`,Margins:`外边距(Margins)`,top:`top`,right:`right`,bottom:`bottom`,left:`left`,Styles:`样式`,Classes:`Classes`,Align:`对齐方式`,Right:`居右`,Center:`居中`,Left:`居左`,"--Not Set--":`无`,Src:`Src`,Title:`Title`,Alternative:`Alternative`,Link:`Link`,"Open link in new tab":`在新窗口打开链接`,Image:`图片`,file:`file`,"Image properties":`图片属性`,Cancel:`取消`,Ok:`确定`,"Your code is similar to HTML. Keep as HTML?":`你粘贴的文本是一段html代码,是否保留源格式`,"Paste as HTML":`html粘贴`,Keep:`保留源格式`,Clean:`匹配目标格式`,"Insert as Text":`把html代码视为普通文本`,"Word Paste Detected":`文本粘贴`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`正在粘贴 Word/Excel 的文本,是否保留源格式?`,"Insert only Text":`只保留文本`,"File Browser":`文件管理`,"Error on load list":`加载list错误`,"Error on load folders":`加载folders错误`,"Are you sure?":`你确定吗?`,"Enter Directory name":`
500输入路径`,"Create directory":`创建路径`,"type name":`type name`,"Drop image":`拖动图片到此`,"Drop file":`拖动文件到此`,"or click":`或点击`,"Alternative text":`Alternative text`,Browse:`浏览`,Upload:`上传`,Background:`背景色`,Text:`文字`,Top:`顶部`,Middle:`中间`,Bottom:`底部`,"Insert column before":`在之前插入列`,"Insert column after":`在之后插入列`,"Insert row above":`在之前插入行`,"Insert row below":`在之后插入行`,"Delete table":`删除表格`,"Delete row":`删除行`,"Delete column":`删除列`,"Empty cell":`清除内容`,"Chars: %d":`字符数: %d`,"Words: %d":`单词数: %d`,"Strike through":`删除线`,Underline:`下划线`,superscript:`上标`,subscript:`下标`,"Cut selection":`剪切`,"Select all":`全选`,Break:`Break`,"Search for":`查找`,"Replace with":`替换为`,Replace:`替换`,Edit:`编辑`,Paste:`粘贴`,"Choose Content to Paste":`选择内容并粘贴`,All:`全部`,source:`源码`,bold:`粗体`,italic:`斜体`,brush:`颜色`,link:`链接`,undo:`撤销`,redo:`重做`,table:`表格`,image:`图片`,eraser:`橡皮擦`,paragraph:`段落`,fontsize:`字号`,video:`视频`,font:`字体`,about:`关于`,print:`打印`,underline:`下划线`,strikethrough:`上出现`,indent:`增加缩进`,outdent:`减少缩进`,fullsize:`全屏`,shrink:`收缩`,hr:`分割线`,ul:`无序列表`,ol:`顺序列表`,cut:`剪切`,selectall:`全选`,"Open link":`打开链接`,"Edit link":`编辑链接`,"No follow":`No follow`,Unlink:`取消链接`,Eye:`预览`," URL":`URL`,Reset:`重置`,Save:`保存`,"Save as ...":`保存为`,Resize:`调整大小`,Crop:`剪切`,Width:`宽`,Height:`高`,"Keep Aspect Ratio":`保持长宽比`,Yes:`是`,No:`不`,Remove:`移除`,Select:`选择`,"Select %s":`选择: %s`,Update:`更新`,"Vertical align":`垂直对齐`,Merge:`合并`,"Add column":`添加列`,"Add row":`添加行`,Border:`边框`,"Embed code":`嵌入代码`,Delete:`删除`,"Horizontal align":`水平对齐`,Filter:`筛选`,"Sort by changed":`修改时间排序`,"Sort by name":`名称排序`,"Sort by size":`大小排序`,"Add folder":`新建文件夹`,Split:`拆分`,"Split vertical":`垂直拆分`,"Split horizontal":`水平拆分`,"You can only edit your own images. Download this image on the host?":`你只能编辑你自己的图片。Download this image on the host?`,"The image has been successfully uploaded to the host!":`图片上传成功`,palette:`调色板`,pencil:`铅笔`,"There are no files":`此目录中沒有文件。`,Rename:`重命名`,"Enter new name":`输入新名称`,preview:`预览`,download:`下载`,"Paste from clipboard":`粘贴从剪贴板`,"Your browser doesn't support direct access to the clipboard.":`你浏览器不支持直接访问的剪贴板。`,"Copy selection":`复制选中内容`,copy:`复制`,"Border radius":`边界半径`,"Show all":`显示所有`,Apply:`应用`,"Please fill out this field":`请填写这个字段`,"Please enter a web address":`请输入一个网址`,Default:`默认`,Circle:`圆圈`,Dot:`点`,Quadrate:`方形`,Find:`搜索`,"Find Previous":`查找上一个`,"Find Next":`查找下一个`,"Insert className":`插入班级名称`,"Press Alt for custom resizing":`按Alt自定义调整大小`,"License: %s":`许可证: %s`},uh={"Type something":`輸入一些內容`,Advanced:`進階`,"About Jodit":`關於Jodit`,"Jodit Editor":`Jodit Editor`,"Jodit User's Guide":`開發者指南`,"contains detailed help for using":`使用幫助`,"For information about the license, please go to our website:":`相關授權條款資訊,請造訪我們的網站:`,"Buy full version":`購買完整版本`,"Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.":`Copyright © XDSoft.net - Chupurnov Valeriy. All rights reserved.`,Anchor:`錨點`,"Open in new tab":`在新分頁開啟`,"Open in fullsize":`全螢幕編輯`,"Clear Formatting":`清除樣式`,"Fill color or set the text color":`顏色`,Redo:`取消復原`,Undo:`復原`,Bold:`粗體`,Italic:`斜體`,"Insert Unordered List":`項目符號清單`,"Insert Ordered List":`編號清單`,"Align Center":`置中`,"Align Justify":`文字對齊`,"Align Left":`靠左`,"Align Right":`靠右`,"Insert Horizontal Line":`分割線`,"Insert Image":`圖片`,"Insert file":`檔案`,"Insert youtube/vimeo video":`插入 youtube/vimeo 影片`,"Insert link":`插入連結`,"Font size":`文字大小`,"Font family":`字型`,"Insert format block":`格式化區塊`,Normal:`內文`,"Heading 1":`標題1`,"Heading 2":`標題2`,"Heading 3":`標題3`,"Heading 4":`標題4`,Quote:`引文`,Code:`程式碼`,Insert:`插入`,"Insert table":`表格`,"Decrease Indent":`減少縮排`,"Increase Indent":`增加縮排`,"Select Special Character":`選擇特殊符號`,"Insert Special Character":`特殊符號`,"Paint format":`格式複製`,"Change mode":`檢視原始碼`,Margins:`邊距`,top:`上`,right:`右`,bottom:`下`,left:`左`,Styles:`樣式`,Classes:`Classes`,Align:`對齊方式`,Right:`靠右`,Center:`置中`,Left:`靠左`,"--Not Set--":`無`,Src:`Src`,Title:`Title`,Alternative:`替代`,Link:`Link`,"Open link in new tab":`在新分頁開啟連結`,Image:`圖片`,file:`檔案`,"Image properties":`圖片屬性`,Cancel:`取消`,Ok:`確定`,"Your code is similar to HTML. Keep as HTML?":`您的程式碼與 HTML 類似,是否貼上 HTML 格式?`,"Paste as HTML":`貼上 HTML`,Keep:`保留原始格式`,Clean:`清除格式`,"Insert as Text":`以純文字貼上`,"Word Paste Detected":`貼上 Word 格式`,"The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?":`正在貼上 Word/Excel 文件的內容,是否保留原始格式?`,"Insert only Text":`僅貼上內文`,"File Browser":`檔案瀏覽`,"Error on load list":`清單載入錯誤`,"Error on load folders":`資料夾載入錯誤`,"Are you sure?":`您確定嗎?`,"Enter Directory name":`
500輸入路徑`,"Create directory":`創建路徑`,"type name":`type name`,"Drop image":`拖曳圖片至此`,"Drop file":`拖曳檔案至此`,"or click":`或點擊`,"Alternative text":`替代文字`,Browse:`瀏覽`,Upload:`上傳`,Background:`背景色`,Text:`文字`,Top:`頂部`,Middle:`中間`,Bottom:`底部`,"Insert column before":`插入左方欄`,"Insert column after":`插入右方欄`,"Insert row above":`插入上方列`,"Insert row below":`插入下方列`,"Delete table":`刪除表格`,"Delete row":`刪除整列`,"Delete column":`刪除整欄`,"Empty cell":`清除內容`,"Chars: %d":`字元數: %d`,"Words: %d":`單字數: %d`,"Strike through":`刪除線`,Underline:`底線`,superscript:`上標`,subscript:`下標`,"Cut selection":`剪下`,"Select all":`全選`,Break:`斷行`,"Search for":`尋找`,"Replace with":`取代為`,Replace:`取代`,Paste:`貼上`,"Choose Content to Paste":`選擇內容並貼上`,All:`全部`,source:`原始碼`,bold:`粗體`,italic:`斜體`,brush:`顏色`,link:`連結`,undo:`復原`,redo:`取消復原`,table:`表格`,image:`圖片`,eraser:`橡皮擦`,paragraph:`段落`,fontsize:`文字大小`,video:`影片`,font:`字型`,about:`關於`,print:`列印`,underline:`底線`,strikethrough:`刪除線`,indent:`增加縮排`,outdent:`減少縮排`,fullsize:`全螢幕`,shrink:`縮減`,hr:`分隔線`,ul:`項目符號清單`,ol:`編號清單`,cut:`剪下`,selectall:`全選`,"Open link":`打開連結`,"Edit link":`編輯連結`,"No follow":`No follow`,Unlink:`取消連結`,Eye:`查看`," URL":`URL`,Reset:`重設`,Save:`儲存`,"Save as ...":`另存為...`,Resize:`調整大小`,Crop:`裁切`,Width:`寬`,Height:`高`,"Keep Aspect Ratio":`維持長寬比`,Yes:`是`,No:`否`,Remove:`移除`,Select:`選擇`,"Select %s":`選擇: %s`,Update:`更新`,"Vertical align":`垂直對齊`,Merge:`合併`,"Add column":`新增欄`,"Add row":`新增列`,Border:`邊框`,"Embed code":`嵌入程式碼`,Delete:`刪除`,"Horizontal align":`水平對齊`,Filter:`篩選`,"Sort by changed":`修改時間排序`,"Sort by name":`名稱排序`,"Sort by size":`大小排序`,"Add folder":`新增資料夾`,Split:`分割`,"Split vertical":`垂直分割`,"Split horizontal":`水平分割`,"You can only edit your own images. Download this image on the host?":`您只能編輯您自己的圖片。是否下載此圖片?`,"The image has been successfully uploaded to the host!":`圖片上傳成功`,palette:`調色盤`,pencil:`鉛筆`,"There are no files":`沒有檔案`,Rename:`重新命名`,"Enter new name":`輸入新名稱`,preview:`預覽`,download:`下載`,"Paste from clipboard":`從剪貼簿貼上`,"Your browser doesn't support direct access to the clipboard.":`瀏覽器無法存取剪貼簿。`,"Copy selection":`複製已選取項目`,copy:`複製`,"Border radius":`邊框圓角`,"Show all":`顯示全部`,Apply:`應用`,"Please fill out this field":`請輸入此欄位`,"Please enter a web address":`請輸入網址`,Default:`預設`,Circle:`圓圈`,Dot:`點`,Quadrate:`方形`,Find:`尋找`,"Find Previous":`尋找上一個`,"Find Next":`尋找下一個`,"Insert className":`插入 class 名稱`,"Press Alt for custom resizing":`按住 Alt 以調整自訂大小`,Edit:`編輯`,"License: %s":`許可證: %s`},dh={};dh={ar:Vm,cs_cz:Hm,de:Um,en:Wm,es:Gm,fi:Km,fr:qm,he:Jm,hu:Ym,id:Xm,it:Zm,ja:Qm,ko:eh,mn:th,nl:nh,no:rh,pl:ih,pt_br:ah,ru:oh,tr:sh,ua:ch,zh_cn:lh,zh_tw:uh};var fh=e=>e?e.default||e:{},ph={};Ao(fh($m))&&fh($m).forEach((e,t)=>{ph[t]=e}),Object.keys(dh).forEach(e=>{let t=fh(dh[e]);Ao(t)?(dh[e]={},t.forEach((t,n)=>{dh[e][ph[n]]=t})):dh[e]=t});var mh=dh,hh=`<svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> <path d="M1088 1256v240q0 16-12 28t-28 12h-240q-16 0-28-12t-12-28v-240q0-16 12-28t28-12h240q16 0 28 12t12 28zm316-600q0 54-15.5 101t-35 76.5-55 59.5-57.5 43.5-61 35.5q-41 23-68.5 65t-27.5 67q0 17-12 32.5t-28 15.5h-240q-15 0-25.5-18.5t-10.5-37.5v-45q0-83 65-156.5t143-108.5q59-27 84-56t25-76q0-42-46.5-74t-107.5-32q-65 0-108 29-35 25-107 115-13 16-31 16-12 0-25-8l-164-125q-13-10-15.5-25t5.5-28q160-266 464-266 80 0 161 31t146 83 106 127.5 41 158.5z"/> </svg> `;F.prototype.controls.about={exec:e=>{let t=e.dlg({closeOnClickOverlay:!0}),n=e.i18n.bind(e);t.setMod(`theme`,e.o.theme).setHeader(n(`About Jodit`)).setContent(`<div class="jodit-about">
501					<div>${n(`Jodit Editor`)} v.${e.getVersion()}</div>
502					<div>${n(`License: %s`,Ns(e.o.license)?Pl(e.o.license):e.o.license||`MIT`)}</div>
503					<div>
504						<a href="${Ma}" target="_blank">${Ma}</a>
505					</div>
506					<div>
507						<a href="https://xdsoft.net/jodit/docs/" target="_blank">${n(`Jodit User's Guide`)}</a>
508						${n(`contains detailed help for using`)}
509					</div>
510					<div>${n(`Copyright © XDSoft.net - Chupurnov Valerii. All rights reserved.`)}</div>
511				</div>`),M(t.dialog,{minHeight:200,minWidth:420}),t.open(!0,!0)},tooltip:`About Jodit`,mode:3};function gh(e){e.registerButton({name:`about`,group:`info`})}Ec.add(`about`,gh),vu.set(`about`,hh),F.prototype.delete={hotkeys:{delete:[`delete`,`cmd+backspace`],deleteWord:[`ctrl+delete`,`cmd+alt+backspace`,`ctrl+alt+backspace`],deleteSentence:[`ctrl+shift+delete`,`cmd+shift+delete`],backspace:[`backspace`],backspaceWord:[`ctrl+backspace`],backspaceSentence:[`ctrl+shift+backspace`,`cmd+shift+backspace`]}};function _h(e){return!e.s.isCollapsed()&&(e.execCommand(`Delete`),!0)}function vh(e,t,n,r=!1){let i=e=>t?e.firstChild:e.lastChild,a=P.findNotEmptyNeighbor(e,!t,n);if(r&&P.isElement(a)&&!P.isInlineBlock(a))return null;if(a)do if(i(a))a=i(a);else return a;while(a);return null}function yh(e){return t=>e.e.fire(`backSpaceIsMovedIgnore`,t)!==!0}function bh(e,t,n){let r=t,i=r;for(;r&&!P.findNotEmptySibling(r,n)&&r.parentElement!==e.editor;)r=r.parentElement,i=r;if(P.isElement(i)&&P.isContentEditable(i,e.editor)){let r=P.findNotEmptySibling(i,n);if(P.isTag(r,`br`))return P.safeRemove(r),e.s.setCursorBefore(t),!0;if(r&&(Sh(e,i,r,n)||Ch(e,i,xh(r,n),n)))return e.s.setCursorBefore(t),!0}return!1}function xh(e,t){if(!P.isTag(e,`table`))return e;let n=e.querySelectorAll(`td,th`);return n.length?n[t?n.length-1:0]:null}function Sh(e,t,n,r){let i=P.isTag(n,Ga),a=P.isTag(t,Ga),o=(e,t)=>t?e.firstElementChild:e.lastElementChild;return a?(n=e.createInside.element(e.o.enterBlock),P.before(t,n),Ch(e,o(t,r),n,r)):n&&i&&!a?Ch(e,t,o(n,!r),r):!1}function Ch(e,t,n,r){if(t&&P.isElement(n)){P.moveContent(t,n,!r,yh(e));let i=t;for(;i&&i!==e.editor&&P.isEmpty(i);){let e=i.parentElement;P.safeRemove(i),i=e}return!0}return!1}function wh(e,t,n){let r=P.findSibling(t,n),i=P.findSibling(t,!n);if(!P.closest(t,P.isElement,e.editor)&&P.isList(r)&&P.isList(i)&&P.isTag(r.lastElementChild,`li`)&&P.isTag(i.firstElementChild,`li`)){let{setCursorBefore:a,setCursorAfter:o}=e.s,s=r.lastElementChild,c=i.firstElementChild;return fs(n?P.prepend:P.append,c,t),P.moveContent(i,r,!n,yh(e)),P.safeRemove(i),fs(n?P.append:P.prepend,s,t),fs(n?a:o,t),!0}return!1}function Th(e,t,n,r){let i=n?-1:1,a=P.sibling(t,!n),o=P.sibling(t,n),s=null,c=!1,l;for(o||=Eh(t,n,e.editor);o&&(P.isText(o)||P.isInlineBlock(o));){for(;P.isInlineBlock(o);)o=n?o?.lastChild:o?.firstChild;if(!o)break;if(o.nodeValue?.length&&(l=kh(o,n,i,a),!o.nodeValue.length&&P.isInlineBlock(o.parentNode)&&(o.nodeValue=``)),o.nodeValue?.length||(s=o),!Mo(l)&&l!==``){jh(n,o,t,r,l,e),c=!0;break}let u=Eh(o,n,e.editor);s&&=(P.safeRemove(s),null),o=u}return s&&=(P.safeRemove(s),null),c&&(Dh(t,`a`),Oh(e,t),e.s.setCursorBefore(t),P.isTag(t.previousSibling,`br`)&&!P.findNotEmptySibling(t,!1)&&P.after(t,e.createInside.element(`br`))),c}function Eh(e,t,n){let r=P.sibling(e,t);return!r&&e.parentNode&&e.parentNode!==n&&(r=vh(e,!t,n,!0),r&&P.closest(e,`li`,n)!==P.closest(r,`li`,n))?null:r}function Dh(e,t){let n=e.parentElement;for(;n&&P.isInlineBlock(n)&&P.isTag(n,t);){let t=n.parentElement;P.isEmpty(n)&&(P.after(n,e),P.safeRemove(n)),n=t}}function Oh(e,t){t.parentElement!==e.editor&&P.isBlock(t.parentElement)&&P.each(t.parentElement,P.isEmptyTextNode)&&P.after(t,e.createInside.element(`br`))}function kh(e,t,n,r){let i=Io(e.nodeValue),a=i.length,o=t?a-1:0;if(i[o]===``)for(;i[o]===``;)o+=n;let s=i[o];if(i[o+n]===``){for(o+=n;i[o]===``;)o+=n;o+=t?1:-1}return i=t&&o<0?[]:i.slice(t?0:o+1,t?o:a),Ah(r,t,i),e.nodeValue=i.join(``),s}function Ah(e,t,n){if(!e||!P.isText(e)||(t?/^ /:/ $/).test(e.nodeValue??``)||!Vo(e.nodeValue||``).length)for(let e=t?n.length-1:0;(t?e>=0:e<n.length)&&n[e]===` `;e+=t?-1:1)n[e]=`\xA0`}function jh(e,t,n,r,i,a){fs(e?P.after:P.before,t,n),(r===`sentence`||r===`word`&&i!==` `&&i!==`\xA0`)&&Th(a,n,e,r)}function Mh(e,t,n){let r=P.findSibling(t,n);return!r&&t.parentElement&&t.parentElement!==e.editor&&(r=P.findSibling(t.parentElement,n)),P.isElement(r)&&!P.isContentEditable(r,e.editor)?(fs(n?P.before:P.after,r,t),P.safeRemove(r),em(e,t,n),fs(n?e.s.setCursorBefore:e.s.setCursorAfter,t),!0):!1}
511function Nh(e,t,n){let r=P.closest(t,P.isElement,e.editor);if(!r)return!1;let i=P.findNotEmptySibling(r,n);return i&&P.isEmpty(i)?(P.safeRemove(i),e.s.setCursorBefore(t),!0):!1}function Ph(e,t,n){let r=!1,{setCursorBefore:i,setCursorIn:a}=e.s,o=P.closest(t,P.isElement,e.editor);if(!o||!P.isEmpty(o))return!1;let s=P.findNotEmptyNeighbor(t,n,e.editor);do if(o&&P.isEmpty(o)&&!P.isCell(o)){P.after(o,t);let n=P.closest(o,e=>P.isElement(e)&&e!==o,e.editor);P.safeRemove(o),r=!0,o=n}else break;while(o);return r&&wh(e,t,n)?!0:(s&&!P.isText(s)&&!P.isTag(s,qa)?a(s,!n):i(t),r)}function Fh(e,t,n){let r=P.findSibling(t,n);return P.isElement(r)&&(P.isTag(r,qa)||P.isEmpty(r))?(P.safeRemove(r),P.isTag(r,`br`)&&!P.findNotEmptySibling(t,!1)&&P.after(t,e.createInside.element(`br`)),e.s.setCursorBefore(t),P.isTag(r,`br`)&&Ph(e,t,n),!0):!1}function Ih(e,t){let n=t.parentElement;return!!P.isCell(n)}function Lh(e,t,n){let r=P.closest(t,P.isElement,e.editor),{s:i}=e;if(P.isLeaf(r)&&r?.parentElement?.[n?`firstElementChild`:`lastElementChild`]===r&&i.cursorInTheEdge(n,r)){let a=r.parentElement,o=e.createInside.element(e.o.enterBlock);return fs(n?P.before:P.after,a,o),P.moveContent(r,o),P.safeRemove(r),P.isEmpty(a)&&P.safeRemove(a),fs(n?i.setCursorBefore:i.setCursorAfter,t),!0}return!1}var Rh=[[`remove-unbreakable`,Fh],[`remove-not-editable`,Mh],[`remove-char`,Th],[`table-cell`,Ih],[`remove-empty-parent`,Ph],[`remove-empty-neighbor`,Nh],[`join-two-lists`,wh],[`join-neighbors`,bh],[`unwrap-first-list-item`,Lh]];Rh.map(([,e])=>e);var zh=class extends Lf{afterInit(e){e.registerCommand(`deleteButton`,{exec:()=>this.onDelete(!1),hotkeys:e.o.delete.hotkeys.delete},{stopPropagation:!1}).registerCommand(`backspaceButton`,{exec:()=>this.onDelete(!0),hotkeys:e.o.delete.hotkeys.backspace},{stopPropagation:!1}).registerCommand(`deleteWordButton`,{exec:()=>this.onDelete(!1,`word`),hotkeys:e.o.delete.hotkeys.deleteWord}).registerCommand(`backspaceWordButton`,{exec:()=>this.onDelete(!0,`word`),hotkeys:e.o.delete.hotkeys.backspaceWord}).registerCommand(`deleteSentenceButton`,{exec:()=>this.onDelete(!1,`sentence`),hotkeys:e.o.delete.hotkeys.deleteSentence}).registerCommand(`backspaceSentenceButton`,{exec:()=>this.onDelete(!0,`sentence`),hotkeys:e.o.delete.hotkeys.backspaceSentence})}beforeDestruct(e){e.e.off(`afterCommand.delete`)}onDelete(e,t=`char`){let n=this.j,r=n.selection;if(r.isFocused()||r.focus(),_h(n))return n.e.fire(`backSpaceAfterDelete`,e),!1;let i=r.range,a=n.createInside.text(``);try{if(P.safeInsertNode(i,a),!P.isOrContains(n.editor,a))return;if(n.e.fire(`backSpaceBeforeCases`,e,a))return!1;em(n,a,e);let r=n.o.delete.disableCases;if(Rh.some(([i,o])=>{if(!(r&&r.has(i))&&k(o)&&o(n,a,e,t))return!0}))return!1}catch(e){throw e}finally{n.e.fire(`backSpaceAfterDelete`,e,a),this.safeRemoveEmptyNode(a)}return!1}safeRemoveEmptyNode(e){let{range:t}=this.j.s;t.startContainer===e&&(e.previousSibling?P.isText(e.previousSibling)?t.setStart(e.previousSibling,e.previousSibling.nodeValue?.length??0):t.setStartAfter(e.previousSibling):e.nextSibling&&(P.isText(e.nextSibling)?t.setStart(e.nextSibling,0):t.setStartBefore(e.nextSibling)),t.collapse(!0),this.j.s.selectRange(t)),P.safeRemove(e)}};zh.requires=[`hotkeys`],Ec.add(`backspace`,zh);var Bh=class extends Lf{afterInit(e){e.e.on(`afterCommand.delete`,e=>{e===`delete`&&this.__afterDeleteCommand()}),e.registerCommand(`delete`,{exec:this.__onDeleteCommand.bind(this)},{stopPropagation:!1})}beforeDestruct(e){e.e.off(`afterCommand.delete`)}__afterDeleteCommand(){let e=this.j,t=e.s.current();if(t&&P.isTag(t.firstChild,`br`)&&e.s.removeNode(t.firstChild),!zo(e.editor.textContent||``)&&!e.editor.querySelector(`img,table,jodit,iframe,hr`)&&(!t||!P.closest(t,`table`,e.editor))){e.editor.innerHTML=``;let t=e.s.setCursorIn(e.editor);e.s.removeNode(t)}}__onDeleteCommand(){let{jodit:e}=this;if(e.s.isCollapsed())return;e.s.expandSelection();let t=e.s.range;t.deleteContents();let n=e.createInside.fake();t.insertNode(n);let r=P.findSibling(n,!0),i=P.findSibling(n,!1);return this.__moveContentInLeftSibling(n,r,i),t.setStartBefore(n),t.collapse(!0),this.__moveCursorInEditableSibling(e,r,n,t),this.__addBrInEmptyBlock(n,i,t),P.safeRemove(n),e.s.selectRange(t),!1}__moveContentInLeftSibling(e,t,n){t=this.__defineRightLeftBox(t),!P.isList(n)&&!P.isTag(n,`table`)&&P.isBlock(n)&&P.isBlock(t)&&(P.append(t,e),P.moveContent(n,t),P.safeRemove(n)),P.isList(n)&&P.isLeaf(n.firstElementChild)&&P.isEmpty(n.firstElementChild)&&P.safeRemove(n.firstElementChild)}__defineRightLeftBox(e){if(!P.isList(e))return e;let t=e.lastElementChild;return P.isLeaf(t)||(t=this.j.createInside.element(`li`),P.append(e,t)),t}__addBrInEmptyBlock(e,t,n){let r=this.j;if(e.isConnected&&P.isBlock(e.parentNode)&&!e.nextSibling&&!e.previousSibling){let t=r.createInside.element(`br`);P.after(e,t),n.setStartBefore(t),n.collapse(!0)}if(P.isTag(t,`table`)){let e=Pc(`td,th`,t).shift();P.isCell(e)&&P.isEmpty(e)&&P.append(e,r.createInside.element(`br`))}}__moveCursorInEditableSibling(e,t,n,r){if(!t||!P.isText(t)){let t=P.closest(n,P.isBlock,e.editor)??e.editor,i=P.prev(n,P.isText,t);i&&(r.setStartAfter(i),r.collapse(!0),P.safeRemove(n))}}};Bh.requires=[`backspace`],Ec.add(`deleteCommand`,Bh),F.prototype.controls.subscript={tags:[`sub`],tooltip:`subscript`},F.prototype.controls.superscript={tags:[`sup`],tooltip:`superscript`},F.prototype.controls.bold={tagRegExp:/^(strong|b)$/i,tags:[`strong`,`b`],css:{"font-weight":[`bold`,`700`]},tooltip:`Bold`},F.prototype.controls.italic={tagRegExp:/^(em|i)$/i,tags:[`em`,`i`],css:{"font-style":`italic`},tooltip:`Italic`},F.prototype.controls.underline={tagRegExp:/^(u)$/i,tags:[`u`],css:{"text-decoration-line":`underline`},tooltip:`Underline`}
511,F.prototype.controls.strikethrough={tagRegExp:/^(s)$/i,tags:[`s`],css:{"text-decoration-line":`line-through`},tooltip:`Strike through`};var Vh=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M747 1521q74 32 140 32 376 0 376-335 0-114-41-180-27-44-61.5-74t-67.5-46.5-80.5-25-84-10.5-94.5-2q-73 0-101 10 0 53-.5 159t-.5 158q0 8-1 67.5t-.5 96.5 4.5 83.5 12 66.5zm-14-746q42 7 109 7 82 0 143-13t110-44.5 74.5-89.5 25.5-142q0-70-29-122.5t-79-82-108-43.5-124-14q-50 0-130 13 0 50 4 151t4 152q0 27-.5 80t-.5 79q0 46 1 69zm-541 889l2-94q15-4 85-16t106-27q7-12 12.5-27t8.5-33.5 5.5-32.5 3-37.5.5-34v-65.5q0-982-22-1025-4-8-22-14.5t-44.5-11-49.5-7-48.5-4.5-30.5-3l-4-83q98-2 340-11.5t373-9.5q23 0 68.5.5t67.5.5q70 0 136.5 13t128.5 42 108 71 74 104.5 28 137.5q0 52-16.5 95.5t-39 72-64.5 57.5-73 45-84 40q154 35 256.5 134t102.5 248q0 100-35 179.5t-93.5 130.5-138 85.5-163.5 48.5-176 14q-44 0-132-3t-132-3q-106 0-307 11t-231 12z"/> </svg> `,Hh=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M384 1662l17-85q6-2 81.5-21.5t111.5-37.5q28-35 41-101 1-7 62-289t114-543.5 52-296.5v-25q-24-13-54.5-18.5t-69.5-8-58-5.5l19-103q33 2 120 6.5t149.5 7 120.5 2.5q48 0 98.5-2.5t121-7 98.5-6.5q-5 39-19 89-30 10-101.5 28.5t-108.5 33.5q-8 19-14 42.5t-9 40-7.5 45.5-6.5 42q-27 148-87.5 419.5t-77.5 355.5q-2 9-13 58t-20 90-16 83.5-6 57.5l1 18q17 4 185 31-3 44-16 99-11 0-32.5 1.5t-32.5 1.5q-29 0-87-10t-86-10q-138-2-206-2-51 0-143 9t-121 11z"/> </svg> `,Uh=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1760 896q14 0 23 9t9 23v64q0 14-9 23t-23 9h-1728q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h1728zm-1277-64q-28-35-51-80-48-97-48-188 0-181 134-309 133-127 393-127 50 0 167 19 66 12 177 48 10 38 21 118 14 123 14 183 0 18-5 45l-12 3-84-6-14-2q-50-149-103-205-88-91-210-91-114 0-182 59-67 58-67 146 0 73 66 140t279 129q69 20 173 66 58 28 95 52h-743zm507 256h411q7 39 7 92 0 111-41 212-23 55-71 104-37 35-109 81-80 48-153 66-80 21-203 21-114 0-195-23l-140-40q-57-16-72-28-8-8-8-22v-13q0-108-2-156-1-30 0-68l2-37v-44l102-2q15 34 30 71t22.5 56 12.5 27q35 57 80 94 43 36 105 57 59 22 132 22 64 0 139-27 77-26 122-86 47-61 47-129 0-84-81-157-34-29-137-71z"/> </svg> `,Wh=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1025 1369v167h-248l-159-252-24-42q-8-9-11-21h-3l-9 21q-10 20-25 44l-155 250h-258v-167h128l197-291-185-272h-137v-168h276l139 228q2 4 23 42 8 9 11 21h3q3-9 11-21l25-42 140-228h257v168h-125l-184 267 204 296h109zm639 217v206h-514l-4-27q-3-45-3-46 0-64 26-117t65-86.5 84-65 84-54.5 65-54 26-64q0-38-29.5-62.5t-70.5-24.5q-51 0-97 39-14 11-36 38l-105-92q26-37 63-66 80-65 188-65 110 0 178 59.5t68 158.5q0 66-34.5 118.5t-84 86-99.5 62.5-87 63-41 73h232v-80h126z"/> </svg> `,Gh=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1025 1369v167h-248l-159-252-24-42q-8-9-11-21h-3l-9 21q-10 20-25 44l-155 250h-258v-167h128l197-291-185-272h-137v-168h276l139 228q2 4 23 42 8 9 11 21h3q3-9 11-21l25-42 140-228h257v168h-125l-184 267 204 296h109zm637-679v206h-514l-3-27q-4-28-4-46 0-64 26-117t65-86.5 84-65 84-54.5 65-54 26-64q0-38-29.5-62.5t-70.5-24.5q-51 0-97 39-14 11-36 38l-105-92q26-37 63-66 83-65 188-65 110 0 178 59.5t68 158.5q0 56-24.5 103t-62 76.5-81.5 58.5-82 50.5-65.5 51.5-30.5 63h232v-80h126z"/> </svg> `,Kh=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M176 223q-37-2-45-4l-3-88q13-1 40-1 60 0 112 4 132 7 166 7 86 0 168-3 116-4 146-5 56 0 86-2l-1 14 2 64v9q-60 9-124 9-60 0-79 25-13 14-13 132 0 13 .5 32.5t.5 25.5l1 229 14 280q6 124 51 202 35 59 96 92 88 47 177 47 104 0 191-28 56-18 99-51 48-36 65-64 36-56 53-114 21-73 21-229 0-79-3.5-128t-11-122.5-13.5-159.5l-4-59q-5-67-24-88-34-35-77-34l-100 2-14-3 2-86h84l205 10q76 3 196-10l18 2q6 38 6 51 0 7-4 31-45 12-84 13-73 11-79 17-15 15-15 41 0 7 1.5 27t1.5 31q8 19 22 396 6 195-15 304-15 76-41 122-38 65-112 123-75 57-182 89-109 33-255 33-167 0-284-46-119-47-179-122-61-76-83-195-16-80-16-237v-333q0-188-17-213-25-36-147-39zm1488 1409v-64q0-14-9-23t-23-9h-1472q-14 0-23 9t-9 23v64q0 14 9 23t23 9h1472q14 0 23-9t9-23z"/> </svg> `;function qh(e){let t=t=>{let n=F.defaultOptions.controls[t],r={...n.css},i;
511return Object.keys(r).forEach(e=>{i||={},i[e]=Ao(r[e])?r[e][0]:r[e]}),e.s.commitStyle({element:n.tags?n.tags[0]:void 0}),e.synchronizeValues(),!1};[`bold`,`italic`,`underline`,`strikethrough`].forEach(t=>{e.registerButton({name:t,group:`font-style`})}),[`superscript`,`subscript`].forEach(t=>{e.registerButton({name:t,group:`script`})}),e.registerCommand(`bold`,{exec:t,hotkeys:[`ctrl+b`,`cmd+b`]}).registerCommand(`italic`,{exec:t,hotkeys:[`ctrl+i`,`cmd+i`]}).registerCommand(`underline`,{exec:t,hotkeys:[`ctrl+u`,`cmd+u`]}).registerCommand(`strikethrough`,{exec:t}).registerCommand(`subscript`,{exec:t}).registerCommand(`superscript`,{exec:t})}Ec.add(`bold`,qh),vu.set(`bold`,Vh).set(`italic`,Hh).set(`strikethrough`,Uh).set(`subscript`,Wh).set(`superscript`,Gh).set(`underline`,Kh),vu.set(`palette`,`<svg xmlns='http://www.w3.org/2000/svg' x="0px" y="0px" viewBox="0 0 459 459"> <g> <path d="M229.5,0C102,0,0,102,0,229.5S102,459,229.5,459c20.4,0,38.25-17.85,38.25-38.25c0-10.2-2.55-17.85-10.2-25.5 c-5.1-7.65-10.2-15.3-10.2-25.5c0-20.4,17.851-38.25,38.25-38.25h45.9c71.4,0,127.5-56.1,127.5-127.5C459,91.8,357,0,229.5,0z M89.25,229.5c-20.4,0-38.25-17.85-38.25-38.25S68.85,153,89.25,153s38.25,17.85,38.25,38.25S109.65,229.5,89.25,229.5z M165.75,127.5c-20.4,0-38.25-17.85-38.25-38.25S145.35,51,165.75,51S204,68.85,204,89.25S186.15,127.5,165.75,127.5z M293.25,127.5c-20.4,0-38.25-17.85-38.25-38.25S272.85,51,293.25,51s38.25,17.85,38.25,38.25S313.65,127.5,293.25,127.5z M369.75,229.5c-20.4,0-38.25-17.85-38.25-38.25S349.35,153,369.75,153S408,170.85,408,191.25S390.15,229.5,369.75,229.5z" /> </g> </svg> `);var Jh=(e,t,n)=>{let r=`jodit-color-picker`,i=Ml(n),a=e.c.div(r),o=e.o.textIcons?`<span>${e.i18n(`palette`)}</span>`:vu.get(`palette`),s=e=>{let t=[];return Go(e)?Object.keys(e).forEach(n=>{t.push(`<div class="${r}__group ${r}__group-${n}">`),t.push(s(e[n])),t.push(`</div>`)}):Ao(e)&&e.forEach(e=>{t.push(`<span class='${r}__color-item ${i===e?`jodit-color-picker__color-item_active_true`:``}' title="${e}" style="background-color:${e}" data-color="${e}"></span>`)}),t.join(``)};a.appendChild(e.c.fromHTML(`<div class="${r}__groups">${s(e.o.colors)}</div>`)),a.appendChild(e.c.fromHTML(`<div data-ref="extra" class="${r}__extra"></div>`));let{extra:c}=Ic(a);return e.o.showBrowserColorPicker&&Ss()&&(c.appendChild(e.c.fromHTML(`<div class="${r}__native">${o}<input type="color" value="#ffffff"/></div>`)),e.e.on(a,`change`,e=>{e.stopPropagation();let n=e.target;if(!n||!n.tagName||!P.isTag(n,`input`))return;let r=n.value||``;k(t)&&t(r),e.preventDefault()})),e.e.on(a,`mousedown touchend`,n=>{n.stopPropagation(),n.preventDefault();let r=n.target;if((!r||!r.tagName||P.isTag(r,`svg`)||P.isTag(r,`path`))&&r.parentNode&&(r=P.closest(r.parentNode,`span`,e.editor)),!P.isTag(r,`span`)||!r.classList.contains(`jodit-color-picker__color-item`))return;let i=N(r,`-color`)||``;t&&k(t)&&t(i)}),e.e.fire(`afterGenerateColorPicker`,a,c,t,i),a},Yh=(e,t,n)=>{let r=e.c.div(`jodit-tabs`),i=e.c.div(`jodit-tabs__wrapper`),a=e.c.div(`jodit-tabs__buttons`);N(a,{role:`tablist`,"aria-orientation":`horizontal`});let o={},s=[],c=``;r.appendChild(a),r.appendChild(i);let l=e=>{o[e]&&(s.forEach(e=>{e.state.activated=!1}),Object.values(o).forEach(({tab:e})=>e.classList.remove(`jodit-tab_active`)),o[e].button.state.activated=!0,o[e].tab.classList.add(`jodit-tab_active`))};if(t.forEach(({icon:r,name:u,content:d})=>{let f=e.c.div(`jodit-tab`);N(f,{role:`tabpanel`});let p=Tu(e,r||u,u);p.state.role=`tab`,e.e.on(p.container,`pointerdown`,e=>e.preventDefault()),c||=u,a.appendChild(p.container),s.push(p),p.container.classList.add(`jodit-tabs__button`,`jodit-tabs__button_columns_`+t.length),k(d)?f.classList.add(`jodit-tab_empty`):f.appendChild($l.isInstanceOf(d,xu)?d.container:d),i.appendChild(f),p.onAction(()=>(l(u),k(d)&&!P.isElement(d)&&d.call(e),n&&(n.activeTab=u),!1)),o[u]={button:p,tab:f}}),l(!n||!n.activeTab||!o[n.activeTab]?c:n.activeTab),n){let e=n.activeTab;Object.defineProperty(n,"activeTab",{configurable:!0,enumerable:!1,get(){return e},set(t){e=t,l(t)}})}return r},Xh=(e,t,n,r,i=!0)=>{let a,o=[],s=e.o.uploader;if(t.upload&&(s.url||s.insertImageAsBase64URI||s.customUploadFunction)){let n=e.c.fromHTML(`<div class="jodit-drag-and-drop__file-box"><strong>${e.i18n(i?`Drop image`:`Drop file`)}</strong><span><br>${e.i18n(`or click`)}</span><input type="file" accept="${i?`image/*`:`*`}" tabindex="-1" dir="auto" multiple=""/></div>`);e.uploader.bind(n,n=>{let r=k(t.upload)?t.upload:s.defaultHandlerSuccess;k(r)&&r.call(e,n),e.e.fire(`closeAllPopups`)},t=>{e.message.error(t.message),e.e.fire(`closeAllPopups`)}),o.push({icon:`upload`,name:`Upload`,content:n})}if(t.filebrowser&&(e.o.filebrowser.ajax.url||e.o.filebrowser.items.url)&&o.push({icon:`folder`,name:`Browse`,content:()=>{r&&r(),t.filebrowser&&e.filebrowser.open(t.filebrowser,i)}}),t.url){let r=new wu(e,{type:`submit`,variant:`primary`,text:`Insert`}
511),i=new Yu(e,[new Wu(e,{required:!0,label:`URL`,name:`url`,type:`text`,placeholder:`https://`}),new Wu(e,{name:`text`,label:`Alternative text`}),new Lu(e,[r])]);a=null,n&&!P.isText(n)&&!P.isComment(n)&&(P.isTag(n,`img`)||Pc(`img`,n).length)&&(a=n.tagName===`IMG`?n:Pc(`img`,n)[0],Zh(i.container,`input[name=url]`,N(a,`src`)),Zh(i.container,`input[name=text]`,N(a,`alt`)),r.state.text=`Update`),n&&P.isTag(n,`a`)&&(Zh(i.container,`input[name=url]`,N(n,`href`)),Zh(i.container,`input[name=text]`,N(n,`title`)),r.state.text=`Update`),i.onSubmit(n=>{k(t.url)&&t.url.call(e,n.url,n.text)}),o.push({icon:`link`,name:`URL`,content:i.container})}let c=Yh(e,o);return c.classList.add(`jodit-file-selector`),c};function Zh(e,t,n){let r=e.querySelector(t);return r?(n&&(r.value=n),r.value):``}vu.set(`brush`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M896 1152q0-36-20-69-1-1-15.5-22.5t-25.5-38-25-44-21-50.5q-4-16-21-16t-21 16q-7 23-21 50.5t-25 44-25.5 38-15.5 22.5q-20 33-20 69 0 53 37.5 90.5t90.5 37.5 90.5-37.5 37.5-90.5zm512-128q0 212-150 362t-362 150-362-150-150-362q0-145 81-275 6-9 62.5-90.5t101-151 99.5-178 83-201.5q9-30 34-47t51-17 51.5 17 33.5 47q28 93 83 201.5t99.5 178 101 151 62.5 90.5q81 127 81 275z"/> </svg> `),F.prototype.controls.brushCell={isVisible:e=>!e.o.disablePlugins.includes(`color`),icon:`brush`,popup:(e,t,n)=>{if(!Ms(e))return;let r=e.getInstance(`Table`,e.o).getAllSelectedCells();if(!r.length)return!1;let i=t=>Jh(e,i=>{r.forEach(e=>{M(e,t,i)}),e.lock(),e.synchronizeValues(),n(),e.unlock()},M(r[0],t));return Yh(e,[{name:`Background`,content:i(`background-color`)},{name:`Text`,content:i(`color`)},{name:`Border`,content:i(`border-color`)}])},tooltip:`Background`},F.prototype.controls.brush={isVisible:e=>!e.o.disablePlugins.includes(`color`),update(e,t){let n=is(t,`color`),r=(n,r)=>r&&r!==M(e.editor,n).toString()?(t.state.icon.fill=r,!0):!1;if(n){let e=is(t,`color`);r(e===`color`?e:`background-color`,n);return}let i=e.s.current();if(i&&!t.state.disabled){let t=P.closest(i,P.isElement,e.editor)||e.editor,n=r(`color`,M(t,`color`).toString()),a=r(`background-color`,M(t,`background-color`).toString());if(n||a)return}t.state.icon.fill=``,t.state.activated=!1},popup:(e,t,n,r)=>{let i=``,a=``,o=[],s=null;t&&t!==e.editor&&P.isNode(t)&&(P.isElement(t)&&e.s.isCollapsed()&&!P.isTag(t,new Set([`br`,`hr`]))&&(s=t),P.up(t,e=>{if(P.isHTMLElement(e)){let t=M(e,`color`,!0),n=M(e,`background-color`,!0);if(t)return i=t.toString(),!0;if(n)return a=n.toString(),!0}},e.editor));let c=Jh(e,t=>{s?s.style.backgroundColor=t:e.execCommand(`background`,!1,t),is(r,`color`,t),is(r,`color-mode`,`background`),n()},a),l=Jh(e,t=>{s?s.style.color=t:e.execCommand(`forecolor`,!1,t),is(r,`color`,t),is(r,`color-mode`,`color`),n()},i);return o=[{name:`Background`,content:c},{name:`Text`,content:l}],e.o.colorPickerDefaultTab!==`background`&&(o=o.reverse()),Yh(e,o,s)},exec(e,t,{button:n}){let r=is(n,`color-mode`),i=is(n,`color`);if(!r)return!1;if(t&&t!==e.editor&&P.isNode(t)&&P.isElement(t))switch(r){case`color`:t.style.color=i;break;case`background`:t.style.backgroundColor=i}else e.execCommand(r===`background`?r:`forecolor`,!1,i)},tooltip:`Fill color or set the text color`};function Qh(e){e.registerButton({name:`brush`,group:`color`});let t=(t,n,r)=>{var i;let a=Ml(r)||``,o=t===`background`?{backgroundColor:a}:{color:a},s=e.getInstance(`Table`,e.o).getAllSelectedCells();return s.length&&e.s.isCollapsed()?(s.forEach(t=>{e.s.select(t,!0),e.s.commitStyle({attributes:{style:o}})}),(i=e.s.sel)==null||i.removeAllRanges()):e.s.commitStyle({attributes:{style:o}}),e.synchronizeValues(),!1};e.registerCommand(`forecolor`,t).registerCommand(`background`,t)}Ec.add(`color`,Qh);function $h(e,t,n){let r=!!P.closest(e,[`pre`,`blockquote`],t.editor),i=!r&&P.closest(e,[`td`,`th`],t.editor);if(t.o.enter.toLowerCase()===`br`||i||n&&!r||!n&&r){if(r&&eg(e))return!1;let n=t.createInside.element(`br`);if(P.before(e,n),!P.findNotEmptySibling(n,!1)){let t=n.cloneNode();P.after(n,t),P.before(t,e)}return hl(n,t.editor,t.ed),!0}return!1}function eg(e){let t=tg(tg(e));return t?(P.safeRemove(tg(e)),P.safeRemove(t),!0):!1}function tg(e){if(!e)return!1;let t=P.findSibling(e,!0);return!t||!P.isTag(t,`br`)?!1:t}function ng(e,t,n){return P.canSplitBlock(n)?!0:(P.before(e,t.createInside.element(`br`)),!1)}function rg(e,t,n=Ua){let r=e,i=t.editor;do{if(!r||r===i)break;if(n.test(r.nodeName))return P.isLeaf(r)?r:rg(r.parentNode,t,/^li$/i)||r;r=r.parentNode}while(r&&r!==i);return null}function ig(e,t){return!!P.prev(e,e=>P.isBlock(e)||P.isImage(e),t.editor)}function ag(e,t,n,r){let i=n.toLowerCase()===`br`,{createInside:a}
511=t,o=a.element(n),s=a.element(`br`);return i||o.appendChild(s),r&&r.cssText&&N(o,`style`,r.cssText),P.after(e,o),P.before(i?o:s,e),hl(o,t.editor,t.ed),o}function og(e,t,n){let{s:r}=e,i=P.closest(t,n,e.editor);i&&(r.cursorOnTheRight(i,t)?P.after(i,t):r.cursorOnTheLeft(i,t)&&P.before(i,t))}function sg(e,t,n){let r=P.closest(n,[`ol`,`ul`],t.editor);if(!r)return;let i=r.parentElement,a=P.isLeaf(i),o=a?i:r,s=t.s.createRange();s.setStartAfter(n),s.setEndAfter(r);let c=s.extractContents();P.after(o,e),P.safeRemove(n),Pc(`li`,r).length||P.safeRemove(r);let l=ag(e,t,a?`li`:t.o.enter);c.querySelector(`li`)&&(a?l.appendChild(c):P.after(l,c))}function cg(e,t,n){let r=t.s,{enter:i}=t.o,a=i.toLowerCase(),o=P.isLeaf(n),s=n.tagName.toLowerCase()===a||o,c=r.cursorOnTheRight(n,e),l=r.cursorOnTheLeft(n,e);if(!s&&(c||l)){c?P.after(n,e):P.before(n,e),ag(e,t,a),l&&!c&&P.prepend(n,e);return}hl(r.splitSelection(n,e),t.editor,t.ed)}function lg(e,t){let n=e;P.up(n,e=>{e&&e.hasChildNodes()&&e!==t.editor&&(n=e)},t.editor);let r=P.wrapInline(n,t.o.enter,t);if(P.isEmpty(r)){let n=t.createInside.element(`br`);r.appendChild(n),P.before(n,e)}return r}var ug=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dg=class extends Lf{afterInit(e){let t=e.o.enter.toLowerCase(),n=t===`br`;e.o.enterBlock||(e.o.enterBlock=n?`p`:t),e.registerCommand(`enter`,(e,t,n={})=>this.onEnter(n))}onEnterKeyDown(e){if(e.key===`Enter`){let t=this.j,n=t.e.fire(`beforeEnter`,e);return n===void 0?(t.history.snapshot.transaction(()=>{t.s.isCollapsed()||t.execCommand(`Delete`),t.s.focus(),this.onEnter(e),t.e.fire(`afterEnter`,e)}),t.synchronizeValues(),!1):n}}onEnter(e){let{jodit:t}=this,n=t.createInside.fake();try{P.safeInsertNode(t.s.range,n),og(t,n,[`a`]);let r=rg(n,t),i=P.isLeaf(r);if((!i||e?.shiftKey)&&$h(n,t,e?.shiftKey))return!1;if(!r&&!ig(n,t)&&(r=lg(n,t)),!r)return ag(n,t,i?`li`:t.o.enter),!1;if(!ng(n,t,r))return!1;if(i&&this.__isEmptyListLeaf(r))return sg(n,t,r),!1;cg(n,t,r)}finally{n.isConnected&&t.s.setCursorBefore(n),P.safeRemove(n)}}__isEmptyListLeaf(e){let t=this.j.e.fire(`enterIsEmptyListLeaf`,e);return Jo(t)?t:P.isEmpty(e)}beforeDestruct(e){e.e.off(`keydown.enter`)}};ug([I(`:keydown.enter`)],dg.prototype,`onEnterKeyDown`,null),Ec.add(`enter`,dg);var fg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M789 559l-170 450q33 0 136.5 2t160.5 2q19 0 57-2-87-253-184-452zm-725 1105l2-79q23-7 56-12.5t57-10.5 49.5-14.5 44.5-29 31-50.5l237-616 280-724h128q8 14 11 21l205 480q33 78 106 257.5t114 274.5q15 34 58 144.5t72 168.5q20 45 35 57 19 15 88 29.5t84 20.5q6 38 6 57 0 4-.5 13t-.5 13q-63 0-190-8t-191-8q-76 0-215 7t-178 8q0-43 4-78l131-28q1 0 12.5-2.5t15.5-3.5 14.5-4.5 15-6.5 11-8 9-11 2.5-14q0-16-31-96.5t-72-177.5-42-100l-450-2q-26 58-76.5 195.5t-50.5 162.5q0 22 14 37.5t43.5 24.5 48.5 13.5 57 8.5 41 4q1 19 1 58 0 9-2 27-58 0-174.5-10t-174.5-10q-8 0-26.5 4t-21.5 4q-80 14-188 14z"/> </svg> `,pg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1744 1408q33 0 42 18.5t-11 44.5l-126 162q-20 26-49 26t-49-26l-126-162q-20-26-11-44.5t42-18.5h80v-1024h-80q-33 0-42-18.5t11-44.5l126-162q20-26 49-26t49 26l126 162q20 26 11 44.5t-42 18.5h-80v1024h80zm-1663-1279l54 27q12 5 211 5 44 0 132-2t132-2q36 0 107.5.5t107.5.5h293q6 0 21 .5t20.5 0 16-3 17.5-9 15-17.5l42-1q4 0 14 .5t14 .5q2 112 2 336 0 80-5 109-39 14-68 18-25-44-54-128-3-9-11-48t-14.5-73.5-7.5-35.5q-6-8-12-12.5t-15.5-6-13-2.5-18-.5-16.5.5q-17 0-66.5-.5t-74.5-.5-64 2-71 6q-9 81-8 136 0 94 2 388t2 455q0 16-2.5 71.5t0 91.5 12.5 69q40 21 124 42.5t120 37.5q5 40 5 50 0 14-3 29l-34 1q-76 2-218-8t-207-10q-50 0-151 9t-152 9q-3-51-3-52v-9q17-27 61.5-43t98.5-29 78-27q19-42 19-383 0-101-3-303t-3-303v-117q0-2 .5-15.5t.5-25-1-25.5-3-24-5-14q-11-12-162-12-33 0-93 12t-80 26q-19 13-34 72.5t-31.5 111-42.5 53.5q-42-26-56-44v-383z"/> </svg> `;F.prototype.defaultFontSizePoints=`px`,vu.set(`font`,fg).set(`fontsize`,pg),F.prototype.controls.fontsize={command:`fontsize`,data:{cssRule:`font-size`,normalize:e=>e.toString().replace(/(px|pt)$/i,``)},list:[8,9,10,11,12,14,16,18,24,30,32,34,36,48,60,72,96],textTemplate:(e,t)=>
511t+e.o.defaultFontSizePoints,childTemplate:(e,t,n)=>`${n}${e.o.defaultFontSizePoints}`,tooltip:`Font size`,value:(e,t)=>{let n=e.s.current();if(!n)return;let r=P.closest(n,P.isElement,e.editor);if(!r)return;let i=t.control.data?.cssRule||`font-size`,a=M(r,i);if(i===`font-size`){let t=parseFloat(a.toString());return e.o.defaultFontSizePoints===`pt`?Math.round(t*.75).toString():Math.round(t).toString()}return a.toString()},isChildActive:(e,t)=>{let n=t.state.value,r=t.control.data?.normalize??(e=>e);return!!(n&&t.control.args&&r(t.control.args[0].toString())===r(n.toString()))},isActive:(e,t)=>{let n=t.state.value;if(!n)return!1;let r=t.control.data?.normalize??(e=>e),i=t.control.data.cacheListSet;if(!i){let e=Object.keys(t.control.list).map(r);i=new Set(e),t.control.data.cacheListSet=i}return i.has(r(n.toString()))}},F.prototype.controls.font={...F.prototype.controls.fontsize,command:`fontname`,textTemplate:(e,t)=>{let[n]=t.split(`,`);return Bo(n,`"'`)},list:{"":`Default`,"Arial, Helvetica, sans-serif":`Arial`,"'Courier New', Courier, monospace":`Courier New`,"Georgia, Palatino, serif":`Georgia`,"'Lucida Sans Unicode', 'Lucida Grande', sans-serif":`Lucida Sans Unicode`,"Tahoma, Geneva, sans-serif":`Tahoma`,"'Times New Roman', Times, serif":`Times New Roman`,"'Trebuchet MS', Helvetica, sans-serif":`Trebuchet MS`,"Helvetica, sans-serif":`Helvetica`,"Impact, Charcoal, sans-serif":`Impact`,"Verdana, Geneva, sans-serif":`Verdana`},childTemplate:(e,t,n)=>{let r=!1;try{r=t.indexOf(`dings`)===-1&&document.fonts.check(`16px ${t}`,n)}catch{}return`<span data-style="${t}" style="${r?`font-family: ${t}!important;`:``}">${n}</span>`},data:{cssRule:`font-family`,normalize:e=>e.toLowerCase().replace(/['"]+/g,``).replace(/[^a-z0-9-]+/g,`,`)},value:e=>{let t=e.s.current();if(!t)return;let n=P.closest(t,P.isElement,e.editor);if(!n)return;let r=M(n,`font-family`).toString();return r===M(e.editor,`font-family`).toString()?``:r},tooltip:`Font family`};function mg(e){e.registerButton({name:`font`,group:`font`}).registerButton({name:`fontsize`,group:`font`});let t=(t,n,r)=>{switch(t){case`fontsize`:e.s.commitStyle({attributes:{style:{fontSize:Ll(r,e.o.defaultFontSizePoints)}}});break;case`fontname`:e.s.commitStyle({attributes:{style:{fontFamily:r}}})}return e.synchronizeValues(),!1};e.registerCommand(`fontsize`,t).registerCommand(`fontname`,t)}Ec.add(`font`,mg),vu.set(`paragraph`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"><path d="M1534 189v73q0 29-18.5 61t-42.5 32q-50 0-54 1-26 6-32 31-3 11-3 64v1152q0 25-18 43t-43 18h-108q-25 0-43-18t-18-43v-1218h-143v1218q0 25-17.5 43t-43.5 18h-108q-26 0-43.5-18t-17.5-43v-496q-147-12-245-59-126-58-192-179-64-117-64-259 0-166 88-286 88-118 209-159 111-37 417-37h479q25 0 43 18t18 43z"/></svg> `),F.prototype.controls.paragraph={command:`formatBlock`,value(e,t){let n=t.control,r=e.s.current();return P.closest(r,P.isBlock,e.editor)?.nodeName.toLowerCase()??n.data?.currentValue},update(e,t){let n=t.control;if(!e.s.current())return!1;let r=t.state.value,i=n.list;return Go(i)&&i[r.toString()]&&e.o.textIcons&&(t.state.text=i[r.toString()].toString()),!1},data:{currentValue:`p`},list:{p:`Paragraph`,h1:`Heading 1`,h2:`Heading 2`,h3:`Heading 3`,h4:`Heading 4`,blockquote:`Quote`,pre:`Code`},isChildActive:(e,t)=>t.state.value===t.control?.args?.[0],isActive:(e,t)=>t.state.value!==e.o.enter&&Go(t.control.list)&&!!t.control.list[t.state.value],childTemplate:(e,t,n)=>`<${t} style="margin:0;padding:0"><span>${e.i18n(n)}</span></${t}>`,tooltip:`Insert format block`};function hg(e){e.registerButton({name:`paragraph`,group:`font`}),e.registerCommand(`formatblock`,(t,n,r)=>(e.s.commitStyle({element:r}),e.synchronizeValues(),!1))}Ec.add(`formatBlock`,hg),F.prototype.commandToHotkeys={removeFormat:[`ctrl+shift+m`,`cmd+shift+m`],insertOrderedList:[`ctrl+shift+7`,`cmd+shift+7`],insertUnorderedList:[`ctrl+shift+8`,`cmd+shift+8`],selectall:[`ctrl+a`,`cmd+a`]};var gg=class extends Lf{constructor(){super(...arguments),this.onKeyPress=e=>{let t=this.specialKeys[e.which],n=(e.key||String.fromCharCode(e.which)).toLowerCase(),r=[t||n];return[`alt`,`ctrl`,`shift`,`meta`].forEach(n=>{e[n+`Key`]&&t!==n&&r.push(n)}),Nl(r.join(`+`))},this.specialKeys={8:`backspace`,9:`tab`,10:`return`,13:`return`,16:`shift`,17:`ctrl`,18:`alt`,19:`pause`,20:`capslock`,27:`esc`,32:`space`,33:`pageup`,34:`pagedown`,35:`end`,36:`home`,37:`left`,38:`up`,39:`right`,40:`down`,45:`insert`,46:`del`,59:`;`,61:`=`,91:`meta`,96:`0`,97:`1`,98:`2`,99:`3`,100:`4`,101:`5`,102:`6`,103:`7`,104:`8`,105:`9`,106:`*`,107:`+`,109:`-`,110:`.`,111:`/`,112:`f1`,113:`f2`,114:`f3`,115:`f4`,116:`f5`,117:`f6`,118:`f7`,119:`f8`,120:`f9`,121:`f10`,122:`f11`,123:`f12`,144:`numlock`,145:`scroll`,173:`-`,186:`;`,187:`=`,188:`,`,189:`-`,190:`.`,191:`/`,192:"`",219:`[`,220:`\\`,221:`]`,222:`'`}}
511afterInit(e){_s(e.o.commandToHotkeys,!1).forEach(t=>{let n=e.o.commandToHotkeys[t];n&&(Ao(n)||j(n))&&e.registerHotkeyToCommand(n,t)});let t=!1;e.e.off(`.hotkeys`).on([e.ow,e.ew],`keydown.hotkeys`,e=>{if(e.key===`Escape`)return this.j.e.fire(`escape`,e)}).on(`keydown.hotkeys`,n=>{let r=this.onKeyPress(n),i={shouldStop:!0};if(this.j.e.fire(r+`.hotkey`,n.type,i)===!1){if(i.shouldStop)return t=!0,e.e.stopPropagation(`keydown`),!1;n.preventDefault()}},{top:!0}).on(`keyup.hotkeys`,()=>{if(t)return t=!1,e.e.stopPropagation(`keyup`),!1},{top:!0})}beforeDestruct(e){e.events&&e.e.off(`.hotkeys`)}};Ec.add(`hotkeys`,gg),F.prototype.iframeBaseUrl=``,F.prototype.iframeTitle=`Jodit Editor`,F.prototype.iframeDoctype=`<!DOCTYPE html>`,F.prototype.iframeDefaultSrc=`about:blank`,F.prototype.iframeStyle=`html{margin:0;padding:0;min-height: 100%;}body{box-sizing:border-box;font-size:13px;line-height:1.6;padding:10px;margin:0;background:transparent;color:#000;position:relative;z-index:2;user-select:auto;margin:0px;overflow:auto;outline:none;}table{width:100%;border:none;border-collapse:collapse;empty-cells: show;max-width: 100%;}th,td{padding: 2px 5px;border:1px solid #ccc;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}p{margin-top:0;}.jodit_editor .jodit_iframe_wrapper{display: block;clear: both;user-select: none;position: relative;}.jodit_editor .jodit_iframe_wrapper:after {position:absolute;content:"";z-index:1;top:0;left:0;right: 0;bottom: 0;cursor: pointer;display: block;background: rgba(0, 0, 0, 0);} .jodit_disabled{user-select: none;-o-user-select: none;-moz-user-select: none;-khtml-user-select: none;-webkit-user-select: none;-ms-user-select: none}`,F.prototype.iframeCSSLinks=[],F.prototype.iframeSandbox=null;function _g(e){let t=e.options;e.e.on(`afterSetMode`,()=>{e.isEditorMode()&&e.s.focus()}).on(`generateDocumentStructure.iframe`,(e,n)=>{let r=e||n.iframe.contentWindow.document;if(r.open(),r.write(t.iframeDoctype+`<html dir="${t.direction}" class="jodit" lang="${cl(t.language)}"><head><title>${t.iframeTitle}</title>`+(t.iframeBaseUrl?`<base href="${t.iframeBaseUrl}"/>`:``)+`</head><body class="jodit-wysiwyg"></body></html>`),r.close(),t.iframeCSSLinks&&t.iframeCSSLinks.forEach(e=>{let t=r.createElement(`link`);N(t,`rel`,`stylesheet`),N(t,`href`,e),r.head&&r.head.appendChild(t)}),t.iframeStyle){let e=r.createElement(`style`);e.innerHTML=t.iframeStyle,r.head&&r.head.appendChild(e)}}).on(`createEditor`,()=>{if(!t.iframe)return;let n=e.c.element(`iframe`);return n.style.display=`block`,n.src=`about:blank`,n.className=`jodit-wysiwyg_iframe`,N(n,{allowtransparency:`true`,tabindex:t.tabIndex.toString(),frameborder:`0`}),t.iframeSandbox!=null&&N(n,`sandbox`,t.iframeSandbox),e.workplace.appendChild(n),e.iframe=n,hs(e.e.fire(`generateDocumentStructure.iframe`,null,e),()=>{if(!e.iframe)return!1;let n=e.iframe.contentWindow.document;e.editorWindow=e.iframe.contentWindow;let r=t.editHTMLDocumentMode,i=()=>{N(n.body,`contenteditable`,e.getMode()!==2&&!e.getReadOnly()||null)},a=e=>{let t=/<body.*<\/body>/im,n=`{%%BODY%%}`,r=t.exec(e);return r&&(e=e.replace(t,n).replace(/<span([^>]*?)>(.*?)<\/span>/gim,``).replace(/&lt;span([^&]*?)&gt;(.*?)&lt;\/span&gt;/gim,``).replace(n,r[0].replace(/(<body[^>]+?)min-height["'\s]*:[\s"']*[0-9]+(px|%)/im,`$1`).replace(/(<body[^>]+?)([\s]*["'])?contenteditable["'\s]*=[\s"']*true["']?/im,`$1`).replace(/<(style|script|span)[^>]+jodit[^>]+>.*?<\/\1>/g,``)).replace(/(class\s*=\s*)(['"])([^"']*)(jodit-wysiwyg|jodit)([^"']*\2)/g,`$1$2$3$5`).replace(/(<[^<]+?)\sclass="[\s]*"/gim,`$1`).replace(/(<[^<]+?)\sstyle="[\s;]*"/gim,`$1`).replace(/(<[^<]+?)\sdir="[\s]*"/gim,`$1`)),e};if(r){let t=e.element.tagName;if(t!==`TEXTAREA`&&t!==`INPUT`)throw cs("If enable `editHTMLDocumentMode` - source element should be INPUT or TEXTAREA");e.e.on(`beforeGetNativeEditorValue`,()=>a(e.o.iframeDoctype+n.documentElement.outerHTML)).on(`beforeSetNativeEditorValue`,({value:t})=>{if(e.isLocked)return!1;if(/<(html|body)/i.test(t)){let r=n.documentElement.outerHTML;a(r)!==a(t)&&(n.open(),n.write(e.o.iframeDoctype+a(t)),n.close(),e.editor=n.body,e.e.fire(`safeHTML`,e.editor),i(),e.e.fire(`prepareWYSIWYGEditor`),e.e.stopPropagation(`beforeSetNativeEditorValue`))}else n.body.innerHTML=t;return!0},{top:!0})}if(e.editor=n.body,e.e.on(`afterSetMode afterInit afterAddPlace`,i),t.height===`auto`){n.documentElement&&(n.documentElement.style.overflowY=`hidden`);let r=e.async.throttle((...n)=>{e.async.requestAnimationFrame(()=>{if(e.editor&&e.iframe&&t.height===`auto`){let t=e.ew.getComputedStyle(e.editor),n=parseInt(t.marginTop||`0`,10)+parseInt(t.marginBottom||`0`,10);M(e.iframe,`height`,e.editor.offsetHeight+n)}})},e.defaultTimeout/2);if(e.e.on(`change afterInit afterSetMode resize`,r).on([e.iframe,e.ew,n.documentElement],`load`,r).on(n,`readystatechange DOMContentLoaded`,r),typeof ResizeObserver==`function`){let t=new ResizeObserver(r);t.observe(n.body),e.e.on(`beforeDestruct`,()=>{t.disconnect()})}}return n.documentElement&&e.e.on(n.documentElement,`mousedown touchend`,()=>{e.s.isFocused()||(e.s.focus(),e.editor===n.body&&e.s.setCursorIn(n.body))}).on(e.ew,`mousedown touchstart keydown keyup touchend click mouseup mousemove scroll`,t=>{var n;(n=e.events)==null||n.fire(e.ow,t)}),!1})})}Ec.add(`iframe`,_g),vu.set(`image`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M576 576q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1024 384v448h-1408v-192l320-320 160 160 512-512zm96-704h-1600q-13 0-22.5 9.5t-9.5 22.5v1216q0 13 9.5 22.5t22.5 9.5h1600q13 0 22.5-9.5t9.5-22.5v-1216q0-13-9.5-22.5t-22.5-9.5zm160 32v1216q0 66-47 113t-113 47h-1600q-66 0-113-47t-47-113v-1216q0-66 47-113t113-47h1600q66 0 113 47t47 113z"/> </svg> `),F.prototype.controls.image={popup:(e,t,n)=>{let r=null;return t&&!P.isText(t)&&P.isHTMLElement(t)&&(P.isTag(t,`img`)||Pc(`img`,t).length)&&(r=P.isTag(t,`img`)?t:Pc(`img`,t)[0]),e.s.save(),Xh(e,{filebrowser:t=>
511{e.s.restore(),t.files&&t.files.forEach(n=>e.s.insertImage(t.baseurl+n,null,e.o.imageDefaultWidth)),n()},upload:!0,url:async(t,i)=>{e.s.restore(),/^[a-z\d_-]+(\.[a-z\d_-]+)+/i.test(t)&&(t=`//`+t);let a=r||e.createInside.element(`img`);N(a,`src`,t),N(a,`alt`,i),r||await e.s.insertImage(a,null,e.o.imageDefaultWidth),n()}},r,n)},tags:[`img`],tooltip:`Insert Image`};function vg(e){e.registerButton({name:`image`,group:`media`})}Ec.add(`image`,vg);var yg=e=>/^(https?:|mailto:|tel:)/i.test(e.trim())&&!/^(javascript:|data:|vbscript:)/i.test(e.trim()),bg=[{name:`eye`,tooltip:`Open link`,exec:(e,t)=>{let n=N(t,`href`);t&&n&&yg(n)&&e.ow.open(n)}},{name:`link`,tooltip:`Edit link`,icon:`pencil`},`unlink`,`brush`,`file`],xg=e=>e.args&&j(e.args[0])?e.args[0].toLowerCase():``,Sg=[`brushCell`,{name:`valign`,list:[`Top`,`Middle`,`Bottom`,`Normal`],childTemplate:(e,t,n)=>n,exec:(e,t,{control:n})=>{let r=xg(n);e.getInstance(`Table`,e.o).getAllSelectedCells().forEach(e=>{M(e,`vertical-align`,r===`normal`?``:r)})},tooltip:`Vertical align`},{name:`splitv`,list:{tablesplitv:`Split vertical`,tablesplitg:`Split horizontal`},tooltip:`Split`},{name:`align`,icon:`left`},`
512`,{name:`merge`,command:`tablemerge`,tooltip:`Merge`},{name:`addcolumn`,list:{tableaddcolumnbefore:`Insert column before`,tableaddcolumnafter:`Insert column after`},exec:(e,t,{control:n})=>{if(!Ms(e))return;if(!n.args)return!1;let r=xg(n);e.execCommand(r,!1,t)},tooltip:`Add column`},{name:`addrow`,list:{tableaddrowbefore:`Insert row above`,tableaddrowafter:`Insert row below`},exec:(e,t,{control:n})=>{if(!Ms(e))return;if(!n.args)return!1;let r=xg(n);e.execCommand(r,!1,t)},tooltip:`Add row`},{name:`deleteTable`,icon:`bin`,list:{tablebin:`Delete table`,tablebinrow:`Delete row`,tablebincolumn:`Delete column`,tableempty:`Empty cell`},exec:(e,t,{control:n})=>{if(!Ms(e))return;if(!n.args)return!1;let r=xg(n);e.execCommand(r,!1,t),e.e.fire(`hidePopup`)},tooltip:`Delete`}],Cg={name:`left`,childTemplate:(e,t,n)=>n,list:[`Left`,`Right`,`Center`,`Normal`],exec:(e,t,{control:n})=>{if(!P.isTag(t,new Set([`img`,`jodit`,`jodit-media`])))return;let r=n.args&&j(n.args[0])?n.args[0].toLowerCase():``;if(!r)return!1;Wc(t,r),P.isTag(t,new Set([`jodit`,`jodit-media`]))&&t.firstElementChild&&Wc(t.firstElementChild,r),e.synchronizeValues(),e.e.fire(`recalcPositionPopup`)},tooltip:`Horizontal align`},wg=[{name:`delete`,icon:`bin`,tooltip:`Delete`,exec:(e,t)=>{t&&e.s.removeNode(t)}},{name:`pencil`,exec(e,t){t.tagName.toLowerCase()===`img`&&e.e.fire(`openImageProperties`,t)},tooltip:`Edit`},{name:`valign`,list:[`Top`,`Middle`,`Bottom`,`Normal`],tooltip:`Vertical align`,exec:(e,t,{control:n})=>{if(!P.isTag(t,`img`))return;let r=n.args&&j(n.args[0])?n.args[0].toLowerCase():``;if(!r)return!1;M(t,`vertical-align`,r===`normal`?``:r),e.e.fire(`recalcPositionPopup`)}},Cg],Tg=[{name:`bin`,tooltip:`Delete`,exec:(e,t)=>{t&&e.s.removeNode(t)}},Cg],Eg=[`bold`,`italic`,`|`,`ul`,`ol`,`eraser`,`|`,`fontsize`,`brush`,`paragraph`,`---`,`image`,`table`,`
513`,`link`,`|`,`align`,`|`,`undo`,`redo`,`|`,`copyformat`,`fullsize`,`---`,`dots`],Dg=`<svg viewBox="0 0 18.151 18.151" xmlns="http://www.w3.org/2000/svg"> <g> <path stroke-width="0" d="M6.237,16.546H3.649V1.604h5.916v5.728c0.474-0.122,0.968-0.194,1.479-0.194 c0.042,0,0.083,0.006,0.125,0.006V0H2.044v18.15h5.934C7.295,17.736,6.704,17.19,6.237,16.546z"/> <path stroke-width="0" d="M11.169,8.275c-2.723,0-4.938,2.215-4.938,4.938s2.215,4.938,4.938,4.938s4.938-2.215,4.938-4.938 S13.892,8.275,11.169,8.275z M11.169,16.81c-1.983,0-3.598-1.612-3.598-3.598c0-1.983,1.614-3.597,3.598-3.597 s3.597,1.613,3.597,3.597C14.766,15.198,13.153,16.81,11.169,16.81z"/> <polygon stroke-width="0" points="11.792,11.073 10.502,11.073 10.502,12.578 9.03,12.578 9.03,13.868 10.502,13.868 10.502,15.352 11.792,15.352 11.792,13.868 13.309,13.868 13.309,12.578 11.792,12.578 "/> </g> </svg> `,Og=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 432 432"> <g> <polygon points="203.688,96 0,96 0,144 155.688,144 "/> <polygon points="155.719,288 0,288 0,336 203.719,336 "/> <path d="M97.844,230.125c-3.701-3.703-5.856-8.906-5.856-14.141s2.154-10.438,5.856-14.141l9.844-9.844H0v48h107.719 L97.844,230.125z"/> <polygon points="232,176 232,96 112,216 232,336 232,256 432,256 432,176"/> </g> </svg> `,kg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 312 312"> <g transform="translate(0.000000,312.000000) scale(0.100000,-0.100000)" stroke="none"> <path d="M50 3109 c0 -7 -11 -22 -25 -35 l-25 -23 0 -961 0 -961 32 -29 32 -30 501 -2 500 -3 3 -502 2 -502 31 -30 31 -31 958 0 958 0 23 25 c13 13 30 25 37 25 9 0 12 199 12 960 0 686 -3 960 -11 960 -6 0 -24 12 -40 28 l-29 27 -503 5 -502 5 -5 502 -5 503 -28 29 c-15 16 -27 34 -27 40 0 8 -274 11 -960 11 -710 0 -960 -3 -960 -11z m1738 -698 l2 -453 -40 -40 c-22 -22 -40 -43 -40 -47 0 -4 36 -42 79 -85 88 -87 82 -87 141 
513-23 l26 27 455 -2 454 -3 0 -775 0 -775 -775 0 -775 0 -3 450 -2 449 47 48 47 48 -82 80 c-44 44 -84 80 -87 80 -3 0 -25 -18 -48 -40 l-41 -40 -456 2 -455 3 -3 765 c-1 421 0 771 3 778 3 10 164 12 777 10 l773 -3 3 -454z"/> <path d="M607 2492 c-42 -42 -77 -82 -77 -87 0 -6 86 -96 190 -200 105 -104 190 -197 190 -205 0 -8 -41 -56 -92 -107 -65 -65 -87 -94 -77 -98 8 -3 138 -4 289 -3 l275 3 3 275 c1 151 0 281 -3 289 -4 10 -35 -14 -103 -82 -54 -53 -103 -97 -109 -97 -7 0 -99 88 -206 195 -107 107 -196 195 -198 195 -3 0 -39 -35 -82 -78z"/> <path d="M1470 1639 c-47 -49 -87 -91 -89 -94 -5 -6 149 -165 160 -165 9 0 189 179 189 188 0 12 -154 162 -165 161 -6 0 -48 -41 -95 -90z"/> <path d="M1797 1303 c-9 -8 -9 -568 0 -576 4 -4 50 36 103 88 54 52 101 95 106 95 5 0 95 -85 199 -190 104 -104 194 -190 200 -190 6 0 46 36 90 80 l79 79 -197 196 c-108 108 -197 199 -197 203 0 4 45 52 99 106 55 55 98 103 95 108 -6 10 -568 11 -577 1z"/> </g> </svg> `,Ag=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 48 48"> <path d="M6 42h4v-4h-4v4zm4-28h-4v4h4v-4zm-4 20h4v-4h-4v4zm8 8h4v-4h-4v4zm-4-36h-4v4h4v-4zm8 0h-4v4h4v-4zm16 0h-4v4h4v-4zm-8 8h-4v4h4v-4zm0-8h-4v4h4v-4zm12 28h4v-4h-4v4zm-16 8h4v-4h-4v4zm-16-16h36v-4h-36v4zm32-20v4h4v-4h-4zm0 12h4v-4h-4v4zm-16 16h4v-4h-4v4zm8 8h4v-4h-4v4zm8 0h4v-4h-4v4z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> `,jg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 48 48"> <path d="M6 18h4v-4h-4v4zm0-8h4v-4h-4v4zm8 32h4v-4h-4v4zm0-16h4v-4h-4v4zm-8 0h4v-4h-4v4zm0 16h4v-4h-4v4zm0-8h4v-4h-4v4zm8-24h4v-4h-4v4zm24 24h4v-4h-4v4zm-16 8h4v-36h-4v36zm16 0h4v-4h-4v4zm0-16h4v-4h-4v4zm0-20v4h4v-4h-4zm0 12h4v-4h-4v4zm-8-8h4v-4h-4v4zm0 32h4v-4h-4v4zm0-16h4v-4h-4v4z"/> <path d="M0 0h48v48h-48z" fill="none"/> </svg> `,Mg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M512 1248v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm-640-1024v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm-640-1024v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm640 512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68z"/> </svg> `,Ng=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M512 1248v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm1280 512v192q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h960q40 0 68 28t28 68zm-1280-1024v192q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h320q40 0 68 28t28 68zm1280 512v192q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h960q40 0 68 28t28 68zm0-512v192q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h960q40 0 68 28t28 68z"/> </svg> `;F.prototype.toolbarInline=!0,F.prototype.toolbarInlineForSelection=!1,F.prototype.toolbarInlineDisableFor=[],F.prototype.toolbarInlineDisabledButtons=[`source`],vu.set(`addcolumn`,Dg).set(`addrow`,Og).set(`merge`,kg).set(`th`,Mg).set(`splitg`,Ag).set(`splitv`,jg).set(`th-list`,Ng),Sg.forEach(e=>{!j(e)&&e.name&&!F.prototype.controls[e.name]&&(F.prototype.controls[e.name]=e)}),F.prototype.popup={a:bg,img:wg,cells:Sg,toolbar:Eg,jodit:Tg,iframe:Tg,"jodit-media":Tg,selection:[`bold`,`underline`,`italic`,`ul`,`ol`,`
514`,`outdent`,`indent`,`fontsize`,`brush`,`cut`,`
515`,`paragraph`,`link`,`align`,`dots`]};var Pg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fg=class extends Lf{constructor(){super(...arguments),this.type=null,this.__reopenSelectionPopup=!1,this.snapRange=null,this.elmsList=_s(this.j.o.popup,!1).filter(e=>!this.isExcludedTarget(e))}get popup(){return new _d(this.jodit,!1)}get toolbar(){return Ld(this.jodit,this.popup)}onClick(e){let t=this.elmsList,n=P.isTag(e,`img`)?e:P.closest(e,t,this.j.editor);if(n&&this.canShowPopupForType(n.nodeName.toLowerCase()))return this.showPopup(()=>Kl(n,this.j),n.nodeName.toLowerCase(),n),!1}showPopup(e,t,n){if(t=t.toLowerCase(),!this.canShowPopupForType(t))return!1;
515if(this.type!==t||n!==this.previousTarget){this.previousTarget=n;let e=this.j.o.popup[t],r;if(r=k(e)?e(this.j,n,this.popup.close):e,Ao(r)){let e=this.j.o.toolbarInlineDisabledButtons;this.toolbar.build(e.length?r.filter(t=>{let n=j(t)?t:t.name;return!e.includes(n??``)}):r,n),this.toolbar.buttonSize=this.j.o.toolbarButtonSize,r=this.toolbar.container}this.popup.setContent(r),this.type=t}return this.popup.open(e),!0}hidePopup(e){this.popup.isOpened&&(!j(e)||e===this.type)&&this.popup.close()}onOutsideClick(){this.popup.close()}canShowPopupForType(e){let t=this.j.o.popup[e.toLowerCase()];return this.j.o.readonly||!this.j.o.toolbarInline||!t?!1:!this.isExcludedTarget(e)}isExcludedTarget(e){return Ys(this.j.o.toolbarInlineDisableFor).map(e=>e.toLowerCase()).includes(e.toLowerCase())}afterInit(e){this.j.e.on(`getDiffButtons.mobile`,t=>{if(this.toolbar===t){let t=this.toolbar.getButtonsNames();return Io(e.registeredButtons).filter(e=>!this.j.o.toolbarInlineDisabledButtons.includes(e.name)).filter(e=>{let n=j(e)?e:e.name;return n&&n!==`|`&&n!==`
516`&&!t.includes(n)})}}).on(`hidePopup`,this.hidePopup).on(`showInlineToolbar`,this.showInlineToolbar).on(`showPopup`,(e,t,n)=>{this.showPopup(t,n||(j(e)?e:e.nodeName),j(e)?void 0:e)}).on(`mousedown keydown`,this.onSelectionStart).on(`change`,()=>{this.popup.isOpened&&this.previousTarget&&!this.previousTarget.parentNode&&(this.hidePopup(),this.previousTarget=void 0)}).on([this.j.ew,this.j.ow],`mouseup keyup`,this.onSelectionEnd).on([this.j.ew,this.j.ow],`mousedown touchstart`,this.__onDocumentMouseDown).on(`closeAllPopups`,this.__onCloseAllPopups),this.addListenersForElements()}__onDocumentMouseDown(e){this.popup.isOpened&&this.type===`selection`&&e.target&&xu.closestElement(e.target,_d)&&(this.__reopenSelectionPopup=!0)}__onCloseAllPopups(){this.__reopenSelectionPopup&&(this.__reopenSelectionPopup=!1,this.j.o.toolbarInlineForSelection&&this.j.async.setTimeout(()=>{let e=this.j.s.sel;e&&!e.isCollapsed&&this.showPopup(()=>this.__selectionBound(),`selection`)},1))}__selectionBound(){let e=this.j.s.range.getBoundingClientRect(),{left:t,top:n}=e;if(this.j.iframe){let e=Kl(this.j.iframe,this.j,!0);t+=e.left,n+=e.top}return{left:t,top:n,width:e.width,height:e.height}}onSelectionStart(){this.snapRange=this.j.s.range.cloneRange()}onSelectionEnd(e){if(e&&e.target&&xu.closestElement(e.target,_d))return;let{snapRange:t}=this,{range:n}=this.j.s;(!t||n.collapsed||n.startContainer!==t.startContainer||n.startOffset!==t.startOffset||n.endContainer!==t.endContainer||n.endOffset!==t.endOffset)&&this.onSelectionChange()}onSelectionChange(){if(!this.j.o.toolbarInlineForSelection)return;let e=`selection`,t=this.j.s.sel,n=this.j.s.range;if(t?.isCollapsed||this.isSelectedTarget(n)){this.type===e&&this.popup.isOpened&&this.hidePopup();return}this.j.s.current()&&this.showPopup(()=>this.__selectionBound(),e)}isSelectedTarget(e){let t=e.startContainer;return P.isElement(t)&&t===e.endContainer&&P.isTag(t.childNodes[e.startOffset],new Set(_s(this.j.o.popup,!1)))&&e.startOffset===e.endOffset-1}beforeDestruct(e){e.e.off(`showPopup`).off([this.j.ew,this.j.ow],`mouseup keyup`,this.onSelectionEnd).off([this.j.ew,this.j.ow],`mousedown touchstart`,this.__onDocumentMouseDown).off(`closeAllPopups`,this.__onCloseAllPopups),this.removeListenersForElements()}_eventsList(){let e=this.elmsList;return e.map(e=>es(`click_${e}`)).concat(e.map(e=>es(`touchstart_${e}`))).join(` `)}addListenersForElements(){this.j.e.on(this._eventsList(),this.onClick)}removeListenersForElements(){this.j.e.off(this._eventsList(),this.onClick)}showInlineToolbar(e){this.showPopup(()=>{if(e)return e;let{range:t}=this.j.s;return t.getBoundingClientRect()},`toolbar`)}};Fg.requires=[`select`],Pg([zs],Fg.prototype,`popup`,null),Pg([zs],Fg.prototype,`toolbar`,null),Pg([A],Fg.prototype,`onClick`,null),Pg([cu(e=>!e.j.isLocked)],Fg.prototype,`showPopup`,null),Pg([I([`:clickEditor`,`:beforeCommandDelete`,`:backSpaceAfterDelete`]),A],Fg.prototype,`hidePopup`,null),Pg([I(`:outsideClick`)],Fg.prototype,`onOutsideClick`,null),Pg([A],Fg.prototype,`__onDocumentMouseDown`,null),Pg([A],Fg.prototype,`__onCloseAllPopups`,null),Pg([A],Fg.prototype,`onSelectionStart`,null),Pg([A],Fg.prototype,`onSelectionEnd`,null),Pg([tu(e=>e.defaultTimeout)],Fg.prototype,`onSelectionChange`,null),Pg([A],Fg.prototype,`showInlineToolbar`,null),Ec.add(`inlinePopup`,Fg);var Ig=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1520 1216q0-40-28-68l-208-208q-28-28-68-28-42 0-72 32 3 3 19 18.5t21.5 21.5 15 19 13 25.5 3.5 27.5q0 40-28 68t-68 28q-15 0-27.5-3.5t-25.5-13-19-15-21.5-21.5-18.5-19q-33 31-33 73 0 40 28 68l206 207q27 27 68 27 40 0 68-26l147-146q28-28 28-67zm-703-705q0-40-28-68l-206-207q-28-28-68-28-39 0-68 27l-147 146q-28 28-28 67 0 40 28 68l208 208q27 27 68 27 42 0 72-31-3-3-19-18.5t-21.5-21.5-15-19-13-25.5-3.5-27.5q0-40 28-68t68-28q15 0 27.5 3.5t25.5 13 19 15 21.5 21.5 18.5 19q33-31 33-73zm895 705q0 120-85 203l-147 146q-83 83-203 83-121 0-204-85l-206-207q-83-83-83-203 0-123 88-209l-88-88q-86 88-208 88-120 0-204-84l-208-208q-84-84-84-204t85-203l147-146q83-83 203-83 121 0 204 85l206 207q83 83 83 203 0 123-88 209l88 88q86-88 208-88 120 0 204 84l208 208q84 84 84 204z"/> </svg> `,Lg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M503 1271l-256 256q-10 9-23 9-12 0-23-9-9-10-9-23t9-23l256-256q10-9 23-9t23 9q9 10 9 23t-9 23zm169 41v320q0 14-9 23t-23 9-23-9-9-23v-320q0-14 9-23t23-9 23 9 9 23zm-224-224q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23 9-23 23-9h320q14 0 23 9t9 23zm1264 128q0 120-85 203l-147 146q-83 83-203 83-121 0-204-85l-334-335q-21-21-42-56l239-18 273 274q27 27 68 27.5t68-26.5l147-146q28-28 28-67 0-40-28-68l-274-275 18-239q35 21 56 42l336 336q84 86 84 204zm-617-724l-239 18-273-274q-28-28-68-28-39 0-68 27l-147 146q-28 28-28 67 0 40 28 68l274 274-18 240q-35-21-56-42l-336-336q-84-86-84-204 0-120 85-203l147-146q83-83 203-83 121 0 204 85l334 335q21 21 42 56zm633 84q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23 9-23 23-9h320q14 0 23 9t9 23zm-544-544v320q0 14-9 23t-23 9-23-9-9-23v-320q0-14 9-23t23-9 23 9 9 23zm407 151l-256 256q-11 9-23 9t-23-9q-9-10-9-23t9-23l256-256q10-9 23-9t23 9q9 10 9 23t-9 23z"/> </svg> `,Rg=e=>{let{openInNewTabCheckbox:t,noFollowCheckbox:n,ariaLabelInput:r,modeClassName:i,selectSizeClassName:a,selectMultipleClassName:o,selectOptionsClassName:s}=e.o.link;return new Yu(e,[new Lu(e,[new Wu(e,{name:`url`,type:`text`,ref:`url_input`,label:`U
516RL`,placeholder:`http://`,required:!0})]),r?new Lu(e,[new Wu(e,{name:`ariaLabel`,ref:`aria_label_input`,label:`Aria label`})]):null,new Lu(e,[new Wu(e,{name:`content`,ref:`content_input`,label:`Text`})],{ref:`content_input_box`}),i?new Lu(e,[i===`input`?new Wu(e,{name:`className`,ref:`className_input`,label:`Class name`}):i===`select`?new qu(e,{name:`className`,ref:`className_select`,label:`Class name`,size:a,multiple:o,options:s}):null]):null,t?new td(e,{name:`target`,ref:`target_checkbox`,label:`Open in new tab`}):null,n?new td(e,{name:`nofollow`,ref:`nofollow_checkbox`,label:`No follow`}):null,new Lu(e,[new wu(e,{name:`unlink`,variant:`default`,text:`Unlink`}),new wu(e,{name:`insert`,type:`submit`,variant:`primary`,text:`Insert`})],{align:`full`})])};F.prototype.link={formTemplate:Rg,followOnDblClick:!1,processVideoLink:!0,processPastedLink:!0,deriveUrlFromText:!1,noFollowCheckbox:!0,openInNewTabCheckbox:!0,openInNewTabCheckboxDefaultChecked:!1,ariaLabelInput:!1,modeClassName:`input`,selectMultipleClassName:!0,preventReadOnlyNavigation:!0,selectSizeClassName:3,selectOptionsClassName:[],hotkeys:[`ctrl+k`,`cmd+k`]},vu.set(`link`,Ig).set(`unlink`,Lg),F.prototype.controls.unlink={exec:(e,t)=>{let n=P.closest(t,`a`,e.editor);n&&P.unwrap(n),e.synchronizeValues(),e.e.fire(`hidePopup`)},tooltip:`Unlink`},F.prototype.controls.link={isActive:e=>{let t=e.s.current();return!!(t&&P.closest(t,`a`,e.editor))},popup:(e,t,n)=>e.e.fire(`generateLinkForm.link`,t,n),tags:[`a`],tooltip:`Insert link`};var zg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bg=class extends Lf{constructor(){super(...arguments),this.buttons=[{name:`link`,group:`insert`}]}afterInit(e){e.o.link.followOnDblClick&&e.e.on(`dblclick.link`,this.__onDblClickOnLink),e.e.on(e.editor,`click.link`,this.__onClickReadOnlyLink),e.o.link.processPastedLink&&e.e.on(`processPaste.link`,this.onProcessPasteLink),e.e.on(`generateLinkForm.link`,this.__generateForm),e.registerCommand(`openLinkDialog`,{exec:()=>{let t=e.dlg({resizable:!1}),n=this.__generateForm(e.s.current(),()=>{t.close()});n.container.classList.add(`jodit-dialog_alert`),t.setContent(n),t.open(),e.async.requestIdleCallback(()=>{let{url_input:e}=Ic(n.container);e?.focus()})},hotkeys:e.o.link.hotkeys})}__onDblClickOnLink(e){if(!P.isTag(e.target,`a`))return;let t=N(e.target,`href`);t&&(location.href=t,e.preventDefault())}onProcessPasteLink(e,t){let{jodit:n}=this;if(!(!Is(t)||!n.o.link.processPastedLink)){if(n.e.stopPropagation(`processPaste`),n.o.link.processVideoLink){let e=fs(n.o.video?.parseUrlToVideoEmbed??ol,t,{width:n.o.video?.defaultWidth,height:n.o.video?.defaultHeight});if(e!==t)return n.createInside.fromHTML(e)}if(n.s.isCollapsed()){let e=n.createInside.element(`a`);return N(e,`href`,t),e.textContent=t,n.e.fire(`applyLink`,n,e,null),e}return n.s.commitStyle({element:`a`,attributes:{href:t}}),!0}}__generateForm(e,t){let{jodit:n}=this,r=n.i18n.bind(n),{openInNewTabCheckbox:i,openInNewTabCheckboxDefaultChecked:a,noFollowCheckbox:o,formTemplate:s,formClassName:c,modeClassName:l}=n.o.link,u=s(n),d=j(u)?n.c.fromHTML(u,{target_checkbox_box:i,nofollow_checkbox_box:o}):u,f=P.isElement(d)?d:d.container,p=Ic(f),{insert:m,unlink:h,content_input_box:g}=p,{target_checkbox:_,nofollow_checkbox:v,url_input:y}
516=p,b=e,x=P.isImage(b),{content_input:S}=p,{className_input:ee}=p,{className_select:te}=p,{aria_label_input:ne}=p;S||=n.c.element(`input`,{type:`hidden`,ref:`content_input`}),c&&f.classList.add(c),x&&P.hide(g);let re,ie=()=>re?re.innerText:Al(n.s.range.cloneContents(),n.ed);re=e&&P.closest(e,`a`,n.editor)?P.closest(e,`a`,n.editor):!1,!x&&e&&(S.value=ie()),ne&&(ne.value=re&&N(re,`aria-label`)||``),re?(y.value=N(re,`href`)||``,l&&Ug(l,ee,re,te),i&&_&&(_.checked=N(re,`target`)===`_blank`),o&&v&&(v.checked=(N(re,`rel`)||``).split(/\s+/).includes(`nofollow`)),m.textContent=r(`Update`)):(P.hide(h),n.o.link.deriveUrlFromText&&y&&!x&&!y.value.trim()&&(y.value=Vg(S.value)),i&&_&&(_.checked=a)),n.editor.normalize();let C=n.history.snapshot.make();h&&n.e.on(h,`click`,e=>{n.s.restore(),n.history.snapshot.restore(C),re&&P.unwrap(re),n.synchronizeValues(),t(),e.preventDefault()});let ae=()=>{if(!y.value.trim().length)return y.focus(),y.classList.add(`jodit_error`),!1;let e;n.s.restore(),n.s.removeMarkers(),n.editor.normalize(),n.history.snapshot.restore(C);let r=ie()!==S.value.trim(),a=n.createInside;if(!re||!P.isOrContains(n.editor,re)){if(n.s.isCollapsed()){let t=a.element(`a`);n.s.insertNode(t,!1,!1),e=[t]}else{let t=n.s.current();e=P.isTag(t,`img`)?[P.wrap(t,`a`,a)]:n.s.wrapInTag(`a`)}e.forEach(e=>n.s.select(e))}else e=[re];return e.forEach(e=>{if(N(e,`href`,y.value),Hg(l,ee,te,e),x||Wg(e,S,r,y),i&&_&&N(e,`target`,_.checked?`_blank`:null),o&&v){let t=(N(e,`rel`)||``).split(/\s+/).filter(Boolean),n=t.includes(`nofollow`);v.checked&&!n?t.push(`nofollow`):!v.checked&&n&&t.splice(t.indexOf(`n
516ofollow`),1),N(e,`rel`,t.length?t.join(` `):null)}ne&&N(e,`aria-label`,ne.value.trim()||null),n.e.fire(`applyLink`,n,e,d)}),n.synchronizeValues(),t(),!1};return P.isElement(d)?n.e.on(d,`submit`,e=>(e.preventDefault(),e.stopImmediatePropagation(),ae(),!1)):d.onSubmit(ae),d}beforeDestruct(e){e.e.off(`generateLinkForm.link`,this.__generateForm).off(`dblclick.link`,this.__onDblClickOnLink).off(e.editor,`click.link`,this.__onClickReadOnlyLink).off(`processPaste.link`,this.onProcessPasteLink)}__onClickReadOnlyLink(e){let{jodit:t}=this;t.o.readonly&&t.o.link.preventReadOnlyNavigation&&P.isTag(e.target,`a`)&&e.preventDefault()}};zg([A],Bg.prototype,`__onDblClickOnLink`,null),zg([A],Bg.prototype,`onProcessPasteLink`,null),zg([A],Bg.prototype,`__generateForm`,null),zg([A],Bg.prototype,`__onClickReadOnlyLink`,null),Ec.add(`link`,Bg);function Vg(e){let t=e.trim();return!t||/\s/.test(t)?``:/^(https?:|mailto:|tel:|ftp:|#|\/|\.{1,2}\/)/i.test(t)?t:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)?`mailto:${t}`:/^[a-z0-9-]+(\.[a-z0-9-]+)+(\/\S*)?$/i.test(t)?`https://${t}`:``}function Hg(e,t,n,r){if(e&&(t??n)){if(e===`input`)t.value===``&&r.hasAttribute(`class`)&&N(r,`class`,null),t.value!==``&&N(r,`class`,t.value);else if(e===`select`){r.hasAttribute(`class`)&&N(r,`class`,null);for(let e=0;e<n.selectedOptions.length;e++){let t=n.selectedOptions.item(e)?.value;t&&t.split(/\s+/).filter(e=>e.trim().length>0).forEach(e=>{r.classList.add(e)})}}}}function Ug(e,t,n,r){switch(e){case`input`:t&&(t.value=N(n,`class`)||``);break;case`select`:if(r){for(let e=0;e<r.selectedOptions.length;e++){let t=r.options.item(e);t&&(t.selected=!1)}(N(n,`class`)||``).split(/\s+/).filter(e=>e.trim().length>0).forEach(e=>{if(e)for(let t=0;t<r.options.length;t++){let n=r.options.item(t);n?.value&&n.value.split(/\s+/).map(e=>e.trim()).includes(e)&&(n.selected=!0)}})}}}function Wg(e,t,n,r){let i=e.textContent;t.value.trim().length?n&&(i=t.value):i=r.value;let a=e.textContent;i!==a&&(e.textContent=i)}var Gg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path stroke-width="0" d="M381 1620q0 80-54.5 126t-135.5 46q-106 0-172-66l57-88q49 45 106 45 29 0 50.5-14.5t21.5-42.5q0-64-105-56l-26-56q8-10 32.5-43.5t42.5-54 37-38.5v-1q-16 0-48.5 1t-48.5 1v53h-106v-152h333v88l-95 115q51 12 81 49t30 88zm2-627v159h-362q-6-36-6-54 0-51 23.5-93t56.5-68 66-47.5 56.5-43.5 23.5-45q0-25-14.5-38.5t-39.5-13.5q-46 0-81 58l-85-59q24-51 71.5-79.5t105.5-28.5q73 0 123 41.5t50 112.5q0 50-34 91.5t-75 64.5-75.5 50.5-35.5 52.5h127v-60h105zm1409 319v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-14 9-23t23-9h1216q13 0 22.5 9.5t9.5 22.5zm-1408-899v99h-335v-99h107q0-41 .5-122t.5-121v-12h-2q-8 17-50 54l-71-76 136-127h106v404h108zm1408 387v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-14 9-23t23-9h1216q13 0 22.5 9.5t9.5 22.5zm0-512v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5z"/> </svg> `,Kg=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path stroke-width="0" d="M384 1408q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm0-512q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm-1408-928q0 80-56 136t-136 56-136-56-56-136 56-136 136-56 136 56 56 136zm1408 416v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5zm0-512v192q0 13-9.5 22.5t-22.5 9.5h-1216q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1216q13 0 22.5 9.5t9.5 22.5z"/> </svg> `,qg=(e,t,{control:n})=>{let r=`button${n.command}`,i=(n.args&&n.args[0])??is(e,r);is(e,r,i),e.execCommand(n.command,!1,i==="default"?null:i)};vu.set(`ol`,Gg).set(`ul`,Kg),F.prototype.controls.ul={command:`insertUnorderedList`,tags:[`ul`],tooltip:`Insert Unordered List`,list:{default:`Default`,circle:`Circle`,disc:`Dot`,square:`Quadrate`},exec:qg},F.prototype.controls.ol={command:`insertOrderedList`,tags:[`ol`],tooltip:`Insert Ordered List`,list:{default:`Default`,"lower-alpha":`Lower Alpha`,"lower-greek":`Lower Greek`,"lower-roman":`Lower Roman`,"upper-alpha":`Upper Alpha`,"upper-roman":`Upper Roman`},exec:qg};var Jg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Yg=class extends Lf{constructor(){super(...arguments),this.buttons=[{name:`ul`,group:`list`},{name:`ol`,group:`list`}]}afterInit(e){e.registerCommand(`insertUnorderedList`,this.onCommand).registerCommand(`insertOrderedList`,this.onCommand)}
516onCommand(e,t,n){return this.jodit.s.commitStyle({element:e===`insertunorderedlist`?`ul`:`ol`,attributes:{style:{listStyleType:n??null}}}),this.jodit.synchronizeValues(),!1}beforeDestruct(e){}};Jg([A],Yg.prototype,`onCommand`,null),Ec.add(`orderedList`,Yg),F.prototype.showPlaceholder=!0,F.prototype.placeholder=`Type something`,F.prototype.useInputsPlaceholder=!0;var Xg=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a};function Zg(e){if(!e.firstChild)return!0;let t=e.firstChild;if(qa.has(t.nodeName?.toLowerCase())||/^(TABLE)$/i.test(t.nodeName))return!1;let n=P.next(t,e=>e&&!P.isEmptyTextNode(e),e);return P.isText(t)&&!n?P.isEmptyTextNode(t):!n&&P.each(t,e=>!(P.isLeaf(e)||P.isList(e))&&(P.isEmpty(e)||P.isTag(e,`br`)))}var Qg=class extends Lf{constructor(){super(...arguments),this.addNativeListeners=()=>{this.j.e.off(this.j.editor,`input.placeholder keydown.placeholder`).on(this.j.editor,`input.placeholder keydown.placeholder`,this.toggle)},this.addEvents=()=>{let e=this.j;e.o.useInputsPlaceholder&&e.element.hasAttribute(`placeholder`)&&(this.placeholderElm.innerHTML=N(e.element,`placeholder`)||``),e.e.fire(`placeholder`,this.placeholderElm.innerHTML),e.e.off(`.placeholder`).on(`changePlace.placeholder`,this.addNativeListeners).on(`change.placeholder focus.placeholder keyup.placeholder mouseup.placeholder keydown.placeholder mousedown.placeholder afterSetMode.placeholder changePlace.placeholder`,this.toggle).on(window,`load`,this.toggle),this.addNativeListeners(),this.toggle()}}afterInit(e){e.o.showPlaceholder&&(this.placeholderElm=e.c.fromHTML(`<span data-ref="placeholder" style="display: none;" class="jodit-placeholder">${e.i18n(e.o.placeholder)}</span>`),e.o.direction===`rtl`&&(this.placeholderElm.style.right=`0px`,this.placeholderElm.style.direction=`rtl`),e.e.on(`readonly`,e=>{e?this.hide():this.toggle()}).on(`changePlace`,this.addEvents),this.addEvents())}show(){let e=this.j;if(e.o.readonly)return;let t=0,n=0,r=e.s.current(),i=r&&P.closest(r,P.isBlock,e.editor)||e.editor,a=e.ew.getComputedStyle(i),o=e.ew.getComputedStyle(e.editor);e.workplace.appendChild(this.placeholderElm);let{firstChild:s}=e.editor;if(P.isElement(s)&&!Ps(s)){let r=e.ew.getComputedStyle(s);t=parseInt(r.getPropertyValue(`margin-top`),10),n=parseInt(r.getPropertyValue(`margin-left`),10),this.placeholderElm.style.fontSize=parseInt(r.getPropertyValue(`font-size`),10)+`px`,this.placeholderElm.style.lineHeight=r.getPropertyValue(`line-height`)}else this.placeholderElm.style.fontSize=parseInt(a.getPropertyValue(`font-size`),10)+`px`,this.placeholderElm.style.lineHeight=a.getPropertyValue(`line-height`);M(this.placeholderElm,{display:`block`,textAlign:a.getPropertyValue(`text-align`),paddingTop:parseInt(o.paddingTop,10)+`px`,paddingLeft:parseInt(o.paddingLeft,10)+`px`,paddingRight:parseInt(o.paddingRight,10)+`px`,marginTop:Math.max(parseInt(a.getPropertyValue(`margin-top`),10),t),marginLeft:Math.max(parseInt(a.getPropertyValue(`margin-left`),10),n)})}hide(){P.safeRemove(this.placeholderElm)}toggle(){let e=this.j;if(!(!e.editor||e.isInDestruct)){if(e.getRealMode()!==1){this.hide();return}Zg(e.editor)?this.show():this.hide()}}beforeDestruct(e){this.hide(),e.e.off(`.placeholder`).off(window,`load`,this.toggle)}};Xg([tu(e=>e.defaultTimeout/10,!0)],Qg.prototype,`toggle`,null),Ec.add(`placeholder`,Qg);function $g(e){let{o:t}=e;!t.hidePoweredByJodit&&!t.inline&&(t.showCharsCounter||t.showWordsCounter||t.showXPathInStatusbar)&&e.hookStatus(`ready`,()=>{e.statusbar.append(e.create.fromHTML(`<a
517						tabindex="-1"
518						style="text-transform: uppercase"
519						class="jodit-status-bar-link"
520						target="_blank"
521						href="https://xdsoft.net/jodit/">
522							Powered by Jodit
523						</a>`),!0)})}Ec.add(`poweredByJodit`,$g),vu.set(`redo`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l138-138q-148-137-349-137-104 0-198.5 40.5t-163.5 109.5-109.5 163.5-40.5 198.5 40.5 198.5 109.5 163.5 163.5 109.5 198.5 40.5q119 0 225-52t179-147q7-10 23-12 14 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109 132-264 204.5t-327 72.5q-156 0-298-61t-245-164-164-245-61-298 61-298 164-245 245-164 298-61q147 0 284.5 55.5t244.5 156.5l130-129q29-31 70-14 39 17 39 59z"/> </svg> `).set(`undo`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1664 896q0 156-61 298t-164 245-245 164-298 61q-172 0-327-72.5t-264-204.5q-7-10-6.5-22.5t8.5-20.5l137-138q10-9 25-9 16 2 23 12 73 95 179 147t225 52q104 0 198.5-40.5t163.5-109.5 109.5-163.5 40.5-198.5-40.5-198.5-109.5-163.5-163.5-109.5-198.5-40.5q-98 0-188 35.5t-160 101.5l137 138q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59 39-17 69 14l130 129q107-101 244.5-156.5t284.5-55.5q156 0 298 61t245 164 164 245 61 298z"/> </svg> `),F.prototype.controls.redo={mode:3,isDisabled:e=>!e.history.canRedo(),tooltip:`Redo`},F.prototype.controls.undo={mode:3,isDisabled:e=>!e.history.canUndo(),tooltip:`Undo`};var e_=class extends Lf{constructor(){super(...arguments),this.buttons=[{name:`undo`,group:`history`},{name:`redo`,group:`history`}]}beforeDestruct(){}afterInit(e){let t=t=>(e.history[t](),!1);e.registerCommand(`redo`,{exec:t,hotkeys:[`ctrl+y`,`ctrl+shift+z`,`cmd+y`,`cmd+shift+z`]}),e.registerCommand(`undo`,{exec:t,hotkeys:[`ctrl+z`,`cmd+z`]})}};Ec.add(`redoUndo`,e_),F.prototype.minWidth=200,F.prototype.maxWidth=`100%`,F.prototype.minHeight=200,F.prototype.maxHeight=`auto`,F.prototype.saveHeightInStorage=!1;var t_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},n_=class extends Lf{constructor(){super(...arguments),this.__resizeWorksp
523aces=this.j.async.debounce(this.__resizeWorkspaceImd,this.j.defaultTimeout,!0)}afterInit(e){e.e.on(`setHeight.size`,this.__setHeight).on(`setWidth.size`,this.__setWidth).on(`afterInit.size changePlace.size`,this.__initialize,{top:!0}).on(e.ow,`load.size`,this.__resizeWorkspaces).on(`afterInit.size resize.size afterUpdateToolbar.size scroll.size afterResize.size`,this.__resizeWorkspaces).on(`toggleFullSize.size toggleToolbar.size`,this.__resizeWorkspaceImd),this.__immediateInitialize()}__initialize(){this.__immediateInitialize()}__immediateInitialize(){let{j:e}=this;if(e.o.inline)return;let{height:t}=e.o;if(e.o.saveHeightInStorage&&t!==`auto`){let n=e.storage.get(`height`);n&&(t=n)}M(e.editor,{minHeight:`100%`}),M(e.container,{minHeight:e.o.minHeight,maxHeight:e.o.maxHeight,minWidth:e.o.minWidth,maxWidth:e.o.maxWidth}),e.isFullSize||(this.__setHeight(t),this.__setWidth(e.o.width))}__setHeight(e){let{clientHeight:t,clientWidth:n}=this.j.container;if(Fs(e)){let{minHeight:t,maxHeight:n}=this.j.o;Fs(t)&&t>e&&(e=t),Fs(n)&&n<e&&(e=n)}M(this.j.container,`height`,e),this.j.o.saveHeightInStorage&&this.j.storage.set(`height`,e),this.__resizeWorkspaceImd({clientHeight:t,clientWidth:n})}__setWidth(e){let{clientHeight:t,clientWidth:n}=this.j.container;if(Fs(e)){let{minWidth:t,maxWidth:n}=this.j.o;Fs(t)&&t>e&&(e=t),Fs(n)&&n<e&&(e=n)}M(this.j.container,`width`,e),this.__resizeWorkspaceImd({clientHeight:t,clientWidth:n})}__getNotWorkHeight(){let e=this.j.toolbarContainer;return(e&&this.j.container.contains(e)?e.offsetHeight:0)+(this.j.statusbar?.getHeight()||0)+2}__resizeWorkspaceImd({clientHeight:e,clientWidth:t}=this.j.container){if(!this.j||this.j.isDestructed||!this.j.o||this.j.o.inline||!this.j.container||!this.j.container.parentNode)return;let n=(M(this.j.container,`minHeight`)||0)-this.__getNotWorkHeight();if(Fs(n)&&n>0&&([this.j.workplace,this.j.currentPlace.slots.center,this.j.iframe,this.j.editor].map(e=>{e&&M(e,`minHeight`,n)}),this.j.e.fire(`setMinHeight`,n)),Fs(this.j.o.maxHeight)){let e=this.j.o.maxHeight-this.__getNotWorkHeight();[this.j.workplace,this.j.currentPlace.slots.center,this.j.iframe,this.j.editor].map(t=>{t&&M(t,`maxHeight`,e)}),this.j.e.fire(`setMaxHeight`,e)}if(this.j.container){let e=this.j.o.height!==`auto`||this.j.isFullSize?this.j.container.offsetHeight-this.__getNotWorkHeight():`auto`;M(this.j.workplace,`height`,e),this.j.container.style.setProperty(`--jd-jodit-workplace-height`,Fs(e)?e+`px`:e)}let{clientHeight:r,clientWidth:i}=this.j.container;(e!==r||t!==i)&&this.j.e.fire(this.j,`resize`)}beforeDestruct(e){e.e.off(e.ow,`load.size`,this.__resizeWorkspaces).off(`.size`)}};t_([nu()],n_.prototype,`__initialize`,null),t_([A],n_.prototype,`__setHeight`,null),t_([A],n_.prototype,`__setWidth`,null),t_([A],n_.prototype,`__resizeWorkspaceImd`,null),Ec.add(`size`,n_),F.prototype.showCharsCounter=!0,F.prototype.countHTMLChars=!1,F.prototype.countTextSpaces=!1,F.prototype.showWordsCounter=!0;var r_=class extends Lf{constructor(){super(...arguments),this.charCounter=null,this.wordCounter=null,this.reInit=()=>{this.j.o.showCharsCounter&&this.charCounter&&this.j.statusbar.append(this.charCounter,!0),this.j.o.showWordsCounter&&this.wordCounter&&this.j.statusbar.append(this.wordCounter,!0),this.j.e.off(`change keyup`,this.calc).on(`change keyup`,this.calc),this.calc()},this.calc=this.j.async.throttle(()=>{let e=this.j.text;if(this.j.o.showCharsCounter&&this.charCounter){let t;t=this.j.o.countHTMLChars?this.j.value:this.j.o.countTextSpaces?e.replace(Fa(),``).replace(/[\r\n]/g,``):e.replace(Ra(),``),this.charCounter.textContent=this.j.i18n(`Chars: %d`,t.length)}this.j.o.showWordsCounter&&this.wordCounter&&(this.wordCounter.textContent=this.j.i18n(`Words: %d`,e.replace(Fa(),``).split(Ra()).filter(e=>e.length).length))},this.j.defaultTimeout)}afterInit(){this.charCounter=this.j.c.span(),this.wordCounter=this.j.c.span(),this.j.e.on(`afterInit changePlace afterAddPlace`,this.reInit),this.reInit()}beforeDestruct(){P.safeRemove(this.charCounter),P.safeRemove(this.wordCounter),this.j.e.off(`afterInit changePlace afterAddPlace`,this.reInit),this.charCounter=null,this.wordCounter=null}};Ec.add(`stat`,r_);var i_=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M576 1376v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47h-1344q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1344q66 0 113 47t47 113z"/> </svg> `;F.prototype.table={splitBlockOnInsertTable:!0,selectionCellStyle:`border: 1px double #1e88e5 !important;
523`,useExtraClassesOptions:!1},vu.set(`table`,i_),F.prototype.controls.table={data:{cols:10,rows:10,classList:{"table table-bordered":`Bootstrap Bordered`,"table table-striped":`Bootstrap Striped`,"table table-dark":`Bootstrap Dark`}},popup:(e,t,n,r)=>{e.editor.normalize();let i=e.history.snapshot.make(),a=r.control,o=a.data&&a.data.rows?a.data.rows:10,s=a.data&&a.data.cols?a.data.cols:10,c=e.c.fromHTML(`<form class="jodit-form jodit-form__inserter"><div class="jodit-form__table-creator-box"><div class="jodit-form__container"></div><div class="jodit-form__options">`+(()=>{if(!e.o.table.useExtraClassesOptions)return``;let t=[];if(a.data){let e=a.data.classList;Object.keys(e).forEach(n=>{t.push(`<label class="jodit_vertical_middle"><input class="jodit-checkbox" value="${n}" type="checkbox"/>${e[n]}</label>`)})}return t.join(``)})()+`</div></div><label class="jodit-form__center"><span>1</span> &times; <span>1</span></label></form>`),l=c.querySelectorAll(`span`)[0],u=c.querySelectorAll(`span`)[1],d=c.querySelector(`.jodit-form__container`),f=c.querySelector(`.jodit-form__options`),p=[],m=o*s;for(let t=0;t<m;t+=1)p[t]||p.push(e.c.element(`span`,{dataIndex:t}));if(e.e.on(d,`mousemove`,(e,t)=>{let n=e.target;if(!P.isTag(n,`span`))return;let r=t===void 0||isNaN(t)?parseInt(N(n,`-index`)||`0`,10):t||0,i=Math.ceil((r+1)/s),a=r%s+1;for(let e=0;e<p.length;e+=1)a>=e%s+1&&i>=Math.ceil((e+1)/s)?p[e].className=`jodit_hovered`:p[e].className=``;u.textContent=a.toString(),l.textContent=i.toString()}).on(d,`touchstart mousedown`,t=>{let r=t.target;if(t.preventDefault(),t.stopImmediatePropagation(),!P.isTag(r,`span`))return;let a=parseInt(N(r,`-index`)||`0`,10),o=Math.ceil((a+1)/s),c=a%s+1,l=e.createInside,u=l.element(`tbody`),d=l.element(`table`);d.appendChild(u);let p=null,m,h;for(let e=1;e<=o;e+=1){m=l.element(`tr`);for(let e=1;e<=c;e+=1)h=l.element(`td`),p||=h,M(h,`width`,(100/c).toFixed(4)+`%`),h.appendChild(l.element(`br`)),m.appendChild(l.text(`
524`)),m.appendChild(l.text(`	`)),m.appendChild(h);u.appendChild(l.text(`
525`)),u.appendChild(m)}Pc(`input[type=checkbox]:checked`,f).forEach(e=>{e.value.split(/[\s]+/).forEach(e=>{d.classList.add(e)})}),e.s.restore(),e.s.removeMarkers(),e.editor.normalize(),e.history.snapshot.restore(i);let g=P.furthest(e.s.current(),P.isBlock,e.editor);if(g&&P.isEmpty(g))P.replace(g,d,void 0,!1,!0);else if(g){let t=l.text(`
526`);if(!e.o.table.splitBlockOnInsertTable)P.after(g,t),P.after(t,d);else{let n=e.s.range;n.collapse(!1),n.insertNode(t),n.collapse(!1),e.s.selectRange(n);let r=e.s.splitSelection(g,t);r?P.after(r,d):P.after(g,d)}}else e.s.insertNode(d,!1);p&&(e.s.setCursorIn(p),hl(p,e.editor,e.ed)),n()}),r&&r.parentElement){for(let t=0;t<o;t+=1){let n=e.c.div();for(let e=0;e<s;e+=1)n.appendChild(p[t*s+e]);d.appendChild(n)}p[0]&&(p[0].className=`hovered`)}return c},tooltip:`Insert table`};function a_(e){e.registerButton({name:`table`,group:`insert`})}Ec.add(`table`,a_),F.prototype.wrapNodes={exclude:new Set([`hr`,`style`,`br`]),emptyBlockAfterInit:!0};var o_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},s_=class extends Lf{constructor(){super(...arguments),this.isSuitableStart=e=>P.isText(e)&&j(e.nodeValue)&&(/[^\s]/.test(e.nodeValue)||e.parentNode?.firstChild===e&&this.isSuitable(e.nextSibling))||this.isNotWrapped(e)&&!P.isTemporary(e),this.isSuitable=e=>P.isText(e)||this.isNotWrapped(e),this.isNotWrapped=e=>P.isElement(e)&&!(P.isBlock(e)||P.isTag(e,this.j.o.wrapNodes.exclude))}afterInit(e){e.o.enter.toLowerCase()!==`br`&&e.e.on(`drop.wtn focus.wtn keydown.wtn mousedown.wtn afterInit.wtn backSpaceAfterDelete.wtn`,this.preprocessInput,{top:!0}).on(`afterInit.wtn postProcessSetEditorValue.wtn afterCommitStyle.wtn backSpaceAfterDelete.wtn`,this.postProcessSetEditorValue)}beforeDestruct(e){e.e.off(`.wtn`)}postProcessSetEditorValue(){let{jodit:e}=this;if(!e.isEditorMode())return;let t=e.editor.firstChild,n=!1;for(;t;){if(t=c_(t,e),this.isSuitableStart(t)){n||e.s.save(),n=!0;let r=e.createInside.element(e.o.enter);for(P.before(t,r);t&&this.isSuitable(t);){let e=t.nextSibling;r.appendChild(t),t=e}r.normalize(),t=r}t&&=t.nextSibling}
526n&&(e.s.restore(),e.e.current===`afterInit`&&e.e.fire(`internalChange`))}preprocessInput(){let{jodit:e}=this,t=e.e.current===`afterInit`;if(!e.isEditorMode()||e.editor.firstChild||!e.o.wrapNodes.emptyBlockAfterInit&&t)return;let n=e.createInside.element(e.o.enter),r=e.createInside.element(`br`);P.append(n,r),P.append(e.editor,n),(e.s.isFocused()||e.e.current===`backSpaceAfterDelete`)&&e.s.setCursorBefore(r),e.e.fire(`internalChange`)}};o_([A],s_.prototype,`postProcessSetEditorValue`,null),o_([A],s_.prototype,`preprocessInput`,null);function c_(e,t){let n=e,r=e;do if(P.isElement(r)&&P.isLeaf(r)&&!P.isList(r.parentElement)){let e=P.findNotEmptySibling(r,!1);P.isTag(n,`ul`)?n.appendChild(r):n=P.wrap(r,`ul`,t.createInside),r=e}else break;while(r);return n}Ec.add(`wrapNodes`,s_),F.prototype.dtd={removeExtraBr:!0,checkBlockNesting:!0,blockLimits:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1,fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1}};var l_=new Set([`table`,`pre`,`blockquote`,`code`]);function u_(e,t){if(!e.o.dtd.removeExtraBr||P.isTag(t,`br`))return;let n=P.furthest(t,P.isBlock,e.editor);if(n&&!P.isTag(n,l_)){let n=P.isTag(t,`br`)?t:P.findNotEmptySibling(t,!1);if(!P.isTag(n,`br`)||P.findNotEmptySibling(n,!1))return;e.s.setCursorBefore(n),P.safeRemove(n)}}var d_=s({removeExtraBr:()=>u_});function f_(e,t){if(P.isFragment(t)&&(t=t.firstChild),e.o.dtd.checkBlockNesting&&P.isBlock(t)){let t=null,n=e.s.current()?.parentElement??null;for(;n&&n!==e.editor;){if(P.isBlock(n)){if(e.o.dtd.blockLimits[n.nodeName.toLowerCase()])break;t=n}n=n.parentElement}t&&(e.s.setCursorAfter(t),P.isEmpty(t)&&P.safeRemove(t))}}var p_=s({checkBlockNesting:()=>f_}),m_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},h_=class extends Lf{afterInit(e){}beforeDestruct(e){}__onBeforeInsertNode(e){Object.keys(p_).forEach(t=>{p_[t](this.j,e)})}__onAfterInsertNode(e){Object.keys(d_).forEach(t=>{d_[t](this.j,e)})}};m_([I(`:beforeInsertNode`)],h_.prototype,`__onBeforeInsertNode`,null),m_([I(`:afterInsertNode`)],h_.prototype,`__onAfterInsertNode`,null),Ec.add(`dtd`,h_),Object.keys(Oa).forEach(e=>{dm[e]=Oa[e]});var g_=e=>e!=="__esModule";Object.keys(Bm).filter(g_).forEach(e=>{vu.set(e.replace(`_`,`-`),Bm[e])}),Object.keys(am).filter(g_).forEach(e=>{let t=am[e],n=k(t.prototype?.className)?t.prototype.className():e;if(!j(n)){console.warn(`Module name must be a string`,e);return}dm.modules[n]=t}),Object.keys(fu).filter(g_).forEach(e=>{dm.decorators[e]=fu[e]}),[`Confirm`,`Alert`,`Prompt`].forEach(e=>{dm[e]=am[e]}),Object.keys(mh).filter(g_).forEach(e=>{dm.lang[e]=mh[e]});var __=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 128 128" xml:space="preserve"> <polygon points="112.4560547,23.3203125 112.4560547,75.8154297 31.4853516,75.8154297 31.4853516,61.953125 16.0131836,72.6357422 0.5410156,83.3164063 16.0131836,93.9990234 31.4853516,104.6796875 31.4853516,90.8183594 112.4560547,90.8183594 112.4560547,90.8339844 127.4589844,90.8339844 127.4589844,23.3203125"/> </svg> `;F.prototype.addNewLine=!0,F.prototype.addNewLineOnDBLClick=!0,F.prototype.addNewLineTagsTriggers=[`table`,`iframe`,`img`,`hr`,`pre`,`jodit`],F.prototype.addNewLineDeltaShow=20,vu.set(`enter`,__);var v_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},y_=class extends Lf{constructor(){super(...arguments),this.__line=this.j.c.fromHTML(`<div role="button" tabindex="-1" title="${this.j.i18n(`Break`)}" class="jodit-add-new-line"><span>${vu.get(`enter`)}</span></div>`),this.__isMatchedTag=e=>!!(e&&this.j.o.addNewLineTagsTriggers.includes(e.nodeName.toLowerCase())),this.__isBeforeContent=!1,this.__lineInFocus=!1,this.__isShown=!1,this.__hideForce=()=>{this.__isShown&&(this.__isShown=!1,this.j.async.clearTimeout(this.__timeout),this.__lineInFocus=!1,P.safeRemove(this.__line),this.__line.style.setProperty(`--jd-anl-handle-offset`,`0`))},this.__canGetFocus=e=>e!=null&&P.isBlock(e)&&!/^(img|table|iframe|hr)$/i.test(e.nodeName),this.__onClickLine
526=e=>{let t=this.j,n=t.createInside.element(t.o.enter);this.__isBeforeContent&&this.__current&&this.__current.parentNode?this.__current===t.editor?P.prepend(t.editor,n):this.__current.parentNode.insertBefore(n,this.__current):t.editor.appendChild(n),t.s.setCursorIn(n),hl(n,t.editor,t.ed),t.synchronizeValues(),this.__hideForce(),e.preventDefault()}}__show(){this.j.o.readonly||this.j.isLocked||(this.j.async.clearTimeout(this.__timeout),!this.__isShown&&(this.__isShown=!0,this.j.container.appendChild(this.__line),this.__line.style.width=this.j.container.clientWidth+`px`))}onLock(e){e&&this.__isShown&&this.__hideForce()}__hide(){!this.__isShown||this.__lineInFocus||(this.__timeout=this.j.async.setTimeout(this.__hideForce,{timeout:500,label:`add-new-line-hide`}))}afterInit(e){e.o.addNewLine&&(e.e.on(this.__line,`mousemove`,e=>{e.stopPropagation()}).on(this.__line,`mousedown touchstart`,this.__onClickLine).on(`change`,this.__hideForce).on(this.__line,`mouseenter`,()=>{this.j.async.clearTimeout(this.__timeout),this.__lineInFocus=!0}).on(this.__line,`mouseleave`,()=>{this.__lineInFocus=!1}).on(`changePlace`,this.__addEventListeners.bind(this)),this.__addEventListeners())}__addEventListeners(){let e=this.j;e.e.off(e.editor,`.addnewline`).off(e.container,`.addnewline`).off(`.addnewline`).on([e.ow,e.ew,e.editor],`scroll.addnewline`,this.__hideForce).on(`finishedCleanHTMLWorker.addnewline`,this.__hideForce).on(e.editor,`click.addnewline`,this.__hide).on(e.container,`mouseleave.addnewline`,this.__hide).on(e.editor,`mousemove.addnewline`,this.__onMouseMove)}onDblClickEditor(e){let t=this.j;if(!t.o.readonly&&t.o.addNewLineOnDBLClick&&e.target===t.editor&&t.s.isCollapsed()){let n=Gl(t.editor,t,t.ed),r=e.pageY-t.ew.scrollX,i=t.createInside.element(t.o.enter);Math.abs(r-n.top)<Math.abs(r-(n.height+n.top))&&t.editor.firstChild?t.editor.insertBefore(i,t.editor.firstChild):t.editor.appendChild(i),t.s.setCursorIn(i),t.synchronizeValues(),this.__hideForce(),e.preventDefault()}}__onMouseMove(e){let t=this.j,n=(t.o.shadowRoot??t.ed).elementFromPoint(e.clientX,e.clientY);if(!P.isHTMLElement(n)||!P.isOrContains(t.editor,n))return;if(t.editor!==n&&!this.__isMatchedTag(n)&&(n=P.closest(n,this.__isMatchedTag,t.editor)),!n){this.__hide();return}if(this.__isMatchedTag(n)){let e=P.up(n,P.isBlock,t.editor);e&&e!==t.editor&&(n=e)}let r=Kl(n,this.j),i=!1,{clientY:a,clientX:o}=e;if(this.j.iframe){let{top:e,left:t}=Kl(this.j.iframe,this.j,!0);a+=e,o+=t}let s=this.j.o.addNewLineDeltaShow;Math.abs(a-r.top)<=s?(i=r.top,this.__isBeforeContent=!0):Math.abs(a-(r.top+r.height))<=s&&(i=r.top+r.height,this.__isBeforeContent=!1);let c=t.editor===n;i!==!1&&(c&&!this.__isBeforeContent||!c&&!fs(this.__isBeforeContent?P.prev:P.next,n,this.__canGetFocus,t.editor))?(this.__line.style.top=i+`px`,this.__current=n,this.__show(),this.__line.style.setProperty(`--jd-anl-handle-offset`,o-r.left-10+`px`)):(this.__current=!1,this.__hide())}beforeDestruct(){this.j.async.clearTimeout(this.__timeout),this.j.e.off(this.__line).off(`changePlace`,this.__addEventListeners),P.safeRemove(this.__line),this.j.e.off([this.j.ow,this.j.ew,this.j.editor],`.addnewline`).off(this.j.container,`.addnewline`).off(`.addnewline`)}};v_([I(`:lock`)],y_.prototype,`onLock`,null),v_([A],y_.prototype,`__hide`,null),v_([I(`:dblclick`)],y_.prototype,`onDblClickEditor`,null),v_([nu(e=>e.defaultTimeout)],y_.prototype,`__onMouseMove`,null),Ec.add(`addNewLine`,y_);var b_=`<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <path d="M36 4h-24c-2.21 0-4 1.79-4 4v32c0 2.21 1.79 4 4 4h24c2.21 0 4-1.79 4-4v-32c0-2.21-1.79-4-4-4zm-24 4h10v16l-5-3-5 3v-16z"/> </svg> `;F.prototype.controls.classSpan={command:`applyClassName`,exec:vs,list:[`enabled`,`disabled`,`activated`,`text-left`,`text-center`,`text-right`,`warning`,`error`],isChildActive:(e,t)=>{let n=e.s.current();if(n){let r=P.closest(n,P.isElement,e.editor)||e.editor;return!!(t.control.args&&r.classList.contains(t.control.args[0].toString()))}return!1},isActive:(e,t)=>{let n=e.s.current();if(n){let r=P.closest(n,P.isElement,e.editor)||e.editor,i=!1;
526return t.control.list&&Object.keys(t.control.list).forEach(e=>{r.classList.contains(e)&&(i=!0)}),!!(r&&r!==e.editor&&t.control.list!==void 0&&i)}return!1},childTemplate:(e,t,n)=>`<span class="${t}">${e.i18n(n)}</span>`,tooltip:`Insert className`};var x_=class extends Lf{constructor(){super(...arguments),this.buttons=[{name:`classSpan`,group:`script`}]}afterInit(e){e.registerCommand(`applyClassName`,(t,n,r)=>(e.s.commitStyle({attributes:{class:r}}),!1))}beforeDestruct(){}};Ec.add(`classSpan`,x_),vu.set(`class-span`,b_);var S_=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M832 1408l336-384h-768l-336 384h768zm1013-1077q15 34 9.5 71.5t-30.5 65.5l-896 1024q-38 44-96 44h-768q-38 0-69.5-20.5t-47.5-54.5q-15-34-9.5-71.5t30.5-65.5l896-1024q38-44 96-44h768q38 0 69.5 20.5t47.5 54.5z"/> </svg> `;F.prototype.cleanHTML={timeout:300,removeEmptyElements:!0,fillEmptyParagraph:!0,collapseEmptyValueToEmptyString:!1,replaceNBSP:!0,replaceOldTags:{i:`em`,b:`strong`},allowTags:!1,denyTags:`script,iframe,object,embed`,useIframeSandbox:!1,removeOnError:!0,removeEventAttributes:!0,safeJavaScriptLink:!0,safeLinksTarget:!0,allowedStyles:!1,sanitizer:!1,sandboxIframesInContent:!0,convertUnsafeEmbeds:[`object`,`embed`],disableCleanFilter:null},F.prototype.controls.eraser={command:`removeFormat`,tooltip:`Clear Formatting`},vu.set(`eraser`,S_);function C_(e){let t=/([^[]*)\[([^\]]+)]/,n=/[\s]*,[\s]*/,r=/^(.*)[\s]*=[\s]*(.*)$/,i={};return j(e)?(e.split(n).map(e=>{e=zo(e);let a=t.exec(e),o={},s=e=>{e=zo(e);let t=r.exec(e);t?o[t[1]]=t[2]:o[e]=!0};if(a){let e=a[2].split(n);a[1]&&(e.forEach(s),i[a[1].toUpperCase()]=o)}else i[e.toUpperCase()]=!0}),i):e?(Object.keys(e).forEach(t=>{i[t.toUpperCase()]=e[t]}),i):!1}var w_=/^(https?:)?\/\/(www\.|m\.|music\.)?youtube(-nocookie)?\.com\/embed\//i,T_=/^(https?:)?\/\/player\.vimeo\.com\/video\//i;function E_(e){return w_.test(e)||T_.test(e)}function D_(e,t){let{s:n}=e,r=t;if(!r){r=e.createInside.fake();let{range:t}=n;P.safeInsertNode(t,r),t.collapse()}let i=P.furthest(r,O_,e.editor);if(i)if(n.cursorOnTheLeft(i))P.before(i,r);else if(n.cursorOnTheRight(i))P.after(i,r);else{let e=n.splitSelection(i);e&&P.after(e,r)}t||(n.setCursorBefore(r),P.safeRemove(r))}function O_(e){return P.isInlineBlock(e)&&!P.isTag(e,qa)}function k_(e){let{s:t,editor:n,createInside:r}=e,{range:i}=t,a=i.cloneRange(),o=i.cloneRange(),s=r.fake(),c=r.fake();a.collapse(!0),o.collapse(!1),P.safeInsertNode(a,s),P.safeInsertNode(o,c),i.setStartBefore(s),i.collapse(!0),t.selectRange(i),D_(e,s),i.setEndAfter(c),i.collapse(!1),t.selectRange(i),D_(e,c);let l=[];P.between(s,c,e=>{O_(e)&&!P.isTag(e,`a`)&&l.push(e),P.isElement(e)&&N(e,`style`)&&N(e,`style`,null)}),l.forEach(e=>P.unwrap(e));let u=(e,t)=>{if(!P.findNotEmptySibling(e,t)){let r=e.parentNode;if(r&&r!==n&&N(r,`style`))return N(r,`style`,null),u(r,t),!0}};u(s,!0)&&u(c,!1),i.setStartAfter(s),i.setEndBefore(c),t.selectRange(i),P.safeRemove(s),P.safeRemove(c)}function A_(e,t,n,r){let i=r&&P.isElement(t)&&r[t.nodeName];if(r&&P.isElement(t)&&i!==!0){if(!i)return n;let e=t.attributes;if(e&&e.length){let r=[];for(let t=0;t<e.length;t+=1){let n=i[e[t].name];(!n||n!==!0&&n!==e[t].value)&&r.push(e[t].name)}r.length&&(n=!0),r.forEach(e=>{t.removeAttribute(e)})}}return n}function j_(e,t,n){let r=e.o.cleanHTML.convertUnsafeEmbeds;if(!r||!P.isElement(t))return n;let i=t.nodeName.toLowerCase();if(!r.includes(i))return n;let a=t,o=N(a,`data`)||N(a,`src`)||N(a,`movie`)||``;if(!o)return P.safeRemove(a),!0;let s=e.createInside.element(`iframe`);return N(s,{src:o,sandbox:``,frameborder:`0`,width:N(a,`width`),height:N(a,`height`)}),P.replace(a,s,void 0,!1,!0),!0}var M_=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]);function N_(e,t,n){if(e.o.cleanHTML.fillEmptyParagraph&&P.isBlock(t)&&P.isEmpty(t,qa)&&!P.isTag(t,M_)){let n=e.createInside.element(`br`);return t.appendChild(n),!0}return n}function P_(e,t,n,r,i,a){return P.isText(t)&&!t.nodeValue?(t===a&&e.s.isCollapsed()&&e.s.setCursorAfter(t),P.safeRemove(t),!0):n}function F_(e,t,n,r,i,a){if(a===t||!P.isText(t)||t.nodeValue==null||!Fa().test(t.no
526deValue))return n;let o=P.furthest(a,P.isBlock,e.editor);return!o||P.isOrContains(o,t)?n:(t.nodeValue=t.nodeValue.replace(Fa(),``),t===a&&e.s.isCollapsed()&&e.s.setCursorAfter(t),t.nodeValue||P.safeRemove(t),!0)}function I_(e,t,n){let r=L_(e,t,e.o.cleanHTML.replaceOldTags);return t===r?n:(t=r,!0)}function L_(e,t,n){if(!n||!P.isHTMLElement(t))return t;let r=n[t.nodeName.toLowerCase()]||n[t.nodeName];return r?P.replace(t,r,e.createInside,!0,!1):t}function R_(e,t,n){if(!e.o.cleanHTML.safeLinksTarget||!P.isElement(t)||t.nodeName!==`A`)return n;let r=t;if(N(r,`target`)!==`_blank`)return n;let i=(N(r,`rel`)||``).split(/\s+/).filter(Boolean),a=!1;return i.includes(`noopener`)||(i.push(`noopener`),a=!0),i.includes(`noreferrer`)||(i.push(`noreferrer`),a=!0),a?(N(r,`rel`,i.join(` `)),!0):n}function z_(e,t,n){if(!e.o.cleanHTML.sandboxIframesInContent||!P.isElement(t)||t.nodeName!==`IFRAME`)return n;let r=t;return E_(N(r,`src`)||``)||r.hasAttribute(`sandbox`)?n:(N(r,`sandbox`,``),!0)}function B_(e,t,n){if(!P.isElement(t))return n;let r=e.options.cleanHTML;return El(t,{safeJavaScriptLink:r.safeJavaScriptLink,removeOnError:r.removeOnError,removeEventAttributes:r.removeEventAttributes,safeLinksTarget:r.safeLinksTarget})?!0:n}function V_(e,t,n){let r=e.o.cleanHTML.allowedStyles;if(!r||!P.isElement(t))return n;let i=t,a=N(i,`style`);if(!a)return n;let o=H_(t.nodeName.toLowerCase(),r);if(!o)return n;let s=U_(a,o);return s===a?n:(N(i,`style`,s||null),!0)}function H_(e,t){let n=t[e],r=t[`*`];if(!n&&!r)return null;let i=new Set;if(r)for(let e of r)i.add(e.toLowerCase());if(n)for(let e of n)i.add(e.toLowerCase());return i}function U_(e,t){return e.split(`;`).map(e=>e.trim()).filter(e=>{if(!e)return!1;let n=e.indexOf(`:`);if(n===-1)return!1;let r=e.substring(0,n).trim().toLowerCase();return t.has(r)}).join(`; `).replace(/;\s*$/,``)}function W_(e,t,n,r,i,a){return G_(e,t,a,r,i)?(P.safeRemove(t),!0):n}function G_(e,t,n,r,i){if(!P.isText(t)){let e=t.nodeName.toUpperCase();if(r&&!r[e])return!0;let n=e===`IFRAME`&&E_(N(t,`src`)||``);if(!r&&i&&i[e]&&!n)return!0}if(!e.o.cleanHTML.removeEmptyElements)return!1;let a=e.s.isCollapsed()?e.s.range.startContainer:null;return P.isElement(t)&&t.nodeName.match(Wa)!=null&&!P.isTemporary(t)&&Vo(t.innerHTML).length===0&&(n==null||!P.isOrContains(t,n))&&(a==null||!P.isOrContains(t,a))}var K_=s({allowAttributes:()=>A_,convertUnsafeEmbeds:()=>j_,fillEmptyParagraph:()=>N_,removeEmptyTextNode:()=>P_,removeInvTextNodes:()=>F_,replaceOldTags:()=>I_,safeLinksTarget:()=>R_,sandboxIframesInContent:()=>z_,sanitizeAttributes:()=>B_,sanitizeStyles:()=>V_,tryRemoveNode:()=>W_}),q_=Object.keys(K_);function J_(e,t,n,r,i){let a=!1,o=e.o.cleanHTML.disableCleanFilter;for(let s of q_){if(o&&o.has(s))continue;let c=K_[s];if(a=c(e,t,a,n,r,i),!t.isConnected)return!0}return a}var Y_=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},X_=class extends Lf{constructor(){super(...arguments),this.buttons=[{name:`eraser`,group:`font-style`}],this.currentSelectionNode=null,this.walker=new xc(this.j.async,{timeout:this.j.o.cleanHTML.timeout})}afterInit(e){}get isEditMode(){return!(this.j.isInDestruct||!this.j.isEditorMode()||this.j.getReadOnly())}onChangeCleanHTML(){if(!this.isEditMode)return;let e=this.j;this.walker.setWork(e.editor),this.currentSelectionNode=e.s.current()}startWalker(){let{jodit:e}=this,t=C_(this.j.o.cleanHTML.allowTags),n=C_(this.j.o.cleanHTML.denyTags);this.walker.on(`visit`,r=>J_(e,r,t,n,this.currentSelectionNode)).on(`end`,e=>{this.j.e.fire(e?`internalChange finishedCleanHTMLWorker`:`finishedCleanHTMLWorker`)})}beforeCommand(e){if(e.toLowerCase()===`removeformat`)return this.j.s.isCollapsed()?D_(this.j):k_(this.j),!1}onBeforeSetNativeEditorValue(e){let[t,n]=this.j.o.cleanHTML.useIframeSandbox?this.j.createInside.sandbox():[this.j.od.implementation.createHTMLDocument(``).body];return t.innerHTML=e.value,this.j.e.fire(`safeHTML`,t),e.value=t.innerHTML,xl(t,{safeJavaScriptLink:!0,removeOnError:!0}),P.safeRemove(n),!1}onAfterGetValueFromEditor(e){this.j.o.cleanHTML.collapseEmptyValueToEmptyString&&/^<([a-z][a-z0-9]*)\b[^>]*>(?:<br\/?>)?<\/\1>$/i.test(e.value.trim())&&(e.value=``)}onSafeHTML(e){let t=this.j.o.cleanHTML.sanitizer;t&&(e.innerHTML=t(e.innerHTML)),xl(e,this.j.o.cleanHTML)}beforeDestruct(){this.walker.destruct()}};Y_([I([`:change`,`:afterSetMode`,`:afterInit`,`:mousedown`,`:keydown`])],X_.prototype,`onChangeCleanHTML`,null),Y_([iu(`ready`)],X_.prototype,`startWalker`,null),Y_([I(`:beforeCommand`)],X_.prototype,`beforeCommand`,null),Y_([I(`:beforeSetNativeEditorValue`)],X_.prototype,`onBeforeSetNativeEditorValue`,null),Y_([I(`:afterGetValueFromEditor`)],X_.prototype,`onAfterGetValueFromEditor`,null),Y_([I(`:safeHTML`)],X_.prototype,`onSafeHTML`,null),Ec.add(`cleanHtml`,X_);var Z_=`<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> <path d="M24.89,6.61H22.31V4.47A2.47,2.47,0,0,0,19.84,2H6.78A2.47,2.47,0,0,0,4.31,4.47V22.92a2.47,2.47,0,0,0,2.47,2.47H9.69V27.2a2.8,2.8,0,0,0,2.8,2.8h12.4a2.8,2.8,0,0,0,2.8-2.8V9.41A2.8,2.8,0,0,0,24.89,6.61ZM6.78,23.52a.61.61,0,0,1-.61-.6V4.47a.61.61,0,0,1,.61-.6H19.84a.61.61,0,0,1,.61.6V6.61h-8a2.8,2.8,0,0,0-2.8,2.8V23.52Zm19,3.68a.94.94,0,0,1-.94.93H12.49a.94.94,0,0,1-.94-.93V9.41a.94.94,0,0,1,.94-.93h12.4a.94.94,0,0,1,.94.93Z"/> <path d="M23.49,13.53h-9.6a.94.94,0,1,0,0,1.87h9.6a.94.94,0,1,0,0-1.87Z"/> <path d="M23.49,17.37h-9.6a.94.94,0,1,0,0,1.87h9.6a.94.94,0,1,0,0-1.87Z"/> <path d="M23.49,21.22h-9.6a.93.93,0,1,0,0,1.86h9.6a.93.93,0,1,0,0-1.86Z"/> </svg> `,Q_=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M960 896q26 0 45 19t19 45-19 45-45 19-45-19-19-45 19-45 45-19zm300 64l507 398q28 20 25 56-5 35-35 51l-128 64q-13 7-29 7-17 0-31-8l-690-387-110 66q-8 4-12 5 14 49 10 97-7 77-56 147.5t-132 123.5q-132 84-277 84-136 0-222-78-90-84-79-207 7-76 56-147t131-124q132-84 278-84 83 0 151 31 9-13 22-22l122-73-122-73q-13-9-22-22-68 31-151 31-146 0-278-84-82-53-131-124t-56-147q-5-59 15.5-113t63.5-93q85-79 222-79 145 0 277 84 83 52 132 123t56 148q4 48-10 97 4 1 12 5l110 66 690-387q14-8 31-8 16 0 29 7l128 64q30 16 35 51 3 36-25 56zm-681-260q46-42 21-108t-106-117q-92-59-192-59-74 0-113 36-46 42-2
5261 108t106 117q92 59 192 59 74 0 113-36zm-85 745q81-51 106-117t-21-108q-39-36-113-36-100 0-192 59-81 51-106 117t21 108q39 36 113 36 100 0 192-59zm178-613l96 58v-11q0-36 33-56l14-8-79-47-26 26q-3 3-10 11t-12 12q-2 2-4 3.5t-3 2.5zm224 224l96 32 736-576-128-64-768 431v113l-160 96 9 8q2 2 7 6 4 4 11 12t11 12l26 26zm704 416l128-64-520-408-177 138q-2 3-13 7z"/> </svg> `,$_=`<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> <path stroke-width="0" d="M10.5 20H2a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h1V3l2.03-.4a3 3 0 0 1 5.94 0L13 3v1h1a2 2 0 0 1 2 2v1h-2V6h-1v1H3V6H2v12h5v2h3.5zM8 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm2 4h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-8a2 2 0 0 1-2-2v-8c0-1.1.9-2 2-2zm0 2v8h8v-8h-8z"/> </svg> `,ev=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 18 18"> <g fill-rule="evenodd" stroke="none" stroke-width="1"> <g transform="translate(-381.000000, -381.000000)"> <g transform="translate(381.000000, 381.000000)"> <path d="M0,2 L2,2 L2,0 C0.9,0 0,0.9 0,2 L0,2 Z M0,10 L2,10 L2,8 L0,8 L0,10 L0,10 Z M4,18 L6,18 L6,16 L4,16 L4,18 L4,18 Z M0,6 L2,6 L2,4 L0,4 L0,6 L0,6 Z M10,0 L8,0 L8,2 L10,2 L10,0 L10,0 Z M16,0 L16,2 L18,2 C18,0.9 17.1,0 16,0 L16,0 Z M2,18 L2,16 L0,16 C0,17.1 0.9,18 2,18 L2,18 Z M0,14 L2,14 L2,12 L0,12 L0,14 L0,14 Z M6,0 L4,0 L4,2 L6,2 L6,0 L6,0 Z M8,18 L10,18 L10,16 L8,16 L8,18 L8,18 Z M16,10 L18,10 L18,8 L16,8 L16,10 L16,10 Z M16,18 C17.1,18 18,17.1 18,16 L16,16 L16,18 L16,18 Z M16,6 L18,6 L18,4 L16,4 L16,6 L16,6 Z M16,14 L18,14 L18,12 L16,12 L16,14 L16,14 Z M12,18 L14,18 L14,16 L12,16 L12,18 L12,18 Z M12,2 L14,2 L14,0 L12,0 L12,2 L12,2 Z M4,14 L14,14 L14,4 L4,4 L4,14 L4,14 Z M6,6 L12,6 L12,12 L6,12 L6,6 L6,6 Z"/> </g> </g> </g> </svg> `;F.prototype.controls.cut={command:`cut`,isDisabled:e=>e.s.isCollapsed(),tooltip:`Cut selection`},F.prototype.controls.copy={command:`copy`,isDisabled:e=>e.s.isCollapsed(),tooltip:`Copy selection`},F.prototype.controls.selectall={icon:`select-all`,command:`selectall`,tooltip:`Select all`},vu.set(`copy`,Z_).set(`cut`,Q_).set(`paste`,$_).set(`select-all`,ev);var tv=class{constructor(){this.buttons=[{name:`cut`,group:`clipboard`},{name:`copy`,group:`clipboard`},{name:`paste`,group:`clipboard`},{name:`selectall`,group:`clipboard`}]}init(e){var t;(t=this.buttons)==null||t.forEach(t=>e.registerButton(t)),e.e.off(`copy.${To} cut.${To}`).on(`copy.${To} cut.${To}`,t=>{var n;let r=nv(e,e.s.html),i=ys(t)||ys(e.ew)||ys(t.originalEvent);i&&(i.setData(so,Al(r)),i.setData(co,r)),e.buffer.set(To,r),e.e.fire(`pasteStack`,{html:r,action:e.o.defaultActionOnPaste||`insert_as_html`}),t.type===`cut`&&(e.s.remove(),e.s.focus()),t.preventDefault(),(n=e?.events)==null||n.fire(`afterCopy`,r)})}destruct(e){var t,n;(t=Rs(e,`buffer`))==null||t.set(`clipboard`,``),(n=e?.events)==null||n.off(`.clipboard`)}};function nv(e,t){if(!t||e.s.isCollapsed())return t;let n=e.s.range.commonAncestorContainer;P.isElement(n)||(n=n.parentElement);let r=t;for(;n&&n!==e.editor&&P.isElement(n)&&!P.isBlock(n);){let e=n.cloneNode(!1);e.innerHTML=r,r=e.outerHTML,n=n.parentElement}return r}Ec.add(`clipboard`,tv);var rv=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 16 16"> <path stroke-width="0" d="M16 9v-6h-3v-1c0-0.55-0.45-1-1-1h-11c-0.55 0-1 0.45-1 1v3c0 0.55 0.45 1 1 1h11c0.55 0 1-0.45 1-1v-1h2v4h-9v2h-0.5c-0.276 0-0.5 0.224-0.5 0.5v5c0 0.276 0.224 0.5 0.5 0.5h2c0.276 0 0.5-0.224 0.5-0.5v-5c0-0.276-0.224-0.5-0.5-0.5h-0.5v-1h9zM12 3h-11v-1h11v1z"/> </svg> `,iv={"copy-format":`نسخ التنسيق`},av={"copy-format":`Kopírovat formát`},ov={"copy-format":`Format kopierenт`},sv={"copy-format":`Copiar formato`},cv={"copy-format":`کپی کردن قالب`},lv={"copy-format":`Kopioi muotoilu`},uv={"copy-format":`Format de copie`},dv={"copy-format":`העתק עיצוב`},fv={"copy-format":`Formátum másolás`},pv={"copy-format":`salin format`},mv={"copy-format":`Copia il formato`},hv={"copy-format":`copyformat`}
526,gv={"copy-format":`복사 형식`},_v={"copy-format":`Формат хуулах`},vv={"copy-format":`opmaak kopiëren`},yv={"copy-format":`format kopii`},bv={"copy-format":`Copiar formato`},xv={"copy-format":`Копировать формат`},Sv={"copy-format":`Kopyalama Biçimi`},Cv={"copy-format":`复制格式`},wv={"copy-format":`複製格式`},Tv=s({ar:()=>iv,cs_cz:()=>av,de:()=>ov,es:()=>sv,fa:()=>cv,fi:()=>lv,fr:()=>uv,he:()=>dv,hu:()=>fv,id:()=>pv,it:()=>mv,ja:()=>hv,ko:()=>gv,mn:()=>_v,nl:()=>vv,pl:()=>yv,pt_br:()=>bv,ru:()=>xv,tr:()=>Sv,zh_cn:()=>Cv,zh_tw:()=>wv}),Ev=`copy-format`,Dv=[`lineHeight`,`fontWeight`,`fontStyle`,`fontSize`,`fontFamily`,`color`,`margin`,`padding`,`borderWidth`,`borderStyle`,`borderColor`,`borderRadius`,`backgroundColor`,`textDecorationLine`],Ov=(e,t,n,r)=>{let i=M(n,t);return i===r[t]&&(i=n.parentNode&&n!==e.editor&&n.parentNode!==e.editor?Ov(e,t,n.parentNode,r):void 0),i},kv=(e,t,n)=>{let r={};return t&&Dv.forEach(i=>{r[i]=Ov(e,i,t,n),i.match(/border(Style|Color)/)&&!r.borderWidth&&(r[i]=void 0)}),r};F.prototype.controls.copyformat={exec:(e,t,{button:n})=>{if(t){if(e.buffer.exists(Ev))e.buffer.delete(Ev),e.e.off(e.editor,`mouseup.copy-format`);else{let n={},r=P.up(t,e=>e&&!P.isText(e),e.editor)||e.editor,i=e.createInside.span();e.editor.appendChild(i),Dv.forEach(e=>{n[e]=M(i,e)}),i!==e.editor&&P.safeRemove(i);let a=kv(e,r,n);e.e.on(e.editor,`mouseup.copy-format`,()=>{e.buffer.delete(Ev);let t=e.s.current();t&&(P.isTag(t,`img`)?M(t,a):e.s.commitStyle({attributes:{style:a}})),e.e.off(e.editor,`mouseup.copy-format`)}),e.buffer.set(Ev,!0)}n.update()}},isActive:e=>e.buffer.exists(Ev),tooltip:`Paint format`};function Av(e){e.registerButton({name:`copyformat`,group:`clipboard`}),Oc(Tv)}Ec.add(`copyformat`,Av),vu.set(`copyformat`,rv);var jv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Mv=class extends Lf{constructor(){super(...arguments),this.isFragmentFromEditor=!1,this.isCopyMode=!1,this.startDragPoint={x:0,y:0},this.draggable=null,this.bufferRange=null,this.getText=e=>{let t=ys(e);return t?t.getData(co)||t.getData(so):null}}afterInit(){this.j.e.on([window,this.j.ed,this.j.editor],`dragstart.DragAndDrop`,this.onDragStart)}onDragStart(e){let t=e.target;if(this.onDragEnd(),this.isFragmentFromEditor=P.isOrContains(this.j.editor,t,!0),this.isCopyMode=!this.isFragmentFromEditor||sl(e),this.isFragmentFromEditor){let e=this.j.s.sel,t=e&&e.rangeCount?e.getRangeAt(0):null;t&&(this.bufferRange=t.cloneRange())}else this.bufferRange=null;this.startDragPoint.x=e.clientX,this.startDragPoint.y=e.clientY,Nv(t)&&(t=t.querySelector(`img`)),P.isTag(t,`img`)&&(this.draggable=t.cloneNode(!0),is(this.draggable,`target`,t)),this.addDragListeners()}addDragListeners(){this.j.e.on(`dragover`,this.onDrag).on(`drop.DragAndDrop`,this.onDrop).on(window,`dragend.DragAndDrop drop.DragAndDrop mouseup.DragAndDrop`,this.onDragEnd)}removeDragListeners(){this.j.e.off(`dragover`,this.onDrag).off(`drop.DragAndDrop`,this.onDrop).off(window,`dragend.DragAndDrop drop.DragAndDrop mouseup.DragAndDrop`,this.onDragEnd)}onDrag(e){this.draggable&&(this.j.e.fire(`hidePopup`),this.j.s.insertCursorAtPoint(e.clientX,e.clientY),e.preventDefault(),e.stopPropagation())}onDragEnd(){this.draggable&&=(P.safeRemove(this.draggable),null),this.isCopyMode=!1,this.removeDragListeners()}onDrop(e){if(!e.dataTransfer||!e.dataTransfer.files||!e.dataTransfer.files.length){if(!this.isFragmentFromEditor&&!this.draggable)return this.j.e.fire(`paste`,e),e.preventDefault(),e.stopPropagation(),!1;let t=this.j.s.sel,n=this.bufferRange||(t&&t.rangeCount?t.getRangeAt(0):null),r=this.__getWorkFragment(n,e);t&&t.removeAllRanges(),this.j.s.insertCursorAtPoint(e.clientX,e.clientY),r&&this.__insertFragment.call(this,r,n),e.preventDefault(),e.stopPropagation()}this.isFragmentFromEditor=!1,this.removeDragListeners()}__getWorkFragment(e,t){let n=null;if(!this.draggable&&e)n=this.isCopyMode?e.cloneContents():e.extractContents();else if(this.draggable)if(this.isCopyMode){let[e,t]=N(this.draggable,`-is-file`)===`1`?[`a`,`href`]:[`img`,`src`];n=this.j.createInside.element(e),N(n,t,N(this.draggable,`data-src`)||N(this.draggable,`src`)||``),e===`a`&&(n.textContent=N(n,t)||``)}else n=is(this.draggable,`target`);else this.getText(t)&&(n=this.j.createInside.fromHTML(this.getText(t)));return n}__insertFragment(e,t){this.j.s.insertNode(e,!1,!1),t&&e.firstChild&&e.lastChild&&(t.setStartBefore(e.firstChild),t.setEndAfter(e.lastChild),this.j.s.selectRange(t),this.j.e.fire(`synchro`)),P.isTag(e,`img`)&&this.j.events&&this.j.e.fire(`afterInsertImage`,e)}beforeDestruct(){this.onDragEnd(),this.j.e.off(window,`.DragAndDrop`).off(`.DragAndDrop`).off([window,this.j.ed,this.j.editor],`dragstart.DragAndDrop`,this.onDragStart)}};jv([A],Mv.prototype,`onDragStart`,null),jv([nu(e=>e.defaultTimeout/10)],Mv.prototype,`onDrag`,null),jv([A],Mv.prototype,`onDragEnd`,null),jv([A],Mv.prototype,`onDrop`,null);function Nv(e){return P.isElement(e)&&e.classList.contains(jf.prototype.getFullElName(`item`))}Ec.add(`dragAndDrop`,Mv),F.prototype.draggableTags=[`img`,`jodit-media`,`jodit`];var Pv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fv;(function(e){e[e.IDLE=0]=`IDLE`,e[e.WAIT_DRAGGING=1]=`WAIT_DRAGGING`,e[e.DRAGGING=2]=`DRAGGING`})(Fv||={});var Iv=class e extends Lf{constructor(){super(...arguments),this.dragList=[],this.draggable=null,this.isCopyMode=!1,this.diffStep=10,this.startX=0,this.startY=0,this.state=Fv.IDLE}afterInit(){this.dragList=this.j.o.draggableTags?Ys(this.j.o.draggableTags).filter(
526Boolean).map(e=>e.toLowerCase()):[],this.j.e.on(`startDragElement`,this.onStartDragElement),this.dragList.length&&this.j.e.on(`mousedown dragstart`,this.onDragStart)}onStartDragElement(e,t){this.isInDestruct||this.state>Fv.IDLE||!e||this.startDragging(e,t)}onDragStart(e){if(e.type===`dragstart`&&this.draggable)return!1;if(this.state>Fv.IDLE)return;let t=e.target;if(!this.dragList.length||!t)return;let n=e=>!!(e&&this.dragList.includes(e.nodeName.toLowerCase())),r=P.furthest(t,n,this.j.editor)||(n(t)?t:null);r&&(P.isTag(r.parentElement,`a`)&&r.parentElement.firstChild===r&&r.parentElement.lastChild===r&&(r=r.parentElement),this.startDragging(r,e))}startDragging(e,t){this.startX=t.clientX,this.startY=t.clientY,this.isCopyMode=sl(t),this.draggable=e.cloneNode(!0),is(this.draggable,`target`,e),this.state=Fv.WAIT_DRAGGING,this.addDragListeners()}onDrag(t){if(!this.draggable||this.state===Fv.IDLE)return;let n=t.clientX,r=t.clientY;if(!(this.state===Fv.WAIT_DRAGGING&&Math.sqrt((n-this.startX)**2+(r-this.startY)**2)<this.diffStep)){if(this.state===Fv.WAIT_DRAGGING&&(this.j.lock(`drag-and-drop-element`),this.state=Fv.DRAGGING),this.j.e.fire(`hidePopup hideResizer`),!this.draggable.parentNode){let n=is(this.draggable,`target`);M(this.draggable,{zIndex:0x9184e72a000,pointerEvents:`none`,pointer:`drag`,position:`fixed`,opacity:.7,display:`inline-block`,left:t.clientX,top:t.clientY,width:n?.offsetWidth??100,height:n?.offsetHeight??100}),Ac(this.j,e).appendChild(this.draggable)}M(this.draggable,{left:t.clientX,top:t.clientY}),this.j.s.insertCursorAtPoint(t.clientX,t.clientY)}}onDragEnd(){this.isInDestruct||(this.removeDragListeners(),this.j.unlock(),this.state=Fv.IDLE,this.draggable&&=(P.safeRemove(this.draggable),null))}onDrop(){if(!this.draggable||this.state<Fv.DRAGGING){this.onDragEnd();return}let e=is(this.draggable,`target`);this.onDragEnd(),this.isCopyMode&&(e=e.cloneNode(!0));let{parentElement:t}=e;this.j.s.insertNode(e,!0,!1),[e.previousSibling,e.nextSibling].forEach(e=>{P.isEmptyTextNode(e)&&P.safeRemove(e)}),t&&P.isEmpty(t)&&!P.isCell(t)&&P.safeRemove(t),P.isTag(e,`img`)&&this.j.e&&this.j.e.fire(`afterInsertImage`,e),this.j.e.fire(`synchro`)}addDragListeners(){this.j.e.on(this.j.editor,`mousemove`,this.onDrag).on(`mouseup`,this.onDrop).on([this.j.ew,this.ow],`mouseup`,this.onDragEnd)}removeDragListeners(){this.j.e.off(this.j.editor,`mousemove`,this.onDrag).off(`mouseup`,this.onDrop).off([this.j.ew,this.ow],`mouseup`,this.onDragEnd)}beforeDestruct(){this.onDragEnd(),this.j.e.off(`mousedown dragstart`,this.onDragStart).off(`startDragElement`,this.onStartDragElement),this.removeDragListeners()}};Pv([A],Iv.prototype,`onStartDragElement`,null),Pv([A],Iv.prototype,`onDragStart`,null),Pv([nu(e=>e.defaultTimeout/10)],Iv.prototype,`onDrag`,null),Pv([A],Iv.prototype,`onDragEnd`,null),Pv([A],Iv.prototype,`onDrop`,null),Ec.add(`dragAndDropElement`,Iv),F.prototype.controls.file={popup:(e,t,n)=>{let r=(t,n=``)=>{e.s.insertNode(e.createInside.fromHTML(`<a href="${t}" title="${n}">${n||t}</a>`))},i=null;return t&&(P.isTag(t,`a`)||P.closest(t,`a`,e.editor))&&(i=P.isTag(t,`a`)?t:P.closest(t,`a`,e.editor)),Xh(e,{filebrowser:e=>{e.files&&e.files.forEach(t=>r(e.baseurl+t)),n()},upload:!0,url:(e,t)=>{i?(N(i,`href`,e),N(i,`title`,t)):r(e,t),n()}},i,n,!1)},tags:[`a`],tooltip:`Insert file`};function Lv(e){e.registerButton({name:`file`,group:`media`})}Ec.add(`file`,Lv),F.prototype.autofocus=!1,F.prototype.cursorAfterAutofocus=`end`,F.prototype.saveSelectionOnBlur=!0;function Rv(e){e.o.saveSelectionOnBlur&&e.e.on(`blur`,()=>{e.isEditorMode()&&e.s.save(!0)}).on(`focus`,()=>{e.isEditorMode()&&e.s.restore()});let t=()=>{e.s.focus();let t=null;switch(e.o.cursorAfterAutofocus){case`start`:t=P.first(e.editor,e=>P.isText(e));break;case`end`:t=P.last(e.editor,e=>P.isText(e))}t&&e.s.setCursorIn(t,e.o.cursorAfterAutofocus===`start`)};e.e.on(`afterInit`,()=>{e.o.autofocus&&(e.defaultTimeout?e.async.setTimeout(t,300):t())}),e.e.on(`afterInit afterAddPlace`,()=>{e.e.off(e.editor,`mousedown.autofocus`).on(e.editor,`mousedown.autofocus`,t=>{e.isEditorMode()&&t.target&&P.isBlock(t.target)&&!t.target.childNodes.length&&(e.editor===t.target?e.s.focus():e.s.setCursorIn(t.target))})})}Ec.add(`focus`,Rv);var zv=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 24 24"> <path stroke-width="0" d="M22,20.6L3.4,2H8V0H0v8h2V3.4L20.6,22H16v2h8v-8h-2V20.6z M16,0v2h4.7l-6.3,6.3l1.4,1.4L22,3.5V8h2V0H16z M8.3,14.3L2,20.6V16H0v8h8v-2H3.5l6.3-6.3L8.3,14.3z"/> </svg> `,Bv=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M896 960v448q0 26-19 45t-45 19-45-19l-144-144-332 332q-10 10-23 10t-23-10l-114-114q-10-10-10-23t10-23l332-332-144-144q-19-19-19-45t19-45 45-19h448q26 0 45 19t19 45zm755-672q0 13-10 23l-332 332 144 144q19 19 19 45t-19 45-45 19h-448q-26 0-45-19t-19-45v-448q0-26 19-45t45-19 45 19l144 144 332-332q10-10 23-10t23 10l114 114q10 10 10 23z"/> </svg> `;F.prototype.fullsize=!1,F.prototype.globalFullSize=!0,vu.set(`fullsize`,zv).set(`shrink`,Bv),F.prototype.controls.fullsize={exec:e=>{e.toggleFullSize()},update(e,t){let n=e.isFullSize?`shrink`:`fullsize`;t.state.activated=e.isFullSize,e.o.textIcons?t.state.text=n:t.state.icon.name=n},tooltip:`Open in fullsize`,mode:3};var Vv=new Set;function Hv(e){e.registerButton({name:`fullsize`});let t=!1,n=0,r=0,i=0,a=0,o=!1,s=()=>{let{container:i,events:a}=e;a&&(t?(o||=(n=M(i,`height`,!0),r=M(i,`width`,!0),!0),M(i,{height:e.ow.innerHeight,width:e.ow.innerWidth})):o&&=(M(i,{height:n||`auto`,width:r||`auto`}),!1))},c=n=>{var r;let{container:o,events:c}=e;if(o){if(n===void 0&&(n=!o.classList.contains(`jodit_fullsize`)),e.setMod(`fullsize`,n),e.o.fullsize=n,t=n,o.classList.toggle(`jodit_fullsize`,n),e.toolbar&&(Ms(e)&&((r=e.toolbarContainer)==null||r.appendChild(e.toolbar.container)),M(e.toolbar.container,`width`,`auto`)),n?Vv.add(o):Vv.delete(o),e.o.globalFullSize&&(Vv.size===1&&n||Vv.size===0&&!n)){n&&(i=e.ow.scrollX,a=e.ow.scrollY);
526let t=o.parentNode;for(;t&&t.nodeType!==Node.DOCUMENT_NODE&&t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE;)t.classList.toggle(`jodit_fullsize-box_true`,n),t=t.parentNode;s(),n||e.ow.scrollTo(i,a)}c.fire(`afterResize`)}};e.o.globalFullSize&&e.e.on(e.ow,`resize`,s),e.e.on(`afterInit afterOpen`,()=>{e.toggleFullSize(e?.options?.fullsize)}).on(`toggleFullSize`,c).on(`beforeDestruct`,()=>{t&&c(!1)}).on(`beforeDestruct`,()=>{e.events&&e.e.off(e.ow,`resize`,s)})}Ec.add(`fullsize`,Hv),vu.set(`hr`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1600 736v192q0 40-28 68t-68 28h-1216q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h1216q40 0 68 28t28 68z"/> </svg> `),F.prototype.controls.hr={command:`insertHorizontalRule`,tags:[`hr`],tooltip:`Insert Horizontal Line`};function Uv(e){e.registerButton({name:`hr`,group:`insert`}),e.registerCommand(`insertHorizontalRule`,()=>{let t=e.createInside.element(`hr`);e.s.insertNode(t,!1,!1);let n=P.closest(t.parentElement,P.isBlock,e.editor);n&&P.isEmpty(n)&&n!==e.editor&&(P.after(n,t),P.safeRemove(n));let r=P.next(t,P.isBlock,e.editor,!1);return r||(r=e.createInside.element(e.o.enter),P.after(t,r)),e.s.setCursorIn(r),!1})}Ec.add(`hr`,Uv),F.prototype.imageProcessor={replaceDataURIToBlobIdInView:!0};var Wv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gv=`__jodit_imageprocessor_binded`,Kv=`__jodit_imageprocessor_bindedblob-id`,qv=class extends Lf{afterInit(e){}beforeDestruct(e){let t=Rs(e,`buffer`),n=t?.get(Kv);if(t&&n){let e=Object.keys(n);for(let t of e)URL.revokeObjectURL(t);t.delete(Kv)}}onAfterGetValueFromEditor(e,t){if(t!==`source-consumer`)return this.onBeforeSetElementValue(e)}onBeforeSetElementValue(e){let{jodit:t}=this;if(!t.o.imageProcessor.replaceDataURIToBlobIdInView)return;let n=t.buffer.get(Kv);if(n){let t=Object.keys(n);for(let r of t)for(;e.value.includes(r);)e.value=e.value.replace(r,n[r])}}async afterChange(e){let{jodit:t}=this;t.editor&&Pc(`img`,t.editor).forEach(e=>{is(e,Gv)||(is(e,Gv,!0),e.complete||t.e.on(e,`load`,function n(){var r;!t.isInDestruct&&((r=t.e)==null||r.fire(`resize`)),t.e.off(e,`load`,n)}),e.src&&/^data:/.test(e.src)&&Jv(t,e),t.e.on(e,`mousedown touchstart`,()=>{t.s.select(e)}))})}};Wv([I(`:afterGetValueFromEditor`)],qv.prototype,`onAfterGetValueFromEditor`,null),Wv([I(`:beforeSetElementValue`)],qv.prototype,`onBeforeSetElementValue`,null),Wv([I([`:change`,`:afterInit`,`:changePlace`]),tu()],qv.prototype,`afterChange`,null);function Jv(e,t){if(!e.o.imageProcessor.replaceDataURIToBlobIdInView||typeof ArrayBuffer>`u`||typeof URL>`u`)return;let n=t.src,r=Yv(n);t.src=URL.createObjectURL(r),e.e.fire(`internalUpdate`);let{buffer:i}=e,a=i.get(Kv)||{};a[t.src]=n,e.buffer.set(Kv,a)}function Yv(e){let t=atob(e.split(`,`)[1]),n=e.split(`,`)[0].split(`:`)[1].split(`;`)[0],r=new ArrayBuffer(t.length),i=new Uint8Array(r);for(let e=0;e<t.length;e++)i[e]=t.charCodeAt(e);return new Blob([r],{type:n})}Ec.add(`imageProcessor`,qv),F.prototype.image={dialogWidth:600,openOnDblClick:!0,editSrc:!0,useImageEditor:!0,editTitle:!0,editAlt:!0,editLink:!0,editSize:!0,editBorderRadius:!0,editMargins:!0,editClass:!0,availableClasses:[],editStyle:!0,editId:!0,editAlign:!0,showPreview:!0,selectImageAfterClose:!0};var Xv=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Zv=class extends Ou{className(){return`UIImageMainTab`}appendChildToContainer(){}constructor(e,t,n){super(e),this.state=t,this.handlers=n}render(){return`<div class="jodit-form__group &__editSrc">
527			<label>~Src~</label>
528			<div class="jodit-input_group">
529				<input class="jodit-input &__imageSrc" type="text"/>
530				<div class="jodit-input_group-buttons &__fixImage">
531					<a class="jodit-button &__changeImage" data-ref="changeImage">*image*</a>
532					<a class="jodit-button &__editImage" data-ref="editImage">*crop*</a>
533				</div>
534			</div>
535		</div>
536		<div class="jodit-form__group &__editTitle">
537			<label>~Title~</label>
538			<input type="text" class="jodit-input &__imageTitle"/>
539		</div>
540		<div class="jodit-form__group &__editAlt">
541			<label>~Alternative~</label>
542			<input type="text" class="jodit-input &__imageAlt"/>
543		</div>
544		<div class="jodit-form__group &__editLink">
545			<label>~Link~</label>
546			<input type="text" class="jodit-input &__imageLink"/>
547		</div>
548		<div class="jodit-form__group &__editLinkTarget">
549			<label class="jodit_vertical_middle">
550				<input type="checkbox" class="jodit-checkbox &__imageLinkOpenInNewTab"/>
551				<span>~Open link in new tab~</span>
552			</label>
553		</div>`}async onStateImageSrcChange(){let e=this.getElm(`imageSrc`);e.value=this.state.values.imageSrc}onImageSrcChange(){this.state.values.imageSrc=this.getElm(`imageSrc`).value}onEditImageClick(e){this.handlers.openImageEditor(),e.stopPropagation()}onChangeImageClick(e){this.handlers.openImagePopup(this.getElm(`changeImage`)),e.stopPropagation()}onStateTitleChange(){let e=this.getElm(`imageTitle`);e.value=this.state.values.imageTitle}onTitleChange(){this.state.values.imageTitle=this.getElm(`imageTitle`).value}onStateAltChange(){let e=this.getElm(`imageAlt`);e.value=this.state.values.imageAlt}onAltChange(){this.state.values.imageAlt=this.getElm(`imageAlt`).value}onStateImageLinkChange(){let e=this.getElm(`imageLink`);e.value=this.state.values.imageLink}onImageLinkChange(){this.state.values.imageLink=this.getElm(`imageLink`).value}onStateImageLinkOpenInNewTabChange(){let e=this.getElm(`imageLinkOpenInNewTab`);e.checked=this.state.values.imageLinkOpenInNewTab}onImageLinkOpenInNewTabChange(){this.state.values.imageLinkOpenInNewTab=this.getElm(`imageLinkOpenInNewTab`).checked}hideFieldByOptions(){let e=this.j.o,t=e.image;[[`editSrc`,`editSrc`],[`editTitle`,`editTitle`],[`editAlt`,`editAlt`],[`editLink`,`editLink`],[`editLink`,`editLinkTarget`],[`useImageEditor`,`editImage`]].forEac
553h(([e,n])=>{M(this.getElm(n),`display`,t[e]?null:`none`)});let n=this.getElm(`changeImage`),r=!!(e.filebrowser.ajax.url||e.uploader.url);M(n,`display`,r?null:`none`);let i=this.getElm(`editImage`),a=!!e.filebrowser.ajax.url&&t.useImageEditor;M(i,`display`,a?null:`none`),M(this.getElm(`fixImage`),`display`,r||a?null:`none`)}};Xv([I(`state.values.imageSrc`)],Zv.prototype,`onStateImageSrcChange`,null),Xv([I(`imageSrc:change`)],Zv.prototype,`onImageSrcChange`,null),Xv([I(`editImage:click`)],Zv.prototype,`onEditImageClick`,null),Xv([I(`changeImage:click`)],Zv.prototype,`onChangeImageClick`,null),Xv([I(`state.values.imageTitle`)],Zv.prototype,`onStateTitleChange`,null),Xv([I(`imageTitle:change`)],Zv.prototype,`onTitleChange`,null),Xv([I(`state.values.imageAlt`)],Zv.prototype,`onStateAltChange`,null),Xv([I(`imageAlt:change`)],Zv.prototype,`onAltChange`,null),Xv([I(`state.values.imageLink`)],Zv.prototype,`onStateImageLinkChange`,null),Xv([I(`imageLink:change`)],Zv.prototype,`onImageLinkChange`,null),Xv([I(`state.values.imageLinkOpenInNewTab`)],Zv.prototype,`onStateImageLinkOpenInNewTabChange`,null),Xv([I(`imageLinkOpenInNewTab:change`)],Zv.prototype,`onImageLinkOpenInNewTabChange`,null),Xv([iu(`ready`)],Zv.prototype,`hideFieldByOptions`,null),Zv=Xv([Ws],Zv);var Qv=e=>/^[-+]?[0-9.]+(px)?$/.test(e.toString())?parseFloat(e.toString()):e,$v=e=>Fs(e)?e?e+`px`:e.toString():(e=zo(e),/^[0-9]+$/.test(e)?e+`px`:e),ey=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ty=class extends xu{className(){return`UIImagePositionTab`}constructor(e,t,n){super(e,{availableClasses:e.o.image.availableClasses}),this.state=t,this.handlers=n}render({availableClasses:e}){return`<div class="jodit-form__group &__editMargins">
554			<label>~Margins~</label>
555			<div class="jodit-grid jodit_vertical_middle">
556				<input class="jodit_col-lg-1-5 jodit-input &__marginTop" type="text" placeholder="~top~"/>
557				<a style="text-align: center;" class="jodit-properties__lock jodit_col-lg-1-5 &__lockMargin">*lock*</a>
558				<input disabled="disabled" class="jodit_col-lg-1-5 jodit-input &__marginRight" type="text" placeholder="~right~"/>
559				<input disabled="disabled" class="jodit_col-lg-1-5 jodit-input &__marginBottom" type="text" placeholder="~bottom~"/>
560				<input disabled="disabled" class="jodit_col-lg-1-5 jodit-input &__marginLeft" type="text" placeholder="~left~"/>
561			</div>
562		</div>
563		<div class="jodit-form__group &__editAlign">
564			<label>~Align~</label>
565			<select class="jodit-select &__align">
566				<option value="">~--Not Set--~</option>
567				<option value="left">~Left~</option>
568				<option value="center">~Center~</option>
569				<option value="right">~Right~</option>
570			</select>
571		</div>
572		<div class="jodit-form__group &__editStyle">
573			<label>~Styles~</label>
574			<input type="text" class="jodit-input &__style"/>
575		</div>
576		<div class="jodit-form__group &__editClass">
577			<label>~Classes~</label>
578			${(()=>{let t=[];return e&&e.length>0?(t.push(`<select class="jodit-input jodit-select &__classes">`),e.forEach(e=>{j(e)?t.push(`<option value="${e}">${e}</option>`):t.push(`<option value="${e[0]}">${e[1]}</option>`)}),t.push(`</select>`)):t.push(`<input type="text" class="jodit-input &__classes"/>`),t.join(``)})()}
579		</div>
580		<div class="jodit-form__group &__editId">
581			<label>Id</label>
582			<input type="text" class="jodit-input &__id"/>
583		</div>
584		<div
585			class="jodit-form__group &__editBorderRadius"
586		>
587			<label>~Border radius~</label>
588			<input type="number" class="jodit-input &__borderRadius"/>
589		</div>`}onStateAlignChange(){let e=this.getElm(`align`);e.value=this.state.values.align}onChangeAlign(){let e=this.getElm(`align`);this.state.values.align=e.value}onStateValuesBorderRadiusChange(){let e=this.getElm(`borderRadius`);e.value=this.state.values.borderRadius.toString()}onChangeBorderRadius(){let e=this.getElm(`borderRadius`);this.state.values.borderRadius=parseFloat(e.value)}onStateValuesIdChange(){let e=this.getElm(`id`);e.value=this.state.values.id}onChangeId(){let e=this.getElm(`id`);this.state.values.id=e.value}onStateValuesStyleChange(){let e=this.getElm(`style`);e.value=this.state.values.style}onChangeStyle(){let e=this.getElm(`style`);this.state.values.style=e.value}onStateValuesClassesChange(){let e=this.getElm(`classes`);e.value=this.state.values.classes}onChangClasses(){let e=this.getElm(`classes`);this.state.values.classes=e.value}onLockMarginClick(e){this.state.marginIsLocked=!this.state.marginIsLocked,e.preventDefault()}onChangeMarginIsLocked(){let e=this.getElm(`marginBottom`),t=this.getElm(`marginRight`),n=this.getElm(`marginLeft`),r=this.getElm(`lockMargin`);
589if([t,e,n].forEach(e=>{N(e,`disabled`,this.state.marginIsLocked||null)}),r.innerHTML=vu.get(this.state.marginIsLocked?`lock`:`unlock`),this.state.marginIsLocked){let e=this.state.values.marginTop;this.state.values.marginRight=e,this.state.values.marginBottom=e,this.state.values.marginLeft=e}}onStateValuesMarginChange(){let e=this.getElm(`marginTop`),t=this.getElm(`marginRight`),n=this.getElm(`marginBottom`),r=this.getElm(`marginLeft`);e.value=this.state.values.marginTop.toString(),t.value=this.state.values.marginRight.toString(),n.value=this.state.values.marginBottom.toString(),r.value=this.state.values.marginLeft.toString()}onChangeMargin(){let e=this.getElm(`marginTop`),t=this.getElm(`marginRight`),n=this.getElm(`marginBottom`),r=this.getElm(`marginLeft`);this.state.values.marginTop=Qv(e.value),this.state.marginIsLocked?(this.state.values.marginRight=this.state.values.marginTop,this.state.values.marginBottom=this.state.values.marginTop,this.state.values.marginLeft=this.state.values.marginTop):(this.state.values.marginRight=Qv(t.value),this.state.values.marginBottom=Qv(n.value),this.state.values.marginLeft=Qv(r.value))}hideFieldByOptions(){let e=this.j.o.image;[[`editMargins`,`editMargins`],[`editAlign`,`editAlign`],[`editStyle`,`editStyle`],[`editClass`,`editClass`],[`editId`,`editId`],[`editBorderRadius`,`editBorderRadius`]].forEach(([t,n])=>{M(this.getElm(n),`display`,e[t]?null:`none`)})}};ey([iu(`ready`),I(`state.values.align`)],ty.prototype,`onStateAlignChange`,null),ey([I(`align:change`)],ty.prototype,`onChangeAlign`,null),ey([iu(`ready`),I(`state.values.borderRadius`)],ty.prototype,`onStateValuesBorderRadiusChange`,null),ey([I(`borderRadius:change`)],ty.prototype,`onChangeBorderRadius`,null),ey([iu(`ready`),I(`state.values.id`)],ty.prototype,`onStateValuesIdChange`,null),ey([I(`id:change`)],ty.prototype,`onChangeId`,null),ey([iu(`ready`),I(`state.values.style`)],ty.prototype,`onStateValuesStyleChange`,null),ey([I(`style:change`)],ty.prototype,`onChangeStyle`,null),ey([iu(`ready`),I(`state.values.classes`)],ty.prototype,`onStateValuesClassesChange`,null),ey([I(`classes:change`)],ty.prototype,`onChangClasses`,null),ey([I(`lockMargin:click`)],ty.prototype,`onLockMarginClick`,null),ey([iu(`ready`),I(`state.marginIsLocked`)],ty.prototype,`onChangeMarginIsLocked`,null),ey([iu(`ready`),I([`state.values.marginTop`,`state.values.marginRight`,`state.values.marginBottom`,`state.values.marginLeft`])],ty.prototype,`onStateValuesMarginChange`,null),ey([I([`marginTop:change`,`marginRight:change`,`marginBottom:change`,`marginLeft:change`])],ty.prototype,`onChangeMargin`,null),ey([iu(`ready`)],ty.prototype,`hideFieldByOptions`,null),ty=ey([Ws],ty);var ny=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ry=class extends Ou{className(){return`UIImagePropertiesForm`}appendChildToContainer(){}getElm(e){let t=super.getElm(e);if(t)return t;for(let t of this.elements){let n=t.getElm(e);if(n)return n}return null}constructor(e,t,n,r){super(e),this.state=t,this.handlers=r,this.__mainTab=new Zv(this.jodit,this.state,this.handlers),this.__positionTab=new ty(this.jodit,this.state,this.handlers),this.getElm(`tabsBox`).appendChild(Yh(e,[{name:`Image`,content:this.__mainTab},{name:`Advanced`,content:this.__positionTab}],n)),this.setMod(`lock-size`,this.state.sizeIsLocked),this.append(this.__mainTab).append(this.__positionTab)}render(){return`<form>
590		<div class="jodit-grid jodit-grid_xs-column">
591			<div class="jodit_col-lg-2-5 jodit_col-xs-5-5">
592				<div class="&__view-box">
593					<div class="&__imageView">
594						<img class="&__imageViewSrc" src="" alt=""/>
595					</div>
596					<div class="jodit-form__group &__imageSizes">
597						<input type="text" class="jodit-input &__imageWidth"/>
598						<a class="&__lockSize">${vu.get(`lock`)}</a>
599						<input type="text" class="&__imageHeight jodit-input"/>
600					</div>
601				</div>
602			</div>
603			<div class="jodit_col-lg-3-5 jodit_col-xs-5-5 &__tabsBox"></div>
604		</div>
605	</form>`}onChangeSizeIsLocked(){let e=this.getElm(`lockSize`),t=this.getElm(`imageWidth`);e.innerHTML=vu.get(this.state.sizeIsLocked?`lock`:`unlock`),this.setMod(`lock-size`,this.state.sizeIsLocked),this.j.e.fire(t,`change`)}onLockSizeClick(){this.state.sizeIsLocked=!this.state.sizeIsLocked}onStateValuesSizeChange(){let e=this.getElm(`imageWidth`),t=this.getElm(`imageHeight`);e!==this.j.od.activeElement&&(e.value=this.state.values.imageWidth.toString()),t!==this.j.od.activeElement&&(t.value=this.state.values.imageHeight.toString())}onImageWidthChange(e){let t=this.getElm(`imageWidth`),n=this.getElm(`imageHeight`);if(!this.state.sizeIsLocked||!Yo(t.value)||!Yo(n.value)){this.state.values.imageWidth=t.value,this.state.values.imageHeight=n.value;return}let r=parseFloat(t.value),i=parseFloat(n.value);e.target===t?(this.state.values.imageWidth=r,this.state.values.imageHeight=Math.round(r/this.state.ratio)):(this.state.values.imageWidth=Math.round(i*this.state.ratio),this.state.values.imageHeight=i)}onStateValuesImageSrcChange(){let{imageSrc:e}=this.state.values;if(!e)return;N(this.getElm(`imageViewSrc`),`src`,e);let t=new Image;t.src=e,this.state.image=t}hideFieldByOptions(){let e=this.j.o.image;[[`editSize`,`imageSizes`],[`showPreview`,`imageView`]].forEach(([t,n])=>{M(this.getElm(n),`display`,e[t]?null:`none`)})}};ny([iu(`ready`),I(`state.sizeIsLocked`)],ry.prototype,`onChangeSizeIsLocked`,null),ny([I(`lockSize:click`)],ry.prototype,`onLockSizeClick`,null),ny([iu(`ready`),I([`state.values.imageWidth`,`state.values.imageHeight`])],ry.prototype,`onStateValuesSizeChange`,null),ny([I([`imageWidth:change`,`imageHeight:change`,`imageWidth:keydown`,`imageHeight:keydown`,`imageWidth:mousedown`,`imageHeight:mousedown`,`imageWidth:paste`,`imageHeight:paste`]),tu()],ry.prototype,`onImageWidthChange`,null),ny([iu(`ready`),I(`state.values.imageSrc`)],ry.prototype,`onStateValuesImageSrcChange`,null),ny([iu(`ready`)],ry.prototype,`hideFieldByOptions`,null),ry=ny([Ws],ry);function iy(e,t){let n=N(t.image,`src`)||``,r=e.c.element(`a`),i=()=>{if(r.host!==location.host){e.confirm(`You can only edit your own images. Download this image on the host?`,n=>{n&&e.uploader&&e.uploader.uploadRemoteImage(r.href.toString(),n=>{e.alert(`The image has been successfully uploaded to the host!`,()=>{j(n.newfilename)&&(t.values.imageSrc=n.baseurl+n.newfilename)})},t=>{e.alert(e.i18n(`There was an error loading %s`,t.message))})});return}};r.href=n,e.filebrowser.dataProvider.getPathByUrl(r.href.toString()).then(i=>{Cf.call(e.filebrowser,r.href,i.name,i.path,i.source,e=>{let r=new Date().getTime(),i=e||n;t.values.imageSrc=i+(i.indexOf(`?`)===-1?`?`:``)+`&_tmp=`+r.toString()},t=>{e.alert(t.message)})}).catch(t=>{e.alert(t.message,i)})}function ay(e,t,n,r){let i=new _d(t),a=()=>{i.close(),i.destruct()};i.setContent(Xh(e,{upload:e=>{e.files&&e.files.length&&(n.values.imageSrc=e.baseurl+e.files[0]),a()},filebrowser:async e=>{e&&Ao(e.files)&&e.files.length&&(n.values.imageSrc=e.files[0],a())}},n.image,a)).open(()=>Kl(r))}function oy(e,t){t.align=e.style.cssFloat&&[`left`,`right`].indexOf(e.style.cssFloat.toLowerCase())!==-1?M(e,`float`):M(e,`display`)===`block`&&e.style.marginLeft===`auto`&&e.style.marginRight===`auto`?`center`:``}function sy(e,t,n){let r=P.closest(e.sourceImage,`a`,t.editor);r?(n.imageLink=N(r,`href`)||``,n.imageLinkOpenInNewTab=N(r,`target`)===`_blank`):(n.imageLink=``,n.imageLinkOpenInNewTab=!1)}function cy(e,t,n){let r=!0,i=!1;[`marginTop`,`marginRight`,`marginBottom`,`marginLeft`].forEach(n=>{let a=e.style.getPropertyValue(Ko(n));if(!a){i=!0,t[n]=0;return}/^[0-9]+(px)?$/.test(a)&&(a=parseInt(a,10)),t[n]=a,(i&&t[n]||r&&n!==`marginTop`&&t[n]!==t.marginTop)&&(r=!1)}),n.marginIsLocked=r}async function ly(e,t,n){try{await e.decode()}catch(e){console.error(e)}let r=M(e,`width`,!0)||N(e,`width`)||!1,i=M(e,`height`,!0)||N(e,`height`)||!1;t.imageWidth=r===!1?e.offsetWidth||e.naturalWidth:Qv(r),t.imageHeight=Yo(t.imageWidth)?i===!1?e.offsetHeight||e.naturalHeight:Qv(i):i||``;let{imageWidth:a,imageHeight:o}=t,s=parseFloat(a.toString());if(!Yo(a)||!Yo(o)){n.sizeIsLocked=!1;return}if(i===!1){t.imageHeight=Math.round(s/n.ratio),n.sizeIsLocked=!0;return}let c=parseFloat(o.toString());n.sizeIsLocked=Math.abs(s-c*n.ratio)<1}async function uy(e,t){let{sourceImage:n,values:r}=t;return oy(n,r),r.borderRadius=parseInt(n.style.borderRadius||`0`,10)||0,r.id=N(n,`id`)||``,r.imageTitle=N(n,`title`)||``,r.imageAlt=N(n,`alt`)||``,r.style=N(n,`style`)||``,r.classes=(N(n,`class`)||``).replace(/jodit_focused_image[\s]*/,``),cy(n,r,t),sy(t,e,r),r.imageSrc=N(n,`src`)||``,ly(n,r,t)}function dy(e,t,n,r){let i=P.closest(t,`a`,e.editor);if(n){if(i||=P.wrap(t,`a`,e.createInside),N(i,`href`,n),N(i,`target`,r?`_blank`:null),!r){let e=(N(i,`rel`)||``).split(/\s+/).filter(e=>e&&e!==`noopener`&&e!==`noreferrer`);N(i,`rel`,e.length?e.join(` `):null)}}else i&&i.parentNode&&i.parentNode.replaceChild(t,i)}function fy(e,t,n,r,i,a,o){let s=[t,n,r,i],c=(e,t)=>{let n=M(a,e),r=$v(t);n.toString()!==r.toString()&&M(a,e,r)};if(o)c(`margin`,t);else{let e=[`margin-top`,`margin-right`,`margin-bottom`,`margin-left`];
605s.forEach((t,n)=>{let r=e[n];c(r,t)})}}function py(e,t,n,r){if(t!==e.offsetWidth||n!==e.offsetHeight){let i=t?$v(t):null,a=n?$v(n):null;M(e,{width:i,height:i&&r?null:a}),N(e,`width`,i&&Yo(t)&&N(e,`width`)?i:null),(!N(e,`width`)||r)&&(a=null),N(e,`height`,a)}}function my(e,t,n){let{style:r,imageSrc:i,borderRadius:a,imageTitle:o,imageAlt:s,imageLink:c,imageWidth:l,imageHeight:u,marginTop:d,marginRight:f,marginBottom:p,marginLeft:m,imageLinkOpenInNewTab:h,align:g,classes:_,id:v}=t.values,y=e.o;if(y.image.editStyle&&N(n,`style`,r||null),i)N(n,`src`,i);else{P.safeRemove(n);return}n.style.borderRadius=a?a+`px`:``,N(n,`title`,o||null),N(n,`alt`,s||null),dy(e,n,c,h),py(n,l,u,t.sizeIsLocked),e.o.image.editMargins&&fy(e,d,f,p,m,n,t.marginIsLocked),y.image.editClass&&N(n,`class`,_||null),y.image.editId&&N(n,`id`,v||null),y.image.editAlign&&Wc(n,g)}var hy=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},gy=class extends Lf{constructor(){super(...arguments),this.state={image:new Image,sourceImage:new Image,get ratio(){let{naturalWidth:e,naturalHeight:t}=this.image;return e/t||1},sizeIsLocked:!0,marginIsLocked:!0,values:{style:``,imageSrc:``,borderRadius:0,imageTitle:``,imageAlt:``,imageLink:``,imageLinkOpenInNewTab:!1,imageWidth:0,imageHeight:0,marginTop:0,marginRight:0,marginBottom:0,marginLeft:0,classes:``,id:``,align:``}},this.activeTabState={activeTab:`Image`}}get form(){return new ry(this.j,this.state,this.activeTabState,{openImageEditor:()=>iy(this.j,this.state),openImagePopup:e=>ay(this.j,this.dialog,this.state,e)})}get dialog(){let{j:e}=this,t=e.dlg({minWidth:Math.min(400,screen.width),minHeight:590,buttons:[`fullsize`,`dialog.close`]}),n=this.__buttons;return n.check.onAction(()=>{my(e,this.state,this.state.sourceImage),e.synchronizeValues(),t.close()}),n.remove.onAction(()=>{e.s.removeNode(this.state.sourceImage),t.close()}),n.cancel.onAction(()=>{t.close()}),t.setHeader(e.i18n(`Image properties`)),t.setContent(this.form),t.setFooter([[n.cancel,n.remove],n.check]),e.e.on(t,`afterClose`,()=>{this.state.image.parentNode&&e.o.image.selectImageAfterClose&&e.s.select(this.state.sourceImage)}),t.setSize(e.o.image.dialogWidth),ms(e,t.container),t}get __buttons(){let{j:e}=this;return{check:Tu(e,`ok`,`Apply`,`primary`),remove:Tu(e,`bin`,`Delete`),cancel:Tu(e,`cancel`,`Cancel`)}}open(){return this.activeTabState.activeTab=`Image`,this.__lock(),this.dialog.open().setModal(!0).setPosition(),this.async.promise((e,t)=>uy(this.j,this.state).then(e,t)).catch(e=>{Cs(e)||this.dialog.message.error(e.message)}).finally(()=>this.__unlock()),!1}__lock(){this.dialog.lock(),this.form.setMod(`lock`,!0),Object.values(this.__buttons).forEach(e=>e.state.disabled=!0)}__unlock(){this.dialog.unlock(),this.form.setMod(`lock`,!1),Object.values(this.__buttons).forEach(e=>e.state.disabled=!1)}afterInit(e){let t=this;e.e.on(`afterConstructor changePlace`,()=>{e.e.off(e.editor,`.imageproperties`).on(e.editor,`dblclick.imageproperties`,n=>{let r=n.target;if(P.isTag(r,`img`))if(e.o.image.openOnDblClick){if(this.j.e.fire(`openOnDblClick`,r)===!1)return;t.state.sourceImage=r,t.state.image=r.cloneNode(!0),e.o.readonly||(n.stopImmediatePropagation(),n.preventDefault(),t.open())}else n.stopImmediatePropagation(),e.s.select(r)})}).on(`openImageProperties.imageproperties`,e=>{t.state.sourceImage=e,this.state.image=e.cloneNode(!0),this.open()})}async onStateValuesImageSrcChange(){let{image:e,values:t}=this.state;if(e.src)try{this.__lock();try{await e.decode()}catch(e){console.error(e)}if(this.state.sizeIsLocked&&Yo(t.imageWidth)){let e=parseFloat(t.imageWidth.toString());t.imageHeight=Math.round(e/this.state.ratio)}this.j.e.fire(`updateImageProperties.imageproperties`,e)}catch(e){this.j.alert(e.message)}finally{this.__unlock()}}beforeDestruct(e){var t,n;Object.values(Rs(this,`__buttons`)??{}
605).forEach(e=>e.destruct()),(t=Rs(this,`dialog`))==null||t.destruct(),(n=Rs(this,`form`))==null||n.destruct(),e.e.off(e.editor,`.imageproperties`).off(`.imageproperties`)}};hy([zs],gy.prototype,`form`,null),hy([zs],gy.prototype,`dialog`,null),hy([zs],gy.prototype,`__buttons`,null),hy([I(`state.image`)],gy.prototype,`onStateValuesImageSrcChange`,null),Ec.add(`imageProperties`,gy);var _y=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M352 832q0 14-9 23l-288 288q-9 9-23 9-13 0-22.5-9.5t-9.5-22.5v-576q0-13 9.5-22.5t22.5-9.5q14 0 23 9l288 288q9 9 9 23zm1440 480v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5z"/> </svg> `,vy=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M384 544v576q0 13-9.5 22.5t-22.5 9.5q-14 0-23-9l-288-288q-9-9-9-23t9-23l288-288q9-9 23-9 13 0 22.5 9.5t9.5 22.5zm1408 768v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1088q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5h-1728q-13 0-22.5-9.5t-9.5-22.5v-192q0-13 9.5-22.5t22.5-9.5h1728q13 0 22.5 9.5t9.5 22.5z"/> </svg> `,yy=(e,t)=>`${P.isCell(t)?`padding`:`margin`}${e===`rtl`?`Right`:`Left`}`;vu.set(`indent`,_y).set(`outdent`,vy),F.prototype.controls.indent={tooltip:`Increase Indent`},F.prototype.controls.outdent={isDisabled:e=>{let t=e.s.current();if(!t)return!0;if(e.o.tab?.tabInsideLiInsertNewList){let n=P.closest(t,`li`,e.editor);if(n){let t=P.closest(n,[`ul`,`ol`],e.editor);if(t&&P.closest(t,`li`,e.editor))return!1}}let n=P.closest(t,P.isBlock,e.editor);if(n){let t=yy(e.o.direction,n);return!n.style[t]||parseInt(n.style[t],10)<=0}return!0},tooltip:`Decrease Indent`},F.prototype.indentMargin=10;var by=(e,t,n,r)=>{if(!t||e.has(t))return;let i=yy(n.o.direction,t);e.add(t);let a=t.style[i]?parseInt(t.style[i],10):0;a+=n.o.indentMargin*(r===`outdent`?-1:1),t.style[i]=a>0?a+`px`:``,N(t,`style`)||N(t,`style`,null)};function xy(e){e.registerButton({name:`indent`,group:`indent`}).registerButton({name:`outdent`,group:`indent`});let t=t=>{let n=new Set,{enter:r,enterBlock:i}=e.o,a=r.toLowerCase()===`br`,o=e.s.current();return a&&e.s.isCollapsed()&&o?(by(n,P.wrapNextInline(o,i,e),e,t),!1):(e.s.eachSelection(o=>{e.s.save();let s=o?P.up(o,P.isBlock,e.editor):!1;if(!s&&o&&(s=fs(a?P.wrapNextInline:P.wrapInline,o,a?i:r.toLowerCase(),e)),!s)return e.s.restore(),!1;by(n,s,e,t),e.s.restore()}),e.synchronizeValues(),!1)};e.registerCommand(`indent`,{exec:t,hotkeys:[`ctrl+]`,`cmd+]`]}),e.registerCommand(`outdent`,{exec:t,hotkeys:[`ctrl+[`,`cmd+[`]})}Ec.add(`indent`,xy),vu.set(`justify`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1792 1344v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45zm0-384v128q0 26-19 45t-45 19h-1664q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1664q26 0 45 19t19 45z"/> </svg> `),F.prototype.controls.align={name:`left`,tooltip:`Align`,update(e,t){let n=t.control,r=e.s.current();if(r){let i=M(P.closest(r,P.isBlock,e.editor)||e.editor,`text-align`).toString();n.defaultValue&&n.defaultValue.indexOf(i)!==-1&&(i=`left`);let{list:a,data:o}=n;o&&o.currentValue!==i&&a&&(Go(a)?a[i]:a.includes(i))&&(e.o.textIcons||n.component===`select`?t.state.text=i:t.state.icon.name=i,o.currentValue=i)}},isActive:(e,t)=>
605{let n=e.s.current();if(!n||!t.control.defaultValue)return!1;let r=P.closest(n,P.isBlock,e.editor)||e.editor;return t.control.defaultValue.indexOf(M(r,`text-align`).toString())===-1},defaultValue:[`left`,`start`,`inherit`],data:{currentValue:`left`},list:[`center`,`left`,`right`,`justify`]},F.prototype.controls.center={command:`justifyCenter`,css:{"text-align":`center`},tooltip:`Align Center`},F.prototype.controls.justify={command:`justifyFull`,css:{"text-align":`justify`},tooltip:`Align Justify`},F.prototype.controls.left={command:`justifyLeft`,css:{"text-align":`left`},tooltip:`Align Left`},F.prototype.controls.right={command:`justifyRight`,css:{"text-align":`right`},tooltip:`Align Right`};function Sy(e){e.registerButton({name:`align`,group:`indent`});let t=t=>(e.s.focus(),e.s.eachSelection(n=>{if(!n)return;let r=P.up(n,P.isBlock,e.editor);r||=P.wrapInline(n,e.o.enterBlock,e),Kc(t,r)}),!1);e.registerCommand(`justifyfull`,t),e.registerCommand(`justifyright`,t),e.registerCommand(`justifyleft`,t),e.registerCommand(`justifycenter`,t)}Ec.add(`justify`,Sy);var Cy=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},wy=class extends Lf{afterInit(e){}beforeDestruct(e){}onKeyDownArrow(e){if(e.key!==`ArrowRight`||!this.j.selection.isCollapsed())return;let{endContainer:t,endOffset:n}=this.j.selection.range;if(P.isText(t)&&t.nodeValue?.length===n){let{parentNode:e}=t;P.isInlineBlock(e)&&!P.findNotEmptyNeighbor(e,!1,this.j.editor)&&P.after(e,this.j.createInside.text(`\xA0`))}}};Cy([I(`:keydown`)],wy.prototype,`onKeyDownArrow`,null),Ec.add(`keyArrowOutside`,wy),F.prototype.limitWords=!1,F.prototype.limitChars=!1,F.prototype.limitHTML=!1;var Ty=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ey=class extends Lf{afterInit(e){let{limitWords:t,limitChars:n}=e.o;if(e&&(t||n)){let t=null;e.e.off(`.limit`).on(`beforePaste.limit`,()=>{t=e.history.snapshot.make()}).on(`keydown.limit keyup.limit beforeEnter.limit`,this.checkPreventKeyPressOrPaste).on(`change.limit`,this.checkPreventChanging).on(`afterPaste.limit`,()=>{if(this.__shouldDenyInput(!0)&&t)return e.history.snapshot.restore(t),e.e.fire(`denyPaste.limit`),!1})}}shouldPreventInsertHTML(e){return e&&(ao.includes(e.key)||e.ctrlKey||e.metaKey)?!1:this.__shouldDenyInput(!1)}__shouldDenyInput(e){let{jodit:t}=this,{limitWords:n,limitChars:r}=t.o,i=t.o.limitHTML?t.value:t.text,a=this.__splitWords(i);if(n&&Dy(a.length,n,e))return t.e.fire(`denyWords.limit limit.limit`),!0;let o=t.o.countTextSpaces?i.replace(Fa(),``).replace(/[\r\n]/g,``).length:a.join(``).length,s=!!(r&&Dy(o,r,e));return s&&t.e.fire(`denyChars.limit limit.limit`),s}checkPreventKeyPressOrPaste(e){if(this.shouldPreventInsertHTML(e))return!1}checkPreventChanging(e,t){let{jodit:n}=this;this.__shouldDenyInput(!0)&&(n.value=t)}__splitWords(e){return e.replace(Fa(),``).split(Ra()).filter(e=>e.length)}beforeDestruct(e){e.e.off(`.limit`)}};Ty([A],Ey.prototype,`checkPreventKeyPressOrPaste`,null),Ty([A],Ey.prototype,`checkPreventChanging`,null);function Dy(e,t,n){return n?e>t:e>=t}Ec.add(`limit`,Ey);var Oy=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path d="M5.09668 6.99707H7.17358L4.17358 3.99707L1.17358 6.99707H3.09668V17.0031H1.15881L4.15881 20.0031L7.15881 17.0031H5.09668V6.99707Z"/> <path d="M22.8412 7H8.84119V5H22.8412V7Z"/> <path d="M22.8412 11H8.84119V9H22.8412V11Z"/> <path d="M8.84119 15H22.8412V13H8.84119V15Z"/> <path d="M22.8412 19H8.84119V17H22.8412V19Z"/> </svg> `;F.prototype.defaultLineHeight=null,vu.set(`line-height`,Oy),F.prototype.controls.lineHeight={command:`applyLineHeight`,tags:[`ol`],tooltip:`Line height`,list:[1,1.1,1.2,1.3,1.4,1.5,2],exec:(e,t,{control:n})=>vs(e,t,{control:n},e=>e)};var ky=s({default:()=>Ay}),Ay={"Line height":`ارتفاع الخط`},jy=s({default:()=>My}),My={"Line height":`Výška čáry`},Ny=s({default:()=>Py}
605),Py={"Line height":`Zeilenhöhe`},Fy=s({default:()=>Iy}),Iy={"Line height":`Altura de la línea`},Ly=s({default:()=>Ry}),Ry={"Line height":`ارتفاع خط`},zy=s({default:()=>By}),By={"Line height":`Rivin korkeus`},Vy=s({default:()=>Hy}),Hy={"Line height":`Hauteur de ligne`},Uy=s({default:()=>Wy}),Wy={"Line height":`גובה שורה`},Gy=s({default:()=>Ky}),Ky={"Line height":`Vonal magassága`},R=s({default:()=>qy}),qy={"Line height":`Tinggi baris`},Jy=s({default:()=>Yy}),Yy={"Line height":`Altezza linea`},Xy=s({default:()=>Zy}),Zy={"Line height":`ラインの高さ`},Qy=s({default:()=>$y}),$y={"Line height":`선 높이`},eb=s({default:()=>tb}),tb={"Line height":`Зураасны өндөр`},nb=s({default:()=>rb}),rb={"Line height":`Lijnhoogte`},ib=s({default:()=>ab}),ab={"Line height":`Wysokość linii`},ob=s({default:()=>sb}),sb={"Line height":`Altura da linha`},cb=s({default:()=>lb}),lb={"Line height":`Высота линии`},ub=s({default:()=>db}),db={"Line height":`Çizgi yüksekliği`},fb=s({default:()=>pb}),pb={"Line height":`Висота лінії`},mb=s({default:()=>hb}),hb={"Line height":`线高`},gb=s({default:()=>_b}),_b={"Line height":`行高`},vb=s({ar:()=>ky,cs_cz:()=>jy,de:()=>Ny,es:()=>Fy,fa:()=>Ly,fi:()=>zy,fr:()=>Vy,he:()=>Uy,hu:()=>Gy,id:()=>R,it:()=>Jy,ja:()=>Xy,ko:()=>Qy,mn:()=>eb,nl:()=>nb,pl:()=>ib,pt_br:()=>ob,ru:()=>cb,tr:()=>ub,ua:()=>fb,zh_cn:()=>mb,zh_tw:()=>gb}),yb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bb=class extends Lf{constructor(e){super(e),this.buttons=[{name:`lineHeight`,group:`font`}],Oc(vb)}afterInit(e){M(e.editor,{lineHeight:e.o.defaultLineHeight}),e.registerCommand(`applyLineHeight`,this.applyLineHeight)}applyLineHeight(e,t,n){let{s:r,createInside:i,editor:a,o}=this.j;r.isFocused()||r.focus(),r.save();let s,c=e=>{let t=P.closest(e,P.isBlock,a);t||=P.wrap(e,o.enter,i);let r=M(t,`lineHeight`);s===void 0&&(s=r.toString()!==n.toString()),M(t,`lineHeight`,s?n:null)};try{if(r.isCollapsed()){let e=i.fake();r.insertNode(e,!1,!1),c(e),P.safeRemove(e)}else r.eachSelection(c)}finally{r.restore()}}beforeDestruct(e){M(e.editor,{lineHeight:null})}};yb([A],bb.prototype,`applyLineHeight`,null),Ec.add(`lineHeight`,bb),F.prototype.mediaFakeTag=`jodit-media`,F.prototype.mediaInFakeBlock=!0,F.prototype.mediaBlocks=[`video`,`audio`];function xb(e){let t=`jodit_fake_wrapper`,{mediaFakeTag:n,mediaBlocks:r,mediaInFakeBlock:i}=e.options,a=r=>{if(r.parentNode&&N(r.parentNode,`data-jodit_iframe_wrapper`))r=r.parentNode;else{let i=e.createInside.element(n,{"data-jodit-temp":1,contenteditable:!1,draggable:!0,[`data-${t}`]:1});N(i,`style`,N(r,`style`)),i.style.display=r.style.display===`inline-block`?`inline-block`:`block`,i.style.width=r.offsetWidth+`px`,i.style.height=r.offsetHeight+`px`,r.parentNode&&r.parentNode.insertBefore(i,r),i.appendChild(r),r=i}e.e.off(r,`mousedown.select touchstart.select`).on(r,`mousedown.select touchstart.select`,()=>{e.s.setCursorAfter(r)})};i&&e.e.on(`afterGetValueFromEditor`,e=>{let r=RegExp(`<${n}[^>]+data-${t}[^>]+>([^]+?)</${n}>`,`ig`);r.test(e.value)&&(e.value=e.value.replace(r,`$1`))}).on(`change afterInit afterSetMode changePlace`,e.async.debounce(()=>{!e.isDestructed&&e.getMode()!==2&&Pc(r.join(`,`),e.editor).forEach(e=>{is(e,t)||(is(e,t,!0),a(e))})},e.defaultTimeout))}Ec.add(`media`,xb),F.prototype.mobileTapTimeout=300,F.prototype.toolbarAdaptive=!0,F.prototype.buttonsMD=[{group:`font-style`,buttons:[]},{group:`list`,buttons:[]},{group:`font`,buttons:[]},`---`,{group:`media`,buttons:[]},`
606`,{group:`state`,buttons:[]},{group:`insert`,buttons:[]},{group:`indent`,buttons:[]},{group:`color`,buttons:[]},`---`,{group:`history`,buttons:[]},{group:`other`,buttons:[]},`|`,`dots`],F.prototype.buttonsSM=[{group:`font-style`,buttons:[]},{group:`list`,buttons:[]},`---`,{group:`font`,buttons:[]},`
607`,{group:`state`,buttons:[]},{group:`indent`,buttons:[]},{group:`color`,buttons:[]},`---`,{group:`history`,buttons:[]},`|`,`dots`],F.prototype.buttonsXS=[{group:`font-style`,buttons:[]},{group:`list`,buttons:[]},`---`,{group:`font`,buttons:[]},{group:`color`,buttons:[]},`---`,`dots`],F.prototype.controls.dots={mode:3,popup:(e,t,n,r)=>{let i=r.control.data;return i===void 0&&(i={toolbar:Ld(e),rebuild:()=>
607{if(r){let t=e.e.fire(`getDiffButtons.mobile`,r.closest(tp));if(t&&i){i.toolbar.build(Ys(t));let n=(e.toolbar?.firstButton)?.container.offsetWidth||36;i.toolbar.container.style.width=(n+4)*3+`px`}}}},r.control.data=i),i.rebuild(),i.toolbar},tooltip:`Show all`};var Sb=e=>e===`|`||e===`---`||e===`
608`;function Cb(e,t){let n=ld(Ys(t.o.buttons),t),r=t.getRegisteredButtonGroups(),i=!1,a=!1,o=[];for(let t of e)if(cd(t)){let e=[...t.buttons,...r[t.group]??[]],a=e.filter(e=>n.has(e));a.length!==e.length&&(i=!0),o.push(...a)}else Sb(t)?o.push(t):t===`dots`?a=!0:n.has(t)?o.push(t):i=!0;if(!i)return e;let s=[];for(let e of o)Sb(e)&&(s.length===0||Sb(s[s.length-1]))||s.push(e);for(;s.length&&Sb(s[s.length-1]);)s.pop();if(a){let e=ld(s,t);Io(n).some(t=>!e.has(t))&&s.push(`dots`)}return s}function wb(e){let t=0,n=Ys(e.o.buttons);e.o.mobileTapTimeout&&e.e.on(`touchend`,n=>{if(n.changedTouches&&n.changedTouches.length){let r=new Date().getTime(),i=r-t;i>e.o.mobileTapTimeout&&(t=r,i<e.o.mobileTapTimeout*1.5&&e.s.insertCursorAtPoint(n.clientX,n.clientY))}}),e.e.on(`getDiffButtons.mobile`,t=>{if(t===e.toolbar){let t=ld(Ys(e.o.buttons),e),r=ld(n,e);return Io(t).reduce((e,t)=>(r.has(t)||e.push(t),e),[])}}),e.o.toolbarAdaptive&&e.e.on(`resize afterInit recalcAdaptive changePlace afterAddPlace`,()=>{var t;if(!e.o.toolbar)return;let r=(e.container.parentElement??e.container).offsetWidth,i=e.isFullSize||r>=e.o.sizeLG?Ys(e.o.buttons):r>=e.o.sizeMD?Cb(Ys(e.o.buttonsMD),e):r>=e.o.sizeSM?Cb(Ys(e.o.buttonsSM),e):Cb(Ys(e.o.buttonsXS),e);i.toString()!==n.toString()&&(n=i,e.e.fire(`closeAllPopups`),(t=e.toolbar)==null||t.setRemoveButtons(e.o.removeButtons).build(n.concat(e.o.extraButtons)))}).on(e.ow,`load resize`,()=>e.e.fire(`recalcAdaptive`))}Ec.add(`mobile`,wb);function Tb(e){e=e.replace(/<meta[^>]+?>/g,``);let t=e.search(/<!--StartFragment-->/i);t!==-1&&(e=e.substring(t+20));let n=e.search(/<!--EndFragment-->/i);return n!==-1&&(e=e.substring(0,n)),e}function Eb(e){return!!(e&&e.type===`drop`)}function Db(e,t,n){if(t.isInDestruct)return;Eb(e)&&t.s.insertCursorAtPoint(e.clientX,e.clientY);let r=t.e.fire(`beforePasteInsert`,n);!Mo(r)&&(j(r)||Fs(r)||P.isNode(r))&&(n=r),j(n)&&(n=Tb(n)),t.s.insertHTML(n)}function Ob(e){let t=e.types,n=``;if(Ao(t)||{}.toString.call(t)===`[object DOMStringList]`)for(let e=0;e<t.length;e+=1)n+=t[e]+`;`;else n=(t||so).toString()+`;`;return n}function kb(e,t,n,r,i){if(e.e.fire(`beforeOpenPasteDialog`,t,n,r,i)===!1)return;let a=e.confirm(`<div style="word-break: normal; white-space: normal">${e.i18n(t)}</div>`,e.i18n(n)),o=i.map(({text:t,value:n})=>Tu(e,{text:t,name:t.toLowerCase(),tabIndex:0}).onAction(()=>{a.close(),r(n)}));a.e.one(a,`afterClose`,()=>{e.s.isFocused()||e.s.focus()});let s=Tu(e,{text:`Cancel`,tabIndex:0}).onAction(()=>{a.close()});return a.setFooter([...o,s]),o[0].focus(),o[0].state.variant=`primary`,e.e.fire(`afterOpenPasteDialog`,a,t,n,r,i),a}F.prototype.askBeforePasteHTML=!0,F.prototype.processPasteHTML=!0,F.prototype.scrollToPastedContent=!0,F.prototype.pasteExcludeStripTags=[`br`,`hr`],F.prototype.pasteHTMLActionList=[{value:fo,text:`Keep`},{value:mo,text:`Insert as Text`},{value:ho,text:`Insert only Text`}],F.prototype.memorizeChoiceWhenPasteFragment=!1,F.prototype.nl2brInPlainText=!0;var Ab=`pasteStorage`;F.prototype.controls.paste={tooltip:`Paste from clipboard`,async exec(e,t,{control:n}){if(n.name===Ab){e.execCommand(`showPasteStorage`);return}e.s.focus();let r=``,i=!0;if(navigator.clipboard){try{let e=await navigator.clipboard.read();if(e&&e.length){let t=e[0],n=t.types?.includes(co)?co:so,i=await t.getType(n);r=await new Response(i).text()}i=!1}catch{}if(i)try{r=await navigator.clipboard.readText(),i=!1}catch{}}i&&=(r=e.buffer.get(`clipboard`)||``,r.length===0);let a=e.value;i?(e.ed.execCommand(`paste`),i=a===e.value,!i&&e.e.fire(`afterPaste`)):r.length?(Db(null,e,r),e.e.fire(`afterPaste`)):i&&e.alert(`Your browser doesn't support direct access to the clipboard.`,()=>void e.s.focus())},list:{[Ab]:`Paste Storage`},isChildDisabled(e){return e.e.fire(`pasteStorageList`)<2}};var jb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Mb=class extends Lf{constructor(){super(...arguments),this.pasteStack=new _l(20),this._isDialogOpened=!1}afterInit(e){e.e.on(`paste.paste`,this.onPaste).on(`pasteStack.paste`,e=>this.pasteStack.push(e)),this.j.e.on(`processPaste.paste`,this.onProcessPasteReplaceNl2Br)}beforeDestruct(e){e.e.off(`paste.paste`,this.onPaste).off(`processPaste.paste`,this.onProcessPasteReplaceNl2Br).off(`.paste`)}onPaste(e){try{if(this.customPasteProcess(e)===!1||this.j.e.fire(`beforePaste`,e)===!1)return e.preventDefault(),!1;this.defaultPasteProcess(e)}finally{this.j.e.fire(`afterPaste`,e)}}customPasteProcess(e){if(!this.j.o.processPasteHTML)return;let t=ys(e),n=[t?.getData(so),t?.getData(co),t?.getData(lo)];for(let t of n)if(Lo(t)&&(this.j.e.fire(`processHTML`,e,t,{plain:n[0],html:n[1],rtf:n[2]})||this.processHTML(e,t)))return!1}defaultPasteProcess(e){let t=ys(e),n=t?.getData(co)||t?.getData(so);if(t&&n&&zo(n)!==``){let r=this.j.e.fire(`processPaste`,e,n,Ob(t));r!==void 0&&(n=r),(j(n)||P.isNode(n))&&this.__insertByType(e,n,this.j.o.defaultActionOnPaste),e.preventDefault(),e.stopPropagation()}}processHTML(e,t){if(!this.j.o.askBeforePasteHTML)return!1;if(this.j.o.memorizeChoiceWhenPasteFragment){let n=this.pasteStack.find(e=>e.html===t);if(n)return this.__insertByType(e,t,n.action||this.j.o.defaultActionOnPaste),!0}if(this._isDialogOpened)return!0;let n=kb(this.j,`Your code is similar to HTML. Keep as HTML?`,`Paste as HTML`,n=>{this._isDialogOpened=!1,this.__insertByType(e,t,n)},this.j.o.pasteHTMLActionList);return n&&(this._isDialogOpened=!0,n.e.on(`beforeClose`,()=>{this._isDialogOpened=!1})),!0}__insertByType(e,t,n){if(this.pasteStack.push({html:t,action:n}),j(t))switch(this.j.buffer.set(To,t),n){case po:t=Vc(t);break;case ho:t=Al(t,this.j.ed,new Set(this.j.o.pasteExcludeStripTags),this.j.o.nl2brInPlainText);break;case mo:t=Hc(t),this.j.o.nl2brInPlainText&&(t=Uc(t));break;default:{let r=this.j.e.fire(`onCustomPasteHTMLOption`,n,t,e);typeof r==`string`&&(t=r)}}Db(e,this.j,t)}onProcessPasteReplaceNl2Br(e,t,n){if(n===so+`;`&&!Lo(t)){let e=Hc(t);return this.j.o.nl2brInPlainText?Uc(e):e}}};jb([A],Mb.prototype,`onPaste`,null),jb([A],Mb.prototype,`onProcessPasteReplaceNl2Br`,null),Ec.add(`paste`,Mb),F.prototype.askBeforePasteFromWord=!0,F.prototype.processPasteFromWord=!0,F.prototype.defaultActionOnPasteFromWord=null,F.prototype.pasteFromWordActionList=[{value:fo,text:`Keep`},{value:mo,text:`Clean`},{value:ho,text:`Insert only Text`}];var Nb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Pb=class extends Lf{afterInit(e){}beforeDestruct(e){}processWordHTML(e,t,n){let{j:r}=this,{processPasteFromWord:i,askBeforePasteFromWord:a,defaultActionOnPasteFromWord:o,defaultActionOnPaste:s,pasteFromWordActionList:c}=r.o;return i&&Ds(t)?(a?kb(r,`The pasted content is coming from a Microsoft Word/Excel document. Do you want to keep the format or clean it up?`,`Word Paste Detected`,r=>{this.insertFromWordByType(e,t,r,n)},c):this.insertFromWordByType(e,t,o||s,n),!0):!1}insertFromWordByType(e,t,n,r){switch(n){case fo:{t=Bc(t);let e=this.j.events?.fire(`beautifyHTML`,t);j(e)&&(t=e);break}case mo:t=Vc(t);break;case ho:t=Al(Vc(t),this.j.ed,new Set(this.j.o.pasteExcludeStripTags),this.j.o.nl2brInPlainText)}Db(e,this.j,t)}};Pb.requires=[`paste`],Nb([I(`:processHTML`)],Pb.prototype,`processWordHTML`,null),Ec.add(`pasteFromWord`,Pb);var Fb=class extends Lf{constructor(){super(...arguments),this.currentIndex=0,this.list=[],this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.paste=()=>{if(this.j.s.focus(),this.j.s.insertHTML(this.list[this.currentIndex]),this.currentIndex!==0){let e=this.list[0];this.list[0]=this.list[this.currentIndex],this.list[this.currentIndex]=e}this.dialog&&this.dialog.close(),this.j.synchronizeValues(),this.j.e.fire(`afterPaste`)},this.onKeyDown=e=>{let t=this.currentIndex;if([`ArrowUp`,`ArrowDown`,`Enter`].indexOf(e.key)!==-1){if(e.key===`ArrowUp`&&(t===0?t=this.list.length-1:--t),e.key===`ArrowDown`&&(t===this.list.length-1?t=0:t+=1),e.key===`Enter`){this.paste();return}t!==this.currentIndex&&this.selectIndex(t),e.stopImmediatePropagation(),e.preventDefault()}}
608,this.selectIndex=e=>{this.listBox&&Io(this.listBox.childNodes).forEach((t,n)=>{t.classList.remove(`jodit_active`),e===n&&this.previewBox&&(t.classList.add(`jodit_active`),this.previewBox.innerHTML=this.list[e],t.focus())}),this.currentIndex=e},this.showDialog=()=>{this.list.length<2||(this.dialog||this.createDialog(),this.listBox&&(this.listBox.innerHTML=``),this.previewBox&&(this.previewBox.innerHTML=``),this.list.forEach((e,t)=>{let n=this.j.c.element(`a`);n.textContent=t+1+`. `+e.replace(Ra(),``),this.j.e.on(n,`keydown`,this.onKeyDown),N(n,`href`,`#`),N(n,`data-index`,t.toString()),N(n,`tab-index`,`-1`),this.listBox&&this.listBox.appendChild(n)}),this.dialog&&this.dialog.open(),this.j.async.setTimeout(()=>{this.selectIndex(0)},100))}}createDialog(){this.dialog=this.j.dlg();let e=Tu(this.j,`paste`,`Paste`,`primary`);e.onAction(this.paste);let t=Tu(this.j,``,`Cancel`);t.onAction(this.dialog.close),this.container=this.j.c.div(),this.container.classList.add(`jodit-paste-storage`),this.listBox=this.j.c.div(),this.previewBox=this.j.c.div(),this.container.appendChild(this.listBox),this.container.appendChild(this.previewBox),this.dialog.setHeader(this.j.i18n(`Choose Content to Paste`)),this.dialog.setContent(this.container),this.dialog.setFooter([e,t]),this.j.e.on(this.listBox,`click dblclick`,e=>{let t=e.target;return P.isTag(t,`a`)&&t.hasAttribute(`data-index`)&&this.selectIndex(parseInt(N(t,`-index`)||`0`,10)),e.type===`dblclick`&&this.paste(),!1})}afterInit(){this.j.e.off(`afterCopy.paste-storage`).on(`pasteStorageList.paste-storage`,()=>this.list.length).on(`afterCopy.paste-storage`,e=>{this.list.indexOf(e)!==-1&&this.list.splice(this.list.indexOf(e),1),this.list.unshift(e),this.list.length>5&&(this.list.length=5)}),this.j.registerCommand(`showPasteStorage`,{exec:this.showDialog,hotkeys:[`ctrl+shift+v`,`cmd+shift+v`]})}beforeDestruct(){this.dialog&&this.dialog.destruct(),this.j.e.off(`.paste-storage`),P.safeRemove(this.previewBox),P.safeRemove(this.listBox),P.safeRemove(this.container),this.container=null,this.listBox=null,this.previewBox=null,this.dialog=null,this.list=[]}};Ec.add(`pasteStorage`,Fb),F.prototype.controls.preview={icon:`eye`,command:`preview`,mode:3,tooltip:`Preview`};function Ib(e){e.registerButton({name:`preview`}),e.registerCommand(`preview`,(t,n,r)=>{let i=e.dlg();i.setSize(1024,600).open(``,e.i18n(`Preview`)).setModal(!0);let[,a]=pl(e,r,`px`,i.getElm(`content`));i.e.on(i,`afterClose`,a)})}Ec.add(`preview`,Ib);
608function Lb(e){let t=(e,t=e.ownerDocument.styleSheets)=>Io(t).map(e=>{try{return Io(e.cssRules)}catch{}return[]}).flat().filter(t=>{try{return!!(t&&e.matches(t.selectorText))}catch{}return!1});class n{constructor(n,r,i){this.css={};let a=i||{},o=t=>{let n=t.selectorText.split(`,`).map(e=>e.trim()).sort().join(`,`);this.css[n]||(this.css[n]={});let r=t.style.cssText.split(/;(?![A-Za-z0-9])/);for(let t=0;t<r.length;t++){if(!r[t])continue;let i=r[t].split(`:`);i[0]=i[0].trim(),i[1]=i[1].trim(),this.css[n][i[0]]=i[1].replace(/var\(([^)]+)\)/g,(t,n)=>{let[r,i]=n.split(`,`);return(e.ew.getComputedStyle(e.editor).getPropertyValue(r.trim())||i||t).trim()})}};(()=>{let i=n.innerHeight,s=r.createTreeWalker(e.editor,NodeFilter.SHOW_ELEMENT,()=>NodeFilter.FILTER_ACCEPT);for(;s.nextNode();){let e=s.currentNode;if(e.getBoundingClientRect().top<i||a.scanFullPage){let n=t(e);if(n)for(let e=0;e<n.length;e++)o(n[e])}}})()}generateCSS(){let e=``;for(let t in this.css)if(!/:not\(/.test(t)){e+=t+` { `;for(let n in this.css[t])e+=n+`: `+this.css[t][n]+`; `;e+=`}
609`}return e}}try{return new n(e.ew,e.ed,{scanFullPage:!0}).generateCSS()}catch{}return``}vu.set(`print`,`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M448 1536h896v-256h-896v256zm0-640h896v-384h-160q-40 0-68-28t-28-68v-160h-640v640zm1152 64q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128 0v416q0 13-9.5 22.5t-22.5 9.5h-224v160q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-224q-13 0-22.5-9.5t-9.5-22.5v-416q0-79 56.5-135.5t135.5-56.5h64v-544q0-40 28-68t68-28h672q40 0 88 20t76 48l152 152q28 28 48 76t20 88v256h64q79 0 135.5 56.5t56.5 135.5z"/> </svg> `),F.prototype.controls.print={exec:e=>{let t=e.create.element(`iframe`);Object.assign(t.style,{position:`fixed`,right:0,bottom:0,width:0,height:0,border:0}),Ac(e,F).appendChild(t);let n=()=>{e.e.off(e.ow,`mousemove`,n),P.safeRemove(t)},r=t.contentWindow;if(r){e.e.on(r,`onbeforeunload onafterprint`,n).on(e.ow,`mousemove`,n),e.o.iframe?(e.e.fire(`generateDocumentStructure.iframe`,r.document,e),r.document.body.innerHTML=e.value):(r.document.write(`<!doctype html><html lang="`+cl(e.o.language)+`"><head><title></title></head><style>`+Lb(e)+`</style><body></body></html>`),r.document.close(),pl(e,void 0,`px`,r.document.body));let t=r.document.createElement(`style`);t.innerHTML=`@media print {
610					body {
611							-webkit-print-color-adjust: exact;
612					}
613			}`,r.document.head.appendChild(t),r.focus(),r.print()}},mode:3,tooltip:`Print`};function Rb(e){e.registerButton({name:`print`})}Ec.add(`print`,Rb),F.prototype.tableAllowCellResize=!0;var zb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bb=`table_processor_observer-resize`,Vb=class extends Lf{constructor(){super(...arguments),this.selectMode=!1,this.resizeDelta=0,this.createResizeHandle=()=>{this.resizeHandler||(this.resizeHandler=this.j.c.div(`jodit-table-resizer`),this.j.e.on(this.resizeHandler,`mousedown.table touchstart.table`,this.onHandleMouseDown).on(this.resizeHandler,`mouseenter.table`,()=>{this.j.async.clearTimeout(this.hideTimeout)}))},this.hideTimeout=0,this.drag=!1,this.minX=0,this.maxX=0,this.startX=0}get module(){return this.j.getInstance(`Table`,this.j.o)}get isRTL(){return this.j.o.direction===`rtl`}showResizeHandle(){this.j.async.clearTimeout(this.hideTimeout),this.j.workplace.appendChild(this.resizeHandler)}hideResizeHandle(){this.hideTimeout=this.j.async.setTimeout(()=>{P.safeRemove(this.resizeHandler)},{timeout:this.j.defaultTimeout,label:`hideResizer`})}onHandleMouseDown(e){if(this.j.isLocked)return;this.drag=!0,this.j.e.on(this.j.ow,`mouseup.resize-cells touchend.resize-cells`,this.onMouseUp).on(this.j.ew,`mousemove.table touchmove.table`,this.onMouseMove),this.startX=e.clientX,this.j.lock(Bb),this.resizeHandler.classList.add(`jodit-table-resizer_moved`);let t,n=this.workTable.getBoundingClientRect();if(this.minX=0,this.maxX=1e6,this.wholeTable!=null)n=this.workTable.parentNode.getBoundingClientRect(),this.minX=n.left,this.maxX=this.minX+n.width;else{let e=this.module.formalCoordinate(this.workTable,this.workCell,!0);this.module.formalMatrix(this.workTable,(n,r,i)=>{e[1]===i&&(t=n.getBoundingClientRect(),this.minX=Math.max(t.left+5/2,this.minX)),e[1]+(this.isRTL?-1:1)===i&&(t=n.getBoundingClientRect(),this.maxX=Math.min(t.left+t.width-5/2,this.maxX))})}return!1}onMouseMove(e){if(!this.drag)return;this.j.e.fire(`closeAllPopups`);let t=e.clientX,n=Gl(this.resizeHandler.parentNode||this.j.od.documentElement,this.j,this.j.od,!0);t<this.minX&&(t=this.minX),t>this.maxX&&(t=this.maxX),this.resizeDelta=t-this.startX+(this.j.o.iframe?n.left
613:0),this.resizeHandler.style.left=t-(this.j.o.iframe?0:n.left)+`px`;let r=this.j.s.sel;r&&r.removeAllRanges()}onMouseUp(e){(this.selectMode||this.drag)&&(this.selectMode=!1,this.j.unlock()),!(!this.resizeHandler||!this.drag)&&(this.drag=!1,this.j.e.off(this.j.ew,`mousemove.table touchmove.table`,this.onMouseMove),this.resizeHandler.classList.remove(`jodit-table-resizer_moved`),this.startX!==e.clientX&&(this.wholeTable==null?this.resizeColumns():this.resizeTable()),this.j.synchronizeValues(),this.j.s.focus())}resizeColumns(){let e=this.resizeDelta,t=[],n=this.module;n.setColumnWidthByDelta(this.workTable,n.formalCoordinate(this.workTable,this.workCell,!0)[1],e,!0,t);let r=fs(this.isRTL?P.prev:P.next,this.workCell,P.isCell,this.workCell.parentNode);n.setColumnWidthByDelta(this.workTable,n.formalCoordinate(this.workTable,r)[1],-e,!1,t)}resizeTable(){let e=this.resizeDelta*(this.isRTL?-1:1),t=this.workTable.offsetWidth,n=zl(this.workTable.parentNode,this.j.ew),r=!this.wholeTable;if(this.isRTL?!r:r)this.workTable.style.width=(t+e)/n*100+`%`;else{let r=this.isRTL?`marginRight`:`marginLeft`,i=parseInt(this.j.ew.getComputedStyle(this.workTable)[r]||`0`,10);this.workTable.style.width=(t-e)/n*100+`%`,this.workTable.style[r]=(i+e)/n*100+`%`}}setWorkCell(e,t=null){this.wholeTable=t,this.workCell=e,this.workTable=P.up(e,e=>P.isTag(e,`table`),this.j.editor)}calcHandlePosition(e,t,n=0,r=0){let i=Gl(t,this.j,this.j.ed);if(n>5&&n<i.width-5){this.hideResizeHandle();return}let a=Gl(this.j.workplace,this.j,this.j.od,!0),o=Gl(e,this.j,this.j.ed);if(this.resizeHandler.style.left=(n<=5?i.left:i.left+i.width)-a.left+r+`px`,Object.assign(this.resizeHandler.style,{height:o.height+`px`,top:o.top-a.top+`px`}),this.showResizeHandle(),n<=5){let e=fs(this.isRTL?P.next:P.prev,t,P.isCell,t.parentNode);this.setWorkCell(e||t,!e||null)}else{let e=fs(this.isRTL?P.prev:P.next,t,P.isCell,t.parentNode);this.setWorkCell(t,e?null:!1)}}afterInit(e){e.o.tableAllowCellResize&&e.e.off(this.j.ow,`.resize-cells`).off(`.resize-cells`).on(`change.resize-cells afterCommand.resize-cells afterSetMode.resize-cells`,()=>{Pc(`table`,e.editor).forEach(this.observe)}).on(this.j.ow,`scroll.resize-cells`,()=>{if(!this.drag)return;let t=P.up(this.workCell,e=>P.isTag(e,`table`),e.editor);if(t){let e=t.getBoundingClientRect();this.resizeHandler.style.top=e.top+`px`}}).on(`beforeSetMode.resize-cells`,()=>{let t=this.module;
613t.getAllSelectedCells().forEach(n=>{t.removeSelection(n),t.normalizeTable(P.closest(n,`table`,e.editor))})})}observe(e){is(e,Bb)||(is(e,Bb,!0),this.j.e.on(e,`mouseleave.resize-cells`,e=>{this.resizeHandler&&this.resizeHandler!==e.relatedTarget&&this.hideResizeHandle()}).on(e,`mousemove.resize-cells touchmove.resize-cells`,this.j.async.throttle(t=>{if(this.j.isLocked)return;let n=P.up(t.target,P.isCell,e);n&&this.calcHandlePosition(e,n,t.offsetX)},{timeout:this.j.defaultTimeout})),this.createResizeHandle())}beforeDestruct(e){e.events&&(e.e.off(this.j.ow,`.resize-cells`),e.e.off(`.resize-cells`))}};zb([A],Vb.prototype,`onHandleMouseDown`,null),zb([A],Vb.prototype,`onMouseMove`,null),zb([A],Vb.prototype,`onMouseUp`,null),zb([A],Vb.prototype,`observe`,null),Ec.add(`resizeCells`,Vb),F.prototype.allowResizeX=!1,F.prototype.allowResizeY=!0;var Hb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ub=class extends Lf{constructor(){super(...arguments),this.isResized=!1,this.start={x:0,y:0,w:0,h:0},this.handle=this.j.c.div(`jodit-editor__resize`,vu.get(`resize_handler`))}afterInit(e){let{height:t,width:n,allowResizeX:r}=e.o,{allowResizeY:i}=e.o;t===`auto`&&n!==`auto`&&(i=!1),(t!==`auto`||n!==`auto`)&&(r||i)&&(e.statusbar.setMod(`resize-handle`,!0),e.statusbar.show(),e.e.on(`toggleFullSize.resizeHandler`,()=>{this.handle.style.display=e.isFullSize?`none`:`block`}).on(this.handle,`mousedown touchstart`,this.onHandleResizeStart).on(e.ow,`mouseup touchend`,this.onHandleResizeEnd),e.container.appendChild(this.handle))}onHandleResizeStart(e){this.isResized=!0,this.start.x=e.clientX,this.start.y=e.clientY,this.start.w=this.j.container.offsetWidth,this.start.h=this.j.container.offsetHeight,this.j.lock(),this.j.e.on(this.j.ow,`mousemove touchmove`,this.onHandleResize),e.preventDefault()}onHandleResize(e){if(!this.isResized)return;let{clientX:t,clientY:n}=e;if(e.view===this.j.ew&&this.j.ew!==this.j.ow){let e=Gl(this.j.workplace,this.j,this.j.od,!0);t+=e.left,n+=e.top}this.j.o.allowResizeY&&this.j.e.fire(`setHeight`,this.start.h+n-this.start.y),this.j.o.allowResizeX&&this.j.e.fire(`setWidth`,this.start.w+t-this.start.x),this.j.e.fire(`resize`)}onHandleResizeEnd(){this.isResized&&(this.isResized=!1,this.j.e.off(this.j.ow,`mousemove touchmove`,this.onHandleResize),this.j.unlock())}beforeDestruct(){P.safeRemove(this.handle),this.j.e.off(this.j.ow,`mouseup touchsend`,this.onHandleResizeEnd)}};Ub.requires=[`size`],Hb([A],Ub.prototype,`onHandleResizeStart`,null),Hb([A],Ub.prototype,`onHandleResize`,null),Hb([A],Ub.prototype,`onHandleResizeEnd`,null),Ec.add(`resizeHandler`,Ub),F.prototype.allowResizeTags=new Set([`img`,`iframe`,`table`,`jodit`]),F.prototype.resizer={showSize:!0,hideSizeTimeout:1e3,forImageChangeAttributes:!0,min_width:10,min_height:10,useAspectRatio:new Set([`img`])};var Wb=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gb=`__jodit-resizer_binded`,Kb=class extends Lf{constructor(){super(...arguments),this.LOCK_KEY=`resizer`,this.element=null,this.isResizeMode=!1,this.isShown=!1,this.startX=0,this.startY=0,this.width=0,this.height=0,this.ratio=0,this.rect=this.j.c.fromHTML(`<div title="${this.j.i18n(`Press Alt for custom resizing`)}" class="jodit-resizer">
614				<div class="jodit-resizer__top-left"></div>
615				<div class="jodit-resizer__top-right"></div>
616				<div class="jodit-resizer__bottom-right"></div>
617				<div class="jodit-resizer__bottom-left"></div>
618				<span>100x100</span>
619			</div>`),this.sizeViewer=this.rect.getElementsByTagName(`span`)[0],this.pointerX=0,this.pointerY=0,this.isAltMode=!1,this.onClickElement=e=>{this.isResizeMode||(this.element!==e||!this.isShown)&&(this.element=e,this.show(),P.isTag(this.element,`img`)&&!this.element.complete&&this.j.e.one(this.element,`load`,this.updateSize))},this.updateSize=()=>{if(!(this.isInDestruct||!this.isShown)&&this.element&&this.rect){let e=this.getWorkplacePosition(),t=Gl(this.element,this.j,this.j.ed),n=parseInt(this.rect.style.left||`0`,10),r=parseInt(this.rect.style.top||`0`,10),i=this.rect.offsetWidth,a=this.rect.offsetHeight,o=t.top-e.top,s=t.left-e.left;(r!==o||n!==s||i!==this.element.offsetWidth||a!==this.element.offsetHeight)&&(M(this.rect,{top:o,left:s,width:this.element.offsetWidth,height:this.element.offsetHeight}),this.j.events&&(this.j.e.fire(this.element,`changesize`),isNaN(n)||this.j.e.fire(`resize`)))}},this.hideSizeViewer=()=>{this.sizeViewer.style.opacity=`0`}}afterInit(e){Pc(`div`,this.rect).forEach(t=>{e.e.on(t,`mousedown.resizer touchstart.resizer`,this.onStartResizing.bind(this,t))}),Mc.on(`hideHelpers`,this.hide),e.e.on(`readonly`,e=>{e&&this.hide()}).on(`afterInit changePlace`,this.addEventListeners.bind(this)).on(`afterGetValueFromEditor.resizer`,e=>{let t=/<jodit[^>]+data-jodit_iframe_wrapper[^>]+>(.*?<iframe[^>]*>.*?<\/iframe>.*?)<\/jodit>/gi;t.test(e.value)&&(e.value=e.value.replace(t,`$1`))}),this.addEventListeners(),this.__onChangeEditor()}onEditorClick(e){let t=e.target,{editor:n,options:{allowResizeTags:r}}=this.j;for(;t&&t!==n;){if(P.isTag(t,r)){this.__bind(t),this.onClickElement(t);return}t=t.parentNode}}__afterInsertImage(e){if(this.j.o.resizer.forImageChangeAttributes)return;let t=N(e,`width`);t&&!M(e,`width`,!0)&&(M(e,`width`,t),N(e,`width`,null))}addEventListeners(){let e=this.j;e.e.off(e.editor,`.resizer`).off(e.ow,`.resizer`).on(e.editor,`keydown.resizer`,e=>{this.isShown&&e.key===`Delete`&&this.element&&!P.isTag(this.element,`table`)&&this.onDelete(e)}).on(e.ow,`resize.resizer`,this.updateSize).on(`resize.resizer`,this.updateSize).on([e.ow,e.editor],`scroll.resizer`,()=>{this.isShown&&!this.isResizeMode&&this.hide()}).on(e.ow,`keydown.resizer`,this.onKeyDown).on(e.ow,`keyup.resizer`,this.onKeyUp).on(e.ow,`mouseup.resizer touchend.resizer`,this.onClickOutside)}onStartResizing(e,t){if(!this.element||!this.element.parentNode)return this.hide(),!1;this.handle=e,t.cancelable&&t.preventDefault(),t.stopImmediatePropagation(),this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.isResizeMode=!0,this.startX=t.clientX,this.startY=t.clientY,this.pointerX=t.clientX,this.pointerY=t.clientY;let{j:n}=this;n.e.fire(`hidePopup`),n.lock(this.LOCK_KEY),n.e.on(n.ow,`mousemove.resizer touchmove.resizer`,this.onResize)}onEndResizing(){let{j:e}=this;e.unlock(),this.isResizeMode=!1,this.isAltMode=!1,e.synchronizeValues(),e.e.off(e.ow,`mousemove.resizer touchmove.resizer`,this.onResize)}onResize(e){if(this.isResizeMode){if(!this.element)return;this.pointerX=e.clientX,this.pointerY=e.clientY;let t,n;if(this.j.options.iframe&&e.view===this.j.ew){let r=this.getWorkplacePosition();t=e.clientX+r.left-this.startX,n=e.clientY+r.top-this.startY}else t=this.pointerX-this.startX,n=this.pointerY-this.startY;let r=this.handle.className,i=0,a=0,o=this.j.o.resizer.useAspectRatio;!this.isAltMode&&(o===!0||o&&P.isTag(this.element,o))?(t?(i=this.width+(r.match(/left/)?-1:1)*t,a=Math.round(i/this.ratio)):(a=this.height+(r.match(/top/)?-1:1)*n,i=Math.round(a*this.ratio)),i>Ul(this.j.editor,this.j.ow)&&(i=Ul(this.j.editor,this.j.ow),a=Math.round(i/this.ratio))):(i=this.width+(r.match(/left/)?-1:1)*t,a=this.height+(r.match(/top/)?-1:1)*n),i>
619this.j.o.resizer.min_width&&(i<this.rect.parentNode.offsetWidth?this.applySize(this.element,`width`,i):this.applySize(this.element,`width`,`100%`)),a>this.j.o.resizer.min_height&&this.applySize(this.element,`height`,a),this.updateSize(),this.showSizeViewer(this.element.offsetWidth,this.element.offsetHeight),e.stopImmediatePropagation()}}onKeyDown(e){this.isAltMode=e.key===`Alt`,!this.isAltMode&&this.isResizeMode&&this.onEndResizing()}onKeyUp(){this.isAltMode&&this.isResizeMode&&this.element&&(this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.ratio=this.width/this.height,this.startX=this.pointerX,this.startY=this.pointerY),this.isAltMode=!1}onClickOutside(e){if(this.isShown){if(!this.isResizeMode)return this.hide();e.stopImmediatePropagation(),this.onEndResizing()}}getWorkplacePosition(){return Gl(this.rect.parentNode||this.j.od.documentElement,this.j,this.j.od,!0)}applySize(e,t,n){let r=P.isImage(e)&&this.j.o.resizer.forImageChangeAttributes;r&&N(e,t,n),(!r||e.style[t])&&M(e,t,n)}onDelete(e){this.element&&(this.element.tagName===`JODIT`?(P.safeRemove(this.element),this.hide(),e.preventDefault()):this.j.s.select(this.element))}__onChangeEditor(){this.isShown&&(!this.element||!this.element.parentNode?this.hide():this.updateSize()),Pc(`iframe`,this.j.editor).forEach(this.__bind)}__bind(e){if(!P.isHTMLElement(e)||!this.j.o.allowResizeTags.has(e.tagName.toLowerCase())||is(e,Gb))return;is(e,Gb,!0);let t;if(P.isTag(e,`iframe`)){let n=e;P.isHTMLElement(e.parentNode)&&N(e.parentNode,`-jodit_iframe_wrapper`)?e=e.parentNode:(t=this.j.createInside.element(`jodit`,{"data-jodit-temp":1,contenteditable:!1,draggable:!0,"data-jodit_iframe_wrapper":1}),N(t,`style`,N(e,`style`)),M(t,{display:e.style.display===`inline-block`?`inline-block`:`block`,width:e.offsetWidth,height:e.offsetHeight}),e.parentNode&&e.parentNode.insertBefore(t,e),t.appendChild(e),this.j.e.on(t,`click`,()=>{N(t,`data-jodit-wrapper_active`,!0)}),e=t),this.j.e.off(e,`mousedown.select touchstart.select`).on(e,`mousedown.select touchstart.select`,()=>{this.j.s.select(e)}).off(e,`changesize`).on(e,`changesize`,()=>{N(n,`width`,e.offsetWidth+`px`),N(n,`height`,e.offsetHeight+`px`)})}this.j.e.on(e,`dragstart`,this.hide)}showSizeViewer(e,t){if(this.j.o.resizer.showSize){if(e<this.sizeViewer.offsetWidth||t<this.sizeViewer.offsetHeight){this.hideSizeViewer();return}this.sizeViewer.style.opacity=`1`,this.sizeViewer.textContent=`${e} x ${t}`,this.j.async.setTimeout(this.hideSizeViewer,{timeout:this.j.o.resizer.hideSizeTimeout,label:`hideSizeViewer`})}}show(){this.j.o.readonly||this.isShown||(this.isShown=!0,this.rect.parentNode||(ms(this.j,this.rect),this.j.workplace.appendChild(this.rect)),this.j.isFullSize&&(this.rect.style.zIndex=M(this.j.container,`zIndex`).toString()),this.updateSize())}hide(){this.isResizeMode||(this.isResizeMode=!1,this.isShown=!1,this.element=null,P.safeRemove(this.rect),Pc(`[data-jodit-wrapper_active='true']`,this.j.editor).forEach(e=>N(e,`data-jodit-wrapper_active`,!1)))}beforeDestruct(e){this.hide(),Mc.off(`hideHelpers`,this.hide),e.e.off(this.j.ow,`.resizer`).off(`.resizer`)}};Wb([I(`:click`)],Kb.prototype,`onEditorClick`,null),Wb([I(`:afterInsertImage`)],Kb.prototype,`__afterInsertImage`,null),Wb([A],Kb.prototype,`onStartResizing`,null),Wb([A],Kb.prototype,`onEndResizing`,null),Wb([A],Kb.prototype,`onResize`,null),Wb([A],Kb.prototype,`onKeyDown`,null),Wb([A],Kb.prototype,`onKeyUp`,null),Wb([A],Kb.prototype,`onClickOutside`,null),Wb([I(`:change`)],Kb.prototype,`__onChangeEditor`,null),Wb([A],Kb.prototype,`__bind`,null),Wb([A,I(`:hideResizer`)],Kb.prototype,`hide`,null),Ec.add(`resizer`,Kb);var qb=`<svg viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"> <path clip-rule="evenodd" d="M306.39,154.09c19.628,4.543,35.244,21.259,39.787,39.523 c1.551,8.54,8.998,14.989,17.904,14.989c9.991,0,18.168-8.175,18.168-18.17c0-13.083-10.991-32.98-25.985-47.881 c-14.719-14.537-32.252-24.802-46.695-24.802c-9.991,0-18.172,8.45-18.172,18.446C291.396,145.094,297.847,152.546,306.39,154.09z M56.629,392.312c-14.09,14.08-14.09,36.979,0,51.059c14.08,14.092,36.981,14.092,50.965,0l104.392-104.303 c24.347,15.181,53.062,23.991,83.953,23.991c87.857,0,158.995-71.142,158.995-158.999c0-87.854-71.138-158.995-158.995-158.995 c-87.856,0-158.995,71.141-158.995,158.995c0,30.802,8.819,59.606,23.992,83.953L56.629,392.312z M182.371,204.06 c0-62.687,50.875-113.568,113.568-113.568s113.569,50.881,113.569,113.568c0,62.694-50.876,113.569-113.569,113.569 S182.371,266.754,182.371,204.06z" fill-rule="evenodd"/> </svg> `;
619F.prototype.useSearch=!0,F.prototype.search={lazyIdleTimeout:0,useCustomHighlightAPI:Va&&Va.Highlight!==void 0},vu.set(`search`,qb),F.prototype.controls.find={tooltip:`Find`,icon:`search`,exec(e,t,{control:n}){switch(n.args&&n.args[0]){case`findPrevious`:e.e.fire(`searchPrevious`);break;case`findNext`:e.e.fire(`searchNext`);break;case`replace`:e.execCommand(`openReplaceDialog`);break;default:e.execCommand(`openSearchDialog`)}},list:{search:`Find`,findNext:`Find Next`,findPrevious:`Find Previous`,replace:`Replace`},childTemplate:(e,t,n)=>n};var Jb=`jd-tmp-selection`,Yb=`background-color: var(--jd-color-background-selection); color: var(--jd-color-text-selection);`,Xb=new WeakSet;function Zb(e,t){if(Xb.has(e))return;Xb.add(e);let n=t?`::highlight(jodit-search-result) { ${Yb} }`:`[${Jb}] { ${Yb} }`;try{let t=new CSSStyleSheet;t.insertRule(n),e.adoptedStyleSheets=[...e.adoptedStyleSheets,t]}catch{let t=e.createElement(`style`);t.textContent=n,e.head.appendChild(t)}}function Qb(e,t,n,r,i){if(t.startContainer.nodeValue==null||t.endContainer.nodeValue==null||rx(e,t,n))return;Zb(e.ed,!1);let a=r.element(`span`,{[Jb]:!0});P.markTemporary(a),ax(t,n,r);let o=t.startContainer;do{if(!o||(P.isText(o)&&!nx(o.parentNode)&&P.wrap(o,a.cloneNode(),r),o===t.endContainer))break;let e=o.firstChild||o.nextSibling;if(!e){for(;o&&!o.nextSibling&&o!==i;)o=o.parentNode;e=o?.nextSibling}o=e}while(o&&o!==i)}function $b(e){return Pc(`[${Jb}]`,e)}function ex(e){$b(e.editor).forEach(e=>P.unwrap(e)),ix(e)}function tx(e){return e.replace(RegExp(`<span[^>]+${Jb}[^>]+>(.*?)</span>`,`g`),`$1`)}function nx(e){return P.isElement(e)&&e.hasAttribute(Jb)}function rx(e,t,n){if(e.o.search.useCustomHighlightAPI&&Va&&Va.Highlight!==void 0){let r=[t,...n].map(t=>{let n=e.selection.createRange();return n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset),n});Zb(e.ed,!0);let i=new Highlight(...r);return CSS.highlights.clear(),CSS.highlights.set(`jodit-search-result`,i),n.length=0,!0}return!1}function ix(e){e.o.search.useCustomHighlightAPI&&Va&&Va.Highlight!==void 0&&CSS.highlights.clear()}function ax(e,t,n){let r=e.startContainer.nodeValue,i=0;if(e.startOffset!==0){let t=n.text(r.substring(0,e.startOffset));e.startContainer.nodeValue=r.substring(e.startOffset),P.before(e.startContainer,t),e.startContainer===e.endContainer&&(i=e.startOffset,e.endOffset-=i),e.startOffset=0}let a=e.endContainer.nodeValue;if(e.endOffset!==a.length){let r=n.text(a.substring(e.endOffset));e.endContainer.nodeValue=a.substring(0,e.endOffset),P.after(e.endContainer,r);for(let n of t)if(n.startContainer===e.endContainer)n.startContainer=r,n.startOffset=n.startOffset-e.endOffset-i,n.endContainer===e.endContainer&&(n.endContainer=r,n.endOffset=n.endOffset-e.endOffset-i);else break;e.endOffset=e.endContainer.nodeValue.length}}var ox=class{constructor(e=ql){this.searchIndex=e,this.queue=[],this.value=``}add(e){let t=(e.nodeValue??``).toLowerCase();if(!t.length)return;let n=this.value.length;this.queue.push({startIndex:n,endIndex:n+t.length,node:e}),this.value+=t}ranges(e,t=0){let n=[],r=t,i=0,a=0;do if([r,i]=this.searchIndex(e,this.value,r),r!==-1){let e,t=0,o,s=0;for(let n=a;n<this.queue.length;n+=1)if(!e&&this.queue[n].endIndex>r&&(e=this.queue[n].node,t=r-this.queue[n].startIndex),e&&this.queue[n].endIndex>=r+i){o=this.queue[n].node,s=r+i-this.queue[n].startIndex,a=n;break}e&&o&&n.push({startContainer:e,startOffset:t,endContainer:o,endOffset:s}),r+=i}while(r!==-1);return n.length===0?null:n}},sx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cx=class extends xu{className(){return`UISearch`}render(){return`<div>
620			<div class="&__box">
621				<div class="&__inputs">
622					<input data-ref="query" tabindex="0" placeholder="~Search for~" type="text"/>
623					<input data-ref="replace" tabindex="0" placeholder="~Replace with~" type="text"/>
624				</div>
625				<div class="&__counts">
626					<span data-ref="counter-box">
627						<span data-ref="current">0</span><span>/</span><span data-ref="count">0</span>
628					</span>
629				</div>
630				<div class="&__buttons">
631					<button data-ref="next" tabindex="0" type="button">${vu.get(`angle-down`)}</button>
632					<button data-ref="prev" tabindex="0" type="button">${vu.get(`angle-up`)}</button>
633					<button data-ref="cancel" tabindex="0" type="button">${vu.get(`cancel`)}</button>
634					<button data-ref="replace-btn" tabindex="0" type="button" class="jodit-ui-button">~Replace~</button>
635				</div>
636			</div>
637		</div>`}get currentIndex(){return this._currentIndex}set currentIndex(e){this._currentIndex=e,this.currentBox.innerText=e.toString()}set count(e){this.countBox.innerText=e.toString()}get query(){return this.queryInput.value}get replace(){return this.replaceInput.value}constructor(e){super(e),this.selInfo=null,this._currentIndex=0,this.isOpened=!1;let{query:t,replace:n,cancel:r,next:i,prev:a,replaceBtn:o,current:s,count:c}=Ic(this.container);this.queryInput=t,this.replaceInput=n,this.closeButton=r,this.replaceButton=o,this.currentBox=s,this.countBox=c,e.e.on(this.closeButton,`pointerdown`,()=>(this.close(),!1)).on(this.queryInput,`input`,()=>{this.currentIndex=0}).on(this.queryInput,`pointerdown`,()=>{e.s.isFocused()&&(e.s.removeMarkers(),this.selInfo=e.s.save())}).on(this.replaceButton,`pointerdown`,()=>(e.e.fire(this,`pressReplaceButton`),!1)).on(i,`pointerdown`,()=>(e.e.fire(`searchNext`),!1)).on(a,`pointerdown`,()=>(e.e.fire(`searchPrevious`),!1)).on(this.queryInput,`input`,()=>{this.setMod(`empty-query`,!zo(this.queryInput.value).length)}).on(this.queryInput,`keydown`,(()=>{let t=this.j.async.debounce(async t=>{switch(t.key){case Za:await e.e.fire(`searchNext`)&&this.close();break;default:e.e.fire(this,`needUpdateCounters`)}},this.j.defaultTimeout);return e=>{e.key===`Enter`&&(e.preventDefault(),e.stopImmediatePropagation()),t(e)}})())}onEditorKeyDown(e){if(!this.isOpened)return;let{j:t}=this;if(t.getRealMode()===1)switch(e.key){case Qa:this.close();break;case`F3`:this.queryInput.value&&(t.e.fire(e.shiftKey?`searchPrevious`:`searchNext`),e.preventDefault())}}open(e,t,n=!1){this.isOpened||=(this.j.workplace.appendChild(this.container),!0),this.calcSticky(this.j.e.fire(`getStickyState.sticky`)||!1),this.j.e.fire(`hidePopup`),this.setMod(`replace`,n);let r=e??(this.j.s.sel||``).toString();r&&(this.queryInput.value=r),t&&(this.replaceInput.value=t),this.setMod(`empty-query`,!r.length),this.j.e.fire(this,`needUpdateCounters`),r?this.queryInput.select():this.queryInput.focus()}
637close(){this.isOpened&&(this.j.s.restore(),P.safeRemove(this.container),this.isOpened=!1,this.j.e.fire(this,`afterClose`))}calcSticky(e){if(this.isOpened)if(this.setMod(`sticky`,e),e){let e=Kl(this.j.toolbarContainer);M(this.container,{top:e.top+e.height,left:e.left+e.width})}else M(this.container,{top:null,left:null})}};sx([I([`:keydown`,`queryInput:keydown`])],cx.prototype,`onEditorKeyDown`,null),sx([A],cx.prototype,`open`,null),sx([A],cx.prototype,`close`,null),sx([I(`:toggleSticky`)],cx.prototype,`calcSticky`,null),cx=sx([Ws],cx);var lx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},ux=class extends Lf{constructor(){super(...arguments),this.buttons=[{name:`find`,group:`search`}],this.previousQuery=``,this.drawPromise=null,this.walker=null,this.walkerCount=null,this.cache={},this.wrapFrameRequest=0}get ui(){return new cx(this.j)}async updateCounters(){this.ui.isOpened&&(this.ui.count=await this.calcCounts(this.ui.query))}onPressReplaceButton(){this.findAndReplace(this.ui.query),this.updateCounters()}tryScrollToElement(e){let t=P.closest(e,P.isElement,this.j.editor);t||=P.prev(e,P.isElement,this.j.editor),t&&t!==this.j.editor&&hl(t,this.j.editor,this.j.ed)}async calcCounts(e){return(await this.findQueryBounds(e,`walkerCount`)).length}async findQueryBounds(e,t){let n=this[t];return n&&n.break(),n=new xc(this.j.async,{timeout:this.j.o.search.lazyIdleTimeout}),this[t]=n,this.find(n,e).catch(e=>[])}async findAndReplace(e){let t=await this.findQueryBounds(e,`walker`);if(!t.length)return!1;let n=this.findCurrentIndexInRanges(t,this.j.s.range);n===-1&&(n=0);let r=t[n];if(r){try{let t=this.j.ed.createRange();t.setStart(r.startContainer,r.startOffset),t.setEnd(r.endContainer,r.endOffset),t.deleteContents();let i=this.j.createInside.text(this.ui.replace);P.safeInsertNode(t,i),ex(this.j),this.j.s.setCursorAfter(i),this.tryScrollToElement(i),this.cache={},this.ui.currentIndex=n,await this.findAndSelect(e,!0).catch(e=>null)}finally{this.j.synchronizeValues()}return this.j.e.fire(`afterFindAndReplace`),!0}return!1}async findAndSelect(e,t){var n;let r=await this.findQueryBounds(e,`walker`);if(!r.length)return!1;(this.previousQuery!==e||!$b(this.j.editor).length)&&((n=this.drawPromise)==null||n.rejectCallback(),this.j.async.cancelAnimationFrame(this.wrapFrameRequest),ex(this.j),this.drawPromise=this.__drawSelectionRanges(r)),this.previousQuery=e;let i=this.ui.currentIndex-1;i=i===-1?0:t?i===r.length-1?0:i+1:i===0?r.length-1:i-1,this.ui.currentIndex=i+1;let a=r[i];if(a){let e=this.j.ed.createRange();try{e.setStart(a.startContainer,a.startOffset),e.setEnd(a.endContainer,a.endOffset),this.j.s.selectRange(e)}catch{}return this.tryScrollToElement(a.startContainer),await this.updateCounters(),await this.drawPromise,this.j.e.fire(`afterFindAndSelect`),!0}return!1}findCurrentIndexInRanges(e,t){return e.findIndex(e=>e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.startContainer&&e.endOffset===t.endOffset)}async isValidCache(e){return(await e).every(e=>e.startContainer.isConnected&&e.startOffset<=(e.startContainer.nodeValue?.length??0)&&e.endContainer.isConnected&&e.endOffset<=(e.endContainer.nodeValue?.length??0))}async find(e,t){if(!t.length)return[];let n=this.cache[t];return n&&await this.isValidCache(n)?n:(this.cache[t]=this.j.async.promise(n=>{let r=new ox(this.j.o.search.fuzzySearch);e.on(`break`,()=>{n([])}).on(`visit`,e=>(P.isText(e)&&r.add(e),!1)).on(`end`,()=>{n(r.ranges(t)??[])}).setWork(this.j.editor)}),this.cache[t])}__drawSelectionRanges(e){let{async:t,createInside:n,editor:r}=this.j;t.cancelAnimationFrame(this.wrapFrameRequest);let i=[...e],a,o=0;return t.promise(e=>{let s=()=>{do a=i.shift(),a&&Qb(this.j,a,i,n,r),o+=1;while(a&&o<=5);i.length?this.wrapFrameRequest=t.requestAnimationFrame(s):e()};s()})}onAfterGetValueFromEditor(e){e.value=tx(e.value)}afterInit(e){if(e.o.useSearch){let t=this;e.e.on(`beforeSetMode.search`,()=>{this.ui.close()}).on(this.ui,`afterClose`,()=>{ex(e),this.ui.currentIndex=0,this.ui.count=0,this.cache={},e.focus()}).on(`click`,()=>{this.ui.currentIndex=0,ex(e)}).on(`change.search`,()=>{this.cache={}}).on(`keydown.search mousedown.search`,e.async.debounce(()=>{this.ui.selInfo&&(e.s.removeMarkers(),this.ui.selInfo=null),this.ui.isOpened&&this.updateCounters()},e.defaultTimeout)).on(`searchNext.search searchPrevious.search`,()=>(this.ui.isOpened||this.ui.open(),t.findAndSelect(t.ui.query,e.e.current===`searchNext`).catch(e=>{}))).on(`search.search`,(e,n=!0)=>(this.ui.currentIndex=0,t.findAndSelect(e||``,n).catch(e=>{}))),e.registerCommand(`search`,{exec:(e,n,r=!0)=>(n&&t.findAndSelect(n,r).catch(e=>{}),!1)}).registerCommand(`openSearchDialog`,{exec:(e,n)=>(t.ui.open(n),!1),hotkeys:[`ctrl+f`,`cmd+f`]}).registerCommand(`openReplaceDialog`,{exec:(n,r,i)=>(e.o.readonly||t.ui.open(r,i,!0),!1),hotkeys:[`ctrl+h`,`cmd+h`]})}}beforeDestruct(e){var t;(t=Rs(this,`ui`))==null||t.destruct(),e.e.off(`.search`)}};lx([zs],ux.prototype,`ui`,null),lx([I(`ui:needUpdateCounters`)],ux.prototype,`updateCounters`,null),lx([I(`ui:pressReplaceButton`)],ux.prototype,`onPressReplaceButton`,null),lx([A],ux.prototype,`findQueryBounds`,null),lx([A],ux.prototype,`findAndReplace`,null),lx([A],ux.prototype,`findAndSelect`,null),lx([A],ux.prototype,`find`,null),lx([I(`:afterGetValueFromEditor`)],ux.prototype,`onAfterGetValueFromEditor`,null),Ec.add(`search`,ux),F.prototype.select={normalizeSelectionBeforeCutAndCopy:!1,normalizeTripleClick:!0};var dx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fx=class extends Lf{constructor(){super(...arguments),this.proxyEventsList=[`click`,`mousedown`,`touchstart`,`mouseup`,`touchend`]}afterInit(e){this.proxyEventsList.forEach(t=>{e.e.on(t+`.select`,this.onStartSelection)})}beforeDestruct(e){this.proxyEventsList.forEach(t=>{e.e.on(t+`.select`,this.onStartSelection)})}onStartSelection(e){let{j:t}=this,n,r=e.target;for(;n===void 0&&r&&r!==t.editor;)n=t.e.fire(es(e.type+`_`+r.nodeName.toLowerCase()),r,e),r=r.parentElement;e.type===`click`&&n===void 0&&r===t.editor&&t.e.fire(e.type+`Editor`,r,e)}onOutsideClick(e){let t=e.target;P.up(t,e=>e===this.j.editor)||xu.closestElement(t,_d)||this.j.e.fire(`outsideClick`,e)}beforeCommandCut(){let{s:e}=this.j;if(!e.isCollapsed()){let t=e.current();t&&P.isOrContains(this.j.editor,t)&&this.onCopyNormalizeSelectionBound()}}beforeCommandSelectAll(){let{s:e}=this.j;return e.focus(),e.select(this.j.editor,!0),e.expandSelection(),!1}onClickRightOfNestedListItem(e){let{s:t}=this.j,n=t.range;if(!n.collapsed||n.startOffset!==0||!P.isText(n.startContainer))return;let r=n.startContainer,i=r.parentNode;if(!P.isTag(i,`li`)||!(i.querySelector(`ul`)||i.querySelector(`ol`)))return;let a=this.j.ed.createRange();a.selectNodeContents(r);let o=a.getBoundingClientRect();e.clientX>o.right&&t.setCursorAfter(r)}onClickKeepPendingFormat(){let{s:e}=this.j,t=e.range;if(!t.collapsed||!P.isText(t.startContainer))return;let n=t.startContainer;if(t.startOffset!==(n.nodeValue?.length??0))return;let r=n.nextSibling;if(!P.isElement(r)||!r.nodeName.match(Wa)||!P.isEmpty(r))return;let i=r;for(;P.isElement(i.firstElementChild)&&i.firstElementChild.nodeName.match(Wa);)i=i.firstElementChild;e.setCursorIn(i)}onTripleClickNormalizeSelection(e){if(e.detail!==3||!this.j.o.select.normalizeTripleClick)return;let{s:t}=this.j,{startContainer:n,startOffset:r}=t.range;r===0&&P.isText(n)&&t.select(P.closest(n,P.isBlock,this.j.editor)||n,!0)}onCopyNormalizeSelectionBound(e){let{s:t,editor:n,o:r}=this.j;!r.select.normalizeSelectionBeforeCutAndCopy||t.isCollapsed()||e&&(!e.isTrusted||!P.isNode(e.target)||!P.isOrContains(n,e.target))||this.jodit.s.expandSelection()}};dx([A],fx.prototype,`onStartSelection`,null),dx([I(`ow:click`)],fx.prototype,`onOutsideClick`,null),dx([I([`:beforeCommandCut`])],fx.prototype,`beforeCommandCut`,null),dx([I([`:beforeCommandSelectall`])],fx.prototype,`beforeCommandSelectAll`,null),dx([I([`:click`])],fx.prototype,`onClickRightOfNestedListItem`,null),dx([I([`:click`])],fx.prototype,`onClickKeepPendingFormat`,null),dx([I([`:click`])],fx.prototype,`onTripleClickNormalizeSelection`,null),dx([I([`:copy`,`:cut`])],fx.prototype,`onCopyNormalizeSelectionBound`,null),Ec.add(`select`,fx),F.prototype.tableAllowCellSelection=!0;var px=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},mx=`table_processor_observer`,hx=`onMoveTableSelectCell`,gx=class extends Lf{constructor(){super(...arguments),this.__selectedCell=null,this.__isSelectionMode=!1}
637get __tableModule(){return this.j.getInstance(qf,this.j.o)}afterInit(e){e.o.tableAllowCellSelection&&e.e.on(`keydown.select-cells`,e=>{e.key===`Tab`&&this.unselectCells()}).on(`beforeCommand.select-cells`,this.onExecCommand).on(`afterCommand.select-cells`,this.onAfterCommand).on([`clickEditor`,`mousedownTd`,`mousedownTh`,`touchstartTd`,`touchstartTh`].map(e=>e+`.select-cells`).join(` `),this.onStartSelection).on(`clickTr clickTbody`,()=>{var e;let t=this.__tableModule.getAllSelectedCells().length;if(t)return t>1&&((e=this.j.s.sel)==null||e.removeAllRanges()),!1})}onStartSelection(e,t){var n;if(this.j.o.readonly)return;let r=P.closest(e,`table`,this.j.editor);if((t?.ctrlKey||t?.metaKey)&&e!==this.j.editor&&r&&P.isCell(e))return this.__tableModule.getAllSelectedCells().includes(e)?this.__tableModule.removeSelection(e):(e.firstChild||e.appendChild(this.j.createInside.element(`br`)),this.__tableModule.addSelection(e)),this.__selectedCell=e,(n=this.j.s.sel)==null||n.removeAllRanges(),this.__tableModule.getAllSelectedCells().length?this.j.e.fire(`showPopup`,r,()=>Kl(e,this.j),`cells`):this.j.e.fire(`hidePopup`,`cells`),!1;if(this.unselectCells(),e!==this.j.editor&&!(!e||!r))return e.firstChild||e.appendChild(this.j.createInside.element(`br`)),this.__isSelectionMode=!0,this.__selectedCell=e,this.__tableModule.addSelection(e),this.j.e.on(r,`mousemove.select-cells touchmove.select-cells`,this.j.async.throttle(this.__onMove.bind(this,r),{label:hx,timeout:this.j.defaultTimeout/2})).on(r,`mouseup.select-cells touchend.select-cells`,this.__onStopSelection.bind(this,r)),!1}onOutsideClick(){this.__selectedCell=null,this.__onRemoveSelection()}onChange(){!this.j.isLocked&&!this.__isSelectionMode&&this.__onRemoveSelection()}__onMove(e,t){var n;if(this.j.o.readonly&&!this.j.isLocked||this.j.isLockedNotBy(mx))return;let r=(this.j.o.shadowRoot??this.j.ed).elementFromPoint(t.clientX,t.clientY);if(!r)return;let i=P.closest(r,[`td`,`th`],e);if(!i||!this.__selectedCell)return;i!==this.__selectedCell&&this.j.lock(mx),this.unselectCells();let a=this.__tableModule.getSelectedBound(e,[i,this.__selectedCell]),o=this.__tableModule.formalMatrix(e);for(let e=a[0][0];e<=a[1][0];e+=1)for(let t=a[0][1];t<=a[1][1];t+=1)this.__tableModule.addSelection(o[e][t]);this.__tableModule.getAllSelectedCells().length>1&&((n=this.j.s.sel)==null||n.removeAllRanges()),this.j.e.fire(`hidePopup`),t.stopPropagation(),(()=>{let e=this.j.createInside.fromHTML(`<div style="color:rgba(0,0,0,0.01);width:0;height:0">&nbsp;</div>`);i.appendChild(e),this.j.async.setTimeout(()=>{var t;(t=e.parentNode)==null||t.removeChild(e)},this.j.defaultTimeout/5)})()}__onRemoveSelection(e){if(!e?.buffer?.actionTrigger&&!this.__selectedCell&&this.__tableModule.getAllSelectedCells().length){this.j.unlock(),this.unselectCells(),this.j.e.fire(`hidePopup`,`cells`);return}this.__isSelectionMode=!1,this.__selectedCell=null}__onStopSelection(e,t){if(!this.__selectedCell)return;this.__isSelectionMode=!1,this.j.unlock();let n=(this.j.o.shadowRoot??this.j.ed).elementFromPoint(t.clientX,t.clientY);if(!n)return;let r=P.closest(n,[`td`,`th`],e);if(!r)return;let i=P.closest(r,`table`,e);if(i&&i!==e)return;let a=this.__tableModule.getSelectedBound(e,[r,this.__selectedCell]),o=this.__tableModule.formalMatrix(e),s=o[a[1][0]]?.[a[1][1]],c=o[a[0][0]]?.[a[0][1]];!c||!s||(this.j.e.fire(`showPopup`,e,()=>{let e=Kl(c,this.j),t=Kl(s,this.j);return{left:e.left,top:e.top,width:t.left-e.left+t.width,height:t.top-e.top+t.height}},`cells`),Pc(`table`,this.j.editor).forEach(e=>{this.j.e.off(e,`mousemove.select-cells touchmove.select-cells mouseup.select-cells touchend.select-cells`)}),this.j.async.clearTimeout(hx))}unselectCells(e){let t=this.__tableModule,n=t.getAllSelectedCells();n.length&&n.forEach(n=>{(!e||e!==n)&&t.removeSelection(n)})}onExecCommand(e){if(/^(delete|backspace)(word|sentence)?button$/.test(e)&&this.__tableModule.getAllSelectedCells().length>1){let e=this.__tableModule.getAllSelectedCells();return e.forEach(e=>{P.detach(e),e.appendChild(this.j.createInside.element(`br`))}),this.unselectCells(),this.j.s.setCursorIn(e[0]),this.j.synchronizeValues(),!1}if(/table(splitv|splitg|merge|empty|bin|binrow|bincolumn|addcolumn|addrow)/.test(e)){e=e.replace(`table`,``);let t=this.__tableModule.getAllSelectedCells();if(t.length){let[n]=t;if(!n)return;let r=P.closest(n,`table`,this.j.editor);if(!r)return;switch(e){case`splitv`:this.__tableModule.splitVertical(r);break;case`splitg`:this.__tableModule.splitHorizontal(r);break;case`merge`:this.__tableModule.mergeSelected(r);break;
637case`empty`:t.forEach(e=>P.detach(e));break;case`bin`:P.safeRemove(r);break;case`binrow`:new Set(t.map(e=>e.parentNode)).forEach(e=>{this.__tableModule.removeRow(r,e.rowIndex)});break;case`bincolumn`:{let e=new Set,n=[];t.forEach(t=>{let[,i]=this.__tableModule.formalCoordinate(r,t);e.has(i)||(n.push(i),e.add(i))}),n.sort((e,t)=>t-e).forEach(e=>{this.__tableModule.removeColumn(r,e)})}break;case`addcolumnafter`:case`addcolumnbefore`:this.__tableModule.appendColumn(r,n,e===`addcolumnafter`);break;case`addrowafter`:case`addrowbefore`:this.__tableModule.appendRow(r,n.parentNode,e===`addrowafter`)}}return!1}}onAfterCommand(e){/^justify/.test(e)&&this.__tableModule.getAllSelectedCells().forEach(t=>Kc(e,t))}beforeDestruct(e){this.__onRemoveSelection(),e.e.off(`.select-cells`)}};gx.requires=[`select`],px([A],gx.prototype,`onStartSelection`,null),px([I(`:outsideClick`)],gx.prototype,`onOutsideClick`,null),px([I(`:change`)],gx.prototype,`onChange`,null),px([A],gx.prototype,`__onRemoveSelection`,null),px([A],gx.prototype,`__onStopSelection`,null),px([A],gx.prototype,`onExecCommand`,null),px([A],gx.prototype,`onAfterCommand`,null),Ec.add(`selectCells`,gx);var _x=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M553 1399l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23t-10 23l-393 393 393 393q10 10 10 23t-10 23zm591-1067l-373 1291q-4 13-15.5 19.5t-23.5 2.5l-62-17q-13-4-19.5-15.5t-2.5-24.5l373-1291q4-13 15.5-19.5t23.5-2.5l62 17q13 4 19.5 15.5t2.5 24.5zm657 651l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23t-10 23z"/> </svg> `;F.prototype.beautifyHTML=!oo,F.prototype.sourceEditor=`ace`,F.prototype.sourceEditorNativeOptions={showGutter:!0,theme:`ace/theme/idle_fingers`,mode:`ace/mode/html`,wrap:!0,highlightActiveLine:!0},F.prototype.sourceEditorCDNUrlsJS=[`https://cdnjs.cloudflare.com/ajax/libs/ace/1.43.3/ace.js`],F.prototype.beautifyHTMLCDNUrlsJS=[`https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify.min.js`,`https://cdnjs.cloudflare.com/ajax/libs/js-beautify/1.14.4/beautify-html.min.js`],vu.set(`source`,_x),F.prototype.controls.source={mode:3,exec:e=>{e.toggleMode()},isActive:e=>e.getRealMode()===2,tooltip:`Change mode`};var vx=class{constructor(e,t,n,r){this.jodit=e,this.container=t,this.toWYSIWYG=n,this.fromWYSIWYG=r,this.className=``,this.isReady=!1}get j(){return this.jodit}onReady(){this.replaceUndoManager(),this.isReady=!0,this.j.e.fire(this,`ready`)}onReadyAlways(e){var t;this.isReady?e():(t=this.j.events)==null||t.on(this,`ready`,e)}},yx=class extends vx{constructor(){super(...arguments),this.className=`jodit_ace_editor`,this.proxyOnBlur=e=>{this.j.e.fire(`blur`,e)},this.proxyOnFocus=e=>{this.j.e.fire(`focus`,e)},this.proxyOnMouseDown=e=>{this.j.e.fire(`mousedown`,e)}}aceExists(){return this.j.ow.ace!==void 0}getLastColumnIndex(e){return this.instance.session.getLine(e).length}getLastColumnIndices(){let e=this.instance.session.getLength(),t=[],n=0;for(let r=0;r<e;r++)n+=this.getLastColumnIndex(r),r>0&&(n+=1),t[r]=n;return t}getRowColumnIndices(e){let t=this.getLastColumnIndices();if(e<=t[0])return{row:0,column:e};let n=1;for(let r=1;r<t.length;r++)e>t[r]&&(n=r+1);let r=e-t[n-1]-1;return{row:n,column:r}}setSelectionRangeIndices(e,t){let n=this.getRowColumnIndices(e),r=this.getRowColumnIndices(t);this.instance.getSelection().setSelectionRange({start:n,end:r})}getIndexByRowColumn(e,t){return this.getLastColumnIndices()[e]-this.getLastColumnIndex(e)+t}init(e){let t=()=>{if(this.instance!==void 0||!this.aceExists())return;let t=this.j.c.div(`jodit-source__mirror-fake`);this.container.appendChild(t);let n=e.ow.ace;this.instance=n.edit(t),e.o.direction===`rtl`&&(this.instance.setOption(`rtlText`,!0),this.instance.setOption(`rtl`,!0)),this.instance.setOptions(e.o.sourceEditorNativeOptions),this.instance.setTheme(e.o.sourceEditorNativeOptions.theme),this.instance.renderer.setShowGutter(e.o.sourceEditorNativeOptions.showGutter),this.instance.getSession().setMode(e.o.sourceEditorNativeOptions.mode),this.instance.setHighlightActiveLine(e.o.sourceEditorNativeOptions.highlightActiveLine),this.instance.getSession().setUseWrapMode(!0),this.instance.setOption(`indentedSoftWrap`,!1),this.instance.setOption(`wrap`,e.o.sourceEditorNativeOptions.wrap),this.instance.getSession().setUseWorker(!1),this.instance.$blockScrolling=1/0,this.instance.on(`change`,this.toWYSIWYG),this.instance.on(`focus`,this.proxyOnFocus),this.instance.on(`mousedown`,this.proxyOnMouseDown),this.instance.on(`blur`,this.proxyOnBlur),e.getRealMode()!==1&&this.setValue(this.getValue());let r=this.j.async.throttle(()=>{if(e.isInDestruct||e.getMode()===1)return;let t=this.instance.isFocused();e.o.height===`auto`?this.instance.setOption(`maxLines`,1/0):this.instance.setOption(`maxLines`,e.workplace.offsetHeight/this.instance.renderer.lineHeight),this.instance.resize(),t&&this.focus()},this.j.defaultTimeout*2);e.e.on(e,`resize`,r).on(`afterResize afterSetMode`,r),r(),this.onReady()},n=()=>{e.isInDestruct||e.getRealMode()!==2&&e.getMode()!==3||(this.fromWYSIWYG(),t())};e.e.on(`afterSetMode`,n),n(),this.aceExists()||oc(e,e.o.sourceEditorCDNUrlsJS).then(n).catch(()=>null)}destruct(){var e;this.instance.off(`change`,this.toWYSIWYG),this.instance.off(`focus`,this.proxyOnFocus),this.instance.off(`mousedown`,this.proxyOnMouseDown),this.instance.destroy(),(e=this.j?.events)==null||e.off(`aceInited.source`)}setValue(e){if(!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){let t=this.j.e.fire(`beautifyHTML`,e);j(t)&&(e=t)}this.instance.setValue(e),this.instance.clearSelection()}getValue(){return this.instance.getValue()}setReadOnly(e){this.instance.setReadOnly(e)}get isFocused(){return this.instance.isFocused()}focus(){this.instance.container.focus(),this.instance.focus()}blur(){this.instance.blur()}getSelectionStart(){let e=this.instance.selection.getRange();return this.getIndexByRowColumn(e.start.row,e.start.column)}getSelectionEnd(){let e=this.instance.selection.getRange();return this.getIndexByRowColumn(e.end.row,e.end.column)}selectAll(){this.instance.selection.selectAll()}insertRaw(e){let t=this.instance.selection.getCursor(),n=this.instance.session.insert(t,e);this.instance.selection.setRange({start:t,end:n},!1)}setSelectionRange(e,t){this.setSelectionRangeIndices(e,t)}setPlaceHolder(e){}replaceUndoManager(){let{history:e}=this.jodit;this.instance.commands.addCommand({name:`Undo`,bindKey:{win:`Ctrl-Z`,mac:`Command-Z`},exec:()=>{e.undo()}}),this.instance.commands.addCommand({name:`Redo`,bindKey:{win:`Ctrl-Shift-Z`,mac:`Command-Shift-Z`},exec:()=>{e.redo()}})}},bx=class extends vx{constructor(){super(...arguments),this.autosize=this.j.async.debounce(()=>{this.instance.style.height=`auto`,this.instance.style.height=this.instance.scrollHeight+`px`},this.j.defaultTimeout,!0)}
637init(e){this.instance=e.c.element(`textarea`,{class:`jodit-source__mirror`,dir:e.o.direction===`rtl`?`rtl`:void 0}),this.container.appendChild(this.instance),e.e.on(this.instance,`mousedown keydown touchstart input`,e.async.debounce(this.toWYSIWYG,e.defaultTimeout)).on(`setMinHeight.source`,e=>{M(this.instance,`minHeight`,e)}).on(this.instance,`change keydown mousedown touchstart input`,this.autosize).on(`afterSetMode.source`,this.autosize).on(this.instance,`mousedown focus blur`,t=>{e.e.fire(t.type,t)}),this.autosize(),this.onReady()}destruct(){P.safeRemove(this.instance)}getValue(){return this.instance.value}setValue(e){this.instance.value=e}insertRaw(e){let t=this.getValue();if(this.getSelectionStart()>=0){let n=this.getSelectionStart(),r=this.getSelectionEnd();this.setValue(t.substring(0,n)+e+t.substring(r,t.length))}else this.setValue(t+e)}getSelectionStart(){return this.instance.selectionStart}getSelectionEnd(){return this.instance.selectionEnd}setSelectionRange(e,t=e){this.instance.setSelectionRange(e,t)}get isFocused(){return this.instance===this.j.od.activeElement}focus(){this.instance.focus()}blur(){this.instance.blur()}setPlaceHolder(e){N(this.instance,`placeholder`,e)}setReadOnly(e){N(this.instance,`readonly`,e?`true`:null)}selectAll(){this.instance.select()}replaceUndoManager(){let{history:e}=this.jodit;this.j.e.on(this.instance,`keydown`,t=>{if((t.ctrlKey||t.metaKey)&&t.key===`z`)return t.shiftKey?e.redo():e.undo(),this.setSelectionRange(this.getValue().length),!1})}};function xx(e,t,n,r,i){let a;if(k(e))a=e(t);else switch(e){case`ace`:if(!t.o.shadowRoot){a=new yx(t,n,r,i);break}default:a=new bx(t,n,r,i)}return a.init(t),a.onReadyAlways(()=>{a.setReadOnly(t.o.readonly)}),a}var Sx=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Cx=class extends Lf{constructor(){super(...arguments),this.buttons=[{name:`source`,group:`source`}],this.__lock=!1,this.__oldMirrorValue=``,this.tempMarkerStart=`{start-jodit-selection}`,this.tempMarkerStartReg=/{start-jodit-selection}/g,this.tempMarkerEnd=`{end-jodit-selection}`,this.tempMarkerEndReg=/{end-jodit-selection}/g,this.getSelectionStart=()=>this.sourceEditor?.getSelectionStart()??0,this.getSelectionEnd=()=>this.sourceEditor?.getSelectionEnd()??0}onInsertHTML(e){var t;if(!this.j.o.readonly&&!this.j.isEditorMode())return(t=this.sourceEditor)==null||t.insertRaw(e),this.toWYSIWYG(),!1}fromWYSIWYG(e=!1){if(!this.__lock||e===!0){this.__lock=!0;let e=this.j.getEditorValue(!1,Eo);e!==this.getMirrorValue()&&this.setMirrorValue(e),this.__lock=!1}}toWYSIWYG(){if(this.__lock)return;let e=this.getMirrorValue();e!==this.__oldMirrorValue&&(this.__lock=!0,this.j.value=e,this.__lock=!1,this.__oldMirrorValue=e)}getNormalPosition(e,t){for(t=t.replace(/<(script|style|iframe)[^>]*>[^]*?<\/\1>/im,e=>{let t=``;for(let n=0;n<e.length;n+=1)t+=``;return t});e>0&&t[e]===``;)e--;let n=e;for(;n>0;){if(n--,t[n]===`<`&&t[n+1]!==void 0&&t[n+1].match(/[\w/]+/i))return n;if(t[n]===`>`)return e}return e}clnInv(e){return e.replace(Fa(),``)}onSelectAll(e){var t;if(e.toLowerCase()===`selectall`&&this.j.getRealMode()===2)return(t=this.sourceEditor)==null||t.selectAll(),!1}getMirrorValue(){return this.sourceEditor?.getValue()||``}setMirrorValue(e){var t;(t=this.sourceEditor)==null||t.setValue(e)}setFocusToMirror(){var e;let t=this.j.od.activeElement;t&&t!==this.j.od.body&&!this.j.container.contains(t)||(e=this.sourceEditor)==null||e.focus()}saveSelection(){if(this.j.getRealMode()===1)this.j.s.save(),this.j.synchronizeValues(),this.fromWYSIWYG(!0);else{if(this.j.o.editHTMLDocumentMode)return;let e=this.getMirrorValue();if(this.getSelectionStart()===this.getSelectionEnd()){let t=this.j.s.marker(!0),n=this.getNormalPosition(this.getSelectionStart(),this.getMirrorValue());this.setMirrorValue(e.substring(0,n)+this.clnInv(t.outerHTML)+e.substring(n))}else{let t=this.j.s.marker(!0),n=this.j.s.marker(!1),r=this.getNormalPosition(this.getSelectionStart(),e),i=this.getNormalPosition(this.getSelectionEnd(),e);this.setMirrorValue(e.slice(0,r)+this.clnInv(t.outerHTML)+e.slice(r,i)+this.clnInv(n.outerHTML)+e.slice(i))}this.toWYSIWYG()}}removeSelection(){if(this.j.getRealMode()===1){this.__lock=!0,this.j.s.restore(
637),this.__lock=!1;return}let e=this.getMirrorValue(),t=0,n=0;try{if(e=e.replace(/<span[^>]+data-jodit-selection_marker=(["'])start\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerStart).replace(/<span[^>]+data-jodit-selection_marker=(["'])end\1[^>]*>[<>]*?<\/span>/gim,this.tempMarkerEnd),!this.j.o.editHTMLDocumentMode&&this.j.o.beautifyHTML){let t=this.j.e.fire(`beautifyHTML`,e);j(t)&&(e=t)}if(t=e.indexOf(this.tempMarkerStart),n=t,e=e.replace(this.tempMarkerStartReg,``),t!==-1){let t=e.indexOf(this.tempMarkerEnd);t!==-1&&(n=t)}e=e.replace(this.tempMarkerEndReg,``)}finally{e=e.replace(this.tempMarkerEndReg,``).replace(this.tempMarkerStartReg,``)}this.setMirrorValue(e),this.setMirrorSelectionRange(t,n),this.toWYSIWYG(),this.setFocusToMirror()}setMirrorSelectionRange(e,t){var n;(n=this.sourceEditor)==null||n.setSelectionRange(e,t)}onReadonlyReact(){var e;(e=this.sourceEditor)==null||e.setReadOnly(this.j.o.readonly)}afterInit(e){if(this.mirrorContainer=e.c.div(`jodit-source`),e.workplace.appendChild(this.mirrorContainer),e.e.on(`afterAddPlace changePlace afterInit`,()=>{e.workplace.appendChild(this.mirrorContainer)}),this.sourceEditor=xx(`area`,e,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG),e.e.on(e.ow,`keydown`,e=>{e.key===`Escape`&&this.sourceEditor?.isFocused&&this.sourceEditor.blur()}),this.onReadonlyReact(),e.e.on(`placeholder.source`,e=>{var t;(t=this.sourceEditor)==null||t.setPlaceHolder(e)}).on(`change.source`,this.syncValueFromWYSIWYG).on(`beautifyHTML`,e=>e),e.o.beautifyHTML){let t=()=>{var t;if(e.isInDestruct)return!1;let n=e.ow.html_beautify;return n&&!e.isInDestruct?((t=e.events)==null||t.off(`beautifyHTML`).on(`beautifyHTML`,e=>n(e)),!0):!1};t()||oc(e,e.o.beautifyHTMLCDNUrlsJS).then(t,()=>null)}this.syncValueFromWYSIWYG(!0),this.initSourceEditor(e)}syncValueFromWYSIWYG(e=!1){let t=this.j;(t.getMode()===3||t.getMode()===2)&&this.fromWYSIWYG(e)}initSourceEditor(e){var t;if(e.o.sourceEditor!==`area`){let t=xx(e.o.sourceEditor,e,this.mirrorContainer,this.toWYSIWYG,this.fromWYSIWYG);t.onReadyAlways(()=>{var n,r;(n=this.sourceEditor)==null||n.destruct(),this.sourceEditor=t,this.syncValueFromWYSIWYG(!0),(r=e.events)==null||r.fire(`sourceEditorReady`,e)})}else(t=this.sourceEditor)==null||t.onReadyAlways(()=>{var t;this.syncValueFromWYSIWYG(!0),(t=e.events)==null||t.fire(`sourceEditorReady`,e)})}beforeDestruct(){this.sourceEditor&&(this.sourceEditor.destruct(),delete this.sourceEditor),P.safeRemove(this.mirrorContainer)}};Sx([I(`:insertHTML.source`)],Cx.prototype,`onInsertHTML`,null),Sx([A],Cx.prototype,`fromWYSIWYG`,null),Sx([A],Cx.prototype,`toWYSIWYG`,null),Sx([A],Cx.prototype,`getNormalPosition`,null),Sx([I(`:beforeCommand.source`)],Cx.prototype,`onSelectAll`,null),Sx([I(`:beforeSetMode.source`)],Cx.prototype,`saveSelection`,null),Sx([I(`:afterSetMode.source`)],Cx.prototype,`removeSelection`,null),Sx([A],Cx.prototype,`setMirrorSelectionRange`,null),Sx([I(`:readonly.source`)],Cx.prototype,`onReadonlyReact`,null),Sx([A],Cx.prototype,`syncValueFromWYSIWYG`,null),Ec.add(`source`,Cx);var wx=`<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"> <path d="M24.89 32h4.18L18.86 6h-3.71L4.93 32h4.18l2.25-6h11.29l2.24 6zM12.86 22L17 10.95 21.14 22h-8.28zm30.31 1.17L27 39.34 19.66 32l-2.83 2.83L27 45l19-19-2.83-2.83z"/> </svg> `;F.prototype.spellcheck=!1,vu.set(`spellcheck`,wx),F.prototype.controls.spellcheck={isActive(e){return e.o.spellcheck},icon:wx,name:`spellcheck`,command:`toggleSpellcheck`,tooltip:`Spellcheck`};var Tx=s({default:()=>Ex}),Ex={Spellcheck:`التدقيق الإملائي`},Dx=s({default:()=>Ox}),Ox={Spellcheck:`Kontrola pravopisu`},kx=s({default:()=>Ax}),Ax={Spellcheck:`Rechtschreibprüfung`},jx=s({default:()=>Mx}),Mx={Spellcheck:`Corrección ortográfica`},Nx=s({default:()=>Px}),Px={Spellcheck:`غلطیابی املایی`},Fx=s({default:()=>Ix}),Ix={Spellcheck:`Oikeinkirjoituksen tarkistus`},Lx=s({default:()=>Rx}),Rx={Spellcheck:`Vérification Orthographique`},zx=s({default:()=>Bx}),Bx={Spellcheck:`בדיקת איות`},Vx=s({default:()=>Hx}),Hx={Spellcheck:`Helyesírás-ellenőrzés`},Ux=s({default:()=>Wx}),Wx={Spellcheck:`Spellchecking`},Gx=s({default:()=>Kx}),Kx={Spellcheck:`Controllo ortografico`},qx=s({default:()=>Jx}),Jx={Spellcheck:`スペルチェック`},Yx=s({default:()=>Xx}),Xx={Spellcheck:`맞춤법 검사`},Zx=s({default:()=>Qx}),Qx={Spellcheck:`Дүрмийн алдаа шалгах`},$x=s({default:()=>eS}),eS={Spellcheck:`Spellingcontrole`},tS=s({default:()=>nS}),nS={Spellcheck:`Stavekontroll`},rS=s({default:()=>iS}),iS={Spellcheck:`Sprawdzanie pisowni`},aS=s({default:()=>oS}),oS={Spellcheck:`Verificação ortográfica`},sS=s({default:()=>cS}),cS={Spellcheck:`Проверка орфографии`},lS=s({default:()=>uS}),uS={Spellcheck:`Yazım denetimi`},dS=s({default:()=>fS}),fS={Spellcheck:`Перевірка орфографії`},pS=s({default:()=>mS}),mS={Spellcheck:`拼写检查`},hS=s({default:()=>gS}),gS={Spellcheck:`拼字檢查`},_S=s({ar:()=>Tx,cs_cz:()=>Dx,de:()=>kx,es:()=>jx,fa:()=>Nx,fi:()=>Fx,fr:()=>Lx,he:()=>zx,hu:()=>Vx,id:()=>Ux,it:()=>Gx,ja:()=>qx,ko:()=>Yx,mn:()=>Zx,nl:()=>$x,no:()=>tS,pl:()=>rS,pt_br:()=>aS,ru:()=>sS,tr:()=>lS,ua:()=>dS,zh_cn:()=>pS,zh_tw:()=>hS}),vS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yS=class extends Lf{constructor(e){super(e),this.buttons=[{group:`state`,name:`spellcheck`}],Oc(_S)}afterInit(e){e.e.on(`afterInit afterAddPlace prepareWYSIWYGEditor`,this.toggleSpellcheck),this.toggleSpellcheck(),e.registerCommand(`toggleSpellcheck`,()=>{this.jodit.o.spellcheck=!this.jodit.o.spellcheck,this.toggleSpellcheck(),this.j.e.fire(`updateToolbar`)})}toggleSpellcheck(){N(this.jodit.editor,`spellcheck`,this.jodit.o.spellcheck)}beforeDestruct(e){}};vS([A],yS.prototype,`toggleSpellcheck`,null),Ec.add(`spellcheck`,yS),F.prototype.toolbarSticky=!0,F.prototype.toolbarDisableStickyForMobile=!0,F.prototype.toolbarStickyOffset=0;var bS=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xS=class extends Lf{constructor(){super(...arguments),this.__isToolbarStuck=!1,this.__createDummy=e=>{this.__dummyBox=this.j.c.div(),this.__dummyBox.classList.add(`jodit_sticky-dummy_toolbar`),this.j.container.insertBefore(this.__dummyBox,e)},this.addSticky=e=>{this.__isToolbarStuck||=(this.j.container.classList.add(`jodit_sticky`),!0),M(e,{top:this.j.o.toolbarStickyOffset||null,width:this.j.container.offsetWidth-2}),this.__dummyBox&&M(this.__dummyBox,{height:e.offsetHeight})},this.removeSticky=e=>{this.__isToolbarStuck&&=(M(e,{width:``,top:``}),this.j.container.classList.remove(`jodit_sticky`),!1)}}
637afterInit(e){e.e.on(e.ow,`scroll.sticky wheel.sticky mousewheel.sticky resize.sticky`,this.__onScroll).on(`getStickyState.sticky`,()=>this.__isToolbarStuck)}__onScroll(){let{jodit:e}=this;if(!e.o.toolbarSticky||!e.o.toolbar)return;let t=e.ow.pageYOffset||e.od.documentElement&&e.od.documentElement.scrollTop||0,n=Gl(e.container,e,e.od,!0),r=e.getMode()===1&&t+e.o.toolbarStickyOffset>n.top&&t+e.o.toolbarStickyOffset<n.top+n.height&&!(e.o.toolbarDisableStickyForMobile&&this.__isMobile());if(this.__isToolbarStuck===r)return;let i=e.toolbarContainer;i&&(r?this.addSticky(i):this.removeSticky(i)),e.e.fire(`toggleSticky`,r)}__isMobile(){let{j:e}=this;return e&&e.options&&e.container&&e.options.sizeSM>=e.container.offsetWidth}beforeDestruct(e){P.safeRemove(this.__dummyBox),e.e.off(e.ow,`scroll.sticky wheel.sticky mousewheel.sticky resize.sticky`,this.__onScroll).off(`.sticky`)}};bS([nu()],xS.prototype,`__onScroll`,null),Ec.add(`sticky`,xS);var SS=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 270 270"> <path d="m240.443652,220.45085l-47.410809,0l0,-10.342138c13.89973,-8.43655 25.752896,-19.844464 34.686646,-33.469923c11.445525,-17.455846 17.496072,-37.709239 17.496072,-58.570077c0,-59.589197 -49.208516,-108.068714 -109.693558,-108.068714s-109.69263,48.479517 -109.69263,108.069628c0,20.860839 6.050547,41.113316 17.497001,58.570077c8.93375,13.625459 20.787845,25.032458 34.686646,33.469008l0,10.342138l-47.412666,0c-10.256959,0 -18.571354,8.191376 -18.571354,18.296574c0,10.105198 8.314395,18.296574 18.571354,18.296574l65.98402,0c10.256959,0 18.571354,-8.191376 18.571354,-18.296574l0,-39.496814c0,-7.073455 -4.137698,-13.51202 -10.626529,-16.537358c-25.24497,-11.772016 -41.557118,-37.145704 -41.557118,-64.643625c0,-39.411735 32.545369,-71.476481 72.549922,-71.476481c40.004553,0 72.550851,32.064746 72.550851,71.476481c0,27.497006 -16.312149,52.87161 -41.557118,64.643625c-6.487902,3.026253 -10.6256,9.464818 -10.6256,16.537358l0,39.496814c0,10.105198 8.314395,18.296574 18.571354,18.296574l65.982163,0c10.256959,0 18.571354,-8.191376 18.571354,-18.296574c0,-10.105198 -8.314395,-18.296574 -18.571354,-18.296574z"/> </svg> `;F.prototype.usePopupForSpecialCharacters=!1,F.prototype.specialCharacters="!,&quot;,#,$,%,&amp;,',(,),*,+,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,&lt;,=,&gt;,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,&euro;,&lsquo;,&rsquo;,&ldquo;,&rdquo;,&ndash;,&mdash;,&iexcl;,&cent;,&pound;,&curren;,&yen;,&brvbar;,&sect;,&uml;,&copy;,&ordf;,&laquo;,&raquo;,&not;,&reg;,&macr;,&deg;,&sup2;,&sup3;,&acute;,&micro;,&para;,&middot;,&cedil;,&sup1;,&ordm;,&frac14;,&frac12;,&frac34;,&iquest;,&Agrave;,&Aacute;,&Acirc;,&Atilde;,&Auml;,&Aring;,&AElig;,&Ccedil;,&Egrave;,&Eacute;,&Ecirc;,&Euml;,&Igrave;,&Iacute;,&Icirc;,&Iuml;,&ETH;,&Ntilde;,&Ograve;,&Oacute;,&Ocirc;,&Otilde;,&Ouml;,&times;,&Oslash;,&Ugrave;,&Uacute;,&Ucirc;,&Uuml;,&Yacute;,&THORN;,&szlig;,&agrave;,&aacute;,&acirc;,&atilde;,&auml;,&aring;,&aelig;,&ccedil;,&egrave;,&eacute;,&ecirc;,&euml;,&igrave;,&iacute;,&icirc;,&iuml;,&eth;,&ntilde;,&ograve;,&oacute;,&ocirc;,&otilde;,&ouml;,&divide;,&oslash;,&ugrave;,&uacute;,&ucirc;,&uuml;,&yacute;,&thorn;,&yuml;,&OElig;,&oelig;,&#372;,&#374,&#373,&#375;,&sbquo;,&#8219;,&bdquo;,&hellip;,&trade;,&#9658;,&bull;,&rarr;,&rArr;,&hArr;,&diams;,&asymp;".split(`,`),vu.set(`symbols`,SS),F.prototype.controls.symbols={hotkeys:[`ctrl+shift+i`,`cmd+shift+i`],tooltip:`Insert Special Character`,popup:(e,t,n)=>{let r=e.e.fire(`generateSpecialCharactersTable.symbols`);if(r){if(e.o.usePopupForSpecialCharacters){let t=e.c.div();return t.classList.add(`jodit-symbols`),t.appendChild(r),e.e.on(r,`close_dialog`,n),t}e.alert(r,`Select Special Character`,void 0,`jodit-symbols`).bindDestruct(e);let t=r.querySelector(`a`);t&&t.focus()}}};var CS=s({default:()=>wS}),wS={symbols:`رمز`},TS=s({default:()=>ES}),ES={symbols:`symbol`},DS=s({default:()=>OS}),OS={symbols:`Symbol`},kS=s({default:()=>AS}),AS={symbols:`Símbolo`},jS=s({default:()=>MS}),MS={symbols:`سمبل`},NS=s({default:()=>PS}),PS={symbols:`Symbolit`},FS=s({default:()=>IS}),IS={symbols:`caractère`},LS=s({default:()=>RS}),RS={symbols:`תו מיוחד`},zS=s({default:()=>BS}),BS={symbols:`Szimbólum`},VS=s({default:()=>HS}),HS={symbols:`simbol`},US=s({default:()=>WS}),WS={symbols:`Simbolo`}
637,GS=s({default:()=>KS}),KS={symbols:`symbol`},qS=s({default:()=>JS}),JS={symbols:`기호`},YS=s({default:()=>XS}),XS={symbols:`тэмдэгт`},ZS=s({default:()=>QS}),QS={symbols:`symbool`},$S=s({default:()=>eC}),eC={symbols:`symbol`},tC=s({default:()=>nC}),nC={symbols:`Símbolo`},rC=s({default:()=>iC}),iC={symbols:`символ`},aC=s({default:()=>oC}),oC={symbols:`Sembol`},sC=s({default:()=>cC}),cC={symbols:`символ`},lC=s({default:()=>uC}),uC={symbols:`符号`},dC=s({default:()=>fC}),fC={symbols:`符號`},pC=s({ar:()=>CS,cs_cz:()=>TS,de:()=>DS,es:()=>kS,fa:()=>jS,fi:()=>NS,fr:()=>FS,he:()=>LS,hu:()=>zS,id:()=>VS,it:()=>US,ja:()=>GS,ko:()=>qS,mn:()=>YS,nl:()=>ZS,pl:()=>$S,pt_br:()=>tC,ru:()=>rC,tr:()=>aC,ua:()=>sC,zh_cn:()=>lC,zh_tw:()=>dC}),mC=class extends Lf{constructor(e){super(e),this.buttons=[{name:`symbols`,group:`insert`}],this.__countInRow=17,Oc(pC)}afterInit(e){e.e.on(`generateSpecialCharactersTable.symbols`,()=>{let t=e.c.fromHTML(`<div class="jodit-symbols__container">
638						<div class="jodit-symbols__container_table">
639							<table class="jodit-symbols__table"><tbody></tbody></table>
640						</div>
641						<div class="jodit-symbols__container_preview">
642							<div class="jodit-symbols__preview"></div>
643						</div>
644					</div>`),n=t.querySelector(`.jodit-symbols__preview`),r=t.querySelector(`table`).tBodies[0],i=[];for(let t=0;t<e.o.specialCharacters.length;){let n=e.c.element(`tr`);for(let r=0;r<this.__countInRow&&t<e.o.specialCharacters.length;r+=1,t+=1){let a=e.c.element(`td`),o=e.c.fromHTML(`<a
645									data-index="${t}"
646									data-index-j="${r}"
647									role="option"
648									tabindex="-1"
649							>${e.o.specialCharacters[t]}</a>`);i.push(o),a.appendChild(o),n.appendChild(a)}r.appendChild(n)}let a=this;return e.e.on(i,`focus`,function(){n.innerHTML=this.innerHTML}).on(i,`mousedown`,function(t){P.isTag(this,`a`)&&(e.s.focus(),e.s.insertHTML(this.innerHTML),t?.shiftKey||e.e.fire(this,`close_dialog`),t&&t.preventDefault(),t&&t.stopImmediatePropagation())}).on(i,`mouseenter`,function(){P.isTag(this,`a`)&&this.focus()}).on(i,`keydown`,t=>{let n=t.target;if(P.isTag(n,`a`)){let r=parseInt(N(n,`-index`)||`0`,10),o=parseInt(N(n,`data-index-j`)||`0`,10),s;switch(t.key){case eo:case no:s=t.key===`ArrowUp`?r-a.__countInRow:r+a.__countInRow,i[s]===void 0&&(s=t.key===`ArrowUp`?Math.floor(i.length/a.__countInRow)*a.__countInRow+o:o,s>i.length-1&&(s-=a.__countInRow)),i[s]&&i[s].focus();break;case to:case $a:s=t.key===`ArrowLeft`?r-1:r+1,i[s]===void 0&&(s=t.key===`ArrowLeft`?i.length-1:0),i[s]&&i[s].focus();break;case Za:e.e.fire(n,`mousedown`),t.stopImmediatePropagation(),t.preventDefault()}}}),t})}beforeDestruct(e){e.e.off(`generateSpecialCharactersTable.symbols`)}};Ec.add(`symbols`,mC);var hC=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 270 270"> <path d="M 255.9537,58.150081 237.69527,40.997278 c -1.49414,-1.375593 -3.43653,-2.077427 -5.37891,-2.077427 -1.94239,0 -3.88478,0.701834 -5.37892,2.077427 L 29.919751,226.1128 c -2.988286,2.77926 -2.988286,7.32714 0,10.13447 L 48.148295,253.372 c 1.46426,1.37559 3.406646,2.1055 5.378915,2.1055 1.972268,0 3.884771,-0.72991 5.378914,-2.1055 L 221.34935,100.73732 255.9537,68.284552 c 2.9584,-2.807333 2.9584,-7.355212 0,-10.134471 z M 251.17244,63.79282 221.34935,91.781927 201.89561,73.506191 231.68882,45.48901 c 0.20918,-0.140367 0.38847,-0.224587 0.62754,-0.224587 0.23906,0 0.44824,0.08422 0.59765,0.224587 l 18.25843,17.152803 c 0,0 0.23906,0.33688 0.23906,0.561467 0,0.224586 -0.0896,0.4211 -0.23906,0.58954 z" style="stroke-width:2.8964;stroke-opacity:1" /> <path d="m 48.626421,116.87948 10.578532,23.10435 c 0.83672,1.82477 3.615826,1.85284 4.452546,0 l 10.937126,-23.52545 c 2.629692,-5.69888 7.470715,-10.24676 13.536935,-12.71722 l 25.07172,-10.274833 c 1.94239,-0.786053 1.94239,-3.396873 0,-4.182926 L 88.13156,79.008563 C 82.06534,76.53811 77.224317,71.990231 74.594625,66.291346 L 63.657499,42.737824 c -0.83672,-1.824766 -3.615826,-1.824766 -4.452546,0 L 48.267826,66.291346 C 45.638135,71.990231 40.797112,76.53811 34.730891,79.008563 L 9.6292894,89.311474 c -1.9423859,0.786054 -1.9423859,3.3688 0,4.182926 l 25.5498446,10.61172 c 6.036338,2.49852 10.847478,7.07448 13.477169,12.77336 z" style="stroke-width:2.8964;fill-opacity:1;stroke-opacity:1" /> <path d="m 111.79878,33.136746 13.56682,5.642739 c 3.19747,1.319446 5.76739,3.761826 7.14201,6.793745 l 5.61797,12.268044 c 0.44825,0.982567 1.91251,0.982567 2.36075,0 l 5.79727,-12.492631 c 1.4045,-3.031919 3.97442,-5.446225 7.20177,-6.765672 l 13.29788,-5.446225 c 1.0459,-0.4211 1.0459,-1.796693 0,-2.217793 l -13.29788,-5.446225 c -3.22735,-1.319447 -5.79727,-3.733753 -7.20177,-6.765672 L 140.48633,6.2144248 c 
649-0.44824,-0.9825664 -1.9125,-0.9825664 -2.36075,0 l -5.79727,12.4926312 c -1.4045,3.031919 -3.97442,5.446225 -7.20177,6.765672 l -13.32776,5.474298 c -1.01601,0.4211 -1.0459,1.796693 0,2.217793 z" style="stroke-width:2.8964;fill-opacity:1" /> <path d="m 233.09331,192.98627 -14.13459,-5.7831 c -3.40665,-1.40367 -6.12599,-3.95834 -7.62013,-7.1587 l -6.15587,-13.27868 c -0.47813,-1.03872 -2.03203,-1.03872 -2.51016,0 l -6.15587,13.27868 c -1.49414,3.20036 -4.21348,5.75503 -7.62013,7.1587 l -14.13459,5.81118 c -1.10567,0.44917 -1.10567,1.90898 0,2.35816 l 14.40354,5.97961 c 3.40664,1.40367 6.12598,3.98642 7.59024,7.21485 l 5.97658,13.02602 c 0.47812,1.03872 2.03203,1.03872 2.51016,0 l 6.15586,-13.25061 c 1.49415,-3.20036 4.21349,-5.75503 7.62013,-7.1587 l 14.1346,-5.7831 c 1.10566,-0.44917 1.10566,-1.90899 0,-2.35816 z" style="stroke-width:2.8964;stroke-opacity:1" /> </svg> `,gC=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 24 24"> <g transform="scale(1.2 1.2) translate(-2 -0.5)"> <path d="M 22,12.5 A 1.49995,1.49995 0 0 0 20.50006,11 H 20 V 10 A 3,3 0 0 0 17,7 H 13 V 5.7226 a 2,2 0 1 0 -2,0 V 7 H 7 a 3,3 0 0 0 -3,3 v 1 H 3.49994 a 1.5,1.5 0 0 0 0,3 H 4 v 1 A 3.00128,3.00128 0 0 0 6.20251,17.89282 1.03113,1.03113 0 0 1 7,18.86975 v 0.716 a 0.99928,0.99928 0 0 0 1.00726,1.002 0.9792,0.9792 0 0 0 0.69983,-0.29486 l 2,-2 A 1,1 0 0 1 11.41425,18 H 17 a 3,3 0 0 0 3,-3 v -1 h 0.50006 A 1.49995,1.49995 0 0 0 22,12.5 Z M 19,15 a 2.00226,2.00226 0 0 1 -2,2 H 11.41425 A 1.987,1.987 0 0 0 10,17.58575 l -2,2 v -0.716 A 2.02082,2.02082 0 0 0 6.46771,16.92865 2.00439,2.00439 0 0 1 5,15 V 10 A 2.00226,2.00226 0 0 1 7,8 h 10 a 2.00222,2.00222 0 0 1 2,2 z M 10,12.5 A 1.5,1.5 0 1 1 8.5,11 1.5,1.5 0 0 1 10,12.5 Z m 7,0 A 1.5,1.5 0 1 1 15.5,11 1.5,1.5 0 0 1 17,12.5 Z"/> </g> </svg> `,_C={aiImproveWritingPrompt:`Improve writing`,aiMakeShorterPrompt:`Make shorter`,aiMakeLongerPrompt:`Make longer`,aiSimplifyLanguagePrompt:`Simplify language`,aiSummarizePrompt:`Summarize`,aiContinuePrompt:`Continue`,aiChangeToneProfessionalPrompt:`Change tone to professional`,aiChangeToneFriendlyPrompt:`Change tone to friendly`,aiChangeToneFormalPrompt:`Change tone to formal`,aiChangeToneCasualPrompt:`Change tone to casual`,aiChangeToneDirectPrompt:`Change tone to direct`,aiChangeToneConfidentPrompt:`Change tone to confident`,aiChangeStyleBusinessPrompt:`Change style to business`,aiChangeStyleLegalPrompt:`Change style to legal`,aiChangeStyleJournalismPrompt:`Change style of journalism`,aiChangeStylePoeticPrompt:`Change style to poetic`,aiTranslateToSpanishPrompt:`Translate to Spanish`,aiTranslateToFrenchPrompt:`Translate to French`,aiTranslateToGermanPrompt:`Translate to German`,aiTranslateToItalianPrompt:`Translate to Italian`,aiTranslateToPortuguesePrompt:`Translate to Portuguese`,aiTranslateToEnglishPrompt:`Translate to English`,aiTranslateToChinesePrompt:`Translate to Chinese`,aiTranslateToJapanesePrompt:`Translate to Japanese`,aiTranslateToKoreanPrompt:`Translate to Korean`,aiTranslateToRussianPrompt:`Translate to Russian`,aiTranslateToArabicPrompt:`Translate to Arabic`},vC={aiCommonPrefixPrompt:``,aiCommonSuffixPrompt:``,aiImproveWritingPrompt:`It needs to be refined for better clarity, coherence, and overall quality. Please enhance the writing style while keeping the original meaning and language intact.`,aiMakeShorterPrompt:`Please condense this content to make it more concise, while preserving the key messages, language and information.`,aiMakeLongerPrompt:`Expand on this content to provide more detail, depth, and richness, without diverging from the original message and language.`,aiSimplifyLanguagePrompt:`The language used here needs to be simplified for easier understanding, without altering the core information and the original language.`,aiSummarizePrompt:`Provide a brief summary of this content, capturing the essential points in a concise manner. Preserve the original language and meaning.`,aiContinuePrompt:`Continue the narrative or discussion from this content seamlessly, maintaining the same language, tone and style.`,aiChangeToneProfessionalPrompt:`Adjust the tone to be professional, suitable for a formal business or academic setting, while retaining the original message and language.`,aiChangeToneFriendlyPrompt:`It needs to be rewritten in a friendly tone while maintaining the original message and language. Please modify this content to be warm, approachable, and engaging.`,aiChangeToneFormalPrompt:`Transform this content to have a formal tone, appropriate for official or serious contexts, without changing the main points and language.`,aiChangeToneCasualPrompt:`Revise this content to have a casual, relaxed tone, making it feel more personal and less formal, without changing the original meaning and language.`,aiChangeToneDirectPrompt:`Make the tone more direct, with straightforward language and a clear, assertive approach, without changing the original meaning and language.`,aiChangeToneConfidentPrompt:`Infuse this content with a confident tone, showcasing assurance and decisiveness, without changing the original meaning and language.`,aiChangeStyleBusinessPrompt:`Rewrite this content with a business-oriented style, focusing on clarity, efficiency, and professionalism, without changing the original meaning and language.`,aiChangeStyleLegalPrompt:`Adapt this content to a legal style, incorporating appropriate terminology and formality typical of legal documents, without changing the original meaning and language.`,aiChangeStyleJournalismPrompt:`Convert this content into a 
649journalistic style, emphasizing factual accuracy, objectivity, and informative reporting, without changing the original meaning and language.`,aiChangeStylePoeticPrompt:`Recreate this content with a poetic style, using expressive language, rhythm, and imagery to convey the message, without changing the original meaning and language.`,aiTranslateToSpanishPrompt:`Translate this content into Spanish, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToFrenchPrompt:`Translate this content into French, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToGermanPrompt:`Translate this content into German, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToItalianPrompt:`Translate this content into Italian, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToPortuguesePrompt:`Translate this content into Portuguese, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToEnglishPrompt:`Translate this content into English, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToChinesePrompt:`Translate this content into Chinese, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToJapanesePrompt:`Translate this content into Japanese, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToKoreanPrompt:`Translate this content into Korean, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToRussianPrompt:`Translate this content into Russian, ensuring the translation is accurate and maintains the original meaning.`,aiTranslateToArabicPrompt:`Translate this content into Arabic, ensuring the translation is accurate and maintains the original meaning.`};F.prototype.aiAssistant=vC,vu.set(`ai-assistant`,gC),vu.set(`ai-commands`,hC),F.prototype.controls[`ai-commands`]={isDisabled(e){return!e.o.aiAssistant.aiAssistantCallback},tooltip:`AI Commands`,list:_C,exec:(e,t,{control:n})=>{e.e.fire(`generateAiAssistantForm.ai-assistant`,n.name)}},F.prototype.controls[`ai-assistant`]={isDisabled(e){return!e.o.aiAssistant.aiAssistantCallback},hotkeys:[`ctrl+a+i`,`cmd+a+i`],tooltip:`AI Assistant`,exec:(e,t,n)=>{e.e.fire(`generateAiAssistantForm.ai-assistant`)}};var yC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},bC=class extends xu{className(){return`UIAiAssistant`}constructor(e,{onInsert:t,onInsertAfter:n}){super(e),this.__aiResult=``,this.__error=this.getElm(`error`),this.__body=this.getElm(`body`),this.__buttons=this.getElm(`buttons`),this.__results=this.getElm(`results`),this.__spinner=this.getElm(`spinner`),this.__insertButton=Tu(e,``,`Insert`,`primary`).onAction(()=>t(this.__aiResult)),this.__insertAfterButton=Tu(e,``,`Insert After`,`initial`).onAction(()=>n(this.__aiResult));let r=()=>{this.__formAiAssistant.validate()&&(this.__formAiAssistant.submit(),this.__toggleInsertButton(!0),this.__toggleSubmitButton(!0))};this.__submitButton=Tu(e,`ai-assistant`,``).onAction(r),this.__tryAgainButton=Tu(e,`update`,``,`initial`).onAction(r),this.promptInput=new Qu(e,{name:`prompt`,required:!0,label:`Prompt`,placeholder:`Ask AI to improve generated text`,className:this.getFullElName(`prompt-row-input`)});let i=new Lu(e,[this.__insertButton,this.__insertAfterButton,this.__tryAgainButton],{className:this.getFullElName(`prompt-row`)});this.__formAiAssistant=new Yu(e,[new Lu(e,[this.promptInput,this.__submitButton],{className:this.getFullElName(`prompt-row`)})]).onSubmit(t=>{this.__error.textContent=``,this.setMod(`loading`,!0),e.e.fire(`invokeAiAssistant`,t.prompt);let n=this.getFullElName(``,`hide`,`true`);this.__results.classList.remove(n),this.__buttons.classList.remove(n),P.detach(this.__results),this.__results.appendChild(this.__spinner),this.__insertButton.focus()}),this.__buttons.appendChild(i.container),this.__body.appendChild(this.__formAiAssistant.container),this.onChangePromptValue()}render(){return`<div>
650				<div class="&__container">
651						<div class="&__error"></div>
652						<div class="&__body"></div>
653						<div class="&__buttons &_hide_true"></div>
654						<div class="&__results &_hide_true">
655								<div class="&__spinner"></div>
656						</div>
657				</div>
658		</div>`}setPrompt(e){if(e){let{jodit:t}=this,n=t.o.aiAssistant[e],{aiCommonPrefixPrompt:r,aiCommonSuffixPrompt:i}=t.o.aiAssistant;this.promptInput.value=[r,j(n)?n:``,i].filter(Boolean).join(` `),this.__toggleInsertButton(!0),this.promptInput.value&&(this.__formAiAssistant.submit(),this.__toggleSubmitButton(!0))}this.promptInput.focus()}onAiAssistentResponse(e){this.setMod(`loading`,!1),P.detach(this.__results),this.__aiResult=e,this.__results.appendChild(this.jodit.c.fromHTML(e)),this.__toggleSubmitButton(!1),this.__toggleInsertButton(!1)}onAiAssistentError(e){this.__aiResult=``,this.setMod(`loading`,!1),this.__error.textContent=e,P.detach(this.__results),this.__toggleSubmitButton(!1);let t=this.getFullElName(``,`hide`,`true`);this.__results.classList.add(t),this.__toggleInsertButton(!0)}onChangePromptValue(){this.__toggleSubmitButton(!this.promptInput.value)}__toggleSubmitButton(e){this.__submitButton.state.disabled=e,this.__tryAgainButton.state.disabled=e}__toggleInsertButton(e){this.__insertButton.state.disabled=e,this.__insertAfterButton.state.disabled=e}};yC([I(`:ai-assistant-response`)],bC.prototype,`onAiAssistentResponse`,null),yC([I(`:ai-assistant-error`)],bC.prototype,`onAiAssistentError`,null),yC([I(`promptInput:change`)],bC.prototype,`onChangePromptValue`,null),bC=yC([Ws],bC);var xC=s({default:()=>SC}),SC={aiAssistant:`AI Assistant`,aiCommands:`AI Commands`,"AI Assistant":`AI Assistant`,Prompt:`Prompt`,"Ask AI to improve generated text":`Ask AI to improve generated text`,Submit:`Submit`},CC=s({default:()=>wC}),wC={aiAssistant:`Asistente de IA`,aiCommands:`Comandos de IA`,"AI Assistant":`Asistente de IA`,"AI Commands":`Comandos de IA`,"Improve writing":`Mejorar escritura`,"Make shorter":`Hacer más corto`,"Make longer":`Hacer más largo`,"Simplify language":`Simplificar lenguaje`,Summarize:`Resumir`,Continue:`Continuar`,Prompt:`Solicitud`,Insert:`Insertar`,"Insert After":`Insertar después`,"Try Again":`Intentar de nuevo`,"Ask AI to improve generated text":`Pida a la IA que mejore el texto generado`,"Change tone to professional":`Cambiar tono a profesional`,"Change tone to friendly":`Cambiar tono a amigable`,"Change tone to formal":`Cambiar tono a formal`,"Change tone to casual":`Cambiar tono a casual`,"Change tone to direct":`Cambiar tono a directo`,"Change tone to confident":`Cambiar tono a confiado`,"Change tone to business":`Cambiar tono a empresarial`,"Change style to legal":`Cambiar estilo a legal`,"Change style to journalism":`Cambiar estilo a periodístico`,"Change style to poetic":`Cambiar estilo a poético`,"Translate to Spanish":`Traducir al español`,"Translate to French":`Traducir al francés`,"Translate to German":`Traducir al alemán`,"Translate to Italian":`Traducir al italiano`,"Translate to Portuguese":`Traducir al portugués`,"Translate to English":`Traducir al inglés`,"Translate to Chinese":`Traducir al chino`,"Translate to Japanese":`Traducid al japonés`,"Translate to Korean":`Traducir al coreano`,"Translate to Russian":`Traducir al ruso`,"Translate to Arabic":`Traducir al árabe`,Submit:`Enviar`},TC=s({en:()=>xC,es:()=>CC}),EC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},DC=class extends Lf{get __dialog(){return this.jodit.dlg({buttons:[`fullsize`,`dialog.close`],closeOnClickOverlay:!0,closeOnEsc:!0,resizable:!1,draggable:!0,minHeight:160})}get __container(){let{jodit:e,__dialog:t}=this;return new bC(e,{onInsertAfter(n){e.s.focus();let r=e.s.range;r.collapse(!1),e.s.selectRange(r),e.s.insertHTML(n),t.close()},onInsert(n){e.s.focus(),e.s.insertHTML(n),t.close()}})}constructor(e){super(e),this.buttons=[{name:`ai-commands`,group:`insert`},{name:`ai-assistant`,group:`insert`}],Oc(TC)}afterInit(){}onGenerateAiAssistantForm(e){this.__dialog.open(this.__container,`AI Assistant`),this.__container.setPrompt(e)}onInvokeAiAssistant(e){let{jodit:t}=this;t.s.focus();let n=t.s.html;t.async.promise(async(r,i)=>{try{r(await t.o.aiAssistant.aiAssistantCallback(e,n))}catch(e){i(e)}}).then(e=>{t.e.fire(`ai-assistant-response`,e)}).catch(e=>{Cs(e)||(t.message.error(e.message),t.e.fire(`ai-assistant-error`,e.message))})}beforeDestruct(e){var t,n;(t=Rs(this,`__container`))==null||t.destruct(),(n=Rs(this,`__dialog`))==null||n.destruct()}};EC([zs],DC.prototype,`__dialog`,null),EC([zs],DC.prototype,`__container`,null),EC([I(`:generateAiAssistantForm.ai-assistant`)],DC.prototype,`onGenerateAiAssistantForm`,null),EC([I(`:invokeAiAssistant`)],DC.prototype,`onInvokeAiAssistant`,null),Ec.add(`ai-assistant`,DC),F.prototype.tab={tabInsideLiInsertNewList:!0};function OC(e,t=!1){if(!e.o.tab.tabInsideLiInsertNewList)return!1;let[n,r]=kC(e);try{let r=AC(e,n,t);if(!r||!jC(r,e,n))return!1;let i=P.closest(r,[`ol`,`ul`],e.editor);return!i||t&&!P.closest(i,`li`,e.editor)?!1:(t?NC(e,i,r):MC(e,i,r),!0)}finally{let t=e.s.createRange();t.setStartAfter(n),t.setEndBefore(r),e.s.selectRange(t),P.safeRemove(n),P.safeRemove(r)}}function kC(e){let t=e.createInside.fake(),n=e.createInside.fake(),r=e.s.range.cloneRange();
658r.collapse(!0),r.insertNode(t);let i=e.s.range.cloneRange();return i.collapse(!1),i.insertNode(n),[t,n]}function AC(e,t,n){let r=P.closest(t,`li`,e.editor);return!r||!n&&!P.isLeaf(r.previousElementSibling)||n&&!P.closest(r,`li`,e.editor)?!1:r}function jC(e,t,n){let r=P.closest(n,`li`,t.editor);return!(!r||r!==e&&!e.contains(r))}function MC(e,t,n){let r=n.previousElementSibling;Uo(r,`tab previousElementSibling is null`);let i=r.lastElementChild,a=P.isTag(i,t.tagName)?i:e.createInside.element(t.tagName,Array.from(t.attributes).reduce((e,t)=>(e[t.name]=t.value,e),{}));a.appendChild(n),i!==a&&r.appendChild(a)}function NC(e,t,n){let r=P.closest(t,`li`,e.editor);Uo(r,`tab parent li is null`);let i=Array.from(t.children).filter(e=>P.isLeaf(e));P.after(r,n);let a=i.indexOf(n);if((a===0||i.length===1)&&P.safeRemove(t),a!==i.length-1){let e=t.cloneNode();P.append(n,e);for(let t=a+1;t<i.length;t+=1)P.append(e,i[t])}}var PC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},FC=class extends Lf{afterInit(e){}__onTab(e){if(e.key===`Tab`&&this.__onShift(e.shiftKey))return!1}__onCommand(e){if((e===`indent`||e===`outdent`)&&this.__onShift(e===`outdent`))return!1}__onShift(e){let t=OC(this.j,e);return t&&this.j.e.fire(`afterTab`,e),t}beforeDestruct(e){}};PC([I(`:keydown.tab`)],FC.prototype,`__onTab`,null),PC([I(`:beforeCommand.tab`)],FC.prototype,`__onCommand`,null),Ec.add(`tab`,FC);var IC=new Set([`Tab`,$a,to,eo,no]);function LC(e){e.e.off(`.tableKeyboardNavigation`).on(`keydown.tableKeyboardNavigation`,t=>{let{key:n}=t,r=RC(e,n);if(!r)return;let i=e.getInstance(qf,e.o),a=P.closest(r,`table`,e.editor),o=null,s=n===`ArrowLeft`||t.shiftKey,c=()=>fs(s?P.prev:P.next,r,P.isCell,a);switch(n){case`Tab`:case $a:o=c(),o||=(i.appendRow(a,s?a.querySelector(`tr`):!1,!s),c());break;case eo:case no:{let e=i.formalMatrix(a),[t,s]=i.formalCoordinate(a,r);n===`ArrowUp`?e[t-1]!==void 0&&(o=e[t-1][s]):e[t+1]!==void 0&&(o=e[t+1][s])}}if(o){if(e.e.fire(`hidePopup hideResizer`),o.firstChild)n===`Tab`?e.s.select(o,!0):e.s.setCursorIn(o,n===`ArrowRight`||n===`ArrowDown`);else{let t=e.createInside.element(`br`);o.appendChild(t),e.s.setCursorBefore(t)}return e.synchronizeValues(),!1}})}Ec.add(`tableKeyboardNavigation`,LC);function RC(e,t){if(!IC.has(t))return;let n=e.s.current();if(!n)return;let r=P.up(n,P.isCell,e.editor);if(!r)return;let{range:i}=e.s;if(t!==`Tab`&&n!==r){let e=t===`ArrowRight`||t===`ArrowDown`,a=fs(e?P.next:P.prev,n,e=>t===`ArrowUp`||t===`ArrowDown`?P.isTag(e,`br`):!!e,r);if(!e&&(a||t!==`ArrowUp`&&P.isText(n)&&i.startOffset!==0)||e&&(a||t!==`ArrowDown`&&P.isText(n)&&n.nodeValue&&i.startOffset!==n.nodeValue.length))return}return r}var zC=`<svg xmlns='http://www.w3.org/2000/svg' viewBox="0 0 1792 1792"> <path d="M1792 352v1088q0 42-39 59-13 5-25 5-27 0-45-19l-403-403v166q0 119-84.5 203.5t-203.5 84.5h-704q-119 0-203.5-84.5t-84.5-203.5v-704q0-119 84.5-203.5t203.5-84.5h704q119 0 203.5 84.5t84.5 203.5v165l403-402q18-19 45-19 12 0 25 5 39 17 39 59z"/> </svg> `;F.prototype.video={parseUrlToVideoEmbed:ol,defaultWidth:400,defaultHeight:345},vu.set(`video`,zC),F.prototype.controls.video={popup:(e,t,n)=>{let r=new Yu(e,[new Lu(e,[new Wu(e,{name:`url`,required:!0,label:`URL`,placeholder:`https://`,validators:[`url`]})]),new Lu(e,[Tu(e,``,`Insert`,`primary`).onAction(()=>r.submit())])]),i=new Yu(e,[new Lu(e,[new Qu(e,{name:`code`,required:!0,label:`Embed code`})]),new Lu(e,[Tu(e,``,`Insert`,`primary`).onAction(()=>i.submit())])]),a=[],o=t=>{e.s.restore(),e.s.insertHTML(t),n()};return e.s.save(),a.push({icon:`link`,name:`Link`,content:r.container},{icon:`source`,name:`Code`,content:i.container}),r.onSubmit(t=>{o(fs(e.o.video?.parseUrlToVideoEmbed??ol,t.url,{width:e.o.video?.defaultWidth,height:e.o.video?.defaultHeight}))}),i.onSubmit(e=>{o(e.code)}),Yh(e,a)},tags:[`iframe`],tooltip:`Insert youtube/vimeo video`};function BC(e){e.registerButton({name:`video`,group:`media`})}Ec.add(`video`,BC),F.prototype.showXPathInStatusbar=!0;var VC=class extends Lf{constructor(){super(...arguments),this.onContext=(e,t)=>
658(this.menu||=new Zd(this.j),this.menu.show(t.clientX,t.clientY,[{icon:`bin`,title:e===this.j.editor?`Clear`:`Remove`,exec:()=>{e===this.j.editor?this.j.value=``:P.safeRemove(e),this.j.synchronizeValues()}},{icon:`select-all`,title:`Select`,exec:()=>{this.j.s.select(e)}}]),!1),this.onSelectPath=(e,t)=>{this.j.s.focus();let n=N(t.target,`-path`)||`/`;if(n===`/`)return this.j.execCommand(`selectall`),!1;try{let e=this.j.ed.evaluate(n,this.j.editor,null,XPathResult.ANY_TYPE,null).iterateNext();if(e)return this.j.s.select(e),!1}catch{}return this.j.s.select(e),!1},this.tpl=(e,t,n,r)=>{let i=this.j.c.fromHTML(`<span class="jodit-xpath__item"><a role="button" data-path="${t}" title="${r}" tabindex="-1"'>${zo(n)}</a></span>`),a=i.firstChild;return this.j.e.on(a,`click`,this.onSelectPath.bind(this,e)).on(a,`contextmenu`,this.onContext.bind(this,e)),i},this.removeSelectAll=()=>{this.selectAllButton&&(this.selectAllButton.destruct(),delete this.selectAllButton)},this.appendSelectAll=()=>{this.removeSelectAll(),this.selectAllButton=Rd(this.j,{name:`selectall`,...this.j.o.controls.selectall}),this.selectAllButton.state.size=`tiny`,this.container&&this.container.insertBefore(this.selectAllButton.container,this.container.firstChild)},this.calcPathImd=()=>{if(this.isDestructed)return;let e=this.j.s.current();if(this.container&&(this.container.innerHTML=``),e){let t,n,r;P.up(e,e=>{e&&this.j.editor!==e&&!P.isText(e)&&!P.isComment(e)&&(t=e.nodeName.toLowerCase(),n=Fc(e,this.j.editor).replace(/^\//,``),r=this.tpl(e,n,t,this.j.i18n(`Select %s`,t)),this.container&&this.container.insertBefore(r,this.container.firstChild))},this.j.editor)}this.appendSelectAll()},this.calcPath=this.j.async.debounce(this.calcPathImd,this.j.defaultTimeout*2,!0)}afterInit(){if(this.j.o.showXPathInStatusbar){this.container=this.j.c.div(`jodit-xpath`),N(this.container,`role`,`list`);let e=()=>{!this.j.o.showXPathInStatusbar||!this.container||(this.j.statusbar.append(this.container),this.j.getRealMode()===1?this.calcPath():(this.container&&(this.container.innerHTML=``),this.appendSelectAll()))};this.j.e.off(`.xpath`).on(`pointerup.xpath change.xpath keydown.xpath changeSelection.xpath`,this.calcPath).on(`afterSetMode.xpath afterInit.xpath changePlace.xpath`,e),e(),this.calcPath()}}beforeDestruct(){this.j&&this.j.events&&this.j.e.off(`.xpath`),this.removeSelectAll(),this.menu&&this.menu.destruct(),P.safeRemove(this.container),delete this.menu,delete this.container}};Ec.add(`xpath`,VC);var HC=Va?Va.SpeechRecognition||Va.webkitSpeechRecognition:void 0,UC=new WeakMap;function WC(e){if(!Va)return null;let t=UC.get(e);if(t&&t.state!==`closed`)return t;let n=Va.AudioContext||Va.webkitAudioContext;if(!n)return null;let r=new n;return UC.set(e,r),r}function GC(e,{sec:t=.1,frequency:n=440,gain:r=.1,type:i=`sine`}={}){let a=WC(e);if(!a)return;let o=a.createGain(),s=a.createOscillator();s.type=i,s.frequency.value=n,o.gain.value=r,s.connect(o),o.connect(a.destination),s.start(),s.stop(a.currentTime+t)}function KC(e){let t=UC.get(e);t&&(UC.delete(e),t.state!==`closed`&&t.close())}var qC=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},JC=class e extends yc{set lang(e){this._lang=e,this._api.lang=e}get lang(){return this._lang}set continuous(e){this._continuous=e,this._api.continuous=e}get continuous(){return this._continuous}set interimResults(e){this._interimResults=e,this._api.interimResults=e}get interimResults(){return this._interimResults}constructor(t,n){super(),this.async=t,this._continuous=!1,this._interimResults=!1,this.sound=!0,this._isEnabled=!1,this._restartTimeout=0,this._onSpeechStart=e=>{this._isEnabled&&(this.async.clearTimeout(this._restartTimeout),this._restartTimeout=this.async.setTimeout(()=>{this.restart(),this.emit(`pulse`,!1),this._makeSound(940)},5e3),this.emit(`pulse`,!0))},this.__interimResults=``,this._api=n,e._instances.add(this)}destruct(){this.stop(),KC(this),e._instances.delete(this),super.destruct()}get isEnabled(){return this._isEnabled}
658start(){if(!this._isEnabled){this._isEnabled=!0,e._instances.forEach(e=>{e!==this&&e.stop()});try{this._api.start()}catch(e){this._onError(e),this.stop();return}this.__on(`speechstart`,this._onSpeechStart).__on(`error`,this._onError).__on(`result`,this._onProgress).__on(`end`,this._onResults)}}stop(){this._isEnabled&&(this._api.abort(),this._api.stop(),this.__off(`speechstart`,this._onSpeechStart).__off(`error`,this._onError).__off(`result`,this._onProgress).__off(`end`,this._onResults),this.async.clearTimeout(this._restartTimeout),this._isEnabled=!1,this.emit(`pulse`,!1))}toggle(){this._isEnabled?this.stop():this.start()}restart(){this.stop(),this.start()}__on(e,t){return this._api.addEventListener(e,t),this}__off(e,t){return this._api.removeEventListener(e,t),this}_onResults(e){this.emit(`pulse`,!1),this.emit(`result`,this.__interimResults),this.__interimResults=``,this._makeSound(440),this.restart()}_onProgress(e){if(this._isEnabled&&(this.__interimResults=``,e.results)){for(let t=0;t<e.results.length;t++){let n=e.results.item(t);if(n.length){let{transcript:e}=n.item(0);this.__interimResults+=e}}this.__interimResults&&this.emit(`progress`,this.__interimResults)}}_onError(e){e.error===`voice-unavailable`&&this.emit(`error`,`Voice unavailable`),e.error===`not-allowed`&&this.emit(`error`,`Not allowed`),(e.error===`language-unavailable`||e.error===`language-not-supported`)&&this.emit(`error`,`Language unavailable`),this._makeSound(940),this.emit(`pulse`,!1),this.stop()}_makeSound(e){this.sound&&GC(this,{frequency:e})}};JC._instances=new Set,qC([A],JC.prototype,`_onResults`,null),qC([A],JC.prototype,`_onProgress`,null),qC([A],JC.prototype,`_onError`,null);var YC=`<svg viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"> <path d="M8,11c1.657,0,3-1.343,3-3V3c0-1.657-1.343-3-3-3S5,1.343,5,3v5C5,9.657,6.343,11,8,11z"/> <path d="M13,8V6h-1l0,1.844c0,1.92-1.282,3.688-3.164,4.071C6.266,12.438,4,10.479,4,8V6H3v2c0,2.414,1.721,4.434,4,4.899V15H5v1h6 v-1H9v-2.101C11.279,12.434,13,10.414,13,8z"/> </svg> `;F.prototype.speechRecognize={api:HC===void 0?null:HC,sound:!0,continuous:!1,interimResults:!0,commands:{"newline|enter":`enter`,"delete|remove word|delete word":`backspaceWordButton`,comma:`inserthtml::,`,underline:`inserthtml::_`,hyphen:`inserthtml::-`,space:`inserthtml:: `,question:`inserthtml::?`,dot:`inserthtml::.`,"quote|quotes|open quote":`inserthtml::'`,"header|header h1":`formatblock::h1`,"select all":`selectall`}},vu.set(`speech-recognize`,YC),F.prototype.controls.speechRecognize={isVisible(e){return!!e.o.speechRecognize.api},isActive(e,t){return!!is(e,`speech`)?.isEnabled},isDisabled(e){return!e.o.speechRecognize.api},exec(e,t,{button:n,control:r}){let{api:i,lang:a,continuous:o,interimResults:s,sound:c}=e.o.speechRecognize;if(!i){e.alert(`Speech recognize API unsupported in your browser`);return}let l=is(e,`speech`);if(!l){let t=new i;l=new JC(e.async,t),l.lang=j(a)?a:N(e.od.documentElement,`lang`)??void 0,l.continuous=o,l.interimResults=s,l.sound=c,is(e,`speech`,l),l.on(`pulse`,e=>{n.setMod(`pulse`,e)}),l.on(`result`,t=>e.e.fire(`speechRecognizeResult`,t)),l.on(`progress`,t=>e.e.fire(`speechRecognizeProgressResult`,t)),l.on(`error`,t=>e.message.error(t)),e.hookStatus(`beforeDestruct`,()=>{is(e,`speech`,null),l.destruct()})}if(r.args){let e=r.args[0];if(Jo(l[e])){l[e]=!l[e],l.isEnabled&&l.restart();return}}l.toggle(),l.isEnabled&&n.setMod(`pulse`,!0),n.state.activated=l.isEnabled},name:`speechRecognize`,command:`toggleSpeechRecognize`,tooltip:`Speech Recognize`,list:{sound:`Sound`,interimResults:`Interim Results`},childTemplate(e,t,n){return`<span class='jodit-speech-recognize__list-item'><input ${is(e,`speech`)?.[t]??e.o.speechRecognize[t]?`checked`:``} class='jodit-checkbox' type='checkbox'>&nbsp;${n}</span>`},mods:{stroke:!1}};function XC(e,t){let[n,r]=t.split(`::`);n.toLowerCase()===`open`&&r&&/^(javascript:|data:|vbscript:)/i.test(r.trim())||e.execCommand(n,null,r)}var ZC=s({default:()=>QC}),QC={newline:`الخط الجديد`,delete:`حذف`,space:`الفضاء`,"Speech Recognize":`التعرف على الكلام`,Sound:`الصوت`,"Interim Results":`النتائج المؤقتة`},$C=s({default:()=>ew}
658),ew={newline:`řádek`,delete:`odstranit`,space:`prostora`,"Speech Recognize":`Rozpoznání Řeči`,Sound:`Zvuk`,"Interim Results":`Průběžné Výsledky`},tw=s({default:()=>nw}),nw={newline:`Zeilenumbruch`,delete:`löschen`,space:`Raum`,"Speech Recognize":`Sprache Erkennen`,Sound:`Sound`,"Interim Results":`Zwischenergebnis`},rw=s({default:()=>iw}),iw={newline:`nueva línea`,delete:`eliminar`,space:`espacio`,"Speech Recognize":`Reconocimiento de Voz`,Sound:`Sonido`,"Interim Results":`Resultados Provisionales`},aw=s({default:()=>ow}),ow={newline:`خط جدید`,delete:`حذف`,space:`فضا`,"Speech Recognize":`گفتار را تشخیص دهید`,Sound:`صدا`,"Interim Results":`نتایج موقت`},sw=s({default:()=>cw}),cw={"Speech Recognize":`Puheentunnistus`,newline:`uusi rivi`,delete:`poistaa`,space:`tilaa`,Sound:`Ääni`,"Interim Results":`Välitulokset`},lw=s({default:()=>uw}),uw={newline:`nouvelle ligne`,delete:`supprimer`,space:`espace`,"Speech Recognize":`Reconnaissance Vocale`,Sound:`Son`,"Interim Results":`Résultats Intermédiaires`},dw=s({default:()=>fw}),fw={newline:`חדשות`,delete:`מחק`,space:`שטח`,"Speech Recognize":`דיבור מזהה`,Sound:`קול`,"Interim Results":`תוצאות ביניים`},pw=s({default:()=>mw}),mw={newline:`újsor`,delete:`törlés`,space:`tér`,"Speech Recognize":`A Beszéd Felismeri`,Sound:`Hang`,"Interim Results":`Időközi Eredmények`},hw=s({default:()=>gw}),gw={newline:`newline`,delete:`Hapus`,space:`ruang`,"Speech Recognize":`Pidato Mengenali`,Sound:`Suara`,"Interim Results":`Hasil Sementara`},_w=s({default:()=>vw}),vw={newline:`nuova riga`,delete:`eliminare`,space:`spazio`,"Speech Recognize":`Discorso Riconoscere`,Sound:`Suono`,"Interim Results":`Risultati intermedi`},yw=s({default:()=>bw}),bw={newline:`改行`,delete:`削除`,space:`スペース`,"Speech Recognize":`音声認識`,Sound:`音`,"Interim Results":`中間結果`},xw=s({default:()=>Sw}),Sw={newline:`줄 바꿈`,delete:`삭제`,space:`공간`,"Speech Recognize":`음성 인식`,Sound:`소리`,"Interim Results":`중간 결과`},Cw=s({default:()=>ww}),ww={newline:`Шинэ мөр`,delete:`Устгах`,space:`Зай`,"Speech Recognize":`Дуу хоолой таних`,Sound:`Дуу`,"Interim Results":`Түр зуурын үр дүн`},Tw=s({default:()=>Ew}),Ew={newline:`regel`,delete:`verwijderen`,space:`ruimte`,"Speech Recognize":`Spraak Herkennen`,Sound:`Geluid`,"Interim Results":`Tussentijdse Resultaten`},Dw=s({default:()=>Ow}),Ow={newline:`nylinje`,delete:`slette`,space:`rom`,"Speech Recognize":`Talegjenkjenning`,Sound:`Lyd`,"Interim Results":`Midlertidige resultater`},kw=s({default:()=>Aw}),Aw={newline:`newline`,delete:`usunąć`,space:`przestrzeń`,"Speech Recognize":`Rozpoznawanie Mowy`,Sound:`Dźwięk`,"Interim Results":`Wyniki Okresowe`},jw=s({default:()=>Mw}),Mw={newline:`linha`,delete:`excluir`,space:`espaco`,"Speech Recognize":`Discurso Reconhecer`,Sound:`Som`,"Interim Results":`Resultados Provisórios`},Nw=s({default:()=>Pw}),Pw={newline:`новая строка|перенос|энтер`,delete:`удалить`,space:`пробел`,"Speech Recognize":`Распознавание речи`,Sound:`Звук`,"Interim Results":`Промежуточные результаты`},Fw=s({default:()=>Iw}),Iw={newline:`yeni satır`,delete:`silmek`,space:`uzay`,"Speech Recognize":`Konuşma Tanıma`,Sound:`Ses`,"Interim Results":`Ara Sonuçlar`},Lw=s({default:()=>Rw}),Rw={newline:`новая строка|перенос|ентер`,delete:`видалити`,space:`пробел`,"Speech Recognize":`Распознавание речи`,Sound:`Звук`,"Interim Results":`Проміжні результати`},zw=s({default:()=>Bw}),Bw={newline:`新行`,delete:`删除`,space:`空间`,"Speech Recognize":`言语识别`,Sound:`声音`,"Interim Results":`中期业绩`},Vw=s({default:()=>Hw}),Hw={newline:`換行`,delete:`刪除`,space:`空白`,"Speech Recognize":`語音辨識`,Sound:`聲音`,"Interim Results":`階段性辨識結果`},Uw=s({ar:()=>ZC,cs_cz:()=>$C,de:()=>tw,es:()=>rw,fa:()=>aw,fi:()=>sw,fr:()=>lw,he:()=>dw,hu:()=>pw,id:()=>hw,it:()=>_w,ja:()=>yw,ko:()=>xw,mn:()=>Cw,nl:()=>Tw,no:()=>Dw,pl:()=>kw,pt_br:()=>jw,ru:()=>Nw,tr:()=>Fw,ua:()=>Lw,zh_cn:()=>zw,zh_tw:()=>Vw}),Ww=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gw=class extends Lf{constructor(){super(...arguments),this.buttons=[{group:`state`,name:`speechRecognize`}],this._commandToWord={}}
658afterInit(e){let{commands:t}=e.o.speechRecognize;t&&(Oc(Uw),_s(t,!1).forEach(n=>{n.split(`|`).forEach(r=>{r=r.trim().toLowerCase(),this._commandToWord[r]=t[n];let i=e.i18n(r);i!==r&&i.split(`|`).forEach(e=>{this._commandToWord[e.trim().toLowerCase()]=t[n].trim()})})}))}beforeDestruct(e){P.safeRemove(this.messagePopup)}onSpeechRecognizeProgressResult(e){this.messagePopup||=this.j.create.div(`jodit-speech-recognize__popup`),this.j.workplace.appendChild(this.messagePopup),this.j.async.clearTimeout(this.__hidePopupTimeout),this.__hidePopupTimeout=this.j.async.setTimeout(()=>{P.safeRemove(this.messagePopup)},1e3),this.messagePopup.innerText=e+`|`}onSpeechRecognizeResult(e){this.j.async.clearTimeout(this.__hidePopupTimeout),P.safeRemove(this.messagePopup);let{j:t}=this,{s:n}=t;if(!this._checkCommand(e)){let{range:r}=n,i=n.current();if(n.isCollapsed()&&P.isText(i)&&P.isOrContains(t.editor,i)&&i.nodeValue){let a=i.nodeValue;i.nodeValue=a+(/[\u00A0 ]\uFEFF*$/.test(a)?``:` `)+e,r.setStartAfter(i),n.selectRange(r),t.synchronizeValues()}else n.insertHTML(e)}}_checkCommand(e){return e=e.toLowerCase().replace(/\./g,``),this._commandToWord[e]?(XC(this.j,this._commandToWord[e]),!0):!1}};Ww([I(`:speechRecognizeProgressResult`)],Gw.prototype,`onSpeechRecognizeProgressResult`,null),Ww([I(`:speechRecognizeResult`)],Gw.prototype,`onSpeechRecognizeResult`,null),dm.plugins.add(`speech-recognize`,Gw);var Kw=o((e=>{(function(){function t(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ae?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case te:return`Suspense`;case ne:return`SuspenseList`;case C:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case _:return`Portal`;case S:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case ee:var n=e.render;return e=e.displayName,e||=(e=n.displayName||n.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case re:return n=e.displayName||null,n===null?t(e.type)||`Memo`:n;case ie:n=e._payload,e=e._init;try{return t(e(n))}catch{}}return null}function n(e){return``+e}function r(e){try{n(e);var t=!1}catch{t=!0}if(t){t=console;var r=t.error,i=typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`;return r.call(t,`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,i),n(e)}}function i(e){if(e===v)return`<>`;if(typeof e==`object`&&e&&e.$$typeof===ie)return`<...>`;try{var n=t(e);return n?`<`+n+`>`:`<...>`}catch{return`<...>`}}function a(){var e=w.A;return e===null?null:e.getOwner()}function o(){return Error(`react-stack-top-frame`)}function s(e){if(oe.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function c(e,t){function n(){ce||(ce=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}function l(){var e=t(this.type);return le[e]||(le[e]=!0,console.error(`Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.`)),e=this.props.ref,e===void 0?null:e}function u(e,t,n,r,i,a){var o=n.ref;return e={$$typeof:g,type:e,key:t,props:n,_owner:r},(o===void 0?null:o)===null?Object.defineProperty(e,"ref",{enumerable:!1,value:null}):Object.defineProperty(e,"ref",{enumerable:!1,get:l}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function f(e,n,i,o,l,d){var f=n.children;if(f!==void 0)if(o)if(T(f)){for(o=0;o<f.length;o++)p(f[o]);Object.freeze&&Object.freeze(f)}else console.error(`React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.`);else p(f);if(oe.call(n,`key`)){f=t(e);var m=Object.keys(n).filter(function(e){return e!==`key`});o=0<m.length?`{key: someKey, `+m.join(`: ..., `)+`: ...}`:`{key: someKey}`,fe[f+o]||(m=0<m.length?`{`+m.join(`: ..., `)+`: ...}`:`{}
658`,console.error(`A props object containing a "key" prop is being spread into JSX:
659  let props = %s;
660  <%s {...props} />
661React keys must be passed directly to JSX without using spread:
662  let props = %s;
663  <%s key={someKey} {...props} />`,o,f,m,f),fe[f+o]=!0)}if(f=null,i!==void 0&&(r(i),f=``+i),s(n)&&(r(n.key),f=``+n.key),`key`in n)for(var h in i={},n)h!==`key`&&(i[h]=n[h]);else i=n;return f&&c(i,typeof e==`function`?e.displayName||e.name||`Unknown`:e),u(e,f,i,a(),l,d)}function p(e){m(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===ie&&(e._payload.status===`fulfilled`?m(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function m(e){return typeof e==`object`&&!!e&&e.$$typeof===g}var h=d(),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),ee=Symbol.for(`react.forward_ref`),te=Symbol.for(`react.suspense`),ne=Symbol.for(`react.suspense_list`),re=Symbol.for(`react.memo`),ie=Symbol.for(`react.lazy`),C=Symbol.for(`react.activity`),ae=Symbol.for(`react.client.reference`),w=h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,oe=Object.prototype.hasOwnProperty,T=Array.isArray,se=console.createTask?console.createTask:function(){return null};h={react_stack_bottom_frame:function(e){return e()}};var ce,le={},ue=h.react_stack_bottom_frame.bind(h,o)(),de=se(i(o)),fe={};e.Fragment=v,e.jsx=function(e,t,n){var r=1e4>w.recentlyCreatedOwnerStacks++;return f(e,t,n,!1,r?Error(`react-stack-top-frame`):ue,r?se(i(e)):de)},e.jsxs=function(e,t,n){var r=1e4>w.recentlyCreatedOwnerStacks++;return f(e,t,n,!0,r?Error(`react-stack-top-frame`):ue,r?se(i(e)):de)}})()})),qw=o(((e,t)=>{t.exports=Kw()}))(),Jw=dm;function Yw(e){let t=(0,S.useRef)(``);return(0,S.useEffect)(()=>{t.current=e},[e]),t.current}var Xw=(0,S.forwardRef)(({JoditConstructor:e=Jw,className:t,config:n,id:r,name:i,onBlur:a,onChange:o,tabIndex:s,value:c,editorRef:l},u)=>{let d=(0,S.useRef)(null),f=(0,S.useRef)(null);(0,S.useEffect)(()=>{let t=d.current,r=e.make(t,n);return f.current=r,typeof l==`function`&&l(r),()=>{r.isReady?r.destruct():r.waitForReady().then(e=>e.destruct())}},[e,n,l]),(0,S.useEffect)(()=>{u&&(typeof u==`function`?u(f.current):u.current=f.current)},[d,u,f]);let p=Yw(t??``);return(0,S.useEffect)(()=>{let e=f.current?.container?.classList;p!==t&&typeof p==`string`&&p.split(/\s+/).filter(Boolean).forEach(t=>e?.remove(t)),t&&typeof t==`string`&&t.split(/\s+/).filter(Boolean).forEach(t=>e?.add(t))},[t,p]),(0,S.useEffect)(()=>{f.current?.workplace&&(f.current.workplace.tabIndex=s||-1)},[s]),(0,S.useEffect)(()=>{let e=f.current;if(!e?.events||!(a||o))return;let t=e=>a&&a(f?.current?.value??``,e),n=e=>o&&o(e);return e.events.on(`blur`,t).on(`change`,n),()=>{var r;(r=e.events)==null||r.off(`blur`,t).off(`change`,n)}},[a,o]),(0,S.useEffect)(()=>{let e=f.current,t=()=>{e&&c!==void 0&&e.value!==c&&(e.value=c)};e&&(e.isReady?t():e.waitForReady().then(t))},[c]),(0,qw.jsx)(`div`,{className:`jodit-react-container`,children:(0,qw.jsx)(`textarea`,{defaultValue:c,name:i,id:r,ref:d})})});Xw.displayName=`JoditEditor`;var Zw=Xw,Qw=`/opt/src/frontend/src/components/blog/BlogPostEditor.tsx`,$w=({editingPost:e,onSubmit:t,onCancel:n})=>{let{translations:r,language:i}=rr(),[a,o]=(0,S.useState)(e?.title??``),[s,c]=(0,S.useState)(e?.content??``),[l,u]=(0,S.useState)([]),[d,f]=(0,S.useState)(!1),[p,m]=(0,S.useState)([]),[h,g]=(0,S.useState)(()=>document.documentElement.classList.contains(`dark`)),_=(0,S.useRef)(null);(0,S.useEffect)(()=>{let e=new MutationObserver(()=>g(document.documentElement.classList.contains(`dark`)));return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]);let v=(0,S.useMemo)(()=>({readonly:!1,theme:h?`dark`:`default`,placeholder:`Write your content here...`,height:400,buttons:`source.|.bold.italic.underline.strikethrough.|.superscript.subscript.|.ul.ol.|.outdent.indent.|.font.fontsize.brush.paragraph.|.image.video.table.link.|.align.|.undo.redo.|.hr.eraser.copyformat.|.symbol.fullsize`.split(`.`),uploader:{insertImageAsBase64URI:!0},showCharsCounter:!1,showWordsCounter:!1,showXPathInStatusbar:!1}),[h]);(0,S.useEffect)(()=>{e?(o(e.title||``),c(e.content||``),u(e.attachments?.map(e=>({...e,createdAt:e.createdAt||new Date().toISOString()}))||[])):(o(``),c(``),u([]))},[e]);let y=async e=>{e.preventDefault(),f(!0);
663try{await t({title:a,content:s,attachments:l}),o(``),c(``),u([])}catch(e){Kn.error(`Submission error:`,e)}finally{f(!1)}},b=async e=>{if(!e.target.files)return;let t=Array.from(e.target.files);m(t);let n=t.map(e=>({filename:e.name,path:URL.createObjectURL(e),mimetype:e.type,size:e.size,createdAt:new Date().toISOString()}));u(e=>[...e,...n]),m([])},x=e=>u(t=>t.filter((t,n)=>n!==e));return(0,E.jsxDEV)(`div`,{className:`mb-8 bg-white dark:bg-gray-800 rounded-xl shadow-lg p-6`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 text-gray-900 dark:text-white`,children:e?r.blog.update:r.blog.createPost},void 0,!1,{fileName:Qw,lineNumber:125,columnNumber:7},void 0),(0,E.jsxDEV)(`form`,{onSubmit:y,children:[(0,E.jsxDEV)(`div`,{className:`mb-4`,children:(0,E.jsxDEV)(`input`,{type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:r.blog.titlePlaceholder,className:`w-full px-4 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-blue-500`,required:!0},void 0,!1,{fileName:Qw,lineNumber:130,columnNumber:11},void 0)},void 0,!1,{fileName:Qw,lineNumber:129,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`mb-6`,"data-testid":`jodit-wrapper`,children:(0,E.jsxDEV)(Zw,{ref:_,value:s,config:v,onBlur:e=>c(e)},e?._id??`new`,!1,{fileName:Qw,lineNumber:141,columnNumber:11},void 0)},void 0,!1,{fileName:Qw,lineNumber:140,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`mb-4`,children:[(0,E.jsxDEV)(`label`,{className:`block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2`,children:r.blog.attachments||`Attachments`},void 0,!1,{fileName:Qw,lineNumber:151,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-2`,children:[(0,E.jsxDEV)(`input`,{type:`file`,multiple:!0,onChange:b,className:`hidden`,id:`file-upload`},void 0,!1,{fileName:Qw,lineNumber:155,columnNumber:13},void 0),(0,E.jsxDEV)(`button`,{type:`button`,onClick:()=>document.getElementById(`file-upload`)?.click(),className:`px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors duration-200`,children:`Browse...`},void 0,!1,{fileName:Qw,lineNumber:156,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`text-gray-600 dark:text-gray-400 text-sm`,children:p.length>0?`Uploading...`:l.length>0?`${l.length} file(s) selected`:`No files selected`},void 0,!1,{fileName:Qw,lineNumber:163,columnNumber:13},void 0)]},void 0,!0,{fileName:Qw,lineNumber:154,columnNumber:11},void 0),l.length>0&&(0,E.jsxDEV)(`div`,{className:`mt-2 space-y-2`,children:l.map((e,t)=>{let{displayName:n,details:r}=O(e.filename,e.size,e.createdAt,i);return(0,E.jsxDEV)(`div`,{className:`flex items-center justify-between text-sm text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-700 p-2 rounded-lg`,children:[(0,E.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,E.jsxDEV)(`span`,{children:n},void 0,!1,{fileName:Qw,lineNumber:180,columnNumber:23},void 0),(0,E.jsxDEV)(`span`,{className:`text-xs text-gray-500 dark:text-gray-400`,children:r},void 0,!1,{fileName:Qw,lineNumber:181,columnNumber:23},void 0)]},void 0,!0,{fileName:Qw,lineNumber:179,columnNumber:21},void 0),(0,E.jsxDEV)(`button`,{type:`button`,onClick:()=>x(t),className:`text-red-500 hover:text-red-600`,children:`Remove`},void 0,!1,{fileName:Qw,lineNumber:183,columnNumber:21},void 0)]},t,!0,{fileName:Qw,lineNumber:178,columnNumber:19},void 0)})},void 0,!1,{fileName:Qw,lineNumber:172,columnNumber:13},void 0)]},void 0,!0,{fileName:Qw,lineNumber:150,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`flex gap-2`,children:[(0,E.jsxDEV)(`button`,{type:`submit`,disabled:d,className:`bg-blue-500 text-white px-6 py-2 rounded-lg hover:bg-blue-600 disabled:opacity-50 transition-colors duration-200`,children:d?e?r.blog.updating:r.blog.publishing:e?r.blog.update:r.blog.publish},void 0,!1,{fileName:Qw,lineNumber:194,columnNumber:11},void 0),e&&n&&(0,E.jsxDEV)(`button`,{type:`button`,onClick:n,className:`bg-gray-600 text-white px-6 py-2 rounded-lg hover:bg-gray-700 transition-colors duration-200`,children:r.blog.cancel},void 0,!1,{fileName:Qw,lineNumber:204,columnNumber:13},void 0)]},void 0,!0,{fileName:Qw,lineNumber:193,columnNumber:9},void 0)]},void 0,!0,{fileName:Qw,lineNumber:128,columnNumber:7},void 0)]},void 0,!0,{fileName:Qw,lineNumber:124,columnNumber:5},void 0)},eT=`/opt/src/frontend/src/components/blog/BlogPostEditorPage.tsx`,tT=()=>{let{translations:e}=rr(),{postId:t}=Ct(),n=xt(),r=ur(),[i,a]=(0,S.useState)(null),[o,s]=(0,S.useState)(!!t),[c,l]=(0,S.useState)(null);(0,S.useEffect)(()=>{t&&u()},[t]);let u=async()=>
663{if(t)try{let e=await r.getPost(t);a(e)}catch(t){Kn.error(`Error fetching post:`,t),l(e.blog.error.fetch)}finally{s(!1)}};return o?(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:(0,E.jsxDEV)(`div`,{className:`text-center text-gray-600 dark:text-gray-400`,children:e.blog.loading},void 0,!1,{fileName:eT,lineNumber:62,columnNumber:11},void 0)},void 0,!1,{fileName:eT,lineNumber:61,columnNumber:9},void 0)},void 0,!1,{fileName:eT,lineNumber:60,columnNumber:7},void 0):(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>n(`/blog`),className:`mb-6 px-4 py-2 text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-300 transition-colors duration-200 flex items-center`,children:[(0,E.jsxDEV)(`svg`,{className:`w-5 h-5 mr-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10 19l-7-7m0 0l7-7m-7 7h18`},void 0,!1,{fileName:eT,lineNumber:78,columnNumber:13},void 0)},void 0,!1,{fileName:eT,lineNumber:77,columnNumber:11},void 0),e.common.backToMenu]},void 0,!0,{fileName:eT,lineNumber:73,columnNumber:9},void 0),(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white mb-8 transition-colors duration-200`,children:i?e.blog.update:e.blog.createPost},void 0,!1,{fileName:eT,lineNumber:83,columnNumber:9},void 0),c&&(0,E.jsxDEV)(`div`,{className:`bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded-lg mb-4`,children:c},void 0,!1,{fileName:eT,lineNumber:88,columnNumber:11},void 0),(0,E.jsxDEV)($w,{editingPost:i,onSubmit:i?async t=>{if(i)try{await r.updatePost(i._id,t),n(`/blog`)}catch(t){Kn.error(`Error updating post:`,t),l(e.blog.error.update)}}:async t=>{try{await r.createPost(t),n(`/blog`)}catch(t){Kn.error(`Error creating post:`,t),l(e.blog.error.create)}},onCancel:()=>n(`/blog`)},void 0,!1,{fileName:eT,lineNumber:93,columnNumber:9},void 0)]},void 0,!0,{fileName:eT,lineNumber:72,columnNumber:7},void 0)},void 0,!1,{fileName:eT,lineNumber:71,columnNumber:5},void 0)},nT=`/opt/src/frontend/src/components/DiversPage.tsx`,rT=()=>{let{translations:e}=rr(),t=[{title:e.header.divers.unterwasserrugby,description:e.divers.unterwasserrugbyDescription,icon:(0,E.jsxDEV)(Gr,{className:`w-8 h-8`},void 0,!1,{fileName:nT,lineNumber:13,columnNumber:13},void 0),path:`/uwr`,bgColor:`bg-indigo-500`},{title:e.header.divers.webcams,description:e.divers.webcamDescription,icon:(0,E.jsxDEV)(Mr,{className:`w-8 h-8`},void 0,!1,{fileName:nT,lineNumber:20,columnNumber:13},void 0),path:`/divers/webcams`,bgColor:`bg-blue-500`},{title:e.header.divers.drones,description:e.divers.dronesDescription,icon:(0,E.jsxDEV)(si,{className:`w-8 h-8`},void 0,!1,{fileName:nT,lineNumber:27,columnNumber:13},void 0),path:`/divers/drones`,bgColor:`bg-green-500`},{title:e.header.divers[`3dPrinters`],description:e.divers[`3dPrintersDescription`],icon:(0,E.jsxDEV)(ai,{className:`w-8 h-8`},void 0,!1,{fileName:nT,lineNumber:34,columnNumber:13},void 0),path:`/divers/3d-printers`,bgColor:`bg-orange-500`},{title:e.header.divers.machineLearning,description:e.divers.machineLearningDescription,icon:(0,E.jsxDEV)(ri,{className:`w-8 h-8`},void 0,!1,{fileName:nT,lineNumber:41,columnNumber:13},void 0),path:`/divers/machine-learning`,bgColor:`bg-teal-500`}];return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 min-h-full w-full pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white mb-8 transition-colors duration-200`,children:e.header.divers.main},void 0,!1,{fileName:nT,lineNumber:57,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:t.map((e,t)=>(0,E.jsxDEV)(Pn,{to:e.path,className:`transform transition-all duration-300 hover:scale-105`,children:(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-700 rounded-lg shadow-lg overflow-hidden h-full`,children:[(0,E.jsxDEV)(`div`,{className:`${e.bgColor} p-6 flex justify-center items-center text-white`,children:e.icon},void 0,!1,{fileName:nT,lineNumber:69,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`p-6`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold mb-2 text-gray-900 dark:text-white`,children:e.title},void 0,!1,{fileName:nT,lineNumber:73,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:e.description},void 0,!1,{fileName:nT,lineNumber:76,columnNumber:19},void 0)]},void 0,!0,{fileName:nT,lineNumber:72,columnNumber:17},void 0)]},void 0,!0,{fileName:nT,lineNumber:68,columnNumber:15},void 0)},t,!1,{fileName:nT,lineNumber:63,columnNumber:13},void 0))},void 0,!1,{fileName:nT,lineNumber:61,columnNumber:9},void 0)]},void 0,!0,{fileName:nT,lineNumber:56,columnNumber:7},void 0)},void 0,!1,{fileName:nT,lineNumber:55,columnNumber:5},void 0)},iT=`/opt/src/frontend/src/middleware/Loading.middleware.tsx`,aT=({text:e=`Loading`,className:t=``})=>(0,E.jsxDEV)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-gray-800 bg-opacity-75 ${t}`,children:[(0,E.jsxDEV)(`style`,{children:`
664          @keyframes spin {
665            0% {
666              transform: rotate(0deg);
667            }
668            100% {
669              transform: rotate(360deg);
670            }
671          }
672
673          .spinner {
674            animation: spin 1s linear infinite;
675          }
676        `},void 0,!1,{fileName:iT,lineNumber:14,columnNumber:7},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3`,children:[(0,E.jsxDEV)(`svg`,{className:`spinner w-6 h-6 text-blue-500`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,E.jsxDEV)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`},void 0,!1,{fileName:iT,lineNumber:32,columnNumber:11},void 0),(0,E.jsxDEV)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`},void 0,!1,{fileName:iT,lineNumber:33,columnNumber:11},void 0)]},void 0,!0,{fileName:iT,lineNumber:31,columnNumber:9},void 0),(0,E.jsxDEV)(`span`,{className:`text-gray-300 text-lg font-semibold`,children:e},void 0,!1,{fileName:iT,lineNumber:35,columnNumber:9},void 0)]},void 0,!0,{fileName:iT,lineNumber:30,columnNumber:7},void 0)]},void 0,!0,{fileName:iT,lineNumber:13,columnNumber:5},void 0),z=`/opt/src/frontend/src/components/GamePage.tsx`,oT=[{id:`minecraft`,image:`/images/minecraft.png`,url:`css-minecraft`,type:`singleplayer`,icon:(0,E.jsxDEV)(Vi,{className:`w-5 h-5 text-green-600`},void 0,!1,{fileName:z,lineNumber:23,columnNumber:104},void 0)},{id:`space-invaders`,image:`/images/space-invaders.png`,url:`space-invaders`,type:`singleplayer`,icon:(0,E.jsxDEV)(Oi,{className:`w-5 h-5 text-purple-500`},void 0,!1,{fileName:z,lineNumber:24,columnNumber:115},void 0)},{id:`rockets`,image:`/images/rocket.png`,url:`space`,type:`singleplayer`,icon:(0,E.jsxDEV)(ni,{className:`w-5 h-5 text-blue-500`},void 0,!1,{fileName:z,lineNumber:26,columnNumber:91},void 0)},{id:`minesweeper`,image:`/images/minesweeper.png`,url:`minesweeper`,type:`singleplayer`,icon:(0,E.jsxDEV)(aa,{className:`w-5 h-5 text-red-500`},void 0,!1,{fileName:z,lineNumber:27,columnNumber:106},void 0)},{id:`rubixCube`,image:`/images/rubix-cube.png`,url:`cube`,type:`singleplayer`,icon:(0,E.jsxDEV)(Vi,{className:`w-5 h-5 text-yellow-500`},void 0,!1,{fileName:z,lineNumber:28,columnNumber:96},void 0)},{id:`connect4`,image:`/images/4-gewinnt.png`,url:`4-gewinnt`,type:`multiplayer`,icon:(0,E.jsxDEV)(Pr,{className:`w-5 h-5 text-purple-500`},void 0,!1,{fileName:z,lineNumber:29,columnNumber:98},void 0)},{id:`flappyBird`,image:`/images/flappy.png`,url:`flappy`,type:`singleplayer`,icon:(0,E.jsxDEV)(Oi,{className:`w-5 h-5 text-green-500`},void 0,!1,{fileName:z,lineNumber:30,columnNumber:95},void 0)},{id:`chess`,image:`/images/chess.png`,url:`chess`,type:`multiplayer`,icon:(0,E.jsxDEV)(Zi,{className:`w-5 h-5 text-gray-500`},void 0,!1,{fileName:z,lineNumber:31,columnNumber:87},void 0)},{id:`music`,image:`/images/music.png`,url:`music`,type:`singleplayer`,icon:(0,E.jsxDEV)(fi,{className:`w-5 h-5 text-pink-500`},void 0,!1,{fileName:z,lineNumber:32,columnNumber:88},void 0)},{id:`atc`,image:`/images/atc.jpg`,url:`atc`,type:`singleplayer`,icon:(0,E.jsxDEV)(si,{className:`w-5 h-5 text-blue-400`},void 0,!1,{fileName:z,lineNumber:33,columnNumber:82},void 0)},{id:`2048`,image:`/images/2048.png`,url:`2048`,type:`singleplayer`,icon:(0,E.jsxDEV)(Li,{className:`w-5 h-5 text-orange-500`},void 0,!1,{fileName:z,lineNumber:34,columnNumber:85},void 0)},{id:`connect5`,image:`/images/5win.png`,url:`5wins`,type:`singleplayer`,icon:(0,E.jsxDEV)(zr,{className:`w-5 h-5 text-indigo-500`},void 0,!1,{fileName:z,lineNumber:35,columnNumber:90},void 0)},{id:`towerBlocks`,image:`/images/tower_blocks.png`,url:`tower_blocks`,type:`singleplayer`,icon:(0,E.jsxDEV)(Bi,{className:`w-5 h-5 text-teal-500`},void 0,!1,{fileName:z,lineNumber:36,columnNumber:108},void 0)},{id:`jumpAndRun2`,image:`/images/jump_and_run-2-0.png`,url:`jump_and_run2`,type:`singleplayer`,icon:(0,E.jsxDEV)(ti,{className:`w-5 h-5 text-green-600`},void 0,!1,{fileName:z,lineNumber:37,columnNumber:113},void 0)},{id:`pong`,image:`/images/pong.png`,url:`pong`,type:`singleplayer`,icon:(0,E.jsxDEV)(Wr,{className:`w-5 h-5 text-blue-600`},void 0,!1,{fileName:z,lineNumber:38,columnNumber:85},void 0)},{id:`reactGame`,image:`/images/react_game.png`,url:`react_game`,type:`singleplayer`,icon:(0,E.jsxDEV)(Er,{className:`w-5 h-5 text-cyan-500`},void 0,!1,{fileName:z,lineNumber:39,columnNumber:102},void 0)}
676,{id:`snake2`,image:`/images/snake2-0.png`,url:`snake2`,type:`singleplayer`,icon:(0,E.jsxDEV)(Ii,{className:`w-5 h-5 text-lime-500`},void 0,!1,{fileName:z,lineNumber:40,columnNumber:93},void 0)},{id:`ticTacToe`,image:`/images/tic_tac_toe.png`,url:`tic_tac_toe`,type:`multiplayer`,icon:(0,E.jsxDEV)($i,{className:`w-5 h-5 text-purple-600`},void 0,!1,{fileName:z,lineNumber:41,columnNumber:103},void 0)},{id:`tetris`,image:`/images/tetris.png`,url:`tetris`,type:`singleplayer`,icon:(0,E.jsxDEV)(ii,{className:`w-5 h-5 text-red-600`},void 0,!1,{fileName:z,lineNumber:42,columnNumber:91},void 0)},{id:`breakout`,image:`/images/breakout.png`,url:`breakout`,type:`singleplayer`,icon:(0,E.jsxDEV)(oi,{className:`w-5 h-5 text-blue-500`},void 0,!1,{fileName:z,lineNumber:43,columnNumber:97},void 0)},{id:`stickHero`,image:`/images/stick-hero.png`,url:`stick-hero`,type:`singleplayer`,icon:(0,E.jsxDEV)(Fr,{className:`w-5 h-5 text-yellow-600`},void 0,!1,{fileName:z,lineNumber:44,columnNumber:102},void 0)},{id:`tiltingMaze`,image:`/images/tilting-maze.png`,url:`tilting-maze`,type:`singleplayer`,icon:(0,E.jsxDEV)(ca,{className:`w-5 h-5 text-purple-500`},void 0,!1,{fileName:z,lineNumber:45,columnNumber:108},void 0)},{id:`ultimate-tic-tac-toe`,image:`/images/ultimate-tic-tac-toe.png`,url:`ultimate-tic-tac-toe`,type:`multiplayer`,icon:(0,E.jsxDEV)(Qi,{className:`w-5 h-5 text-indigo-600`},void 0,!1,{fileName:z,lineNumber:46,columnNumber:132},void 0)},{id:`train-puzzle`,image:`/images/train-puzzle.png`,url:`train-puzzle`,type:`singleplayer`,icon:(0,E.jsxDEV)(Vr,{className:`w-5 h-5 text-green-600`},void 0,!1,{fileName:z,lineNumber:47,columnNumber:109},void 0)},{id:`pacman`,image:`/images/pacman.png`,url:`pacman`,type:`singleplayer`,icon:(0,E.jsxDEV)(Ei,{className:`w-5 h-5 text-yellow-500`},void 0,!1,{fileName:z,lineNumber:48,columnNumber:91},void 0)},{id:`connect4`,image:`/images/connect4-singlepalyer.png`,url:`connect4-singlepalyer`,type:`singleplayer`,icon:(0,E.jsxDEV)(Pr,{className:`w-5 h-5 text-purple-500`},void 0,!1,{fileName:z,lineNumber:49,columnNumber:123},void 0)},{id:`hex`,image:`/images/hex.svg`,url:`hex`,type:`multiplayer`,icon:(0,E.jsxDEV)(ii,{className:`w-5 h-5 text-blue-600`},void 0,!1,{fileName:z,lineNumber:50,columnNumber:81},void 0)},{id:`gameOfLife`,image:`/images/game-of-life.png`,url:`game-of-life`,type:`singleplayer`,icon:(0,E.jsxDEV)($r,{className:`w-5 h-5 text-pink-500`},void 0,!1,{fileName:z,lineNumber:51,columnNumber:107},void 0)}],sT=[{id:`snake`,image:`/images/snake.png`,url:`snake`,type:`singleplayer`,icon:(0,E.jsxDEV)(Ii,{className:`w-5 h-5 text-green-500`},void 0,!1,{fileName:z,lineNumber:55,columnNumber:88},void 0)},{id:`jumpAndRun`,image:`/images/jump_and_run.png`,url:`jump_and_run`,type:`singleplayer`,icon:(0,E.jsxDEV)(ti,{className:`w-5 h-5 text-green-600`},void 0,!1,{fileName:z,lineNumber:56,columnNumber:107},void 0)}],cT=({isOpen:e,onClose:t,children:n})=>{let{isDarkMode:r}=or();return e?(0,E.jsxDEV)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50`,children:(0,E.jsxDEV)(`div`,{className:`relative w-11/12 h-5/6 ${r?`bg-gray-800`:`bg-white`} rounded-lg md:w-4/5 transition-colors duration-200`,children:[(0,E.jsxDEV)(`button`,{className:`absolute top-0 right-0 m-2 text-white bg-red-500 hover:bg-red-600 rounded-full w-8 h-8 flex items-center justify-center transition-colors duration-200`,onClick:t,children:`×`},void 0,!1,{fileName:z,lineNumber:70,columnNumber:9},void 0),n]},void 0,!0,{fileName:z,lineNumber:69,columnNumber:7},void 0)},void 0,!1,{fileName:z,lineNumber:68,columnNumber:5},void 0):null},lT=()=>{let{isDarkMode:e}=or(),{translations:t}=rr(),[n,r]=(0,S.useState)(null),[i,a]=(0,S.useState)(!1),[o,s]=(0,S.useState)(null),[c,l]=(0,S.useState)(`Loading Game...`),[u,d]=(0,S.useState)(``),[f,p]=(0,S.useState)(!0),[m,h]=(0,S.useState)(!0),[g,_]=(0,S.useState)(!1),[v,y]=(0,S.useState)({}),b=e=>{y(t=>({...t,[e]:!0}))},x=e=>{r(e),a(!0),s(null)},ee=()=>{r(null),a(!1),s(null)},te=()=>{a(!1)},ne=()=>{a(!1),s(t.games.error)},re=e=>t?.games?.names?.[e]||e,ie=(0,S.useMemo)(()=>t?.games?.names?oT.filter(e=>re(e.id).toLowerCase().includes(u.toLowerCase())):oT,[u,t?.games?.names]),C=t=>(0,E.jsxDEV)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-4`,children:t.map(t=>(0,E.jsxDEV)(`div`,{className:`${e?`bg-gray-800 hover:bg-gray-700`:`bg-white hover:bg-gray-50`} rounded-lg shadow hover:shadow-md transition-all duration-300 transform hover:-translate-y-1 cursor-pointer
677          border border-gray-100 dark:border-gray-700`,onClick:()=>x(t.url),children:(0,E.jsxDEV)(`div`,{className:`p-3`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-2 mb-2`,children:[(0,E.jsxDEV)(`div`,{className:`p-2 ${e?`bg-gray-700`:`bg-gray-100`} rounded-lg transition-colors duration-200`,children:t.icon},void 0,!1,{fileName:z,lineNumber:149,columnNumber:15},void 0),(0,E.jsxDEV)(`h3`,{className:`text-sm font-semibold ${e?`text-white`:`text-gray-900`} transition-colors duration-200 truncate`,children:re(t.id)},void 0,!1,{fileName:z,lineNumber:152,columnNumber:15},void 0)]},void 0,!0,{fileName:z,lineNumber:148,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`relative w-full aspect-square`,children:[!v[t.id]&&(0,E.jsxDEV)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-gray-200 dark:bg-gray-700 opacity-50`,children:(0,E.jsxDEV)(qr,{className:`animate-spin text-blue-500 
677w-10 h-10`},void 0,!1,{fileName:z,lineNumber:159,columnNumber:19},void 0)},void 0,!1,{fileName:z,lineNumber:158,columnNumber:17},void 0),(0,E.jsxDEV)(`img`,{src:t.image,alt:re(t.id),loading:`lazy`,onLoad:()=>b(t.id),onError:()=>b(t.id),className:`w-full h-full object-cover rounded-lg transition-opacity duration-300 ${v[t.id]?`opacity-100`:`opacity-0`}`},void 0,!1,{fileName:z,lineNumber:162,columnNumber:15},void 0)]},void 0,!0,{fileName:z,lineNumber:156,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:147,columnNumber:11},void 0)},t.id,!1,{fileName:z,lineNumber:139,columnNumber:9},void 0))},void 0,!1,{fileName:z,lineNumber:137,columnNumber:5},void 0),ae=ie.filter(e=>e.type===`singleplayer`),w=ie.filter(e=>e.type===`multiplayer`),oe=(0,S.useMemo)(()=>t?.games?.names?sT.filter(e=>re(e.id).toLowerCase().includes(u.toLowerCase())):sT,[u,t?.games?.names]);return t?.games?(0,E.jsxDEV)(`div`,{className:`min-h-screen ${e?`bg-gray-900`:`bg-gray-50`} pt-6 pb-12 transition-colors duration-200`,children:[(0,E.jsxDEV)(`div`,{className:`w-[95%] max-w-7xl mx-auto`,children:[(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center ${e?`text-white`:`text-gray-900`} mb-8 transition-colors duration-200`,children:t.games.title},void 0,!1,{fileName:z,lineNumber:197,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`max-w-xl mx-auto mb-8`,children:(0,E.jsxDEV)(`div`,{className:`relative`,children:[(0,E.jsxDEV)(`input`,{type:`text`,placeholder:`Search games...`,value:u,onChange:e=>d(e.target.value),className:`w-full px-4 py-3 rounded-lg ${e?`bg-gray-800 border-gray-700 text-white placeholder-gray-400`:`bg-white border-gray-300 text-gray-900 placeholder-gray-500`} border focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors duration-200`},void 0,!1,{fileName:z,lineNumber:204,columnNumber:13},void 0),(0,E.jsxDEV)(ei,{className:`absolute right-4 top-1/2 transform -translate-y-1/2 ${e?`text-gray-400`:`text-gray-500`}`},void 0,!1,{fileName:z,lineNumber:215,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:203,columnNumber:11},void 0)},void 0,!1,{fileName:z,lineNumber:202,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-12`,children:[(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3 mb-6 cursor-pointer`,onClick:()=>
677p(!f),children:[(0,E.jsxDEV)(Fr,{className:`w-6 h-6 ${e?`text-blue-400`:`text-blue-500`}`},void 0,!1,{fileName:z,lineNumber:230,columnNumber:15},void 0),(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold ${e?`text-white`:`text-gray-900`} transition-colors duration-200`,children:`Singleplayer Games`},void 0,!1,{fileName:z,lineNumber:231,columnNumber:15},void 0),f?(0,E.jsxDEV)(Yi,{className:`w-5 h-5 ${e?`text-gray-400`:`text-gray-600`} transform transition-transform duration-300`},void 0,!1,{fileName:z,lineNumber:235,columnNumber:17},void 0):(0,E.jsxDEV)(Xi,{className:`w-5 h-5 ${e?`text-gray-400`:`text-gray-600`} transform transition-transform duration-300`},void 0,!1,{fileName:z,lineNumber:237,columnNumber:17},void 0)]},void 0,!0,{fileName:z,lineNumber:226,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid-section overflow-hidden transition-all duration-500 ease-in-out`,style:{maxHeight:f?`2000px`:`0`,opacity:+!!f,marginBottom:f?`2rem`:`0`},children:C(ae)},void 0,!1,{fileName:z,lineNumber:240,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:225,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3 mb-6 cursor-pointer`,onClick:()=>h(!m),children:[(0,E.jsxDEV)(zr,{className:`w-6 h-6 ${e?`text-blue-400`:`text-blue-500`}`},void 0,!1,{fileName:z,lineNumber:258,columnNumber:15},void 0),(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold ${e?`text-white`:`text-gray-900`} transition-colors duration-200`,children:`Multiplayer Games`},void 0,!1,{fileName:z,lineNumber:259,columnNumber:15},void 0),m?(0,E.jsxDEV)(Yi,{className:`w-5 h-5 ${e?`text-gray-400`:`text-gray-600`} transform transition-transform duration-300`},void 0,!1,{fileName:z,lineNumber:263,columnNumber:17},void 0):(0,E.jsxDEV)(Xi,{className:`w-5 h-5 ${e?`text-gray-400`:`text-gray-600`} transform transition-transform duration-300`},void 0,!1,{fileName:z,lineNumber:265,columnNumber:17},void 0)]},void 0,!0,{fileName:z,lineNumber:254,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid-section overflow-hidden transition-all duration-500 ease-in-out`,style:{maxHeight:m?`2000px`:`0`,opacity:+!!m,marginBottom:m?`2rem`:`0`},children:C(w)},void 0,!1,{fileName:z,lineNumber:268,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:253,columnNumber:11},void 0),oe.length>0&&(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3 mb-6 cursor-pointer`,onClick:()=>_(!g),children:[(0,E.jsxDEV)(ua,{className:`w-6 h-6 ${e?`text-gray-500`:`text-gray-400`}`},void 0,!1,{fileName:z,lineNumber:287,columnNumber:17},void 0),(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold ${e?`text-gray-400`:`text-gray-500`} transition-colors duration-200`,children:`Outdated Games`},void 0,!1,{fileName:z,lineNumber:288,columnNumber:17},void 0),g?(0,E.jsxDEV)(Yi,{className:`w-5 h-5 ${e?`text-gray-500`:`text-gray-400`} transform transition-transform duration-300`},void 0,!1,{fileName:z,lineNumber:292,columnNumber:19},void 0):(0,E.jsxDEV)(Xi,{className:`w-5 h-5 ${e?`text-gray-500`:`text-gray-400`} transform transition-transform duration-300`},void 0,!1,{fileName:z,lineNumber:294,columnNumber:19},void 0)]},void 0,!0,{fileName:z,lineNumber:283,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`grid-section overflow-hidden transition-all duration-500 ease-in-out`,style:{maxHeight:g?`2000px`:`0`,opacity:+!!g,marginBottom:g?`2rem`:`0`},children:C(oe)},void 0,!1,{fileName:z,lineNumber:297,columnNumber:15},void 0)]},void 0,!0,{fileName:z,lineNumber:282,columnNumber:13},void 0)]},void 0,!0,{fileName:z,lineNumber:223,columnNumber:9},void 0)]},void 0,!0,{fileName:z,lineNumber:196,columnNumber:7},void 0),(0,E.jsxDEV)(cT,{isOpen:!!n,onClose:ee,children:[i&&(0,E.jsxDEV)(aT,{text:c},void 0,!1,{fileName:z,lineNumber:313,columnNumber:23},void 0),o&&(0,E.jsxDEV)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,E.jsxDEV)(`p`,{className:`text-red-500 text-xl`,children:o},void 0,!1,{fileName:z,lineNumber:316,columnNumber:13},void 0)},void 0,!1,{fileName:z,lineNumber:315,columnNumber:11},void 0),n&&(0,E.jsxDEV)(`iframe`,{src:`/games/${n}
677/index.html`,className:`w-full h-full rounded-lg`,title:`Game`,onLoad:te,onError:ne},void 0,!1,{fileName:z,lineNumber:320,columnNumber:11},void 0)]},void 0,!0,{fileName:z,lineNumber:312,columnNumber:7},void 0)]},void 0,!0,{fileName:z,lineNumber:195,columnNumber:5},void 0):(0,E.jsxDEV)(aT,{text:`Loading games...`},void 0,!1,{fileName:z,lineNumber:191,columnNumber:12},void 0)},uT=`/opt/src/frontend/src/components/ServicesPage.tsx`,dT=[{id:`zammad`,icon:(0,E.jsxDEV)(Ur,{className:`w-6 h-6 text-blue-500`},void 0,!1,{fileName:uT,lineNumber:20,columnNumber:25},void 0),link:`https://support.pabr.de`},{id:`uwrPlanner`,icon:(0,E.jsxDEV)(Gr,{className:`w-6 h-6 text-teal-500`},void 0,!1,{fileName:uT,lineNumber:21,columnNumber:29},void 0),link:`https://uwr-plan.de`,gitLink:`https://git.pabr.de/uwr/uwr-planner`},{id:`mailcow`,icon:(0,E.jsxDEV)(Fi,{className:`w-6 h-6 text-blue-400`},void 0,!1,{fileName:uT,lineNumber:22,columnNumber:26},void 0),link:`https://mail.pabr.de`},{id:`dms`,icon:(0,E.jsxDEV)(ki,{className:`w-6 h-6 text-blue-600`},void 0,!1,{fileName:uT,lineNumber:23,columnNumber:22},void 0),link:`https://dms.pabr.de`},{id:`immich`,icon:(0,E.jsxDEV)(xi,{className:`w-6 h-6 text-cyan-500`},void 0,!1,{fileName:uT,lineNumber:24,columnNumber:25},void 0),link:`https://img.pabr.de`},{id:`vaultwarden`,icon:(0,E.jsxDEV)(vi,{className:`w-6 h-6 text-yellow-600`},void 0,!1,{fileName:uT,lineNumber:25,columnNumber:30},void 0),link:`https://pass.pabr.de`},{id:`matrix`,icon:(0,E.jsxDEV)(Ui,{className:`w-6 h-6 text-purple-500`},void 0,!1,{fileName:uT,lineNumber:26,columnNumber:25},void 0),link:`https://matrix.pabr.de`},{id:`gitlab`,icon:(0,E.jsxDEV)(Or,{className:`w-6 h-6 text-orange-500`},void 0,!1,{fileName:uT,lineNumber:27,columnNumber:25},void 0),link:`https://git.pabr.de`},{id:`harbor`,icon:(0,E.jsxDEV)(kr,{className:`w-6 h-6 text-blue-600`},void 0,!1,{fileName:uT,lineNumber:28,columnNumber:25},void 0),link:`https://reg.pabr.de`},{id:`pelican`,icon:(0,E.jsxDEV)(Oi,{className:`w-6 h-6 text-green-600`},void 0,!1,{fileName:uT,lineNumber:29,columnNumber:26},void 0),link:`https://server.pabr.de`},{id:`bookstack`,icon:(0,E.jsxDEV)(ia,{className:`w-6 h-6 text-green-500`},void 0,!1,{fileName:uT,lineNumber:30,columnNumber:28},void 0),link:`https://kb.pabr.de`},{id:`planka`,icon:(0,E.jsxDEV)(Ji,{className:`w-6 h-6 text-indigo-500`},void 0,!1,{fileName:uT,lineNumber:31,columnNumber:25},void 0),link:`https://board.pabr.de`},{id:`media`,icon:(0,E.jsxDEV)(Ai,{className:`w-6 h-6 text-yellow-500`},void 0,!1,{fileName:uT,lineNumber:32,columnNumber:24},void 0),link:`http://media.pabr.de`},{id:`overleaf`,icon:(0,E.jsxDEV)(Mi,{className:`w-6 h-6 text-green-600`},void 0,!1,{fileName:uT,lineNumber:33,columnNumber:27},void 0),link:`https://overleaf.pabr.de`},{id:`penpot`,icon:(0,E.jsxDEV)(li,{className:`w-6 h-6 text-pink-500`},void 0,!1,{fileName:uT,lineNumber:34,columnNumber:25},void 0),link:`https://penpot.pabr.de`},{id:`mealieRecipe`,icon:(0,E.jsxDEV)(Nr,{className:`w-6 h-6 text-amber-500`},void 0,!1,{fileName:uT,lineNumber:35,columnNumber:31},void 0),link:`https://rezept.pabr.de`},{id:`pairdrop`,icon:(0,E.jsxDEV)(Zr,{className:`w-6 h-6 text-cyan-500`},void 0,!1,{fileName:uT,lineNumber:36,columnNumber:27},void 0),link:`https://pairdrop.pabr.de`},{id:`pdf`,icon:(0,E.jsxDEV)(ji,{className:`w-6 h-6 text-red-500`},void 0,!1,{fileName:uT,lineNumber:37,columnNumber:22},void 0),link:`https://pdf.pabr.de`},{id:`openwebui`,icon:(0,E.jsxDEV)(ra,{className:`w-6 h-6 text-purple-500`},void 0,!1,{fileName:uT,lineNumber:38,columnNumber:28},void 0),link:`https://llm.pabr.de`},{id:`linkShortener`,icon:(0,E.jsxDEV)(gi,{className:`w-6 h-6 text-gray-600`},void 0,!1,{fileName:uT,lineNumber:39,columnNumber:32},void 0),link:`https://short.pabr.de`}],fT=()=>{let{translations:e}=rr(),[t,n]=(0,S.useState)(null),[r,i]=(0,S.useState)({}),[a,o]=(0,S.useState)(``),s=S.useMemo(()=>dT.filter(t=>{let n=e.services.services[t.id];return n.title.toLowerCase().includes(a.toLowerCase())||n.description.toLowerCase().includes(a.toLowerCase())||n.extendedInfo.toLowerCase().includes(a.toLowerCase())}),[a,e]);S.useEffect(()=>(t?document.body.style.overflow=`hidden`:document.body.style.overflow=`unset`,()=>{document.body.style.overflow=`unset`}),[t]);let c=async(e,t)=>{dT.find(t=>
677t.id===e)?.disabled||(i(t=>({...t,[e]:!0})),await new Promise(e=>setTimeout(e,500)),window.open(t,`_blank`),i(t=>({...t,[e]:!1})))},l=t?dT.find(e=>e.id===t):null;return(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white mb-8 transition-colors duration-200`,children:e.services.title},void 0,!1,{fileName:uT,lineNumber:86,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`max-w-2xl mx-auto mb-8 flex items-center gap-3`,children:[(0,E.jsxDEV)(`div`,{className:`relative flex-1`,children:[(0,E.jsxDEV)(`input`,{type:`text`,placeholder:e.services.searchPlaceholder,value:a,onChange:e=>o(e.target.value),className:`w-full px-4 py-3 rounded-lg bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 
678                text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400
679                focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400
680                transition-colors duration-200`},void 0,!1,{fileName:uT,lineNumber:93,columnNumber:13},void 0),(0,E.jsxDEV)(ei,{className:`absolute right-4 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500`},void 0,!1,{fileName:uT,lineNumber:103,columnNumber:13},void 0)]},void 0,!0,{fileName:uT,lineNumber:92,columnNumber:11},void 0),(0,E.jsxDEV)(`a`,{href:`https://status.pabr.de`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1.5 px-4 py-3 rounded-full bg-green-100 dark:bg-green-900/40 
681              text-green-700 dark:text-green-400 text-sm font-medium 
682              hover:bg-green-200 dark:hover:bg-green-900/60 
683              transition-colors duration-200 whitespace-nowrap
684              border border-green-200 dark:border-green-800`,children:[(0,E.jsxDEV)(Ci,{className:`w-4 h-4`},void 0,!1,{fileName:uT,lineNumber:117,columnNumber:13},void 0),e.services.statusPage]},void 0,!0,{fileName:uT,lineNumber:107,columnNumber:11},void 0)]},void 0,!0,{fileName:uT,lineNumber:91,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`,children:s.map(t=>{let i=e.services.services[t.id];return(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg hover:shadow-xl 
685                  transition-all duration-300 transform hover:-translate-y-1
686                  border border-gray-100 dark:border-gray-700 h-full
687                  ${t.disabled?`opacity-50 cursor-not-allowed`:``}`,children:(0,E.jsxDEV)(`div`,{className:`p-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex justify-between items-start mb-4`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:t.icon},void 0,!1,{fileName:uT,lineNumber:137,columnNumber:23},void 0),(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white transition-colors duration-200`,children:i.title},void 0,!1,{fileName:uT,lineNumber:140,columnNumber:23},void 0)]},void 0,!0,{fileName:uT,lineNumber:136,columnNumber:21},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-2 ml-4`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>n(t.id),className:`text-blue-500 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 
688                          transition-colors duration-200 p-2 rounded-full hover:bg-blue-50 dark:hover:bg-blue-900`,"aria-label":e.services.showMore,children:(0,E.jsxDEV)(yi,{className:`w-5 h-5`},void 0,!1,{fileName:uT,lineNumber:151,columnNumber:25},void 0)},void 0,!1,{fileName:uT,lineNumber:145,columnNumber:23},void 0),t.link&&!t.disabled&&(0,E.jsxDEV)(`button`,{onClick:()=>c(t.id,t.link),className:`text-blue-500 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 
689                            transition-colors duration-200 p-2 rounded-full hover:bg-blue-50 dark:hover:bg-blue-900`,disabled:r[t.id],"aria-label":e.services.visitService,children:r[t.id]?(0,E.jsxDEV)(qr,{className:`w-5 h-5 animate-spin`},void 0,!1,{fileName:uT,lineNumber:162,columnNumber:29},void 0):(0,E.jsxDEV)(Ni,{className:`w-5 h-5`},void 0,!1,{fileName:uT,lineNumber:164,columnNumber:29},void 0)},void 0,!1,{fileName:uT,lineNumber:154,columnNumber:25},void 0)]},void 0,!0,{fileName:uT,lineNumber:144,columnNumber:21},void 0)]},void 0,!0,{fileName:uT,lineNumber:135,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300 text-base transition-colors duration-200`,children:[i.description,t.disabled&&(0,E.jsxDEV)(`span`,{className:`block mt-2 text-red-500 dark:text-red-400`,children:e.services.serviceDisabled||`Service temporarily disabled`},void 0,!1,{fileName:uT,lineNumber:173,columnNumber:23},void 0)]},void 0,!0,{fileName:uT,lineNumber:170,columnNumber:19},void 0)]},void 0,!0,{fileName:uT,lineNumber:134,columnNumber:17},void 0)},t.id,!1,{fileName:uT,lineNumber:127,columnNumber:15},void 0)})},void 0,!1,{fileName:uT,lineNumber:123,columnNumber:9},void 0),l&&(0,E.jsxDEV)(`div`,{className:`fixed top-0 right-0 w-full sm:w-96 bg-white dark:bg-gray-800 shadow-2xl transform transition-transform duration-300 ease-in-out z-50
690              ${t?`translate-x-0`:`translate-x-full`}
691              h-screen pt-16 overflow-y-auto`,children:(0,E.jsxDEV)(`div`,{className:`p-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex justify-between items-center mb-6 sticky top-0 bg-white dark:bg-gray-800 py-2`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3`,children:[(0,E.jsxDEV)(`div`,{className:`p-2 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:l.icon},void 0,!1,{fileName:uT,lineNumber:194,columnNumber:19},void 0),(0,E.jsxDEV)(`h3`,{className:`text-2xl font-bold text-gray-900 dark:text-white`,children:e.services.services[l.id].title},void 0,!1,{fileName:uT,lineNumber:197,columnNumber:19},void 0)]},void 0,!0,{fileName:uT,lineNumber:193,columnNumber:17},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>n(null),className:`text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 
692                    transition-colors duration-200`,children:(0,E.jsxDEV)(
692Hr,{className:`w-6 h-6`},void 0,!1,{fileName:uT,lineNumber:206,columnNumber:19},void 0)},void 0,!1,{fileName:uT,lineNumber:201,columnNumber:17},void 0)]},void 0,!0,{fileName:uT,lineNumber:192,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`prose dark:prose-invert max-w-none`,children:e.services.services[l.id].extendedInfo.split(`
693`).map((e,t)=>(0,E.jsxDEV)(`p`,{className:`mb-4 text-gray-700 dark:text-gray-300`,children:e},t,!1,{fileName:uT,lineNumber:211,columnNumber:19},void 0))},void 0,!1,{fileName:uT,lineNumber:209,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex flex-col gap-3 mt-6`,children:[l.link&&!l.disabled&&(0,E.jsxDEV)(`a`,{href:l.link,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center text-blue-500 hover:text-blue-700 dark:text-blue-400 
694                      dark:hover:text-blue-300 transition-colors duration-200`,children:[(0,E.jsxDEV)(`span`,{className:`mr-2`,children:e.services.visitService},void 0,!1,{fileName:uT,lineNumber:225,columnNumber:21},void 0),(0,E.jsxDEV)(Ni,{className:`w-4 h-4`},void 0,!1,{fileName:uT,lineNumber:226,columnNumber:21},void 0)]},void 0,!0,{fileName:uT,lineNumber:218,columnNumber:19},void 0),l.gitLink&&(0,E.jsxDEV)(`a`,{href:l.gitLink,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center text-orange-500 hover:text-orange-700 dark:text-orange-400 
695                      dark:hover:text-orange-300 transition-colors duration-200`,children:[(0,E.jsxDEV)(Or,{className:`w-4 h-4 mr-2`},void 0,!1,{fileName:uT,lineNumber:237,columnNumber:21},void 0),(0,E.jsxDEV)(`span`,{children:e.services.viewGitRepo||`View Git Repository`},void 0,!1,{fileName:uT,lineNumber:238,columnNumber:21},void 0)]},void 0,!0,{fileName:uT,lineNumber:230,columnNumber:19},void 0)]},void 0,!0,{fileName:uT,lineNumber:216,columnNumber:15},void 0)]},void 0,!0,{fileName:uT,lineNumber:191,columnNumber:13},void 0)},void 0,!1,{fileName:uT,lineNumber:186,columnNumber:11},void 0),t&&(0,E.jsxDEV)(`div`,{className:`fixed inset-0 bg-black bg-opacity-50 transition-opacity duration-300 z-40`,onClick:()=>n(null)},void 0,!1,{fileName:uT,lineNumber:248,columnNumber:11},void 0)]},void 0,!0,{fileName:uT,lineNumber:85,columnNumber:7},void 0)},void 0,!1,{fileName:uT,lineNumber:84,columnNumber:5},void 0)};function pT(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function mT(e){if(Array.isArray(e))return e}function hT(e){if(Array.isArray(e))return pT(e)}function gT(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function _T(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,kT(r.key),r)}}function vT(e,t,n){return t&&_T(e.prototype,t),n&&_T(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function yT(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=jT(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
696In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function bT(e,t,n){return(t=kT(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xT(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ST(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}
696function CT(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
697In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wT(){throw TypeError(`Invalid attempt to spread non-iterable instance.
698In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function B(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?TT(Object(n),!0).forEach(function(t){bT(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TT(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ET(e,t){return mT(e)||ST(e,t)||jT(e,t)||CT()}function DT(e){return hT(e)||xT(e)||jT(e)||wT()}function OT(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function kT(e){var t=OT(e,`string`);return typeof t==`symbol`?t:t+``}function AT(e){"@babel/helpers - typeof";return AT=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},AT(e)}function jT(e,t){if(e){if(typeof e==`string`)return pT(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pT(e,t):void 0}}var MT=function(){},NT={},PT={},FT=null,IT={mark:MT,measure:MT};try{typeof window<`u`&&(NT=window),typeof document<`u`&&(PT=document),typeof MutationObserver<`u`&&(FT=MutationObserver),typeof performance<`u`&&(IT=performance)}catch{}var LT=(NT.navigator||{}).userAgent,RT=LT===void 0?``:LT,zT=NT,BT=PT,VT=FT,HT=IT;zT.document;var UT=!!BT.documentElement&&!!BT.head&&typeof BT.addEventListener==`function`&&typeof BT.createElement==`function`,WT=~RT.indexOf(`MSIE`)||~RT.indexOf(`Trident/`),GT,KT=/fa(k|kd|s|r|l|t|d|dr|dl|dt|b|slr|slpr|wsb|tl|ns|nds|es|gt|jr|jfr|jdr|usb|ufsb|udsb|cr|ss|sr|sl|st|sds|sdr|sdl|sdt|sldr|slpdr|pr|ms|vs)?[\-\ ]/,qT=/Font ?Awesome ?([567 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit|Notdog Duo|Notdog|Chisel|Etch|Graphite|Thumbprint|Jelly Fill|Jelly Duo|Jelly|Utility|Utility Fill|Utility Duo|Slab Press|Slab|Slab Duo|Slab Press Duo|Pixel|Mosaic|Vellum|Whiteboard)?.*/i,JT={classic:{fa:`solid`,fas:`solid`,"fa-solid":`solid`,far:`regular`,"fa-regular":`regular`,fal:`light`,"fa-light":`light`,fat:`thin`,"fa-thin":`thin`,fab:`brands`,"fa-brands":`brands`},duotone:{fa:`solid`,fad:`solid`,"fa-solid":`solid`,"fa-duotone":`solid`,fadr:`regular`,"fa-regular":`regular`,fadl:`light`,"fa-light":`light`,fadt:`thin`,"fa-thin":`thin`},sharp:{fa:`solid`,fass:`solid`,"fa-solid":`solid`,fasr:`regular`,"fa-regular":`regular`,fasl:`light`,"fa-light":`light`,fast:`thin`,"fa-thin":`thin`},"sharp-duotone":{fa:`solid`,fasds:`solid`,"fa-solid":`solid`,fasdr:`regular`,"fa-regular":`regular`,fasdl:`light`,"fa-light":`light`,fasdt:`thin`,"fa-thin":`thin`},slab:{"fa-regular":`regular`,faslr:`regular`},"slab-press":{"fa-regular":`regular`,faslpr:`regular`},"slab-duo":{"fa-regular":`regular`,fasldr:`regular`},"slab-press-duo":{"fa-regular":`regular`,faslpdr:`regular`},thumbprint:{"fa-light":`light`,fatl:`light`},vellum:{"fa-solid":`solid`,favs:`solid`},pixel:{"fa-regular":`regular`,fapr:`regular`},mosaic:{"fa-solid":`solid`,fams:`solid`},whiteboard:{"fa-semibold":`semibold`,fawsb:`semibold`},notdog:{"fa-solid":`solid`,fans:`solid`},"notdog-duo":{"fa-solid":`solid`,fands:`solid`},etch:{"fa-solid":`solid`,faes:`solid`},graphite:{"fa-thin":`thin`,fagt:`thin`},jelly:{"fa-regular":`regular`,fajr:`regular`},"jelly-fill":{"fa-regular":`regular`,fajfr:`regular`},"jelly-duo":{"fa-regular":`regular`,fajdr:`regular`},chisel:{"fa-regular":`regular`,facr:`regular`},utility:{"fa-semibold":`semibold`,fausb:`semibold`},"utility-duo":{"fa-semibold":`semibold`,faudsb:`semibold`},"utility-fill":{"fa-semibold":`semibold`,faufsb:`semibold`}},YT={GROUP:`duotone-group`,SWAP_OPACITY:`swap-opacity`,PRIMARY:`primary`,SECONDARY:`secondary`},XT=[`fa-classic`,`fa-duotone`,`fa-sharp`,`fa-sharp-duotone`,`fa-thumbprint`,`fa-whiteboard`,`fa-notdog`,`fa-notdog-duo`,`fa-chisel`,`fa-etch`,`fa-graphite`,`fa-jelly`,`fa-jelly-fill`,`fa-jelly-duo`,`fa-slab`,`fa-slab-press`,`fa-slab-press-duo`,`fa-slab-duo`,`fa-mosaic`,`fa-pixel`,`fa-vellum`,`fa-utility`,`fa-utility-duo`,`fa-utility-fill`],ZT=`classic`,QT=`duotone`,$T=`sharp`,eE=`sharp-duotone`,tE=`chisel`,nE=`etch`,rE=`graphite`,iE=`jelly`,aE=`jelly-duo`,oE=`jelly-fill`,sE=`mosaic`,cE=`notdog`,lE=`notdog-duo`,uE=`pixel`,dE=`slab`,fE=`slab-duo`,pE=`slab-press`,mE=`slab-press-duo`,hE=`thumbprint`,gE=`utility`,_E=`utility-duo`,vE=`utility-fill`,yE=`vellum`,bE=`whiteboard`,xE=`Classic`,SE=`Duotone`,CE=`Sharp`,wE=`Sharp Duotone`,TE=`Chisel`,EE=`Etch`,DE=`Graphite`,OE=`Jelly`,kE=`Jelly Duo`,AE=`Jelly Fill`,jE=`Mosaic`,ME=`Notdog`,NE=`Notdog Duo`,PE=`Pixel`,FE=`Slab`,IE=`Slab Duo`,LE=`Slab Press`,RE=`Slab Press Duo`,zE=`Thumbprint`,BE=`Utility`,VE=`Utility Duo`,HE=`Utility Fill`,UE=`Vellum`,WE=`Whiteboard`,GE=[ZT,QT,$T,eE,tE,nE,rE,iE,aE,oE,sE,cE,lE,uE,dE,fE,pE,mE,hE,gE,_E,vE,yE,bE];GT={},bT(bT(bT(bT(bT(bT(bT(bT(bT(bT(GT,ZT,xE),QT,SE),$T,CE),eE,wE),tE,TE),nE,EE),rE,DE),iE,OE),aE,kE),oE,AE),bT(bT(bT(bT(bT(bT(bT(bT(bT(bT(GT,sE,jE),cE,ME),lE,NE),uE,PE),dE,FE),fE,IE),pE,LE),mE,RE),hE,zE),gE,BE),bT(bT(bT(bT(GT,_E,VE),vE,HE),yE,UE),bE,WE);var KE={classic:{900:`fas`,400:`far`,normal:`far`,300:`fal`,100:`fat`},duotone:{900:`fad`,400:`fadr`,300:`fadl`,100:`fadt`},sharp:{900:`fass`,400:`fasr`,300:`fasl`,100:`fast`},"sharp-duotone":{900:`fasds`,400:`fasdr`,300:`fasdl`,100:`fasdt`},slab:{400:`faslr`},"slab-press":{400:`faslpr`},"slab-duo":{400:`fasldr`},"slab-press-duo":{400:`faslpdr`},vellum:{900:`favs`},mosaic:{900:`fams`},pixel:{400:`fapr`},whiteboard:{600:`fawsb`},thumbprint:{300:`fatl`},notdog:{900:`fans`},"notdog-duo":{900:`fands`},etch:{900:`faes`},graphite:{100:`fagt`},chisel:{400:`facr`},jelly:{400:`fajr`},"jelly-fill":{400:`fajfr`},"jelly-duo":{400:`fajdr`},utility:{600:`fausb`},"utility-duo":{600:`faudsb`},"utility-fill":{600:`faufsb`}},qE={"Font Awesome 7 Free":{900:`fas`,400:`far`},"Font Awesome 7 Pro":{900:`fas`,400:`far`,normal:`far`,300:`fal`,100:`fat`},"Font Awesome 7 Brands":{400:`fab`,normal:`fab`},"Font Awesome 7 Duotone":{900:`fad`,400:`fadr`,normal:`fadr`,300:`fadl`,100:`fadt`},"Font Awesome 7 Sharp":{900:`fass`,400:`fasr`,normal:`fasr`,300:`fasl`,100:`fast`},"Font Awesome 7 Sharp Duotone":{900:`fasds`,400:`fasdr`,normal:`fasdr`,300:`fasdl`,100:`fasdt`},"Font Awesome 7 Jelly":{400:`fajr`,normal:`fajr`},"Font Awesome 7 Jelly Fill":{400:`fajfr`,normal:`fajfr`},"Font Awesome 7 Jelly Duo":{400:`fajdr`,normal:`fajdr`},"Font Awesome 7 Slab":{400:`faslr`,normal:`faslr`},"Font Awesome 7 Slab Press":{400:`faslpr`,normal:`faslpr`},"Font Awesome 7 Slab Duo":{400:`fasldr`,normal:`fasldr`},"Font Awesome 7 Slab Press Duo":{400:`faslpdr`,normal:`faslpdr`}
vendor: 9,542 bytes, line 698
698,"Font Awesome 7 Pixel":{400:`fapr`,normal:`fapr`},"Font Awesome 7 Mosaic":{900:`fams`,normal:`fams`},"Font Awesome 7 Vellum":{900:`favs`,normal:`favs`},"Font Awesome 7 Thumbprint":{300:`fatl`,normal:`fatl`},"Font Awesome 7 Notdog":{900:`fans`,normal:`fans`},"Font Awesome 7 Notdog Duo":{900:`fands`,normal:`fands`},"Font Awesome 7 Etch":{900:`faes`,normal:`faes`},"Font Awesome 7 Graphite":{100:`fagt`,normal:`fagt`},"Font Awesome 7 Chisel":{400:`facr`,normal:`facr`},"Font Awesome 7 Whiteboard":{600:`fawsb`,normal:`fawsb`},"Font Awesome 7 Utility":{600:`fausb`,normal:`fausb`},"Font Awesome 7 Utility Duo":{600:`faudsb`,normal:`faudsb`},"Font Awesome 7 Utility Fill":{600:`faufsb`,normal:`faufsb`}},JE=new Map([[`classic`,{defaultShortPrefixId:`fas`,defaultStyleId:`solid`,styleIds:[`solid`,`regular`,`light`,`thin`,`brands`],futureStyleIds:[],defaultFontWeight:900}],[`duotone`,{defaultShortPrefixId:`fad`,defaultStyleId:`solid`,styleIds:[`solid`,`regular`,`light`,`thin`],futureStyleIds:[],defaultFontWeight:900}],[`sharp`,{defaultShortPrefixId:`fass`,defaultStyleId:`solid`,styleIds:[`solid`,`regular`,`light`,`thin`],futureStyleIds:[],defaultFontWeight:900}],[`sharp-duotone`,{defaultShortPrefixId:`fasds`,defaultStyleId:`solid`,styleIds:[`solid`,`regular`,`light`,`thin`],futureStyleIds:[],defaultFontWeight:900}],[`chisel`,{defaultShortPrefixId:`facr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`etch`,{defaultShortPrefixId:`faes`,defaultStyleId:`solid`,styleIds:[`solid`],futureStyleIds:[],defaultFontWeight:900}],[`graphite`,{defaultShortPrefixId:`fagt`,defaultStyleId:`thin`,styleIds:[`thin`],futureStyleIds:[],defaultFontWeight:100}],[`jelly`,{defaultShortPrefixId:`fajr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`jelly-duo`,{defaultShortPrefixId:`fajdr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`jelly-fill`,{defaultShortPrefixId:`fajfr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`mosaic`,{defaultShortPrefixId:`fams`,defaultStyleId:`solid`,styleIds:[`solid`],futureStyleIds:[],defaultFontWeight:900}],[`notdog`,{defaultShortPrefixId:`fans`,defaultStyleId:`solid`,styleIds:[`solid`],futureStyleIds:[],defaultFontWeight:900}],[`notdog-duo`,{defaultShortPrefixId:`fands`,defaultStyleId:`solid`,styleIds:[`solid`],futureStyleIds:[],defaultFontWeight:900}],[`pixel`,{defaultShortPrefixId:`fapr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`slab`,{defaultShortPrefixId:`faslr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`slab-duo`,{defaultShortPrefixId:`fasldr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`slab-press`,{defaultShortPrefixId:`faslpr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`slab-press-duo`,{defaultShortPrefixId:`faslpdr`,defaultStyleId:`regular`,styleIds:[`regular`],futureStyleIds:[],defaultFontWeight:400}],[`thumbprint`,{defaultShortPrefixId:`fatl`,defaultStyleId:`light`,styleIds:[`light`],futureStyleIds:[],defaultFontWeight:300}],[`utility`,{defaultShortPrefixId:`fausb`,defaultStyleId:`semibold`,styleIds:[`semibold`],futureStyleIds:[],defaultFontWeight:600}],[`utility-duo`,{defaultShortPrefixId:`faudsb`,defaultStyleId:`semibold`,styleIds:[`semibold`],futureStyleIds:[],defaultFontWeight:600}],[`utility-fill`,{defaultShortPrefixId:`faufsb`,defaultStyleId:`semibold`,styleIds:[`semibold`],futureStyleIds:[],defaultFontWeight:600}],[`vellum`,{defaultShortPrefixId:`favs`,defaultStyleId:`solid`,styleIds:[`solid`],futureStyleIds:[],defaultFontWeight:900}],[`whiteboard`,{defaultShortPrefixId:`fawsb`,defaultStyleId:`semibold`,styleIds:[`semibold`],futureStyleIds:[],defaultFontWeight:600}]]),YE={chisel:{regular:`facr`},classic:{brands:`fab`,light:`fal`,regular:`far`,solid:`fas`,thin:`fat`},duotone:{light:`fadl`,regular:`fadr`,solid:`fad`,thin:`fadt`},etch:{solid:`faes`},graphite:{thin:`fagt`},jelly:{regular:`fajr`},"jelly-duo":{regular:`fajdr`},"jelly-fill":{regular:`fajfr`},mosaic:{solid:`fams`},notdog:{solid:`fans`},"notdog-duo":{solid:`fands`},pixel:{regular:`fapr`},sharp:{light:`fasl`,regular:`fasr`,solid:`fass`,thin:`fast`},"sharp-duotone":{light:`fasdl`,regular:`fasdr`,solid:`fasds`,thin:`fasdt`},slab:{regular:`faslr`},"slab-duo":{regular:`fasldr`},"slab-press":{regular:`faslpr`},"slab-press-duo":{regular:`faslpdr`},thumbprint:{light:`fatl`},utility:{semibold:`fausb`},"utility-duo":{semibold:`faudsb`},"utility-fill":{semibold:`faufsb`},vellum:{solid:`favs`},whiteboard:{semibold:`fawsb`}},XE=[`fak`,`fa-kit`,`fakd`,`fa-kit-duotone`],ZE={kit:{fak:`kit`,"fa-kit":`kit`},"kit-duotone":{fakd:`kit-duotone`,"fa-kit-duotone":`kit-duotone`}},QE=[`kit`];bT(bT({},`kit`,`Kit`),`kit-duotone`,`Kit Duotone`);var $E={kit:{"fa-kit":`fak`},"kit-duotone":{"fa-kit-duotone":`fakd`}},eD={"Font Awesome Kit":{400:`fak`,normal:`fak`},"Font Awesome Kit Duotone":{400:`fakd`,normal:`fakd`}},tD={kit:{fak:`fa-kit`},"kit-duotone":{fakd:`fa-kit-duotone`}},nD={kit:{kit:`fak`},"kit-duotone":{"kit-duotone":`fakd`}},rD,iD={GROUP:`duotone-group`,SWAP_OPACITY:`swap-opacity`,PRIMARY:`primary`,SECONDARY:`secondary`},aD=[`fa-classic`,`fa-duotone`,`fa-sharp`,`fa-sharp-duotone`,`fa-thumbprint`,`fa-whiteboard`,`fa-notdog`,`fa-notdog-duo`,`fa-chisel`,`fa-etch`,`fa-graphite`,`fa-jelly`,`fa-jelly-fill`,`fa-jelly-duo`,`fa-slab`,`fa-slab-press`,`fa-slab-press-duo`,`fa-slab-duo`,`fa-mosaic`,`fa-pixel`,`fa-vellum`,`fa-utility`,`fa-utility-duo`,`fa-utility-fill`];rD={},bT(bT(bT(bT(bT(bT(bT(bT(bT(bT(rD,`classic`,`Classic`),`duotone`,`Duotone`),`sharp`,`Sharp`),`sharp-duotone`,`Sharp Duotone`),`chisel`,`Chisel`),`etch`,`Etch`),`graphite`,`Graphite`),`jelly`,`Jelly`),`jelly-duo`,`Jelly Duo`),`jelly-fill`,`Jelly Fill`),bT(bT(bT(bT(bT(bT(bT(bT(bT(bT(rD,`mosaic`,`Mosaic`),`notdog`,`Notdog`),`notdog-duo`,`Notdog Duo`),`pixel`,`Pixel`),`slab`,`Slab`),`slab-duo`,`Slab Duo`),`slab-press`,`Slab Press`),`slab-press-duo`,`Slab Press Duo`),`thumbprint`,`Thumbprint`),`utility`,`Utility`),bT(bT(bT(bT(rD,`utility-duo`,`Utility Duo`),`utility-fill`,`Utility Fill`),`vellum`,`Vellum`),`whiteboard`,`Whiteboard`),bT(bT({},`kit`,`Kit`),`kit-duotone`,`Kit Duotone`);var oD={classic:{"fa-brands":`fab`,"fa-duotone":`fad`,"fa-light":`fal`,"fa-regular":`far`,"fa-solid":`fas`,"fa-thin":`fat`},duotone:{"fa-regular":`fadr`,"fa-light":`fadl`,"fa-thin":`fadt`},sharp:{"fa-solid":`fass`,"fa-regular":`fasr`,"fa-light":`fasl`,"fa-thin":`fast`},"sharp-duotone":{"fa-solid":`fasds`,"fa-regular":`fasdr`,"fa-light":`fasdl`,"fa-thin":`fasdt`},slab:{"fa-regular":`faslr`},"slab-press":{"fa-regular":`faslpr`},"slab-duo":{"fa-regular":`fasldr`},"slab-press-duo":{"fa-regular":`faslpdr`},pixel:{"fa-regular":`fapr`},mosaic:{"fa-solid":`fams`},vellum:{"fa-solid":`favs`},whiteboard:{"fa-semibold":`fawsb`},thumbprint:{"fa-light":`fatl`},notdog:{"fa-solid":`fans`},"notdog-duo":{"fa-solid":`fands`},etch:{"fa-solid":`faes`},graphite:{"fa-thin":`fagt`},jelly:{"fa-regular":`fajr`},"jelly-fill":{"fa-regular":`fajfr`},"jelly-duo":{"fa-regular":`fajdr`},chisel:{"fa-regular":`facr`},utility:{"fa-semibold":`fausb`},"utility-duo":{"fa-semibold":`faudsb`},"utility-fill":{"fa-semibold":`faufsb`}},sD={classic:[`fas`,`far`,`fal`,`fat`,`fad`],duotone:[`fadr`,`fadl`,`fadt`],sharp:[`fass`,`fasr`,`fasl`,`fast`],"sharp-duotone":[`fasds`,`fasdr`,`fasdl`,`fasdt`],slab:[`faslr`],"slab-press":[`faslpr`],"slab-duo":[`fasldr`],"slab-press-duo":[`faslpdr`],pixel:[`fapr`],mosaic:[`fams`],vellum:[`favs`],whiteboard:[`fawsb`],thumbprint:[`fatl`],notdog:[`fans`],"notdog-duo":[`fands`],etch:[`faes`],graphite:[`fagt`],jelly:[`fajr`],"jelly-fill":[`fajfr`],"jelly-duo":[`fajdr`],chisel:[`facr`],utility:[`fausb`],"utility-duo":[`faudsb`],"utility-fill":[`faufsb`]},cD={classic:{fab:`fa-brands`,fad:`fa-duotone`,fal:`fa-light`,far:`fa-regular`,fas:`fa-solid`,fat:`fa-thin`},duotone:{fadr:`fa-regular`,fadl:`fa-light`,fadt:`fa-thin`},sharp:{fass:`fa-solid`,fasr:`fa-regular`,fasl:`fa-light`,fast:`fa-thin`},"sharp-duotone":{fasds:`fa-solid`,fasdr:`fa-regular`,fasdl:`fa-light`,fasdt:`fa-thin`},slab:{faslr:`fa-regular`},"slab-press":{faslpr:`fa-regular`},"slab-duo":{fasldr:`fa-regular`},"slab-press-duo":{faslpdr:`fa-regular`},pixel:{fapr:`fa-regular`},mosaic:{fams:`fa-solid`},vellum:{favs:`fa-solid`},whiteboard:{fawsb:`fa-semibold`},thumbprint:{fatl:`fa-light`},notdog:{fans:`fa-solid`},"notdog-duo":{fands:`fa-solid`},etch:{faes:`fa-solid`},graphite:{fagt:`fa-thin`},jelly:{fajr:`fa-regular`},"jelly-fill":{fajfr:`fa-regular`},"jelly-duo":{fajdr:`fa-regular`},chisel:{facr:`fa-regular`},utility:{fausb:`fa-semibold`},"utility-duo":{faudsb:`fa-semibold`},"utility-fill":{faufsb:`fa-semibold`}},lD=`fa.fas.far.fal.fat.fad.fadr.fadl.fadt.fab.fass.fasr.fasl.fast.fasds.fasdr.fasdl.fasdt.faslr.faslpr.fasldr.faslpdr.fapr.fams.favs.fawsb.fatl.fans.fands.faes.fagt.fajr.fajfr.fajdr.facr.fausb.faudsb.faufsb`.split(`.`).concat(aD,[`fa-solid`,`fa-regular`,`fa-light`,`fa-thin`,`fa-duotone`,`fa-brands`,`fa-semibold`]),uD=[`solid`,`regular`,`light`,`thin`,`duotone`,`brands`,`semibold`],dD=[1,2,3,4,5,6,7,8,9,10],fD=dD.concat([11,12,13,14,15,16,17,18,19,20]),pD=[].concat(DT(Object.keys(sD)),uD,[`aw`,`fw`,`pull-left`,`pull-right`],[`2xs`,`xs`,`sm`,`lg`,`xl`,`2xl`,`beat`,`beat-fade`,`border`,`bounce`,`buzz`,`canvas-square`,`canvas-roomy`,`fade`,`flip-360`,`flip-both`,`flip-horizontal`,`flip-vert
698ical`,`flip`,`float`,`inverse`,`jello`,`layers`,`layers-bottom-left`,`layers-bottom-right`,`layers-counter`,`layers-text`,`layers-top-left`,`layers-top-right`,`li`,`pull-end`,`pull-start`,`pulse`,`rotate-180`,`rotate-270`,`rotate-90`,`rotate-by`,`shake`,`spin-pulse`,`spin-reverse`,`spin`,`spin-snap`,`spin-snap-4`,`spin-snap-8`,`stack-1x`,`stack-2x`,`stack`,`swing`,`ul`,`wag`,`width-auto`,`width-fixed`,iD.GROUP,iD.SWAP_OPACITY,iD.PRIMARY,iD.SECONDARY],dD.map(function(e){return`${e}x`}),fD.map(function(e){return`w-${e}`})),mD={"Font Awesome 5 Free":{900:`fas`,400:`far`},"Font Awesome 5 Pro":{900:`fas`,400:`far`,normal:`far`,300:`fal`},"Font Awesome 5 Brands":{400:`fab`,normal:`fab`},"Font Awesome 5 Duotone":{900:`fad`}},hD=`___FONT_AWESOME___`,gD=16,_D=`fa`,vD=`svg-inline--fa`,yD=`data-fa-i2svg`,bD=`data-fa-pseudo-element`,xD=`data-fa-pseudo-element-pending`,SD=`data-prefix`,CD=`data-icon`,wD=`fontawesome-i2svg`,TD=`async`,ED=[`HTML`,`HEAD`,`STYLE`,`SCRIPT`],DD=[`::before`,`::after`,`:before`,`:after`],OD=function(){try{return!1}catch{return!1}}();function kD(e){return new Proxy(e,{get:function(e,t){return t in e?e[t]:e[ZT]}})}var AD=B({},JT);AD[ZT]=B(B(B(B({},{"fa-duotone":`duotone`}),JT[ZT]),ZE.kit),ZE[`kit-duotone`]);var jD=kD(AD),MD=B({},YE);MD[ZT]=B(B(B(B({},{duotone:`fad`}),MD[ZT]),nD.kit),nD[`kit-duotone`]);var ND=kD(MD),PD=B({},cD);PD[ZT]=B(B({},PD[ZT]),tD.kit);var FD=kD(PD),ID=B({},oD);ID[ZT]=B(B({},ID[ZT]),$E.kit),kD(ID);var LD=KT,RD=`fa-layers-text`,zD=qT;kD(B({},KE));var BD=[`class`,`data-prefix`,`data-icon`,`data-fa-transform`,`data-fa-mask`],VD=YT,HD=[].concat(DT(QE),DT(pD)),UD=zT.FontAwesomeConfig||{};function WD(e){var t=BT.querySelector(`script[`+e+`]`);if(t)return t.getAttribute(e)}function GD(e){return e===``?!0:e===`false`?!1:e===`true`||e}BT&&typeof BT.querySelector==`function`&&[[`data-family-prefix`,`familyPrefix`],[`data-css-prefix`,`cssPrefix`],[`data-family-default`,`familyDefault`],[`data-style-default`,`styleDefault`],[`data-replacement-class`,`replacementClass`],[`data-auto-replace-svg`,`autoReplaceSvg`],[`data-auto-add-css`,`autoAddCss`],[`data-search-pseudo-elements`,`searchPseudoElements`],[`data-search-pseudo-elements-warnings`,`searchPseudoElementsWarnings`],[`data-search-pseudo-elements-full-scan`,`searchPseudoElementsFullScan`],[`data-observe-mutations`,`observeMutations`],[`data-mutate-approach`,`mutateApproach`],[`data-keep-original-source`,`keepOriginalSource`],[`data-measure-performance`,`measurePerformance`],[`data-show-missing-icons`,`showMissingIcons`]].forEach(function(e){var t=ET(e,2),n=t[0],r=t[1],i=GD(WD(n));i!=null&&(UD[r]=i)});var KD={styleDefault:`solid`,familyDefault:ZT,cssPrefix:_D,replacementClass:vD,autoReplaceSvg:!0,autoAddCss:!0,searchPseudoElements:!1,searchPseudoElementsWarnings:!0,searchPseudoElementsFullScan:!1,observeMutations:!0,mutateApproach:`async`,keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};UD.familyPrefix&&(UD.cssPrefix=UD.familyPrefix);var qD=B(B({},KD),UD);qD.autoReplaceSvg||(qD.observeMutations=!1);var JD={};Object.keys(KD).forEach(function(e){Object.defineProperty(JD,e,{enumerable:!0,set:function(t){qD[e]=t,YD.forEach(function(e){return e(JD)})},get:function(){return qD[e]}})}),Object.defineProperty(JD,"familyPrefix",{enumerable:!0,set:function(e){qD.cssPrefix=e,YD.forEach(function(e){return e(JD)})},get:function(){return qD.cssPrefix}}),zT.FontAwesomeConfig=JD;var YD=[];function XD(e){return YD.push(e),function(){YD.splice(YD.indexOf(e),1)}}var ZD=gD,QD={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function $D(e){if(!(!e||!UT)){var t=BT.createElement(`style`);t.setAttribute(`type`,`text/css`),t.innerHTML=e;for(var n=BT.head.childNodes,r=null,i=n.length-1;i>-1;i--){var a=n[i],o=(a.tagName||``).toUpperCase();[`STYLE`,`LINK`].indexOf(o)>-1&&(r=a)}return BT.head.insertBefore(t,r),e}}var eO=`0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`;function tO(){for(var e=12,t=``;e-->0;)t+=eO[Math.random()*62|0];return t}function nO(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function rO(e){return e.classList?nO(e.classList):(e.getAttribute(`class`)||``).split(` `).filter(function(e){return e})}function iO(e){return`${e}`.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function aO(e){return Object.keys(e||{}).reduce(function(t,n){return t+`${n}="${iO(e[n])}" `},``).trim()}function oO(e){return Object.keys(e||{}).reduce(function(t,n){return t+`${n}: ${e[n].trim()};`},``)}function sO(e){return e.size!==QD.size||e.x!==QD.x||e.y!==QD.y||e.rotate!==QD.rotate||e.flipX||e.flipY}function cO(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth;return{outer:{transform:`translate(${n/2} 256)`},inner:{transform:`${`translate(${t.x*32}, ${t.y*32}) `} ${`scale(${t.size/16*(t.flipX?-1:1)}, ${t.size/16*(t.flipY?-1:1)}) `} ${`rotate(${t.rotate} 0 0)`}`},path:{transform:`translate(${r/2*-1} -256)`}}}function lO(e){var t=e.transform,n=e.width,r=n===void 0?gD:n,i=e.he
698ight,a=i===void 0?gD:i,o=e.startCentered,s=o!==void 0&&o,c=``;return c+=s&&WT?`translate(${t.x/ZD-r/2}em, ${t.y/ZD-a/2}em) `:s?`translate(calc(-50% + ${t.x/ZD}em), calc(-50% + ${t.y/ZD}em)) `:`translate(${t.x/ZD}em, ${t.y/ZD}em) `,c+=`scale(${t.size/ZD*(t.flipX?-1:1)}, ${t.size/ZD*(t.flipY?-1:1)}) `,c+=`rotate(${t.rotate}deg) `,c}var uO=
vendor: 33,236 bytes, lines 698-1771
698`:root, :host {
699  --fa-font-solid: normal 900 1em/1 'Font Awesome 7 Free';
700  --fa-font-regular: normal 400 1em/1 'Font Awesome 7 Free';
701  --fa-font-light: normal 300 1em/1 'Font Awesome 7 Pro';
702  --fa-font-thin: normal 100 1em/1 'Font Awesome 7 Pro';
703  --fa-font-duotone: normal 900 1em/1 'Font Awesome 7 Duotone';
704  --fa-font-duotone-regular: normal 400 1em/1 'Font Awesome 7 Duotone';
705  --fa-font-duotone-light: normal 300 1em/1 'Font Awesome 7 Duotone';
706  --fa-font-duotone-thin: normal 100 1em/1 'Font Awesome 7 Duotone';
707  --fa-font-brands: normal 400 1em/1 'Font Awesome 7 Brands';
708  --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 7 Sharp';
709  --fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 7 Sharp';
710  --fa-font-sharp-light: normal 300 1em/1 'Font Awesome 7 Sharp';
711  --fa-font-sharp-thin: normal 100 1em/1 'Font Awesome 7 Sharp';
712  --fa-font-sharp-duotone-solid: normal 900 1em/1 'Font Awesome 7 Sharp Duotone';
713  --fa-font-sharp-duotone-regular: normal 400 1em/1 'Font Awesome 7 Sharp Duotone';
714  --fa-font-sharp-duotone-light: normal 300 1em/1 'Font Awesome 7 Sharp Duotone';
715  --fa-font-sharp-duotone-thin: normal 100 1em/1 'Font Awesome 7 Sharp Duotone';
716  --fa-font-slab-regular: normal 400 1em/1 'Font Awesome 7 Slab';
717  --fa-font-slab-press-regular: normal 400 1em/1 'Font Awesome 7 Slab Press';
718  --fa-font-slab-duo-regular: normal 400 1em/1 'Font Awesome 7 Slab Duo';
719  --fa-font-slab-press-duo-regular: normal 400 1em/1 'Font Awesome 7 Slab Press Duo';
720  --fa-font-pixel-regular: normal 400 1em/1 'Font Awesome 7 Pixel';
721  --fa-font-mosaic-solid: normal 900 1em/1 'Font Awesome 7 Mosaic';
722  --fa-font-vellum-solid: normal 900 1em/1 'Font Awesome 7 Vellum';
723  --fa-font-whiteboard-semibold: normal 600 1em/1 'Font Awesome 7 Whiteboard';
724  --fa-font-thumbprint-light: normal 300 1em/1 'Font Awesome 7 Thumbprint';
725  --fa-font-notdog-solid: normal 900 1em/1 'Font Awesome 7 Notdog';
726  --fa-font-notdog-duo-solid: normal 900 1em/1 'Font Awesome 7 Notdog Duo';
727  --fa-font-etch-solid: normal 900 1em/1 'Font Awesome 7 Etch';
728  --fa-font-graphite-thin: normal 100 1em/1 'Font Awesome 7 Graphite';
729  --fa-font-jelly-regular: normal 400 1em/1 'Font Awesome 7 Jelly';
730  --fa-font-jelly-fill-regular: normal 400 1em/1 'Font Awesome 7 Jelly Fill';
731  --fa-font-jelly-duo-regular: normal 400 1em/1 'Font Awesome 7 Jelly Duo';
732  --fa-font-chisel-regular: normal 400 1em/1 'Font Awesome 7 Chisel';
733  --fa-font-utility-semibold: normal 600 1em/1 'Font Awesome 7 Utility';
734  --fa-font-utility-duo-semibold: normal 600 1em/1 'Font Awesome 7 Utility Duo';
735  --fa-font-utility-fill-semibold: normal 600 1em/1 'Font Awesome 7 Utility Fill';
736}
737
738.svg-inline--fa {
739  box-sizing: content-box;
740  display: var(--fa-display, inline-block);
741  height: 1em;
742  overflow: visible;
743  vertical-align: -0.125em;
744  width: var(--fa-width, 1.25em);
745}
746.svg-inline--fa.fa-2xs {
747  vertical-align: 0.1em;
748}
749.svg-inline--fa.fa-xs {
750  vertical-align: 0em;
751}
752.svg-inline--fa.fa-sm {
753  vertical-align: -0.0714285714em;
754}
755.svg-inline--fa.fa-lg {
756  vertical-align: -0.2em;
757}
758.svg-inline--fa.fa-xl {
759  vertical-align: -0.25em;
760}
761.svg-inline--fa.fa-2xl {
762  vertical-align: -0.3125em;
763}
764.svg-inline--fa.fa-pull-left,
765.svg-inline--fa .fa-pull-start {
766  float: inline-start;
767  margin-inline-end: var(--fa-pull-margin, 0.3em);
768}
769.svg-inline--fa.fa-pull-right,
770.svg-inline--fa .fa-pull-end {
771  float: inline-end;
772  margin-inline-start: var(--fa-pull-margin, 0.3em);
773}
774.svg-inline--fa.fa-li {
775  width: var(--fa-li-width, 2em);
776  inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
777  inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */
778}
779
780.fa-layers-counter, .fa-layers-text {
781  display: inline-block;
782  position: absolute;
783  text-align: center;
784}
785
786.fa-layers {
787  display: inline-block;
788  height: 1em;
789  position: relative;
790  text-align: center;
791  vertical-align: -0.125em;
792  width: var(--fa-width, 1.25em);
793}
794.fa-layers .svg-inline--fa {
795  inset: 0;
796  margin: auto;
797  position: absolute;
798  transform-origin: center center;
799}
800
801.fa-layers-text {
802  left: 50%;
803  top: 50%;
804  transform: translate(-50%, -50%);
805  transform-origin: center center;
806}
807
808.fa-layers-counter {
809  background-color: var(--fa-counter-background-color, #ff253a);
810  border-radius: var(--fa-counter-border-radius, 1em);
811  box-sizing: border-box;
812  color: var(--fa-inverse, #fff);
813  line-height: var(--fa-counter-line-height, 1);
814  max-width: var(--fa-counter-max-width, 5em);
815  min-width: var(--fa-counter-min-width, 1.5em);
816  overflow: hidden;
817  padding: var(--fa-counter-padding, 0.25em 0.5em);
818  right: var(--fa-right, 0);
819  text-overflow: ellipsis;
820  top: var(--fa-top, 0);
821  transform: scale(var(--fa-counter-scale, 0.25));
822  transform-origin: top right;
823}
824
825.fa-layers-bottom-right {
826  bottom: var(--fa-bottom, 0);
827  right: var(--fa-right, 0);
828  top: auto;
829  transform: scale(var(--fa-layers-scale, 0.25));
830  transform-origin: bottom right;
831}
832
833.fa-layers-bottom-left {
834  bottom: var(--fa-bottom, 0);
835  left: var(--fa-left, 0);
836  right: auto;
837  top: auto;
838  transform: scale(var(--fa-layers-scale, 0.25));
839  transform-origin: bottom left;
840}
841
842.fa-layers-top-right {
843  top: var(--fa-top, 0);
844  right: var(--fa-right, 0);
845  transform: scale(var(--fa-layers-scale, 0.25));
846  transform-origin: top right;
847}
848
849.fa-layers-top-left {
850  left: var(--fa-left, 0);
851  right: auto;
852  top: var(--fa-top, 0);
853  transform: scale(var(--fa-layers-scale, 0.25));
854  transform-origin: top left;
855}
856
857.fa-1x {
858  font-size: 1em;
859}
860
861.fa-2x {
862  font-size: 2em;
863}
864
865.fa-3x {
866  font-size: 3em;
867}
868
869.fa-4x {
870  font-size: 4em;
871}
872
873.fa-5x {
874  font-size: 5em;
875}
876
877.fa-6x {
878  font-size: 6em;
879}
880
881.fa-7x {
882  font-size: 7em;
883}
884
885.fa-8x {
886  font-size: 8em;
887}
888
889.fa-9x {
890  font-size: 9em;
891}
892
893.fa-10x {
894  font-size: 10em;
895}
896
897.fa-2xs {
898  font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */
899  line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */
900  vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
901}
902
903.fa-xs {
904  font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */
905  line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */
906  vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
907}
908
909.fa-sm {
910  font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */
911  line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */
912  vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
913}
914
915.fa-lg {
916  font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */
917  line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */
918  vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
919}
920
921.fa-xl {
922  font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */
923  line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */
924  vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
925}
926
927.fa-2xl {
928  font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */
929  line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */
930  vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */
931}
932
933.fa-width-auto {
934  --fa-width: auto;
935}
936
937.fa-fw,
938.fa-width-fixed {
939  --fa-width: 1.25em;
940}
941
942.fa-canvas-square {
943  padding-block: 0.125em;
944  margin-block-end: -0.125em;
945}
946
947.fa-canvas-roomy {
948  padding-block: 0.25em;
949  padding-inline: 0.125em;
950  margin-block-end: -0.25em;
951  box-sizing: content-box;
952}
953
954.fa-ul {
955  list-style-type: none;
956  margin-inline-start: var(--fa-li-margin, 2.5em);
957  padding-inline-start: 0;
958}
959.fa-ul > li {
960  position: relative;
961}
962
963.fa-li {
964  inset-inline-start: calc(-1 * var(--fa-li-width, 2em));
965  position: absolute;
966  text-align: center;
967  width: var(--fa-li-width, 2em);
968  line-height: inherit;
969}
970
971/* Heads Up: Bordered Icons will not be supported in the future!
972  - This feature will be deprecated in the next major release of Font Awesome (v8)!
973  - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8.
974*/
975/* Notes:
976* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size)
977* --@{v.$css-prefix}-border-padding =
978  ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment)
979  ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon)
980*/
981.fa-border {
982  border-color: var(--fa-border-color, #eee);
983  border-radius: var(--fa-border-radius, 0.1em);
984  border-style: var(--fa-border-style, solid);
985  border-width: var(--fa-border-width, 0.0625em);
986  box-sizing: var(--fa-border-box-sizing, content-box);
987  padding: var(--fa-border-padding, 0.1875em 0.25em);
988}
989
990.fa-pull-left,
991.fa-pull-start {
992  float: inline-start;
993  margin-inline-end: var(--fa-pull-margin, 0.3em);
994}
995
996.fa-pull-right,
997.fa-pull-end {
998  float: inline-end;
999  margin-inline-start: var(--fa-pull-margin, 0.3em);
1000}
1001
1002.fa-beat {
1003  animation-name: fa-beat;
1004  animation-delay: var(--fa-animation-delay, 0s);
1005  animation-direction: var(--fa-animation-direction, normal);
1006  animation-duration: var(--fa-animation-duration, 1s);
1007  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1008  animation-timing-function: var(--fa-animation-timing, ease-in-out);
1009}
1010
1011.fa-bounce {
1012  animation-name: fa-bounce;
1013  animation-delay: var(--fa-animation-delay, 0s);
1014  animation-direction: var(--fa-animation-direction, normal);
1015  animation-duration: var(--fa-animation-duration, 1s);
1016  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1017  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
1018}
1019
1020.fa-fade {
1021  animation-name: fa-fade;
1022  animation-delay: var(--fa-animation-delay, 0s);
1023  animation-direction: var(--fa-animation-direction, normal);
1024  animation-duration: var(--fa-animation-duration, 1s);
1025  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1026  animation-timing-function: var(--fa-animation-timing, ease-in-out);
1027}
1028
1029.fa-beat-fade {
1030  animation-name: fa-beat-fade;
1031  animation-delay: var(--fa-animation-delay, 0s);
1032  animation-direction: var(--fa-animation-direction, normal);
1033  animation-duration: var(--fa-animation-duration, 1s);
1034  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1035  animation-timing-function: var(--fa-animation-timing, ease-in-out);
1036}
1037
1038.fa-flip {
1039  animation-name: fa-flip;
1040  animation-delay: var(--fa-animation-delay, 0s);
1041  animation-direction: var(--fa-animation-direction, normal);
1042  animation-duration: var(--fa-animation-duration, 1.5s);
1043  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1044  animation-timing-function: var(--fa-animation-timing, ease-in-out);
1045}
1046
1047.fa-flip-360 {
1048  animation-name: fa-flip-360;
1049  animation-delay: var(--fa-animation-delay, 0s);
1050  animation-direction: var(--fa-animation-direction, normal);
1051  animation-duration: var(--fa-animation-duration, 1s);
1052  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1053  animation-timing-function: var(--fa-animation-timing, ease-in-out);
1054}
1055
1056.fa-shake {
1057  animation-name: fa-shake;
1058  animation-delay: var(--fa-animation-delay, 0s);
1059  animation-direction: var(--fa-animation-direction, normal);
1060  animation-duration: var(--fa-animation-duration, 0.75s);
1061  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1062  animation-timing-function: var(--fa-animation-timing, ease-in-out);
1063}
1064
1065.fa-spin {
1066  animation-name: fa-spin;
1067  animation-delay: var(--fa-animation-delay, 0s);
1068  animation-direction: var(--fa-animation-direction, normal);
1069  animation-duration: var(--fa-animation-duration, 2s);
1070  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1071  animation-timing-function: var(--fa-animation-timing, linear);
1072}
1073
1074.fa-spin-reverse {
1075  --fa-animation-direction: reverse;
1076}
1077
1078.fa-pulse,
1079.fa-spin-pulse {
1080  animation-name: fa-spin;
1081  animation-direction: var(--fa-animation-direction, normal);
1082  animation-duration: var(--fa-animation-duration, 1s);
1083  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1084  animation-timing-function: var(--fa-animation-timing, steps(8));
1085}
1086
1087.fa-spin-snap {
1088  animation-name: fa-spin-snap;
1089  animation-delay: var(--fa-animation-delay, 0s);
1090  animation-direction: var(--fa-animation-direction, normal);
1091  animation-duration: var(--fa-animation-duration, 3s);
1092  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1093  animation-timing-function: var(--fa-animation-timing, linear);
1094}
1095
1096.fa-spin-snap-4 {
1097  animation-name: fa-spin-snap-4;
1098  animation-delay: var(--fa-animation-delay, 0s);
1099  animation-direction: var(--fa-animation-direction, normal);
1100  animation-duration: var(--fa-animation-duration, 2.4s);
1101  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1102  animation-timing-function: var(--fa-animation-timing, linear);
1103}
1104
1105.fa-spin-snap-8 {
1106  animation-name: fa-spin-snap-8;
1107  animation-delay: var(--fa-animation-delay, 0s);
1108  animation-direction: var(--fa-animation-direction, normal);
1109  animation-duration: var(--fa-animation-duration, 4s);
1110  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1111  animation-timing-function: var(--fa-animation-timing, linear);
1112}
1113
1114.fa-buzz {
1115  animation-name: fa-buzz;
1116  animation-delay: var(--fa-animation-delay, 0s);
1117  animation-direction: var(--fa-animation-direction, normal);
1118  animation-duration: var(--fa-animation-duration, 0.6s);
1119  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1120  animation-timing-function: var(--fa-animation-timing, linear);
1121}
1122
1123.fa-wag {
1124  animation-name: fa-wag;
1125  animation-delay: var(--fa-animation-delay, 0s);
1126  animation-direction: var(--fa-animation-direction, normal);
1127  animation-duration: var(--fa-animation-duration, 0.9s);
1128  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1129  animation-timing-function: var(--fa-animation-timing, ease-out);
1130  transform-origin: bottom center;
1131}
1132
1133.fa-float {
1134  animation-name: fa-float;
1135  animation-delay: var(--fa-animation-delay, 0s);
1136  animation-direction: var(--fa-animation-direction, normal);
1137  animation-duration: var(--fa-animation-duration, 3s);
1138  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1139  animation-timing-function: var(--fa-animation-timing, ease-in-out);
1140  will-change: transform;
1141}
1142
1143.fa-swing {
1144  animation-name: fa-swing;
1145  animation-delay: var(--fa-animation-delay, 0s);
1146  animation-direction: var(--fa-animation-direction, normal);
1147  animation-duration: var(--fa-animation-duration, 1.2s);
1148  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1149  animation-timing-function: var(--fa-animation-timing, ease-out);
1150  transform-origin: top center;
1151}
1152
1153.fa-jello {
1154  animation-name: fa-jello;
1155  animation-delay: var(--fa-animation-delay, 0s);
1156  animation-direction: var(--fa-animation-direction, normal);
1157  animation-duration: var(--fa-animation-duration, 0.9s);
1158  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
1159  animation-timing-function: var(--fa-animation-timing, ease-out);
1160}
1161
1162@media (prefers-reduced-motion: reduce) {
1163  .fa-beat,
1164  .fa-bounce,
1165  .fa-fade,
1166  .fa-beat-fade,
1167  .fa-flip,
1168  .fa-flip-360,
1169  .fa-pulse,
1170  .fa-shake,
1171  .fa-spin,
1172  .fa-spin-pulse,
1173  .fa-buzz,
1174  .fa-float,
1175  .fa-jello,
1176  .fa-spin-snap,
1177  .fa-spin-snap-4,
1178  .fa-spin-snap-8,
1179  .fa-swing,
1180  .fa-wag {
1181    animation: none !important;
1182    transition: none !important;
1183  }
1184}
1185@keyframes fa-beat {
1186  0% {
1187    transform: scale(1);
1188  }
1189  25% {
1190    transform: scale(calc(1.25 * var(--fa-beat-scale, 1.25)));
1191  }
1192  45% {
1193    transform: scale(calc(1.22 * var(--fa-beat-scale, 1.22)));
1194  }
1195  65% {
1196    transform: scale(calc(1.25 * var(--fa-beat-scale, 1.25)));
1197  }
1198  90% {
1199    transform: scale(1);
1200  }
1201}
1202@keyframes fa-bounce {
1203  0% {
1204    transform: scale(1, 1) translateY(0);
1205    animation-timing-function: var(--fa-animation-timing);
1206  }
1207  14% {
1208    transform: scale(var(--fa-bounce-start-scale-x, 1.06), var(--fa-bounce-start-scale-y, 0.94)) translateY(var(--fa-bounce-anticipation, 3px));
1209    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33);
1210  }
1211  32% {
1212    transform: scale(var(--fa-bounce-jump-scale-x, 0.94), var(--fa-bounce-jump-scale-y, 1.12)) translateY(calc(-1 * var(--fa-bounce-height, 0.5em)));
1213    animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1);
1214  }
1215  52% {
1216    transform: scale(1, 1) translateY(calc(-1 * var(--fa-bounce-height, 0.5em) * 1.1));
1217    animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5);
1218  }
1219  70% {
1220    transform: scale(var(--fa-bounce-land-scale-x, 1.06), var(--fa-bounce-land-scale-y, 0.92)) translateY(0);
1221    animation-timing-function: cubic-bezier(0.33, 0.33, 0.66, 1);
1222  }
1223  85% {
1224    transform: scale(0.98, 1.04) translateY(calc(-2px * var(--fa-bounce-rebound, 1)));
1225    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1);
1226  }
1227  100% {
1228    transform: scale(1, 1) translateY(0);
1229  }
1230}
1231@keyframes fa-fade {
1232  0% {
1233    opacity: 1;
1234    transform: scale(1);
1235    animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1);
1236  }
1237  40% {
1238    opacity: var(--fa-fade-opacity, 0.4);
1239    transform: scale(0.98);
1240    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1241  }
1242  100% {
1243    opacity: 1;
1244    transform: scale(1);
1245  }
1246}
1247@keyframes fa-beat-fade {
1248  0% {
1249    opacity: var(--fa-beat-fade-opacity, 0.4);
1250    transform: scale(1);
1251    animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1);
1252  }
1253  25% {
1254    opacity: calc(var(--fa-beat-fade-opacity, 0.4) + 0.4);
1255    transform: scale(var(--fa-beat-fade-scale, 1.28));
1256    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1257  }
1258  45% {
1259    opacity: 1;
1260    transform: scale(var(--fa-beat-fade-scale, 1.25));
1261    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1262  }
1263  65% {
1264    opacity: calc(var(--fa-beat-fade-opacity, 0.4) + 0.4);
1265    transform: scale(var(--fa-beat-fade-scale, 1.28));
1266    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1267  }
1268  100% {
1269    opacity: var(--fa-beat-fade-opacity, 0.4);
1270    transform: scale(1);
1271  }
1272}
1273@keyframes fa-flip {
1274  0% {
1275    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg);
1276    animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1);
1277  }
1278  8% {
1279    transform: perspective(2em) scale(var(--fa-flip-anticipation-scale, 0.95)) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg);
1280    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33);
1281  }
1282  35% {
1283    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.6));
1284    animation-timing-function: linear;
1285  }
1286  65% {
1287    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.5));
1288    animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1);
1289  }
1290  92% {
1291    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04)));
1292    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1);
1293  }
1294  100% {
1295    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -360deg));
1296  }
1297}
1298@keyframes fa-flip-360 {
1299  0% {
1300    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg);
1301    animation-timing-function: cubic-bezier(0.2, 0, 0.4, 1);
1302  }
1303  8% {
1304    transform: perspective(2em) scale(var(--fa-flip-anticipation-scale, 0.95)) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), 0deg);
1305    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33);
1306  }
1307  50% {
1308    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * 0.6));
1309    animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1);
1310  }
1311  80% {
1312    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), calc(var(--fa-flip-angle, -360deg) * var(--fa-flip-overshoot, 1.04)));
1313    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1);
1314  }
1315  100% {
1316    transform: perspective(2em) scale(1) rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -360deg));
1317  }
1318}
1319@keyframes fa-shake {
1320  0% {
1321    transform: rotate(0deg);
1322    animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1);
1323  }
1324  8% {
1325    transform: rotate(35deg) translateX(1px);
1326    animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1);
1327  }
1328  20% {
1329    transform: rotate(-22deg) translateX(-1px);
1330    animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1);
1331  }
1332  35% {
1333    transform: rotate(15deg) translateX(1px);
1334    animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1);
1335  }
1336  50% {
1337    transform: rotate(-9deg);
1338    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1339  }
1340  65% {
1341    transform: rotate(5deg);
1342    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1343  }
1344  78% {
1345    transform: rotate(-3deg);
1346    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1347  }
1348  90% {
1349    transform: rotate(1deg);
1350    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1351  }
1352  100% {
1353    transform: rotate(0deg);
1354  }
1355}
1356@keyframes fa-spin {
1357  0% {
1358    transform: rotate(0deg);
1359  }
1360  100% {
1361    transform: rotate(360deg);
1362  }
1363}
1364@keyframes fa-spin-snap {
1365  0% {
1366    transform: rotate(0deg);
1367    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1368  }
1369  12% {
1370    transform: rotate(60deg);
1371    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1372  }
1373  16.67% {
1374    transform: rotate(60deg);
1375    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1376  }
1377  28.67% {
1378    transform: rotate(120deg);
1379    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1380  }
1381  33.33% {
1382    transform: rotate(120deg);
1383    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1384  }
1385  45.33% {
1386    transform: rotate(180deg);
1387    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1388  }
1389  50% {
1390    transform: rotate(180deg);
1391    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1392  }
1393  62% {
1394    transform: rotate(240deg);
1395    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1396  }
1397  66.67% {
1398    transform: rotate(240deg);
1399    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1400  }
1401  78.67% {
1402    transform: rotate(300deg);
1403    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1404  }
1405  83.33% {
1406    transform: rotate(300deg);
1407    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1408  }
1409  95.33% {
1410    transform: rotate(360deg);
1411    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1412  }
1413  100% {
1414    transform: rotate(360deg);
1415  }
1416}
1417@keyframes fa-spin-snap-4 {
1418  0% {
1419    transform: rotate(0deg);
1420    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1421  }
1422  15% {
1423    transform: rotate(90deg);
1424    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1425  }
1426  25% {
1427    transform: rotate(90deg);
1428    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1429  }
1430  40% {
1431    transform: rotate(180deg);
1432    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1433  }
1434  50% {
1435    transform: rotate(180deg);
1436    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1437  }
1438  65% {
1439    transform: rotate(270deg);
1440    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1441  }
1442  75% {
1443    transform: rotate(270deg);
1444    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1445  }
1446  90% {
1447    transform: rotate(360deg);
1448    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1449  }
1450  100% {
1451    transform: rotate(360deg);
1452  }
1453}
1454@keyframes fa-spin-snap-8 {
1455  0% {
1456    transform: rotate(0deg);
1457    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1458  }
1459  9% {
1460    transform: rotate(45deg);
1461    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1462  }
1463  12.5% {
1464    transform: rotate(45deg);
1465    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1466  }
1467  21.5% {
1468    transform: rotate(90deg);
1469    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1470  }
1471  25% {
1472    transform: rotate(90deg);
1473    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1474  }
1475  34% {
1476    transform: rotate(135deg);
1477    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1478  }
1479  37.5% {
1480    transform: rotate(135deg);
1481    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1482  }
1483  46.5% {
1484    transform: rotate(180deg);
1485    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1486  }
1487  50% {
1488    transform: rotate(180deg);
1489    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1490  }
1491  59% {
1492    transform: rotate(225deg);
1493    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1494  }
1495  62.5% {
1496    transform: rotate(225deg);
1497    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1498  }
1499  71.5% {
1500    transform: rotate(270deg);
1501    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1502  }
1503  75% {
1504    transform: rotate(270deg);
1505    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1506  }
1507  84% {
1508    transform: rotate(315deg);
1509    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1510  }
1511  87.5% {
1512    transform: rotate(315deg);
1513    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
1514  }
1515  96.5% {
1516    transform: rotate(360deg);
1517    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
1518  }
1519  100% {
1520    transform: rotate(360deg);
1521  }
1522}
1523@keyframes fa-buzz {
1524  0% {
1525    transform: translateX(0) rotate(0deg);
1526    animation-timing-function: cubic-bezier(0.1, 0, 0.9, 1);
1527  }
1528  5% {
1529    transform: translateX(var(--fa-buzz-distance, 4px)) rotate(0.5deg);
1530  }
1531  10% {
1532    transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-0.5deg);
1533  }
1534  15% {
1535    transform: translateX(var(--fa-buzz-distance, 4px)) rotate(0.3deg);
1536  }
1537  20% {
1538    transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px))) rotate(-0.3deg);
1539  }
1540  25% {
1541    transform: translateX(calc(var(--fa-buzz-distance, 4px) * 0.7)) rotate(0.2deg);
1542  }
1543  30% {
1544    transform: translateX(calc(-1 * var(--fa-buzz-distance, 4px) * 0.7)) rotate(-0.2deg);
1545  }
1546  35% {
1547    transform: translateX(calc(var(--fa-buzz-distance, 4px) * 0.4)) rotate(0.1deg);
1548  }
1549  40% {
1550    transform: translateX(0) rotate(0deg);
1551  }
1552  100% {
1553    transform: translateX(0) rotate(0deg);
1554  }
1555}
1556@keyframes fa-wag {
1557  0% {
1558    transform: rotate(0deg);
1559    animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1);
1560  }
1561  12% {
1562    transform: rotate(var(--fa-wag-angle, 12deg));
1563    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1564  }
1565  24% {
1566    transform: rotate(2deg);
1567    animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1);
1568  }
1569  36% {
1570    transform: rotate(calc(var(--fa-wag-angle, 12deg) * 0.85));
1571    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1572  }
1573  48% {
1574    transform: rotate(1deg);
1575    animation-timing-function: cubic-bezier(0.2, 0, 0.6, 1);
1576  }
1577  58% {
1578    transform: rotate(calc(var(--fa-wag-angle, 12deg) * 0.6));
1579    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1580  }
1581  68% {
1582    transform: rotate(0deg);
1583  }
1584  100% {
1585    transform: rotate(0deg);
1586  }
1587}
1588@keyframes fa-float {
1589  0% {
1590    transform: translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98));
1591    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33);
1592  }
1593  15% {
1594    transform: translateY(calc(-0.4 * var(--fa-float-height, 6px))) translateX(var(--fa-float-drift, 1px)) rotate(var(--fa-float-tilt, 1deg)) scale(1, 1);
1595    animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1);
1596  }
1597  35% {
1598    transform: translateY(calc(-1 * var(--fa-float-height, 6px))) translateX(0) rotate(0deg) scale(var(--fa-float-stretch-x, 0.98), var(--fa-float-stretch-y, 1.03));
1599    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 0);
1600  }
1601  50% {
1602    transform: translateY(calc(-0.92 * var(--fa-float-height, 6px))) translateX(calc(-0.5 * var(--fa-float-drift, 1px))) rotate(calc(-0.5 * var(--fa-float-tilt, 1deg))) scale(0.995, 1.01);
1603    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33);
1604  }
1605  70% {
1606    transform: translateY(calc(-0.3 * var(--fa-float-height, 6px))) translateX(calc(-1 * var(--fa-float-drift, 1px))) rotate(calc(-1 * var(--fa-float-tilt, 1deg))) scale(1, 1);
1607    animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1);
1608  }
1609  90% {
1610    transform: translateY(calc(0.05 * var(--fa-float-height, 6px))) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98));
1611    animation-timing-function: cubic-bezier(0.33, 0, 0.66, 1);
1612  }
1613  100% {
1614    transform: translateY(0) translateX(0) rotate(0deg) scale(var(--fa-float-squash-x, 1.02), var(--fa-float-squash-y, 0.98));
1615  }
1616}
1617@keyframes fa-swing {
1618  0% {
1619    transform: rotate(0deg);
1620    animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1);
1621  }
1622  8% {
1623    transform: rotate(var(--fa-swing-angle, 22deg));
1624    animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1);
1625  }
1626  18% {
1627    transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.85));
1628    animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1);
1629  }
1630  28% {
1631    transform: rotate(calc(var(--fa-swing-angle, 22deg) * 0.65));
1632    animation-timing-function: cubic-bezier(0.35, 0, 0.65, 1);
1633  }
1634  38% {
1635    transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.45));
1636    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1637  }
1638  48% {
1639    transform: rotate(calc(var(--fa-swing-angle, 22deg) * 0.25));
1640    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1641  }
1642  56% {
1643    transform: rotate(calc(-1 * var(--fa-swing-angle, 22deg) * 0.1));
1644    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1645  }
1646  64% {
1647    transform: rotate(0deg);
1648  }
1649  100% {
1650    transform: rotate(0deg);
1651  }
1652}
1653@keyframes fa-jello {
1654  0% {
1655    transform: scale(1, 1);
1656    animation-timing-function: cubic-bezier(0.2, 0, 0.8, 1);
1657  }
1658  12% {
1659    transform: scale(var(--fa-jello-scale-x, 1.15), calc(2 - var(--fa-jello-scale-x, 1.15)));
1660    animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1);
1661  }
1662  24% {
1663    transform: scale(calc(2 - var(--fa-jello-scale-y, 1.12)), var(--fa-jello-scale-y, 1.12));
1664    animation-timing-function: cubic-bezier(0.3, 0, 0.7, 1);
1665  }
1666  36% {
1667    transform: scale(calc(1 + (var(--fa-jello-scale-x, 1.15) - 1) * 0.5), calc(2 - (1 + (var(--fa-jello-scale-x, 1.15) - 1) * 0.5)));
1668    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1669  }
1670  48% {
1671    transform: scale(calc(2 - (1 + (var(--fa-jello-scale-y, 1.12) - 1) * 0.3)), calc(1 + (var(--fa-jello-scale-y, 1.12) - 1) * 0.3));
1672    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
1673  }
1674  58% {
1675    transform: scale(1.02, 0.98);
1676    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1677  }
1678  68% {
1679    transform: scale(1, 1);
1680  }
1681  100% {
1682    transform: scale(1, 1);
1683  }
1684}
1685.fa-rotate-90 {
1686  transform: rotate(90deg);
1687}
1688
1689.fa-rotate-180 {
1690  transform: rotate(180deg);
1691}
1692
1693.fa-rotate-270 {
1694  transform: rotate(270deg);
1695}
1696
1697.fa-flip-horizontal {
1698  transform: scale(-1, 1);
1699}
1700
1701.fa-flip-vertical {
1702  transform: scale(1, -1);
1703}
1704
1705.fa-flip-both,
1706.fa-flip-horizontal.fa-flip-vertical {
1707  transform: scale(-1, -1);
1708}
1709
1710.fa-rotate-by {
1711  transform: rotate(var(--fa-rotate-angle, 0));
1712}
1713
1714.svg-inline--fa .fa-primary {
1715  fill: var(--fa-primary-color, currentColor);
1716  opacity: var(--fa-primary-opacity, 1);
1717}
1718
1719.svg-inline--fa .fa-secondary {
1720  fill: var(--fa-secondary-color, currentColor);
1721  opacity: var(--fa-secondary-opacity, 0.4);
1722}
1723
1724.svg-inline--fa.fa-swap-opacity .fa-primary {
1725  opacity: var(--fa-secondary-opacity, 0.4);
1726}
1727
1728.svg-inline--fa.fa-swap-opacity .fa-secondary {
1729  opacity: var(--fa-primary-opacity, 1);
1730}
1731
1732.svg-inline--fa mask .fa-primary,
1733.svg-inline--fa mask .fa-secondary {
1734  fill: black;
1735}
1736
1737.svg-inline--fa.fa-inverse {
1738  fill: var(--fa-inverse, #fff);
1739}
1740
1741.fa-stack {
1742  display: inline-block;
1743  height: 2em;
1744  line-height: 2em;
1745  position: relative;
1746  vertical-align: middle;
1747  width: 2.5em;
1748}
1749
1750.fa-inverse {
1751  color: var(--fa-inverse, #fff);
1752}
1753
1754.svg-inline--fa.fa-stack-1x {
1755  --fa-width: 1.25em;
1756  height: 1em;
1757  width: var(--fa-width);
1758}
1759.svg-inline--fa.fa-stack-2x {
1760  --fa-width: 2.5em;
1761  height: 2em;
1762  width: var(--fa-width);
1763}
1764
1765.fa-stack-1x,
1766.fa-stack-2x {
1767  inset: 0;
1768  margin: auto;
1769  position: absolute;
1770  z-index: var(--fa-stack-z-index, auto);
1771}`;
1771function dO(){var e=_D,t=vD,n=JD.cssPrefix,r=JD.replacementClass,i=uO;if(n!==e||r!==t){var a=RegExp(`\\.${e}\\-`,`g`),o=RegExp(`\\--${e}\\-`,`g`),s=RegExp(`\\.${t}`,`g`);i=i.replace(a,`.${n}-`).replace(o,`--${n}-`).replace(s,`.${r}`)}return i}var fO=!1;function pO(){JD.autoAddCss&&!fO&&($D(dO()),fO=!0)}var mO={mixout:function(){return{dom:{css:dO,insertCss:pO}}},hooks:function(){return{beforeDOMElementCreation:function(){pO()},beforeI2svg:function(){pO()}}}},hO=zT||{};hO[hD]||(hO[hD]={}),hO[hD].styles||(hO[hD].styles={}),hO[hD].hooks||(hO[hD].hooks={}),hO[hD].shims||(hO[hD].shims=[]);var gO=hO[hD],_O=[],vO=function(){BT.removeEventListener(`DOMContentLoaded`,vO),yO=1,_O.map(function(e){return e()})},yO=!1;UT&&(yO=(BT.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(BT.readyState),yO||BT.addEventListener(`DOMContentLoaded`,vO));function bO(e){UT&&(yO?setTimeout(e,0):_O.push(e))}function xO(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e==`string`?iO(e):`<${t} ${aO(r)}>${a.map(xO).join(``)}</${t}>`}function SO(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var CO=function(e,t){return function(n,r,i,a){return e.call(t,n,r,i,a)}},wO=function(e,t,n,r){var i=Object.keys(e),a=i.length,o=r===void 0?t:CO(t,r),s,c,l;for(n===void 0?(s=1,l=e[i[0]]):(s=0,l=n);s<a;s++)c=i[s],l=o(l,e[c],c,e);return l};function TO(e){return DT(e).length===1?e.codePointAt(0).toString(16):null}function EO(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return r.icon?t[r.iconName]=r.icon:t[n]=r,t},{})}function DO(e,t){var n=(arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}).skipHooks,r=n!==void 0&&n,i=EO(t);typeof gO.hooks.addPack==`function`&&!r?gO.hooks.addPack(e,EO(t)):gO.styles[e]=B(B({},gO.styles[e]||{}),i),e===`fas`&&DO(`fa`,t)}var OO=gO.styles,kO=gO.shims,AO=Object.keys(FD),jO=AO.reduce(function(e,t){return e[t]=Object.keys(FD[t]),e},{}),MO=null,NO={},PO={},FO={},IO={},LO={};function RO(e){return~HD.indexOf(e)}function zO(e,t){var n=t.split(`-`),r=n[0],i=n.slice(1).join(`-`);return r===e&&i!==``&&!RO(i)?i:null}var BO=function(){var e=function(e){return wO(OO,function(t,n,r){return t[r]=wO(n,e,{}),t},{})};NO=e(function(e,t,n){return t[3]&&(e[t[3]]=n),t[2]&&t[2].filter(function(e){return typeof e==`number`}).forEach(function(t){e[t.toString(16)]=n}),e}),PO=e(function(e,t,n){return e[n]=n,t[2]&&t[2].filter(function(e){return typeof e==`string`}
1771).forEach(function(t){e[t]=n}),e}),LO=e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t=`far`in OO||JD.autoFetchSvg,n=wO(kO,function(e,n){var r=n[0],i=n[1],a=n[2];return i===`far`&&!t&&(i=`fas`),typeof r==`string`&&(e.names[r]={prefix:i,iconName:a}),typeof r==`number`&&(e.unicodes[r.toString(16)]={prefix:i,iconName:a}),e},{names:{},unicodes:{}});FO=n.names,IO=n.unicodes,MO=YO(JD.styleDefault,{family:JD.familyDefault})};XD(function(e){MO=YO(e.styleDefault,{family:JD.familyDefault})}),BO();function VO(e,t){return(NO[e]||{})[t]}function HO(e,t){return(PO[e]||{})[t]}function UO(e,t){return(LO[e]||{})[t]}function WO(e){return FO[e]||{prefix:null,iconName:null}}function GO(e){var t=IO[e],n=VO(`fas`,e);return t||(n?{prefix:`fas`,iconName:n}:null)||{prefix:null,iconName:null}}function KO(){return MO}var qO=function(){return{prefix:null,iconName:null,rest:[]}};function JO(e){var t=ZT,n=AO.reduce(function(e,t){return e[t]=`${JD.cssPrefix}-${t}`,e},{});return GE.forEach(function(r){(e.includes(n[r])||e.some(function(e){return jO[r].includes(e)}))&&(t=r)}),t}function YO(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).family,n=t===void 0?ZT:t,r=jD[n][e];if(n===QT&&!e)return`fad`;var i=ND[n][e]||ND[n][r],a=e in gO.styles?e:null;return i||a||null}function XO(e){var t=[],n=null;return e.forEach(function(e){var r=zO(JD.cssPrefix,e);r?n=r:e&&t.push(e)}),{iconName:n,rest:t}}function ZO(e){return e.sort().filter(function(e,t,n){return n.indexOf(e)===t})}var QO=lD.concat(XE);function $O(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).skipLookups,n=t!==void 0&&t,r=null,i=ZO(e.filter(function(e){return QO.includes(e)})),a=ZO(e.filter(function(e){return!QO.includes(e)})),o=ET(i.filter(function(e){return r=e,!XT.includes(e)}),1)[0],s=o===void 0?null:o,c=JO(i),l=B(B({},XO(a)),{},{prefix:YO(s,{family:c})});return B(B(B({},l),rk({values:e,family:c,styles:OO,config:JD,canonical:l,givenPrefix:r})),ek(n,r,l))}function ek(e,t,n){var r=n.prefix,i=n.iconName;if(e||!r||!i)return{prefix:r,iconName:i};var a=t===`fa`?WO(i):{},o=UO(r,i);return i=a.iconName||o||i,r=a.prefix||r,r===`far`&&!OO.far&&OO.fas&&!JD.autoFetchSvg&&(r=`fas`),{prefix:r,iconName:i}}var tk=GE.filter(function(e){return e!==ZT||e!==QT}),nk=Object.keys(cD).filter(function(e){return e!==ZT}).map(function(e){return Object.keys(cD[e])}).flat();function rk(e){var t=e.values,n=e.family,r=e.canonical,i=e.givenPrefix,a=i===void 0?``:i,o=e.styles,s=o===void 0?{}:o,c=e.config,l=c===void 0?{}:c,u=n===QT,d=t.includes(`fa-duotone`)||t.includes(`fad`),f=l.familyDefault===`duotone`,p=r.prefix===`fad`||r.prefix===`fa-duotone`;return!u&&(d||f||p)&&(r.prefix=`fad`),(t.includes(`fa-brands`)||t.includes(`fab`))&&(r.prefix=`fab`),!r.prefix&&tk.includes(n)&&(Object.keys(s).find(function(e){return nk.includes(e)})||l.autoFetchSvg)&&(r.prefix=JE.get(n).defaultShortPrefixId,r.iconName=UO(r.prefix,r.iconName)||r.iconName),(r.prefix===`fa`||a===`fa`)&&(r.prefix=KO()||`fas`),r}var ik=function(){function e(){gT(this,e),this.definitions={}}return vT(e,[{key:`add`,value:function(){var e=this,t=[...arguments].reduce(this._pullDefinitions,{});Object.keys(t).forEach(function(n){e.definitions[n]=B(B({},e.definitions[n]||{}),t[n]),DO(n,t[n]);var r=FD[ZT][n];r&&DO(r,t[n]),BO()})}},{key:`reset`,value:function(){this.definitions={}}},{key:`_pullDefinitions`,value:function(e,t){var n=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(n).map(function(t){var r=n[t],i=r.prefix,a=r.iconName,o=r.icon,s=o[2];e[i]||(e[i]={}),s.length>0&&s.forEach(function(t){typeof t==`string`&&(e[i][t]=o)}),e[i][a]=o}),e}}])}(),ak=[],ok={},sk={},ck=Object.keys(sk);function lk(e,t){var n=t.mixoutsTo;return ak=e,ok={},Object.keys(sk).forEach(function(e){ck.indexOf(e)===-1&&delete sk[e]}),ak.forEach(function(e){var t=e.mixout?e.mixout():{};if(Object.keys(t).forEach(function(e){typeof t[e]==`function`&&(n[e]=t[e]),AT(t[e])===`object`&&Object.keys(t[e]).forEach(function(r){n[e]||(n[e]={}),n[e][r]=t[e][r]})}),e.hooks){var r=e.hooks();Object.keys(r).forEach(function(e){ok[e]||(ok[e]=[]),ok[e].push(r[e])})}e.provides&&e.provides(sk)}),n}function uk(e,t){var n=[...arguments].slice(2);
1771return(ok[e]||[]).forEach(function(e){t=e.apply(null,[t].concat(n))}),t}function dk(e){var t=[...arguments].slice(1);(ok[e]||[]).forEach(function(e){e.apply(null,t)})}function fk(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1);return sk[e]?sk[e].apply(null,t):void 0}function pk(e){e.prefix===`fa`&&(e.prefix=`fas`);var t=e.iconName,n=e.prefix||KO();if(t)return t=UO(n,t)||t,SO(mk.definitions,n,t)||SO(gO.styles,n,t)}var mk=new ik,hk={noAuto:function(){JD.autoReplaceSvg=!1,JD.observeMutations=!1,dk(`noAuto`)},config:JD,dom:{i2svg:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return UT?(dk(`beforeI2svg`,e),fk(`pseudoElements2svg`,e),fk(`i2svg`,e)):Promise.reject(Error(`Operation requires a DOM of some kind.`))},watch:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.autoReplaceSvgRoot;JD.autoReplaceSvg===!1&&(JD.autoReplaceSvg=!0),JD.observeMutations=!0,bO(function(){gk({autoReplaceSvgRoot:t}),dk(`watch`,e)})}},parse:{icon:function(e){if(e===null)return null;if(AT(e)===`object`&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:UO(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&e.length===2){var t=e[1].indexOf(`fa-`)===0?e[1].slice(3):e[1],n=YO(e[0]);return{prefix:n,iconName:UO(n,t)||t}}if(typeof e==`string`&&(e.indexOf(`${JD.cssPrefix}-`)>-1||e.match(LD))){var r=$O(e.split(` `),{skipLookups:!0});return{prefix:r.prefix||KO(),iconName:UO(r.prefix,r.iconName)||r.iconName}}if(typeof e==`string`){var i=KO();return{prefix:i,iconName:UO(i,e)||e}}}},library:mk,findIconDefinition:pk,toHtml:xO},gk=function(){var e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).autoReplaceSvgRoot,t=e===void 0?BT:e;(Object.keys(gO.styles).length>0||JD.autoFetchSvg)&&UT&&JD.autoReplaceSvg&&hk.dom.i2svg({node:t})};function _k(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return xO(e)})}}),Object.defineProperty(e,"node",{get:function(){if(UT){var t=BT.createElement(`div`);return t.innerHTML=e.html,t.children}}}),e}function vk(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(sO(o)&&n.found&&!r.found){var s={x:n.width/n.height/2,y:.5};i.style=oO(B(B({},a),{},{"transform-origin":`${s.x+o.x/16}em ${s.y+o.y/16}em`}))}return[{tag:`svg`,attributes:i,children:t}]}function yk(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?`${t}-${JD.cssPrefix}-${n}`:a;return[{tag:`svg`,attributes:{style:`display: none;`},children:[{tag:`symbol`,attributes:B(B({},i),{},{id:o}),children:r}]}]}function bk(e){return[`aria-label`,`aria-labelledby`,`title`,`role`].some(function(t){return t in e})}function xk(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,s=e.symbol,c=e.maskId,l=e.extra,u=e.watchable,d=u!==void 0&&u,f=r.found?r:n,p=f.width,m=f.height,h=[JD.replacementClass,a?`${JD.cssPrefix}-${a}`:``].filter(function(e){return l.classes.indexOf(e)===-1}).filter(function(e){return e!==``||!!e}).concat(l.classes).join(` `),g={children:[],attributes:B(B({},l.attributes),{},{"data-prefix":i,"data-icon":a,class:h,role:l.attributes.role||`img`,viewBox:`0 0 ${p} ${m}`})};!bk(l.attributes)&&!l.attributes[`aria-hidden`]&&(g.attributes[`aria-hidden`]=`true`),d&&(g.attributes[yD]=``);var _=B(B({},g),{},{prefix:i,iconName:a,main:n,mask:r,maskId:c,transform:o,symbol:s,styles:B({},l.styles)}),v=r.found&&n.found?fk(`generateAbstractMask`,_)||{children:[],attributes:{}}:fk(`generateAbstractIcon`,_)||{children:[],attributes:{}},y=v.children,b=v.attributes;return _.children=y,_.attributes=b,s?yk(_):vk(_)}function Sk(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.extra,o=e.watchable,s=o!==void 0&&o,c=B(B({},a.attributes),{},{class:a.classes.join(` `)});s&&(c[yD]=``);var l=B({},a.styles);sO(i)&&(l.transform=lO({transform:i,startCentered:!0,width:n,height:r}),l[`-webkit-transform`]=l.transform);var u=oO(l);u.length>0&&(c.style=u);var d=[];return d.push({tag:`span`,attributes:c,children:[t]}),d}function Ck(e){var t=e.content,n=e.extra,r=B(B({},n.attributes),{},{class:n.classes.join(` `)}),i=oO(n.styles);i.length>0&&(r.style=i);var a=[];return a.push({tag:`span`,attributes:r,children:[t]}),a}var wk=gO.styles;function Tk(e){var t=e[0],n=e[1],r=ET(e.slice(4),1)[0],i=null;return i=Array.isArray(r)?{tag:`g`,attributes:{class:`${JD.cssPrefix}-${VD.GROUP}`},children:[{tag:`path`,attributes:{class:`${JD.cssPrefix}-${VD.SECONDARY}`,fill:`currentColor`,d:r[0]}},{tag:`path`,attributes:{class:`${JD.cssPrefix}-${VD.PRIMARY}`,fill:`currentColor`,d:r[1]}}]}:{tag:`path`,attributes:{fill:`currentColor`,d:r}},{found:!0,width:t,height:n,icon:i}}var Ek={found:!1,width:512,height:512};function Dk(e,t){!OD&&!JD.showMissingIcons&&e&&console.error(`Icon with name "${e}" and prefix "${t}" is missing.`)}function Ok(e,t){var n=t;return t===`fa`&&JD.styleDefault!==null&&(t=KO()),new Promise(function(r,i){if(n===`fa`){var a=WO(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&wk[t]&&wk[t][e]){var o=wk[t][e];return r(Tk(o))}Dk(e,t),r(B(B({},Ek),{},{icon:JD.showMissingIcons&&e&&fk(`missingIconAbstract`)||{}}))})}var kk=function(){},Ak=JD.measurePerformance&&HT&&HT.mark&&HT.measure?HT:{mark:kk,measure:kk},jk=`FA "7.3.1"`,Mk=function(e){return Ak.mark(`${jk} ${e} begins`),function(){return Nk(e)}},Nk=function(e){Ak.mark(`${jk} ${e} ends`),Ak.measure(`${jk} ${e}`,`${jk} ${e} begins`,`${jk} ${e} ends`)},Pk={begin:Mk,end:Nk},Fk=function(){};function Ik(e){return typeof(e.getAttribute?e.getAttribute(yD):null)==`string`}function Lk(e){var t=e.getAttribute?e.getAttribute(SD):null,n=e.getAttribute?e.getAttribute(CD):null;return t&&n}function Rk(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(JD.replacementClass)}function zk(){return JD.autoReplaceSvg===!0?Wk.replace:Wk[JD.autoReplaceSvg]||Wk.replace}function Bk(e){return BT.createElementNS(`http://www.w3.org/2000/svg`,e)}function Vk(e){return BT.createElement(e)}function Hk(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).ceFn,n=t===void 0?e.tag===`svg`?Bk:Vk:t;if(typeof e==`string`)return BT.createTextNode(e);var r=n(e.tag);
1771return Object.keys(e.attributes||[]).forEach(function(t){r.setAttribute(t,e.attributes[t])}),(e.children||[]).forEach(function(e){r.appendChild(Hk(e,{ceFn:n}))}),r}function Uk(e){var t=` ${e.outerHTML} `;return t=`${t}Font Awesome fontawesome.com `,t}var Wk={replace:function(e){var t=e[0];if(t.parentNode)if(e[1].forEach(function(e){t.parentNode.insertBefore(Hk(e),t)}),t.getAttribute(yD)===null&&JD.keepOriginalSource){var n=BT.createComment(Uk(t));t.parentNode.replaceChild(n,t)}else t.remove()},nest:function(e){var t=e[0],n=e[1];if(~rO(t).indexOf(JD.replacementClass))return Wk.replace(e);var r=RegExp(`${JD.cssPrefix}-.*`);if(delete n[0].attributes.id,n[0].attributes.class){var i=n[0].attributes.class.split(` `).reduce(function(e,t){return t===JD.replacementClass||t.match(r)?e.toSvg.push(t):e.toNode.push(t),e},{toNode:[],toSvg:[]});n[0].attributes.class=i.toSvg.join(` `),i.toNode.length===0?t.removeAttribute(`class`):t.setAttribute(`class`,i.toNode.join(` `))}var a=n.map(function(e){return xO(e)}).join(`
1772`);t.setAttribute(yD,``),t.innerHTML=a}};function Gk(e){e()}function Kk(e,t){var n=typeof t==`function`?t:Fk;if(e.length===0)n();else{var r=Gk;JD.mutateApproach===TD&&(r=zT.requestAnimationFrame||Gk),r(function(){var t=zk(),r=Pk.begin(`mutate`);e.map(t),r(),n()})}}var qk=!1;function Jk(){qk=!0}function Yk(){qk=!1}var Xk=null;function Zk(e){if(VT&&JD.observeMutations){var t=e.treeCallback,n=t===void 0?Fk:t,r=e.nodeCallback,i=r===void 0?Fk:r,a=e.pseudoElementsCallback,o=a===void 0?Fk:a,s=e.observeMutationsRoot,c=s===void 0?BT:s;Xk=new VT(function(e){if(!qk){var t=KO();nO(e).forEach(function(e){if(e.type===`childList`&&e.addedNodes.length>0&&!Ik(e.addedNodes[0])&&(JD.searchPseudoElements&&o(e.target),n(e.target)),e.type===`attributes`&&e.target.parentNode&&JD.searchPseudoElements&&o([e.target],!0),e.type===`attributes`&&Ik(e.target)&&~BD.indexOf(e.attributeName))if(e.attributeName===`class`&&Lk(e.target)){var r=$O(rO(e.target)),a=r.prefix,s=r.iconName;e.target.setAttribute(SD,a||t),s&&e.target.setAttribute(CD,s)}else Rk(e.target)&&i(e.target)})}}),UT&&Xk.observe(c,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function Qk(){Xk&&Xk.disconnect()}function $k(e){var t=e.getAttribute(`style`),n=[];return t&&(n=t.split(`;`).reduce(function(e,t){var n=t.split(`:`),r=n[0],i=n.slice(1);return r&&i.length>0&&(e[r]=i.join(`:`).trim()),e},{})),n}function eA(e){var t=e.getAttribute(`data-prefix`),n=e.getAttribute(`data-icon`),r=e.innerText===void 0?``:e.innerText.trim(),i=$O(rO(e));return i.prefix||=KO(),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix?i:(i.prefix&&r.length>0&&(i.iconName=HO(i.prefix,e.innerText)||VO(i.prefix,TO(e.innerText))),!i.iconName&&JD.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data),i)}function tA(e){return nO(e.attributes).reduce(function(e,t){return e.name!==`class`&&e.name!==`style`&&(e[t.name]=t.value),e},{})}function nA(){return{iconName:null,prefix:null,transform:QD,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function rA(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=eA(e),r=n.iconName,i=n.prefix,a=n.rest,o=tA(e),s=uk(`parseNodeAttributes`,{},e);return B({iconName:r,prefix:i,transform:QD,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:t.styleParser?$k(e):[],attributes:o}},s)}var iA=gO.styles;function aA(e){var t=JD.autoReplaceSvg===`nest`?rA(e,{styleParser:!1}):rA(e);return~t.extra.classes.indexOf(RD)?fk(`generateLayersText`,e,t):fk(`generateSvgReplacementMutation`,e,t)}function oA(){return[].concat(DT(XE),DT(lD))}function sA(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!UT)return Promise.resolve();var n=BT.documentElement.classList,r=function(e){return n.add(`${wD}-${e}`)},i=function(e){return n.remove(`${wD}-${e}`)},a=JD.autoFetchSvg?oA():XT.concat(Object.keys(iA));a.includes(`fa`)||a.push(`fa`);var o=[`.${RD}:not([${yD}])`].concat(a.map(function(e){return`.${e}:not([${yD}])`})).join(`, `);if(o.length===0)return Promise.resolve();var s=[];
1772try{s=nO(e.querySelectorAll(o))}catch{}if(s.length>0)r(`pending`),i(`complete`);else return Promise.resolve();var c=Pk.begin(`onTree`),l=s.reduce(function(e,t){try{var n=aA(t);n&&e.push(n)}catch(e){OD||e.name===`MissingIcon`&&console.error(e)}return e},[]);return new Promise(function(e,n){Promise.all(l).then(function(n){Kk(n,function(){r(`active`),r(`complete`),i(`pending`),typeof t==`function`&&t(),c(),e()})}).catch(function(e){c(),n(e)})})}function cA(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;aA(e).then(function(e){e&&Kk([e],t)})}function lA(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:pk(t||{}),i=n.mask;return i&&=(i||{}).icon?i:pk(i||{}),e(r,B(B({},n),{},{mask:i}))}}var uA=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.transform,r=n===void 0?QD:n,i=t.symbol,a=i!==void 0&&i,o=t.mask,s=o===void 0?null:o,c=t.maskId,l=c===void 0?null:c,u=t.classes,d=u===void 0?[]:u,f=t.attributes,p=f===void 0?{}:f,m=t.styles,h=m===void 0?{}:m;if(e){var g=e.prefix,_=e.iconName,v=e.icon;return _k(B({type:`icon`},e),function(){return dk(`beforeDOMElementCreation`,{iconDefinition:e,params:t}),xk({icons:{main:Tk(v),mask:s?Tk(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:g,iconName:_,transform:B(B({},QD),r),symbol:a,maskId:l,extra:{attributes:p,styles:h,classes:d}})})}},dA={mixout:function(){return{icon:lA(uA)}},hooks:function(){return{mutationObserverCallbacks:function(e){return e.treeCallback=sA,e.nodeCallback=cA,e}}},provides:function(e){e.i2svg=function(e){var t=e.node,n=t===void 0?BT:t,r=e.callback;return sA(n,r===void 0?function(){}:r)},e.generateSvgReplacementMutation=function(e,t){var n=t.iconName,r=t.prefix,i=t.transform,a=t.symbol,o=t.mask,s=t.maskId,c=t.extra;return new Promise(function(t,l){Promise.all([Ok(n,r),o.iconName?Ok(o.iconName,o.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(o){var l=ET(o,2),u=l[0],d=l[1];t([e,xk({icons:{main:u,mask:d},prefix:r,iconName:n,transform:i,symbol:a,maskId:s,extra:c,watchable:!0})])}).catch(l)})},e.generateAbstractIcon=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,a=e.styles,o=oO(a);o.length>0&&(n.style=o);var s;return sO(i)&&(s=fk(`generateAbstractTransformGrouping`,{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),t.push(s||r.icon),{children:t,attributes:n}}}},fA={mixout:function(){return{layer:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.classes,r=n===void 0?[]:n;return _k({type:`layer`},function(){dk(`beforeDOMElementCreation`,{assembler:e,params:t});var n=[];return e(function(e){Array.isArray(e)?e.map(function(e){n=n.concat(e.abstract)}):n=n.concat(e.abstract)}),[{tag:`span`,attributes:{class:[`${JD.cssPrefix}-layers`].concat(DT(r)).join(` `)},children:n}]})}}}},pA={mixout:function(){return{counter:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.title,r=n===void 0?null:n,i=t.classes,a=i===void 0?[]:i,o=t.attributes,s=o===void 0?{}:o,c=t.styles,l=c===void 0?{}:c;return _k({type:`counter`,content:e},function(){return dk(`beforeDOMElementCreation`,{content:e,params:t}),Ck({content:e.toString(),title:r,extra:{attributes:s,styles:l,classes:[`${JD.cssPrefix}-layers-counter`].concat(DT(a))}})})}}}},mA={mixout:function(){return{text:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.transform,r=n===void 0?QD:n,i=t.classes,a=i===void 0?[]:i,o=t.attributes,s=o===void 0?{}:o,c=t.styles,l=c===void 0?{}:c;return _k({type:`text`,content:e},function(){return dk(`beforeDOMElementCreation`,{content:e,params:t}),Sk({content:e,transform:B(B({},QD),r),extra:{attributes:s,styles:l,classes:[`${JD.cssPrefix}-layers-text`].concat(DT(a))}})})}}},provides:function(e){e.generateLayersText=function(e,t){var n=t.transform,r=t.extra,i=null,a=null;if(WT){var o=parseInt(getComputedStyle(e).fontSize,10),s=e.getBoundingClientRect();i=s.width/o,a=s.height/o}return Promise.resolve([e,Sk({content:e.innerHTML,width:i,height:a,transform:n,extra:r,watchable:!0})])}}},hA=RegExp(`"`,`ug`),gA=[1105920,1112319],_A=B(B(B(B({},{FontAwesome:{normal:`fas`,400:`fas`}}),qE),mD),eD),vA=Object.keys(_A).reduce(function(e,t){return e[t.toLowerCase()]=_A[t],e},{}),yA=Object.keys(vA).reduce(function(e,t){var n=vA[t];return e[t]=n[900]||DT(Object.entries(n))[0][1],e},{});function bA(e){return TO(DT(e.replace(hA,``))[0]||``)}function xA(e){var t=e.getPropertyValue(`font-feature-settings`).includes(`ss01`),n=e.getPropertyValue(`content`).replace(hA,``),r=n.codePointAt(0),i=r>=gA[0]&&r<=gA[1],a=n.length===2&&n[0]===n[1];return i||a||t}function SA(e,t){var n=e.replace(/^['"]|['"]$/g,``).toLowerCase(),r=parseInt(t),i=isNaN(r)?`normal`:r;return(vA[n]||{})[i]||yA[n]}function CA(e,t){var n=`${xD}${t.replace(`:`,`-`)}`;return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=nO(e.children).filter(function(e){return e.getAttribute(bD)===t})[0],o=zT.getComputedStyle(e,t),s=o.getPropertyValue(`font-family`),c=s.match(zD),l=o.getPropertyValue(`font-weight`),u=o.getPropertyValue(`content`);if(a&&!c)return e.removeChild(a),r();if(c&&u!==`none`&&u!==``){var d=o.getPropertyValue(`content`),f=SA(s,l),p=bA(d),m=c[0].startsWith(`FontAwesome`),h=xA(o),g=VO(f,p),_=g;if(m){var v=GO(p);v.iconName&&v.prefix&&(g=v.iconName,f=v.prefix)}if(g&&!h&&(!a||a.getAttribute(SD)!==f||a.getAttribute(CD)!==_)){e.setAttribute(n,_),a&&e.removeChild(a);var y=nA(),b=y.extra;b.attributes[bD]=t,Ok(g,f).then(function(i){var a=xk(B(B({},y),{},{icons:{main:i,mask:qO()},prefix:f,iconName:_,extra:b,watchable:!0})),o=BT.createElementNS(`http://www.w3.org/2000/svg`,`svg`);t===`::before`?e.insertBefore(o,e.firstChild):e.appendChild(o),o.outerHTML=a.map(function(e){return xO(e)}).join(`
1773`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function wA(e){return Promise.all([CA(e,`::before`),CA(e,`::after`)])}function TA(e){return e.parentNode!==document.head&&!~ED.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(bD)&&(!e.parentNode||e.parentNode.tagName!==`svg`)}var EA=function(e){return!!e&&DD.some(function(t){return e.includes(t)})},DA=function(e){if(!e)return[];
1773var t=new Set,n=e.split(/,(?![^()]*\))/).map(function(e){return e.trim()});n=n.flatMap(function(e){return e.includes(`(`)?e:e.split(`,`).map(function(e){return e.trim()})});var r=yT(n),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;if(EA(a)){var o=DD.reduce(function(e,t){return e.replace(t,``)},a);o!==``&&o!==`*`&&t.add(o)}}}catch(e){r.e(e)}finally{r.f()}return t};function OA(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(UT){var n;if(t)n=e;else if(JD.searchPseudoElementsFullScan)n=e.querySelectorAll(`*`);else{var r=new Set,i=yT(document.styleSheets),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;try{var s=yT(o.cssRules),c;try{for(s.s();!(c=s.n()).done;){var l=c.value,u=yT(DA(l.selectorText)),d;try{for(u.s();!(d=u.n()).done;){var f=d.value;r.add(f)}}catch(e){u.e(e)}finally{u.f()}}}catch(e){s.e(e)}finally{s.f()}}catch(e){JD.searchPseudoElementsWarnings&&console.warn(`Font Awesome: cannot parse stylesheet: ${o.href} (${e.message})
1774If it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin="anonymous" to the <link>, enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.`)}}}catch(e){i.e(e)}finally{i.f()}if(!r.size)return;var p=Array.from(r).join(`, `);try{n=e.querySelectorAll(p)}catch{}}return new Promise(function(e,t){var r=nO(n).filter(TA).map(wA),i=Pk.begin(`searchPseudoElements`);Jk(),Promise.all(r).then(function(){i(),Yk(),e()}).catch(function(){i(),Yk(),t()})})}}var kA={hooks:function(){return{mutationObserverCallbacks:function(e){return e.pseudoElementsCallback=OA,e}}},provides:function(e){e.pseudoElements2svg=function(e){var t=e.node,n=t===void 0?BT:t;JD.searchPseudoElements&&OA(n)}}},AA=!1,jA={mixout:function(){return{dom:{unwatch:function(){Jk(),AA=!0}}}},hooks:function(){return{bootstrap:function(){Zk(uk(`mutationObserverCallbacks`,{}))},noAuto:function(){Qk()},watch:function(e){var t=e.observeMutationsRoot;AA?Yk():Zk(uk(`mutationObserverCallbacks`,{observeMutationsRoot:t}))}}}},MA=function(e){return e.toLowerCase().split(` `).reduce(function(e,t){var n=t.toLowerCase().split(`-`),r=n[0],i=n.slice(1).join(`-`);if(r&&i===`h`)return e.flipX=!0,e;if(r&&i===`v`)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case`grow`:e.size+=i;break;case`shrink`:e.size-=i;break;case`left`:e.x-=i;break;case`right`:e.x+=i;break;case`up`:e.y-=i;break;case`down`:e.y+=i;break;case`rotate`:e.rotate+=i}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},NA={mixout:function(){return{parse:{transform:function(e){return MA(e)}}}},hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-transform`);return n&&(e.transform=MA(n)),e}}},provides:function(e){e.generateAbstractTransformGrouping=function(e){var t=e.main,n=e.transform,r=e.containerWidth,i=e.iconWidth,a={outer:{transform:`translate(${r/2} 256)`},inner:{transform:`${`translate(${n.x*32}, ${n.y*32}) `} ${`scale(${n.size/16*(n.flipX?-1:1)}, ${n.size/16*(n.flipY?-1:1)}) `} ${`rotate(${n.rotate} 0 0)`}`},path:{transform:`translate(${i/2*-1} -256)`}};return{tag:`g`,attributes:B({},a.outer),children:[{tag:`g`,attributes:B({},a.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:B(B({},t.icon.attributes),a.path)}]}]}}}},PA={x:0,y:0,width:`100%`,height:`100%`};function FA(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill=`black`),e}function IA(e){return e.tag===`g`?e.children:[e]}lk([mO,dA,fA,pA,mA,kA,jA,NA,{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-mask`),r=n?$O(n.split(` `).map(function(e){return e.trim()})):qO();return r.prefix||=KO(),e.mask=r,e.maskId=t.getAttribute(`data-fa-mask-id`),e}}},provides:function(e){e.generateAbstractMask=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.mask,a=e.maskId,o=e.transform,s=r.width,c=r.icon,l=i.width,u=i.icon,d=cO({transform:o,containerWidth:l,iconWidth:s}),f={tag:`rect`,attributes:B(B({},PA),{},{fill:`white`})},p=c.children?{children:c.children.map(FA)}:{},m={tag:`g`,attributes:B({},d.inner),children:[FA(B({tag:c.tag,attributes:B(B({},c.attributes),d.path)},p))]},h={tag:`g`,attributes:B({},d.outer),children:[m]},g=`mask-${a||tO()}`,_=`clip-${a||tO()}`,v={tag:`mask`,attributes:B(B({},PA),{},{id:g,maskUnits:`userSpaceOnUse`,maskContentUnits:`userSpaceOnUse`}),children:[f,h]},y={tag:`defs`,children:[{tag:`clipPath`,attributes:{id:_},children:IA(u)},v]};return t.push(y,{tag:`rect`,attributes:B({fill:`currentColor`,"clip-path":`url(#${_})`,mask:`url(#${g})`},PA)}),{children:t,attributes:n}}}},{provides:function(e){var t=!1;zT.matchMedia&&(t=zT.matchMedia(`(prefers-reduced-motion: reduce)`).matches),e.missingIconAbstract=function(){var e=[],n={fill:`currentColor`},r={attributeType:`XML`,repeatCount:`indefinite`,dur:`2s`};e.push({tag:`path`,attributes:B(B({},n),{},{d:`M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2
1774-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z`})});var i=B(B({},r),{},{attributeName:`opacity`}),a={tag:`circle`,attributes:B(B({},n),{},{cx:`256`,cy:`364`,r:`28`}),children:[]};return t||a.children.push({tag:`animate`,attributes:B(B({},r),{},{attributeName:`r`,values:`28;14;28;28;14;28;`})},{tag:`animate`,attributes:B(B({},i),{},{values:`1;0;1;1;0;1;`})}),e.push(a),e.push({tag:`path`,attributes:B(B({},n),{},{opacity:`1`,d:`M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z`}),children:t?[]:[{tag:`animate`,attributes:B(B({},i),{},{values:`1;0;0;0;0;1;`})}]}),t||e.push({tag:`path`,attributes:B(B({},n),{},{opacity:`0`,d:`M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z`}),children:[{tag:`animate`,attributes:B(B({},i),{},{values:`0;0;1;1;0;0;`})}]}),{tag:`g`,attributes:{class:`missing`},children:e}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-symbol`);return e.symbol=n===null?!1:n===``||n,e}}}}],{mixoutsTo:hk}),hk.noAuto;var LA=hk.config;hk.library,hk.dom;var RA=hk.parse;hk.findIconDefinition,hk.toHtml;var zA=hk.icon;hk.layer,hk.text,hk.counter;function BA(e){return e-=0,e===e}function VA(e){return BA(e)?e:(e=e.replace(/[_-]+(.)?/g,(e,t)=>t?t.toUpperCase():``),e.charAt(0).toLowerCase()+e.slice(1))}var HA=(e,t)=>S.createElement(`stop`,{key:`${t}-${e.offset}`,offset:e.offset,stopColor:e.color,...e.opacity!==void 0&&{stopOpacity:e.opacity}});function UA(e){return e.charAt(0).toUpperCase()+e.slice(1)}var WA=new Map,GA=1e3;function KA(e){if(WA.has(e))return WA.get(e);let t={},n=0,r=e.length;for(;n<r;){let i=e.indexOf(`;`,n),a=i===-1?r:i,o=e.slice(n,a).trim();if(o){let e=o.indexOf(`:`);if(e>0){let n=o.slice(0,e).trim(),r=o.slice(e+1).trim();if(n&&r){let e=VA(n);t[e.startsWith(`webkit`)?UA(e):e]=r}}}n=a+1}if(WA.size===GA){let e=WA.keys().next().value;e&&WA.delete(e)}return WA.set(e,t),t}function qA(e,t,n={}){if(typeof t==`string`)return t;let r=(t.children||[]).map(t=>{let r=t;return(`fill`in n||n.gradientFill)&&t.tag===`path`&&`fill`in t.attributes&&(r={...t,attributes:{...t.attributes,fill:void 0}}),qA(e,r)}),i=t.attributes||{},a={};for(let[e,t]of Object.entries(i))switch(!0){case e===`class`:a.className=t;break;case e===`style`:a.style=KA(String(t));break;case e.startsWith(`aria-`):case e.startsWith(`data-`):a[e.toLowerCase()]=t;break;default:a[VA(e)]=t}let{style:o,role:s,"aria-label":c,gradientFill:l,...u}=n;if(o&&(a.style=a.style?{...a.style,...o}:o),s&&(a.role=s),c&&(a[`aria-label`]=c,a[`aria-hidden`]=`false`),l){a.fill=`url(#${l.id})`;let{type:t,stops:n=[],...i}=l;r.unshift(e(t===`linear`?`linearGradient`:`radialGradient`,{...i,id:l.id},n.map(HA)))}return e(t.tag,{...a,...u},...r)}var JA=qA.bind(null,S.createElement),YA=(e,t)=>{let n=(0,S.useId)();return e||(t?n:void 0)},XA=class{constructor(e=`react-fontawesome`){this.enabled=!1;let t=!1;try{t=typeof process<`u`&&!0}catch{}this.scope=e,this.enabled=t}log(...e){this.enabled&&console.log(`[${this.scope}]`,...e)}warn(...e){this.enabled&&console.warn(`[${this.scope}]`,...e)}error(...e){this.enabled&&console.error(`[${this.scope}]`,...e)}};typeof process<`u`&&{}.FA_VERSION;var ZA=`searchPseudoElementsFullScan`in LA&&typeof LA.searchPseudoElementsFullScan==`boolean`?`7.0.0`:`6.0.0`,QA=Number.parseInt(ZA)>=7,$A=()=>QA,ej=`fa`,tj={beat:`fa-beat`,fade:`fa-fade`,beatFade:`fa-beat-fade`,bounce:`fa-bounce`,shake:`fa-shake`,spin:`fa-spin`,spinPulse:`fa-spin-pulse`,spinReverse:`fa-spin-reverse`,pulse:`fa-pulse`,flip360:`fa-flip-360`,buzz:`fa-buzz`,float:`fa-float`,jello:`fa-jello`,spinSnap:`fa-spin-snap`,spinSnap4:`fa-spin-snap-4`,spinSnap8:`fa-spin-snap-8`,swing:`fa-swing`,wag:`fa-wag`},nj={left:`fa-pull-left`,right:`fa-pull-right`},rj={90:`fa-rotate-90`,180:`fa-rotate-180`,270:`fa-rotate-270`},ij={"2xs":`fa-2xs`,xs:`fa-xs`,sm:`fa-sm`,lg:`fa-lg`,xl:`fa-xl`,"2xl":`fa-2xl`,"1x":`fa-1x`,"2x":`fa-2x`,"3x":`fa-3x`,"4x":`fa-4x`,"5x":`fa-5x`,"6x":`fa-6x`,"7x":`fa-7x`,"8x":`fa-8x`,"9x":`fa-9x`,"10x":`fa-10x`},aj={border:`fa-border`,fixedWidth:`fa-fw`,flip:`fa-flip`,flipHorizontal:`fa-flip-horizontal`,flipVertical:`fa-flip-vert
1774ical`,inverse:`fa-inverse`,rotateBy:`fa-rotate-by`,swapOpacity:`fa-swap-opacity`,widthAuto:`fa-width-auto`,canvasSquare:`fa-canvas-square`,canvasRoomy:`fa-canvas-roomy`},oj={default:`fa-layers`};function sj(e){let t=LA.cssPrefix||LA.familyPrefix||ej;return t===ej?e:e.replace(new RegExp(String.raw`(?<=^|\s)${ej}-`,`g`),`${t}-`)}function cj(e){let{beat:t,fade:n,beatFade:r,bounce:i,shake:a,spin:o,spinPulse:s,spinReverse:c,pulse:l,fixedWidth:u,inverse:d,border:f,flip:p,size:m,rotation:h,pull:g,swapOpacity:_,rotateBy:v,widthAuto:y,canvasSquare:b,canvasRoomy:x,flip360:S,buzz:ee,float:te,jello:ne,spinSnap:re,spinSnap4:ie,spinSnap8:C,swing:ae,wag:w,className:oe}=e,T=[];return oe&&T.push(...oe.split(` `)),t&&T.push(tj.beat),n&&T.push(tj.fade),r&&T.push(tj.beatFade),i&&T.push(tj.bounce),a&&T.push(tj.shake),o&&T.push(tj.spin),c&&T.push(tj.spinReverse),s&&T.push(tj.spinPulse),l&&T.push(tj.pulse),u&&T.push(aj.fixedWidth),d&&T.push(aj.inverse),f&&T.push(aj.border),p===!0&&T.push(aj.flip),(p===`horizontal`||p===`both`)&&T.push(aj.flipHorizontal),(p===`vertical`||p===`both`)&&T.push(aj.flipVertical),m!=null&&T.push(ij[m]),h!=null&&h!==0&&T.push(rj[h]),g!=null&&T.push(nj[g]),_&&T.push(aj.swapOpacity),$A()?(v&&T.push(aj.rotateBy),y&&T.push(aj.widthAuto),b&&T.push(aj.canvasSquare),x&&T.push(aj.canvasRoomy),S&&T.push(tj.flip360),ee&&T.push(tj.buzz),te&&T.push(tj.float),ne&&T.push(tj.jello),re&&T.push(tj.spinSnap),ie&&T.push(tj.spinSnap4),C&&T.push(tj.spinSnap8),ae&&T.push(tj.swing),w&&T.push(tj.wag),(LA.cssPrefix||LA.familyPrefix||ej)===ej?T:T.map(sj)):T}var lj=e=>typeof e==`object`&&`icon`in e&&!!e.icon;function uj(e){if(e)return lj(e)?e:RA.icon(e)}function dj(e){return Object.keys(e)}var fj=new XA(`FontAwesomeIcon`),pj={border:!1,className:``,mask:void 0,maskId:void 0,fixedWidth:!1,inverse:!1,flip:!1,icon:void 0,listItem:!1,pull:void 0,pulse:!1,rotation:void 0,rotateBy:!1,size:void 0,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:``,titleId:void 0,transform:void 0,swapOpacity:!1,widthAuto:!1,canvasSquare:!1,canvasRoomy:!1,flip360:!1,buzz:!1,float:!1,jello:!1,spinSnap:!1,spinSnap4:!1,spinSnap8:!1,swing:!1,wag:!1},mj=new Set(Object.keys(pj)),hj=S.forwardRef((e,t)=>{let n={...pj,...e},{icon:r,mask:i,symbol:a,title:o,titleId:s,maskId:c,transform:l}=n,u=YA(c,!!i),d=YA(s,!!o),f=uj(r);if(!f)return fj.error(`Icon lookup is undefined`,r),null;let p=cj(n),m=typeof l==`string`?RA.transform(l):l,h=uj(i),g=zA(f,{...p.length>0&&{classes:p},...m&&{transform:m},...h&&{mask:h},symbol:a,title:o,titleId:d,maskId:u});if(!g)return fj.error(`Could not find icon`,f),null;let{abstract:_}=g,v={ref:t};for(let e of dj(n))mj.has(e)||(v[e]=n[e]);return JA(_[0],v)});hj.displayName=`FontAwesomeIcon`,`${oj.default}${aj.fixedWidth}`;var gj={prefix:`fab`,iconName:`gitlab`,icon:[512,512,[],`f296`,`M504 204.6l-.7-1.8-69.7-181.8c-1.4-3.6-3.9-6.6-7.2-8.6-2.4-1.6-5.1-2.5-8-2.8s-5.7 .1-8.4 1.1-5.1 2.7-7.1 4.8c-1.9 2.1-3.3 4.7-4.1 7.4l-47 144-190.5 0-47.1-144c-.8-2.8-2.2-5.3-4.1-7.4-2-2.1-4.4-3.7-7.1-4.8-2.6-1-5.5-1.4-8.4-1.1s-5.6 1.2-8 2.8c-3.2 2-5.8 5.1-7.2 8.6L9.8 202.8 9 204.6c-10 26.2-11.3 55-3.5 82 7.7 26.9 24 50.7 46.4 67.6l.3 .2 .6 .4 106 79.5c38.5 29.1 66.7 50.3 84.6 63.9 3.7 1.9 8.3 4.3 13 4.3s9.3-2.4 13-4.3c17.9-13.5 46.1-34.9 84.6-63.9l106.7-79.9 .3-.3c22.4-16.9 38.7-40.6 45.6-67.5 8.6-27 7.4-55.8-2.6-82z`]},_j={prefix:`fab`,iconName:`mastodon`,icon:[448,512,[],`f4f6`,`M433 179.1c0-97.2-63.7-125.7-63.7-125.7-62.5-28.7-228.6-28.4-290.5 0 0 0-63.7 28.5-63.7 125.7 0 115.7-6.6 259.4 105.6 289.1 40.5 10.7 75.3 13 103.3 11.4 50.8-2.8 79.3-18.1 79.3-18.1l-1.7-36.9s-36.3 11.4-77.1 10.1c-40.4-1.4-83-4.4-89.6-54-.6-4.6-.9-9.3-.9-13.9 85.6 20.9 158.7 9.1 178.7 6.7 56.1-6.7 105-41.3 111.2-72.9 9.8-49.8 9-121.5 9-121.5zM357.9 304.3l-46.6 0 0-114.2c0-49.7-64-51.6-64 6.9l0 62.5-46.3 0 0-62.5c0-58.5-64-56.6-64-6.9l0 114.2-46.7 0c0-122.1-5.2-147.9 18.4-175 25.9-28.9 79.8-30.8 103.8 6.1l11.6 19.5 11.6-19.5c24.1-37.1 78.1-34.8 103.8-6.1 23.7 27.3 18.4 53 18.4 175l0 0z`]},vj={prefix:`fab`,iconName:`linkedin-in`,icon:[448,512,[],`f0e1`,`M100.3 448l-92.9 0 0-299.1 92.9 0 0 299.1zM53.8 108.1C24.1 108.1 0 83.5 0 53.8 0 39.5 5.7 25.9 15.8 15.8s23.8-15.8 38-15.8 27.9 5.7 38 15.8 15.8 23.8 15.8 38c0 29.7-24.1 54.3-53.8 54.3zM447.9 448l-92.7 0 0-145.6c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7l0 148.1-92.8 0 0-299.1 89.1 0 0 40.8 1.3 0c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3l0 164.3-.1 0z`]},yj=`/opt/src/frontend/src/components/ExternalLinkWarning.tsx`,bj=({url:e,isOpen:t,onClose:n,onConfirm:r})=>{let{translations:i}=rr();return t?(0,E.jsxDEV)(`div`,{className:`fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4`,children:(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-md w-full p-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center mb-4`,children:[(0,E.jsxDEV)(Pi,{className:`text-yellow-500 text-3xl mr-3`},void 0,!1,{fileName:yj,lineNumber:21,columnNumber:11},void 0),(0,E.jsxDEV)(`h2`,{className:`text-xl font-bold text-gray-900 dark:text-white`,children:i.externalLinkWarning?.t
1774itle||`Externe Webseite`},void 0,!1,{fileName:yj,lineNumber:22,columnNumber:11},void 0)]},void 0,!0,{fileName:yj,lineNumber:20,columnNumber:9},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-300 mb-4`,children:i.externalLinkWarning?.message||`Sie verlassen jetzt pabr.de und werden zu einer externen Webseite weitergeleitet:`},void 0,!1,{fileName:yj,lineNumber:27,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`bg-gray-100 dark:bg-gray-700 p-3 rounded mb-4 break-all`,children:(0,E.jsxDEV)(`p`,{className:`text-sm text-gray-800 dark:text-gray-200 font-mono`,children:e},void 0,!1,{fileName:yj,lineNumber:32,columnNumber:11},void 0)},void 0,!1,{fileName:yj,lineNumber:31,columnNumber:9},void 0),(0,E.jsxDEV)(`p`,{className:`text-sm text-gray-600 dark:text-gray-400 mb-6`,children:i.externalLinkWarning?.disclaimer||`Wir übernehmen keine Verantwortung für den Inhalt externer Webseiten.`},void 0,!1,{fileName:yj,lineNumber:37,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`flex gap-3 justify-end`,children:[(0,E.jsxDEV)(`button`,{onClick:n,className:`px-4 py-2 bg-gray-300 dark:bg-gray-600 text-gray-800 dark:text-white rounded hover:bg-gray-400 dark:hover:bg-gray-500 transition-colors`,children:i.externalLinkWarning?.cancel||`Abbrechen`},void 0,!1,{fileName:yj,lineNumber:42,columnNumber:11},void 0),(0,E.jsxDEV)(`button`,{onClick:r,className:`px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition-colors`,children:i.externalLinkWarning?.continue||`Fortfahren`},void 0,!1,{fileName:yj,lineNumber:48,columnNumber:11},void 0)]},void 0,!0,{fileName:yj,lineNumber:41,columnNumber:9},void 0)]},void 0,!0,{fileName:yj,lineNumber:19,columnNumber:7},void 0)},void 0,!1,{fileName:yj,lineNumber:18,columnNumber:5},void 0):null},xj={prefix:`fas`,iconName:`gears`,icon:[640,512,[`cogs`],`f085`,`M415.9 210.5c12.2-3.3 25 2.5 30.5 13.8L465 261.9c10.3 1.4 20.4 4.2 29.9 8.1l35-23.3c10.5-7 24.4-5.6 33.3 3.3l19.2 19.2c8.9 8.9 10.3 22.9 3.3 33.3l-23.3 34.9c1.9 4.7 3.6 9.6 5 14.7 1.4 5.1 2.3 10.1 3 15.2l37.7 18.6c11.3 5.6 17.1 18.4 13.8 30.5l-7 26.2c-3.3 12.1-14.6 20.3-27.2 19.5l-42-2.7c-6.3 8.1-13.6 15.6-21.9 22l2.7 41.9c.8 12.6-7.4 24-19.5 27.2l-26.2 7c-12.2 3.3-24.9-2.5-30.5-13.8l-18.6-37.6c-10.3-1.4-20.4-4.2-29.9-8.1l-35 23.3c-10.5 7-24.4 5.6-33.3-3.3l-19.2-19.2c-8.9-8.9-10.3-22.8-3.3-33.3l23.3-35c-1.9-4.7-3.6-9.6-5-14.7s-2.3-10.2-3-15.2l-37.7-18.6c-11.3-5.6-17-18.4-13.8-30.5l7-26.2c3.3-12.1 14.6-20.3 27.2-19.5l41.9 2.7c6.3-8.1 13.6-15.6 21.9-22l-2.7-41.8c-.8-12.6 7.4-24 19.5-27.2l26.2-7zM448.4 340a44 44 0 1 0 .1 88 44 44 0 1 0 -.1-88zM224.9-45.5l26.2 7c12.1 3.3 20.3 14.7 19.5 27.2l-2.7 41.8c8.3 6.4 15.6 13.8 21.9 22l42-2.7c12.5-.8 23.9 7.4 27.2 19.5l7 26.2c3.2 12.1-2.5 24.9-13.8 30.5l-37.7 18.6c-.7 5.1-1.7 10.2-3 15.2s-3.1 10-5 14.7l23.3 35c7 10.5 5.6 24.4-3.3 33.3L307.3 262c-8.9 8.9-22.8 10.3-33.3 3.3L239 242c-9.5 3.9-19.6 6.7-29.9 8.1l-18.6 37.6c-5.6 11.3-18.4 17-30.5 13.8l-26.2-7c-12.2-3.3-20.3-14.7-19.5-27.2l2.7-41.9c-8.3-6.4-15.6-13.8-21.9-22l-42 2.7c-12.5 .8-23.9-7.4-27.2-19.5l-7-26.2c-3.2-12.1 2.5-24.9 13.8-30.5l37.7-18.6c.7-5.1 1.7-10.1 3-15.2 1.4-5.1 3-10 5-14.7L55.1 46.5c-7-10.5-5.6-24.4 3.3-33.3L77.6-6c8.9-8.9 22.8-10.3 33.3-3.3l35 23.3c9.5-3.9 19.6-6.7 29.9-8.1l18.6-37.6c5.6-11.3 18.3-17 30.5-13.8zM192.4 84a44 44 0 1 0 0 88 44 44 0 1 0 0-88z`]},Sj={prefix:`fas`,iconName:`database`,icon:[448,512,[],`f1c0`,`M448 205.8c-14.8 9.8-31.8 17.7-49.5 24-47 16.8-108.7 26.2-174.5 26.2S96.4 246.5 49.5 229.8c-17.6-6.3-34.7-14.2-49.5-24L0 288c0 44.2 100.3 80 224 80s224-35.8 224-80l0-82.2zm0-77.8l0-48C448 35.8 347.7 0 224 0S0 35.8 0 80l0 48c0 44.2 100.3 80 224 80s224-35.8 224-80zM398.5 389.8C351.6 406.5 289.9 416 224 416S96.4 406.5 49.5 389.8c-17.6-6.3-34.7-14.2-49.5-24L0 432c0 44.2 100.3 80 224 80s224-35.8 224-80l0-66.2c-14.8 9.8-31.8 17.7-49.5 24z`]},Cj={prefix:`fas`,iconName:`code`,icon:[576,512,[],`f121`,`M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z`]},wj={prefix:`fas`,iconName:`server`,icon:[448,512,[],`f233`,`M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z`]},Tj={prefix:`fas`,iconName:`comments`,icon:[576,512,[128490,61670],`f086`,`M384 144c0 97.2-86 176-192 176-26.7 0-52.1-5-75.2-14L35.2 349.2c-9.3 4.9-20.7 3.2-28.2-4.2s-9.2-18.9-4.2-28.2l35.6-67.2C14.3 220.2 0 183.6 0 144 0 46.8 86-32 192-32S384 46.8 384 144zm0 368c-94.1 0-172.4-62.1-188.8-144 120-1.5 224.3-86.9 235.8-202.7 83.3 19.2 145 88.3 145 170.7 0 39.6-14.3 76.2-38.4 105.6l35.6 67.2c4.9 9.3 3.2 20.7-4.2 28.2s-18.9 9.2-28.2 4.2L459.2 498c-23.1 9-48.5 14-75.2 14z`]},Ej={prefix:`fas`,iconName:`shield-halved`,icon:[512,512,[`shield-alt`],`f3ed`,`M256 0c4.6 0 9.2 1 13.4 2.9L457.8 82.8c22 9.3 38.4 31 38.3 57.2-.5 99.2-41.3 280.7-213.6 363.2-16.7 8-36.1 8-52.8 0-172.4-82.5-213.1-264-213.6-363.2-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.9 1 251.4 0 256 0zm0 66.8l0 378.1c138-66.8 175.1-214.8 176-303.4l-176-74.6 0 0z`]},Dj={prefix:`fas`,iconName:`desktop`,icon:[512,512,[128421,61704,`desktop-alt`],`f390`,`M64 32C28.7 32 0 60.7 0 96L0 352c0 35.3 28.7 64 64 64l144 0-16 48-72 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l272 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-72 0-16-48 144 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 32zM96 96l320 0c17.7 0 32 14.3 32 32l0 160c0 17.7-14.3 32-32 32L96 320c-17.7 0-32-14.3-32-32l0-160c0-17.7 14.3-32 32-32z`]},Oj=`/opt/src/frontend/src/components/AboutPage.tsx`,kj=()=>{let{translations:e}=rr(),t=e.about,[n,r]=(0,S.useState)(null),i=e=>{if(e.includes(`pabr.de`)){window.open(e,`_blank`,`noopener,noreferrer`);return}r(e)},a=()=>{n&&(window.open(n,`_blank`,`noopener,noreferrer`),r(null))},o=e=>{switch(e){case`virtualization`:return wj;case`os`:return Dj;case`databases`:return Sj;case`programming`:return Cj;case`security`:return Ej;case`admin`:return xj;default:return xj}};return(0,E.jsxDEV)(`div`,{className:`w-full`,children:[(0,E.jsxDEV)(`div`,{className:`max-w-4xl mx-auto p-6`,children:(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 shadow-2xl rounded-lg overflow-hidden transition-colors duration-200`,children:[(0,E.jsxDEV)(`div`,{className:`relative h-48 bg-gradient-to-r from-blue-500 to-indigo-600 dark:from-blue-600 dar
1774k:to-indigo-700`,children:(0,E.jsxDEV)(`div`,{className:`absolute -bottom-16 left-1/2 transform -translate-x-1/2`,children:(0,E.jsxDEV)(`div`,{className:`w-32 h-32 rounded-full border-4 border-white dark:border-gray-800 shadow-lg bg-gray-200 dark:bg-gray-700 flex items-center justify-center`,children:(0,E.jsxDEV)(`span`,{className:`text-4xl text-gray-400 dark:text-gray-500`,children:`PA`},void 0,!1,{fileName:Oj,lineNumber:82,columnNumber:17},void 0)},void 0,!1,{fileName:Oj,lineNumber:81,columnNumber:15},void 0)},void 0,!1,{fileName:Oj,lineNumber:80,columnNumber:13},void 0)},void 0,!1,{fileName:Oj,lineNumber:79,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`pt-20 pb-8 px-6 text-center`,children:[(0,E.jsxDEV)(`h1`,{className:`text-3xl font-bold text-gray-900 dark:text-white`,children:`Paul à Brassard`},void 0,!1,{fileName:Oj,lineNumber:89,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-xl text-gray-600 dark:text-gray-400 mt-2`,children:t.role},void 0,!1,{fileName:Oj,lineNumber:90,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`mt-6 text-gray-600 dark:text-gray-300 leading-relaxed`,children:t.description},void 0,!1,{fileName:Oj,lineNumber:92,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`flex justify-center space-x-6 mt-8`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>i(`https://www.linkedin.com/in/paabr`),className:`text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors cursor-pointer`,children:(0,E.jsxDEV)(`div`,{className:`w-12 h-12 bg-gray-100 dark:bg-gray-700 rounded-full flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-600`,children:(0,E.jsxDEV)(hj,{icon:vj,className:`text-2xl`},void 0,!1,{fileName:Oj,lineNumber:100,columnNumber:19},void 0)},void 0,!1,{fileName:Oj,lineNumber:99,columnNumber:17},void 0)},void 0,!1,{fileName:Oj,lineNumber:98,columnNumber:15},void 0),(0,E.jsxDEV)(`a`,{href:`https://git.pabr.de/paul`,className:`text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors`,target:`_blank`,rel:`noopener noreferrer`,children:(0,E.jsxDEV)(`div`,{className:`w-12 h-12 bg-gray-100 dark:bg-gray-700 rounded-full flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-600`,children:(0,E.jsxDEV)(hj,{icon:gj,className:`text-2xl`},void 0,!1,{fileName:Oj,lineNumber:105,columnNumber:19},void 0)},void 0,!1,{fileName:Oj,lineNumber:104,columnNumber:17},void 0)},void 0,!1,{fileName:Oj,lineNumber:103,columnNumber:15},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>i(`https://matrix.to/#/@paul:matrix.pabr.de`),className:`text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors cursor-pointer`,children:(0,E.jsxDEV)(`div`,{className:`w-12 h-12 bg-gray-100 dark:bg-gray-700 rounded-full flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-600`,children:(0,E.jsxDEV)(hj,{icon:Tj,className:`text-2xl`},void 0,!1,{fileName:Oj,lineNumber:110,columnNumber:19},void 0)},void 0,!1,{fileName:Oj,lineNumber:109,columnNumber:17},void 0)},void 0,!1,{fileName:Oj,lineNumber:108,columnNumber:15},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>i(`https://chaos.social/@pabr`),className:`text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white transition-colors cursor-pointer`,children:(0,E.jsxDEV)(`div`,{className:`w-12 h-12 bg-gray-100 dark:bg-gray-700 rounded-full flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-600`,children:(0,E.jsxDEV)(hj,{icon:_j,className:`text-2xl`},void 0,!1,{fileName:Oj,lineNumber:115,columnNumber:19},void 0)},void 0,!1,{fileName:Oj,lineNumber:114,columnNumber:17},void 0)},void 0,!1,{fileName:Oj,lineNumber:113,columnNumber:15},void 0)]},void 0,!0,{fileName:Oj,lineNumber:97,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`mt-8 border-t border-gray-200 dark:border-gray-700 pt-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold text-gray-900 dark:text-white mb-8`,children:t.skills},void 0,!1,{fileName:Oj,lineNumber:122,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[t.skillCategories&&Object.entries(t.skillCategories).map(([e,t])=>(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-700 rounded-lg p-6 transition-all hover:shadow-lg`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center justify-center mb-4`,children:(0,E.jsxDEV)(`div`,{className:`w-12 h-12 bg-blue-100 dar
1774k:bg-blue-900 rounded-full flex items-center justify-center`,children:(0,E.jsxDEV)(hj,{icon:o(e),className:`text-2xl text-blue-600 dark:text-blue-300`},void 0,!1,{fileName:Oj,lineNumber:128,columnNumber:25},void 0)},void 0,!1,{fileName:Oj,lineNumber:127,columnNumber:23},void 0)},void 0,!1,{fileName:Oj,lineNumber:126,columnNumber:21},void 0),(0,E.jsxDEV)(`h3`,{className:`text-lg font-semibold text-gray-900 dark:text-white mb-4`,children:t.title},void 0,!1,{fileName:Oj,lineNumber:134,columnNumber:21},void 0),(0,E.jsxDEV)(`div`,{className:`flex flex-wrap gap-2 justify-center`,children:t.items.map(e=>(0,E.jsxDEV)(`span`,{className:`px-3 py-1 bg-gray-200 dark:bg-gray-600 rounded-full text-sm text-gray-700 dark:text-gray-300`,children:e},e,!1,{fileName:Oj,lineNumber:139,columnNumber:25},void 0))},void 0,!1,{fileName:Oj,lineNumber:137,columnNumber:21},void 0)]},e,!0,{fileName:Oj,lineNumber:125,columnNumber:19},void 0)),!t.skillCategories&&t.skillsList&&(0,E.jsxDEV)(`div`,{className:`col-span-2`,children:(0,E.jsxDEV)(`div`,{className:`flex flex-wrap gap-2 justify-center`,children:t.skillsList.map(e=>(0,E.jsxDEV)(`span`,{className:`px-4 py-2 bg-gray-100 dark:bg-gray-700 rounded-full text-gray-700 dark:text-gray-300`,children:e},e,!1,{fileName:Oj,lineNumber:153,columnNumber:25},void 0))},void 0,!1,{fileName:Oj,lineNumber:151,columnNumber:21},void 0)},void 0,!1,{fileName:Oj,lineNumber:150,columnNumber:19},void 0)]},void 0,!0,{fileName:Oj,lineNumber:123,columnNumber:15},void 0)]},void 0,!0,{fileName:Oj,lineNumber:121,columnNumber:13},void 0)]},void 0,!0,{fileName:Oj,lineNumber:88,columnNumber:11},void 0)]},void 0,!0,{fileName:Oj,lineNumber:77,columnNumber:9},void 0)},void 0,!1,{fileName:Oj,lineNumber:76,columnNumber:7},void 0),(0,E.jsxDEV)(bj,{url:n||``,isOpen:n!==null,onClose:()=>r(null),onConfirm:a},void 0,!1,{fileName:Oj,lineNumber:169,columnNumber:7},void 0)]},void 0,!0,{fileName:Oj,lineNumber:75,columnNumber:5},void 0)},Aj=`/opt/src/frontend/src/components/LoginPage.tsx`,jj=()=>{let e=xt(),t=vt(),{isAuthenticated:n,login:r,authenticatedRequest:i}=Zn(),{translations:a}=rr(),[o,s]=(0,S.useState)(!1),[c,l]=(0,S.useState)(null),u=(0,S.useRef)(!1);(0,S.useEffect)(()=>{if(n){let t=sessionStorage.getItem(`redirectAfterLogin`)||`/`;sessionStorage.removeItem(`redirectAfterLogin`),e(t)}},[n,e]),(0,S.useEffect)(()=>{let n=new URLSearchParams(t.search),r=n.get(`code`),i=n.get(`state`);r&&i&&!u.current&&(u.current=!0,e(t.pathname,{replace:!0}),f(r,i))},[t,e]);let d=async()=>{if(!o){s(!0),l(null);try{let e=await fetch(`/api/auth/login`,{method:`GET`,credentials:`include`});if(e.ok){let{authorizationUrl:t,state:n}=await e.json();localStorage.setItem(`oauth_state`,n),window.location.href=t}else throw Error(`Failed to initiate login process`)}catch(e){Kn.error(`Login failed`,e),l(a.login.error),s(!1)}}},f=async(t,n)=>{if(s(!0),l(null),n!==localStorage.getItem(`oauth_state`)){l(`Invalid state parameter`),s(!1);return}try{let a=await i(`/api/auth/callback`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({code:t,state:n})});if(a.ok){let{token:t}=await a.json();await r(t);let n=sessionStorage.getItem(`redirectAfterLogin`)||`/`;sessionStorage.removeItem(`redirectAfterLogin`),e(n)}else throw Error(`Failed to exchange code for token`)}catch(e){Kn.error(`Token exchange failed`,e),l(a.login.error)}finally{s(!1),localStorage.removeItem(`oauth_state`)}};return(0,E.jsxDEV)(`div`,{className:`container mx-auto p-4 dark:bg-gray-800 min-h-full w-full pt-6 pb-12 flex flex-col items-center justify-center`,children:[(0,E.jsxDEV)(`h1`,{className:`text-3xl font-bold mb-4 dark:text-white`,children:a.login.title},void 0,!1,{fileName:Aj,lineNumber:110,columnNumber:7},void 0),(0,E.jsxDEV)(`div`,{className:`text-center`,children:[(0,E.jsxDEV)(`button`,{onClick:d,disabled:o,className:`bg-blue-500 hover:bg-blue-700 dark:bg-blue-600 dark:hover:bg-blue-800 text-white font-bold py-2 px-4 rounded transition duration-300 ${o?`opacity-50 cursor-not-allowed`:``}`,children:o?a.login.loading:a.login.loginWith},void 0,!1,{fileName:Aj,lineNumber:112,columnNumber:9},void 0),c&&(0,E.jsxDEV)(`p`,{className:`text-red-500 mt-2`,children:c},void 0,!1,{fileName:Aj,lineNumber:122,columnNumber:11},void 0)]},void 0,!0,{fileName:Aj,lineNumber:111,columnNumber:7},void 0)]},void 0,!0,{fileName:Aj,lineNumber:109,columnNumber:5},void 0)},Mj=`2.0.10`,Nj=500,Pj=`user-agent`,Fj=``,Ij=`?`,Lj={FUNCTION:`function`,OBJECT:`object`,STRING:`string`,UNDEFINED:`undefined`},Rj=`browser`,zj=`cpu`,Bj=`device`,Vj=`engine`,Hj=`os`,Uj=`result`,V=`name`,H=`type`,U=`vendor`,W
vendor: 3,181 bytes, line 1774
1774=`version`,Wj=`architecture`,Gj=`major`,G=`model`,Kj=`console`,qj=`mobile`,Jj=`tablet`,Yj=`smarttv`,Xj=`wearable`,Zj=`xr`,Qj=`embedded`,$j=`fetcher`,eM=`inapp`,tM=`brands`,nM=`formFactors`,rM=`fullVersionList`,iM=`platform`,aM=`platformVersion`,oM=`bitness`,sM=`sec-ch-ua`,cM=sM+`-full-version-list`,lM=sM+`-arch`,uM=sM+`-`+oM,dM=sM+`-form-factors`,fM=sM+`-`+qj,pM=sM+`-`+G,mM=sM+`-`+iM,hM=mM+`-version`,gM=[tM,rM,qj,G,iM,aM,Wj,nM,oM],_M=`Amazon`,vM=`Apple`,yM=`ASUS`,bM=`BlackBerry`,xM=`Google`,SM=`Huawei`,CM=`Lenovo`,wM=`Honor`,TM=`LG`,EM=`Microsoft`,DM=`Motorola`,OM=`Nvidia`,kM=`OnePlus`,AM=`OPPO`,jM=`Samsung`,MM=`Sharp`,NM=`Sony`,PM=`Xiaomi`,FM=`Zebra`,IM=`Chrome`,LM=`Chromium`,RM=`Chromecast`,zM=`Edge`,BM=`Firefox`,VM=`Opera`,HM=`Facebook`,UM=`Sogou`,WM=`Mobile `,GM=` Browser`,KM=`Windows`,qM=typeof window!==Lj.UNDEFINED&&window.navigator?window.navigator:void 0,JM=qM&&qM.userAgentData?qM.userAgentData:void 0,YM=function(e,t){var n={},r=t;if(!QM(t))for(var i in r={},t)for(var a in t[i])r[a]=t[i][a].concat(r[a]?r[a]:[]);for(var o in e)n[o]=r[o]&&r[o].length%2==0?r[o].concat(e[o]):e[o];return n},XM=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t},ZM=function(e,t){if(typeof e===Lj.OBJECT&&e.length>0){for(var n in e)if(tN(t)==tN(e[n]))return!0;return!1}return $M(e)?tN(t)==tN(e):!1},QM=function(e,t){for(var n in e)return/^(browser|cpu|device|engine|os)$/.test(n)||(t?QM(e[n]):!1)},$M=function(e){return typeof e===Lj.STRING},eN=function(e){if(e){for(var t=[],n=rN(e).split(`,`),r=0;r<n.length;r++)if(n[r].indexOf(`;`)>-1){var i=oN(n[r]).split(`;v=`);t[r]={brand:i[0],version:i[1]}}else t[r]=oN(n[r]);return t}},tN=function(e){return $M(e)?e.toLowerCase():e},nN=function(e){return $M(e)?aN(/[^\d\.]/g,e).split(`.`)[0]:void 0},rN=function(e){return $M(e)?oN(aN(/\\?\"/g,e),Nj):void 0},iN=function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];typeof n==Lj.OBJECT&&n.length==2?this[n[0]]=n[1]:this[n]=void 0}return this},aN=function(e,t){return $M(t)?t.replace(e,Fj):t},oN=function(e,t){return e=aN(/^\s\s*/,String(e)),typeof t===Lj.UNDEFINED?e:e.substring(0,t)},sN=function(e,t){if(!(!e||!t))for(var n=0,r,i,a,o,s,c;n<t.length&&!s;){var l=t[n],u=t[n+1];for(r=i=0;r<l.length&&!s&&l[r];)if(s=l[r++].exec(e),s)for(a=0;a<u.length;a++)c=s[++i],o=u[a],typeof o===Lj.OBJECT&&o.length>0?o.length===2?typeof o[1]==Lj.FUNCTION?this[o[0]]=o[1].call(this,c):this[o[0]]=o[1]:o.length>=3&&(typeof o[1]===Lj.FUNCTION&&!(o[1].exec&&o[1].test)?o.length>3?this[o[0]]=c?o[1].apply(this,o.slice(2)):void 0:this[o[0]]=c?o[1].call(this,c,o[2]):void 0:o.length==3?this[o[0]]=c?c.replace(o[1],o[2]):void 0:o.length==4?this[o[0]]=c?o[3].call(this,c.replace(o[1],o[2])):void 0:o.length>4&&(this[o[0]]=c?o[3].apply(this,[c.replace(o[1],o[2])].concat(o.slice(4))):void 0)):this[o]=c||void 0;n+=2}},cN=function(e,t){return t.test.test(e)?t.ifTrue:t.ifFalse},lN=function(e,t){for(var n in t)if(typeof t[n]===Lj.OBJECT&&t[n].length>0){for(var r=0;r<t[n].length;r++)if(ZM(t[n][r],e))return n===Ij?void 0:n}else if(ZM(t[n],e))return n===Ij?void 0:n;return t.hasOwnProperty(`*`)?t[`*`]:e},uN={ME:`4.90`,"NT 3.51":`3.51`,"NT 4.0":`4.0`,2e3:[`5.0`,`5.01`],XP:[`5.
17741`,`5.2`],Vista:`6.0`,7:`6.1`,8:`6.2`,"8.1":`6.3`,10:[`6.4`,`10.0`],NT:``},dN={embedded:`Automotive`,mobile:`Mobile`,tablet:[`Tablet`,`EInk`],smarttv:`TV`,wearable:`Watch`,xr:[`VR`,`XR`],"?":[`Desktop`,`Unknown`],"*":void 0},fN={Chrome:`Google Chrome`,Edge:`Microsoft Edge`,"Edge WebView2":`Microsoft Edge WebView2`,"Chrome WebView":`Android WebView`,"Chrome Headless":`HeadlessChrome`,"Huawei Browser":`HuaweiBrowser`,"MIUI Browser":`Miui Browser`,"Opera Mobi":`OperaMobile`,Yandex:`YaBrowser`},pN={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[W,[V,WM+`Chrome`]],[/webview.+edge\/([\w\.]+)/i],[W,[V,zM+` WebView`],[H,eM]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[W,[V,`Edge`]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[V,W],[/opios[\/ ]+([\w\.]+)/i],[W,[V,VM+` Mini`]],[/\bop(?:rg)?x\/([\w\.]+)/i],[W,[V,VM+` GX`]],[/\bopr\/([\w\.]+)/i],[W,[V,VM]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[W,[V,`Baidu`]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[W,[V,`Maxthon`]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(atlas|flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:hi|lg |ovi|qute)browser|palemoon)\/v?([-\w\.]+)/i,/(brave)(?: chrome)?\/([\d\.]+)/i,/(aloha|heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,/(qwant)(?:ios|mobile)\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[V,W],[/quark(?:pc)?\/([-\w\.]+)/i],[W,[V,`Quark`]],[/\bddg\/([\w\.]+)/i],[W,[V,`DuckDuckGo`]],[/(?:\buc? ?browser|(?:juc.+)ucweb| ucpc)[\/ ]?([\w\.]+)/i],[W,[V,`UCBrowser`]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[W,[V,`WeChat`]],[/konqueror\/([\w\.]+)/i],[W,[V,`Konqueror`]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[W,[V,`IE`]],[/ya(?:search)?browser\/([\w\.]+)/i],[W,[V,`Yandex`]],[/slbrowser\/([\w\.]+)/i],[W,[V,`Smart `+CM+GM]],[/(av(?:ast|g|ira))\/([\w\.]+)/i],[[V,/(.+)
vendor: 1,674 bytes, line 1774
1774/,`$1 Secure`+GM],W],[/norton\/([\w\.]+)/i],[W,[V,`Norton Private`+GM]],[/\bfocus\/([\w\.]+)/i],[W,[V,BM+` Focus`]],[/ mms\/([\w\.]+)$/i],[W,[V,VM+` Neon`]],[/ opt\/([\w\.]+)$/i],[W,[V,VM+` Touch`]],[/coc_coc\w+\/([\w\.]+)/i],[W,[V,`Coc Coc`]],[/dolfin\/([\w\.]+)/i],[W,[V,`Dolphin`]],[/coast\/([\w\.]+)/i],[W,[V,VM+` Coast`]],[/miuibrowser\/([\w\.]+)/i],[W,[V,`MIUI`+GM]],[/fxios\/([\w\.-]+)/i],[W,[V,WM+BM]],[/\bqihoobrowser\/?([\w\.]*)/i],[W,[V,`360`]],[/\b(qq)\/([\w\.]+)/i],[[V,/(.+)/,`$1Browser`],W],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[V,/(.+)/,`$1`+GM],W],[/ HBPC\/([\w\.]+)/],[W,[V,SM+GM]],[/samsungbrowser\/([\w\.]+)/i],[W,[V,jM+` Internet`]],[/metasr[\/ ]?([\d\.]+)/i],[W,[V,UM+` Explorer`]],[/(sogou)mo\w+\/([\d\.]+)/i],[[V,UM+` Mobile`],W],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[V,W],[/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i],[V],[/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i],[W,V],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[V,HM],W,[H,eM]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(bing)(?:web|sapphire)\/([\w\.]+)/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[V,W,[H,eM]],[/\bgsa\/([\w\.]+) .*safari\//i],[W,[V,`GSA`],[H,eM]],[/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i],[W,[V,`TikTok`],[H,eM]],[/\[(linkedin)app\]/i],[V,[H,eM]],[/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i],[[V,/(.+)
vendor: 13,152 bytes, line 1774
1774/,`Zalo`],W,[H,eM]],[/(chromium)[\/ ]([-\w\.]+)/i],[V,W],[/ome-(lighthouse)$/i],[V,[H,$j]],[/headlesschrome(?:\/([\w\.]+)| )/i],[W,[V,IM+` Headless`]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[W,[V,zM+` WebView2`],[H,eM]],[/; wv\).+(chrome)\/([\w\.]+)/i],[[V,IM+` WebView`],W,[H,eM]],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[W,[V,`Android`+GM]],[/chrome\/([\w\.]+) mobile/i],[W,[V,WM+`Chrome`]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[V,W],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[W,[V,WM+`Safari`]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[V,WM+`Safari`]],[/version\/([\w\.\,]+) .*(safari)/i],[W,V],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[V,[W,`1`]],[/(webkit|khtml)\/([\w\.]+)/i],[V,W],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[V,WM+BM],W],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[V,`Netscape`],W],[/(wolvic|librewolf)\/([\w\.]+)/i],[V,W],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[W,[V,BM+` Reality`]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[V,[W,/_/g,`.`]],[/(cobalt)\/([\w\.]+)/i],[V,[W,/[^\d\.]+./,Fj]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[Wj,`amd64`]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[Wj,`ia32`]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[Wj,`arm64`]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[Wj,`armhf`]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[Wj,`arm`]],[/ sun4\w[;\)]/i],[[Wj,`sparc`]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,/((ppc|powerpc)(64)?)( mac|;|\))/i,/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i],[[Wj,/ower/,Fj,tN]],[/mc680.0/i],[[Wj,`68k`]],[/winnt.+\[axp/i],[[Wj,`alpha`]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[G,[U,jM],[H,Jj]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[G,[U,jM],[H,qj]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i],[G,[U,vM],[H,qj]],[/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i],[G,[U,vM],[H,Jj]],[/(macintosh);/i],[G,[U,vM]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[G,[U,MM],[H,qj]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[G,[U,wM],[H,Jj]],[/honor([-\w ]+)[;\)]/i],[G,[U,wM],[H,qj]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[G,[U,SM],[H,Jj]],[/(?:huawei) ?([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i],[G,[U,SM],[H,qj]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[G,/_/g,` `],[U,PM],[H,Jj]],[/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,/; ([\w ]+) miui\/v?\d/i],[[G,/_/g,` `],[U,PM],[H,qj]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[G,[U,kM],[H,qj]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[G,[U,AM],[H,qj]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[G,[U,lN,{OnePlus:[`203`,`304`,`403`,`404`,`413`,`415`],"*":AM}],[H,Jj]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[G,[U,`BLU`],[H,qj]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[G,[U,`Vivo`],[H,qj]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[G,[U,`Realme`],[H,qj]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[G,[U,CM],[H,Jj]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[G,[U,CM],[H,qj]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[G,[U,DM],[H,qj]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[G,[U,DM],[H,Jj]],[/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[G,[U,TM],[H,Jj]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[G,[U,TM],[H,qj]],[/(nokia) (t[12][01])/i],[U,G,[H,Jj]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i],[[G,/_/g,` `],[H,qj],[U,`Nokia`]],[/(pixel (c|tablet))\b/i],[G,[U,xM],[H,Jj]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[G,[U,xM],[H,qj]],[/(google) (pixelbook( go)?)/i],[U,G],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[G,[U,NM],[H,qj]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[G,`Xperia Tablet`],[U,NM],[H,Jj]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[G,[U,_M],[H,Jj]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[G,/(.+)/g,`Fire Phone $1`],[U,_M],[H,qj]],[/(playbook);[-\w\),; ]+(rim)/i],[G,U,[H,Jj]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/(?:blackberry|\(bb10;) (\w+)/i],[G,[U,bM],[H,qj]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[G,[U,yM],[H,Jj]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[G,[U,yM],[H,qj]],[/(nexus 9)/i],[G,[U,`HTC`],[H,Jj]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[U,[G,/_/g,` `],[H,qj]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[G,[U,`TCL`],[H,Jj]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[G,[U,`TCL`],[H,qj]],[/(itel) ((\w+))/i],[[U,tN],G,[H,lN,{tablet:[`p10001l`,`w7001`],"*":`mobile`}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[G,[U,`Acer`],[H,Jj]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[G,[U,`Meizu`],[H,qj]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[G,[U,`Ulefone`],[H,qj]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[G,[U,`Energizer`],[H,qj]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[G,[U,`Cat`],[H,qj]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[G,[U,`Smartfren`],[H,qj]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[G,[U,`Nothing`],[H,qj]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[G,[U,`Archos`],[H,Jj]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[G,[U,`Archos`],[H,qj]],[/blackview ([-\w ]+)( b|\))/i,/; (bv\d{4}[-\w ]*)( b|\))/i],[G,[U,`Blackview`],[H,qj]],[/; (n159v)/i],[G,[U,`HMD`],[H,qj]],[/((revvl[ \w\+]+|tm(?:rv|af)\w*[45]g(?:tb)?))( b|\))/i],[G,[H,cN,{test:/ta?b/i,ifTrue:Jj,ifFalse:qj}],[U,`T-Mobile`]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[U,G,[H,Jj]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|coolpad|cubot|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([-\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i,/(hisense) ([ehv][\w ]+)\)/i,/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i],[U,G,[H,qj]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[U,G,[H,Jj]],[/(surface duo)/i],[G,[U,EM],[H,Jj]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[G,[U,`Fairphone`],[H,qj]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[G,[U,OM],[H,Jj]],[/(sprint) (\w+)/i],[U,G,[H,qj]],[/(kin\.[onetw]{3})/i],[[G,/\./g,` `],[U,EM],[H,qj]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[G,[U,FM],[H,Jj]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[G,[U,FM],[H,qj]],[/(philips)[\w ]+tv/i,/smart-tv.+(samsung)/i],[U,[H,Yj]],[/hbbtv.+maple;(\d+)/i],[[G,/^/,`SmartTV`],[U,jM],[H,Yj]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[U,G,[H,Yj]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[U,TM],[H,Yj]],[/(apple) ?tv/i],[U,[G,vM+` TV`],[H,Yj]],[/crkey.*devicetype\/chromecast/i],[[G,RM+` Third Generation`],[U,xM],[H,Yj]],[/crkey.*devicetype\/([^/]*)/i],[[G,/^/,`Chromecast `],[U,xM],[H,Yj]],[/fuchsia.*crkey/i],[[G,RM+` Nest Hub`],[U,xM],[H,Yj]],[/crkey/i],[[G,RM],[U,xM],[H,Yj]],[/(portaltv)/i],[G,[U,HM],[H,Yj]],[/droid.+aft(\w+)( bui|\))/i],[G,[U,_M],[H,Yj]],[/(shield \w+ tv)/i],[G,[U,OM],[H,Yj]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[G,[U,MM],[H,Yj]],[/(bravia[\w ]+)( bui|\))/i],[G,[U,NM],[H,Yj]],[/(mi(tv|box)-?\w+) bui/i],[G,[U,PM],[H,Yj]],[/Hbbtv.*(technisat) (.*);/i],[U,G,[H,Yj]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[U,/.+\/(\w+)/,`$1`,lN,{LG:`lge`}],[G,oN],[H,Yj]],[/(playstation \w+)/i],[G,[U,NM],[H,Kj]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[G,[U,EM],[H,Kj]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i,/(valve).+(steam deck)/i,/droid.+; ((shield|rgcube|gr0006))( bui|\))/i],[[U,lN,{Nvidia:`Shield`,Anbernic:`RGCUBE`,Logitech:`GR0006`}],G,[H,Kj]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[G,[U,jM],[H,Xj]],[/((pebble))app/i,/(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[U,G,[H,Xj]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[G,[U,AM],[H,Xj]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[G,[U,vM],[H,Xj]],[/(opwwe\d{3})/i],[G,[U,kM],[H,Xj]],[/(moto 360)/i],[G,[U,DM],[H,Xj]],[/(smartwatch 3)/i],[G,[U,NM],[H,Xj]],[/(g watch r)/i],[G,[U,TM],[H,Xj]],[/droid.+; (wt63?0{2,3})\)/i],[G,[U,FM],[H,Xj]],[/droid.+; (glass) \d/i],[G,[U,xM],[H,Zj]],[/(pico) ([\w ]+) os\d/i],[U,G,[H,Zj]],[/(quest( \d| pro)?s?).+vr/i],[G,[U,HM],[H,Zj]],[/mobile vr; rv.+firefox/i],[[H,Zj]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[U,[H,Qj]],[/(aeobc)\b/i],[G,[U,_M],[H,Qj]],[/(homepod).+mac os/i],[G,[U,vM],[H,Qj]],[/windows iot/i],[[H,Qj]],[/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i],[G,[H,Yj]],[/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i],[[H,Yj]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i],[G,[H,lN,{mobile:`Mobile`,xr:`VR`,"*":Jj}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[H,Jj]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[H,qj]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[G,[U,`Generic`]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[W,[V,zM+`HTML`]],[/(arkweb)\/([\w\.]+)/i],[V,W],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[W,[V,`Blink`]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links|dillo)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[V,W],[/ladybird\//i],[[V,`LibWeb`]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[W,V]],os:[[/(windows nt) (6\.[23]); arm/i],[[V,/N/,`R`],[W,lN,uN]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[V,W],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[W,/(;|\))/g,``,lN,uN],[V,KM]],[/(windows ce)\/?([\d\.]*)/i],[V,W],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv|ios(?=.+ip(?:ad|hone)|.+apple ?tv)|ip(?:ad|hone)(?: |.+i(?:pad)?)os|apple ?tv.+ios)[\/ ]([\w\.]+)/i,/\btvos ?([\w\.]+)/i,/cfnetwork\/.+darwin/i],[[W,/_/g,`.`],[V,`iOS`]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[V,`macOS`],[W,/_/g,`.`]],[/android ([\d\.]+).*crkey/i],[W,[V,RM+` Android`]],[/fuchsia.*crkey\/([\d\.]+)/i],[W,[V,RM+` Fuchsia`]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[W,[V,RM+` SmartSpeaker`]],[/linux.*crkey\/([\d\.]+)/i],[W,[V,RM+` Linux`]],[/crkey\/([\d\.]+)/i],[W,[V,RM]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[W,V],[/(ubuntu) ([\w\.]+) like android/i],[[V,/(.+)
vendor: 4,333 bytes, line 1774
1774/,`$1 Touch`],W],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[V,W],[/\(bb(10);/i],[W,[V,bM]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[W,[V,`Symbian`]],[/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i],[W,[V,BM+` OS`]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[W,[V,`webOS`]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[W,lN,{25:`120`,24:`108`,23:`94`,22:`87`,6:`79`,5:`68`,4:`53`,3:`38`,2:`538`,1:`537`,"*":`TV`}],[V,`webOS`]],[/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i],[W,[V,`watchOS`]],[/cros [\w]+(?:\)| ([\w\.]+)\b)/i],[W,[V,`Chrome OS`]],[/kepler ([\w\.]+); (aft|aeo)/i],[W,[V,`Vega OS`]],[/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[V,W],[/(sunos) ?([\d\.]*)/i],[[V,`Solaris`],W],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[V,W]]},mN=(function(){var e={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}};return iN.call(e.init,[[Rj,[V,W,Gj,H]],[zj,[Wj]],[Bj,[H,G,U]],[Vj,[V,W]],[Hj,[V,W]]]),iN.call(e.isIgnore,[[Rj,[W,Gj]],[Vj,[W]],[Hj,[W]]]),iN.call(e.isIgnoreRgx,[[Rj,/ ?browser$/i],[Hj,/ ?os$/i]]),iN.call(e.toString,[[Rj,[V,W]],[zj,[Wj]],[Bj,[U,G]],[Vj,[V,W]],[Hj,[V,W]]]),e})(),hN=function(e,t){var n=mN.init[t],r=mN.isIgnore[t]||0,i=mN.isIgnoreRgx[t]||0,a=mN.toString[t]||0;function o(){iN.call(this,n)}return o.prototype.getItem=function(){return e},o.prototype.withClientHints=function(){return JM?JM.getHighEntropyValues(gM).then(function(t){return e.setCH(new gN(t,!1)).parseCH().get()}):e.parseCH().get()},o.prototype.withFeatureCheck=function(){return e.detectFeature().get()},t!=Uj&&(o.prototype.is=function(e){var t=!1;for(var n in this)if(this.hasOwnProperty(n)&&!ZM(r,n)&&tN(i?aN(i,this[n]):this[n])==tN(i?aN(i,e):e)){if(t=!0,e!=Lj.UNDEFINED)break}else if(e==Lj.UNDEFINED&&t){t=!t;break}return t},o.prototype.toString=function(){var e=Fj;for(var t in a)typeof this[a[t]]!==Lj.UNDEFINED&&(e+=(e?` `:Fj)+this[a[t]]);return e||Lj.UNDEFINED}),o.prototype.then=function(e){var t=this,n=function(){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e])};n.prototype={is:o.prototype.is,toString:o.prototype.toString,withClientHints:o.prototype.withClientHints,withFeatureCheck:o.prototype.withFeatureCheck};var r=new n;return e(r),r},new o};function gN(e,t){if(e||={},iN.call(this,gM),t)iN.call(this,[[tM,eN(e[sM])],[rM,eN(e[cM])],[qj,/\?1/.test(e[fM])],[G,rN(e[pM])],[iM,rN(e[mM])],[aM,rN(e[hM])],[Wj,rN(e[lM])],[nM,eN(e[dM])],[oM,rN(e[uM])]]);else for(var n in e)this.hasOwnProperty(n)&&typeof e[n]!==Lj.UNDEFINED&&(this[n]=e[n])}function _N(e,t,n,r){return iN.call(this,[[`itemType`,e],[`ua`,t],[`uaCH`,r],[`rgxMap`,n],[`data`,hN(this,e)]]),this}_N.prototype.get=function(e){return e?this.data.hasOwnProperty(e)?this.data[e]:void 0:this.data},_N.prototype.set=function(e,t){return this.data[e]=t,this},_N.prototype.setCH=function(e){return this.uaCH=e,this},_N.prototype.detectFeature=function(){if(qM&&qM.userAgent==this.ua)switch(this.itemType){case Rj:qM.brave&&typeof qM.brave.isBrave==Lj.FUNCTION&&this.set(V,`Brave`);break;case Bj:!this.get(H)&&JM&&JM[qj]&&this.set(H,qj),this.get(G)==`Macintosh`&&qM&&typeof qM.standalone!==Lj.UNDEFINED&&qM.maxTouchPoints&&qM.maxTouchPoints>2&&this.set(G,`iPad`).set(H,Jj);break;case Hj:!this.get(V)&&JM&&JM[iM]&&this.set(V,JM[iM]);break;case Uj:var e=this.data,t=function(t){return e[t].getItem().detectFeature
1774().get()};this.set(Rj,t(Rj)).set(zj,t(zj)).set(Bj,t(Bj)).set(Vj,t(Vj)).set(Hj,t(Hj))}return this},_N.prototype.parseUA=function(){switch(this.itemType!=Uj&&sN.call(this.data,this.ua,this.rgxMap),this.itemType){case Rj:this.set(Gj,nN(this.get(W)));break;case Hj:if(this.get(V)==`iOS`&&this.get(W)&&/^1[89][^\d]/.exec(this.get(W))){var e=/\) Version\/((\d+)[\d\.]*)/.exec(this.ua);e&&parseInt(e[2],10)>=26&&this.set(W,e[1])}}return this},_N.prototype.parseCH=function(){var e=this.uaCH,t=this.rgxMap;switch(this.itemType){case Rj:case Vj:var n=e[rM]||e[tM],r;if(n)for(var i=0;i<n.length;i++){var a=n[i].brand||n[i],o=n[i].version;this.itemType==Rj&&!/not.a.brand/i.test(a)&&(!r||/Chrom/.test(r)&&a!=LM||r==zM&&/WebView2/.test(a))&&(a=lN(a,fN),r=this.get(V),r&&!/Chrom/.test(r)&&/Chrom/.test(a)||this.set(V,a).set(W,o).set(Gj,nN(o)),r=a),this.itemType==Vj&&a==LM&&this.set(W,o)}break;case zj:var s=e[Wj];s&&(s&&e[oM]==`64`&&(s+=`64`),sN.call(this.data,s+`;`,t));break;case Bj:if(e[qj]&&this.set(H,qj),e[G]&&(this.set(G,e[G]),!this.get(H)||!this.get(U))){var c={};sN.call(c,`droid 9; `+e[G]+`)`,t),!this.get(H)&&c.type&&this.set(H,c.type),!this.get(U)&&c.vendor&&this.set(U,c.vendor)}if(e[nM]){var l;if(typeof e[nM]!=`string`)for(var u=0;!l&&u<e[nM].length;)l=lN(e[nM][u++],dN);else l=lN(e[nM],dN);this.set(H,l)}break;case Hj:var d=e[iM];if(d){var f=e[aM];d==KM&&(f=parseInt(nN(f),10)>=13?`11`:`10`),this.set(V,d).set(W,f)}this.get(V)==KM&&e[G]==`Xbox`&&this.set(V,`Xbox`).set(W,void 0);break;case Uj:var p=this.data,m=function(t){return p[t].getItem().setCH(e).parseCH().get()};this.set(Rj,m(Rj)).set(zj,m(zj)).set(Bj,m(Bj)).set(Vj,m(Vj)).set(Hj,m(Hj))}return this};function vN(e,t,n){if(typeof e===Lj.OBJECT?(QM(e,!0)?(typeof t===Lj.OBJECT&&(n=t),t=e):(n=e,t=void 0),e=void 0):typeof e===Lj.STRING&&!QM(t,!0)&&(n=t,t=void 0),n)if(typeof n.append===Lj.FUNCTION){var r={};n.forEach(function(e,t){r[String(t).toLowerCase()]=e}),n=r}else{var i={};for(var a in n)n.hasOwnProperty(a)&&(i[String(a).toLowerCase()]=n[a]);n=i}if(!(this instanceof vN))return new vN(e,t,n).getResult();var o=typeof e===Lj.STRING?e:n&&n[Pj]?n[Pj]:qM&&qM.userAgent?qM.userAgent:Fj,s=new gN(n,!0),c=pN,l=function(e){return e==Uj?function(){return new _N(e,o,c,s).set(`ua`,o).set(Rj,this.getBrowser()).set(zj,this.getCPU()).set(Bj,this.getDevice()).set(Vj,this.getEngine()).set(Hj,this.getOS()).get()}:function(){return new _N(e,o,c[e],s).parseUA().get()}};return iN.call(this,[[`getBrowser`,l(Rj)],[`getCPU`,l(zj)],[`getDevice`,l(Bj)],[`getEngine`,l(Vj)],[`getOS`,l(Hj)],[`getResult`,l(Uj)],[`getUA`,function(){return o}],[`setUA`,function(e){return $M(e)&&(o=oN(e,Nj)),this}],[`useExtension`,function(e){return e&&(c=YM(c,e)),this}]]).setUA(o).useExtension(t),this}vN.VERSION=Mj,vN.BROWSER=XM([V,W,Gj,H]),vN.CPU=XM([Wj]),vN.DEVICE=XM([G,U,H,Kj,qj,Yj,Jj,Xj,Qj]),vN.ENGINE=vN.OS=XM([V,W]);function yN(e){if(!e)return{browser:`Unknown`,os:`Unknown`};let t=new vN(e),n=t.getBrowser(),r=t.getOS(),i=n.name??`Unknown`,a=n.major??``,o=a?`${i} ${a}`:i,s=r.name??`Unknown`,c=r.version??``,l=c?`${s} ${c}`:s;return{browser:o===`Unknown`?`Unknown`:o,os:l===`Unknown`?`Unknown`:l}}var bN=`/opt/src/frontend/src/components/LoginHistoryTable.tsx`,xN=({loginHistory:e})=>e.length===0?null:(0,E.jsxDEV)(`div`,{className:`mt-6 pt-6 border-t border-gray-200 dark:border-gray-700`,children:[(0,E.jsxDEV)(`h3`,{className:`text-sm font-semibold mb-3 text-gray-900 dark:text-white`,children:`Login History`},void 0,!1,{fileName:bN,lineNumber:19,columnNumber:7},void 0),(0,E.jsxDEV)(`div`,{className:`overflow-x-auto`,children:(0,E.jsxDEV)(`table`,{className:`w-full text-xs text-left text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`thead`,{children:(0,E.jsxDEV)(`tr`,{className:`border-b border-gray-200 dark:border-gray-600`,children:[(0,E.jsxDEV)(`th`,{className:`py-2 pr-4 font-medium text-gray-500 dark:text-gray-400`,children:`Browser`},void 0,!1,{fileName:bN,lineNumber:24,columnNumber:15},void 0),(0,E.jsxDEV)(`th`,{className:`py-2 pr-4 font-medium text-gray-500 dark:text-gray-400`,children:`OS`},void 0,!1,{fileName:bN,lineNumber:25,columnNumber:15},void 0),(0,E.jsxDEV)(`th`,{className:`py-2 pr-4 font-medium text-gray-500 dark:text-gray-400`,children:`IP`},void 0,!1,{fileName:bN,lineNumber:26,columnNumber:15},void 0),(0,E.jsxDEV)(`th`,{className:`py-2 font-medium text-gray-500 dark:text-gray-400`,children:`Date`},void 0,!1,{fileName:bN,lineNumber:27,columnNumber:15},void 0)]},void 0,!0,{fileName:bN,lineNumber:23,columnNumber:13},void 0)},void 0,!1,{fileName:bN,lineNumber:22,columnNumber:11},void 0),(0,E.jsxDEV)(`tbody`,{children:e.map((e,t)=>{let{browser:n,os:r}=yN(e.userAgent);return(0,E.jsxDEV)(`tr`,{className:`border-b border-gray-100 dark:border-gray-700 last:border-0`,children:[(0,E.jsxDEV)(`td`,{className:`py-2 pr-4`,children:n},void 0,!1,{fileName:bN,lineNumber:35,columnNumber:19},void 0),(0,E.jsxDEV)(`td`,{className:`py-2 pr-4`,children:r},void 0,!1,{fileName:bN,lineNumber:36,columnNumber:19},void 0),(0,E.jsxDEV)(`td`,{className:`py-2 pr-4`,children:e.ip??`Unknown`},void 0,!1,{fileName:bN,lineNumber:37,columnNumber:19},void 0),(0,E.jsxDEV)(`td`,{className:`py-2`,children:new Date(e.timestamp).toLocaleStr
1774ing()},void 0,!1,{fileName:bN,lineNumber:38,columnNumber:19},void 0)]},t,!0,{fileName:bN,lineNumber:34,columnNumber:17},void 0)})},void 0,!1,{fileName:bN,lineNumber:30,columnNumber:11},void 0)]},void 0,!0,{fileName:bN,lineNumber:21,columnNumber:9},void 0)},void 0,!1,{fileName:bN,lineNumber:20,columnNumber:7},void 0)]},void 0,!0,{fileName:bN,lineNumber:18,columnNumber:5},void 0),SN=`/opt/src/frontend/src/components/ProfilePage.tsx`,CN=()=>{let{isDarkMode:e,isRainbowMode:t,toggleTheme:n}=or(),{user:r,logout:i,updateUserPreferences:a}=Zn(),{translations:o,setLanguage:s}=rr(),c=t,l=r?.preferences?.discoveredRainbow;return r?(0,E.jsxDEV)(`div`,{className:`container mx-auto p-4`,children:(0,E.jsxDEV)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,E.jsxDEV)(`h1`,{className:`text-3xl font-bold mb-6 text-gray-800 dark:text-white flex items-center`,children:[(0,E.jsxDEV)(Fr,{className:`mr-3`},void 0,!1,{fileName:SN,lineNumber:65,columnNumber:11},void 0),` `,o.profile.title]},void 0,!0,{fileName:SN,lineNumber:64,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-6`,children:[(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-lg shadow-lg p-6`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold mb-6 text-gray-900 dark:text-white flex items-center`,children:[(0,E.jsxDEV)(Ir,{className:`mr-2`},void 0,!1,{fileName:SN,lineNumber:72,columnNumber:15},void 0),` `,o.profile.personalDetails]},void 0,!0,{fileName:SN,lineNumber:71,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center text-gray-700 dark:text-gray-300`,children:[(0,E.jsxDEV)(Fr,{className:`mr-3 text-blue-500 flex-shrink-0`},void 0,!1,{fileName:SN,lineNumber:77,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`p`,{className:`text-sm font-medium text-gray-500 dark:text-gray-400`,children:o.profile.name},void 0,!1,{fileName:SN,lineNumber:79,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`font-medium`,children:r.name},void 0,!1,{fileName:SN,lineNumber:82,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:78,columnNumber:17},void 0)]},void 0,!0,{fileName:SN,lineNumber:76,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-gray-700 dark:text-gray-300`,children:[(0,E.jsxDEV)(Fi,{className:`mr-3 text-blue-500 flex-shrink-0`},void 0,!1,{fileName:SN,lineNumber:86,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`p`,{className:`text-sm font-medium text-gray-500 dark:text-gray-400`,children:o.profile.email},void 0,!1,{fileName:SN,lineNumber:88,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`font-medium`,children:r.email},void 0,!1,{fileName:SN,lineNumber:91,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:87,columnNumber:17},void 0)]},void 0,!0,{fileName:SN,lineNumber:85,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-gray-700 dark:text-gray-300`,children:[(0,E.jsxDEV)(Ir,{className:`mr-3 text-blue-500 flex-shrink-0`},void 0,!1,{fileName:SN,lineNumber:95,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`p`,{className:`text-sm font-medium text-gray-500 dark:text-gray-400`,children:o.profile.username},void 0,!1,{fileName:SN,lineNumber:97,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`font-medium`,children:r.preferred_username},void 0,!1,{fileName:SN,lineNumber:100,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:96,columnNumber:17},void 0)]},void 0,!0,{fileName:SN,lineNumber:94,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-gray-700 dark:text-gray-300`,children:[(0,E.jsxDEV)(qi,{className:`mr-3 text-blue-500 flex-shrink-0`},void 0,!1,{fileName:SN,lineNumber:104,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`p`,{className:`text-sm font-medium text-gray-500 dark:text-gray-400`,children:o.profile.lastLogin},void 0,!1,{fileName:SN,lineNumber:106,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`font-medium`,children:(e=>{if(!e)return`Never`;let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/864e5),i=Math.floor(n/36e5),a=Math.floor(n/6e4);return a<1?`Just now`:a<60?`${a} minute${a===1?``:`s`} ago`:i<24?`${i} hour${i===1?``:`s`} ago`:r<7?`${r} day${r===1?``:`s`} ago`:t.toLocaleDateString()})(r.lastLogin)},void 0,!1,{fileName:SN,lineNumber:109,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:105,columnNumber:17},void 0)]},void 0,!0,{fileName:SN,lineNumber:103,columnNumber:15},void 0)]},void 0,!0,{fileName:SN,lineNumber:75,columnNumber:13},void 0),r.loginHistory&&(0,E.jsxDEV)(xN,{loginHistory:r.loginHistory},void 0,!1,{fileName:SN,lineNumber:115,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`mt-6 pt-6 border-t border-gray-200 dark:border-gray-700`,children:(0,E.jsxDEV)(`div`,{className:`flex items-center text-gray-700 dark:text-gray-300`,children:[(0,E.jsxDEV)(Pr,{className:`mr-3 text-blue-500 flex-shrink-0`},void 0,!1,{fileName:SN,lineNumber:121,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`p`,{className:`text-sm font-medium text-gray-500 dark:text-gray-400 mb-2`,children:o.profile.groups},void 0,!1,{fileName:SN,lineNumber:123,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`flex flex-wrap gap-2`,children:r.groups.map((e,t)=>(0,E.jsxDEV)(`span`,{className:`inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200`,children:e},t,!1,{fileName:SN,lineNumber:128,columnNumber:23},void 0))},void 0,!1,{fileName:SN,lineNumber:126,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:122,columnNumber:17},void 0)]},void 0,!0,{fileName:SN,lineNumber:120,columnNumber:15},void 0)},void 0,!1,{fileName:SN,lineNumber:119,columnNumber:13},void 0)]},void 0,!0,{fileName:SN,lineNumber:70,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-lg shadow-lg p-6`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold mb-6 text-gray-900 dark:text-white flex items-center`,children:[(0,E.jsxDEV)(ui,{className:`mr-2`},void 0,!1,{fileName:SN,lineNumber:144,columnNumber:15},void 0),` Settings`]},void 0,!0,{fileName:SN,lineNumber:143,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,E.jsxDEV)(`div`,{className:`text-gray-700 dark:text-gray-300`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center mb-2`,children:[(0,E.jsxDEV)(ui,{className:`mr-3 text-blue-500 flex-shrink-0`},void 0,!1,{fileName:SN,lineNumber:150,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-sm font-medium text-gray-500 dark:text-gray-400`,children:o.profile.themePreference},void 0,!1,{fileName:SN,lineNumber:151,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:149,columnNumber:17},void 0),l||c?(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`select`,{value:r.preferences?.theme||`system`,onChange:async e=>{let t=e.target.value;try{await a({theme:t}),window.location.reload()}catch(e){Kn.error(`Failed to update theme preference:`,e)}}
1774,className:`w-full py-2 px-4 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 mb-2 ${c?`bg-gradient-to-r from-red-100 via-yellow-100 to-purple-100 text-gray-800 font-medium border-2 border-purple-300`:`bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-white`}`,children:[(0,E.jsxDEV)(`option`,{value:`light`,children:o.profile.switchToLight.replace(`Switch to `,``)},void 0,!1,{fileName:SN,lineNumber:182,columnNumber:23},void 0),(0,E.jsxDEV)(`option`,{value:`dark`,children:o.profile.switchToDark.replace(`Switch to `,``)},void 0,!1,{fileName:SN,lineNumber:188,columnNumber:23},void 0),(0,E.jsxDEV)(`option`,{value:`system`,children:`System`},void 0,!1,{fileName:SN,lineNumber:194,columnNumber:23},void 0),(0,E.jsxDEV)(`option`,{value:`rainbow`,children:[o.profile.switchToRainbow?.replace(`Switch to `,``)||`Rainbow`,` `,`🌈`]},void 0,!0,{fileName:SN,lineNumber:195,columnNumber:23},void 0)]},void 0,!0,{fileName:SN,lineNumber:157,columnNumber:21},void 0),(0,E.jsxDEV)(`div`,{className:`mt-2 text-sm italic ${c?`font-medium animate-pulse`:`text-gray-500 dark:text-gray-400`}`,style:c?{animation:`rainbow-text 8s linear infinite`}:{},children:o.profile.rainbowDiscovered||`You've discovered the rainbow theme! 🌈`},void 0,!1,{fileName:SN,lineNumber:203,columnNumber:21},void 0)]},void 0,!0,{fileName:SN,lineNumber:156,columnNumber:19},void 0):(0,E.jsxDEV)(`button`,{onClick:n,className:`w-full bg-blue-500 hover:bg-blue-600 text-white font-medium py-2 px-4 rounded-md transition-colors duration-200 flex items-center justify-center`,children:[(0,E.jsxDEV)(ui,{className:`mr-2`},void 0,!1,{fileName:SN,lineNumber:224,columnNumber:21},void 0),c||e?o.profile.switchToLight:o.profile.switchToDark]},void 0,!0,{fileName:SN,lineNumber:220,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:148,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-700 dark:text-gray-300`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center mb-2`,children:[(0,E.jsxDEV)(wi,{className:`mr-3 text-blue-500 flex-shrink-0`},void 0,!1,{fileName:SN,lineNumber:237,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-sm font-medium text-gray-500 dark:text-gray-400`,children:o.profile.language},void 0,!1,{fileName:SN,lineNumber:238,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:236,columnNumber:17},void 0),(0,E.jsxDEV)(`select`,{value:r.preferences?.language||`en`,onChange:async e=>{let t=e.target.value;try{await a({language:t}),s(t)}catch(e){Kn.error(`Failed to update language preference:`,e)}},className:`w-full bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-white py-2 px-4 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500`,children:[(0,E.jsxDEV)(`option`,{value:`en`,children:`English`},void 0,!1,{fileName:SN,lineNumber:247,columnNumber:19},void 0),(0,E.jsxDEV)(`option`,{value:`de`,children:`Deutsch`},void 0,!1,{fileName:SN,lineNumber:248,columnNumber:19},void 0)]},void 0,!0,{fileName:SN,lineNumber:242,columnNumber:17},void 0)]},void 0,!0,{fileName:SN,lineNumber:235,columnNumber:15},void 0)]},void 0,!0,{fileName:SN,lineNumber:146,columnNumber:13},void 0)]},void 0,!0,{fileName:SN,lineNumber:142,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-lg shadow-lg p-6`,children:(0,E.jsxDEV)(`button`,{onClick:i,className:`w-full bg-red-500 hover:bg-red-600 text-white font-medium py-3 px-6 rounded-md transition-colors duration-200 flex items-center justify-center`,children:[(0,E.jsxDEV)(Jr,{className:`mr-2`},void 0,!1,{fileName:SN,lineNumber:260,columnNumber:15},void 0),o.profile.logout]},void 0,!0,{fileName:SN,lineNumber:256,columnNumber:13},void 0)},void 0,!1,{fileName:SN,lineNumber:255,columnNumber:11},void 0)]},void 0,!0,{fileName:SN,lineNumber:68,columnNumber:9},void 0)]},void 0,!0,{fileName:SN,lineNumber:63,columnNumber:7},void 0)},void 0,!1,{fileName:SN,lineNumber:62,columnNumber:5},void 0):(0,E.jsxDEV)(`div`,{children:o.profile.loading},void 0,!1,{fileName:SN,lineNumber:26,columnNumber:12},void 0)};function wN(e){return D({tag:`svg`,attr:{role:`img`,viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M11.351 2.715c-2.7 0-4.986.025-6.83.26C2.078 3.285 0 5.154 0 8.61c0 3.506.182 6.13 1.585 8.493 1.584 2.701 4.233 4.182 7.662 4.182h.83c4.209 0 6.494-2.234 7.637-4a9.5 9.5 0 0 0 1.091-2.338C21.792 14.688 24 12.22 24 9.208v-.415c0-3.247-2.13-5.507-5.792-5.87-1.558-.156-2.65-.208-6.857-.208m0 1.947c4.208 0 5.09.052 6.571.182 2.624.311 4.13 1.584 4.13 4v.39c0 2.156-1.792 3.844-3.87 3.844h-.935l-.156.649c-.208 1.013-.597 1.818-1.039 2.546-.909 1.428-2.545 3.064-5.922 3.064h-.805c-2.571 0-4.831-.883-6.078-3.195-1.09-2-1.298-4.155-1.298-7.506 0-2.181.857-3.402 3.012-3.714 1.533-.233 3.559-.26 6.39-.26m6.547 2.287c-.416 0-.65.234-.65.546v2.935c0 .311.234.545.65.545 1.324 0 2.051-.754 2.051-2s-.727-2.026-2.052-2.026m-10.39.182c-1.818 0-3.013 1.48-3.013 3.142 0 1.533.858 2.857 1.949 3.897.727.701 1.87 1.429 2.649 1.896a1.47 1.47 0 0 0 1.507 0c.78-.467 1.922-1.195 2.623-1.896 1.117-1.039 1.974-2.364 1.974-3.897 0-1.662-1.247-3.142-3.039-3.142-1.065 0-1.792.545-2.338 1.298-.493-.753-1.246-1.298-2.312-1.298`},child:[]}]})(e)}function TN(e){return D({tag:`svg`,attr:{role:`img`,viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{d:`M20.472,10.081H3.528c-0.877,0-1.589,0.711-1.589,1.589v10.59c0,0.877,0.711,1.589,1.589,1.589h16.944 c0.877,0,1.589-0.711,1.589-1.589V11.67C22.061,10.792,21.349,10.081,20.472,10.081z M12,22.525c-3.066,0-5.56-2.494-5.56-5.56 s2.494-5.56,5.56-5.56c3.066,0,5.56,2.494,5.56,5.56S15.066,22.525,12,22.525z M12,12.411c-2.511,0-4.554,2.043-4.554,4.554 S9.489,21.519,12,21.519s4.554-2.043,4.554-4.554S14.511,12.411,12,12.411z M12,20.274c-1.563,0-2.881-1.103-3.221-2.568h1.67 c0.275,0.581,0.859,0.979,1.551,0.979c0.96,0,1.721-0.761,1.721-1.721c0-0.96-0.761-1.721-1.721-1.721 c-0.649,0-1.2,0.352-1.493,0.874H8.805c0.378-1.412,1.669-2.462,3.195-2.462c1.818,0,3.309,1.491,3.309,3.309 C15.309,18.783,13.818,20.274,12,20.274z M23.849,0.396c-0.001,0.001-0.002,0.002-0.002,0.003 c-0.002-0.002-0.004-0.003-0.006-0.005c0.001-0.001,0.002-0.003,0.004-0.004c-0.116-0.137-0.279-0.231-0.519-0.238 c-0.202,0.005-0.391,0.097-0.512,0.259l-1.818,2.353c-0.164-0.058-0.339-0.095-0.523-0.095H3.528c-0.184,0-0.358,0.038-0.523,0.095 L1.187,0.41c-0.121-0.162-0.31-0.253-0.512-0.259c-0.24,0.006-0.403,0.1-0.519,0.238c0.001,0.001,0.002,0.003,0.004,0.004 C0.157,0.395,0.155,0.397,0.153,0.399C0.153,0.398,0.152,0.397,0.151,0.396C0.085,0.474-0.146,0.822,0.139,1.22l1.909,2.471 C1.981,3.867,1.94,4.057,1.94,4.257v3.707c0,0.877,0.711,1.589,1.589,1.589h16.944c0.877,0,1.589-0.711,1.589-1.589V4.257 c0-0.2-0.041-0.39-0.109-0.566l1.909-2.471C24.146,0.822,23.915,0.474,23.849,0.396z M6.904,8.228c-0.987,0-1.787-0.8-1.787-1.787 s0.8-1.787,1.787-1.787s1.787,0.8,1.787,1.787S7.891,8.228,6.904,8.228z M17.229,8.228c-0.987,0-1.787-0.8-1.787-1.787 s0.8-1.787,1.787-1.787c0.987,0,1.787,0.8,1.787,1.787S18.216,8.228,17.229,8.228z`},child:[]}]})(e)}var EN=`/opt/src/frontend/src/components/ProjectsPage.tsx`,DN={appstore:(0,E.jsxDEV)(Ar,{className:`w-5 h-5`},void 0,!1,{fileName:EN,lineNumber:21,columnNumber:13},void 0),playstore:(0,E.jsxDEV)(Dr,{className:`w-5 h-5`},void 0,!1,{fileName:EN,lineNumber:22,columnNumber:14},void 0),fdroid:(0,E.jsxDEV)(TN,{className:`w-5 h-5`},void 0,!1,{fileName:EN,lineNumber:23,columnNumber:11},void 0),kofi:(0,E.jsxDEV)(wN,{className:`w-5 h-5`},void 0,!1,{fileName:EN,lineNumber:24,columnNumber:9},void 0),web:(0,E.jsxDEV)(Ni,{className:`w-5 h-5`},void 0,!1,{fileName:EN,lineNumber:25,columnNumber:8},void 0)},ON={appstore:`bg-black hover:bg-gray-800 text-white`,playstore:`bg-[#01875f] hover:bg-[#016b4c] text-white`,fdroid:`bg-[#1976d2] hover:bg-[#1565c0] text-white`,kofi:`bg-[#ff5e5b] hover:bg-[#e14f4c] text-white`,web:`bg-blue-500 hover:bg-blue-600 text-white`},kN=[`appstore`,`playstore`,`fdroid`],AN=[{slug:`uwr-planner`,title:`UWR Planer`,date:`2023-05-22`,shortDe
1774scription:{en:`A full-stack web application for planning and organizing underwater rugby training sessions, lineups, and team coordination across seasons.`,de:`Eine Full-Stack-Webanwendung zur Planung und Organisation von Unterwasserrugby-Trainings, Aufstellungen und Teamkoordination über Saisons hinweg.`},sections:{en:[{title:`The Sport That Inspired the App`,text:`Underwater Rugby is a unique three-dimensional team sport played at the bottom of a swimming pool. Two teams of six compete to place a saltwater-filled ball into the opposing team's basket at the pool floor. It demands exceptional breath-hold ability, spatial awareness, and teamwork. Managing a team for such a demanding sport requires proper planning - and that's where the UWR Planer comes in.`},{title:`What It Does`,text:`The UWR Planer is a dedicated web application for underwater rugby teams to organize their seasons. Coaches and team managers can plan training sessions, create game-day lineups, and coordinate player availability across the season. The planner helps optimize player rotations and ensures balanced team compositions for both training and competition.`},{title:`Architecture`,text:`Built as a full-stack TypeScript application using the MERN stack pattern. The backend features Express.js controllers and services with MongoDB for data persistence. The frontend is built with React and Vite for fast development and hot module replacement. The project includes a comprehensive CI/CD pipeline via GitLab CI, automated testing with Jest, and Docker containerization for consistent deployments.`},{title:`Development Journey`,text:`With over 278 commits and active development since May 2023, the UWR Planer has evolved significantly. The codebase follows clean architecture principles with separate controllers, services, and models. Seeding scripts help with testing scenarios across seasons, and the project is continuously improved based on real-world feedback from the team.`},{title:`Now on iOS`,text:`The UWR Planer is now available on the App Store, in addition to Android via Google Play and F-Droid — so the whole team can use it, whichever phone they carry. Keeping an app on the App Store means an ongoing €99/year Apple developer fee; if the planner is useful to you, a tip on Ko-fi (ko-fi.com/uwrplaner) helps keep it there.`}],de:[{title:`Der Sport hinter der App`,text:`Unterwasserrugby ist ein einzigartiger dreidimensionaler Teamsport, der am Boden eines Schwimmbeckens gespielt wird. Zwei Mannschaften zu je sechs Spielern versuchen, einen mit Salzwasser gefüllten Ball in den Korb der gegnerischen Mannschaft am Beckenboden zu legen. Es erfordert außergewöhnliche Apnoe-Fähigkeiten, räumliches Bewusstsein und Teamwork. Die Verwaltung einer Mannschaft für einen so anspruchsvollen Sport erfordert eine ordentliche Planung - und genau hier kommt der UWR Planer ins Spiel.`},{title:`Was die App kann`,text:`Der UWR Planer ist eine dedizierte Webanwendung für Unterwasserrugby-Teams zur Organisation ihrer Saisons. Trainer und Teammanager können Trainingseinheiten planen, Spieltag-Aufstellungen erstellen und die Verfügbarkeit der Spieler über die Saison koordinieren. Der Planner hilft bei der Optimierung von Spielerrotationen und sorgt für ausgewogene Teamzusammensetzungen für Training und Wettkampf.`},{title:`Architektur`,text:`Entwickelt als Full-Stack TypeScript-Anwendung nach dem MERN-Stack-Muster. Das Backend verfügt über Express.js-Controller und Services mit MongoDB zur Datenpersistenz. Das Frontend wurde mit React und Vite für schnelle Entwicklung und Hot Module Replacement erstellt. Das Projekt umfasst eine umfassende CI/CD-Pipeline über GitLab CI, automatisierte Tests mit Jest und Docker-Containerisierung für konsistente Deployments.`},{title:`Entwicklungsreise`,text:`Mit über 278 Commits und aktiver Entwicklung seit Mai 2023 hat sich der UWR Planer erheblich weiterentwickelt. Die Codebasis folgt Clean-Architecture-Prinzipien mit separaten Controllern, Services und Models. Seeding-Skripte helfen bei Testszenarien über Saisons hinweg, und das Projekt wird kontinuierlich basierend auf realem Feedback des Teams verbessert.`},{title:`Jetzt auch für iOS`,text:`Der UWR Planer ist jetzt im App Store verfügbar — zusätzlich zu Android über Google Play und F-Droid. Damit kann das ganze Team die App nutzen, unabhängig vom Betriebssystem. Eine App im Ap
1774p Store zu halten kostet laufend 99 €/Jahr für Apples Entwicklerprogramm; wenn euch der Planer hilft, freuen wir uns über einen Tip auf Ko-fi (ko-fi.com/uwrplaner).`}]},techStack:[`TypeScript`,`React`,`Express.js`,`MongoDB`,`Docker`,`GitLab CI`],repoUrl:`https://git.pabr.de/uwr/uwr-planner`,externalLinks:[{label:`App Store`,url:`https://apps.apple.com/us/app/uwr-planer/id6784654616`,store:`appstore`},{label:`Google Play`,url:`https://play.google.com/store/apps/details?id=de.uwrplan.app`,store:`playstore`},{label:`F-Droid`,url:`https://f-droid.org/packages/de.uwrplan.app`,store:`fdroid`},{label:`uwr-plan.de`,url:`https://uwr-plan.de`,store:`web`},{label:`Ko-fi (Tip)`,url:`https://ko-fi.com/uwrplaner`,store:`kofi`}],icon:(0,E.jsxDEV)(Gr,{className:`w-8 h-8`},void 0,!1,{fileName:EN,lineNumber:116,columnNumber:11},void 0),bgColor:`bg-indigo-500`},{slug:`checkmk-monitoring`,title:`Unofficial CheckMK Monitoring`,date:`2024-04-21`,shortDescription:{en:`A cross-platform mobile app for monitoring your IT infrastructure through CheckMK - featuring real-time dashboards, push notifications, and home screen widgets.`,de:`Eine plattformübergreifende Mobile-App zur Überwachung Ihrer IT-Infrastruktur über CheckMK - mit Echtzeit-Dashboards, Push-Benachrichtigungen und Homescreen-Widgets.`},sections:{en:[{title:`The Story`,text:`What started as a university project at RH Köln (Rheinische Hochschule Köln) has grown into a fully-featured, publicly available mobile application. The Unofficial CheckMK Monitoring App was born from a simple need: having a reliable way to check on your IT infrastructure without being chained to a desktop. Whether you're on-call, commuting, or just away from your desk - this app puts your entire monitoring setup in your pocket.`},{title:`Key Features`,text:`The app connects directly to your CheckMK server and provides a rich dashboard experience. Status indicators use an intuitive hexagonal design - green for healthy hosts, red for critical issues, yellow for warnings, and more. You get real-time push notifications for state changes, so you'll never miss a critical alert.
1775
1776Beyond monitoring, the app lets you take action: acknowledge problems, schedule downtimes, and add comments to hosts and services - all from your phone. An Android home screen widget gives you a quick glance at your infrastructure health without even opening the app.`},{title:`Technical Details`,text:`Built with Flutter for true cross-platform support on both Android and iOS. The app communicates with CheckMK's REST API, supports both Raw Edition (CRE) and Enterprise Edition (CEE), and features offline caching for faster loading. Dark and light themes are supported, and the responsive design adapts to various screen sizes.`},{title:`What's Next`,text:`The project is actively maintained and available on the App Store, the Google Play Store and F-Droid. Future plans include enhanced notification filtering, dashboard customization, and expanded widget options. Contributions are welcome - check out the repository to get started!`},{title:`Now on iOS`,text:`The app is built with Flutter, and the iOS build is now live on the App Store alongside the Android releases on Google Play and F-Droid — the same dashboards, notifications and actions on whichever phone you carry on call. Keeping an app on the App Store costs an ongoing €99/year Apple developer fee; if the app saves you a trip back to the desk, a tip on Ko-fi (ko-fi.com/checkmk) helps keep it published.`}],de:[{title:`Die Geschichte`,text:`Was als Universitätsprojekt an der RH Köln (Rheinische Hochschule Köln) begann, hat sich zu einer vollständigen, öffentlich verfügbaren Mobile-Anwendung entwickelt. Die Unofficial CheckMK Monitoring App entstand aus einem einfachen Bedürfnis: eine zuverlässige Möglichkeit, die IT-Infrastruktur zu überwachen, ohne an einen Desktop gebunden zu sein. Ob im Bereitschaftsdienst, unterwegs oder einfach nicht am Schreibtisch - diese App bringt Ihr gesamtes Monitoring-Setup in Ihre Hosentasche.`},{title:`Hauptfunktionen`,text:`Die App verbindet sich direkt mit Ihrem CheckMK-Server und bietet eine reichhaltige Dashboard-Erfahrung. Statusanzeigen verwenden ein intuitives hexagonales Design - Grün für gesunde Hosts, Rot für kritische Probleme, Gelb für Warnungen und mehr. Sie erhalten Echtzeit-Push-Benachrichtigungen bei Statusänderungen, sodass Sie nie einen kritischen Alarm verpassen.
1777
1778Über das reine Monitoring hinaus können Sie Aktionen durchführen: Probleme bestätigen, Wartungszeiten planen und 
1778Kommentare zu Hosts und Services hinzufügen - alles von Ihrem Telefon aus. Ein Android-Homescreen-Widget gibt Ihnen einen schnellen Überblick über den Zustand Ihrer Infrastruktur, ohne die App öffnen zu müssen.`},{title:`Technische Details`,text:`Entwickelt mit Flutter für echte plattformübergreifende Unterstützung auf Android und iOS. Die App kommuniziert über die CheckMK REST-API, unterstützt sowohl die Raw Edition (CRE) als auch die Enterprise Edition (CEE) und bietet Offline-Caching für schnelleres Laden. Dunkle und helle Themes werden unterstützt, und das responsive Design passt sich verschiedenen Bildschirmgrößen an.`},{title:`Ausblick`,text:`Das Projekt wird aktiv gepflegt und ist im App Store, im Google Play Store sowie bei F-Droid verfügbar. Zukünftige Pläne umfassen erweiterte Benachrichtigungsfilterung, Dashboard-Anpassung und erweiterte Widget-Optionen. Beiträge sind willkommen - schauen Sie sich das Repository an, um loszulegen!`},{title:`Jetzt auch für iOS`,text:`Die App ist mit Flutter entwickelt, und der iOS-Build ist jetzt im App Store verfügbar — zusätzlich zu den Android-Versionen bei Google Play und F-Droid. Dieselben Dashboards, Benachrichtigungen und Aktionen also auf jedem Telefon, das ihr im Bereitschaftsdienst dabeihabt. Eine App im App Store zu halten kostet laufend 99 €/Jahr für Apples Entwicklerprogramm; wenn euch die App den Weg zum Schreibtisch erspart, freuen wir uns über einen Tip auf Ko-fi (ko-fi.com/checkmk).`}]},techStack:[`Flutter`,`Dart`,`CheckMK REST API`,`Android`,`iOS`],repoUrl:`https://git.pabr.de/apps/unofficial_checkmk_monitoring`,externalLinks:[{label:`App Store`,url:`https://apps.apple.com/us/app/unofficial-checkmk-monitoring/id6784654228`,store:`appstore`},{label:`Google Play`,url:`https://play.google.com/store/apps/details?id=com.checkmk.unofficial_checkmk_monitoring`,store:`playstore`},{label:`F-Droid`,url:`https://f-droid.org/en/packages/com.checkmk.unofficial_checkmk_monitoring/`,store:`fdroid`},{label:`Ko-fi (Tip)`,url:`https://ko-fi.com/checkmk`,store:`kofi`}],icon:(0,E.jsxDEV)(mi,{className:`w-8 h-8`},void 0,!1,{fileName:EN,lineNumber:181,columnNumber:11},void 0),bgColor:`bg-green-500`},{slug:`pv-solar-app`,title:`PV Solar App`,date:`2024-10-02`,shortDescription:{en:`A Flutter app for visualizing real-time statistics and historical data from Fronius solar inverters - track your solar energy production on the go.`,de:`Eine Flutter-App zur Visualisierung von Echtzeitstatistiken und historischen Daten von Fronius-Wechselrichtern - Solarenergieproduktion unterwegs verfolgen.`},sections:{en:[{title:`Why This Project`,text:`Solar energy is one of the most accessible forms of renewable energy for homeowners, but keeping track of your system's performance shouldn't require sitting at a computer. The PV Solar App was built to provide a clean, mobile-first interface for monitoring Fronius solar inverters - making it easy to see how much energy your panels are producing at any given moment.`},{title:`Features`,text:`The app connects to your Fronius inverter using API Version 34 and provides real-time statistics visualization with intuitive charts. Track your daily, weekly, and historical energy production with clean data visualizations. The user-friendly interface makes it simple to understand your solar system's performance at a glance - no technical expertise required.`},{title:`Technical Stack`,text:`Built with Flutter and Dart for cross-platform support across Android, iOS, Linux, macOS, and Windows. The app communicates directly with the Fronius Solar API to fetch inverter data. The architecture is designed to be lightweight and responsive, providing a smooth experience even on older devices. Tested on Pixel 7 and Le Eco Le Max 2.`},{title:`Getting Started`,text:`The project is open-source under the MIT License. Clone the repository, run flutter pub get, connect to your Fronius inverter, and you're ready to start monitoring your solar production. The setup is straightforward and well-documented in the project README.`}],de:[{title:`Warum dieses Projekt`,text:`Solarenergie ist eine der zugänglichsten Formen erneuerbarer Energie für Hausbesitzer, aber die Überwachung der Systemleistung sollte nicht erfordern, am Computer zu sitzen. Die PV Solar App wurde entwickelt, um eine saubere, mobilfreundliche Oberfläche für die Überwachung von Fronius-Wechselrichtern zu bieten - so sieht man einfach, wie viel Energie die Panels zu jedem Zeitpunkt produzieren.`},{title:`Funktionen`,text:`Die App verbindet sich über die API Version 34 mit Ihrem Fronius-Wechselrichter und bietet eine Echtzeit-Statistikvisualisierung mit intuitiven Diagrammen. Verfolgen Sie Ihre tägliche, wöchentliche und historische Energieproduktion mit übersichtlichen Datenvisualisierungen. Die benutzerfreundliche Oberfläche macht es einfach, die Leistung Ihrer Solaranlage auf einen Blick zu verstehe
1778n - keine technischen Kenntnisse erforderlich.`},{title:`Technischer Stack`,text:`Entwickelt mit Flutter und Dart für plattformübergreifende Unterstützung auf Android, iOS, Linux, macOS und Windows. Die App kommuniziert direkt mit der Fronius Solar API, um Wechselrichterdaten abzurufen. Die Architektur ist leichtgewichtig und reaktionsschnell konzipiert und bietet ein flüssiges Erlebnis auch auf älteren Geräten. Getestet auf Pixel 7 und Le Eco Le Max 2.`},{title:`Erste Schritte`,text:`Das Projekt ist Open-Source unter der MIT-Lizenz. Klonen Sie das Repository, führen Sie flutter pub get aus, verbinden Sie sich mit Ihrem Fronius-Wechselrichter und schon können Sie Ihre Solarproduktion überwachen. Die Einrichtung ist unkompliziert und gut dokumentiert im Projekt-README.`}]},techStack:[`Flutter`,`Dart`,`Fronius Solar API`],repoUrl:`https://git.pabr.de/paul/pv_solar_app`,icon:(0,E.jsxDEV)(Kr,{className:`w-8 h-8`},void 0,!1,{fileName:EN,lineNumber:232,columnNumber:11},void 0),bgColor:`bg-yellow-500`},{slug:`fahrtenbuch-verbrauch`,title:`EV Trip & Consumption Tracker`,date:`2026-04-24`,shortDescription:{en:`An offline-first Android app for electric vehicle owners — automatically tracks trips via GPS and Bluetooth, logs charging sessions, and visualizes consumption statistics.`,de:`Eine Offline-First-Android-App für Elektrofahrzeugbesitzer — verfolgt Fahrten automatisch per GPS und Bluetooth, protokolliert Ladevorgänge und visualisiert Verbrauchsstatistiken.`},sections:{en:[{title:`Why This Project`,text:`Owning an EV means keeping a close eye on consumption — but most logbook apps are either cloud-dependent, cluttered with features you don't need, or simply not built for electric vehicles. Fahrtenbuch Verbrauch was built to be a clean, offline-first solution: all data stays on your device, and the app works just as well without an internet connection.`},{title:`Automatic Trip Tracking`,text:`The app's standout feature is its hands-free trip tracking. Pair a Bluetooth device (like your car's audio system) and the app automatically starts a GPS recording session when you connect and stops when you disconnect — no manual input needed. Trips below a configurable minimum distance are flagged and excluded from statistics to keep your data clean.`},{title:`Charging & Consumption`,text:`Log charging sessions with AC/DC type, state of charge, energy consumed, cost, and location. Consumption can be entered as total kWh or as kWh/100km — the app keeps both values in sync automatically. A built-in vehicle catalog with 40+ EV models (Cupra Born, VW ID series, Tesla, Hyundai, Kia, BMW, and more) provides reference consumption values, and you can define custom vehicles too.
1779
1780On-device OCR lets you photograph a charging station display and extract the numbers directly — no typing required.`},{title:`Android Auto & More`,text:`The app includes a native Android Auto interface so you can monitor your active trip from the car's display. Monthly statistics with charts give you an overview of your consumption trends over time. Data can be exported as JSON or CSV for use in other tools, and imported back if you switch devices.`}],de:[{title:`Warum dieses Projekt`,text:`Ein Elektrofahrzeug zu besitzen bedeutet, den Verbrauch im Blick zu behalten — aber die meisten Fahrtenbuch-Apps sind entweder cloudabhängig, überladen mit unnötigen Funktionen oder schlicht nicht für Elektrofahrzeuge konzipiert. Fahrtenbuch Verbrauch wurde als saubere, Offline-First-Lösung entwickelt: Alle Daten verbleiben auf dem Gerät, und die App funktioniert auch ohne Internetverbindung einwandfrei.`},{title:`Automatische Fahrterfassung`,text:`Das Herzstück der App ist die automatische Fahrterfassung. Koppeln Sie ein Bluetooth-Gerät (z. B. das Audiosystem Ihres Fahrzeugs), und die App startet beim Verbinden automatisch eine GPS-Aufzeichnung — und stoppt sie beim Trennen. Kein manueller Eingriff nötig. Fahrten unterhalb einer konfigurierbaren Mindestdistanz werden markiert und aus der Statistik ausgeschlossen.`},{title:`Laden & Verbrauch`,text:`Ladevorgänge lassen sich mit AC/DC-Typ, Ladestand, verbrauchter Energie, Kosten und Standort erfassen. Der Verbrauch kann als Gesamt-kWh oder als kWh/100 km eingegeben werden — die App hält beide Werte automatisch synchron. Ein integrierter Fahrzeugkatalog mit über 40 E-Fahrzeugmodellen (Cupra Born, VW ID-Serie, Tesla, Hyundai, Kia, BMW und mehr) liefert Referenzwerte; eigene Fahrzeuge lassen sich ebenfalls anlegen.
1781
1782Mit der integrierten OCR-Funktion können Sie ein Foto vom Display einer Ladesäule aufnehmen, und die App extrahiert die Werte automatisch — kein Abtippen erforderlich.`},{title:`Android Auto & mehr`,text:`Die App verfügt über eine native Android-Auto-Oberfläche, mit der Sie Ihre aktive Fahrt direkt vom Fahrzeugdisplay aus verfolgen können. Monatliche Statistiken mit Diagrammen geben einen Überblick über Ihre Verbrauchsentwicklung. Daten lassen sich als JSON oder CSV exportieren und bei einem Gerätewechsel wieder importieren.`}]},techStack:[`Flutter`,`Dart`,`SQLite`,`Riverpod`,`GPS`,`Bluetooth`,`Android Auto`,`ML Kit OCR`],repoUrl:`https://git.pabr.de/paul/fahrtenbuch-verbrauch`,icon:(0,E.jsxDEV)(ea,{className:`w-8 h-8`},void 0,!1,{fileName:EN,lineNumber:283,columnNumber:11},void 0),bgColor:`bg-emerald-500`}],jN=()=>{let{projectSlug:e}=Ct(),{language:t,translations:n}=rr(),r=t===`de`?`de`:`en`;if(e){let t=AN.find(t=>t.slug===e);if(!t)return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 min-h-full w-full pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] max-w-4xl mx-auto text-center`,children:[(0,E.jsxDEV)(`h1`,{className:`text-3xl font-bold text-gray-900 dark:text-white mb-4`,children:`Project not found`},void 0,!1,{fileName:EN,lineNumber:300,columnNumber:13},void 0),(0,E.jsxDEV)(Pn,{to:`/projects`,className:`text-blue-500 hover:text-blue-600 inline-flex items-center`,children:[(0,E.jsxDEV)(la,{className:`mr-2`},void 0,!1,{fileName:EN,lineNumber:307,columnNumber:15},void 0),` `,n.projects?.backToProjects||`Back to Projects`]},void 0,!0,{fileName:EN,lineNumber:303,columnNumber:13},void 0)]},void 0,!0,{fileName:EN,lineNumber:299,columnNumber:11},void 0)},void 0,!1,{fileName:EN,lineNumber:298,columnNumber:9},void 0);let i=t.sections[r],a=(t.externalLinks??[]).filter(e=>e.store!==void 0&&kN.includes(e.store));return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 min-h-full w-full pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] max-w-4xl mx-auto`,children:[(0,E.jsxDEV)(Pn,{to:`/projects`,className:`text-blue-500 hover:text-blue-600 inline-flex items-center mb-8`,children:[(0,E.jsxDEV)(la,{className:`mr-2`},void 0,!1,{fileName:EN,lineNumber:327,columnNumber:13},void 0),` `,n.projects?.backToProjects||`Back to Projects`]},void 0,!0,{fileName:EN,lineNumber:323,columnNumber:11},void 0),(0,E.jsxDEV)(`article`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg overflow-hidden`,children:[(0,E.jsxDEV)(`div`,{className:`${t.bgColor} p-8 text-white`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center`,children:[(0,E.jsxDEV)(`div`,{className:`mr-4`,children:t.icon},void 0,!1,{fileName:EN,lineNumber:333,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h1`,{className:`text-3xl font-bold`,children:t.title},void 0,!1,{fileName:EN,lineNumber:335,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-white/80 mt-1`,children:[n.projects?.startedOn||`Started`,`: `,new Date(t.date).toLocaleDateString(r===`de`?`de-DE`:`en-US`,{year:`numeric`,month:`long`,day:`numeric`})]},void 0,!0,{fileName:EN,lineNumber:336,columnNumber:19},void 0)]},void 0,!0,{fileName:EN,lineNumber:334,columnNumber:17},void 0)]},void 0,!0,{fileName:EN,lineNumber:332,columnNumber:15},void 0),a.length>0&&(0,E.jsxDEV)(`div`,{className:`mt-6`,children:[(0,E.jsxDEV)(`p`,{className:`text-white/80 text-sm font-medium mb-3`,children:n.projects?.availableOn||`Available on`},void 0,!1,{fileName:EN,lineNumber:344,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`flex flex-wrap gap-3`,children:a.map(e=>(0,E.jsxDEV)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-2 px-4 py-2 rounded-lg font-medium shadow-md transition-colors ${ON[e.store]}`,children:[DN[e.store],` `,e.label]},e.url,!0,{fileName:EN,lineNumber:349,columnNumber:23},void 0))},void 0,!1,{fileName:EN,lineNumber:347,columnNumber:19},void 0)]},void 0,!0,{fileName:EN,lineNumber:343,columnNumber:17},void 0)]},void 0,!0,{fileName:EN,lineNumber:331,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`p-8`,children:[(0,E.jsxDEV)(`div`,{className:`flex flex-wrap gap-2 mb-8`,children:t.techStack.map(e=>(0,E.jsxDEV)(`span`,{className:`px-3 py-1 bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300 rounded-full text-sm font-medium`,children:e},e,!1,{fileName:EN,lineNumber:367,columnNumber:19},void 0))},void 0,!1,{fileName:EN,lineNumber:365,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`prose dark:prose-invert max-w-none`,children:i.map((e,t)=>(0,E.jsxDEV)(`div`,{className:`mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-3`,children:e.title},void 0,!1,{fileName:EN,lineNumber:379,columnNumber:21},void 0),e.text.split(`
1783
1784`).map((e,t)=>(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300 leading-relaxed mb-4`,children:e},t,!1,{fileName:EN,lineNumber:383,columnNumber:23},void 0))]},t,!0,{fileName:EN,lineNumber:378,columnNumber:19},void 0))},void 0,!1,{fileName:EN,lineNumber:376,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`border-t border-gray-200 dark:border-gray-700 pt-6 mt-8 flex flex-wrap gap-4`,children:[(0,E.jsxDEV)(`a`,{href:t.repoUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center px-4 py-2 bg-gray-800 dark:bg-gray-600 text-white rounded-lg hover:bg-gray-700 dark:hover:bg-gray-500 transition-colors`,children:[(0,E.jsxDEV)(Gi,{className:`mr-2`},void 0,!1,{fileName:EN,lineNumber:398,columnNumber:19},void 0),` `,n.projects?.visitRepo||`Visit Repository`]},void 0,!0,{fileName:EN,lineNumber:392,columnNumber:17},void 0),t.externalLinks?.map(e=>(0,E.jsxDEV)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-2 px-4 py-2 rounded-lg transition-colors ${ON[e.store??`web`]}`,children:[DN[e.store??`web`],` `,e.label]},e.url,!0,{fileName:EN,lineNumber:401,columnNumber:19},void 0))]},void 0,!0,{fileName:EN,lineNumber:391,columnNumber:15},void 0)]},void 0,!0,{fileName:EN,lineNumber:364,columnNumber:13},void 0)]},void 0,!0,{fileName:EN,lineNumber:330,columnNumber:11},void 0)]},void 0,!0,{fileName:EN,lineNumber:322,columnNumber:9},void 0)},void 0,!1,{fileName:EN,lineNumber:321,columnNumber:7},void 0)}return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 min-h-full w-full pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white mb-4 transition-colors duration-200`,children:n.projects?.title||`Projects`},void 0,!1,{fileName:EN,lineNumber:423,columnNumber:9},void 0),(0,E.jsxDEV)(`p`,{className:`text-center text-gray-600 dark:text-gray-400 mb-8 text-lg`,children:n.projects?.subtitle||`A showcase of cool projects I'm working on`},void 0,!1,{fileName:EN,lineNumber:426,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8`,children:AN.map(e=>{let t=(e.externalLinks??[]).filter(e=>e.store!==void 0&&kN.includes(e.store));return(0,E.jsxDEV)(Pn,{to:`/projects/${e.slug}`,className:`transform transition-all duration-300 hover:scale-105`,children:(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-700 rounded-lg shadow-lg overflow-hidden h-full flex flex-col`,children:[(0,E.jsxDEV)(`div`,{className:`${e.bgColor} p-6 flex items-center text-white ${t.length>0?`justify-between`:`justify-center`}`,children:[e.icon,t.length>0&&(0,E.jsxDEV)(`div`,{className:`flex items-center gap-2 text-white/90`,children:t.map(e=>(0,E.jsxDEV)(`span`,{title:e.label,"aria-label":e.label,children:DN[e.store]},e.url,!1,{fileName:EN,lineNumber:449,columnNumber:25},void 0))},void 0,!1,{fileName:EN,lineNumber:447,columnNumber:21},void 0)]},void 0,!0,{fileName:EN,lineNumber:444,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`p-6 flex-grow flex flex-col`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold mb-2 text-gray-900 dark:text-white`,children:e.title},void 0,!1,{fileName:EN,lineNumber:457,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300 mb-4 flex-grow`,children:e.shortDe
1784scription[r]},void 0,!1,{fileName:EN,lineNumber:460,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`flex flex-wrap gap-1.5 mb-4`,children:[e.techStack.slice(0,3).map(e=>(0,E.jsxDEV)(`span`,{className:`px-2 py-0.5 bg-gray-100 dark:bg-gray-600 text-gray-600 dark:text-gray-300 rounded text-xs font-medium`,children:e},e,!1,{fileName:EN,lineNumber:465,columnNumber:23},void 0)),e.techStack.length>3&&(0,E.jsxDEV)(`span`,{className:`px-2 py-0.5 bg-gray-100 dark:bg-gray-600 text-gray-600 dark:text-gray-300 rounded text-xs font-medium`,children:[`+`,e.techStack.length-3]},void 0,!0,{fileName:EN,lineNumber:473,columnNumber:23},void 0)]},void 0,!0,{fileName:EN,lineNumber:463,columnNumber:19},void 0),(0,E.jsxDEV)(`span`,{className:`text-blue-500 text-sm font-medium`,children:[n.projects?.viewProject||`Read More`,` →`]},void 0,!0,{fileName:EN,lineNumber:478,columnNumber:19},void 0)]},void 0,!0,{fileName:EN,lineNumber:456,columnNumber:17},void 0)]},void 0,!0,{fileName:EN,lineNumber:443,columnNumber:15},void 0)},e.slug,!1,{fileName:EN,lineNumber:438,columnNumber:13},void 0)})},void 0,!1,{fileName:EN,lineNumber:430,columnNumber:9},void 0)]},void 0,!0,{fileName:EN,lineNumber:422,columnNumber:7},void 0)},void 0,!1,{fileName:EN,lineNumber:421,columnNumber:5},void 0)},MN=`/opt/src/frontend/src/components/ObfuscatedEmail.tsx`,NN=({emailParts:e,className:t=`text-blue-500 hover:underline cursor-pointer`,displayFormat:n=`split`})=>{let[r,i]=(0,S.useState)(!1),[a,o]=(0,S.useState)(``),s=(e,t)=>{switch(t){case`reverse`:return e.split(``).reverse().join(``);case`base64`:return btoa(e);case`split`:return e.split(``).join(`•`);default:return e}},c=(0,S.useCallback)(()=>{let{prefix:t,domain:n,tld:r}=e,a=`${t}@${n}.${r}`;o(a),i(!0)},[e]),l=()=>{r?window.location.href=`mailto:${a}`:(c(),setTimeout(()=>{window.location.href=`mailto:${e.prefix}@${e.domain}.${e.tld}`},100))};return(0,E.jsxDEV)(`span`,{onClick:l,onKeyPress:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l())},className:`${t} select-none transition-all duration-200 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded px-1`,role:`button`,tabIndex:0,title:r?a:`Click to reveal and open email client`,"aria-label":r?`Email: ${a}`:`Obfuscated email address - click to reveal`,children:(()=>{if(r)return a;switch(n){case`masked`:return(0,E.jsxDEV)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,E.jsxDEV)(`span`,{className:`opacity-70`,children:e.prefix},void 0,!1,{fileName:MN,lineNumber:73,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`text-xs opacity-50`,children:`[at]`},void 0,!1,{fileName:MN,lineNumber:74,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`opacity-70`,children:e.domain},void 0,!1,{fileName:MN,lineNumber:75,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`text-xs opacity-50`,children:`[dot]`},void 0,!1,{fileName:MN,lineNumber:76,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`opacity-70`,children:e.tld},void 0,!1,{fileName:MN,lineNumber:77,columnNumber:13},void 0)]},void 0,!0,{fileName:MN,lineNumber:72,columnNumber:11},void 0);case`split`:return(0,E.jsxDEV)(`span`,{className:`inline-flex items-center`,children:[(0,E.jsxDEV)(`span`,{className:`mr-1 p-1 bg-gray-100 dark:bg-gray-700 rounded text-xs`,children:s(e.prefix,`split`)},void 0,!1,{fileName:MN,lineNumber:84,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`mx-1 text-xs opacity-50`,children:`@`},void 0,!1,{fileName:MN,lineNumber:87,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`mx-1 p-1 bg-gray-200 dark:bg-gray-600 rounded text-xs`,children:s(e.domain,`reverse`).split(``).reverse().join(``)},void 0,!1,{fileName:MN,lineNumber:88,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`mx-1 text-xs opacity-50`,children:`.`},void 0,!1,{fileName:MN,lineNumber:91,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`ml-1 p-1 bg-gray-100 dark:bg-gray-700 rounded text-xs`,children:e.tld},void 0,!1,{fileName:MN,lineNumber:92,columnNumber:13},void 0)]},void 0,!0,{fileName:MN,lineNumber:83,columnNumber:11},void 0);case`encoded`:return(0,E.jsxDEV)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,E.jsxDEV)(`span`,{className:`p-1 bg-blue-50 dark:bg-blue-900/20 rounded text-xs font-mono`,title:`Click to reveal email`,children:[s(e.prefix,`base64`).substring(0,6),`...`]},void 0,!0,{fileName:MN,lineNumber:101,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`text-xs opacity-50`,children:`@`},void 0,!1,{fileName:MN,lineNumber:107,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`p-1 bg-green-50 dark:bg-green-900/20 rounded text-xs font-mono`,title:`Click to reveal email`,children:s(e.domain,`reverse`)},void 0,!1,{fileName:MN,lineNumber:108,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`text-xs opacity-50`,children:`.`},void 0,!1,{fileName:MN,lineNumber:114,columnNumber:13},void 0),(0,E.jsxDEV)(`span`,{className:`p-1 bg-purple-50 dark:bg-purple-900/20 rounded text-xs`,children:e.tld},void 0,!1,{fileName:MN,lineNumber:115,columnNumber:13},void 0)]},void 0,!0,{fileName:MN,lineNumber:100,columnNumber:11},void 0);default:return`${e.prefix} [at] ${e.domain} [dot] ${e.tld}`}})()},void 0,!1,{fileName:MN,lineNumber:127,columnNumber:5},void 0)},PN={info:{prefix:`info`,domain:`pabr`,tld:`de`}},FN=({className:e,displayFormat:t=`split`})=>(0,E.jsxDEV)(NN,{emailParts:PN.info,className:e,displayFormat:t},void 0,!1,{fileName:MN,lineNumber:155,columnNumber:3},void 0),IN=`/opt/src/frontend/src/components/ImpressumPage.tsx`,LN=()=>{let{translations:e}=rr(),[t,n]=(0,S.useState)(!1);return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 w-full pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-full max-w-[2000px] mx-auto px-6`,children:[(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white mb-8 transition-colors duration-200`,children:e.impressum.title},void 0,!1,{fileName:IN,lineNumber:13,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg p-8 max-w-3xl mx-auto
1785          border border-gray-100 dark:border-gray-700`,children:(0,E.jsxDEV)(`div`,{className:`space-y-8`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(na,{className:`w-6 h-6 text-blue-500`},void 0,!1,{fileName:IN,lineNumber:24,columnNumber:17},void 0)},void 0,!1,{fileName:IN,lineNumber:23,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-2`,children:`Paul à Brassard`},void 0,!1,{fileName:IN,lineNumber:27,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:`TBD`},void 0,!1,{fileName:IN,lineNumber:30,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:26,columnNumber:15},void 0)]},void 0,!0,{fileName:IN,lineNumber:22,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Fr,{className:`w-6 h-6 text-green-500`},void 0,!1,{fileName:IN,lineNumber:39,columnNumber:17},void 0)},void 0,!1,{fileName:IN,lineNumber:38,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-2`,children:`Vertreten durch`},void 0,!1,{fileName:IN,lineNumber:42,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:`Paul à Brassard`},void 0,!1,{fileName:IN,lineNumber:45,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:41,columnNumber:15},void 0)]},void 0,!0,{fileName:IN,lineNumber:37,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(ci,{className:`w-6 h-6 text-purple-500`},void 0,!1,{fileName:IN,lineNumber:54,columnNumber:17},void 0)},void 0,!1,{fileName:IN,lineNumber:53,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-2`,children:`Kontakt`},void 0,!1,{fileName:IN,lineNumber:57,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:[`E-Mail: `,(0,E.jsxDEV)(FN,{className:`text-blue-500 hover:underline`,displayFormat:`masked`},void 0,!1,{fileName:IN,lineNumber:61,columnNumber:27},void 0)]},void 0,!0,{fileName:IN,lineNumber:60,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:56,columnNumber:15},void 0)]},void 0,!0,{fileName:IN,lineNumber:52,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`mt-8 pt-8 border-t border-gray-200 dark:border-gray-700`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4 mb-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Di,{className:`w-6 h-6 text-red-500`},void 0,!1,{fileName:IN,lineNumber:70,columnNumber:19},void 0)},void 0,!1,{fileName:IN,lineNumber:69,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-2`,children:`Haftungsausschluss`},void 0,!1,{fileName:IN,lineNumber:73,columnNumber:19},void 0)},void 0,!1,{fileName:IN,lineNumber:72,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:68,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300 text-sm space-y-4`,children:[(0,E.jsxDEV)(`h3`,{className:`font-semibold`,children:`Haftung für Links`},void 0,!1,{fileName:IN,lineNumber:80,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{children:`Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich.`},void 0,!1,{fileName:IN,lineNumber:81,columnNumber:17},void 0),(0,E.jsxDEV)(`h3`,{className:`font-semibold`,children:`Urheberrecht`},void 0,!1,{fileName:IN,lineNumber:87,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{children:`Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.`},void 0,!1,{fileName:IN,lineNumber:88,columnNumber:17},void 0),(0,E.jsxDEV)(`h3`,{className:`font-semibold`,children:`Datenschutz`},void 0,!1,{fileName:IN,lineNumber:94,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{children:`Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.`},void 0,!1,{fileName:IN,lineNumber:95,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:79,columnNumber:15},void 0)]},void 0,!0,{fileName:IN,lineNumber:67,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`mt-8 pt-8 border-t border-gray-200 dark:border-gray-700 text-center`,children:(0,E.jsxDEV)(`button`,{onClick:()=>n(!0),className:`inline-flex items-center space-x-2 px-6 py-3 bg-gradient-to-r from-amber-500 to-orange-500 
1786                  hover:from-amber-600 hover:to-orange-600 text-white font-semibold rounded-lg shadow-lg 
1787                  transition-all duration-300 transform hover:scale-105`,children:[(0,E.jsxDEV)(
1787Hi,{className:`w-5 h-5`},void 0,!1,{fileName:IN,lineNumber:111,columnNumber:17},void 0),(0,E.jsxDEV)(`span`,{children:e.impressum.kekseButton},void 0,!1,{fileName:IN,lineNumber:112,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:105,columnNumber:15},void 0)},void 0,!1,{fileName:IN,lineNumber:104,columnNumber:13},void 0)]},void 0,!0,{fileName:IN,lineNumber:20,columnNumber:11},void 0)},void 0,!1,{fileName:IN,lineNumber:17,columnNumber:9},void 0),t&&(0,E.jsxDEV)(`div`,{className:`fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4`,onClick:()=>n(!1),children:(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-2xl max-w-2xl w-full p-8 
1788              border-4 border-amber-500 dark:border-amber-600 relative animate-bounce-in`,onClick:e=>e.stopPropagation(),children:[(0,E.jsxDEV)(`div`,{className:`text-center mb-6`,children:[(0,E.jsxDEV)(`div`,{className:`inline-block p-4 bg-amber-100 dark:bg-amber-900 rounded-full mb-4`,children:(0,E.jsxDEV)(Hi,{className:`w-12 h-12 text-amber-600 dark:text-amber-400`},void 0,!1,{fileName:IN,lineNumber:129,columnNumber:19},void 0)},void 0,!1,{fileName:IN,lineNumber:128,columnNumber:17},void 0),(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white`,children:e.impressum.kekseBanner.title},void 0,!1,{fileName:IN,lineNumber:131,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:127,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`p`,{className:`text-lg text-gray-700 dark:text-gray-300 text-center`,children:e.impressum.kekseBanner.description},void 0,!1,{fileName:IN,lineNumber:138,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`bg-amber-50 dark:bg-amber-900/30 border-2 border-amber-300 dark:border-amber-700 
1789                  rounded-lg p-4 mt-6`,children:(0,E.jsxDEV)(`p`,{className:`text-sm text-gray-600 dark:text-gray-400 italic`,children:e.impressum.kekseBanner.disclaimer},void 0,!1,{fileName:IN,lineNumber:145,columnNumber:19},void 0)},void 0,!1,{fileName:IN,lineNumber:143,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`flex flex-col sm:flex-row gap-4 mt-6`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>n(!1),className:`flex-1 px-6 py-3 bg-red-500 hover:bg-red-600 text-white font-semibold 
1790                      rounded-lg shadow-lg transition-all duration-300 transform hover:scale-105`,children:e.impressum.kekseBanner.rejectButton},void 0,!1,{fileName:IN,lineNumber:152,columnNumber:19},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>n(!1),className:`flex-1 px-6 py-3 bg-green-500 hover:bg-green-600 text-white font-semibold 
1791                      rounded-lg shadow-lg transition-all duration-300 transform hover:scale-105`,children:e.impressum.kekseBanner.acceptButton},void 0,!1,{fileName:IN,lineNumber:159,columnNumber:19},void 0)]},void 0,!0,{fileName:IN,lineNumber:151,columnNumber:17},void 0)]},void 0,!0,{fileName:IN,lineNumber:137,columnNumber:15},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>n(!1),className:`absolute top-4 right-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 
1792                  transition-colors text-2xl font-bold`,children:`×`},void 0,!1,{fileName:IN,lineNumber:170,columnNumber:15},void 0)]},void 0,!0,{fileName:IN,lineNumber:122,columnNumber:13},void 0)},void 0,!1,{fileName:IN,lineNumber:120,columnNumber:11},void 0)]},void 0,!0,{fileName:IN,lineNumber:12,columnNumber:7},void 0)},void 0,!1,{fileName:IN,lineNumber:11,columnNumber:5},void 0)},K=`/opt/src/frontend/src/components/DatenschutzPage.tsx`,RN=()=>{let{translations:e}=rr();return(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white mb-4 transition-colors duration-200`,children:`Datenschutzerklärung`},void 0,!1,{fileName:K,lineNumber:12,columnNumber:9},void 0),(0,E.jsxDEV)(`p`,{className:`text-center text-gray-600 dark:text-gray-400 mb-8`,children:`Stand: 12. November 2024`},void 0,!1,{fileName:K,lineNumber:15,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg p-8 max-w-4xl mx-auto border border-gray-100 dark:border-gray-700`,children:(0,E.jsxDEV)(`div`,{className:`space-y-8`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4 mb-8`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(hi,{className:`w-6 h-6 text-blue-500`},void 0,!1,{fileName:K,lineNumber:24,columnNumber:17},void 0)},void 0,!1,{fileName:K,lineNumber:23,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex-1`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Inhaltsübersicht`},void 0,!1,{fileName:K,lineNumber:27,columnNumber:17},void 0),(0,E.jsxDEV)(`ul`,{className:`space-y-2 text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m3`,className:`hover:text-blue-500`,children:`Verantwortlicher`},void 0,!1,{fileName:K,lineNumber:31,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:31,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#mOverview`,className:`hover:text-blue-500`,children:`Übersicht der Verarbeitungen`},void 0,!1,{fileName:K,lineNumber:32,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:32,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m2427`,className:`hover:text-blue-500`,children:`Maßgebliche Rechtsgrundlagen`},void 0,!1,{fileName:K,lineNumber:33,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:33,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m27`,className:`hover:text-blue-500`,children:`Sicherheitsmaßnahmen`},void 0,!1,{fileName:K,lineNumber:34,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:34,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m25`,className:`hover:text-blue-500`,children:`Übermittlung von personenbezogenen Daten`},void 0,!1,{fileName:K,lineNumber:35,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:35,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m24`,className:`hover:text-blue-500`,children:`Internationale Datentransfers`},void 0,!1,{fileName:K,lineNumber:36,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:36,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m12`,className:`hover:text-blue-500`,children:`Allgemeine Informationen zur Datenspeicherung und Löschung`},void 0,!1,{fileName:K,lineNumber:37,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:37,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m10`,className:`hover:text-blue-500`,children:`Rechte der betroffenen Personen`},void 0,!1,{fileName:K,lineNumber:38,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:38,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m225`,className:`hover:text-blue-500`,children:`Bereitstellung des Onlineangebots und Webhosting`},void 0,!1,{fileName:K,lineNumber:39,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:39,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m134`,className:`hover:text-blue-500`,children:`Einsatz von Cookies`}
1792,void 0,!1,{fileName:K,lineNumber:40,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:40,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:(0,E.jsxDEV)(`a`,{href:`#m104`,className:`hover:text-blue-500`,children:`Blogs und Publikationsmedien`},void 0,!1,{fileName:K,lineNumber:41,columnNumber:23},void 0)},void 0,!1,{fileName:K,lineNumber:41,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:30,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:26,columnNumber:15},void 0)]},void 0,!0,{fileName:K,lineNumber:22,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,id:`m3`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Lr,{className:`w-6 h-6 text-green-500`},void 0,!1,{fileName:K,lineNumber:49,columnNumber:17},void 0)},void 0,!1,{fileName:K,lineNumber:48,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-2`,children:`Verantwortlicher`},void 0,!1,{fileName:K,lineNumber:52,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:[`Paul à Brassard`,(0,E.jsxDEV)(`br`,{},void 0,!1,{fileName:K,lineNumber:56,columnNumber:34},void 0),`E-Mail-Adresse: `,(0,E.jsxDEV)(FN,{className:`text-blue-500 hover:underline`,displayFormat:`encoded`},void 0,!1,{fileName:K,lineNumber:57,columnNumber:35},void 0),(0,E.jsxDEV)(`br`,{},void 0,!1,{fileName:K,lineNumber:57,columnNumber:114},void 0),`Impressum: `,(0,E.jsxDEV)(`a`,{href:`www.pabr.de/impressum`,className:`text-blue-500 hover:underline`,children:`www.pabr.de/impressum`},void 0,!1,{fileName:K,lineNumber:58,columnNumber:30},void 0)]},void 0,!0,{fileName:K,lineNumber:55,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:51,columnNumber:15},void 0)]},void 0,!0,{fileName:K,lineNumber:47,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-6`,id:`mOverview`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(zi,{className:`w-6 h-6 text-purple-500`},void 0,!1,{fileName:K,lineNumber:67,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:66,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Übersicht der Verarbeitungen`},void 0,!1,{fileName:K,lineNumber:70,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300 mb-4`,children:`Die nachfolgende Übersicht fasst die Arten der verarbeiteten Daten und die Zwecke ihrer Verarbeitung zusammen und verweist auf die betroffenen Personen.`},void 0,!1,{fileName:K,lineNumber:73,columnNumber:19},void 0),(0,E.jsxDEV)(`h3`,{className:`font-semibold text-gray-900 dark:text-white mb-2`,children:`Arten der verarbeiteten Daten`},void 0,!1,{fileName:K,lineNumber:77,columnNumber:19},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside text-gray-600 dark:text-gray-300 mb-4`,children:[(0,E.jsxDEV)(`li`,{children:`Bestandsdaten`},void 0,!1,{fileName:K,lineNumber:79,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Kontaktdaten`},void 0,!1,{fileName:K,lineNumber:80,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Inhaltsdaten`},void 0,!1,{fileName:K,lineNumber:81,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Nutzungsdaten`},void 0,!1,{fileName:K,lineNumber:82,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Meta-, Kommunikations- und Verfahrensdaten`},void 0,!1,{fileName:K,lineNumber:83,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Protokolldaten`},void 0,!1,{fileName:K,lineNumber:84,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:78,columnNumber:19},void 0),(0,E.jsxDEV)(`h3`,{className:`font-semibold text-gray-900 dark:text-white mb-2`,children:`Kategorien betroffener Personen`},void 0,!1,{fileName:K,lineNumber:87,columnNumber:19},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside text-gray-600 dark:text-gray-300 mb-4`,children:(0,E.jsxDEV)(`li`,{children:`Nutzer`},void 0,!1,{fileName:K,lineNumber:89,columnNumber:21},void 0)},void 0,!1,{fileName:K,lineNumber:88,columnNumber:19},void 0),(0,E.jsxDEV)(`h3`,{className:`font-semibold text-gray-900 dark:text-white mb-2`,children:`Zwecke der Verarbeitung`},void 0,!1,{fileName:K,lineNumber:92,columnNumber:19},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`li`,{children:`Sicherheitsmaßnahmen`},void 0,!1,{fileName:K,lineNumber:94,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Organisations- und Verwaltungsverfahren`},void 0,!1,{fileName:K,lineNumber:95,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Feedback`},void 0,!1,{fileName:K,lineNumber:96,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit`},void 0,!1,{fileName:K,lineNumber:97,columnNumber:21},void 0),(0,E.jsxDEV)(`li`,{children:`Informationstechnische Infrastruktur`},void 0,!1,{fileName:K,lineNumber:98,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:93,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:69,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:65,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:64,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m2427`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Xr,{className:`w-6 h-6 text-red-500`},void 0,!1,{fileName:K,lineNumber:108,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:107,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Maßgebliche Rechtsgrundlagen`},void 0,!1,{fileName:K,lineNumber:111,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300 space-y-4`,children:[(0,E.jsxDEV)(`p`,{className:`font-semibold`,children:`Maßgebliche Rechtsgrundlagen nach der DSGVO:`},void 0,!1,{fileName:K,lineNumber:115,columnNumber:21},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside space-y-2`,children:[(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Einwilligung (Art. 6 Abs. 1 S. 1 lit. a) DSGVO)`},void 0,!1,{fileName:K,lineNumber:117,columnNumber:27},void 0),` - Die betroffene Person hat ihre Einwilligung in die Verarbeitung der sie betreffenden personenbezogenen Daten für einen spezifischen Zweck oder mehrere bestimmte Zwecke gegeben.`]},void 0,!0,{fileName:K,lineNumber:117,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Berechtigte Interessen (Art. 6 Abs. 1 S. 1 lit. f) DSGVO)`},void 0,!1,{fileName:K,lineNumber:118,columnNumber:27},void 0),` - Die Verarbeitung ist zur Wahrung der berechtigten Interessen des Verantwortlichen oder eines Dritten erforderlich.`]},void 0,!0,{fileName:K,lineNumber:118,columnNumber:23},void 0)]},void 0,!0,{fileName:K,lineNumber:116,columnNumber:21},void 0),(0,E.jsxDEV)(`p`,{className:`mt-4`,children:[(0,E.jsxDEV)(`strong`,{children:`N
1792ationale Datenschutzregelungen in Deutschland:`},void 0,!1,{fileName:K,lineNumber:120,columnNumber:41},void 0),` Zusätzlich zu den Datenschutzregelungen der DSGVO gelten nationale Regelungen zum Datenschutz in Deutschland.`]},void 0,!0,{fileName:K,lineNumber:120,columnNumber:21},void 0),(0,E.jsxDEV)(`p`,{className:`mt-4`,children:[(0,E.jsxDEV)(`strong`,{children:`Hinweis auf Geltung DSGVO und Schweizer DSG:`},void 0,!1,{fileName:K,lineNumber:121,columnNumber:41},void 0),` Diese Datenschutzhinweise dienen sowohl der Informationserteilung nach dem Schweizer DSG als auch nach der DSGVO.`]},void 0,!0,{fileName:K,lineNumber:121,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:114,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:110,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:106,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:105,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m27`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Xr,{className:`w-6 h-6 text-yellow-500`},void 0,!1,{fileName:K,lineNumber:131,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:130,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Sicherheitsmaßnahmen`},void 0,!1,{fileName:K,lineNumber:134,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`p`,{children:`Wir treffen nach Maßgabe der gesetzlichen Vorgaben unter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeiten und des Ausmaßes der Bedrohung der Rechte und Freiheiten natürlicher Personen geeignete te
1792chnische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.`},void 0,!1,{fileName:K,lineNumber:138,columnNumber:21},void 0),(0,E.jsxDEV)(`p`,{children:`Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen und elektronischen Zugangs zu den Daten als auch des sie betreffenden Zugriffs, der Eingabe, der Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung.`},void 0,!1,{fileName:K,lineNumber:139,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:137,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:133,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:129,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:128,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m25`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(wi,{className:`w-6 h-6 text-blue-500`},void 0,!1,{fileName:K,lineNumber:149,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:148,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Übermittlung von personenbezogenen Daten`},void 0,!1,{fileName:K,lineNumber:152,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{children:`Im Rahmen unserer Verarbeitung von personenbezogenen Daten kommt es vor, dass diese an andere Stellen, Unternehmen, rechtlich selbstständige Organisationseinheiten oder Personen übermittelt beziehungsweise ihnen gegenüber offengelegt werden. Zu den Empfängern dieser Daten können z. B. mit IT-Aufgaben beauftragte Dienstleister gehören oder Anbieter von Diensten und Inhalten, die in eine Website eingebunden sind.`},void 0,!1,{fileName:K,lineNumber:155,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:151,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:147,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:146,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m24`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Ti,{className:`w-6 h-6 text-green-500`},void 0,!1,{fileName:K,lineNumber:164,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:163,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Internationale Datentransfers`},void 0,!1,{fileName:K,lineNumber:167,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`p`,{children:`Datenverarbeitung in Drittländern: Sofern wir Daten in einem Drittland (d. h., außerhalb der Europäischen Union (EU), des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder die Verarbeitung im Rahmen der Inanspruchnahme von Diensten Dritter oder der Offenlegung bzw. Übermittlung von Daten an andere Personen, Stellen oder Unternehmen stattfindet, erfolgt dies nur im Einklang mit den gesetzlichen Vorgaben.`},void 0,!1,{fileName:K,lineNumber:171,columnNumber:21},void 0),(0,E.jsxDEV)(`p`,{children:`Sofern das Datenschutzniveau in dem Drittland mittels eines Angemessenheitsbeschlusses anerkannt wurde (Art. 45 DSGVO), dient dieser als Grundlage des Datentransfers. Im Übrigen erfolgen Datentransfers nur dann, wenn das Datenschutzniveau anderweitig gesichert ist, insbesondere durch Standardvertragsklauseln (Art. 46 Abs. 2 lit. c) DSGVO), ausdrückliche Einwilligung oder im Fall vertraglicher oder gesetzlich erforderlicher Übermittlung (Art. 49 Abs. 1 DSGVO).`},void 0,!1,{fileName:K,lineNumber:172,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:170,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:166,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:162,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:161,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m12`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Br,{className:`w-6 h-6 text-red-500`},void 0,!1,{fileName:K,lineNumber:182,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:181,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Allgemeine Informationen zur Datenspeicherung und Löschung`},void 0,!1,{fileName:K,lineNumber:185,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`p`,{children:`Wir löschen personenbezogene Daten grundsätzlich dann, wenn kein Erfordernis für eine weitere Speicherung besteht. Ein Erfordernis kann insbesondere dann bestehen, wenn die Daten noch benötigt werden, um vertragliche Leistungen zur erfüllen, Gewährleistungs- und ggf. Garantieansprüche prüfen und gewähren oder abwehren zu können.`},void 0,!1,{fileName:K,lineNumber:189,columnNumber:21},void 0),(0,E.jsxDEV)(`p`,{children:`Im Fall von gesetzlichen Aufbewahrungspflichten kommt eine Löschung erst nach Ablauf der jeweiligen Aufbewahrungspflicht in Betracht.`},void 0,!1,{fileName:K,lineNumber:190,columnNumber:21},void 0),(0,E.jsxDEV)(`h3`,{className:`font-semibold text-gray-900 dark:text-white mt-4 mb-2`,children:`Aufbewahrung und Löschung von Daten`},void 0,!1,{fileName:K,lineNumber:191,columnNumber:21},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside space-y-2`,children:[(0,E.jsxDEV)(`li`,{children:`10 Jahre - Aufbewahrungsfrist für Bücher, Aufzeichnungen, Jahresabschlüsse, etc.`},void 0,!1,{fileName:K,lineNumber:193,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:`6 Jahre - Übrige Geschäftsunterlagen`},void 0,!1,{fileName:K,lineNumber:194,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:`3 Jahre - Daten für Gewährleistungs- und Schadensersatzansprüche`},void 0,!1,{fileName:K,lineNumber:195,columnNumber:23},void 0)]},void 0,!0,{fileName:K,lineNumber:192,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:188,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:184,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:180,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:179,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m10`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Rr,{className:`w-6 h-6 text-purple-500`},void 0,!1,{fileName:K,lineNumber:206,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:205,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Rechte der betroffenen Personen`},void 0,!1,{fileName:K,lineNumber:209,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`p`,{children:`Ihnen stehen als Betroffene nach der DSGVO verschiedene Rechte zu, die sich insbesondere aus Art. 15 bis 21 DSGVO ergeben:`},void 0,!1,{fileName:K,lineNumber:213,columnNumber:21},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside space-y-2`,children:[(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Widerspruchsrecht:`},void 0,!1,{fileName:K,lineNumber:215,columnNumber:27},void 0),` Sie haben das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, jederzeit gegen die 
1792Verarbeitung der Sie betreffenden personenbezogenen Daten Widerspruch einzulegen.`]},void 0,!0,{fileName:K,lineNumber:215,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Widerrufsrecht bei Einwilligungen:`},void 0,!1,{fileName:K,lineNumber:216,columnNumber:27},void 0),` Sie haben das Recht, erteilte Einwilligungen jederzeit zu widerrufen.`]},void 0,!0,{fileName:K,lineNumber:216,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Auskunftsrecht:`},void 0,!1,{fileName:K,lineNumber:217,columnNumber:27},void 0),` Sie haben das Recht auf Bestätigung, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten.`]},void 0,!0,{fileName:K,lineNumber:217,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Recht auf Berichtigung:`},void 0,!1,{fileName:K,lineNumber:218,columnNumber:27},void 0),` Sie haben das Recht auf Vervollständigung oder Berichtigung unrichtiger Daten.`]},void 0,!0,{fileName:K,lineNumber:218,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Recht auf Löschung und Einschränkung:`},void 0,!1,{fileName:K,lineNumber:219,columnNumber:27},void 0),` Sie haben das Recht auf Löschung Ihrer Daten oder Einschränkung der Verarbeitung.`]},void 0,!0,{fileName:K,lineNumber:219,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Recht auf Datenübertragbarkeit:`},void 0,!1,{fileName:K,lineNumber:220,columnNumber:27},void 0),` Sie haben das Recht, Ihre Daten in einem strukturierten Format zu erhalten.`]},void 0,!0,{fileName:K,lineNumber:220,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Beschwerde bei Aufsichtsbehörde:`},void 0,!1,{fileName:K,lineNumber:221,columnNumber:27},void 0),` Sie haben das Recht auf Beschwerde bei einer Aufsichtsbehörde.`]},void 0,!0,{fileName:K,lineNumber:221,columnNumber:23},void 0)]},void 0,!0,{fileName:K,lineNumber:214,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:212,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:208,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:204,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:203,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m225`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(Qr,{className:`w-6 h-6 text-indigo-500`},void 0,!1,{fileName:K,lineNumber:232,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:231,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Bereitstellung des Onlineangebots und Webhosting`},void 0,!1,{fileName:K,lineNumber:235,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`p`,{children:`Wir verarbeiten die Daten der Nutzer, um ihnen unsere Online-Dienste zur Verfügung stellen zu können. Zu diesem Zweck verarbeiten wir die IP-Adresse des Nutzers, die notwendig ist, um die Inhalte und Funktionen unserer Online-Dienste an den Browser oder das Endgerät der Nutzer zu übermitteln.`},void 0,!1,{fileName:K,lineNumber:239,columnNumber:21},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside space-y-2`,children:[(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Verarbeitete Datenarten:`},void 0,!1,{fileName:K,lineNumber:241,columnNumber:27},void 0),` Nutzungsdaten, Meta-, Kommunikations- und Verfahrensdaten, Protokolldaten`]},void 0,!0,{fileName:K,lineNumber:241,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Betroffene Personen:`},void 0,!1,{fileName:K,lineNumber:242,columnNumber:27},void 0),` Nutzer`]},void 0,!0,{fileName:K,lineNumber:242,columnNumber:23},void 0),(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:`Zwecke der Verarbeitung:`},void 0,!1,{fileName:K,lineNumber:243,columnNumber:27},void 0),` Bereitstellung unseres Onlineangebotes und Nutzerfreundlichkeit, Sicherheitsmaßnahmen`]},void 0,!0,{fileName:K,lineNumber:243,columnNumber:23},void 0)]},void 0,!0,{fileName:K,lineNumber:240,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:238,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:234,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:230,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:229,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m134`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(
1792Hi,{className:`w-6 h-6 text-orange-500`},void 0,!1,{fileName:K,lineNumber:254,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:253,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Einsatz von Cookies`},void 0,!1,{fileName:K,lineNumber:257,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`p`,{children:`Cookies sind kleine Textdateien oder sonstige Speichervermerke, die Informationen auf Endgeräten speichern und Informationen aus den Endgeräten auslesen. Z. B. um den Login-Status in einem Nutzerkonto, einen Warenkorbinhalt in einem E-Shop, die aufgerufenen Inhalte oder verwendete Funktionen eines Onlineangebotes speichern.`},void 0,!1,{fileName:K,lineNumber:261,columnNumber:21},void 0),(0,E.jsxDEV)(`p`,{children:[(0,E.jsxDEV)(`strong`,{children:`Hinweise zu Rechtsgrundlagen:`},void 0,!1,{fileName:K,lineNumber:262,columnNumber:24},void 0),` Auf welcher Rechtsgrundlage wir Ihre personenbezogenen Daten mithilfe von Cookies verarbeiten, hängt davon ab, ob wir Sie um eine Einwilligung bitten. Falls ja und Sie einwilligen, ist die Rechtsgrundlage die erklärte Einwilligung. Andernfalls werden die mithilfe von Cookies verarbeiteten Daten auf Grundlage unserer berechtigten Interessen verarbeitet.`]},void 0,!0,{fileName:K,lineNumber:262,columnNumber:21},void 0)]},void 0,!0,{fileName:K,lineNumber:260,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:256,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:252,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:251,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,id:`m104`,children:(0,E.jsxDEV)(`div`,{className:`flex items-start space-x-4`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:(0,E.jsxDEV)(oa,{className:`w-6 h-6 text-indigo-500`},void 0,!1,{fileName:K,lineNumber:272,columnNumber:19},void 0)},void 0,!1,{fileName:K,lineNumber:271,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`text-gray-600 dark:text-gray-300`,children:[(0,E.jsxDEV)(`h2`,{className:`text-xl font-semibold text-gray-900 dark:text-white mb-4`,children:`Blogs und Publikationsmedien`},void 0,!1,{fileName:K,lineNumber:275,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:(0,E.jsxDEV)(`p`,{children:`Wir nutzen Blogs oder vergleichbare Mittel der Onlinekommunikation und Publikation. Die Daten der Leser werden für die Zwecke des Publikationsmediums nur insoweit verarbeitet, als es für dessen Darstellung und die Kommunikation zwischen Autoren und Lesern oder aus Gründen der Sicherheit erforderlich ist.`},void 0,!1,{fileName:K,lineNumber:279,columnNumber:21},void 0)},void 0,!1,{fileName:K,lineNumber:278,columnNumber:19},void 0)]},void 0,!0,{fileName:K,lineNumber:274,columnNumber:17},void 0)]},void 0,!0,{fileName:K,lineNumber:270,columnNumber:15},void 0)},void 0,!1,{fileName:K,lineNumber:269,columnNumber:13},void 0)]},void 0,!0,{fileName:K,lineNumber:20,columnNumber:11},void 0)},void 0,!1,{fileName:K,lineNumber:19,columnNumber:9},void 0)]},void 0,!0,{fileName:K,lineNumber:11,columnNumber:7},void 0)},void 0,!1,{fileName:K,lineNumber:10,columnNumber:5},void 0)},q=Number.isFinite||function(e){return typeof e==`number`&&isFinite(e)},zN=Number.isSafeInteger||function(e){return typeof e==`number`&&Math.abs(e)<=BN},BN=2**53-1||9007199254740991,VN=function(e){return e.NETWORK_ERROR=`networkError`,e.MEDIA_ERROR=`mediaError`,e.KEY_SYSTEM_ERROR=`keySystemError`,e.MUX_ERROR=`muxError`,e.OTHER_ERROR=`otherError`,e}({}),J=function(e){return e.KEY_SYSTEM_NO_KEYS=`keySystemNoKeys`,e.KEY_SYSTEM_NO_ACCESS=`keySystemNoAccess`,e.KEY_SYSTEM_NO_SESSION=`keySystemNoSession`,e.KEY_SYSTEM_NO_CONFIGURED_LICENSE=`keySystemNoConfiguredLicense`,e.KEY_SYSTEM_LICENSE_REQUEST_FAILED=`keySystemLicenseRequestFailed`,e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED=`keySystemServerCertificateRequestFailed`,e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED=`keySystemServerCertificateUpdateFailed`,e.KEY_SYSTEM_SESSION_UPDATE_FAILED=`keySystemSessionUpdateFailed`,e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED=`keySystemStatusOutputRestricted`,e.KEY_SYSTEM_STATUS_INTERNAL_ERROR=`keySystemStatusInternalError`,e.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR=`keySystemDestroyMediaKeysError`,e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR=`keySystemDestroyCloseSessionError`,e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR=`keySystemDestroyRemoveSessionError`,e.MANIFEST_LOAD_ERROR=`manifestLoadError`,e.MANIFEST_LOAD_TIMEOUT=`manifestLoadTimeOut`,e.MANIFEST_PARSING_ERROR=`manifestParsingError`,e.MANIFEST_INCOMPATIBLE_CODECS_ERROR=`manifestIncompatibleCodecsError`,e.LEVEL_EMPTY_ERROR=`levelEmptyError`,e.LEVEL_LOAD_ERROR=`levelLoadError`,e.LEVEL_LOAD_TIMEOUT=`levelLoadTimeOut`,e.LEVEL_PARSING_ERROR=`levelParsingError`,e.LEVEL_SWITCH_ERROR=`levelSwitchError`,e.AUDIO_TRACK_LOAD_ERROR=`audioTrackLoadError`,e.AUDIO_TRACK_LOAD_TIMEOUT=`audioTrackLoadTimeOut`,e.SUBTITLE_LOAD_ERROR=`subtitleTrackLoadError`,e.SUBTITLE_TRACK_LOAD_TIMEOUT=`subtitleTrackLoadTimeOut`,e.FRAG_LOAD_ERROR=`fragLoadError`,e.FRAG_LOAD_TIMEOUT=`fragLoadTimeOut`,e.FRAG_DECRYPT_ERROR=`fragDecryptError`,e.FRAG_PARSING_ERROR=`fragParsingError`,e.FRAG_GAP=`fragGap`,e.REMUX_ALLOC_ER
1792ROR=`remuxAllocError`,e.KEY_LOAD_ERROR=`keyLoadError`,e.KEY_LOAD_TIMEOUT=`keyLoadTimeOut`,e.BUFFER_ADD_CODEC_ERROR=`bufferAddCodecError`,e.BUFFER_INCOMPATIBLE_CODECS_ERROR=`bufferIncompatibleCodecsError`,e.BUFFER_APPEND_ERROR=`bufferAppendError`,e.BUFFER_APPENDING_ERROR=`bufferAppendingError`,e.BUFFER_STALLED_ERROR=`bufferStalledError`,e.BUFFER_FULL_ERROR=`bufferFullError`,e.BUFFER_SEEK_OVER_HOLE=`bufferSeekOverHole`,e.BUFFER_NUDGE_ON_STALL=`bufferNudgeOnStall`,e.ASSET_LIST_LOAD_ERROR=`assetListLoadError`,e.ASSET_LIST_LOAD_TIMEOUT=`assetListLoadTimeout`,e.ASSET_LIST_PARSING_ERROR=`assetListParsingError`,e.INTERSTITIAL_ASSET_ITEM_ERROR=`interstitialAssetItemError`,e.INTERNAL_EXCEPTION=`internalException`,e.INTERNAL_ABORTED=`aborted`,e.ATTACH_MEDIA_ERROR=`attachMediaError`,e.UNKNOWN=`unknown`,e}({}),Y=function(e){return e.MEDIA_ATTACHING=`hlsMediaAttaching`,e.MEDIA_ATTACHED=`hlsMediaAttached`,e.MEDIA_DETACHING=`hlsMediaDetaching`,e.MEDIA_DETACHED=`hlsMediaDetached`,e.MEDIA_ENDED=`hlsMediaEnded`,e.STALL_RESOLVED=`hlsStallResolved`,e.BUFFER_RESET=`hlsBufferReset`,e.BUFFER_CODECS=`hlsBufferCodecs`,e.BUFFER_CREATED=`hlsBufferCreated`,e.BUFFER_APPENDING=`hlsBufferAppending`,e.BUFFER_APPENDED=`hlsBufferAppended`,e.BUFFER_EOS=`hlsBufferEos`,e.BUFFERED_TO_END=`hlsBufferedToEnd`,e.BUFFER_FLUSHING=`hlsBufferFlushing`,e.BUFFER_FLUSHED=`hlsBufferFlushed`,e.MANIFEST_LOADING=`hlsManifestLoading`,e.MANIFEST_LOADED=`hlsManifestLoaded`,e.MANIFEST_PARSED=`hlsManifestParsed`,e.LEVEL_SWITCHING=`hlsLevelSwitching`,e.LEVEL_SWITCHED=`hlsLevelSwitched`,e.LEVEL_LOADING=`hlsLevelLoading`,e.LEVEL_LOADED=`hlsLevelLoaded`,e.LEVEL_UPDATED=`hlsLevelUpdated`,e.LEVEL_PTS_UPDATED=`hlsLevelPtsUpdated`,e.LEVELS_UPDATED=`hlsLevelsUpdated`,e.AUDIO_TRACKS_UPDATED=`hlsAudioTracksUpdated`,e.AUDIO_TRACK_SWITCHING=`hlsAudioTrackSwitching`,e.AUDIO_TRACK_SWITCHED=`hlsAudioTrackSwitched`,e.AUDIO_TRACK_LOADING=`hlsAudioTrackLoading`,e.AUDIO_TRACK_LOADED=`hlsAudioTrackLoaded`,e.AUDIO_TRACK_UPDATED=`hlsAudioTrackUpdated`,e.SUBTITLE_TRACKS_UPDATED=`hlsSubtitleTracksUpdated`,e.SUBTITLE_TRACKS_CLEARED=`hlsSubtitleTracksCleared`,e.SUBTITLE_TRACK_SWITCH=`hlsSubtitleTrackSwitch`,e.SUBTITLE_TRACK_LOADING=`hlsSubtitleTrackLoading`,e.SUBTITLE_TRACK_LOADED=`hlsSubtitleTrackLoaded`,e.SUBTITLE_TRACK_UPDATED=`hlsSubtitleTrackUpdated`,e.SUBTITLE_FRAG_PROCESSED=`hlsSubtitleFragProcessed`,e.CUES_PARSED=`hlsCuesParsed`,e.NON_NATIVE_TEXT_TRACKS_FOUND=`hlsNonNativeTextTracksFound`,e.INIT_PTS_FOUND=`hlsInitPtsFound`,e.FRAG_LOADING=`hlsFragLoading`,e.FRAG_LOAD_EMERGENCY_ABORTED=`hlsFragLoadEmergencyAborted`,e.FRAG_LOADED=`hlsFragLoaded`,e.FRAG_DECRYPTED=`hlsFragDecrypted`,e.FRAG_PARSING_INIT_SEGMENT=`hlsFragParsingInitSegment`,e.FRAG_PARSING_USERDATA=`hlsFragParsingUserdata`,e.FRAG_PARSING_METADATA=`hlsFragParsingMetadata`,e.FRAG_PARSED=`hlsFragParsed`,e.FRAG_BUFFERED=`hlsFragBuffered`,e.FRAG_CHANGED=`hlsFragChanged`,e.FPS_DROP=`hlsFpsDrop`,e.FPS_DROP_LEVEL_CAPPING=`hlsFpsDropLevelCapping`,e.MAX_AUTO_LEVEL_UPDATED=`hlsMaxAutoLevelUpdated`,e.ERROR=`hlsError`,e.DESTROYING=`hlsDestroying`,e.KEY_LOADING=`hlsKeyLoading`,e.KEY_LOADED=`hlsKeyLoaded`,e.LIVE_BACK_BUFFER_REACHED=`hlsLiveBackBufferReached`,e.BACK_BUFFER_REACHED=`hlsBackBufferReached`,e.STEERING_MANIFEST_LOADED=`hlsSteeringManifestLoaded`,e.ASSET_LIST_LOADING=`hlsAssetListLoading`,e.ASSET_LIST_LOADED=`hlsAssetListLoaded`,e.INTERSTITIALS_UPDATED=`hlsInterstitialsUpdated`,e.INTERSTITIALS_BUFFERED_TO_BOUNDARY=`hlsInterstitialsBufferedToBoundary`,e.INTERSTITIAL_ASSET_PLAYER_CREATED=`hlsInterstitialAssetPlayerCreated`,e.INTERSTITIAL_STARTED=`hlsInterstitialStarted`,e.INTERSTITIAL_ASSET_STARTED=`hlsInterstitialAssetStarted`,e.INTERSTITIAL_ASSET_ENDED=`hlsInterstitialAssetEnded`,e.INTERSTITIAL_ASSET_ERROR=`hlsInterstitialAssetError`,e.INTERSTITIAL_ENDED=`hlsInterstitialEnded`,e.INTERSTITIALS_PRIMARY_RESUMED=`hlsInterstitialsPrimaryResumed`,e.PLAYOUT_LIMIT_REACHED=`hlsPlayoutLimitReached`,e.EVENT_CUE_ENTER=`hlsEventCueEnter`,e}({}),HN={MANIFEST:`manifest`,LEVEL:`level`,AUDIO_TRACK:`audioTrack`,SUBTITLE_TRACK:`subtitleTrack`},UN={MAIN:`main`,AUDIO:`audio`,SUBTITLE:`subtitle`},WN=class{constructor(e,t=0,n=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=n}sample(e,t){let n=this.alpha_**+e;this.estimate_=t*(1-n)+n*this.estimate_,this.totalWeight_+=e}
vendor: 21,516 bytes, line 1792
1792getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-this.alpha_**+this.totalWeight_;if(e)return this.estimate_/e}return this.estimate_}},GN=class{constructor(e,t,n,r=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=n,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new WN(e),this.fast_=new WN(t),this.defaultTTFB_=r,this.ttfb_=new WN(e)}update(e,t){let{slow_:n,fast_:r,ttfb_:i}=this;n.halfLife!==e&&(this.slow_=new WN(e,n.getEstimate(),n.getTotalWeight())),r.halfLife!==t&&(this.fast_=new WN(t,r.getEstimate(),r.getTotalWeight())),i.halfLife!==e&&(this.ttfb_=new WN(e,i.getEstimate(),i.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);let n=8*t,r=e/1e3,i=n/r;this.fast_.sample(r,i),this.slow_.sample(r,i)}sampleTTFB(e){let t=e/1e3,n=Math.sqrt(2)*Math.exp(-(t**2)/2);this.ttfb_.sample(n,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}};function KN(e,t,n){return(t=ZN(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qN(){return qN=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qN.apply(null,arguments)}function JN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function YN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?JN(Object(n),!0).forEach(function(t){KN(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JN(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function XN(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ZN(e){var t=XN(e,`string`);return typeof t==`symbol`?t:t+``}var QN=class{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;let n=`[${e}]:`;this.trace=$N,this.debug=t.debug.bind(null,n),this.log=t.log.bind(null,n),this.warn=t.warn.bind(null,n),this.info=t.info.bind(null,n),this.error=t.error.bind(null,n)}},$N=function(){},eP={trace:$N,debug:$N,log:$N,warn:$N,info:$N,error:$N};function tP(){return qN({},eP)}function nP(e,t){let n=self.console[e];return n?n.bind(self.console,`${t?`[`+t+`] `:``}[${e}] >`):$N}function rP(e,t,n){return t[e]?t[e].bind(t):nP(e,n)}var iP=tP();function aP(e,t,n){let r=tP();if(typeof console==`object`&&e===!0||typeof e==`object`){let i=[`debug`,`log`,`info`,`warn`,`error`];i.forEach(t=>{r[t]=rP(t,e,n)});try{r.log(`Debug logs enabled for "${t}" in hls.js version 1.6.16`)}catch{return tP()}i.forEach(t=>{iP[t]=rP(t,e)})}else qN(iP,r);return r}var oP=iP;function sP(e=!0){if(!(typeof self>`u`))return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function cP(e){return typeof self<`u`&&e===self.ManagedMediaSource}function lP(e,t){let n=Object.keys(e),r=Object.keys(t),i=n.length,a=r.length;return!i||!a||i===a&&!n.some(e=>r.indexOf(e)===-1)}function uP(e,t=!1){if(typeof TextDecoder<`u`){let n=new TextDecoder(`utf-8`).decode(e);if(t){let e=n.indexOf(`\0`);return e===-1?n:n.substring(0,e)}return n.replace(/\0/g,``)}let n=e.length,r,i,a,o=``,s=0;for(;s<n;){if(r=e[s++],r===0&&t)return o;if(r!==0&&r!==3)switch(r>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:o+=String.fromCharCode(r);break;case 12:case 13:i=e[s++],o+=String.fromCharCode((r&31)<<6|i&63);break;case 14:i=e[s++],a=e[s++],o+=String.fromCharCode((r&15)<<12|(i&63)<<6|(a&63)<<0)}}return o}function dP(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n].toString(16);r.length<2&&(r=`0`+r),t+=r}return t}function fP(e){return Uint8Array.from(e.replace(/^0x/,``).replace(/([\da-fA-F]{2}) ?/g,`0x$1 `).replace(/ +$/,``).split(` `)).buffer}function pP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var mP={exports:{}},hP;function gP(){return hP?mP.exports:(hP=1,(function(e,t){(function(t){var n=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,r=/^(?=([^\/?#]*))\1([^]*)$/,i=/(?:\/|^)\.(?=\/)/g,a=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,o={buildAbsoluteURL:function(e,t,n){if(n||={},e=e.trim(),t=t.trim(),!t){if(!n.alwaysNormalize)return e;var i=o.parseURL(e);if(!i)throw Error(`Error trying to parse base URL.`);return i.path=o.normalizePath(i.path),o.buildURLFromParts(i)}var a=o.parseURL(t);if(!a)throw Error(`Error trying to parse relative URL.`);if(a.scheme)return n.alwaysNormalize?(a.path=o.normalizePath(a.path),o.buildURLFromParts(a)):t;var s=o.parseURL(e);if(!s)throw Error(`Error trying to parse base URL.`);if(!s.netLoc&&s.path&&s.path[0]!==`/`){var c=r.exec(s.path);s.netLoc=c[1],s.path=c[2]}s.netLoc&&!s.path&&(s.path=`/`);var l={scheme:s.scheme,netLoc:a.netLoc,path:null,params:a.params,query:a.query,fragment:a.fragment};if(!a.netLoc&&(l.netLoc=s.netLoc,a.path[0]!==`/`))if(!a.path)l.path=s.path,a.params||(l.params=s.params,a.query||(l.query=s.query));else{var u=s.path,d=u.substring(0,u.lastIndexOf(`/`)+1)+a.path;l.path=o.normalizePath(d)}return l.path===null&&(l.path=n.alwaysNormalize?o.normalizePath(a.path):a.path),o.buildURLFromParts(l)},parseURL:function(e){var t=n.exec(e);return t?{scheme:t[1]||``,netLoc:t[2]||``,path:t[3]||``,params:t[4]||``,query:t[5]||``,fragment:t[6]||``}:null},normalizePath:function(e){for(e=e.split(``).reverse().join(``).replace(i,``);e.length!==(e=e.replace(a,``)).length;);return e.split(``).reverse().join(``)},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};e.exports=o})()})(mP),mP.exports)}var _P=gP(),vP=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}},yP={AUDIO:`audio`,VIDEO:`video`,AUDIOVIDEO:`audiovideo`},bP=class{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,typeof e==`string`&&(e={url:e}),this.base=e,TP(this,`stats`)}setByteRange(e,t){let n=e.split(`@`,2),r;r=n.length===1?t?.byteRangeEndOffset||0:parseInt(n[1]),this._byteRange=[r,parseInt(n[0])+r]}get baseurl(){return this.base.url}get byteRange(){return this._byteRange===null?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return this._streams===null&&(this._streams={[yP.AUDIO]:null,[yP.VIDEO]:null,[yP.AUDIOVIDEO]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return this._stats!==null}get hasStreams(){return this._streams!==null}get stats(){return this._stats===null&&(this._stats=new vP),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=_P.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||``}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[yP.AUDIO]=null,e[yP.VIDEO]=null,e[yP.AUDIOVIDEO]=null}};function xP(e){return e.sn!==`initSegment`}var SP=class extends bP{constructor(e,t){super(t),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],t=this.byteRange[1];if(q(e)&&q(t))return t-e}return null}get bitrate(){return this.byteLength?this.byteLength*8/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||=t.identity.getDecryptData(this.sn);else if(!((e=this._decryptdata)!=null&&e.keyId)){let e=Object.keys(t);if(e.length===1){let n=this._decryptdata=t[e[0]]||null;n&&(this._decryptdata=n.getDecryptData(this.sn,t))}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null)return null;let e=q(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){var t;let e=Object.keys(this.levelkeys),n=e.length;if(n>1||n===1&&(t=this.levelkeys[e[0]])!=null&&t.encrypted)return!0}return!1}get programDateTime(){return this._programDateTime===null&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!q(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return xP(this)?(this._ref||={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime},this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){let t=this.levelkeys;if(t){var n;let r=t[e];r&&!((n=this._decryptdata)!=null&&n.keyId)&&(this._decryptdata=r.getDecryptData(this.sn,t))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,n,r,i,a=!1){let{elementaryStreams:o}=this,s=o[e];if(!s){o[e]={startPTS:t,endPTS:n,startDTS:r,endDTS:i,partial:a};return}s.startPTS=Math.min(s.startPTS,t),s.endPTS=Math.max(s.endPTS,n),s.startDTS=Math.min(s.startDTS,r),s.endDTS=Math.max(s.endDTS,i)}},CP=class extends bP{constructor(e,t,n,r,i){super(n),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.duration=e.decimalFloatingPoint(`DURATION`),this.gap=e.bool(`GAP`),this.independent=e.bool(`INDEPENDENT`),this.relurl=e.enumeratedString(`URI`),this.fragment=t,this.index=r;let a=e.enumeratedString(`BYTERANGE`);a&&this.setByteRange(a,i),i&&(this.fragOffset=i.fragOffset+i.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}};function wP(e,t){let n=Object.getPrototypeOf(e);if(n)return Object.getOwnPropertyDescriptor(n,t)||wP(n,t)}function TP(e,t){let n=wP(e,t);n&&(n.enumerable=!0,Object.defineProperty(e,t,n))}var EP=2**32-1,DP=[].push,OP={video:1,audio:2,id3:3,text:4};function kP(e){return String.fromCharCode.apply(null,e)}function AP(e,t){let n=e[t]<<8|e[t+1];return n<0?65536+n:n}function jP(e,t){let n=NP(e,t);return n<0?4294967296+n:n}function MP(e,t){let n=jP(e,t);return n*=2**32,n+=jP(e,t+4),n}function NP(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function PP(e){let t=e.byteLength;for(let n=0;n<t;){let r=jP(e,n);if(r>8&&e[n+4]===109&&e[n+5]===111&&e[n+6]===111&&e[n+7]===102)return!0;n=r>1?n+r:t}return!1}function FP(e,t){let n=[];if(!t.length)return n;let r=e.byteLength;for(let i=0;i<r;){let a=jP(e,i),o=kP(e.subarray(i+4,i+8)),s=a>1?i+a:r;if(o===t[0])if(t.length===1)n.push(e.subarray(i+8,s));else{let r=FP(e.subarray(i+8,s),t.slice(1));r.length&&DP.apply(n,r)}i=s}return n}function IP(e){let t=[],n=e[0],r=8,i=jP(e,r);r+=4;let a=0,o=0;n===0?(a=jP(e,r),o=jP(e,r+4),r+=8):(a=MP(e,r),o=MP(e,r+8),r+=16),r+=2;let s=e.length+o,c=AP(e,r);r+=2;for(let n=0;n<c;n++){let n=r,a=jP(e,n);n+=4;let o=a&2147483647;if((a&2147483648)>>>31==1)return oP.warn(`SIDX has hierarchical references (not supported)`),null;let c=jP(e,n);n+=4,t.push({referenceSize:o,subsegmentDuration:c,info:{duration:c/i,start:s,end:s+o-1}}),s+=o,n+=4,r=n}return{earliestPresentationTime:a,timescale:i,version:n,referencesCount:c,references:t}}function LP(e){let t=[],n=FP(e,[`moov`,`trak`]);for(let e=0;e<n.length;e++){let r=n[e],i=FP(r,[`tkhd`])[0];if(i){let e=i[0],n=jP(i,e===0?12:20),a=FP(r,[`mdia`,`mdhd`])[0];if(a){e=a[0];let i=jP(a,e===0?12:20),o=FP(r,[`mdia`,`hdlr`])[0];if(o){let e=kP(o.subarray(8,12)),a={soun:yP.AUDIO,vide:yP.VIDEO}[e],s=FP(r,[`mdia`,`minf`,`stbl`,`stsd`])[0],c=RP(s);a?(t[n]={timescale:i,type:a,stsd:c},t[a]=YN({timescale:i,id:n},c)):t[n]={timescale:i,type:e,stsd:c}}}}}return FP(e,[`moov`,`mvex`,`trex`]).forEach(e=>{let n=jP(e,4),r=t[n];r&&(r.default={duration:jP(e,12),flags:jP(e,20)})}),t}function RP(e){let t=e.subarray(8),n=t.subarray(86),r=kP(t.subarray(4,8)),i=r,a,o=r===`enca`||r===`encv`;o&&FP(FP(t,[r])[0].subarray(r===`enca`?28:78),[`sinf`]).forEach(e=>{let t=FP(e,[`schm`])[0];if(t){let n=kP(t.subarray(4,8));if(n===`cbcs`||n===`cenc`){let t=FP(e,[`frma`])[0];t&&(i=kP(t))}}});let s=i;switch(i){case`avc1`:case`avc2`:case`avc3`:case`avc4`:{let e=FP(n,[`avcC`])[0];e&&e.length>3&&(i+=`.`+HP(e[1])+HP(e[2])+HP(e[3]),a=zP(s===`avc1`?`dva1`:`dvav`,n));break}case`mp4a`:{let e=FP(t,[r])[0],n=FP(e.subarray(28),[`esds`])[0];if(n&&n.length>7){let e=4;if(n[e++]!==3)break;e=VP(n,e),e+=2;let t=n[e++];if(t&128&&(e+=2),t&64&&(e+=n[e++]),n[e++]!==4)break;e=VP(n,e);let r=n[e++];if(r===64)i+=`.`+HP(r);else break;if(e+=12,n[e++]!==5)break;e=VP(n,e);let a=n[e++],o=(a&248)>>3;o===31&&(o+=1+((a&7)<<3)+((n[e]&224)>>5)),i+=`.`+o}break}case`hvc1`:case`hev1`:{let e=FP(n,[`hvcC`])[0];if(e&&e.length>12){let t=e[1],n=[``,`A`,`B`,`C`][t>>6],r=t&31,a=jP(e,2),o=(t&32)>>5?`H`:`L`,s=e[12],c=e.subarray(6,12);i+=`.`+n+r,i+=`.`+BP(a).toString(16).toUpperCase(),i+=`.`+o+s;let l=``;for(let e=c.length;e--;){let t=c[e];(t||l)&&(l=`.`+t.toString(16).toUpperCase()+l)}i+=l}a=zP(s==`hev1`?`dvhe`:`dvh1`,n);break}case`dvh1`:case`dvhe`:case`dvav`:case`dva1`:case`dav1`:i=zP(i,n)||i;break;case`vp09`:{let e=FP(n,[`vpcC`])[0];if(e&&e.length>6){let t=e[4],n=e[5],r=e[6]>>4&15;i+=`.`+UP(t)+`.`+UP(n)+`.`+UP(r)}break}case`av01`:{let e=FP(n,[`av1C`])[0];if(e&&e.length>2){let t=e[1]>>>5,r=e[1]&31,o=e[2]>>>7?`H`:`M`,s=(e[2]&64)>>6,c=(e[2]&32)>>5,l=t===2&&s?c?12:10:s?10:8,u=(e[2]&16)>>4,d=(e[2]&8)>>3,f=(e[2]&4)>>2,p=e[2]&3;i+=`.`+t+`.`+UP(r)+o+`.`+UP(l)+`.`+u+`.`+d+f+p+`.`+UP(1)+`.`+UP(1)+`.`+UP(1)+`.0`,a=zP(`dav1`,n)}break}}return{codec:i,encrypted:o,supplemental:a}}function zP(e,t){let n=FP(t,[`dvvC`]),r=n.length?n[0]:FP(t,[`dvcC`])[0];if(r){let t=r[2]>>1&127,n=r[2]<<5&32|r[3]>>3&31;return e+`.`+UP(t)+`.`+UP(n)}}function BP(e){let t=0;for(let n=0;n<32;n++)t|=(e>>n&1)<<31-n;return t>>>0}function VP(e,t){let n=t+5;for(;e[t++]&128&&t<n;);return t}function HP(e){return(`0`+e.toString(16).toUpperCase()).slice(-2)}function UP(e){return(e<10?`0`:``)+e}function WP(e,t){if(!e||!t)return;let n=t.keyId;n&&t.isCommonEncryption&&KP(e,(e,t)=>{let r=e.subarray(8,24);r.some(e=>e!==0)||(oP.log(`[eme] Patching keyId in 'enc${t?`a`:`v`}>sinf>>tenc' box: ${dP(r)} -> ${dP(n)}`),e.set(n,8))})}function GP(e){let t=[];return KP(e,e=>t.push(e.subarray(8,24))),t}function KP(e,t){FP(e,[`moov`,`trak`]).forEach(e=>{let n=FP(e,[`mdia`,`minf`,`stbl`,`stsd`])[0];if(!n)return;let r=n.subarray(8),i=FP(r,[`enca`]),a=i.length>0;a||(i=FP(r,[`encv`])),i.forEach(e=>{FP(a?e.subarray(28):e.subarray(78),[`sinf`]).forEach(e=>{let n=qP(e);n&&t(n,a)})})})}function qP(e){let t=FP(e,[`schm`])[0];if(t){let n=kP(t.subarray(4,8));if(n===`cbcs`||n===`cenc`){let t=FP(e,[`schi`,`tenc`])[0];if(t)return t}}}function JP(e,t,n){let r={},i=FP(e,[`moof`,`traf`]);for(let e=0;e<i.length;e++){let a=i[e],o=FP(a,[`tfhd`])[0],s=jP(o,4),c=t[s];if(!c)continue;r[s]||(r[s]={start:NaN,duration:0,sampleCount:0,timescale:c.timescale,type:c.type});let l=r[s],u=FP(a,[`tfdt`])[0];if(u){let e=u[0],t=jP(u,4);e===1&&(t===EP?n.warn(`[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time`):(t*=EP+1,t+=jP(u,8))),q(t)&&(!q(l.start)||t<l.start)&&(l.start=t)}let d=c.default,f=jP(o,0)|d?.flags,p=d?.duration||0;f&8&&(p=f&2?jP(o,12):jP(o,8));let m=FP(a,[`trun`]),h=l.start||0,g=0,_=p;for(let e=0;e<m.length;e++){let t=m[e],n=jP(t,4),r=l.sampleCount;l.sampleCount+=n;let i=t[3]&1,a=t[3]&4,o=t[2]&1,s=t[2]&2,c=t[2]&4,u=t[2]&8,d=8,f=n;for(i&&(d+=4),a&&n&&(!(t[d+1]&1)&&l.keyFrameIndex===void 0&&(l.keyFrameIndex=r),d+=4,o?(_=jP(t,d),d+=4):_=p,s&&(d+=4),u&&(d+=4),h+=_,g+=_,f--);f--;)o?(_=jP(t,d),d+=4):_=p,s&&(d+=4),c&&(t[d+1]&1||l.keyFrameIndex===void 0&&(l.keyFrameIndex=l.sampleCount-(f+1),l.keyFrameStart=h),d+=4),u&&(d+=4),h+=_,g+=_;!g&&p&&(g+=p*n)}l.duration+=g}if(!Object.keys(r).some(e=>r[e].duration)){let t=1/0,n=0,i=FP(e,[`sidx`]);for(let e=0;e<i.length;e++){let r=IP(i[e]);if(r!=null&&r.references){t=Math.min(t,r.earliestPresentationTime/r.timescale);let e=r.references.reduce((e,t)=>e+t.info.duration||0,0);n=Math.max(n,e+r.earliestPresentationTime/r.timescale)}}n&&q(n)&&Object.keys(r).forEach(e=>{r[e].duration||(r[e].duration=n*r[e].timescale-r[e].start)})}return r}function YP(e){let t={valid:null,remainder:null},n=FP(e,[`moof`]);if(n.length<2)return t.remainder=e,t;let r=n[n.length-1];return t.valid=e.slice(0,r.byteOffset-8),t.remainder=e.slice(r.byteOffset-8),t}function XP(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function ZP(e,t){let n=[],r=t.samples,i=t.timescale,a=t.id,o=!1;return FP(r,[`moof`]).map(s=>{let c=s.byteOffset-8;FP(s,[`traf`]).map(s=>{let l=FP(s,[`tfdt`]).map(e=>{let t=e[0],n=jP(e,4);return t===1&&(n*=2**32,n+=jP(e,8)),n/i})[0];return l!==void 0&&(e=l),FP(s,[`tfhd`]).map(l=>{let u=jP(l,4),d=jP(l,0)&16777215,f=!!(d&1),p=!!(d&2),m=!!(d&8),h=0,g=!!(d&16),_=0,v=!!(d&32),y=8;u===a&&(f&&(y+=8),p&&(y+=4),m&&(h=jP(l,y),y+=4),g&&(_=jP(l,y),y+=4),v&&(y+=4),t.type===`video`&&(o=QP(t.codec)),FP(s,[`trun`]).map(a=>{let s=a[0],l=jP(a,0)&16777215,u=!!(l&1),d=0,f=!!(l&4),p=!!(l&256),m=0,g=!!(l&512),v=0,y=!!(l&1024),b=!!(l&2048),x=0,S=jP(a,4),ee=8;u&&(d=jP(a,ee),ee+=4),f&&(ee+=4);let te=d+c;for(let c=0;c<S;c++){if(p?(m=jP(a,ee),ee+=4):m=h,g?(v=jP(a,ee),ee+=4):v=_,y&&(ee+=4),b&&(x=s===0?jP(a,ee):NP(a,ee),ee+=4),t.type===yP.VIDEO){let t=0;for(;t<v;){let a=jP(r,te);te+=4,$P(o,r[te])&&eF(r.subarray(te,te+a),o?2:1,e+x/i,n),te+=a,t+=a+4}}e+=m/i}}))})})}),n}function QP(e){if(!e)return!1;let t=e.substring(0,4);return t===`hvc1`||t===`hev1`||t===`dvh1`||t===`dvhe`}function $P(e,t){if(e){let e=t>>1&63;return e===39||e===40}return(t&31)==6}function eF(e,t,n,r){let i=tF(e),a=0;a+=t;let o=0,s=0,c=0;for(;a<i.length;){o=0;do{if(a>=i.length)break;c=i[a++],o+=c}while(c===255);s=0;do{if(a>=i.length)break;c=i[a++],s+=c}while(c===255);let e=i.length-a,t=a;if(s<e)a+=s;else if(s>e){oP.error(`Malformed SEI payload. ${s} is too small, only ${e} bytes left to parse.`);break}if(o===4){if(i[t++]===181){let e=AP(i,t);if(t+=2,e===49){let e=jP(i,t);if(t+=4,e===1195456820){let e=i[t++];if(e===3){let a=i[t++],s=31&a,c=64&a,l=c?2+s*3:0,u=new Uint8Array(l);if(c){u[0]=a;for(let e=1;e<l;e++)u[e]=i[t++]}r.push({type:e,payloadType:o,pts:n,bytes:u})}}}}}else if(o===5&&s>16){let e=[];for(let n=0;n<16;n++){let r=i[t++].toString(16);e.push(r.length==1?`0`+r:r),(n===3||n===5||n===7||n===9)&&e.push(`-`)}let a=s-16,c=new Uint8Array(a);for(let e=0;e<a;e++)c[e]=i[t++];r.push({payloadType:o,pts:n,uuid:e.join(``),userData:uP(c),userDataBytes:c})}}}function tF(e){let t=e.byteLength,n=[],r=1;for(;r<t-2;)e[r]===0&&e[r+1]===0&&e[r+2]===3?(n.push(r+2),r+=2):r++;if(n.length===0)return e;let i=t-n.length,a=new Uint8Array(i),o=0;for(r=0;r<i;o++,r++)o===n[0]&&(o++,n.shift()),a[r]=e[o];return a}function nF(e){let t=e[0],n=``,r=``,i=0,a=0,o=0,s=0,c=0,l=0;if(t===0){for(;kP(e.subarray(l,l+1))!==`\0`;)n+=kP(e.subarray(l,l+1)),l+=1;for(n+=kP(e.subarray(l,l+1)),l+=1;kP(e.subarray(l,l+1))!==`\0`;)r+=kP(e.subarray(l,l+1)),l+=1;r+=kP(e.subarray(l,l+1)),l+=1,i=jP(e,12),a=jP(e,16),s=jP(e,20),c=jP(e,24),l=28}else if(t===1){l+=4,i=jP(e,l),l+=4;let t=jP(e,l);l+=4;let a=jP(e,l);for(l+=4,o=2**32*t+a,zN(o)||(o=2**53-1,oP.warn(`Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box`)),s=jP(e,l),l+=4,c=jP(e,l),l+=4;kP(e.subarray(l,l+1))!==`\0`;)n+=kP(e.subarray(l,l+1)),l+=1;for(n+=kP(e.subarray(l,l+1)),l+=1;kP(e.subarray(l,l+1))!==`\0`;)r+=kP(e.subarray(l,l+1)),l+=1;r+=kP(e.subarray(l,l+1)),l+=1}let u=e.subarray(l,e.byteLength);return{schemeIdUri:n,value:r,timeScale:i,presentationTime:o,presentationTimeDelta:a,eventDuration:s,id:c,payload:u}}function rF(e,...t){let n=t.length,r=8,i=n;for(;i--;)r+=t[i].byteLength;let a=new Uint8Array(r);for(a[0]=r>>24&255,a[1]=r>>16&255,a[2]=r>>8&255,a[3]=r&255,a.set(e,4),i=0,r=8;i<n;i++)a.set(t[i],r),r+=t[i].byteLength;return a}
1792function iF(e,t,n){if(e.byteLength!==16)throw RangeError(`Invalid system id`);let r,i;r=0,i=new Uint8Array;let a;r>0?(a=new Uint8Array(4),t.length>0&&new DataView(a.buffer).setUint32(0,t.length,!1)):a=new Uint8Array;let o=new Uint8Array(4);return n.byteLength>0&&new DataView(o.buffer).setUint32(0,n.byteLength,!1),rF([112,115,115,104],new Uint8Array([r,0,0,0]),e,a,i,o,n)}function aF(e){let t=[];if(e instanceof ArrayBuffer){let n=e.byteLength,r=0;for(;r+32<n;){let n=oF(new DataView(e,r));t.push(n),r+=n.size}}return t}function oF(e){let t=e.getUint32(0),n=e.byteOffset,r=e.byteLength;if(r<t)return{offset:n,size:r};if(e.getUint32(4)!==1886614376)return{offset:n,size:t};let i=e.getUint32(8)>>>24;if(i!==0&&i!==1)return{offset:n,size:t};let a=e.buffer,o=dP(new Uint8Array(a,n+12,16)),s=null,c=null,l=0;if(i===0)l=28;else{let i=e.getUint32(28);if(!i||r<32+i*16)return{offset:n,size:t};s=[];for(let e=0;e<i;e++)s.push(new Uint8Array(a,n+32+e*16,16));l=32+i*16}if(!l)return{offset:n,size:t};let u=e.getUint32(l);return t-32<u?{offset:n,size:t}:(c=new Uint8Array(a,n+l+4,u),{version:i,systemId:o,kids:s,data:c,offset:n,size:t})}var sF=()=>/\(Windows.+Firefox\//i.test(navigator.userAgent),cF={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function lF(e,t){let n=cF[t];return!!n&&!!n[e.slice(0,4)]}function uF(e,t,n=!0){return!e.split(`,`).some(e=>!dF(e,t,n))}function dF(e,t,n=!0){return sP(n)?.isTypeSupported(fF(e,t))??!1}function fF(e,t){return`${t}/mp4;codecs=${e}`}function pF(e){if(e){let t=e.substring(0,4);return cF.video[t]}return 2}function mF(e){let t=sF();return e.split(`,`).reduce((e,n)=>{let r=t&&QP(n)?9:cF.video[n];return r?(r*2+e)/(e?3:2):(cF.audio[n]+e)/(e?2:1)},0)}var hF={};function gF(e,t=!0){if(hF[e])return hF[e];let n={flac:[`flac`,`fLaC`,`FLAC`],opus:[`opus`,`Opus`],"mp4a.40.34":[`mp3`]}[e];for(let i=0;i<n.length;i++){var r;if(dF(n[i],`audio`,t))return hF[e]=n[i],n[i];if(n[i]===`mp3`&&(r=sP(t))!=null&&r.isTypeSupported(`audio/mpeg`))return``}return e}var _F=/flac|opus|mp4a\.40\.34/i;function vF(e,t=!0){return e.replace(_F,e=>gF(e.toLowerCase(),t))}function yF(e,t){let n=[];if(e){let t=e.split(`,`);for(let e=0;e<t.length;e++)lF(t[e],`video`)||n.push(t[e])}return t&&n.push(t),n.join(`,`)}function bF(e,t){if(e&&(e.length>4||[`ac-3`,`ec-3`,`alac`,`fLaC`,`Opus`].indexOf(e)!==-1)&&(xF(e,`audio`)||xF(e,`video`)))return e;if(t){let n=t.split(`,`);if(n.length>1){if(e){for(let t=n.length;t--;)if(n[t].substring(0,4)===e.substring(0,4))return n[t]}return n[0]}}return t||e}function xF(e,t){return lF(e,t)&&dF(e,t)}function SF(e){let t=e.split(`,`);for(let e=0;e<t.length;e++){let n=t[e].split(`.`);n.length>2&&n[0]===`avc1`&&(t[e]=`avc1.${parseInt(n[1]).toString(16)}${(`000`+parseInt(n[2]).toString(16)).slice(-4)}`)}return t.join(`,`)}function CF(e){if(e.startsWith(`av01.`)){let t=e.split(`.`),n=[`0`,`111`,`01`,`01`,`01`,`0`];for(let e=t.length;e>4&&e<10;e++)t[e]=n[e-4];return t.join(`.`)}return e}function wF(e){let t=sP(e)||{isTypeSupported:()=>!1};return{mpeg:t.isTypeSupported(`audio/mpeg`),mp3:t.isTypeSupported(`audio/mp4; codecs="mp3"`),ac3:t.isTypeSupported(`audio/mp4; codecs="ac-3"`)}}function TF(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,`$1`)}var EF={supported:!0,powerEfficient:!0,smooth:!0},DF={supported:!1,smooth:!1,powerEfficient:!1},OF={supported:!0,configurations:[],decodingInfoResults:[EF]};function kF(e,t){return{supported:!1,configurations:t,decodingInfoResults:[DF],error:e}}function AF(e,t,n,r,i,a){let o=e.videoCodec,s=e.audioCodec?e.audioGroups:null,c=a?.audioCodec,l=a?.channels,u=l?parseInt(l):c?1/0:2,d=null;if(s!=null&&s.length)try{d=s.length===1&&s[0]?t.groups[s[0]].channels:s.reduce((e,n)=>{if(n){let r=t.groups[n];if(!r)throw Error(`Audio track group ${n} not found`);
vendor: 18,768 bytes, lines 1792-1802
1792Object.keys(r.channels).forEach(t=>{e[t]=(e[t]||0)+r.channels[t]})}return e},{2:0})}catch{return!0}return o!==void 0&&(o.split(`,`).some(e=>QP(e))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(r,30)||e.videoRange!==`SDR`&&e.videoRange!==n||e.bitrate>Math.max(i,8e6))||!!d&&q(u)&&Object.keys(d).some(e=>parseInt(e)>u)}function jF(e,t,n,r={}){let i=e.videoCodec;if(!i&&!e.audioCodec||!n)return Promise.resolve(OF);let a=[],o=MF(e),s=o.length,c=NF(e,t,s>0),l=c.length;for(let e=s||1*l||1;e--;){let t={type:`media-source`};if(s&&(t.video=o[e%s]),l){t.audio=c[e%l];let n=t.audio.bitrate;t.video&&n&&(t.video.bitrate-=n)}a.push(t)}if(i){let e=navigator.userAgent;if(i.split(`,`).some(e=>QP(e))&&sF())return Promise.resolve(kF(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),a))}return Promise.all(a.map(e=>{let t=IF(e);return r[t]||(r[t]=n.decodingInfo(e))})).then(e=>({supported:!e.some(e=>!e.supported),configurations:a,decodingInfoResults:e})).catch(e=>({supported:!1,configurations:a,decodingInfoResults:[],error:e}))}function MF(e){let t=e.videoCodec?.split(`,`),n=FF(e),r=e.width||640,i=e.height||480,a=e.frameRate||30,o=e.videoRange.toLowerCase();return t?t.map(e=>{let t={contentType:fF(CF(e),`video`),width:r,height:i,bitrate:n,framerate:a};return o!==`sdr`&&(t.transferFunction=o),t}):[]}function NF(e,t,n){let r=e.audioCodec?.split(`,`),i=FF(e);return r&&e.audioGroups?e.audioGroups.reduce((e,a)=>{let o=a?t.groups[a]?.tracks:null;return o?o.reduce((e,t)=>{if(t.groupId===a){let a=parseFloat(t.channels||``);r.forEach(t=>{let r={contentType:fF(t,`audio`),bitrate:n?PF(t,i):i};a&&(r.channels=``+a),e.push(r)})}return e},e):e},[]):[]}function PF(e,t){if(t<=1)return 1;let n=128e3;return e===`ec-3`?n=768e3:e===`ac-3`&&(n=64e4),Math.min(t/2,n)}function FF(e){return Math.ceil(Math.max(e.bitrate*.9,e.averageBitrate)/1e3)*1e3||1}function IF(e){let t=``,{audio:n,video:r}=e;if(r){let e=TF(r.contentType);t+=`${e}_r${r.height}x${r.width}f${Math.ceil(r.framerate)}${r.transferFunction||`sd`}_${Math.ceil(r.bitrate/1e5)}`}if(n){let e=TF(n.contentType);t+=`${r?`_`:``}${e}_c${n.channels}`}return t}var LF=[`NONE`,`TYPE-0`,`TYPE-1`,null];function RF(e){return LF.indexOf(e)>-1}var zF=[`SDR`,`PQ`,`HLG`];function BF(e){return!!e&&zF.indexOf(e)>-1}var VF={No:``,Yes:`YES`,v2:`v2`};function HF(e){let{canSkipUntil:t,canSkipDateRanges:n,age:r}=e,i=r<t/2;return t&&i?n?VF.v2:VF.Yes:VF.No}var UF=class{constructor(e,t,n){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=n}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set(`_HLS_msn`,this.msn.toString()),this.part!==void 0&&t.searchParams.set(`_HLS_part`,this.part.toString()),this.skip&&t.searchParams.set(`_HLS_skip`,this.skip),t.href}},WF=class{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat(`FRAME-RATE`,0),this._avgBitrate=e.attrs.decimalInteger(`AVERAGE-BANDWIDTH`),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(e=>!!e).map(e=>e.substring(0,4)).join(`,`),`supplemental`in e){this.supplemental=e.supplemental;let t=e.supplemental?.videoCodec;t&&t!==e.videoCodec&&(this.codecSet+=`,${t.substring(0,4)}`)}this.addGroupId(`audio`,e.attrs.AUDIO),this.addGroupId(`text`,e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||``}get pathwayId(){return this.attrs[`PATHWAY-ID`]||`.`}get videoRange(){return this.attrs[`VIDEO-RANGE`]||`SDR`}get score(){return this.attrs.optionalFloat(`SCORE`,0)}get uri(){return this.url[0]||``}hasAudioGroup(e){return GF(this._audioGroups,e)}hasSubtitleGroup(e){return GF(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e===`audio`){let e=this._audioGroups;e||=this._audioGroups=[],e.indexOf(t)===-1&&e.push(t)}else if(e===`text`){let e=this._subtitleGroups;e||=this._subtitleGroups=[],e.indexOf(t)===-1&&e.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){return this.audioGroups?.[0]}get textGroupId(){return this.subtitleGroups?.[0]}addFallback(){}};function GF(e,t){return!t||!e?!1:e.indexOf(t)!==-1}function KF(){if(typeof matchMedia==`function`){let e=matchMedia(`(dynamic-range: high)`),t=matchMedia(`bad query`);if(e.media!==t.media)return e.matches===!0}return!1}function qF(e,t){let n=!1,r=[];if(e&&(n=e!==`SDR`,r=[e]),t){r=t.allowedVideoRanges||zF.slice(0);let e=r.join(``)!==`SDR`&&!t.videoCodec;n=t.preferHDR===void 0?e&&KF():t.preferHDR,n||(r=[`SDR`])}return{preferHDR:n,allowedVideoRanges:r}}var JF=e=>{let t=new WeakSet;return(n,r)=>{if(e&&(r=e(n,r)),typeof r==`object`&&r){if(t.has(r))return;t.add(r)}return r}},YF=(e,t)=>JSON.stringify(e,JF(t));function XF(e,t,n,r,i){let a=Object.keys(e),o=r?.channels,s=r?.audioCodec,c=i?.videoCodec,l=o&&parseInt(o)===2,u=!1,d=!1,f=1/0,p=1/0,m=1/0,h=1/0,g=0,_=[],{preferHDR:v,allowedVideoRanges:y}=qF(t,i);for(let t=a.length;t--;){let n=e[a[t]];u||=n.channels[2]>0,f=Math.min(f,n.minHeight),p=Math.min(p,n.minFramerate),m=Math.min(m,n.minBitrate),y.filter(e=>n.videoRanges[e]>0).length>0&&(d=!0)}f=q(f)?f:0,p=q(p)?p:0;let b=Math.max(1080,f),x=Math.max(30,p);m=q(m)?m:n,n=Math.max(m,n),d||(t=void 0);let S=a.length>1;return{codecSet:a.reduce((t,r)=>{let i=e[r];if(r===t)return t;if(_=d?y.filter(e=>i.videoRanges[e]>0):[],S){if(i.minBitrate>n)return ZF(r,`min bitrate of ${i.minBitrate} > current estimate of ${n}`),t;if(!i.hasDefaultAudio)return ZF(r,`no renditions with default or auto-select sound found`),t;if(s&&r.indexOf(s.substring(0,4))%5!=0)return ZF(r,`audio codec preference "${s}" not found`),t;if(o&&!l){if(!i.channels[o])return ZF(r,`no renditions with ${o} channel sound found (channels options: ${Object.keys(i.channels)})`),t}else if((!s||l)&&u&&i.channels[2]===0)return ZF(r,`no renditions with stereo sound found`),t;if(i.minHeight>b)return ZF(r,`min resolution of ${i.minHeight} > maximum of ${b}`),t;if(i.minFramerate>x)return ZF(r,`min framerate of ${i.minFramerate} > maximum of ${x}`),t;if(!_.some(e=>i.videoRanges[e]>0))return ZF(r,`no variants with VIDEO-RANGE of ${YF(_)} found`),t;if(c&&r.indexOf(c.substring(0,4))%5!=0)return ZF(r,`video codec preference "${c}" not found`),t;if(i.maxScore<g)return ZF(r,`max score of ${i.maxScore} < selected max of ${g}`),t}return t&&(mF(r)>=mF(t)||i.fragmentError>e[t].fragmentError)?t:(h=i.minIndex,g=i.maxScore,r)},void 0),videoRanges:_,preferHDR:v,minFramerate:p,minBitrate:m,minIndex:h}}function ZF(e,t){oP.log(`[abr] start candidates with "${e}" ignored because ${t}`)}function QF(e){return e.reduce((e,t)=>{let n=e.groups[t.groupId];n||=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1},n.tracks.push(t);let r=t.channels||`2`;return n.channels[r]=(n.channels[r]||0)+1,n.hasDefault=n.hasDefault||t.default,n.hasAutoSelect=n.hasAutoSelect||t.autoselect,n.hasDefault&&(e.hasDefaultAudio=!0),n.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function $F(e,t,n,r){return e.slice(n,r+1).reduce((e,n,r)=>{if(!n.codecSet)return e;let i=n.audioGroups,a=e[n.codecSet];a||(e[n.codecSet]=a={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:r,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!i,fragmentError:0}),a.minBitrate=Math.min(a.minBitrate,n.bitrate);let o=Math.min(n.height,n.width);return a.minHeight=Math.min(a.minHeight,o),a.minFramerate=Math.min(a.minFramerate,n.frameRate),a.minIndex=Math.min(a.minIndex,r),a.maxScore=Math.max(a.maxScore,n.score),a.fragmentError+=n.fragmentError,a.videoRanges[n.videoRange]=(a.videoRanges[n.videoRange]||0)+1,i&&i.forEach(e=>{if(!e)return;let n=t.groups[e];n&&(a.hasDefaultAudio=a.hasDefaultAudio||t.hasDefaultAudio?n.hasDefault:n.hasAutoSelect||!t.hasDefaultAudio&&!t.hasAutoSelectAudio,Object.keys(n.channels).forEach(e=>{a.channels[e]=(a.channels[e]||0)+n.channels[e]}))}),e},{})}function eI(e){if(!e)return e;let{lang:t,assocLang:n,characteristics:r,channels:i,audioCodec:a}=e;return{lang:t,assocLang:n,characteristics:r,channels:i,audioCodec:a}}function tI(e,t,n){if(`attrs`in e){let n=t.indexOf(e);if(n!==-1)return n}for(let r=0;r<t.length;r++){let i=t[r];if(nI(e,i,n))return r}return-1}function nI(e,t,n){let{groupId:r,name:i,lang:a,assocLang:o,default:s}=e,c=e.forced;return(r===void 0||t.groupId===r)&&(i===void 0||t.name===i)&&(a===void 0||rI(a,t.lang))&&(a===void 0||t.assocLang===o)&&(s===void 0||t.default===s)&&(c===void 0||t.forced===c)&&(!(`characteristics`in e)||iI(e.characteristics||``,t.characteristics))&&(n===void 0||n(e,t))}function rI(e,t=`--`){return e.length===t.length?e===t:e.startsWith(t)||t.startsWith(e)}function iI(e,t=``){let n=e.split(`,`),r=t.split(`,`);return n.length===r.length&&!n.some(e=>r.indexOf(e)===-1)}function aI(e,t){let{audioCodec:n,channels:r}=e;return(n===void 0||(t.audioCodec||``).substring(0,4)===n.substring(0,4))&&(r===void 0||r===(t.channels||`2`))}function oI(e,t,n,r,i){let a=t[r],o=t.reduce((e,t,n)=>{let r=t.uri;return(e[r]||(e[r]=[])).push(n),e},{})[a.uri];o.length>1&&(r=Math.max.apply(Math,o));let s=a.videoRange,c=a.frameRate,l=a.codecSet.substring(0,4),u=sI(t,r,t=>{if(t.videoRange!==s||t.frameRate!==c||t.codecSet.substring(0,4)!==l)return!1;let r=t.audioGroups;return tI(e,n.filter(e=>!r||r.indexOf(e.groupId)!==-1),i)>-1});return u>-1?u:sI(t,r,t=>{let r=t.audioGroups;return tI(e,n.filter(e=>!r||r.indexOf(e.groupId)!==-1),i)>-1})}function sI(e,t,n){for(let r=t;r>-1;r--)if(n(e[r]))return r;for(let r=t+1;r<e.length;r++)if(n(e[r]))return r;return-1}function cI(e,t){return!!e&&e!==t.loadLevelObj?.uri}var lI=class extends QN{constructor(e){super(`abr`,e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey=``,this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=e=>{let{fragCurrent:t,partCurrent:n,hls:r}=this,{autoLevelEnabled:i,media:a}=r;if(!t||!a)return;let o=performance.now(),s=n?n.stats:t.stats,c=n?n.duration:t.duration,l=o-s.loading.start,u=r.minAutoLevel,d=t.level,f=this._nextAutoLevel;if(s.aborted||s.loaded&&s.loaded===s.total||d<=u){this.clearTimer(),this._nextAutoLevel=-1;return}if(!i)return;let p=f>-1&&f!==d,m=!!e||p;if(!m&&(a.paused||!a.playbackRate||!a.readyState))return;let h=r.mainForwardBufferInfo;if(!m&&h===null)return;let g=this.bwEstimator.getEstimateTTFB(),_=Math.abs(a.playbackRate);if(l<=Math.max(g,1e3*(c/(_*2))))return;let v=h?h.len/_:0,y=s.loading.first?s.loading.first-s.loading.start:-1,b=s.loaded&&y>-1,x=this.getBwEstimate(),S=r.levels,ee=S[d],te=Math.max(s.loaded,Math.round(c*(t.bitrate||ee.averageBitrate)/8)),ne=b?l-y:l;ne<1&&b&&(ne=Math.min(l,s.loaded*8/x));let re=b?s.loaded*1e3/ne:0,ie=g/1e3,C=re?(te-s.loaded)/re:te*8/x+ie;if(C<=v)return;let ae=re?re*8:x,w=(e?.details||this.hls.latestLevelDetails)?.live===!0,oe=this.hls.config.abrBandWidthUpFactor,T=1/0,se;for(se=d-1;se>u;se--){let e=S[se].maxBitrate,t=!S[se].details||w;if(T=this.getTimeToLoadFrag(ie,ae,c*e,t),T<Math.min(v,c+ie))break}if(T>=C||T>c*10)return;b?this.bwEstimator.sample(l-Math.min(g,y),s.loaded):this.bwEstimator.sampleTTFB(l);let ce=S[se].maxBitrate;this.getBwEstimate()*oe>ce&&this.resetEstimator(ce);let le=this.findBestLevel(ce,u,se,0,v,1,1);le>-1&&(se=le),this.warn(`Fragment ${t.sn}${n?` part `+n.index:``} of level ${d} is loading too slowly;
1793      Fragment duration: ${t.duration.toFixed(3)}
1794      Time to underbuffer: ${v.toFixed(3)} s
1795      Estimated load time for current fragment: ${C.toFixed(3)} s
1796      Estimated load time for down switch fragment: ${T.toFixed(3)} s
1797      TTFB estimate: ${y|0} ms
1798      Current BW estimate: ${q(x)?x|0:`Unknown`} bps
1799      New BW estimate: ${this.getBwEstimate()|0} bps
1800      Switching to level ${se} @ ${ce|0} bps`),r.nextLoadLevel=r.nextAutoLevel=se,this.clearTimer();let ue=()=>{if(this.clearTimer(),this.fragCurrent===t&&this.hls.loadLevel===se&&se>0){let e=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${se>0?`and switching down`:``}
1801      Fragment duration: ${t.duration.toFixed(3)} s
1802      Time to underbuffer: ${e.toFixed(3)} s`),t.abortRequests(),this.fragCurrent=this.partCurrent=null,se>u){let t=this.findBestLevel(this.hls.levels[u].bitrate,u,se,0,e,1,1);t===-1&&(t=u),this.hls.nextLoadLevel=this.hls.nextAutoLevel=t,this.resetEstimator(this.hls.levels[t].bitrate)}}};p||C>T*2?ue():this.timer=self.setInterval(ue,T*1e3),r.trigger(Y.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:n,stats:s})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new GN(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.FRAG_LOADING,this.onFragLoading,this),e.on(Y.FRAG_LOADED,this.onFragLoaded,this),e.on(Y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(Y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.FRAG_LOADING,this.onFragLoading,this),e.off(Y.FRAG_LOADED,this.onFragLoaded,this),e.off(Y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(Y.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=``}onFragLoading(e,t){let n=t.frag;this.ignoreFragment(n)||(n.bitrateTest||(this.fragCurrent=n,this.partCurrent=t.part??null),this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100))}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case J.BUFFER_ADD_CODEC_ERROR:case J.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case J.FRAG_LOAD_TIMEOUT:{let e=t.frag,{fragCurrent:n,partCurrent:r}=this;if(e&&n&&e.sn===n.sn&&e.level===n.level){let t=performance.now(),n=r?r.stats:e.stats,i=t-n.loading.start,a=n.loading.first?n.loading.first-n.loading.start:-1;if(n.loaded&&a>-1){let e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(i-Math.min(e,a),n.loaded)}else this.bwEstimator.sampleTTFB(i)}break}}}getTimeToLoadFrag(e,t,n,r){return e+n/t+(r?e+this.lastLevelLoadSec:0)}onLevelLoaded(e,t){let n=this.hls.config,{loading:r}=t.stats,i=r.end-r.first;q(i)&&(this.lastLevelLoadSec=i/1e3),t.details.live?this.bwEstimator.update(n.abrEwmaSlowLive,n.abrEwmaFastLive):this.bwEstimator.update(n.abrEwmaSlowVoD,n.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:n}){let r=n?n.stats:t.stats;if(t.type===UN.MAIN&&this.bwEstimator.sampleTTFB(r.loading.first-r.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let e=n?n.duration:t.duration,i=this.hls.levels[t.level],a=(i.loaded?i.loaded.bytes:0)+r.loaded,o=(i.loaded?i.loaded.duration:0)+e;i.loaded={bytes:a,duration:o},i.realBitrate=Math.round(8*a/o)}if(t.bitrateTest){let e={stats:r,frag:t,part:n,id:t.type};this.onFragBuffered(Y.FRAG_BUFFERED,e),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:n,part:r}=t,i=r!=null&&r.stats.loaded?r.stats:n.stats;if(i.aborted||this.ignoreFragment(n))return;let a=i.parsing.end-i.loading.start-Math.min(i.loading.first-i.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(a,i.loaded),i.bwEstimate=this.getBwEstimate(),this.bitrateTestDelay=n.bitrateTest?a/1e3:0}ignoreFragment(e){return e.type!==UN.MAIN||e.sn===`initSegment`}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,n=this.getBwEstimate(),r=this.hls.config.maxStarvationDelay,i=this.findBestLevel(n,t,e,0,r,1,1);if(i>-1)return i;let a=this.hls.firstLevel,o=Math.min(Math.max(a,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${a} clamped to ${o}`),o}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),n=this.lastLoadedFragLevel>-1;if(e!==-1&&(!t||!n||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=t&&n?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let t=this.hls.levels;if(t.length>Math.max(e,r)&&t[e].loadError<=t[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}
1802_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:n}=this;if(n.levels.length<=1)return n.loadLevel;let{maxAutoLevel:r,config:i,minAutoLevel:a}=n,o=t?t.duration:e?e.duration:0,s=this.getBwEstimate(),c=this.getStarvationDelay(),l=i.abrBandWidthFactor,u=i.abrBandWidthUpFactor;if(c){let e=this.findBestLevel(s,a,r,c,0,l,u);if(e>=0)return this.rebufferNotice=-1,e}let d=o?Math.min(o,i.maxStarvationDelay):i.maxStarvationDelay;if(!c){let e=this.bitrateTestDelay;e&&(d=(o?Math.min(o,i.maxLoadingDelay):i.maxLoadingDelay)-e,this.info(`bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*d)} ms`),l=u=1)}let f=this.findBestLevel(s,a,r,c,d,l,u);if(this.rebufferNotice!==f&&(this.rebufferNotice=f,this.info(`${c?`rebuffering expected`:`buffer is empty`}, optimal quality level ${f}`)),f>-1)return f;let p=n.levels[a],m=n.loadLevelObj;return m&&p?.bitrate<m.bitrate?a:n.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let n=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,r=e.mainForwardBufferInfo;return(r?r.len:0)/n}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,n,r,i,a,o){var s;let c=r+i,l=this.lastLoadedFragLevel,u=l===-1?this.hls.firstLevel:l,{fragCurrent:d,partCurrent:f}=this,{levels:p,allAudioTracks:m,loadLevel:h,config:g}=this.hls;if(p.length===1)return 0;let _=p[u],v=!!((s=this.hls.latestLevelDetails)!=null&&s.live),y=h===-1||l===-1,b,x=`SDR`,S=_?.frameRate||0,{audioPreference:ee,videoPreference:te}=g,ne=this.audioTracksByGroup||=QF(m),re=-1;if(y){if(this.firstSelection!==-1)return this.firstSelection;let r=XF(this.codecTiers||=$F(p,ne,t,n),x,e,ee,te),{codecSet:i,videoRanges:a,minFramerate:o,minBitrate:s,minIndex:c,preferHDR:l}=r;re=c,b=i,x=l?a[a.length-1]:a[0],S=o,e=Math.max(e,s),this.log(`picked start tier ${YF(r)}`)}else b=_?.codecSet,x=_?.videoRange;let ie=f?f.duration:d?d.duration:0,C=this.bwEstimator.getEstimateTTFB()/1e3,ae=[];for(let s=n;s>=t;s--){var w;let t=p[s],d=s>u;if(!t)continue;if(g.useMediaCapabilities&&!t.supportedResult&&!t.supportedPromise){let n=navigator.mediaCapabilities;typeof n?.decodingInfo==`function`&&AF(t,ne,x,S,e,ee)?(t.supportedPromise=jF(t,ne,n,this.supportedCache),t.supportedPromise.then(e=>{if(!this.hls)return;t.supportedResult=e;let n=this.hls.levels,r=n.indexOf(t);e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${r} ${YF(e)}`):e.supported?e.decodingInfoResults.some(e=>e.smooth===!1||e.powerEfficient===!1)&&this.log(`MediaCapabilities decodingInfo for level ${r} not smooth or powerEfficient: ${YF(e)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${r} ${YF(e)}`),r>-1&&n.length>1&&(this.log(`Removing unsupported level ${r}`),this.hls.removeLevel(r),this.hls.loadLevel===-1&&(this.hls.nextLoadLevel=0)))}).catch(e=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${e}`)})):t.supportedResult=OF}if((b&&t.codecSet!==b||x&&t.videoRange!==x||d&&S>t.frameRate||!d&&S>0&&S<t.frameRate||(w=t.supportedResult)!=null&&(w=w.decodingInfoResults)!=null&&w.some(e=>e.smooth===!1))&&(!y||s!==re)){ae.push(s);continue}let m=t.details,_=(f?m?.partTarget:m?.averagetargetduration)||ie,te;te=d?o*e:a*e;let oe=ie&&r>=ie*2&&i===0?t.averageBitrate:t.maxBitrate,T=this.getTimeToLoadFrag(C,te,oe*_,m===void 0);if(te>=oe&&(s===l||t.loadError===0&&t.fragmentError===0)&&(T<=C||!q(T)||v&&!this.bitrateTestDelay||T<c)){let e=this.forcedAutoLevel;return s!==h&&(e===-1||e!==h)&&(ae.length&&this.trace(`Skipped level(s) ${ae.join(`,`)} of ${n} max with CODECS and VIDEO-RANGE:"${p[ae[0]].codecs}" ${p[ae[0]].videoRange}; not compatible with "${b}" ${x}`),this.info(`switch candidate:${u}->${s} adjustedbw(${Math.round(te)})-bitrate=${Math.round(te-oe)} ttfb:${C.toFixed(1)} avgDuration:${_.toFixed(1)} maxFetchDuration:${c.toFixed(1)} fetchDuration:${T.toFixed(1)} firstSelection:${y} codecSet:${t.codecSet} videoRange:${t.videoRange} hls.loadLevel:${h}`)),y&&(this.firstSelection=s),s}}return-1}set nextAutoLevel(e){let t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey=``,this._nextAutoLevel=t)}deriveNextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:n}=this.hls;return Math.min(Math.max(e,n),t)}},uI={search:function(e,t){let n=0,r=e.length-1,i=null,a=null;for(;n<=r;){i=(n+r)/2|0,a=e[i];let o=t(a);if(o>0)n=i+1;else if(o<0)r=i-1;else return a}return null}};
1802function dI(e,t,n){if(t===null||!Array.isArray(e)||!e.length||!q(t)||t<(e[0].programDateTime||0)||t>=(e[e.length-1].endProgramDateTime||0))return null;for(let r=0;r<e.length;++r){let i=e[r];if(hI(t,n,i))return i}return null}function fI(e,t,n=0,r=0,i=.005){let a=null;if(e){a=t[1+e.sn-t[0].sn]||null;let r=e.endDTS-n;r>0&&r<15e-7&&(n+=15e-7),a&&e.level!==a.level&&a.end<=e.end&&(a=t[2+e.sn-t[0].sn]||null)}else n===0&&t[0].start===0&&(a=t[0]);if(a&&((!e||e.level===a.level)&&mI(n,r,a)===0||pI(a,e,Math.min(i,r))))return a;let o=uI.search(t,mI.bind(null,n,r));return o&&(o!==e||!a)?o:a}function pI(e,t,n){if(t&&t.start===0&&t.level<e.level&&(t.endPTS||0)>0){let r=t.tagList.reduce((e,t)=>(t[0]===`INF`&&(e+=parseFloat(t[1])),e),n);return e.start<=r}return!1}function mI(e=0,t=0,n){if(n.start<=e&&n.start+n.duration>e)return 0;let r=Math.min(t,n.duration+(n.deltaPTS?n.deltaPTS:0));return n.start+n.duration-r<=e?1:n.start-r>e&&n.start?-1:0}function hI(e,t,n){let r=Math.min(t,n.duration+(n.deltaPTS?n.deltaPTS:0))*1e3;return(n.endProgramDateTime||0)-r>e}function gI(e,t,n){if(e&&e.startCC<=t&&e.endCC>=t){let r=e.fragments,{fragmentHint:i}=e;i&&(r=r.concat(i));let a;return uI.search(r,e=>e.cc<t?1:e.cc>t?-1:(a=e,e.end<=n?1:e.start>n?-1:0)),a||null}return null}function _I(e){switch(e.details){case J.FRAG_LOAD_TIMEOUT:case J.KEY_LOAD_TIMEOUT:case J.LEVEL_LOAD_TIMEOUT:case J.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function vI(e){return e.details.startsWith(`key`)}function yI(e){return vI(e)&&!!e.frag&&!e.frag.decryptdata}function bI(e,t){let n=_I(t);return e.default[`${n?`timeout`:`error`}Retry`]}function xI(e,t){let n=e.backoff===`linear`?1:2**t;return Math.min(n*e.retryDelayMs,e.maxRetryDelayMs)}function SI(e){return YN(YN({},e),{errorRetry:null,timeoutRetry:null})}function CI(e,t,n,r){if(!e)return!1;let i=r?.code,a=t<e.maxNumRetry&&(wI(i)||!!n);return e.shouldRetry?e.shouldRetry(e,t,n,r,a):a}function wI(e){return TI(e)||!!e&&(e<400||e>499)}function TI(e){return e===0&&navigator.onLine===!1}var EI={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},DI={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,MoveAllAlternatesMatchingKey:4,SwitchToSDR:8},OI=class extends QN{constructor(e){super(`error-controller`,e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(Y.ERROR,this.onError,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(Y.ERROR,this.onError,this),e.off(Y.ERROR,this.onErrorOut,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return e?.type===UN.MAIN?e.level:this.getVariantIndex()}getVariantIndex(){var e;let t=this.hls,n=t.currentLevel;return(e=t.loadLevelObj)!=null&&e.details||n===-1?t.loadLevel:n}variantHasKey(e,t){if(e){var n;if((n=e.details)!=null&&n.hasKey(t))return!0;let r=e.audioGroups;if(r)return this.hls.allAudioTracks.filter(e=>r.indexOf(e.groupId)>=0).some(e=>e.details?.hasKey(t))}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){var n;if(t.fatal)return;let r=this.hls,i=t.context;switch(t.details){case J.FRAG_LOAD_ERROR:case J.FRAG_LOAD_TIMEOUT:case J.KEY_LOAD_ERROR:case J.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case J.FRAG_PARSING_ERROR:if((n=t.frag)!=null&&n.gap){t.errorAction=kI();return}case J.FRAG_GAP:case J.FRAG_DECRYPT_ERROR:t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=EI.SendAlternateToPenaltyBox;return;case J.LEVEL_EMPTY_ERROR:case J.LEVEL_PARSING_ERROR:{var a;let e=t.parent===UN.MAIN?t.level:r.loadLevel;t.details===J.LEVEL_EMPTY_ERROR&&(a=t.context)!=null&&(a=a.levelDetails)!=null&&a.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,e):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e))}return;case J.LEVEL_LOAD_ERROR:case J.LEVEL_LOAD_TIMEOUT:typeof i?.level==`number`&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,i.level));return;case J.AUDIO_TRACK_LOAD_ERROR:case J.AUDIO_TRACK_LOAD_TIMEOUT:case J.SUBTITLE_LOAD_ERROR:case J.SUBTITLE_TRACK_LOAD_TIMEOUT:if(i){let e=r.loadLevelObj;
1802if(e&&(i.type===HN.AUDIO_TRACK&&e.hasAudioGroup(i.groupId)||i.type===HN.SUBTITLE_TRACK&&e.hasSubtitleGroup(i.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.loadLevel),t.errorAction.action=EI.SendAlternateToPenaltyBox,t.errorAction.flags=DI.MoveAllAlternatesMatchingHost;return}}return;case J.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:EI.SendAlternateToPenaltyBox,flags:DI.MoveAllAlternatesMatchingHDCP};return;case J.KEY_SYSTEM_SESSION_UPDATE_FAILED:case J.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case J.KEY_SYSTEM_NO_SESSION:t.errorAction={action:EI.SendAlternateToPenaltyBox,flags:DI.MoveAllAlternatesMatchingKey};return;case J.BUFFER_ADD_CODEC_ERROR:case J.REMUX_ALLOC_ERROR:case J.BUFFER_APPEND_ERROR:t.errorAction||=this.getLevelSwitchAction(t,t.level??r.loadLevel);return;case J.INTERNAL_EXCEPTION:case J.BUFFER_APPENDING_ERROR:case J.BUFFER_FULL_ERROR:case J.LEVEL_SWITCH_ERROR:case J.BUFFER_STALLED_ERROR:case J.BUFFER_SEEK_OVER_HOLE:case J.BUFFER_NUDGE_ON_STALL:t.errorAction=kI();return}t.type===VN.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=kI())}getPlaylistRetryOrSwitchAction(e,t){let n=this.hls,r=bI(n.config.playlistLoadPolicy,e),i=this.playlistError++;if(CI(r,i,_I(e),e.response))return{action:EI.RetryRequest,flags:DI.None,retryConfig:r,retryCount:i};let a=this.getLevelSwitchAction(e,t);return r&&(a.retryConfig=r,a.retryCount=i),a}getFragRetryOrSwitchAction(e){let t=this.hls,n=this.getVariantLevelIndex(e.frag),r=t.levels[n],{fragLoadPolicy:i,keyLoadPolicy:a}=t.config,o=bI(vI(e)?a:i,e),s=t.levels.reduce((e,t)=>e+t.fragmentError,0);if(r&&(e.details!==J.FRAG_GAP&&r.fragmentError++,!yI(e)&&CI(o,s,_I(e),e.response)))return{action:EI.RetryRequest,flags:DI.None,retryConfig:o,retryCount:s};let c=this.getLevelSwitchAction(e,n);return o&&(c.retryConfig=o,c.retryCount=s),c}getLevelSwitchAction(e,t){let n=this.hls;t??=n.loadLevel;let r=this.hls.levels[t];if(r){let t=e.details;r.loadError++,t===J.BUFFER_APPEND_ERROR&&r.fragmentError++;let o=-1,{levels:s,loadLevel:c,minAutoLevel:l,maxAutoLevel:u}=n;!n.autoLevelEnabled&&!n.config.preserveManualLevelOnError&&(n.loadLevel=-1);let d=e.frag?.type,f=(d===UN.AUDIO&&t===J.FRAG_PARSING_ERROR||e.sourceBufferName===`audio`&&(t===J.BUFFER_ADD_CODEC_ERROR||t===J.BUFFER_APPEND_ERROR))&&s.some(({audioCodec:e})=>r.audioCodec!==e),p=e.sourceBufferName===`video`&&(t===J.BUFFER_ADD_CODEC_ERROR||t===J.BUFFER_APPEND_ERROR)&&s.some(({codecSet:e,audioCodec:t})=>r.codecSet!==e&&r.audioCodec===t),{type:m,groupId:h}=e.context??{};for(let n=s.length;n--;){let g=(n+c)%s.length;if(g!==c&&g>=l&&g<=u&&s[g].loadError===0){var i,a;let n=s[g];if(t===J.FRAG_GAP&&d===UN.MAIN&&e.frag){let t=s[g].details;if(t){let n=fI(e.frag,t.fragments,e.frag.start);if(n!=null&&n.gap)continue}}else if(m===HN.AUDIO_TRACK&&n.hasAudioGroup(h)||m===HN.SUBTITLE_TRACK&&n.hasSubtitleGroup(h))continue;else if(d===UN.AUDIO&&(i=r.audioGroups)!=null&&i.some(e=>n.hasAudioGroup(e))||d===UN.SUBTITLE&&(a=r.subtitleGroups)!=null&&a.some(e=>n.hasSubtitleGroup(e))||f&&r.audioCodec===n.audioCodec||p&&r.codecSet===n.codecSet||!f&&r.codecSet!==n.codecSet)continue;o=g;break}}if(o>-1&&n.loadLevel!==o)return e.levelRetry=!0,this.playlistError=0,{action:EI.SendAlternateToPenaltyBox,flags:DI.None,nextAutoLevel:o}}return{action:EI.SendAlternateToPenaltyBox,flags:DI.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){switch(t.errorAction?.action){case EI.DoNothing:break;case EI.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==J.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case EI.RetryRequest:}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let t=this.hls,n=e.errorAction;if(!n)return;let{flags:r}=n,i=n.nextAutoLevel;switch(r){case DI.None:this.switchLevel(e,i);break;case DI.MoveAllAlternatesMatchingHDCP:{let r=this.getVariantLevelIndex(e.frag),i=t.levels[r]?.attrs[`HDCP-LEVEL`];if(n.hdcpLevel=i,i===`NONE`)this.warn(`HDCP policy resticted output with HDCP-LEVEL=NONE`);else if(i){t.maxHdcpLevel=LF[LF.indexOf(i)-1],n.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}}case DI.MoveAllAlternatesMatchingKey:{let t=e.decryptdata;if(t){let r=this.hls.levels,i=r.length;for(let n=i;n--;)this.variantHasKey(r[n],t)&&(this.log(`Banned key found in level ${n} (${r[n].bitrate}bps) or audio group "${r[n].audioGroups?.join(`,`)}" (${e.frag?.type} fragment) ${dP(t.keyId||[])}`),r[n].fragmentError++,r[n].loadError++,this.log(`Removing level ${n} with key error (${e.error})`),this.hls.removeLevel(n));let a=e.frag;if(this.hls.levels.length<i)n.resolved=!0;else if(a&&a.type!==UN.MAIN){let e=a.decryptdata;e&&!t.matches(e)&&(n.resolved=!0)}}break}}n.resolved||this.switchLevel(e,i)}switchLevel(e,t){if(t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===J.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!==`audiovideo`)){let t=TF(e.mimeType),n=this.hls.levels;for(let r=n.length;r--;)n[r][`${e.sourceBufferName}Codec`]===t&&(this.log(`Removing level ${r} for ${e.details} ("${t}" not supported)`),this.hls.removeLevel(r))}}};function kI(e){let t={action:EI.DoNothing,flags:DI.None};return e&&(t.resolved=!0),t}var AI={NOT_LOADED:`NOT_LOADED`,APPENDING:`APPENDING`,PARTIAL:`PARTIAL`,OK:`OK`},jI=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;e&&(e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Y.FRAG_LOADED,this.onFragLoaded,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Y.FRAG_LOADED,this.onFragLoaded,this))}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let n=this.activePartLists[t];if(n)for(let t=n.length;t--;){let r=n[t];if(!r)break;
vendor: 23,940 bytes, line 1802
1802if(r.start<=e&&e<=r.end&&r.loaded)return r}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0)}getFragAtPos(e,t,n){let{fragments:r}=this,i=Object.keys(r);for(let a=i.length;a--;){let o=r[i[a]];if(o?.body.type===t&&(!n||o.buffered)){let t=o.body;if(t.start<=e&&e<=t.end)return t}}return null}detectEvictedFragments(e,t,n,r,i){this.timeRanges&&(this.timeRanges[e]=t);let a=r?.fragment.sn||-1;Object.keys(this.fragments).forEach(r=>{let o=this.fragments[r];if(!o||a>=o.body.sn)return;if(!o.buffered&&(!o.loaded||i)){o.body.type===n&&this.removeFragment(o.body);return}let s=o.range[e];if(s){if(s.time.length===0){this.removeFragment(o.body);return}s.time.some(e=>{let n=!this.isTimeBuffered(e.startPTS,e.endPTS,t);return n&&this.removeFragment(o.body),n})}})}detectPartialFragments(e){let t=this.timeRanges;if(!t||e.frag.sn===`initSegment`)return;let n=e.frag,r=NI(n),i=this.fragments[r];if(!i||i.buffered&&n.gap)return;let a=!n.relurl;Object.keys(t).forEach(r=>{let o=n.elementaryStreams[r];if(!o)return;let s=t[r],c=a||o.partial===!0;i.range[r]=this.getBufferedTimes(n,e.part,c,s)}),i.loaded=null,Object.keys(i.range).length?(this.bufferedEnd(i,n),MI(i)||this.removeParts(n.sn-1,n.type)):this.removeFragment(i.body)}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e)}removeParts(e,t){let n=this.activePartLists[t];n&&(this.activePartLists[t]=PI(n,t=>t.fragment.sn>=e))}fragBuffered(e,t){let n=NI(e),r=this.fragments[n];!r&&t&&(r=this.fragments[n]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),r&&(r.loaded=null,this.bufferedEnd(r,e))}getBufferedTimes(e,t,n,r){let i={time:[],partial:n},a=e.start,o=e.end,s=e.minEndPTS||o,c=e.maxStartPTS||a;for(let e=0;e<r.length;e++){let t=r.start(e)-this.bufferPadding,n=r.end(e)+this.bufferPadding;if(c>=t&&s<=n){i.time.push({startPTS:Math.max(a,r.start(e)),endPTS:Math.min(o,r.end(e))});break}if(a<n&&o>t){let t=Math.max(a,r.start(e)),n=Math.min(o,r.end(e));n>t&&(i.partial=!0,i.time.push({startPTS:t,endPTS:n}))}else if(o<=t)break}return i}getPartialFragment(e){let t=null,n,r,i,a=0,{bufferPadding:o,fragments:s}=this;return Object.keys(s).forEach(c=>{let l=s[c];l&&MI(l)&&(r=l.body.start-o,i=l.body.end+o,e>=r&&e<=i&&(n=Math.min(e-r,i-e),a<=n&&(t=l.body,a=n)))}),t}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||MI(t))}getState(e){let t=NI(e),n=this.fragments[t];return n?n.buffered?MI(n)?AI.PARTIAL:AI.OK:AI.APPENDING:AI.NOT_LOADED}isTimeBuffered(e,t,n){let r,i;for(let a=0;a<n.length;a++){if(r=n.start(a)-this.bufferPadding,i=n.end(a)+this.bufferPadding,e>=r&&t<=i)return!0;if(t<=r)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if(t.frag.sn===`initSegment`||t.frag.bitrateTest)return;let n=t.frag,r=t.part?null:t,i=NI(n);this.fragments[i]={body:n,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:n,part:r,timeRanges:i,type:a}=t;if(n.sn===`initSegment`)return;let o=n.type;if(r){let e=this.activePartLists[o];e||(this.activePartLists[o]=e=[]),e.push(r)}this.timeRanges=i;let s=i[a];this.detectEvictedFragments(a,s,o,r)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=NI(e);return!!this.fragments[t]}hasFragments(e){let{fragments:t}=this,n=Object.keys(t);if(!e)return n.length>0;for(let r=n.length;r--;)if(t[n[r]]?.body.type===e)return!0;return!1}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,n,r,i){r&&!this.hasGaps||Object.keys(this.fragments).forEach(a=>{let o=this.fragments[a];if(!o)return;let s=o.body;s.type!==n||r&&!s.gap||s.start<t&&s.end>e&&(o.buffered||i)&&this.removeFragment(s)})}removeFragment(e){let t=NI(e);e.clearElementaryStreamInfo();let n=this.activePartLists[e.type];if(n){let t=e.sn;this.activePartLists[e.type]=PI(n,e=>e.fragment.sn!==t)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let t=(e=this.hls)==null||(e=e.latestLevelDetails)==null?void 0:e.partList;t&&t.forEach(e=>e.clearElementaryStreamInfo())}};function MI(e){var t,n,r;return e.buffered&&!!(e.body.gap||(t=e.range.video)!=null&&t.partial||(n=e.range.audio)!=null&&n.partial||(r=e.range.audiovideo)!=null&&r.partial)}function NI(e){return`${e.type}_${e.level}_${e.sn}`}function PI(e,t){return e.filter(e=>{let n=t(e);return n||e.clearElementaryStreamInfo(),n})}var FI={cbc:0,ctr:1},II=class{constructor(e,t,n){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=n}decrypt(e,t){switch(this.aesMode){case FI.cbc:return this.subtle.decrypt({name:`AES-CBC`,iv:this.aesIV},t,e);case FI.ctr:return this.subtle.decrypt({name:`AES-CTR`,counter:this.aesIV,length:64},t,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}};function LI(e){let t=e.byteLength,n=t&&new DataView(e.buffer).getUint8(t-1);return n?e.slice(0,t-n):e}var RI=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array,this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let t=new DataView(e),n=new Uint32Array(4);for(let e=0;e<4;e++)n[e]=t.getUint32(e*4);return n}initTable(){let e=this.sBox,t=this.invSBox,n=this.subMix,r=n[0],i=n[1],a=n[2],o=n[3],s=this.invSubMix,c=s[0],l=s[1],u=s[2],d=s[3],f=new Uint32Array(256),p=0,m=0,h=0;for(h=0;h<256;h++)h<128?f[h]=h<<1:f[h]=h<<1^283;for(h=0;h<256;h++){let n=m^m<<1^m<<2^m<<3^m<<4;n=n>>>8^n&255^99,e[p]=n,t[n]=p;let s=f[p],h=f[s],g=f[h],_=f[n]*257^n*16843008;r[p]=_<<24|_>>>8,i[p]=_<<16|_>>>16,a[p]=_<<8|_>>>24,o[p]=_,_=g*16843009^h*65537^s*257^p*16843008,c[n]=_<<24|_>>>8,l[n]=_<<16|_>>>16,u[n]=_<<8|_>>>24,d[n]=_,p?(p=s^f[f[f[g^s]]],m^=f[f[m]]):p=m=1}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),n=!0,r=0;for(;r<t.length&&n;)n=t[r]===this.key[r],r++;if(n)return;this.key=t;let i=this.keySize=t.length;if(i!==4&&i!==6&&i!==8)throw Error(`Invalid aes key size=`+i);let a=this.ksRows=(i+6+1)*4,o,s,c=this.keySchedule=new Uint32Array(a),l=this.invKeySchedule=new Uint32Array(a),u=this.sBox,d=this.rcon,f=this.invSubMix,p=f[0],m=f[1],h=f[2],g=f[3],_,v;for(o=0;o<a;o++){if(o<i){_=c[o]=t[o];continue}v=_,o%i===0?(v=v<<8|v>>>24,v=u[v>>>24]<<24|u[v>>>16&255]<<16|u[v>>>8&255]<<8|u[v&255],v^=d[o/i|0]<<24):i>6&&o%i===4&&(v=u[v>>>24]<<24|u[v>>>16&255]<<16|u[v>>>8&255]<<8|u[v&255]),c[o]=_=(c[o-i]^v)>>>0}for(s=0;s<a;s++)o=a-s,v=s&3?c[o]:c[o-4],s<4||o<=4?l[s]=v:l[s]=p[u[v>>>24]]^m[u[v>>>16&255]]^h[u[v>>>8&255]]^g[u[v&255]],l[s]=l[s]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,n){let r=this.keySize+6,i=this.invKeySchedule,a=this.invSBox,o=this.invSubMix,s=o[0],c=o[1],l=o[2],u=o[3],d=this.uint8ArrayToUint32Array_(n),f=d[0],p=d[1],m=d[2],h=d[3],g=new Int32Array(e),_=new Int32Array(g.length),v,y,b,x,S,ee,te,ne,re,ie,C,ae,w,oe,T=this.networkToHostOrderSwap;for(;t<g.length;){for(re=T(g[t]),ie=T(g[t+1]),C=T(g[t+2]),ae=T(g[t+3]),S=re^i[0],ee=ae^i[1],te=C^i[2],ne=ie^i[3],w=4,oe=1;oe<r;oe++)v=s[S>>>24]^c[ee>>16&255]^l[te>>8&255]^u[ne&255]^i[w],y=s[ee>>>24]^c[te>>16&255]^l[ne>>8&255]^u[S&255]^i[w+1],b=s[te>>>24]^c[ne>>16&255]^l[S>>8&255]^u[ee&255]^i[w+2],x=s[ne>>>24]^c[S>>16&255]^l[ee>>8&255]^u[te&255]^i[w+3],S=v,ee=y,te=b,ne=x,w+=4;v=a[S>>>24]<<24^a[ee>>16&255]<<16^a[te>>8&255]<<8^a[ne&255]^i[w],y=a[ee>>>24]<<24^a[te>>16&255]<<16^a[ne>>8&255]<<8^a[S&255]^i[w+1],b=a[te>>>24]<<24^a[ne>>16&255]<<16^a[S>>8&255]<<8^a[ee&255]^i[w+2],x=a[ne>>>24]<<24^a[S>>16&255]<<16^a[ee>>8&255]<<8^a[te&255]^i[w+3],_[t]=T(v^f),_[t+1]=T(x^p),_[t+2]=T(b^m),_[t+3]=T(y^h),f=re,p=ie,m=C,h=ae,t+=4}return _.buffer}},zI=class{constructor(e,t,n){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=n}expandKey(){let e=BI(this.aesMode);return this.subtle.importKey(`raw`,this.key,{name:e},!1,[`encrypt`,`decrypt`])}};function BI(e){switch(e){case FI.cbc:return`AES-CBC`;case FI.ctr:return`AES-CTR`;default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}var VI=16,HI=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{let e=self.crypto;e&&(this.subtle=e.subtle||e.webkitSubtle)}catch{}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let n=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?LI(n):n}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&=null}decrypt(e,t,n,r){return this.useSoftware?new Promise((i,a)=>{let o=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(o,t,n,r);let s=this.flush();s?i(s.buffer):a(Error(`[softwareDecrypt] Failed to decrypt data`))}):this.webCryptoDecrypt(new Uint8Array(e),t,n,r)}softwareDecrypt(e,t,n,r){let{currentIV:i,currentResult:a,remainderData:o}=this;if(r!==FI.cbc||t.byteLength!==16)return oP.warn(`SoftwareDecrypt: can only handle AES-128-CBC`),null;this.logOnce(`JS AES decrypt`),o&&(e=XP(o,e),this.remainderData=null);let s=this.getValidChunk(e);if(!s.length)return null;i&&(n=i);let c=this.softwareDecrypter;c||=this.softwareDecrypter=new RI,c.expandKey(t);let l=a;return this.currentResult=c.decrypt(s.buffer,0,n),this.currentIV=s.slice(-16).buffer,l||null}webCryptoDecrypt(e,t,n,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,n,r));this.key=t,this.fastAesKey=new zI(this.subtle,t,r)}return this.fastAesKey.expandKey().then(t=>this.subtle?(this.logOnce(`WebCrypto AES decrypt`),new II(this.subtle,new Uint8Array(n),r).decrypt(e.buffer,t)):Promise.reject(Error(`web crypto not initialized`))).catch(i=>(oP.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${i.name}: ${i.message}`),this.onWebCryptoError(e,t,n,r)))}onWebCryptoError(e,t,n,r){let i=this.enableSoftwareAES;if(i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,n,r);let i=this.flush();if(i)return i.buffer}throw Error(`WebCrypto`+(i?` and softwareDecrypt`:``)+`: failed to decrypt data`)}getValidChunk(e){let t=e,n=e.length-e.length%VI;return n!==e.length&&(t=e.slice(0,n),this.remainderData=e.slice(n)),t}logOnce(e){this.logEnabled&&=(oP.log(`[decrypter]: ${e}`),!1)}},UI=2**17,WI=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&=(this.loader.destroy(),null)}abort(){this.loader&&this.loader.abort()}load(e,t){let n=e.url;if(!n)return Promise.reject(new JI({type:VN.NETWORK_ERROR,details:J.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${n?`part list`:`url`}`),networkDetails:null}));this.abort();let r=this.config,i=r.fLoader,a=r.loader;return new Promise((o,s)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(e=>e[0]===`GAP`)){s(KI(e));return}else e.gap=!1;let c=this.loader=i?new i(r):new a(r),l=GI(e);e.loader=c;let u=SI(r.fragLoadPolicy.default),d={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn===`initSegment`?1/0:UI};e.stats=c.stats;let f={onSuccess:(t,n,r,i)=>{this.resetLoader(e,c);let a=t.data;r.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(a.slice(0,16)),a=a.slice(16)),o({frag:e,part:null,payload:a,networkDetails:i})},onError:(t,r,i,a)=>{this.resetLoader(e,c),s(new JI({type:VN.NETWORK_ERROR,details:J.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:YN({url:n,data:void 0},t),error:Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:i,stats:a}))},onAbort:(t,n,r)=>{this.resetLoader(e,c),s(new JI({type:VN.NETWORK_ERROR,details:J.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error(`Aborted`),networkDetails:r,stats:t}))},onTimeout:(t,n,r)=>{this.resetLoader(e,c),s(new JI({type:VN.NETWORK_ERROR,details:J.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${d.timeout}ms`),networkDetails:r,stats:t}))}};t&&(f.onProgress=(n,r,i,a)=>t({frag:e,part:null,payload:i,networkDetails:a})),c.load(l,d,f)})}loadPart(e,t,n){this.abort();let r=this.config,i=r.fLoader,a=r.loader;return new Promise((o,s)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){s(KI(e,t));return}let c=this.loader=i?new i(r):new a(r),l=GI(e,t);e.loader=c;let u=SI(r.fragLoadPolicy.default),d={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:UI};t.stats=c.stats,c.load(l,d,{onSuccess:(r,i,a,s)=>{this.resetLoader(e,c),this.updateStatsFromPart(e,t);let l={frag:e,part:t,payload:r.data,networkDetails:s};n(l),o(l)},onError:(n,r,i,a)=>{this.resetLoader(e,c),s(new JI({type:VN.NETWORK_ERROR,details:J.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:YN({url:l.url,data:void 0},n),error:Error(`HTTP Error ${n.code} ${n.text}`),networkDetails:i,stats:a}))},onAbort:(n,r,i)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,c),s(new JI({type:VN.NETWORK_ERROR,details:J.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:Error(`Aborted`),networkDetails:i,stats:n}))},onTimeout:(n,r,i)=>{this.resetLoader(e,c),s(new JI({type:VN.NETWORK_ERROR,details:J.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:Error(`Timeout after ${d.timeout}ms`),networkDetails:i,stats:n}))}})})}updateStatsFromPart(e,t){let n=e.stats,r=t.stats,i=r.total;if(n.loaded+=r.loaded,i){let r=Math.round(e.duration/t.duration),a=Math.min(Math.round(n.loaded/i),r),o=(r-a)*Math.round(n.loaded/a);n.total=n.loaded+o}else n.total=Math.max(n.loaded,n.total);let a=n.loading,o=r.loading;a.start?a.first+=o.first-o.start:(a.start=o.start,a.first=o.first),a.end=o.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}};function GI(e,t=null){let n=t||e,r={frag:e,part:t,responseType:`arraybuffer`,url:n.url,headers:{},rangeStart:0,rangeEnd:0},i=n.byteRangeStartOffset,a=n.byteRangeEndOffset;if(q(i)&&q(a)){let t=i,n=a;if(e.sn===`initSegment`&&qI(e.decryptdata?.method)){let e=a-i;e%16&&(n=a+(16-e%16)),i!==0&&(r.resetIV=!0,t=i-16)}r.rangeStart=t,r.rangeEnd=n}return r}function KI(e,t){let n=Error(`GAP ${e.gap?`tag`:`attribute`} found`),r={type:VN.MEDIA_ERROR,details:J.FRAG_GAP,fatal:!1,frag:e,error:n,networkDetails:null};return t&&(r.part=t),(t||e).stats.aborted=!0,new JI(r)}function qI(e){return e===`AES-128`||e===`AES-256`}var JI=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}},YI=class extends QN{constructor(e,t){super(e,t),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}},XI=class{constructor(e,t,n,r=0,i=-1,a=!1){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.transmuxing=ZI(),this.buffering={audio:ZI(),video:ZI(),audiovideo:ZI()},this.level=e,this.sn=t,this.id=n,this.size=r,this.part=i,this.partial=a}};function ZI(){return{start:0,executeStart:0,executeEnd:0,end:0}}var QI={length:0,start:()=>0,end:()=>0},$I=class e{static isBuffered(t,n){if(t){let r=e.getBuffered(t);for(let e=r.length;e--;)if(n>=r.start(e)&&n<=r.end(e))return!0}return!1}static bufferedRanges(t){if(t){let n=e.getBuffered(t);return e.timeRangesToArray(n)}return[]}static timeRangesToArray(e){let t=[];for(let n=0;n<e.length;n++)t.push({start:e.start(n),end:e.end(n)});return t}static bufferInfo(t,n,r){if(t){let i=e.bufferedRanges(t);if(i.length)return e.bufferedInfo(i,n,r)}return{len:0,start:n,end:n,bufferedIndex:-1}}static bufferedInfo(e,t,n){t=Math.max(0,t),e.length>1&&e.sort((e,t)=>e.start-t.start||t.end-e.end);let r=-1,i=[];if(n)for(let a=0;a<e.length;a++){t>=e[a].start&&t<=e[a].end&&(r=a);let o=i.length;if(o){let t=i[o-1].end;e[a].start-t<n?e[a].end>t&&(i[o-1].end=e[a].end):i.push(e[a])}else i.push(e[a])}else i=e;let a=0,o,s=t,c=t;for(let e=0;e<i.length;e++){let l=i[e].start,u=i[e].end;if(r===-1&&t>=l&&t<=u&&(r=e),t+n>=l&&t<u)s=l,c=u,a=c-t;else if(t+n<l){o=l;break}}return{len:a,start:s||0,end:c||0,nextStart:o,buffered:e,bufferedIndex:r}}static getBuffered(e){try{return e.buffered||QI}catch(e){return oP.log(`failed to get media.buffered`,e),QI}}},eL=/\{\$([a-zA-Z0-9-_]+)\}/g;function tL(e){return eL.test(e)}function nL(e,t){if(e.variableList!==null||e.hasVariableRefs){let n=e.variableList;return t.replace(eL,t=>{let r=t.substring(2,t.length-1),i=n?.[r];return i===void 0?(e.playlistParsingError||=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${r}"`),t):i})}return t}function rL(e,t,n){let r=e.variableList;r||(e.variableList=r={});let i,a;if(`QUERYPARAM`in t){i=t.QUERYPARAM;try{let e=new self.URL(n).searchParams;if(e.has(i))a=e.get(i);else throw Error(`"${i}" does not match any query parameter in URI: "${n}"`)}catch(t){e.playlistParsingError||=Error(`EXT-X-DEFINE QUERYPARAM: ${t.message}`)}}else i=t.NAME,a=t.VALUE;i in r?e.playlistParsingError||=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${i}"`):r[i]=a||``}function iL(e,t,n){let r=t.IMPORT;if(n&&r in n){let t=e.variableList;t||(e.variableList=t={}),t[r]=n[r]}else e.playlistParsingError||=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`)}var aL=/^(\d+)x(\d+)$/,oL=/(.+?)=(".*?"|.*?)(?:,|$)/g,sL=class e{constructor(t,n){typeof t==`string`&&(t=e.parseAttrList(t,n)),qN(this,t)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)===`X-`)}decimalInteger(e){let t=parseInt(this[e],10);return t>2**53-1?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||`0x`).slice(2);t=(t.length&1?`0`:``)+t;let n=new Uint8Array(t.length/2);for(let e=0;e<t.length/2;e++)n[e]=parseInt(t.slice(e*2,e*2+2),16);return n}return null}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>2**53-1?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){let n=this[e];return n?parseFloat(n):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){let n=this[e];return(n?n.split(/[ ,]+/):[]).reduce((e,t)=>(e[t.toLowerCase()]=!0,e),t)}bool(e){return this[e]===`YES`}decimalResolution(e){let t=aL.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let n,r={};for(oL.lastIndex=0;(n=oL.exec(e))!==null;){let i=n[1].trim(),a=n[2],o=a.indexOf(`"`)===0&&a.lastIndexOf(`"`)===a.length-1,s=!1;if(o)a=a.slice(1,-1);else switch(i){case`IV`:case`SCTE35-CMD`:case`SCTE35-IN`:case`SCTE35-OUT`:s=!0}if(t&&(o||s))a=nL(t,a);else if(!s&&!o)switch(i){case`CLOSED-CAPTIONS`:if(a===`NONE`)break;case`ALLOWED-CPC`:case`CLASS`:case`ASSOC-LANGUAGE`:case`AUDIO`:case`BYTERANGE`:case`CHANNELS`:case`CHARACTERISTICS`:case`CODECS`:case`DATA-ID`:case`END-DATE`:case`GROUP-ID`:case`ID`:case`IMPORT`:case`INSTREAM-ID`:case`KEYFORMAT`:case`KEYFORMATVERSIONS`:case`LANGUAGE`:case`NAME`:case`PATHWAY-ID`:case`QUERYPARAM`:case`RECENTLY-REMOVED-DATERANGES`:case`SERVER-URI`:case`STABLE-RENDITION-ID`:case`STABLE-VARIANT-ID`:case`START-DATE`:case`SUBTITLES`:case`SUPPLEMENTAL-CODECS`:case`URI`:case`VALUE`:case`VIDEO`:case`X-ASSET-LIST`:case`X-ASSET-URI`:oP.warn(`${e}: attribute ${i} is missing quotes`)}r[i]=a}return r}},cL=`com.apple.hls.interstitial`;function lL(e){return e!==`ID`&&e!==`CLASS`&&e!==`CUE`&&e!==`START-DATE`&&e!==`DURATION`&&e!==`END-DATE`&&e!==`END-ON-NEXT`}function uL(e){return e===`SCTE35-OUT`||e===`SCTE35-IN`||e===`SCTE35-CMD`}var dL=class{constructor(e,t,n=0){if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=t?.tagAnchor||null,this.tagOrder=t?.tagOrder??n,t){let n=t.attr;for(let t in n)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==n[t]){oP.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=t;break}e=qN(new sL({}),n,e)}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e[`START-DATE`]),`END-DATE`in this.attr){let e=t?.endDate||new Date(this.attr[`END-DATE`]);q(e.getTime())&&(this._endDate=e)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;return e===void 0?this._cue=this.attr.enumeratedStringList(this.attr.CUE?`CUE`:`X-CUE`,{pre:!1,post:!1,once:!1}):e}get startTime(){let{tagAnchor:e}=this;return e===null||e.programDateTime===null?(oP.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let t=this.duration;return t===null?null:this._dateAtEnd=new Date(this._startDate.getTime()+t*1e3)}get duration(){if(`DURATION`in this.attr){let e=this.attr.decimalFloatingPoint(`DURATION`);if(q(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return`PLANNED-DURATION`in this.attr?this.attr.decimalFloatingPoint(`PLANNED-DURATION`):null}get endOnNext(){return this.attr.bool(`END-ON-NEXT`)}get isInterstitial(){return this.class===cL}get isValid(){return!!this.id&&!this._badValueForSameId&&q(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||`X-ASSET-URI`in this.attr||`X-ASSET-LIST`in this.attr)}},fL=10,pL=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8=``,this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.drift
vendor: 5,694 bytes, line 1802
1802StartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let t=this.lastPartSn-e.lastPartSn,n=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!n||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&n>0,this.misses=this.updated||this.advanced?Math.floor(e.misses*.6):e.misses+1}hasKey(e){return this.encryptedFragments.some(t=>{let n=t.decryptdata;return n||=(t.setKeyFormat(e.keyFormat),t.decryptdata),!!n&&e.matches(n)})}get hasProgramDateTime(){return this.fragments.length?q(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||fL}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){return this.fragments.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){return this.fragments.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){let e=this.partList;if(e){let t=this.lastPartIndex;if(t!==-1){for(let n=e.length;n--;)if(e[n].index>t)return e[n].index;return t}}return 0}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}};function mL(e,t){return e.length===t.length&&!e.some((e,n)=>e!==t[n])}function hL(e,t){return!e&&!t?!0:!e||!t?!1:mL(e,t)}function gL(e){return e===`AES-128`||e===`AES-256`||e===`AES-256-CTR`}function _L(e){switch(e){case`AES-128`:case`AES-256`:return FI.cbc;case`AES-256-CTR`:return FI.ctr;default:throw Error(`invalid full segment method ${e}`)}}function vL(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function yL(e){return Uint8Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}function bL(e){let t=yL(e).subarray(0,16),n=new Uint8Array(16);return n.set(t,16-t.length),n}function xL(e){let t=function(e,t,n){let r=e[t];e[t]=e[n],e[n]=r};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function SL(e){let t=e.split(`:`),n=null;if(t[0]===`data`&&t.length===2){let e=t[1].split(`;`),r=e[e.length-1].split(`,`);if(r.length===2){let t=r[0]===`base64`,i=r[1];t?(e.splice(-1,1),n=vL(i)):n=bL(i)}}return n}var CL=typeof self<`u`?self:void 0,wL={CLEARKEY:`org.w3.clearkey`,FAIRPLAY:`com.apple.fps`,PLAYREADY:`com.microsoft.playready`,WIDEVINE:`com.widevine.alpha`},TL={CLEARKEY:`org.w3.clearkey`,FAIRPLAY:`com.apple.streamingkeydelivery`,PLAYREADY:`com.microsoft.playready`,WIDEVINE:`urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`};function EL(e){switch(e){case TL.FAIRPLAY:return wL.FAIRPLAY;case TL.PLAYREADY:return wL.PLAYREADY;case TL.WIDEVINE:return wL.WIDEVINE;case TL.CLEARKEY:return wL.CLEARKEY}}function DL(e){switch(e){case wL.FAIRPLAY:return TL.FAIRPLAY;case wL.PLAYREADY:return TL.PLAYREADY;case wL.WIDEVINE:return TL.WIDEVINE;case wL.CLEARKEY:return TL.CLEARKEY}}function OL(e){let{drmSystems:t,widevineLicenseUrl:n}=e,r=t?[wL.FAIRPLAY,wL.WIDEVINE,wL.PLAYREADY,wL.CLEARKEY].filter(e=>!!t[e]):[];return!r[wL.WIDEVINE]&&n&&r.push(wL.WIDEVINE),r}var kL=function(e){return CL!=null&&(e=CL.navigator)!=null&&e.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function AL(e,t,n,r){let i;switch(e){case wL.FAIRPLAY:i=[`cenc`,`sinf`];break;case wL.WIDEVINE:case wL.PLAYREADY:i=[`cenc`];break;case wL.CLEARKEY:i=[`cenc`,`keyids`];break;default:throw Error(`Unknown key-system: ${e}`)}return jL(i,t,n,r)}function jL(e,t,n,r){return[{initDataTypes:e,persistentState:r.persistentState||`optional`,distinctiveIdentifier:r.distinctiveIdentifier||`optional`,sessionTypes:r.sessionTypes||[r.sessionType||`temporary`],audioCapabilities:t.map(e=>({contentType:`audio/mp4; codecs=${e}`,robustness:r.audioRobustness||``,encryptionScheme:r.audioEncryptionScheme||null})),videoCapabilities:n.map(e=>({contentType:`video/mp4; codecs=${e}`,robustness:r.videoRobustness||``,encryptionScheme:r.videoEncryptionScheme||null}))}]}function ML(e){var t;return!!e&&(e.sessionType===`persistent-license`||!!((t=e.sessionTypes)!=null&&t.some(e=>e===`persistent-license`)))}function NL(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),n=String.fromCharCode.apply(null,Array.from(t)),r=n.substring(n.indexOf(`<`),n.length),i=new DOMParser().parseFromString(r,`text/xml`).getElementsByTagName(`KID`)[0];if(i){let e=i.childNodes[0]?i.childNodes[0].nodeValue:i.getAttribute(`VALUE`);if(e){let t=vL(e).subarray(0,16);return xL(t),t}}return null}var PL={},FL=class e{static clearKeyUriToKeyIdMap(){PL={}}static setKeyIdForUri(e,t){PL[e]=t}static addKeyIdForUri(e){let t=Object.keys(PL).length%(2**53-1),n=new Uint8Array(16);return new DataView(n.buffer,12,4).setUint32(0,t),PL[e]=n,n}constructor(e,t,n,r=[1],i=null,a){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pss
1802h=null,this.method=e,this.uri=t,this.keyFormat=n,this.keyFormatVersions=r,this.iv=i,this.encrypted=e?e!==`NONE`:!1,this.isCommonEncryption=this.encrypted&&!gL(e),a!=null&&a.startsWith(`0x`)&&(this.keyId=new Uint8Array(fP(a)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&mL(e.keyFormatVersions,this.keyFormatVersions)&&hL(e.iv,this.iv)&&hL(e.keyId,this.keyId)}isSupported(){if(this.method){if(gL(this.method)||this.method===`NONE`)return!0;if(this.keyFormat===`identity`)return this.method===`SAMPLE-AES`;switch(this.keyFormat){case TL.FAIRPLAY:case TL.WIDEVINE:case TL.PLAYREADY:case TL.CLEARKEY:return[`SAMPLE-AES`,`SAMPLE-AES-CENC`,`SAMPLE-AES-CTR`].indexOf(this.method)!==-1}}return!1}getDecryptData(t,n){if(!this.encrypted||!this.uri)return null;if(gL(this.method)){let n=this.iv;return n||=(typeof t!=`number`&&(oP.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),t=0),RL(t)),new e(this.method,this.uri,`identity`,this.keyFormatVersions,n)}if(this.keyId){let t=PL[this.uri];if(t&&!mL(this.keyId,t)&&e.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}let r=SL(this.uri);if(r)switch(this.keyFormat){case TL.WIDEVINE:if(this.pssh=r,!this.keyId){let e=aF(r.buffer);if(e.length){var i;let t=e[0];this.keyId=(i=t.kids)!=null&&i.length?t.kids[0]:null}}this.keyId||=LL(n);break;case TL.PLAYREADY:{let e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=iF(e,null,r),this.keyId=NL(r);break}default:{let e=r.subarray(0,16);if(e.length!==16){let t=new Uint8Array(16);t.set(e,16-e.length),e=t}this.keyId=e;break}}if(!this.keyId||this.keyId.byteLength!==16){let t;t=IL(n),t||(t=LL(n),t||=PL[this.uri]),t&&(this.keyId=t,e.setKeyIdForUri(this.uri,t))}return this}};function IL(e){let t=e?.[TL.WIDEVINE];return t?t.keyId:null}function LL(e){let t=e?.[TL.PLAYREADY];if(t){let e=SL(t.uri);if(e)return NL(e)}return null}function RL(e){let t=new Uint8Array(16);for(let n=12;n<16;n++)t[n]=e>>8*(15-n)&255;return t}var zL=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,BL=/#EXT-X-MEDIA:(.*)/g,VL=/^#EXT(?:INF|-X-TARGETDURATION):/m,HL=new RegExp([`#EXTINF:\\s*(\\d*(?:\\.\\d+)?)(?:,(.*)\\s+)?`,`(?!#) *(\\S[^\\r\\n]*)`,`#.*`].join(`|`),`g`),UL=new RegExp([`#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)`,`#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\\d+)`,`#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)`,`(#)([^:]*):(.*)`,`(#)(.*)(?:.*)\\r?\\n?`].join(`|`)),WL=class e{static findGroup(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.id===t)return r}}static resolve(e,t){return _P.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return VL.test(e)}static parseMasterPlaylist(t,n){let r={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:tL(t)},i=[];if(zL.lastIndex=0,!t.startsWith(`#EXTM3U`))return r.playlistParsingError=Error(`no EXTM3U delimiter`),r;let a;for(;(a=zL.exec(t))!=null;)if(a[1]){var o;let t=new sL(a[1],r),s=nL(r,a[2]),c={attrs:t,bitrate:t.decimalInteger(`BANDWIDTH`)||t.decimalInteger(`AVERAGE-BANDWIDTH`),name:t.NAME,url:e.resolve(s,n)},l=t.decimalResolution(`RESOLUTION`);l&&(c.width=l.width,c.height=l.height),YL(t.CODECS,c);let u=t[`SUPPLEMENTAL-CODECS`];u&&(c.supplemental={},YL(u,c.supplemental)),(o=c.unknownCodecs)!=null&&o.length||i.push(c),r.levels.push(c)}else if(a[3]){let t=a[3],i=a[4];switch(t){case`SESSION-DATA`:{let e=new sL(i,r),t=e[`DATA-ID`];t&&(r.sessionData===null&&(r.sessionData={}),r.sessionData[t]=e);break}case`SESSION-KEY`:{let e=qL(i,n,r);e.encrypted&&e.isSupported()?(r.sessionKeys===null&&(r.sessionKeys=[]),r.sessionKeys.push(e)):oP.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${i}"`);break}case`DEFINE`:rL(r,new sL(i,r),n);break;case`CONTENT-STEERING`:{let t=new sL(i,r);r.contentSteering={uri:e.resolve(t[`SERVER-URI`],n),pathwayId:t[`PATHWAY-ID`]||`.`};break}case`START`:r.startTimeOffset=JL(i)}}return r.levels=i.length>0&&i.length<r.levels.length?i:r.levels,r.levels.length===0&&(r.playlistParsingError=Error(`no levels found in manifest`)),r}static parseMasterPlaylistMedia(t,n,r){let i,a={},o=r.levels,s={AUDIO:o.map(e=>({id:e.attrs.AUDIO,audioCodec:e.audioCodec})),SUBTITLES:o.map(e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec})),"CLOSED-CAPTIONS":[]},c=0;for(BL.lastIndex=0;(i=BL.exec(t))!==null;){let t=new sL(i[1],r),o=t.TYPE;if(o){let r=s[o],i=a[o]||[];a[o]=i;let l=t.LANGUAGE,u=t[`ASSOC-LANGUAGE`],d=t.CHANNELS,f=t.CHARACTERISTICS,p=t[`INSTREAM-ID`],m={attrs:t,bitrate:0,id:c++,groupId:t[`GROUP-ID`]||``,name:t.NAME||l||``,type:o,default:t.bool(`DEFAULT`),autoselect:t.bool(`AUTOSELECT`),forced:t.bool(`FORCED`),lang:l,url:t.URI?e.resolve(t.URI,n):``};if(u&&(m.assocLang=u),d&&(m.channels=d),f&&(m.characteristics=f),p&&(m.instreamId=p),r!=null&&r.length){let t=e.findGroup(r,m.groupId)||r[0];XL(m,t,`audioCodec`),XL(m,t,`textCodec`)}i.push(m)}}return a}static parseLevelPlaylist(e,t,n,r,i,a){let o={url:t},s=new pL(t),c=s.fragments,l=[],u=null,d=0,f=0,p=0,m=0,h=0,g=null,_=new SP(r,o),v,y,b,x=-1,S=!1,ee=null,te;if(HL.lastIndex=0,s.m3u8=e,s.hasVariableRefs=tL(e),HL.exec(e)?.[0]!==`#EXTM3U`)return s.playlistParsingError=Error(`Missing format identifier #EXTM3U`),s;for(;(v=HL.exec(e))!==null;
vendor: 29,632 bytes, lines 1802-1807
1802){S&&(S=!1,_=new SP(r,o),_.playlistOffset=p,_.setStart(p),_.sn=d,_.cc=m,h&&(_.bitrate=h),_.level=n,u&&(_.initSegment=u,u.rawProgramDateTime&&(_.rawProgramDateTime=u.rawProgramDateTime,u.rawProgramDateTime=null),ee&&=(_.setByteRange(ee),null)));let e=v[1];if(e){_.duration=parseFloat(e);let t=(` `+v[2]).slice(1);_.title=t||null,_.tagList.push(t?[`INF`,e,t]:[`INF`,e])}else if(v[3]){if(q(_.duration)){_.playlistOffset=p,_.setStart(p),b&&eR(_,b,s),_.sn=d,_.level=n,_.cc=m,c.push(_);let e=(` `+v[3]).slice(1);_.relurl=nL(s,e),QL(_,g,l),g=_,p+=_.duration,d++,f=0,S=!0}}else{if(v=v[0].match(UL),!v){oP.warn(`No matches on slow regex match for level playlist!`);continue}for(y=1;y<v.length&&v[y]===void 0;y++);let e=(` `+v[y]).slice(1),i=(` `+v[y+1]).slice(1),l=v[y+2]?(` `+v[y+2]).slice(1):null;switch(e){case`BYTERANGE`:g?_.setByteRange(i,g):_.setByteRange(i);break;case`PROGRAM-DATE-TIME`:_.rawProgramDateTime=i,_.tagList.push([`PROGRAM-DATE-TIME`,i]),x===-1&&(x=c.length);break;case`PLAYLIST-TYPE`:s.type&&tR(s,e,v),s.type=i.toUpperCase();break;case`MEDIA-SEQUENCE`:s.startSN===0?c.length>0&&nR(s,e,v):tR(s,e,v),d=s.startSN=parseInt(i);break;case`SKIP`:{s.skippedSegments&&tR(s,e,v);let t=new sL(i,s),n=t.decimalInteger(`SKIPPED-SEGMENTS`);if(q(n)){s.skippedSegments+=n;for(let e=n;e--;)c.push(null);d+=n}let r=t.enumeratedString(`RECENTLY-REMOVED-DATERANGES`);r&&(s.recentlyRemovedDateranges=(s.recentlyRemovedDateranges||[]).concat(r.split(`	`)));break}case`TARGETDURATION`:s.targetduration!==0&&tR(s,e,v),s.targetduration=Math.max(parseInt(i),1);break;case`VERSION`:s.version!==null&&tR(s,e,v),s.version=parseInt(i);break;case`INDEPENDENT-SEGMENTS`:break;case`ENDLIST`:s.live||tR(s,e,v),s.live=!1;break;case`#`:(i||l)&&_.tagList.push(l?[i,l]:[i]);break;case`DISCONTINUITY`:m++,_.tagList.push([`DIS`]);break;case`GAP`:_.gap=!0,_.tagList.push([e]);break;case`BITRATE`:_.tagList.push([e,i]),h=parseInt(i)*1e3,q(h)?_.bitrate=h:h=0;break;case`DATERANGE`:{let e=new sL(i,s),t=new dL(e,s.dateRanges[e.ID],s.dateRangeTagCount);s.dateRangeTagCount++,t.isValid||s.skippedSegments?s.dateRanges[t.id]=t:oP.warn(`Ignoring invalid DATERANGE tag: "${i}"`),_.tagList.push([`EXT-X-DATERANGE`,i]);break}case`DEFINE`:{let e=new sL(i,s);`IMPORT`in e?iL(s,e,a):rL(s,e,t)}break;case`DISCONTINUITY-SEQUENCE`:s.startCC===0?c.length>0&&nR(s,e,v):tR(s,e,v),s.startCC=m=parseInt(i);break;case`KEY`:{let e=qL(i,t,s);if(e.isSupported()){if(e.method===`NONE`){b=void 0;break}b||={};let t=b[e.keyFormat];t!=null&&t.matches(e)||(t&&(b=qN({},b)),b[e.keyFormat]=e)}else oP.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${i}"`);break}case`START`:s.startTimeOffset=JL(i);break;case`MAP`:{let e=new sL(i,s);if(_.duration){let t=new SP(r,o);$L(t,e,n,b),u=t,_.initSegment=u,u.rawProgramDateTime&&!_.rawProgramDateTime&&(_.rawProgramDateTime=u.rawProgramDateTime)}else{let t=_.byteRangeEndOffset;if(t){let e=_.byteRangeStartOffset;ee=`${t-e}@${e}`}else ee=null;$L(_,e,n,b),u=_,S=!0}u.cc=m;break}case`SERVER-CONTROL`:te&&tR(s,e,v),te=new sL(i),s.canBlockReload=te.bool(`CAN-BLOCK-RELOAD`),s.canSkipUntil=te.optionalFloat(`CAN-SKIP-UNTIL`,0),s.canSkipDateRanges=s.canSkipUntil>0&&te.bool(`CAN-SKIP-DATERANGES`),s.partHoldBack=te.optionalFloat(`PART-HOLD-BACK`,0),s.holdBack=te.optionalFloat(`HOLD-BACK`,0);break;case`PART-INF`:s.partTarget&&tR(s,e,v),s.partTarget=new sL(i).decimalFloatingPoint(`PART-TARGET`);break;case`PART`:{let e=s.partList;e||=s.partList=[];let t=f>0?e[e.length-1]:void 0,n=f++,r=new CP(new sL(i,s),_,o,n,t);e.push(r),_.duration+=r.duration;break}case`PRELOAD-HINT`:s.preloadHint=new sL(i,s);break;case`RENDITION-REPORT`:{let e=new sL(i,s);s.renditionReports=s.renditionReports||[],s.renditionReports.push(e);break}default:oP.warn(`line parsed but not handled: ${v}`)}}}g&&!g.relurl?(c.pop(),p-=g.duration,s.partList&&(s.fragmentHint=g)):s.partList&&(QL(_,g,l),_.cc=m,s.fragmentHint=_,b&&eR(_,b,s)),s.targetduration||(s.playlistParsingError=Error(`Missing Target Duration`));let ne=c.length,re=c[0],ie=c[ne-1];if(p+=s.skippedSegments*s.targetduration,p>0&&ne&&ie){s.averagetargetduration=p/ne;let e=ie.sn;s.endSN=e===`initSegment`?0:e,s.live||(ie.endList=!0),x>0&&(ZL(c,x),re&&l.unshift(re))}return s.fragmentHint&&(p+=s.fragmentHint.duration),s.totalduration=p,l.length&&s.dateRangeTagCount&&re&&GL(l,s),s.endCC=m,s}};function GL(e,t){let n=e.length;if(!n)if(t.hasProgramDateTime){let r=t.fragments[t.fragments.length-1];e.push(r),n++}else return;let r=e[n-1],i=t.live?1/0:t.totalduration,a=Object.keys(t.dateRanges);for(let o=a.length;o--;){let s=t.dateRanges[a[o]],c=s.startDate.getTime();s.tagAnchor=r.ref;for(let r=n;r--&&!(e[r]?.sn<t.startSN);){let n=KL(t,c,e,r,i);if(n!==-1){s.tagAnchor=t.fragments[n].ref;break}}}}function KL(e,t,n,r,i){let a=n[r];if(a){let o=a.programDateTime;if((t>=o||r===0)&&t<=o+((n[r+1]?.start||i)-a.start)*1e3){let i=n[r].sn-e.startSN;if(i<0)return-1;let a=e.fragments;if(a.length>n.length){let o=(n[r+1]||a[a.length-1]).sn-e.startSN;for(let e=o;e>i;e--){let n=a[e].programDateTime;if(t>=n&&t<n+a[e].duration*1e3)return e}}return i}}return-1}function qL(e,t,n){let r=new sL(e,n),i=r.METHOD??``,a=r.URI,o=r.hexadecimalInteger(`IV`),s=r.KEYFORMATVERSIONS,c=r.KEYFORMAT??`identity`;return a&&r.IV&&!o&&oP.error(`Invalid IV: ${r.IV}`),new FL(i,a?WL.resolve(a,t):``,c,(s||`1`).split(`/`).map(Number).filter(Number.isFinite),o,r.KEYID)}function JL(e){let t=new sL(e).decimalFloatingPoint(`TIME-OFFSET`);return q(t)?t:null}function YL(e,t){let n=(e||``).split(/[ ,]+/).filter(e=>e);[`video`,`audio`,`text`].forEach(e=>{let r=n.filter(t=>lF(t,e));r.length&&(t[`${e}Codec`]=r.map(e=>e.split(`/`)[0]).join(`,`),n=n.filter(e=>r.indexOf(e)===-1))}),t.unknownCodecs=n}function XL(e,t,n){let r=t[n];r&&(e[n]=r)}function ZL(e,t){let n=e[t];for(let r=t;r--;){let t=e[r];if(!t)return;t.programDateTime=n.programDateTime-t.duration*1e3,n=t}}function QL(e,t,n){e.rawProgramDateTime?n.push(e):t!=null&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime)}function $L(e,t,n,r){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=n,e.sn=`initSegment`,r&&(e.levelkeys=r),e.initSegment=null}function eR(e,t,n){e.levelkeys=t;let{encryptedFragments:r}=n;(!r.length||r[r.length-1].levelkeys!==t)&&Object.keys(t).some(e=>t[e].isCommonEncryption)&&r.push(e)}function tR(e,t,n){e.playlistParsingError=Error(`#EXT-X-${t} must not appear more than once (${n[0]})`)}function nR(e,t,n){e.playlistParsingError=Error(`#EXT-X-${t} must appear before the first Media Segment (${n[0]})`)}function rR(e,t){let n=t.startPTS;if(q(n)){let r=0,i;t.sn>e.sn?(r=n-e.start,i=e):(r=e.start-n,i=t),i.duration!==r&&i.setDuration(r)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.setStart(e.start+(e.minEndPTS-e.start)):t.setStart(e.start+e.duration):t.setStart(Math.max(e.start-t.duration,0))}function iR(e,t,n,r,i,a,o){r-n<=0&&(o.warn(`Fragment should have a positive duration`,t),r=n+t.duration,a=i+t.duration);let s=n,c=r,l=t.startPTS,u=t.endPTS;if(q(l)){let d=Math.abs(l-n);e&&d>e.totalduration?o.warn(`media timestamps and playlist times differ by ${d}s for level ${t.level} ${e.url}`):t.deltaPTS=q(t.deltaPTS)?Math.max(d,t.deltaPTS):d,s=Math.max(n,l),n=Math.min(n,l),i=t.startDTS===void 0?i:Math.min(i,t.startDTS),c=Math.min(r,u),r=Math.max(r,u),a=t.endDTS===void 0?a:Math.max(a,t.endDTS)}let d=n-t.start;t.start!==0&&t.setStart(n),t.setDuration(r-t.start),t.startPTS=n,t.maxStartPTS=s,t.startDTS=i,t.endPTS=r,t.minEndPTS=c,t.endDTS=a;let f=t.sn;if(!e||f<e.startSN||f>e.endSN)return 0;let p,m=f-e.startSN,h=e.fragments;for(h[m]=t,p=m;p>0;p--)rR(h[p],h[p-1]);for(p=m;p<h.length-1;p++)rR(h[p],h[p+1]);return e.fragmentHint&&rR(h[h.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,d}function aR(e,t,n){if(e===t)return;let r=null,i=e.fragments;for(let e=i.length-1;e>=0;e--){let t=i[e].initSegment;if(t){r=t;break}}e.fragmentHint&&delete e.fragmentHint.endPTS;let a;cR(e,t,(e,n,i,o)=>{if((!t.startCC||t.skippedSegments)&&n.cc!==e.cc){let r=e.cc-n.cc;for(let e=i;e<o.length;e++)o[e].cc+=r;t.endCC=o[o.length-1].cc}q(e.startPTS)&&q(e.endPTS)&&(n.setStart(n.startPTS=e.startPTS),n.startDTS=e.startDTS,n.maxStartPTS=e.maxStartPTS,n.endPTS=e.endPTS,n.endDTS=e.endDTS,n.minEndPTS=e.minEndPTS,n.setDuration(e.endPTS-e.startPTS),n.duration&&(a=n),t.PTSKnown=t.alignedSliding=!0),e.hasStreams&&(n.elementaryStreams=e.elementaryStreams),n.loader=e.loader,e.hasStats&&(n.stats=e.stats),e.initSegment&&(n.initSegment=e.initSegment,r=e.initSegment)});let o=t.fragments,s=t.fragmentHint?o.concat(t.fragmentHint):o;if(r&&s.forEach(e=>{e&&(!e.initSegment||e.initSegment.relurl===r?.relurl)&&(e.initSegment=r)}),t.skippedSegments){if(t.deltaUpdateFailed=o.some(e=>!e),t.deltaUpdateFailed){n.warn(`[level-helper] Previous playlist missing segments skipped in delta playlist`);for(let e=t.skippedSegments;e--;)o.shift();t.startSN=o[0].sn}else{t.canSkipDateRanges&&(t.dateRanges=oR(e.dateRanges,t,n));let r=e.fragments.filter(e=>e.rawProgramDateTime);if(e.hasProgramDateTime&&!t.hasProgramDateTime)for(let e=1;e<s.length;e++)s[e].programDateTime===null&&QL(s[e],s[e-1],r);GL(r,t)}t.endCC=o[o.length-1].cc}t.startCC||=pR(e,t.startSN-1)?.cc??o[0].cc,sR(e.partList,t.partList,(e,t)=>{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats}),a?iR(t,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS,n):uR(e,t),o.length&&(t.totalduration=t.edge-o[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;let c=t.advancedDateTime;if(t.advanced&&c){let e=t.edge;t.driftStart||=(t.driftStartTime=c,e),t.driftEndTime=c,t.driftEnd=e}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime;t.requestScheduled===-1&&(t.requestScheduled=e.requestScheduled)}function oR(e,t,n){let{dateRanges:r,recentlyRemovedDateranges:i}=t,a=qN({},e);i&&i.forEach(e=>{delete a[e]});let o=Object.keys(a).length;return o?(Object.keys(r).forEach(e=>{let t=a[e],i=new dL(r[e].attr,t);i.isValid?(a[e]=i,t||(i.tagOrder+=o)):n.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${YF(r[e].attr)}"`)}),a):r}function sR(e,t,n){if(e&&t){let r=0;for(let i=0,a=e.length;i<=a;i++){let a=e[i],o=t[i+r];a&&o&&a.index===o.index&&a.fragment.sn===o.fragment.sn?n(a,o):r--}}}function cR(e,t,n){let r=t.skippedSegments,i=Math.max(e.startSN,t.startSN)-t.startSN,a=+!!e.fragmentHint+(r?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,o=t.startSN-e.startSN,s=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,c=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let l=i;l<=a;l++){let i=c[o+l],a=s[l];if(r&&!a&&i&&(a=t.fragments[l]=i),i&&a){n(i,a,l,s);let r=i.relurl,o=a.relurl;if(r&&_R(r,o)){t.playlistParsingError=lR(`media sequence mismatch ${a.sn}:`,e,t,i,a);return}if(i.cc!==a.cc){t.playlistParsingError=lR(`discontinuity sequence mismatch (${i.cc}!=${a.cc})`,e,t,i,a);return}}}}function lR(e,t,n,r,i){return Error(`${e} ${i.url}
1803Playlist starting @${t.startSN}
1804${t.m3u8}
1805
1806Playlist starting @${n.startSN}
1807${n.m3u8}`)}function uR(e,t,n=!0){let r=t.startSN+t.skippedSegments-e.startSN,i=e.fragments,a=r>=0,o=0;if(a&&r<i.length)o=i[r].start;else if(a&&t.startSN===e.endSN+1)o=e.fragmentEnd;else if(a&&n)o=e.fragmentStart+r*t.levelTargetDuration;else if(!t.skippedSegments&&t.fragmentStart===0)o=e.fragmentStart;else return;dR(t,o)}function dR(e,t){if(t){let n=e.fragments;for(let r=e.skippedSegments;r<n.length;r++)n[r].addStart(t);e.fragmentHint&&e.fragmentHint.addStart(t)}}function fR(e,t=1/0){let n=1e3*e.targetduration;if(e.updated){let r=e.fragments;if(r.length&&n*4>t){let e=r[r.length-1].duration*1e3;e<n&&(n=e)}}else n/=2;return Math.round(n)}function pR(e,t,n){if(!e)return null;let r=e.fragments[t-e.startSN];return r||(r=e.fragmentHint,r&&r.sn===t)?r:t<e.startSN&&n&&n.sn===t?n:null}function mR(e,t,n){return e?hR(e.partList,t,n):null}function hR(e,t,n){if(e)for(let r=e.length;r--;){let i=e[r];if(i.index===n&&i.fragment.sn===t)return i}return null}function gR(e){e.forEach((e,t)=>{var n;(n=e.details)==null||n.fragments.forEach(e=>{e.level=t,e.initSegment&&(e.initSegment.level=t)})})}function _R(e,t){return e!==t&&t?vR(e)!==vR(t):!1}function vR(e){return e.replace(/\?[^?]*$/,``)}function yR(e,t){for(let n=0,r=e.length;n<r;n++)if(e[n]?.cc===t)return e[n];return null}function bR(e,t){return!!(e&&t.startCC<e.endCC&&t.endCC>e.startCC)}function xR(e,t){let n=e.start+t;e.startPTS=n,e.setStart(n),e.endPTS=n+e.duration}function SR(e,t){let n=t.fragments;for(let t=0,r=n.length;t<r;t++)xR(n[t],e);t.fragmentHint&&xR(t.fragmentHint,e),t.alignedSliding=!0}function CR(e,t){e&&(wR(t,e),t.alignedSliding||TR(t,e),!t.alignedSliding&&!t.skippedSegments&&uR(e,t,!1))}function wR(e,t){if(!bR(t,e))return;let n=Math.min(t.endCC,e.endCC),r=yR(t.fragments,n),i=yR(e.fragments,n);!r||!i||(oP.log(`Aligning playlist at start of dicontinuity sequence ${n}`),SR(r.start-i.start,e))}function TR(e,t){if(!e.hasProgramDateTime||!t.hasProgramDateTime)return;let n=e.fragments,r=t.fragments;if(!n.length||!r.length)return;let i,a,o=Math.min(t.endCC,e.endCC);t.startCC<o&&e.startCC<o&&(i=yR(r,o),a=yR(n,o)),(!i||!a)&&(i=r[Math.floor(r.length/2)],a=yR(n,i.cc)||n[Math.floor(n.length/2)]);let s=i.programDateTime,c=a.programDateTime;!s||!c||SR((c-s)/1e3-(a.start-i.start),e)}function ER(e,t,n){DR(e,t,n),e.addEventListener(t,n)}function DR(e,t,n){e.removeEventListener(t,n)}var OR={toString:function(e){let t=``,n=e.length;for(let r=0;r<n;r++)t+=`[${e.start(r).toFixed(3)}-${e.end(r).toFixed(3)}]`;return t}},X={STOPPED:`STOPPED`,IDLE:`IDLE`,KEY_LOADING:`KEY_LOADING`,FRAG_LOADING:`FRAG_LOADING`,FRAG_LOADING_WAITING_RETRY:`FRAG_LOADING_WAITING_RETRY`,WAITING_TRACK:`WAITING_TRACK`,PARSING:`PARSING`,PARSED:`PARSED`,ENDED:`ENDED`,ERROR:`ERROR`,WAITING_INIT_PTS:`WAITING_INIT_PTS`,WAITING_LEVEL:`WAITING_LEVEL`},kR=class extends YI{constructor(e,t,n,r,i){super(r,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=X.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:e,fragCurrent:t,media:n,mediaBuffer:r,state:i}=this,a=n?n.currentTime:0,o=$I.bufferInfo(r||n,a,e.maxBufferHole),s=!o.len;if(this.log(`Media seeking to ${q(a)?a.toFixed(3):a}, state: ${i}, ${s?`out of`:`in`} buffer`),this.state===X.ENDED)this.resetLoadingState();else if(t){let n=e.maxFragLookUpTolerance,r=t.start-n,i=t.start+t.duration+n;if(s||i<o.start||r>o.end){let e=a>i;(a<r||e)&&(e&&t.loader&&(this.log(`Cancelling fragment load for seek (sn: ${t.sn})`),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(n&&(this.fragmentTracker.removeFragmentsInRange(a,1/0,this.playlistType,!0),a>this.lastCurrentTime&&(this.lastCurrentTime=a),!this.loadingParts)){let e=Math.max(o.end,a),t=this.shouldLoadParts(this.getLevelDetails(),e);t&&(this.log(`LL-Part loading ON after seeking to ${a.toFixed(2)} with buffer @${e.toFixed(2)}`),this.loadingParts=t)}this.hls.hasEnoughToStart||(this.log(`Setting ${s?`startPosition`:`nextLoadPosition`} to ${a} for seek without enough to start`),this.nextLoadPosition=a,s&&(this.startPosition=a)),s&&this.state===X.IDLE&&this.tickImmediate()},this.onMediaEnded=()=>{this.log(`setting startPosition to 0 because media ended`),this.startPosition=this.lastCurrentTime=0},this.playlistType=i,this.hls=e,this.fragmentLoader=new WI(e.config),this.keyLoader=n,this.fragmentTracker=t,this.config=e.config,this.decrypter=new HI(e.config)}registerListeners(){let{hls:e}=this;e.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Y.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===X.STOPPED)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=X.STOPPED}get startPositionValue(){let{nextLoadPosition:e,startPosition:t}=this;return t===-1&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){if(t.live||!this.media)return!1;let n=e.end||0,r=this.config.timelineOffset||0;if(n<=r)return!1;let i=e.buffered;this.config.maxBufferHole&&i&&i.length>1&&(e=$I.bufferedInfo(i,e.start,0));let a=e.nextStart;if(a&&a>r&&a<t.edge||this.media.currentTime<e.start)return!1;let o=t.partList;if(o!=null&&o.length){let e=o[o.length-1];return $I.isBuffered(this.media,e.start+e.duration/2)}let s=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(s)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;return e?this.getLevelDetails()?.appliedTimelineOffset||e:0}onMediaAttached(e,t){let n=this.media=this.mediaBuffer=t.media;ER(n,`seeking`,this.onMediaSeeking),ER(n,`ended`,this.onMediaEnded);let r=this.config;this.levels&&r.autoStartLoad&&this.state===X.STOPPED&&this.startLoad(r.startPosition)}onMediaDetaching(e,t){let n=!!t.transferMedia,r=this.media;if(r!==null){if(r.ended&&(this.log(`MSE detaching and video ended, reset startPosition`),this.startPosition=this.lastCurrentTime=0),DR(r,`seeking`,this.onMediaSeeking),DR(r,`ended`,this.onMediaEnded),this.keyLoader&&!n&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,n){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&=(this.transmuxer.destroy(),null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=X.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,n){this.startFragRequested=!0,this._loadFragForPlayback(e,t,n)}_loadFragForPlayback(e,t,n){this._doFragLoad(e,t,n,e=>{let t=e.frag;if(this.fragContextChanged(t)){this.warn(`${t.type} sn: ${t.sn}${e.part?` part: `+e.part.index:``} of ${this.fragInfo(t,!1,e.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(t);return}t.stats.chunkCount++,this._handleFragmentLoadProgress(e)}).then(e=>{if(!e)return;let t=this.state,n=e.frag;if(this.fragContextChanged(n)){(t===X.FRAG_LOADING||!this.fragCurrent&&t===X.PARSING)&&(this.fragmentTracker.removeFragment(n),this.state=X.IDLE);return}`payload`in e&&(this.log(`Loaded ${n.type} sn: ${n.sn} of ${this.playlistLabel()} ${n.level}`),this.hls.trigger(Y.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e)}).catch(t=>{this.state!==X.STOPPED&&this.state!==X.ERROR&&(this.warn(`Frag error: ${t?.message||t}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){let{fragmentTracker:t}=this;if(t.getState(e)===AI.APPENDING){let n=e.type,r=this.getFwdBufferInfo(this.mediaBuffer,n),i=Math.max(e.duration,r?r.len:this.config.maxBufferLength),a=this.backtrackFragment;((a?e.sn-a.sn:0)===1||this.reduceMaxBufferLength(i,e.duration))&&t.removeFragment(e)}else this.mediaBuffer?.buffered.length===0?t.removeAllFragments():t.hasParts(e.type)&&(t.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),t.getState(e)===AI.PARTIAL&&t.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){let t=e.details;return t?.live&&t.type!==`EVENT`&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,n=null){if(!(e-t))return;let r={startOffset:e,endOffset:t,type:n};this.hls.trigger(Y.BUFFER_FLUSHING,r)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(e=>{let t=e?.frag;if(!t||this.fragContextChanged(t)||!this.levels)throw Error(`init load aborted`);return e}).then(e=>{let{hls:t}=this,{frag:n,payload:r}=e,i=n.decryptdata;if(r&&r.byteLength>0&&i!=null&&i.key&&i.iv&&gL(i.method)){let a=self.performance.now();return this.decrypter.decrypt(new Uint8Array(r),i.key.buffer,i.iv.buffer,_L(i.method)).catch(e=>{throw t.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:n}),e}).then(r=>{let i=self.performance.now();return t.trigger(Y.FRAG_DECRYPTED,{frag:n,payload:r,stats:{tstart:a,tdecrypt:i}}),e.payload=r,this.completeInitSegmentLoad(e)})}return this.completeInitSegmentLoad(e)}).catch(t=>{this.state!==X.STOPPED&&this.state!==X.ERROR&&(this.warn(t),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw Error(`init load aborted, missing levels`);let n=e.frag.stats;this.state!==X.STOPPED&&(this.state=X.IDLE),e.frag.data=new Uint8Array(e.payload),n.parsing.start=n.buffering.start=self.performance.now(),n.parsing.end=n.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var n,r;let i=e.tracks;if(i&&!t.encrypted&&((n=i.audio)!=null&&n.encrypted||(r=i.video)!=null&&r.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let e=this.media,n=Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${e?`attached mediaKeys: `+e.mediaKeys:`detached`})`);return this.warn(n.message),!e||e.mediaKeys?!1:(this.hls.trigger(Y.ERROR,{type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_NO_KEYS,fatal:!1,error:n,frag:t}),this.resetTransmuxer(),!0)}return!1}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){let n=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?` part: `+t.index:``} of ${this.fragInfo(e,!1,t)} > buffer:${n?OR.toString($I.getBuffered(n)):`(detached)`})`),xP(e)){if(e.type!==UN.SUBTITLE){let t=e.elementaryStreams;if(!Object.keys(t).some(e=>!!t[e])){this.state=X.IDLE;return}}let t=this.levels?.[e.level];t!=null&&t.fragmentError&&(this.log(`Resetting level fragment error count of ${t.fragmentError} on frag buffered`),t.fragmentError=0)}this.state=X.IDLE}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:n,part:r,partsLoaded:i}=e,a=!i||i.length===0||i.some(e=>!e),o=new XI(n.level,n.sn,n.stats.chunkCount+1,0,r?r.index:-1,!a);t.flush(o)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,n=null,r){var i;this.fragCurrent=e;let a=t.details;if(!this.levels||!a)throw Error(`frag load aborted, missing level${a?``:` detail`}s`);let o=null;if(e.encrypted&&!((i=e.decryptdata)!=null&&i.key)){if(this.log(`Loading key for ${e.sn} of [${a.startSN}-${a.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=X.KEY_LOADING,this.fragCurrent=e,o=this.keyLoader.load(e).then(e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(Y.KEY_LOADED,e),this.state===X.KEY_LOADING&&(this.state=X.IDLE),e}),this.hls.trigger(Y.KEY_LOADING,{frag:e}),this.fragCurrent===null)return this.log(`context changed in KEY_LOADING`),Promise.resolve(null)}else e.encrypted||(o=this.keyLoader.loadClear(e,a.encryptedFragments,this.startFragRequested),o&&this.log(`[eme] blocking frag load until media-keys acquired`));let s=this.fragPrevious;if(xP(e)&&(!s||e.sn!==s.sn)){let n=this.shouldLoadParts(t.details,e.end);n!==this.loadingParts&&(this.log(`LL-Part loading ${n?`ON`:`OFF`} loading sn ${s?.sn}->${e.sn}`),this.loadingParts=n)}if(n=Math.max(e.start,n||0),this.loadingParts&&xP(e)){let i=a.partList;if(i&&r){n>a.fragmentEnd&&a.fragmentHint&&(e=a.fragmentHint);let s=this.getNextPart(i,e,n);if(s>-1){let c=i[s];e=this.fragCurrent=c.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${c.index} (${s}/${i.length-1}) of ${this.fragInfo(e,!1,c)}) cc: ${e.cc} [${a.startSN}-${a.endSN}], target: ${parseFloat(n.toFixed(3))}`),this.nextLoadPosition=c.start+c.duration,this.state=X.FRAG_LOADING;let l;return l=o?o.then(n=>!n||this.fragContextChanged(n.frag)?null:this.doFragPartsLoad(e,c,t,r)).catch(e=>this.handleFragLoadError(e)):this.doFragPartsLoad(e,c,t,r).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(Y.FRAG_LOADING,{frag:e,part:c,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(Error(`frag load aborted, context changed in FRAG_LOADING parts`)):l}if(!e.url||this.loadedEndOfParts(i,n))return Promise.resolve(null)}}if(xP(e)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${n.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${a.partList?.filter(e=>e.loaded).map(e=>`[${e.start}-${e.end}]`)}`),this.loadingParts=!1;else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${`[`+a.startSN+`-`+a.endSN+`]`}, target: ${parseFloat(n.toFixed(3))}`),q(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=X.FRAG_LOADING;let c=this.config.progressive&&e.type!==UN.SUBTITLE,l;return l=c&&o?o.then(t=>!t||this.fragContextChanged(t.frag)?null:this.fragmentLoader.load(e,r)).catch(e=>this.handleFragLoadError(e)):Promise.all([this.fragmentLoader.load(e,c?r:void 0),o]).then(([e])=>(!c&&r&&r(e),e)).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(Y.FRAG_LOADING,{frag:e,targetBufferTime:n}),this.fragCurrent===null?Promise.reject(Error(`frag load aborted, context changed in FRAG_LOADING`)):l}doFragPartsLoad(e,t,n,r){return new Promise((i,a)=>{let o=[],s=n.details?.partList,c=t=>{this.fragmentLoader.loadPart(e,t,r).then(r=>{o[t.index]=r;let a=r.part;this.hls.trigger(Y.FRAG_LOADED,r);let l=mR(n.details,e.sn,t.index+1)||hR(s,e.sn,t.index+1);if(l)c(l);else return i({frag:e,part:a,partsLoaded:o})}).catch(a)};c(t)})}handleFragLoadError(e){if(`data`in e){let t=e.data;t.frag&&t.details===J.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===VN.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(Y.ERROR,t)}else this.hls.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==X.PARSING){!this.fragCurrent&&this.state!==X.STOPPED&&this.state!==X.ERROR&&(this.state=X.IDLE);return}let{frag:n,part:r,level:i}=t,a=self.performance.now();n.stats.parsing.end=a,r&&(r.stats.parsing.end=a);let o=this.getLevelDetails(),s=o&&n.sn>o.endSN||this.shouldLoadParts(o,n.end);s!==this.loadingParts&&(this.log(`LL-Part loading ${s?`ON`:`OFF`} after parsing segment ending @${n.end.toFixed(2)}`),this.loadingParts=s),this.updateLevelTiming(n,r,i,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){let n=e.partList[0];if(n.fragment.type===UN.SUBTITLE)return!1;if(t>=n.end+(e.fragmentHint?.duration||0)&&(this.hls.hasEnoughToStart?this.media?.currentTime||this.lastCurrentTime:this.getLoadPosition())>n.start-n.fragment.duration)return!0}}return!1}getCurrentContext(e){let{levels:t,fragCurrent:n}=this,{level:r,sn:i,part:a}=e;if(!(t!=null&&t[r]))return this.warn(`Levels object was unset while buffering fragment ${i} of ${this.playlistLabel()} ${r}. The current chunk will not be buffered.`),null;let o=t[r],s=o.details,c=a>-1?mR(s,i,a):null,l=c?c.fragment:pR(s,i,n);return l?(n&&n!==l&&(l.stats=n.stats),{frag:l,part:c,level:o}):null}bufferFragmentData(e,t,n,r,i){if(this.state!==X.PARSING)return;let{data1:a,data2:o}=e,s=a;if(o&&(s=XP(a,o)),!s.length)return;let c=this.initPTS[t.cc],l=c?-c.baseTime/c.timescale:void 0,u={type:e.type,frag:t,part:n,chunkMeta:r,offset:l,parent:t.type,data:s};if(this.hls.trigger(Y.BUFFER_APPENDING,u),e.dropped&&e.independent&&!n){if(i)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!$I.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}let n=t.currentTime,r=$I.bufferInfo(t,n,0),i=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,i*.25),o=Math.max(Math.min(e.start-a,r.end-a),n+a);e.start-o>a&&this.flushMainBuffer(o,e.start)}getFwdBufferInfo(e,t){var n;let r=this.getLoadPosition();if(!q(r))return null;let i=this.lastCurrentTime>r||(n=this.media)!=null&&n.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,r,t,i)}getFwdBufferInfoAtPos(e,t,n,r){let i=$I.bufferInfo(e,t,r);if(i.len===0&&i.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(t,n);if(a&&(i.nextStart<=a.end||a.gap)){let n=Math.max(Math.min(i.nextStart,a.end)-t,r);return $I.bufferInfo(e,t,n)}}return i}
1807getMaxBufferLength(e){let{config:t}=this,n;return n=e?Math.max(8*t.maxBufferSize/e,t.maxBufferLength):t.maxBufferLength,Math.min(n,t.maxMaxBufferLength)}exceedsMaxBuffer(e,t,n){let r=e.nextStart;if(r&&n.start>r){let r=e.buffered;if(r){let i=e.len,a=e.bufferedIndex;for(let e=r.length-1;e>a;e--)r[e].start<n.start&&(i+=r[e].end-r[e].start);return i>=t}}return!1}reduceMaxBufferLength(e,t){let n=this.config,r=Math.max(Math.min(e-t,n.maxBufferLength),t),i=Math.max(e-t*3,n.maxMaxBufferLength/2,r);return i>=r&&(n.maxMaxBufferLength=i,this.warn(`Reduce max buffer length to ${i}s`),!0)}getAppendedFrag(e,t=UN.MAIN){let n=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return n&&`fragment`in n?n.fragment:n}getNextFragment(e,t){let n=t.fragments,r=n.length;if(!r)return null;let{config:i}=this,a=t.fragmentStart,o=i.lowLatencyMode&&!!t.partList,s=null;if(t.live){let n=i.initialLiveManifestSize;if(r<n)return this.warn(`Not enough fragments to start playback (have: ${r}, need: ${n})`),null;if(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a){o&&!this.loadingParts&&(this.log(`LL-Part loading ON for initial live fragment`),this.loadingParts=!0),s=this.getInitialLiveFragment(t);let n=this.config.startPosition,r=this.hls.startPosition,i=this.hls.liveSyncPosition,c=s?.start||0,l,u;r!==-1&&r>=a?(l=r,u=r===n?`config`:`next load start`):i===null?(l=e,u=`buffer pos`):(l=i,u=`live edge`),l<c&&(l=c,u=`live frag start`),l<a&&(l=a,u=`playlist start`),(this.startPosition!=l||this.nextLoadPosition!=l)&&(this.log(`Setting startPosition to ${l.toFixed(3)} ${r===-1?``:`(from ${n}) `}based on ${u}. live edge: ${i} live frag start: ${c.toFixed(3)} playlist start: ${a.toFixed(3)} buffer pos: ${e}`),this.startPosition=this.nextLoadPosition=l)}}else e<=a&&(s=n[0]);if(!s){let n=this.loadingParts?t.partEnd:t.fragmentEnd;s=this.getFragmentAtPosition(e,n,t)}let c=this.filterReplacedPrimary(s,t);if(!c&&s){let e=s.sn-t.startSN;c=this.filterReplacedPrimary(n[e+1]||null,t)}return this.mapToInitFragWhenRequired(c)}isLoopLoading(e,t){if(this.nextLoadPosition<=t)return!1;let n=this.fragmentTracker.getState(e);return n===AI.OK||n===AI.PARTIAL&&!!e.gap}getNextFragmentLoopLoading(e,t,n,r,i){let a=null;if(e.gap&&(a=this.getNextFragment(this.nextLoadPosition,t),a&&!a.gap&&n.nextStart)){let e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,n.nextStart,r,0);if(e!==null&&n.len+e.len>=i){let e=a.sn;return this.loopSn!==e&&(this.log(`buffer full after gaps in "${r}" playlist starting at sn: ${e}`),this.loopSn=e),null}}return this.loopSn=void 0,a}get primaryPrefetch(){if(AR(this.config)){var e;if((e=this.hls.interstitialsManager)!=null&&(e=e.playingItem)!=null&&e.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(AR(this.config)&&e.type!==UN.SUBTITLE){let n=this.hls.interstitialsManager,r=n?.bufferingItem;if(r){let n=r.event;if(n){if(n.appendInPlace||Math.abs(e.start-r.start)>1||r.start===0)return null}else if(e.end<=r.start&&t?.live===!1||e.start>r.end&&r.nextEvent&&(r.nextEvent.appendInPlace||e.start-r.end>1))return null}let i=n?.playerQueue;if(i)for(let t=i.length;t--;){let n=i[t].interstitial;if(n.appendInPlace&&e.start>=n.startTime&&e.end<=n.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!e.initSegment.data&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,n){let r=-1,i=!1,a=!0;for(let o=0,s=e.length;o<s;o++){let s=e[o];if(a&&=!s.independent,r>-1&&n<s.start)break;let c=s.loaded;c?r=-1:(i||(s.independent||a)&&s.fragment===t)&&(s.fragment!==t&&this.warn(`Need buffer at ${n} but next unloaded part starts at ${s.start}`),r=o),i=c}return r}loadedEndOfParts(e,t){let n;for(let r=e.length;r--;){if(n=e[r],!n.loaded)return!1;if(t>n.start)return!0}return!1}getInitialLiveFragment(e){let t=e.fragments,n=this.fragPrevious,r=null;if(n){if(e.hasProgramDateTime&&(r=dI(t,n.endProgramDateTime,this.config.maxFragLookUpTolerance),r&&this.log(`Live playlist, switching playlist, load frag with same PDT: ${n.programDateTime}`)),!r){let i=n.sn+1;if(i>=e.startSN&&i<=e.endSN){let a=t[i-e.startSN];n.cc===a.cc&&(r=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${r.sn}`))}r||(r=gI(e,n.cc,n.end),r&&this.log(`Live playlist, switching playlist, load frag with same CC: ${r.sn}`))}}else{let t=this.hls.liveSyncPosition;t!==null&&(r=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e))}return r}getFragmentAtPosition(e,t,n){let{config:r}=this,{fragPrevious:i}=this,{fragments:a,endSN:o}=n,{fragmentHint:s}=n,{maxFragLookUpTolerance:c}=r,l=n.partList,u=!!(this.loadingParts&&l!=null&&l.length&&s);u&&!this.bitrateTest&&l[l.length-1].fragment.sn===s.sn&&(a=a.concat(s),o=s.sn);let d;if(e<t){var f;let n=e<this.lastCurrentTime||e>t-c||(f=this.media)!=null&&f.paused||!this.startFragRequested?0:c;
1807d=fI(i,a,e,n)}else d=a[a.length-1];if(d){let e=d.sn-n.startSN,t=this.fragmentTracker.getState(d);if((t===AI.OK||t===AI.PARTIAL&&d.gap)&&(i=d),i&&d.sn===i.sn&&(!u||l[0].fragment.sn>d.sn||!n.live)&&d.level===i.level){let t=a[e+1];d=d.sn<o&&this.fragmentTracker.getState(t)!==AI.OK?t:null}}return d}alignPlaylists(e,t,n){let r=e.fragments.length;if(!r)return this.warn(`No fragments in live playlist`),0;let i=e.fragmentStart,a=!t,o=e.alignedSliding&&q(i);if(a||!o&&!i){CR(n,e);let i=e.fragmentStart;return this.log(`Live playlist sliding: ${i.toFixed(2)} start-sn: ${t?t.startSN:`na`}->${e.startSN} fragments: ${r}`),i}return i}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let n=this.startPosition;n<t&&(n=-1);let r=this.timelineOffset;if(n===-1){let i=this.startTimeOffset!==null,a=i?this.startTimeOffset:e.startTimeOffset;a!==null&&q(a)?(n=t+a,a<0&&(n+=e.edge),n=Math.min(Math.max(t,n),t+e.totalduration),this.log(`Setting startPosition to ${n} for start time offset ${a} found in ${i?`multivariant`:`media`} playlist`),this.startPosition=n):e.live?(n=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${n}`),this.startPosition=-1):(this.log(`setting startPosition to 0 by default`),this.startPosition=n=0),this.lastCurrentTime=n+r}this.nextLoadPosition=n+r}getLoadPosition(){var e;let{media:t}=this,n=0;return(e=this.hls)!=null&&e.hasEnoughToStart&&t?n=t.currentTime:this.nextLoadPosition>=0&&(n=this.nextLoadPosition),n}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&xP(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?` part `+t.index:``} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==X.FRAG_LOADING_WAITING_RETRY)&&(this.state=X.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let e=this.getCurrentContext(t.chunkMeta);e&&(t.frag=e.frag)}let n=t.frag;if(!n||n.type!==e||!this.levels)return;if(this.fragContextChanged(n)){this.warn(`Frag load error must match current frag to retry ${n.url} > ${this.fragCurrent?.url}`);return}let r=t.details===J.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(n,!0);let i=t.errorAction;if(!i){this.state=X.ERROR;return}let{action:a,flags:o,retryCount:s=0,retryConfig:c}=i,l=!!c,u=l&&a===EI.RetryRequest,d=l&&!i.resolved&&o===DI.MoveAllAlternatesMatchingHost,f=this.hls.latestLevelDetails?.live;if(!u&&d&&xP(n)&&!n.endList&&f&&!yI(t))this.resetFragmentErrors(e),this.treatAsGap(n),i.resolved=!0;else if((u||d)&&s<c.maxNumRetry){let r=TI(t.response?.code),a=xI(c,s);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+a,this.state=X.FRAG_LOADING_WAITING_RETRY,i.resolved=!0,r){this.log(`Waiting for connection (offline)`),this.retryDate=1/0,t.reason=`offline`;return}this.warn(`Fragment ${n.sn} of ${e} ${n.level} errored with ${t.details}, retrying loading ${s+1}/${c.maxNumRetry} in ${a}ms`)}else if(c)if(this.resetFragmentErrors(e),s<c.maxNumRetry)!r&&a!==EI.RemoveAlternatePermanently&&(i.resolved=!0);else{this.warn(`${t.details} reached or exceeded max retry (${s})`);return}else this.state=a===EI.SendAlternateToPenaltyBox?X.WAITING_LEVEL:X.ERROR;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),t=this.retryDate,n=t===1/0;(!t||e>=t||n&&!TI(0))&&(n&&this.log(`Connection restored (online)`),this.resetStartWhenNotLoaded(),this.state=X.IDLE)}reduceLengthAndFlushBuffer(e){if(this.state===X.PARSING||this.state===X.PARSED){let t=e.frag,n=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,n),i=r&&r.len>.5;i&&this.reduceMaxBufferLength(r.len,t?.duration||10);let a=!i;return a&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${n} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),a}return!1}resetFragmentErrors(e){e===UN.AUDIO&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==X.STOPPED&&(this.state=X.IDLE)}afterBufferFlushed(e,t,n){if(!e)return;let r=$I.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,r,n),this.state===X.ENDED&&this.resetLoadingState()}
vendor: 34,475 bytes, line 1807
1807resetLoadingState(){this.log(`Reset loading state`),this.fragCurrent=null,this.fragPrevious=null,this.state!==X.STOPPED&&(this.state=X.IDLE)}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.levelLastLoaded,t=e?e.details:null;t!=null&&t.live?(this.log(`resetting startPosition for live start`),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${e.level===-1?`<removed>`:e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,n,r){let i=n.details;if(!i){this.warn(`level.details undefined`);return}if(!Object.keys(e.elementaryStreams).reduce((t,a)=>{let o=e.elementaryStreams[a];if(o){let s=o.endPTS-o.startPTS;if(s<=0)return this.warn(`Could not parse fragment ${e.sn} ${a} duration reliably (${s})`),t||!1;let c=r?0:iR(i,e,o.startPTS,o.endPTS,o.startDTS,o.endDTS,this);return this.hls.trigger(Y.LEVEL_PTS_UPDATED,{details:i,level:n,drift:c,type:a,frag:e,start:o.startPTS,end:o.endPTS}),!0}return t},!1)){let t=this.transmuxer?.error===null;if((n.fragmentError===0||t&&(n.fragmentError<2||e.endList))&&this.treatAsGap(e,n),t){let t=Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(t.message),this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${n.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=X.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${t?` part: `+t.index:``} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(Y.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===UN.MAIN?`level`:`track`}fragInfo(e,t=!0,n){return`${this.playlistLabel()} ${e.level} (${n?`part`:`frag`}:[${((t&&!n?e.startPTS:(n||e).start)??NaN).toFixed(3)}-${((t&&!n?e.endPTS:(n||e).end)??NaN).toFixed(3)}]${n&&e.type===`main`?`INDEPENDENT=`+(n.independent?`YES`:`NO`):``}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset()}recoverWorkerError(e){e.event===`demuxerWorker`&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&=(this.transmuxer.destroy(),null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}};function AR(e){return!!e.interstitialsController&&e.enableInterstitialPlayback!==!1}var jR=class{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:t}=this,n;if(e.length)n=e.length===1?e[0]:MR(e,t);else return new Uint8Array;return this.reset(),n}reset(){this.chunks.length=0,this.dataLength=0}};function MR(e,t){let n=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}var NR={exports:{}},PR;function FR(){return PR?NR.exports:(PR=1,(function(e){var t=Object.prototype.hasOwnProperty,n=`~`;function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function a(e,t,r,a,o){if(typeof r!=`function`)throw TypeError(`The listener must be a function`);var s=new i(r,a||e,o),c=n?n+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function o(e,t){--e._eventsCount===0?e._events=new r:delete e._events[t]}function s(){this._events=new r,this._eventsCount=0}s.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)t.call(r,i)&&e.push(n?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e},s.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,a=r.length,o=Array(a);i<a;i++)o[i]=r[i].fn;return o},s.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},s.prototype.emit=function(e,t,r,i,a,o){var s=n?n+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,r),!0;case 4:return c.fn.call(c.context,t,r,i),!0;case 5:return c.fn.call(c.context,t,r,i,a),!0;case 6:return c.fn.call(c.context,t,r,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,r);break;case 4:c[d].fn.call(c[d].context,t,r,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},s.prototype.on=function(e,t,n){return a(this,e,t,n,!1)},s.prototype.once=function(e,t,n){return a(this,e,t,n,!0)},s.prototype.removeListener=function(e,t,r,i){var a=n?n+e:e;if(!this._events[a])return this;if(!t)return o(this,a),this;var s=this._events[a];if(s.fn)s.fn===t&&(!i||s.once)&&(!r||s.context===r)&&o(this,a);else{for(var c=0,l=[],u=s.length;c<u;c++)(s[c].fn!==t||i&&!s[c].once||r&&s[c].context!==r)&&l.push(s[c]);l.length?this._events[a]=l.length===1?l[0]:l:o(this,a)}return this},s.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&o(this,t)):(this._events=new r,this._eventsCount=0),this},s.prototype.off=s.prototype.removeListener,s.prototype.addListener=s.prototype.on,s.prefixed=n,s.EventEmitter=s,e.exports=s})(NR),NR.exports)}var IR=pP(FR()),LR=`1.6.16`,RR={};function zR(){return typeof __HLS_WORKER_BUNDLE__==`function`}function BR(){let e=RR[LR];if(e)return e.clientCount++,e;let t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:`text/javascript`}),n=self.URL.createObjectURL(t),r={worker:new self.Worker(n),objectURL:n,clientCount:1};return RR[LR]=r,r}function VR(e){let t=RR[e];if(t)return t.clientCount++,t;let n=new self.URL(e,self.location.href).href,r={worker:new self.Worker(n),scriptURL:n,clientCount:1};return RR[e]=r,r}function HR(e){let t=RR[e||LR];if(t&&t.clientCount--===1){let{worker:n,objectURL:r}=t;delete RR[e||LR],r&&self.URL.revokeObjectURL(r),n.terminate()}}function UR(e,t){return t+10<=e.length&&e[t]===51&&e[t+1]===68&&e[t+2]===73&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128}function WR(e,t){return t+10<=e.length&&e[t]===73&&e[t+1]===68&&e[t+2]===51&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128}function GR(e,t){let n=0;return n=(e[t]&127)<<21,n|=(e[t+1]&127)<<14,n|=(e[t+2]&127)<<7,n|=e[t+3]&127,n}function KR(e,t){let n=t,r=0;for(;WR(e,t);){r+=10;let n=GR(e,t+6);r+=n,UR(e,t+10)&&(r+=10),t+=r}if(r>0)return e.subarray(n,n+r)}function qR(e,t,n,r){let i=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],a=t[n+2],o=a>>2&15;if(o>12){let t=Error(`invalid ADTS sampling index:${o}`);e.emit(Y.ERROR,Y.ERROR,{type:VN.MEDIA_ERROR,details:J.FRAG_PARSING_ERROR,fatal:!0,error:t,reason:t.message});return}let s=(a>>6&3)+1,c=t[n+3]>>6&3|(a&1)<<2,l=`mp4a.40.`+s,u=i[o],d=o;(s===5||s===29)&&(d-=3);let f=[s<<3|(d&14)>>1,(d&1)<<7|c<<3];return oP.log(`manifest codec:${r}, parsed codec:${l}, channels:${c}, rate:${u} (ADTS object type:${s} sampling index:${o})`),{config:f,samplerate:u,channelCount:c,codec:l,parsedCodec:l,manifestCodec:r}}function JR(e,t){return e[t]===255&&(e[t+1]&246)==240}function YR(e,t){return e[t+1]&1?7:9}function XR(e,t){return(e[t+3]&3)<<11|e[t+4]<<3|(e[t+5]&224)>>>5}function ZR(e,t){return t+5<e.length}function QR(e,t){return t+1<e.length&&JR(e,t)}function $R(e,t){return ZR(e,t)&&JR(e,t)&&XR(e,t)<=e.length-t}function ez(e,t){if(QR(e,t)){let n=YR(e,t);if(t+n>=e.length)return!1;let r=XR(e,t);if(r<=n)return!1;let i=t+r;return i===e.length||QR(e,i)}return!1}function tz(e,t,n,r,i){if(!e.samplerate){let a=qR(t,n,r,i);if(!a)return;qN(e,a)}}function nz(e){return 9216e4/e}function rz(e,t){let n=YR(e,t);if(t+n<=e.length){let r=XR(e,t)-n;if(r>0)return{headerLength:n,frameLength:r}}}function iz(e,t,n,r,i){let a=r+i*nz(e.samplerate),o=rz(t,n),s;if(o){let{frameLength:r,headerLength:i}=o,c=i+r,l=Math.max(0,n+c-t.length);l?(s=new Uint8Array(c-i),s.set(t.subarray(n+i,t.length),0)):s=t.subarray(n+i,n+c);let u={unit:s,pts:a};return l||e.samples.push(u),{sample:u,length:c,missing:l}}let c=t.length-n;return s=new Uint8Array(c),s.set(t.subarray(n,t.length),0),{sample:{unit:s,pts:a},length:c,missing:-1}}function az(e,t){return WR(e,t)&&GR(e,t+6)+10<=e.length-t}function oz(e){return e instanceof ArrayBuffer?e:e.byteOffset==0&&e.byteLength==e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function sz(e,t=0,n=1/0){return cz(e,t,n,Uint8Array)}function cz(e,t,n,r){let i=lz(e),a=1;`BYTES_PER_ELEMENT`in r&&(a=r.BYTES_PER_ELEMENT);let o=uz(e)?e.byteOffset:0,s=(o+e.byteLength)/a,c=(o+t)/a,l=Math.floor(Math.max(0,Math.min(c,s)));return new r(i,l,Math.floor(Math.min(l+Math.max(n,0),s))-l)}function lz(e){return e instanceof ArrayBuffer?e:e.buffer}function uz(e){return e&&e.buffer instanceof ArrayBuffer&&e.byteLength!==void 0&&e.byteOffset!==void 0}function dz(e){let t={key:e.type,description:``,data:``,mimeType:null,pictureType:null};if(e.size<2)return;if(e.data[0]!==3){console.log(`Ignore frame with unrecognized character encoding`);return}let n=e.data.subarray(1).indexOf(0);if(n===-1)return;let r=uP(sz(e.data,1,n)),i=e.data[2+n],a=e.data.subarray(3+n).indexOf(0);if(a===-1)return;let o=uP(sz(e.data,3+n,a)),s;return s=r===`-->`?uP(sz(e.data,4+n+a)):oz(e.data.subarray(4+n+a)),t.mimeType=r,t.pictureType=i,t.description=o,t.data=s,t}function fz(e){if(e.size<2)return;let t=uP(e.data,!0),n=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:n.buffer}}function pz(e){if(e.size<2)return;if(e.type===`TXXX`){let t=1,n=uP(e.data.subarray(t),!0);t+=n.length+1;let r=uP(e.data.subarray(t));return{key:e.type,info:n,data:r}}let t=uP(e.data.subarray(1));return{key:e.type,info:``,data:t}}function mz(e){if(e.type===`WXXX`){if(e.size<2)return;let t=1,n=uP(e.data.subarray(t),!0);t+=n.length+1;let r=uP(e.data.subarray(t));return{key:e.type,info:n,data:r}}let t=uP(e.data);return{key:e.type,info:``,data:t}}function hz(e){return e.type===`PRIV`?fz(e):e.type[0]===`W`?mz(e):e.type===`APIC`?dz(e):pz(e)}function gz(e){let t=String.fromCharCode(e[0],e[1],e[2],e[3]),n=GR(e,4);return{type:t,size:n,data:e.subarray(10,10+n)}}var _z=10,vz=10;function yz(e){let t=0,n=[];for(;WR(e,t);){let r=GR(e,t+6);e[t+5]>>6&1&&(t+=_z),t+=_z;let i=t+r;for(;t+vz<i;){let r=gz(e.subarray(t)),i=hz(r);i&&n.push(i),t+=r.size+_z}UR(e,t)&&(t+=_z)}return n}function bz(e){return e&&e.key===`PRIV`&&e.info===`com.apple.streaming.transportStreamTimestamp`}function xz(e){if(e.data.byteLength===8){let t=new Uint8Array(e.data),n=t[3]&1,r=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return r/=45,n&&(r+=47721858.84),Math.round(r)}}function Sz(e){let t=yz(e);for(let e=0;e<t.length;e++){let n=t[e];if(bz(n))return xz(n)}}var Cz=function(e){return e.audioId3=`org.id3`,e.dateRange=`com.apple.quicktime.HLS`,e.emsg=`https://aomedia.org/emsg/ID3`,e.misbklv=`urn:misb:KLV:bin:1910.1`,e}({});function wz(e=``,t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}var Tz=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,n,r){this._id3Track={type:`id3`,id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,n){}demux(e,t){this.cachedData&&=(e=XP(this.cachedData,e),null);let n=KR(e,0),r=n?n.length:0,i,a=this._audioTrack,o=this._id3Track,s=n?Sz(n):void 0,c=e.length;for((this.basePTS===null||this.frameIndex===0&&q(s))&&(this.basePTS=Ez(s,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),n&&n.length>0&&o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:Cz.audioId3,duration:1/0});r<c;){if(this.canParse(e,r)){let t=this.appendFrame(a,e,r);t?(this.frameIndex++,this.lastPTS=t.sample.pts,r+=t.length,i=r):r=c}else az(e,r)?(n=KR(e,r),o.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:n,type:Cz.audioId3,duration:1/0}),r+=n.length,i=r):r++;if(r===c&&i!==c){let t=e.slice(i);this.cachedData=this.cachedData?XP(this.cachedData,t):t}}return{audioTrack:a,videoTrack:wz(),id3Track:o,textTrack:wz()}}demuxSampleAes(e,t,n){return Promise.reject(Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:wz(),id3Track:this._id3Track,textTrack:wz()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}},Ez=(e,t,n)=>{if(q(e))return e*90;let r=n?n.baseTime*9e4/n.timescale:0;return t*9e4+r},Dz=null,Oz=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],kz=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Az=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],jz=[0,1,1,4];function Mz(e,t,n,r,i){if(n+24>t.length)return;let a=Nz(t,n);if(a&&n+a.frameLength<=t.length){let o=r+i*(a.samplesPerFrame*9e4/a.sampleRate),s={unit:t.subarray(n,n+a.frameLength),pts:o,dts:o};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(s),{sample:s,length:a.frameLength,missing:0}}}function Nz(e,t){let n=e[t+1]>>3&3,r=e[t+1]>>1&3,i=e[t+2]>>4&15,a=e[t+2]>>2&3;if(n!==1&&i!==0&&i!==15&&a!==3){let o=e[t+2]>>1&1,s=e[t+3]>>6,c=Oz[(n===3?3-r:r===3?3:4)*14+i-1]*1e3,l=kz[(n===3?0:n===2?1:2)*3+a],u=s===3?1:2,d=Az[n][r],f=jz[r],p=d*8*f,m=Math.floor(d*c/l+o)*f;if(Dz===null){let e=(navigator.userAgent||``).match(/Chrome\/(\d+)/i);Dz=e?parseInt(e[1]):0}return Dz&&Dz<=87&&r===2&&c>=224e3&&s===0&&(e[t+3]=e[t+3]|128),{sampleRate:l,channelCount:u,frameLength:m,samplesPerFrame:p}}}function Pz(e,t){return e[t]===255&&(e[t+1]&224)==224&&!!(e[t+1]&6)}function Fz(e,t){return t+1<e.length&&Pz(e,t)}function Iz(e,t){return Pz(e,t)&&4<=e.length-t}function Lz(e,t){if(t+1<e.length&&Pz(e,t)){let n=Nz(e,t),r=4;n!=null&&n.frameLength&&(r=n.frameLength);let i=t+r;return i===e.length||Fz(e,i)}return!1}var Rz=class extends Tz{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,n,r){super.resetInitSegment(e,t,n,r),this._audioTrack={container:`audio/adts`,type:`audio`,id:2,pid:-1,sequenceNumber:0,segmentCodec:`aac`,samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e,t){if(!e)return!1;let n=KR(e,0)?.length||0;if(Lz(e,n))return!1;for(let r=e.length;n<r;n++)if(ez(e,n))return t.log(`ADTS sync word found !`),!0;return!1}canParse(e,t){return $R(e,t)}appendFrame(e,t,n){tz(e,this.observer,t,n,e.manifestCodec);let r=iz(e,t,n,this.basePTS,this.frameIndex);if(r&&r.missing===0)return r}},zz=(e,t)=>{let n=0,r=5;t+=r;let i=new Uint32Array(1),a=new Uint32Array(1),o=new Uint8Array(1);for(;r>0;){o[0]=e[t];let s=Math.min(r,8),c=8-s;a[0]=4278190080>>>24+c<<c,i[0]=(o[0]&a[0])>>c,n=n?n<<s|i[0]:i[0],t+=1,r-=s}return n},Bz=class extends Tz{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,n,r){super.resetInitSegment(e,t,n,r),this._audioTrack={container:`audio/ac-3`,type:`audio`,id:2,pid:-1,sequenceNumber:0,segmentCodec:`ac3`,samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,n){let r=Vz(e,t,n,this.basePTS,this.frameIndex);if(r!==-1)return{sample:e.samples[e.samples.length-1],length:r,missing:0}}static probe(e){if(!e)return!1;let t=KR(e,0);if(!t)return!1;let n=t.length;return e[n]===11&&e[n+1]===119&&Sz(t)!==void 0&&zz(e,n)<16}};function Vz(e,t,n,r,i){if(n+8>t.length||t[n]!==11||t[n+1]!==119)return-1;let a=t[n+4]>>6;if(a>=3)return-1;let o=[48e3,44100,32e3][a],s=t[n+4]&63,c=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][s*3+a]*2;if(n+c>t.length)return-1;let l=t[n+6]>>5,u=0;l===2?u+=2:(l&1&&l!==1&&(u+=2),l&4&&(u+=2));let d=(t[n+6]<<8|t[n+7])>>12-u&1,f=[2,1,2,3,3,4,4,5][l]+d,p=t[n+5]>>3,m=t[n+5]&7,h=new Uint8Array([a<<6|p<<1|m>>2,(m&3)<<6|l<<3|d<<2|s>>4,s<<4&224]),g=r+i*(1536/o*9e4),_=t.subarray(n,n+c);return e.config=h,e.channelCount=f,e.samplerate=o,e.samples.push({unit:_,pts:g}),c}var Hz=class extends Tz{resetInitSegment(e,t,n,r){super.resetInitSegment(e,t,n,r),this._audioTrack={container:`audio/mpeg`,type:`audio`,id:2,pid:-1,sequenceNumber:0,segmentCodec:`mp3`,samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=KR(e,0),n=t?.length||0;if(t&&e[n]===11&&e[n+1]===119&&Sz(t)!==void 0&&zz(e,n)<=16)return!1;for(let t=e.length;n<t;n++)if(Lz(e,n))return oP.log(`MPEG Audio sync word found !`),!0;return!1}canParse(e,t){return Iz(e,t)}appendFrame(e,t,n){if(this.basePTS!==null)return Mz(e,t,n,this.basePTS,this.frameIndex)}},Uz=/\/emsg[-/]ID3/i,Wz=class{constructor(e,t){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.config=t}resetTimeStamp(){}resetInitSegment(e,t,n,r){let i=this.videoTrack=wz(`video`,1),a=this.audioTrack=wz(`audio`,1),o=this.txtTrack=wz(`text`,1);if(this.id3Track=wz(`id3`,1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let s=LP(e);if(s.video){let{id:e,timescale:t,codec:n,supplemental:r}=s.video;i.id=e,i.timescale=o.timescale=t,i.codec=n,i.supplemental=r}if(s.audio){let{id:e,timescale:t,codec:n}=s.audio;a.id=e,a.timescale=t,a.codec=n}o.id=OP.text,i.sampleDuration=0,i.duration=a.duration=r}resetContiguity(){this.remainderData=null}static probe(e){return PP(e)}demux(e,t){this.timeOffset=t;let n=e,r=this.videoTrack,i=this.txtTrack;if(this.config.progressive){this.remainderData&&(n=XP(this.remainderData,e));let t=YP(n);this.remainderData=t.remainder,r.samples=t.valid||new Uint8Array}else r.samples=n;let a=this.extractID3Track(r,t);return i.samples=ZP(t,r),{videoTrack:r,audioTrack:this.audioTrack,id3Track:a,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,n=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let r=this.extractID3Track(t,this.timeOffset);return n.samples=ZP(e,t),{videoTrack:t,audioTrack:wz(),id3Track:r,textTrack:wz()}}extractID3Track(e,t){let n=this.id3Track;if(e.samples.length){let r=FP(e.samples,[`emsg`]);r&&r.forEach(e=>{let r=nF(e);if(Uz.test(r.schemeIdUri)){let e=Gz(r,t),i=r.eventDuration===4294967295?1/0:r.eventDuration/r.timeScale;i<=.001&&(i=1/0);let a=r.payload;n.samples.push({data:a,len:a.byteLength,dts:e,pts:e,type:Cz.emsg,duration:i})}else if(this.config.enableEmsgKLVMetadata&&r.schemeIdUri.startsWith(`urn:misb:KLV:bin:1910.1`)){let e=Gz(r,t);n.samples.push({data:r.payload,len:r.payload.byteLength,dts:e,pts:e,type:Cz.misbklv,duration:1/0})}})}return n}demuxSampleAes(e,t,n){return Promise.reject(Error(`The MP4 demuxer does not support SAMPLE-AES decryption`))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}};function Gz(e,t){return q(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale}var Kz=class{constructor(e,t,n){this.keyData=void 0,this.decrypter=void 0,this.keyData=n,this.decrypter=new HI(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,FI.cbc)}decryptAacSample(e,t,n){let r=e[t].unit;if(r.length<=16)return;let i=r.subarray(16,r.length-r.length%16),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.length);this.decryptBuffer(a).then(i=>{let a=new Uint8Array(i);r.set(a,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,n)}).catch(n)}decryptAacSamples(e,t,n){for(;;t++){if(t>=e.length){n();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,n),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,n=new Int8Array(t),r=0;for(let t=32;t<e.length-16;t+=160,r+=16)n.set(e.subarray(t,t+16),r);return n}getAvcDecryptedUnit(e,t){let n=new Uint8Array(t),r=0;for(let t=32;t<e.length-16;t+=160,r+=16)e.set(n.subarray(r,r+16),t);return e}decryptAvcSample(e,t,n,r,i){let a=tF(i.data),o=this.getAvcEncryptedData(a);this.decryptBuffer(o.buffer).then(o=>{i.data=this.getAvcDecryptedUnit(a,o),this.decrypter.isSync()||this.decryptAvcSamples(e,t,n+1,r)}).catch(r)}decryptAvcSamples(e,t,n,r){if(e instanceof Uint8Array)throw Error(`Cannot decrypt samples of type Uint8Array`);for(;;t++,n=0){if(t>=e.length){r();return}let i=e[t].units;for(;!(n>=i.length);n++){let a=i[n];if(!(a.data.length<=48||a.type!==1&&a.type!==5)&&(this.decryptAvcSample(e,t,n,r,a),!this.decrypter.isSync()))return}}}},qz=class{constructor(){this.VideoSample=null}createVideoSample(e,t,n){return{key:e,frame:!1,pts:t,dts:n,units:[],length:0}}getLastNalUnit(e){var t;let n=this.VideoSample,r;if((!n||n.units.length===0)&&(n=e[e.length-1]),(t=n)!=null&&t.units){let e=n.units;r=e[e.length-1]}return r}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let n=t.samples,r=n.length;if(r){let t=n[r-1];e.pts=t.pts,e.dts=t.dts}else{t.dropped++;return}}t.samples.push(e)}}parseNALu(e,t,n){let r=t.byteLength,i=e.naluState||0,a=i,o=[],s=0,c,l,u,d=-1,f=0;for(i===-1&&(d=0,f=this.getNALuType(t,0),i=0,s=1);s<r;){if(c=t[s++],!i){i=+!c;continue}if(i===1){i=c?0:2;continue}if(!c)i=3;else if(c===1){if(l=s-i-1,d>=0){let e={data:t.subarray(d,l),type:f};o.push(e)}else{let n=this.getLastNalUnit(e.samples);n&&(a&&s<=4-a&&n.state&&(n.data=n.data.subarray(0,n.data.byteLength-a)),l>0&&(n.data=XP(n.data,t.subarray(0,l)),n.state=0))}s<r?(u=this.getNALuType(t,s),d=s,f=u,i=0):i=-1}else i=0}if(d>=0&&i>=0){let e={data:t.subarray(d,r),type:f,state:i};o.push(e)}if(o.length===0){let n=this.getLastNalUnit(e.samples);n&&(n.data=XP(n.data,t))}return e.naluState=i,o}},Jz=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,t=this.bytesAvailable,n=e.byteLength-t,r=new Uint8Array(4),i=Math.min(4,t);if(i===0)throw Error(`no bytes available`);r.set(e.subarray(n,n+i)),this.word=new DataView(r.buffer).getUint32(0),this.bitsAvailable=i*8,this.bytesAvailable-=i}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e),n=this.word>>>32-t;if(e>32&&oP.error(`Cannot read more than 32 bits at a time`),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw Error(`no bits available`);return t=e-t,t>0&&this.bitsAvailable?n<<t|this.readBits(t):n}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}},Yz=class extends qz{parsePES(e,t,n,r){let i=this.parseNALu(e,n.data,r),a=this.VideoSample,o,s=!1;n.data=null,a&&i.length&&!e.audFound&&(this.pushAccessUnit(a,e),a=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),i.forEach(r=>{var i,c;switch(r.type){case 1:{let t=!1;o=!0;let i=r.data;if(s&&i.length>4){let e=this.readSliceType(i);(e===2||e===4||e===7||e===9)&&(t=!0)}if(t){var l;(l=a)!=null&&l.frame&&!a.key&&(this.pushAccessUnit(a,e),a=this.VideoSample=null)}a||=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts),a.frame=!0,a.key=t;break}case 5:o=!0,(i=a)!=null&&i.frame&&!a.key&&(this.pushAccessUnit(a,e),a=this.VideoSample=null),a||=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts),a.key=!0,a.frame=!0;break;case 6:o=!0,eF(r.data,1,n.pts,t.samples);break;case 7:{o=!0,s=!0;let t=r.data,n=this.readSPS(t);if(!e.sps||e.width!==n.width||e.height!==n.height||e.pixelRatio?.[0]!==n.pixelRatio[0]||e.pixelRatio?.[1]!==n.pixelRatio[1]){e.width=n.width,e.height=n.height,e.pixelRatio=n.pixelRatio,e.sps=[t];let r=t.subarray(1,4),i=`avc1.`;for(let e=0;e<3;e++){let t=r[e].toString(16);t.length<2&&(t=`0`+t),i+=t}e.codec=i}break}case 8:o=!0,e.pps=[r.data];break;case 9:o=!0,e.audFound=!0,(c=a)!=null&&c.frame&&(this.pushAccessUnit(a,e),a=null),a||=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts);break;case 12:o=!0;break;default:o=!1}a&&o&&a.units.push(r)}),r&&a&&(this.pushAccessUnit(a,e),this.VideoSample=null)}getNALuType(e,t){return e[t]&31}readSliceType(e){let t=new Jz(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let n=8,r=8,i;for(let a=0;a<e;a++)r!==0&&(i=t.readEG(),r=(n+i+256)%256),n=r===0?n:r}readSPS(e){let t=new Jz(e),n=0,r=0,i=0,a=0,o,s,c,l=t.readUByte.bind(t),u=t.readBits.bind(t),d=t.readUEG.bind(t),f=t.readBoolean.bind(t),p=t.skipBits.bind(t),m=t.skipEG.bind(t),h=t.skipUEG.bind(t),g=this.skipScalingList.bind(this);l();let _=l();if(u(5),p(3),l(),h(),_===100||_===110||_===122||_===244||_===44||_===83||_===86||_===118||_===128){let e=d();if(e===3&&p(1),h(),h(),p(1),f())for(s=e===3?12:8,c=0;c<s;c++)f()&&g(c<6?16:64,t)}h();let v=d();if(v===0)d();else if(v===1)for(p(1),m(),m(),o=d(),c=0;c<o;c++)m();h(),p(1);let y=d(),b=d(),x=u(1);x===0&&p(1),p(1),f()&&(n=d(),r=d(),i=d(),a=d());let S=[1,1];if(f()&&f())switch(l()){case 1:S=[1,1];break;case 2:S=[12,11];break;case 3:S=[10,11];break;case 4:S=[16,11];break;case 5:S=[40,33];break;case 6:S=[24,11];break;case 7:S=[20,11];break;case 8:S=[32,11];break;case 9:S=[80,33];break;case 10:S=[18,11];break;case 11:S=[15,11];break;case 12:S=[64,33];break;case 13:S=[160,99];break;case 14:S=[4,3];break;case 15:S=[3,2];break;case 16:S=[2,1];break;case 255:S=[l()<<8|l(),l()<<8|l()]}return{width:Math.ceil((y+1)*16-n*2-r*2),height:(2-x)*(b+1)*16-(x?2:4)*(i+a),pixelRatio:S}}},Xz=class extends qz{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,n,r){let i=this.parseNALu(e,n.data,r),a=this.VideoSample,o,s=!1;n.data=null,a&&i.length&&!e.audFound&&(this.pushAccessUnit(a,e),a=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts)),i.forEach(r=>{var i,c;switch(r.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:a||=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts),a.frame=!0,o=!0;break;case 16:case 17:case 18:case 21:if(o=!0,s){var l;(l=a)!=null&&l.frame&&!a.key&&(this.pushAccessUnit(a,e),a=this.VideoSample=null)}a||=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts),a.key=!0,a.frame=!0;break;case 19:case 20:o=!0,(i=a)!=null&&i.frame&&!a.key&&(this.pushAccessUnit(a,e),a=this.VideoSample=null),a||=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts),a.key=!0,a.frame=!0;break;case 39:o=!0,eF(r.data,2,n.pts,t.samples);break;case 32:o=!0,e.vps||(typeof e.params!=`object`&&(e.params={}),e.params=qN(e.params,this.readVPS(r.data)),this.initVPS=r.data),e.vps=[r.data];break;case 33:if(o=!0,s=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],r.data)&&(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){let t=this.readSPS(r.data);e.width=t.width,e.height=t.height,e.pixelRatio=t.pixelRatio,e.codec=t.codecString,e.sps=[],typeof e.params!=`object`&&(e.params={});for(let n in t.params)e.params[n]=t.params[n]}this.pushParameterSet(e.sps,r.data,e.vps),a||=this.VideoSample=this.createVideoSample(!0,n.pts,n.dts),a.key=!0;break;case 34:if(o=!0,typeof e.params==`object`){if(!e.pps){e.pps=[];let t=this.readPPS(r.data);for(let n in t)e.params[n]=t[n]}this.pushParameterSet(e.pps,r.data,e.vps)}break;case 35:o=!0,e.audFound=!0,(c=a)!=null&&c.frame&&(this.pushAccessUnit(a,e),a=null),a||=this.VideoSample=this.createVideoSample(!1,n.pts,n.dts);break;default:o=!1}a&&o&&a.units.push(r)}),r&&a&&(this.pushAccessUnit(a,e),this.VideoSample=null)}pushParameterSet(e,t,n){(n&&n[0]===this.initVPS||!n&&!e.length)&&e.push(t)}getNALuType(e,t){return(e[t]&126)>>>1}ebsp2rbsp(e){let t=new Uint8Array(e.byteLength),n=0;for(let r=0;r<e.byteLength;r++)r>=2&&e[r]===3&&e[r-1]===0&&e[r-2]===0||(t[n]=e[r],n++);return new Uint8Array(t.buffer,0,n)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&=null}readVPS(e){let t=new Jz(e);t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6);let n=t.readBits(3),r=t.readBoolean();return{numTemporalLayers:n+1,temporalIdNested:r}}readSPS(e){let t=new Jz(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);let n=t.readBits(3);t.readBoolean();let r=t.readBits(2),i=t.readBoolean(),a=t.readBits(5),o=t.readUByte(),s=t.readUByte(),c=t.readUByte(),l=t.readUByte(),u=t.readUByte(),d=t.readUByte(),f=t.readUByte(),p=t.readUByte(),m=t.readUByte(),h=t.readUByte(),g=t.readUByte(),_=[],v=[];for(let e=0;e<n;e++)_.push(t.readBoolean()),v.push(t.readBoolean());if(n>0)for(let e=n;e<8;e++)t.readBits(2);for(let e=0;e<n;e++)_[e]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),v[e]&&t.readUByte();t.readUEG();let y=t.readUEG();y==3&&t.skipBits(1);let b=t.readUEG(),x=t.readUEG(),S=t.readBoolean(),ee=0,te=0,ne=0,re=0;S&&(ee+=t.readUEG(),te+=t.readUEG(),ne+=t.readUEG(),re+=t.readUEG());let ie=t.readUEG(),C=t.readUEG(),ae=t.readUEG(),w=t.readBoolean();for(let e=w?0:n;e<=n;e++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let e=0;e<4;e++)for(let n=0;n<(e===3?2:6);n++)if(!t.readBoolean())t.readUEG();else{let n=Math.min(64,1<<4+(e<<1));e>1&&t.readEG();for(let e=0;e<n;e++)t.readEG()}t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());let oe=t.readUEG(),T=0;for(let e=0;e<oe;e++){let n=!1;if(e!==0&&(n=t.readBoolean()),n){e===oe&&t.readUEG(),t.readBoolean(),t.readUEG();let n=0;for(let e=0;e<=T;e++){let e=t.readBoolean(),r=!1;e||(r=t.readBoolean()),(e||r)&&n++}T=n}else{let e=t.readUEG(),n=t.readUEG();T=e+n;for(let n=0;n<e;n++)t.readUEG(),t.readBoolean();for(let e=0;e<n;e++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){let e=t.readUEG();for(let n=0;n<e;n++){for(let e=0;e<ae+4;e++)t.readBits(1);t.readBits(1)}}let se=0,ce=1,le=1,ue=!0,de=1,fe=0;t.readBoolean(),t.readBoolean();let pe=!1;if(t.readBoolean()){if(t.readBoolean()){let e=t.readUByte();e>0&&e<16?(ce=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][e-1],le=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][e-1]):e===255&&(ce=t.readBits(16),le=t.readBits(16))}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),pe=t.readBoolean(),pe&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(de=t.readBits(32),fe=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){let e=t.readBoolean(),r=t.readBoolean(),i=!1;(e||r)&&(i=t.readBoolean(),i&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),i&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let a=0;a<=n;a++){ue=t.readBoolean();let n=ue||t.readBoolean(),a=!1;n?t.readEG():a=t.readBoolean();let o=a?1:t.readUEG()+1;if(e)for(let e=0;e<o;e++)t.readUEG(),t.readUEG(),i&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(r)for(let e=0;e<o;e++)t.readUEG(),t.readUEG(),i&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),se=t.readUEG())}let me=b,he=x;if(S){let e=1,t=1;y===1?e=t=2:y==2&&(e=2),me=b-e*te-e*ee,he=x-t*re-t*ne}let ge=r?[`A`,`B`,`C`][r]:``,_e=o<<24|s<<16|c<<8|l,ve=0;for(let e=0;e<32;e++)ve=(ve|(_e>>e&1)<<31-e)>>>0;let ye=ve.toString(16);return a===1&&ye===`2`&&(ye=`6`),{codecString:`hvc1.${ge}${a}.${ye}.${i?`H`:`L`}${g}.B0`,params:{general_tier_flag:i,general_profile_idc:a,general_profile_space:r,general_profile_compatibility_flags:[o,s,c,l],general_constraint_indicator_flags:[u,d,f,p,m,h],general_level_idc:g,bit_depth:ie+8,bit_depth_luma_minus8:ie,bit_depth_chroma_minus8:C,min_spatial_segmentation_idc:se,chroma_format_idc:y,frame_rate:{fixed:ue,fps:fe/de}},width:me,height:he,pixelRatio:[ce,le]}}readPPS(e){let t=new Jz(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);let n=t.readBoolean(),r=t.readBoolean(),i=1;return r&&n?i=0:r?i=3:n&&(i=2),{parallelismType:i}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}},Zz=188,Qz=class e{constructor(e,t,n,r){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupp
1807orted=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=n,this.logger=r,this.videoParser=null}static probe(t,n){let r=e.syncOffset(t);return r>0&&n.warn(`MPEG2-TS detected but first sync word found @ offset ${r}`),r!==-1}static syncOffset(e){let t=e.length,n=Math.min(940,t-Zz)+1,r=0;for(;r<n;){let i=!1,a=-1,o=0;for(let s=r;s<t;s+=Zz)if(e[s]===71&&(t-s===Zz||e[s+Zz]===71)){if(o++,a===-1&&(a=s,a!==0&&(n=Math.min(a+18612,e.length-Zz)+1)),i||=$z(e,s)===0,i&&o>1&&(a===0&&o>2||s+Zz>n))return a}else if(o)return-1;else break;r++}return-1}static createTrack(e,t){return{container:e===`video`||e===`audio`?`video/mp2t`:void 0,type:e,id:OP[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e===`audio`?t:void 0}}resetInitSegment(t,n,r,i){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=e.createTrack(`video`),this._videoTrack.duration=i,this._audioTrack=e.createTrack(`audio`,i),this._id3Track=e.createTrack(`id3`),this._txtTrack=e.createTrack(`text`),this._audioTrack.segmentCodec=`aac`,this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=n,this.videoCodec=r}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:n}=this;e&&(e.pesData=null),t&&(t.pesData=null),n&&(n.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(t,n,r=!1,i=!1){r||(this.sampleAes=null);let a,o=this._videoTrack,s=this._audioTrack,c=this._id3Track,l=this._txtTrack,u=o.pid,d=o.pesData,f=s.pid,p=c.pid,m=s.pesData,h=c.pesData,g=null,_=this.pmtParsed,v=this._pmtId,y=t.length;if(this.remainderData&&=(t=XP(this.remainderData,t),y=t.length,null),y<Zz&&!i)return this.remainderData=t,{audioTrack:s,videoTrack:o,id3Track:c,textTrack:l};let b=Math.max(0,e.syncOffset(t));y-=(y-b)%Zz,y<t.byteLength&&!i&&(this.remainderData=new Uint8Array(t.buffer,y,t.buffer.byteLength-y));let x=0;for(let e=b;e<y;e+=Zz)if(t[e]===71){let n=!!(t[e+1]&64),i=$z(t,e),y=(t[e+3]&48)>>4,x;if(y>1){if(x=e+5+t[e+4],x===e+Zz)continue}else x=e+4;switch(i){case u:n&&(d&&(a=iB(d,this.logger))&&(this.readyVideoParser(o.segmentCodec),this.videoParser!==null&&this.videoParser.parsePES(o,l,a,!1)),d={data:[],size:0}),d&&(d.data.push(t.subarray(x,e+Zz)),d.size+=e+Zz-x);break;case f:if(n){if(m&&(a=iB(m,this.logger)))switch(s.segmentCodec){case`aac`:this.parseAACPES(s,a);break;case`mp3`:this.parseMPEGPES(s,a);break;case`ac3`:this.parseAC3PES(s,a)}m={data:[],size:0}}m&&(m.data.push(t.subarray(x,e+Zz)),m.size+=e+Zz-x);break;case p:n&&(h&&(a=iB(h,this.logger))&&this.parseID3PES(c,a),h={data:[],size:0}),h&&(h.data.push(t.subarray(x,e+Zz)),h.size+=e+Zz-x);break;case 0:n&&(x+=t[x]+1),v=this._pmtId=eB(t,x);break;case v:{n&&(x+=t[x]+1);let i=tB(t,x,this.typeSupported,r,this.observer,this.logger);u=i.videoPid,u>0&&(o.pid=u,o.segmentCodec=i.segmentVideoCodec),f=i.audioPid,f>0&&(s.pid=f,s.segmentCodec=i.segmentAudioCodec),p=i.id3Pid,p>0&&(c.pid=p),g!==null&&!_&&(this.logger.warn(`MPEG-TS PMT found at ${e} after unknown PID '${g}'. Backtracking to sync byte @${b} to parse all TS packets.`),g=null,e=b-188),_=this.pmtParsed=!0;break}case 17:case 8191:break;default:g=i}}else x++;x>0&&nB(this.observer,Error(`Found ${x} TS packet/s that do not start with 0x47`),void 0,this.logger),o.pesData=d,s.pesData=m,c.pesData=h;let S={audioTrack:s,videoTrack:o,id3Track:c,textTrack:l};return i&&this.extractRemainingSamples(S),S}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return t=e?this.demux(e,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){let{audioTrack:t,videoTrack:n,id3Track:r,textTrack:i}=e,a=n.pesData,o=t.pesData,s=r.pesData,c;if(a&&(c=iB(a,this.logger))?(this.readyVideoParser(n.segmentCodec),this.videoParser!==null&&(this.videoParser.parsePES(n,i,c,!0),n.pesData=null)):n.pesData=a,o&&(c=iB(o,this.logger))){switch(t.segmentCodec){case`aac`:this.parseAACPES(t,c);break;case`mp3`:this.parseMPEGPES(t,c);break;case`ac3`:this.parseAC3PES(t,c)}t.pesData=null}else o!=null&&o.size&&this.logger.log(`last AAC PES packet truncated,might overlap between fragments`),t.pesData=o;s&&(c=iB(s,this.logger))?(this.parseID3PES(r,c),r.pesData=null):r.pesData=s}
vendor: 15,001 bytes, line 1807
1807demuxSampleAes(e,t,n){let r=this.demux(e,n,!0,!this.config.progressive),i=this.sampleAes=new Kz(this.observer,this.config,t);return this.decrypt(r,i)}readyVideoParser(e){this.videoParser===null&&(e===`avc`?this.videoParser=new Yz:e===`hevc`&&(this.videoParser=new Xz))}decrypt(e,t){return new Promise(n=>{let{audioTrack:r,videoTrack:i}=e;r.samples&&r.segmentCodec===`aac`?t.decryptAacSamples(r.samples,0,()=>{i.samples?t.decryptAvcSamples(i.samples,0,0,()=>{n(e)}):n(e)}):i.samples&&t.decryptAvcSamples(i.samples,0,0,()=>{n(e)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let n=0,r=this.aacOverFlow,i=t.data;if(r){this.aacOverFlow=null;let t=r.missing,a=r.sample.unit.byteLength;if(t===-1)i=XP(r.sample.unit,i);else{let o=a-t;r.sample.unit.set(i.subarray(0,t),o),e.samples.push(r.sample),n=r.missing}}let a,o;for(a=n,o=i.length;a<o-1&&!QR(i,a);a++);if(a!==n){let e,t=a<o-1;if(e=t?`AAC PES did not start with ADTS header,offset:${a}`:`No ADTS header found in AAC PES`,nB(this.observer,Error(e),t,this.logger),!t)return}tz(e,this.observer,i,a,this.audioCodec);let s;if(t.pts!==void 0)s=t.pts;else if(r){let t=nz(e.samplerate);s=r.sample.pts+t}else{this.logger.warn(`[tsdemuxer]: AAC PES unknown PTS`);return}let c=0,l;for(;a<o;){if(l=iz(e,i,a,s,c),a+=l.length,l.missing){this.aacOverFlow=l;break}for(c++;a<o-1&&!QR(i,a);a++);}}parseMPEGPES(e,t){let n=t.data,r=n.length,i=0,a=0,o=t.pts;if(o===void 0){this.logger.warn(`[tsdemuxer]: MPEG PES unknown PTS`);return}for(;a<r;)if(Fz(n,a)){let t=Mz(e,n,a,o,i);if(t)a+=t.length,i++;else break}else a++}parseAC3PES(e,t){{let n=t.data,r=t.pts;if(r===void 0){this.logger.warn(`[tsdemuxer]: AC3 PES unknown PTS`);return}let i=n.length,a=0,o=0,s;for(;o<i&&(s=Vz(e,n,o,r,a++))>0;)o+=s}}parseID3PES(e,t){if(t.pts===void 0){this.logger.warn(`[tsdemuxer]: ID3 PES unknown PTS`);return}let n=qN({},t,{type:this._videoTrack?Cz.emsg:Cz.audioId3,duration:1/0});e.samples.push(n)}};function $z(e,t){return((e[t+1]&31)<<8)+e[t+2]}function eB(e,t){return(e[t+10]&31)<<8|e[t+11]}function tB(e,t,n,r,i,a){let o={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:`avc`,segmentAudioCodec:`aac`},s=(e[t+1]&15)<<8|e[t+2],c=t+3+s-4,l=(e[t+10]&15)<<8|e[t+11];for(t+=12+l;t<c;){let s=$z(e,t),c=(e[t+3]&15)<<8|e[t+4];switch(e[t]){case 207:if(!r){rB(`ADTS AAC`,a);break}case 15:o.audioPid===-1&&(o.audioPid=s);break;case 21:o.id3Pid===-1&&(o.id3Pid=s);break;case 219:if(!r){rB(`H.264`,a);break}case 27:o.videoPid===-1&&(o.videoPid=s);break;case 3:case 4:!n.mpeg&&!n.mp3?a.log(`MPEG audio found, not supported in this browser`):o.audioPid===-1&&(o.audioPid=s,o.segmentAudioCodec=`mp3`);break;case 193:if(!r){rB(`AC-3`,a);break}case 129:n.ac3?o.audioPid===-1&&(o.audioPid=s,o.segmentAudioCodec=`ac3`):a.log(`AC-3 audio found, not supported in this browser`);break;case 6:if(o.audioPid===-1&&c>0){let r=t+5,i=c;for(;i>2;){e[r]===106&&(n.ac3===!0?(o.audioPid=s,o.segmentAudioCodec=`ac3`):a.log(`AC-3 audio found, not supported in this browser for now`));let t=e[r+1]+2;r+=t,i-=t}}break;case 194:case 135:return nB(i,Error(`Unsupported EC-3 in M2TS found`),void 0,a),o;case 36:o.videoPid===-1&&(o.videoPid=s,o.segmentVideoCodec=`hevc`,a.log(`HEVC in M2TS found`))}t+=c+5}return o}function nB(e,t,n,r){r.warn(`parsing error: ${t.message}`),e.emit(Y.ERROR,Y.ERROR,{type:VN.MEDIA_ERROR,details:J.FRAG_PARSING_ERROR,fatal:!1,levelRetry:n,error:t,reason:t.message})}function rB(e,t){t.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function iB(e,t){let n=0,r,i,a,o,s,c=e.data;if(!e||e.size===0)return null;for(;c[0].length<19&&c.length>1;)c[0]=XP(c[0],c[1]),c.splice(1,1);if(r=c[0],(r[0]<<16)+(r[1]<<8)+r[2]===1){if(i=(r[4]<<8)+r[5],i&&i>e.size-6)return null;let l=r[7];l&192&&(o=(r[9]&14)*536870912+(r[10]&255)*4194304+(r[11]&254)*16384+(r[12]&255)*128+(r[13]&254)/2,l&64?(s=(r[14]&14)*536870912+(r[15]&255)*4194304+(r[16]&254)*16384+(r[17]&255)*128+(r[18]&254)/2,o-s>54e5&&(t.warn(`${Math.round((o-s)/9e4)}s delta between PTS and DTS, align them`),o=s)):s=o),a=r[8];let u=a+9;if(e.size<=u)return null;e.size-=u;let d=new Uint8Array(e.size);for(let e=0,t=c.length;e<t;e++){r=c[e];let t=r.byteLength;if(u)if(u>t){u-=t;continue}else r=r.subarray(u),t-=u,u=0;d.set(r,n),n+=t}return i&&(i-=a+3),{data:d,pts:o,dts:s,len:i}}return null}var aB=class{static getSilentFrame(e,t){switch(e){case`mp4a.40.2`:if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2||t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}},oB=2**32-1,sB=class e{static init(){e.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let t;for(t in e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);let n=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);e.HDLR_TYPES={video:n,audio:r};let i=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),a=new Uint8Array([0,0,0,0,0,0,0,0]);e.STTS=e.STSC=e.STCO=a,e.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),e.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),e.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),e.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let o=new Uint8Array([105,115,111,109]),s=new Uint8Array([97,118,99,49]),c=new Uint8Array([0,0,0,1]);e.FTYP=e.box(e.types.ftyp,o,c,o,s),e.DINF=e.box(e.types.dinf,e.box(e.types.dref,i))}static box(e,...t){let n=8,r=t.length,i=r;for(;r--;)n+=t[r].byteLength;let a=new Uint8Array(n);for(a[0]=n>>24&255,a[1]=n>>16&255,a[2]=n>>8&255,a[3]=n&255,a.set(e,4),r=0,n=8;r<i;r++)a.set(t[r],n),n+=t[r].byteLength;return a}static hdlr(t){return e.box(e.types.hdlr,e.HDLR_TYPES[t])}static mdat(t){return e.box(e.types.mdat,t)}static mdhd(t,n){n*=t;let r=Math.floor(n/(oB+1)),i=Math.floor(n%(oB+1));return e.box(e.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,r>>24,r>>16&255,r>>8&255,r&255,i>>24,i>>16&255,i>>8&255,i&255,85,196,0,0]))}static mdia(t){return e.box(e.types.mdia,e.mdhd(t.timescale||0,t.duration||0),e.hdlr(t.type),e.minf(t))}static mfhd(t){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255]))}static minf(t){return t.type===`audio`?e.box(e.types.minf,e.box(e.types.smhd,e.SMHD),e.DINF,e.stbl(t)):e.box(e.types.minf,e.box(e.types.vmhd,e.VMHD),e.DINF,e.stbl(t))}static moof(t,n,r){return e.box(e.types.moof,e.mfhd(t),e.traf(r,n))}static moov(t){let n=t.length,r=[];for(;n--;)r[n]=e.trak(t[n]);return e.box.apply(null,[e.types.moov,e.mvhd(t[0].timescale||0,t[0].duration||0)].concat(r,e.mvex(t)))}static mvex(t){let n=t.length,r=[];for(;n--;)r[n]=e.trex(t[n]);return e.box.apply(null,[e.types.mvex,...r])}static mvhd(t,n){n*=t;let r=Math.floor(n/(oB+1)),i=Math.floor(n%(oB+1)),a=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,r>>24,r>>16&255,r>>8&255,r&255,i>>24,i>>16&255,i>>8&255,i&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return e.box(e.types.mvhd,a)}static sdtp(t){let n=t.samples||[],r=new Uint8Array(4+n.length),i,a;for(i=0;i<n.length;i++)a=n[i].flags,r[i+4]=a.dependsOn<<4|a.isDependedOn<<2|a.hasRedundancy;return e.box(e.types.sdtp,r)}static stbl(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.STTS),e.box(e.types.stsc,e.STSC),e.box(e.types.stsz,e.STSZ),e.box(e.types.stco,e.STCO))}static avc1(t){let n=[],r=[],i,a,o;for(i=0;i<t.sps.length;i++)a=t.sps[i],o=a.byteLength,n.push(o>>>8&255),n.push(o&255),n=n.concat(Array.prototype.slice.call(a));for(i=0;i<t.pps.length;i++)a=t.pps[i],o=a.byteLength,r.push(o>>>8&255),r.push(o&255),r=r.concat(Array.prototype.slice.call(a));let s=e.box(e.types.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|t.sps.length].concat(n,[t.pps.length],r))),c=t.width,l=t.height,u=t.pixelRatio[0],d=t.pixelRatio[1];return e.box(e.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,c>>8&255,c&255,l>>8&255,l&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),s,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([u>>24,u>>16&255,u>>8&255,u&255,d>>24,d>>16&255,d>>8&255,d&255])))}static esds(e){let t=e.config;return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...t,6,1,2])}static audioStsd(e){let t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,t&255,0,0])}static mp4a(t){return e.box(e.types.mp4a,e.audioStsd(t),e.box(e.types.esds,e.esds(t)))}static mp3(t){return e.box(e.types[`.mp3`],e.audioStsd(t))}static ac3(t){return e.box(e.types[`ac-3`],e.audioStsd(t),e.box(e.types.dac3,t.config))}static stsd(t){let{segmentCodec:n}=t;if(t.type===`audio`){if(n===`aac`)return e.box(e.types.stsd,e.STSD,e.mp4a(t));if(n===`ac3`&&t.config)return e.box(e.types.stsd,e.STSD,e.ac3(t));if(n===`mp3`&&t.codec===`mp3`)return e.box(e.types.stsd,e.STSD,e.mp3(t))}else if(t.pps&&t.sps){if(n===`avc`)return e.box(e.types.stsd,e.STSD,e.avc1(t));if(n===`hevc`&&t.vps)return e.box(e.types.stsd,e.STSD,e.hvc1(t))}else throw Error(`video track missing pps or sps`);throw Error(`unsupported ${t.type} segment codec (${n}/${t.codec})`)}static tkhd(t){let n=t.id,r=(t.duration||0)*(t.timescale||0),i=t.width||0,a=t.height||0,o=Math.floor(r/(oB+1)),s=Math.floor(r%(oB+1));return e.box(e.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,n&255,0,0,0,0,o>>24,o>>16&255,o>>8&255,o&255,s>>24,s>>16&255,s>>8&255,s&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,i&255,0,0,a>>8&255,a&255,0,0]))}static traf(t,n){let r=e.sdtp(t),i=t.id,a=Math.floor(n/(oB+1)),o=Math.floor(n%(oB+1));return e.box(e.types.traf,e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255])),e.box(e.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,o>>24,o>>16&255,o>>8&255,o&255])),e.trun(t,r.length+16+20+8+16+8+8),r)}static trak(t){return t.duration=t.duration||4294967295,e.box(e.types.trak,e.tkhd(t),e.mdia(t))}static trex(t){let n=t.id;return e.box(e.types.trex,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(t,n){let r=t.samples||[],i=r.length,a=12+16*i,o=new Uint8Array(a),s,c,l,u,d,f;for(n+=8+a,o.set([+(t.type===`video`),0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,i&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255],0),s=0;s<i;s++)c=r[s],l=c.duration,u=c.size,d=c.flags,f=c.cts,o.set([l>>>24&255,l>>>16&255,l>>>8&255,l&255,u>>>24&255,u>>>16&255,u>>>8&255,u&255,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.paddingValue<<1|d.isNonSync,d.degradPrio&61440,d.degradPrio&15,f>>>24&255,f>>>16&255,f>>>8&255,f&255],12+16*s);return e.box(e.types.trun,o)}static initSegment(t){e.types||e.init();let n=e.moov(t);return XP(e.FTYP,n)}static hvc1(t){let n=t.params,r=[t.vps,t.sps,t.pps],i=new Uint8Array([1,n.general_profile_space<<6|(n.general_tier_flag?32:0)|n.general_profile_idc,n.general_profile_compatibility_flags[0],n.general_profile_compatibility_flags[1],n.general_profile_compatibility_flags[2],n.general_profile_compatibility_flags[3],n.general_constraint_indicator_flags[0],n.general_constraint_indicator_flags[1],n.general_constraint_indicator_flags[2],n.general_constraint_indicator_flags[3],n.general_constraint_indicator_flags[4],n.general_constraint_indicator_flags[5],n.general_level_idc,240|n.min_spatial_segmentation_idc>>8,255&n.min_spatial_segmentation_idc,252|n.parallelismType,252|n.chroma_format_idc,248|n.bit_depth_luma_minus8,248|n.bit_depth_chroma_minus8,0,parseInt(n.frame_rate.fps),3|n.temporal_id_nested<<2|n.num_temporal_layers<<3|(n.frame_rate.fixed?64:0),r.length]),a=i.length;for(let e=0;e<r.length;e+=1){a+=3;for(let t=0;t<r[e].length;t+=1)a+=2+r[e][t].length}let o=new Uint8Array(a);o.set(i,0),a=i.length;let s=r.length-1;for(let e=0;e<r.length;e+=1){o.set(new Uint8Array([32+e|(e===s?128:0),0,r[e].length]),a),a+=3;for(let t=0;t<r[e].length;t+=1)o.set(new Uint8Array([r[e][t].length>>8,r[e][t].length&255]),a),a+=2,o.set(r[e][t],a),a+=r[e][t].length}let c=e.box(e.types.hvcC,o),l=t.width,u=t.height,d=t.pixelRatio[0],f=t.pixelRatio[1];return e.box(e.types.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,l&255,u>>8&255,u&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),c,e.box(e.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),e.box(e.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,d&255,f>>24,f>>16&255,f>>8&255,f&255])))}};sB.types=void 0,sB.HDLR_TYPES=void 0,sB.STTS=void 0,sB.STSC=void 0,sB.STCO=void 0,sB.STSZ=void 0,sB.VMHD=void 0,sB.SMHD=void 0,sB.STSD=void 0,sB.FTYP=void 0,sB.DINF=void 0;var cB=9e4;function lB(e,t,n=1,r=!1){let i=e*t*n;return r?Math.round(i):i}function uB(e,t,n=1,r=!1){return lB(e,t,1/n,r)}function dB(e,t=!1){return lB(e,1e3,1/cB,t)}function fB(e,t=1){return lB(e,cB,1/t)}function pB(e){let{baseTime:t,timescale:n,trackId:r}=e;return`${t/n} (${t}/${n}) trackId: ${r}`}var mB=1e4,hB=1024,gB=1152,_B=1536,vB=null,yB=null;function bB(e,t,n,r){return{duration:t,size:n,cts:r,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:+!e}}}var xB=class extends QN{constructor(e,t,n,r){if(super(`mp4-remuxer`,r),this.observer=void 0,this.config=void 0,this.typeSupp
1807orted=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=n,this.ISGenerated=!1,vB===null){let e=(navigator.userAgent||``).match(/Chrome\/(\d+)/i);vB=e?parseInt(e[1]):0}if(yB===null){let e=navigator.userAgent.match(/Safari\/(\d+)/i);yB=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let t=this._initPTS;(!t||!e||e.trackId!==t.trackId||e.baseTime!==t.baseTime||e.timescale!==t.timescale)&&this.log(`Reset initPTS: ${t&&pB(t)} > ${e&&pB(e)}`),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log(`reset next timestamp`),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log(`ISGenerated flag reset`),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,n=e[0].pts,r=e.reduce((e,r)=>{let i=r.pts,a=i-e;return a<-4294967296&&(t=!0,i=SB(i,n),a=i-e),a>0?e:i},n);return t&&this.debug(`PTS rollover detected`),r}remux(e,t,n,r,i,a,o,s){let c,l,u,d,f,p,m=i,h=i,g=e.pid>-1,_=t.pid>-1,v=t.samples.length,y=e.samples.length>0,b=o&&v>0||v>1;if((!g||y)&&(!_||b)||this.ISGenerated||o){if(this.ISGenerated){let e=this.videoTrackConfig;(e&&(t.width!==e.width||t.height!==e.height||t.pixelRatio?.[0]!==e.pixelRatio?.[0]||t.pixelRatio?.[1]!==e.pixelRatio?.[1])||!e&&b||this.nextAudioTs===null&&y)&&this.resetInitSegment()}this.ISGenerated||(u=this.generateIS(e,t,i,a));let n=this.isVideoContiguous,r=-1,o;if(b&&(r=CB(t.samples),!n&&this.config.forceKeyFrameOnDiscontinuity))if(p=!0,r>0){this.warn(`Dropped ${r} out of ${v} video samples due to a missing keyframe`);let e=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(r),t.dropped+=r,h+=(t.samples[0].pts-e)/t.inputTimeScale,o=h}else r===-1&&(this.warn(`No keyframe found out of ${v} video samples`),p=!1);if(this.ISGenerated){if(y&&b){let n=this.getVideoStartPts(t.samples),r=(SB(e.samples[0].pts,n)-n)/t.inputTimeScale;m+=Math.max(0,r),h+=Math.max(0,-r)}if(y){if(e.samplerate||(this.warn(`regenerate InitSegment as audio detected`),u=this.generateIS(e,t,i,a)),l=this.remuxAudio(e,m,this.isAudioContiguous,a,_||b||s===UN.AUDIO?h:void 0),b){let r=l?l.endPTS-l.startPTS:0;t.inputTimeScale||(this.warn(`regenerate InitSegment as video detected`),u=this.generateIS(e,t,i,a)),c=this.remuxVideo(t,h,n,r)}}else b&&(c=this.remuxVideo(t,h,n,0));c&&(c.firstKeyFrame=r,c.independent=r!==-1,c.firstKeyFramePTS=o)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(n.samples.length&&(f=wB(n,i,this._initPTS,this._initDTS)),r.samples.length&&(d=TB(r,i,this._initPTS))),{audio:l,video:c,initSegment:u,independent:p,text:d,id3:f}}computeInitPts(e,t,n,r){let i=Math.round(n*t),a=SB(e,i);if(a<i+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(i-a)/t} ${r}`);a<i+t;)a+=8589934592;return a-i}generateIS(e,t,n,r){let i=e.samples,a=t.samples,o=this.typeSupported,s={},c=this._initPTS,l=!c||r,u=`audio/mp4`,d,f,p,m=-1;if(l&&(d=f=1/0),e.config&&i.length){switch(e.timescale=e.samplerate,e.segmentCodec){case`mp3`:o.mpeg?(u=`audio/mpeg`,e.codec=``):o.mp3&&(e.codec=`mp3`);break;case`ac3`:e.codec=`ac-3`}s.audio={id:`audio`,container:u,codec:e.codec,initSegment:e.segmentCodec===`mp3`&&o.mpeg?new Uint8Array:sB.initSegment([e]),metadata:{channelCount:e.channelCount}},l&&(m=e.id,p=e.inputTimeScale,!c||p!==c.timescale?d=f=this.computeInitPts(i[0].pts,p,n,`audio`):l=!1)}if(t.sps&&t.pps&&a.length){if(t.timescale=t.inputTimeScale,s.video={id:`main`,container:`video/mp4`,codec:t.codec,initSegment:sB.initSegment([t]),metadata:{width:t.width,height:t.height}},l)if(m=t.id,p=t.inputTimeScale,!c||p!==c.timescale){let e=this.getVideoStartPts(a),t=SB(a[0].dts,e),r=this.computeInitPts(t,p,n,`video`),i=this.computeInitPts(e,p,n,`video`);f=Math.min(f,r),d=Math.min(d,i)}else l=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(s).length)return this.ISGenerated=!0,l?(c&&this.warn(`Timestamps at playlist time: ${r?``:`~`}${n} ${d/p} != initPTS: ${c.baseTime/c.timescale} (${c.baseTime}/${c.timescale}) trackId: ${c.trackId}`),this.log(`Found initPTS at playlist time: ${n} offset: ${d/p} (${d}/${p}) trackId: ${m}`),this._initPTS={baseTime:d,timescale:p,trackId:m},this._initDTS={baseTime:f,timescale:p,trackId:m}):d=p=void 0,{tracks:s,initPTS:d,timescale:p,trackId:m}}remuxVideo(e,t,n,r){let i=e.inputTimeScale,a=e.samples,o=[],s=a.length,c=this._initPTS,l=c.baseTime*i/c.timescale,u=this.nextVideoTs,d=8,f=this.videoSampleDuration,p,m,h=1/0,g=-1/0,_=!1;
vendor: 4,769 bytes, line 1807
1807if(!n||u===null){let e=l+t*i,r=a[0].pts-SB(a[0].dts,a[0].pts);vB&&u!==null&&Math.abs(e-r-(u+l))<15e3?n=!0:u=e-r-l}let v=u+l;for(let e=0;e<s;e++){let t=a[e];t.pts=SB(t.pts,v),t.dts=SB(t.dts,v),t.dts<a[e>0?e-1:e].dts&&(_=!0)}_&&a.sort(function(e,t){let n=e.dts-t.dts,r=e.pts-t.pts;return n||r}),p=a[0].dts,m=a[a.length-1].dts;let y=m-p,b=y?Math.round(y/(s-1)):f||e.inputTimeScale/30;if(n){let n=p-v,r=n>b,i=n<-1;if((r||i)&&(r?this.warn(`${(e.segmentCodec||``).toUpperCase()}: ${dB(n,!0)} ms (${n}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||``).toUpperCase()}: ${dB(-n,!0)} ms (${n}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!i||v>=a[0].pts||vB)){p=v;let e=a[0].pts-n;if(r)a[0].dts=p,a[0].pts=e;else{let t=!0;for(let r=0;r<a.length&&!(a[r].dts>e&&t);r++){let e=a[r].pts;if(a[r].dts-=n,a[r].pts-=n,r<a.length-1){let n=a[r+1].pts;t=n<=a[r].pts==n<=e}}}this.log(`Video: Initial PTS/DTS adjusted: ${dB(e,!0)}/${dB(p,!0)}, delta: ${dB(n,!0)} ms`)}}p=Math.max(0,p);let x=0,S=0,ee=p;for(let e=0;e<s;e++){let t=a[e],n=t.units,r=n.length,i=0;for(let e=0;e<r;e++)i+=n[e].data.length;S+=i,x+=r,t.length=i,t.dts<ee?(t.dts=ee,ee+=b/4|0||1):ee=t.dts,h=Math.min(t.pts,h),g=Math.max(t.pts,g)}m=a[s-1].dts;let te=S+4*x+8,ne;try{ne=new Uint8Array(te)}catch(e){this.observer.emit(Y.ERROR,Y.ERROR,{type:VN.MUX_ERROR,details:J.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:te,reason:`fail allocating video mdat ${te}`});return}let re=new DataView(ne.buffer);re.setUint32(0,te),ne.set(sB.types.mdat,4);let ie=!1,C=1/0,ae=1/0,w=-1/0,oe=-1/0;for(let e=0;e<s;e++){let t=a[e],n=t.units,c=0;for(let e=0,t=n.length;e<t;e++){let t=n[e],r=t.data,i=t.data.byteLength;re.setUint32(d,i),d+=4,ne.set(r,d),d+=i,c+=4+i}let u;if(e<s-1)f=a[e+1].dts-t.dts,u=a[e+1].pts-t.pts;else{let n=this.config,o=e>0?t.dts-a[e-1].dts:b;if(u=e>0?t.pts-a[e-1].pts:b,n.stretchShortVideoTrack&&this.nextAudioTs!==null){let e=Math.floor(n.maxBufferHole*i),a=(r?h+r*i:this.nextAudioTs+l)-t.pts;a>e?(f=a-o,f<0?f=o:ie=!0,this.log(`It is approximately ${a/90} ms to the next segment; using duration ${f/90} ms for the last video frame.`)):f=o}else f=o}let p=Math.round(t.pts-t.dts);C=Math.min(C,f),w=Math.max(w,f),ae=Math.min(ae,u),oe=Math.max(oe,u),o.push(bB(t.key,f,c,p))}if(o.length){if(vB){if(vB<70){let e=o[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(yB&&oe-ae<w-C&&b/w<.025&&o[0].cts===0){this.warn(`Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.`);let e=p;for(let t=0,n=o.length;t<n;t++){let r=e+o[t].duration,i=e+o[t].cts;if(t<n-1){let e=r+o[t+1].cts;o[t].duration=e-i}else o[t].duration=t?o[t-1].duration:b;o[t].cts=0,e=r}}}f=ie||!f?b:f;let T=m+f;this.nextVideoTs=u=T-l,this.videoSampleDuration=f,this.isVideoContiguous=!0;let se={data1:sB.moof(e.sequenceNumber++,p,qN(e,{samples:o})),data2:ne,startPTS:(h-l)/i,endPTS:(g+f-l)/i,startDTS:(p-l)/i,endDTS:u/i,type:`video`,hasAudio:!1,hasVideo:!0,nb:o.length,dropped:e.dropped};return e.samples=[],e.dropped=0,se}getSamplesPerFrame(e){switch(e.segmentCodec){case`mp3`:return gB;case`ac3`:return _B;default:return hB}}remuxAudio(e,t,n,r,i){let a=e.inputTimeScale,o=a/(e.samplerate?e.samplerate:a),s=this.getSamplesPerFrame(e),c=s*o,l=this._initPTS,u=e.segmentCodec===`mp3`&&this.typeSupported.mpeg,d=[],f=i!==void 0,p=e.samples,m=u?0:8,h=this.nextAudioTs||-1,g=l.baseTime*a/l.timescale,_=g+t*a;if(this.isAudioContiguous=n||=p.length&&h>0&&(r&&Math.abs(_-(h+g))<9e3||Math.abs(SB(p[0].pts,_)-(h+g))<20*c),p.forEach(function(e){e.pts=SB(e.pts,_)}),!n||h<0){let e=p.length;if(p=p.filter(e=>e.pts>=0),e!==p.length&&this.warn(`Removed ${p.length-e} of ${e} samples (initPTS ${g} / ${a})`),!p.length)return;h=i===0?0:r&&!f?Math.max(0,_-g):p[0].pts-g}if(e.segmentCodec===`aac`){let t=this.config.maxAudioFramesDrift;for(let n=0,r=h+g;n<p.length;n++){let i=p[n],o=i.pts,s=o-r,l=Math.abs(1e3*s/a);if(s<=-t*c&&f)n===0&&(this.warn(`Audio frame @ ${(o/a).toFixed(3)}s overlaps marker by ${Math.round(1e3*s/a)} ms.`),this.nextAudioTs=h=o-g,r=o);else if(s>=t*c&&l<mB&&f){let t=Math.round(s/c);for(r=o-t*c;r<0&&t&&c;)t--,r+=c;n===0&&(this.nextAudioTs=h=r-g),this.warn(`Injecting ${t} audio frames @ ${((r-g)/a).toFixed(3)}s due to ${Math.round(1e3*s/a)} ms gap.`);for(let a=0;a<t;a++){let t=aB.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);t||=(this.log(`Unable to get silent frame for given audio codec; duplicating last frame instead.`),i.unit.subarray()),p.splice(n,0,{unit:t,pts:r}),r+=c,n++}}i.pts=r,r+=c}}let v=null,y=null,b,x=0,S=p.length;for(;S--;)x+=p[S].unit.byteLength;for(let t=0,r=p.length;t<r;t++){let r=p[t],i=r.unit,a=r.pts;if(y!==null){let e=d[t-1];e.duration=Math.round((a-y)/o)}else if(n&&e.segmentCodec===`aac`&&(a=h+g),v=a,x>0){x+=m;
1807try{b=new Uint8Array(x)}catch(e){this.observer.emit(Y.ERROR,Y.ERROR,{type:VN.MUX_ERROR,details:J.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:x,reason:`fail allocating audio mdat ${x}`});return}u||(new DataView(b.buffer).setUint32(0,x),b.set(sB.types.mdat,4))}else return;b.set(i,m);let c=i.byteLength;m+=c,d.push(bB(!0,s,c,0)),y=a}let ee=d.length;if(!ee)return;let te=d[d.length-1];h=y-g,this.nextAudioTs=h+o*te.duration;let ne=u?new Uint8Array:sB.moof(e.sequenceNumber++,v/o,qN({},e,{samples:d}));e.samples=[];let re=(v-g)/a,ie=this.nextAudioTs/a,C={data1:ne,data2:b,startPTS:re,endPTS:ie,startDTS:re,endDTS:ie,type:`audio`,hasAudio:!0,hasVideo:!1,nb:ee};return this.isAudioContiguous=!0,C}};function SB(e,t){let n;if(t===null)return e;for(n=t<e?-8589934592:8589934592;Math.abs(e-t)>4294967296;)e+=n;return e}function CB(e){for(let t=0;t<e.length;t++)if(e[t].key)return t;return-1}function wB(e,t,n,r){let i=e.samples.length;if(!i)return;let a=e.inputTimeScale;for(let o=0;o<i;o++){let i=e.samples[o];i.pts=SB(i.pts-n.baseTime*a/n.timescale,t*a)/a,i.dts=SB(i.dts-r.baseTime*a/r.timescale,t*a)/a}let o=e.samples;return e.samples=[],{samples:o}}function TB(e,t,n){let r=e.samples.length;if(!r)return;let i=e.inputTimeScale;for(let a=0;a<r;a++){let r=e.samples[a];r.pts=SB(r.pts-n.baseTime*i/n.timescale,t*i)/i}e.samples.sort((e,t)=>e.pts-t.pts);let a=e.samples;return e.samples=[],{samples:a}}var EB=class extends QN{constructor(e,t,n,r){super(`passthrough-remuxer`,r),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;let t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,n,r){this.audioCodec=t,this.videoCodec=n,this.generateInitSegment(e,r),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:n,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:i,video:a}=this.initData=LP(e);if(t)WP(e,t);else{let e=i||a;e!=null&&e.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${e.codec}")!`)}i&&(n=kB(i,yP.AUDIO,this)),a&&(r=kB(a,yP.VIDEO,this));let o={};i&&a?o.audiovideo={container:`video/mp4`,codec:n+`,`+r,supplemental:a.supplemental,encrypted:a.encrypted,initSegment:e,id:`main`}:i?o.audio={container:`audio/mp4`,codec:n,encrypted:i.encrypted,initSegment:e,id:`audio`}:a?o.video={container:`video/mp4`,codec:r,supplemental:a.supplemental,encrypted:a.encrypted,initSegment:e,id:`main`}:this.warn(`initSegment does not contain moov or trak boxes.`),this.initTracks=o}remux(e,t,n,r,i,a){var o,s;let{initPTS:c,lastEndTime:l}=this,u={audio:void 0,video:void 0,text:r,id3:n,initSegment:void 0};q(l)||(l=this.lastEndTime=i||0);let d=t.samples;if(!d.length)return u;let f={initPTS:void 0,timescale:void 0,trackId:void 0},p=this.initData;if((o=p)!=null&&o.length||(this.generateInitSegment(d),p=this.initData),!((s=p)!=null&&s.length))return this.warn(`Failed to generate initSegment.`),u;this.emitInitSegment&&=(f.tracks=this.initTracks,!1);let m=JP(d,p,this),h=p.audio?m[p.audio.id]:null,g=p.video?m[p.video.id]:null,_=DB(g,1/0),v=DB(h,1/0),y=DB(g,0,!0),b=DB(h,0,!0),x=i,S=0,ee=h&&(!g||!c&&v<_||c&&c.trackId===p.audio.id),te=ee?h:g;if(te){let e=te.timescale,t=te.start-i*e,n=ee?p.audio.id:p.video.id;x=te.start/e,S=ee?b-v:y-_,(a||!c)&&(OB(c,x,i,S)||e!==c.timescale)&&(c&&this.warn(`Timestamps at playlist time: ${a?``:`~`}${i} ${t/e} != initPTS: ${c.baseTime/c.timescale} (${c.baseTime}/${c.timescale}) trackId: ${c.trackId}`),this.log(`Found initPTS at playlist time: ${i} offset: ${x-i} (${t}/${e}) trackId: ${n}`),c=null,f.initPTS=t,f.timescale=e,f.trackId=n)}else this.warn(`No audio or video samples found for initPTS at playlist time: ${i}`);c?(f.initPTS=c.baseTime,f.timescale=c.timescale,f.trackId=c.trackId):((!f.timescale||f.trackId===void 0||f.initPTS===void 0)&&(this.warn(`Could not set initPTS`),f.initPTS=x,f.timescale=1,f.trackId=-1),this.initPTS=c={baseTime:f.initPTS,timescale:f.timescale,trackId:f.trackId});let ne=x-c.baseTime/c.timescale,re=ne+S;S>0?this.lastEndTime=re:(this.warn(`Duration parsed from mp4 should be greater than zero`),this.resetNextTimestamp());let ie=!!p.audio,C=!!p.video,ae=``;ie&&(ae+=`audio`),C&&(ae+=`video`);let w=(p.audio?p.audio.encrypted:!1)||(p.video?p.video.encrypted:!1),oe={data1:d,startPTS:ne,startDTS:ne,endPTS:re,endDTS:re,type:ae,hasAudio:ie,hasVideo:C,nb:1,dropped:0,encrypted:w};u.audio=ie&&!C?oe:void 0,u.video=C?oe:void 0;
vendor: 13,622 bytes, lines 1807-1813
1807let T=g?.sampleCount;if(T){let e=g.keyFrameIndex,t=e!==-1;oe.nb=T,oe.dropped=e===0||this.isVideoContiguous?0:t?e:T,oe.independent=t,oe.firstKeyFrame=e,t&&g.keyFrameStart&&(oe.firstKeyFramePTS=(g.keyFrameStart-c.baseTime)/c.timescale),this.isVideoContiguous||(u.independent=t),this.isVideoContiguous||=t,oe.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${e}/${T} dropped: ${oe.dropped} start: ${oe.firstKeyFramePTS||`NA`}`)}return u.initSegment=f,u.id3=wB(n,i,c,c),r.samples.length&&(u.text=TB(r,i,c)),u}};function DB(e,t,n=!1){return e?.start===void 0?t:(e.start+(n?e.duration:0))/e.timescale}function OB(e,t,n,r){if(e===null)return!0;let i=Math.max(r,1),a=t-e.baseTime/e.timescale;return Math.abs(a-n)>i}function kB(e,t,n){let r=e.codec;return r&&r.length>4?r:t===yP.AUDIO?r===`ec-3`||r===`ac-3`||r===`alac`?r:r===`fLaC`||r===`Opus`?vF(r,!1):(n.warn(`Unhandled audio codec "${r}" in mp4 MAP`),r||`mp4a`):(n.warn(`Unhandled video codec "${r}" in mp4 MAP`),r||`avc1`)}var AB;try{AB=self.performance.now.bind(self.performance)}catch{AB=Date.now}var jB=[{demux:Wz,remux:EB},{demux:Qz,remux:xB},{demux:Rz,remux:xB},{demux:Hz,remux:xB}];jB.splice(2,0,{demux:Bz,remux:xB});var MB=class{constructor(e,t,n,r,i,a){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=n,this.id=i,this.logger=a}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,n,r){let i=n.transmuxing;i.executeStart=AB();let a=new Uint8Array(e),{currentTransmuxState:o,transmuxConfig:s}=this;r&&(this.currentTransmuxState=r);let{contiguous:c,discontinuity:l,trackSwitch:u,accurateTimeOffset:d,timeOffset:f,initSegmentChange:p}=r||o,{audioCodec:m,videoCodec:h,defaultInitPts:g,duration:_,initSegmentData:v}=s,y=NB(a,t);if(y&&gL(y.method)){let e=this.getDecrypter(),t=_L(y.method);if(e.isSync()){let r=e.softwareDecrypt(a,y.key.buffer,y.iv.buffer,t);if(n.part>-1){let t=e.flush();r=t&&t.buffer}if(!r)return i.executeEnd=AB(),PB(n);a=new Uint8Array(r)}else return this.asyncResult=!0,this.decryptionPromise=e.webCryptoDecrypt(a,y.key.buffer,y.iv.buffer,t).then(e=>{let t=this.push(e,null,n);return this.decryptionPromise=null,t}),this.decryptionPromise}let b=this.needsProbing(l,u);if(b){let e=this.configureTransmuxer(a);if(e)return this.logger.warn(`[transmuxer] ${e.message}`),this.observer.emit(Y.ERROR,Y.ERROR,{type:VN.MEDIA_ERROR,details:J.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),i.executeEnd=AB(),PB(n)}(l||u||p||b)&&this.resetInitSegment(v,m,h,_,t),(l||p||b)&&this.resetInitialTimestamp(g),c||this.resetContiguity();let x=this.transmux(a,y,f,d,n);this.asyncResult=FB(x);let S=this.currentTransmuxState;return S.contiguous=!0,S.discontinuity=!1,S.trackSwitch=!1,i.executeEnd=AB(),x}flush(e){let t=e.transmuxing;t.executeStart=AB();let{decrypter:n,currentTransmuxState:r,decryptionPromise:i}=this;if(i)return this.asyncResult=!0,i.then(()=>this.flush(e));let a=[],{timeOffset:o}=r;if(n){let t=n.flush();t&&a.push(this.push(t.buffer,null,e))}let{demuxer:s,remuxer:c}=this;if(!s||!c){t.executeEnd=AB();let n=[PB(e)];return this.asyncResult?Promise.resolve(n):n}let l=s.flush(o);return FB(l)?(this.asyncResult=!0,l.then(t=>(this.flushRemux(a,t,e),a))):(this.flushRemux(a,l,e),this.asyncResult?Promise.resolve(a):a)}flushRemux(e,t,n){let{audioTrack:r,videoTrack:i,id3Track:a,textTrack:o}=t,{accurateTimeOffset:s,timeOffset:c}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${n.sn}${n.part>-1?` part: `+n.part:``} of ${this.id===UN.MAIN?`level`:`track`} ${n.level}`);let l=this.remuxer.remux(r,i,a,o,c,s,!0,this.id);e.push({remuxResult:l,chunkMeta:n}),n.transmuxing.executeEnd=AB()}resetInitialTimestamp(e){let{demuxer:t,remuxer:n}=this;!t||!n||(t.resetTimeStamp(e),n.resetTimeStamp(e))}resetContiguity(){let{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,n,r,i){let{demuxer:a,remuxer:o}=this;!a||!o||(a.resetInitSegment(e,t,n,r),o.resetInitSegment(e,t,n,i))}destroy(){this.demuxer&&=(this.demuxer.destroy(),void 0),this.remuxer&&=(this.remuxer.destroy(),void 0)}transmux(e,t,n,r,i){let a;return a=t&&t.method===`SAMPLE-AES`?this.transmuxSampleAes(e,t,n,r,i):this.transmuxUnencrypted(e,n,r,i),a}transmuxUnencrypted(e,t,n,r){let{audioTrack:i,videoTrack:a,id3Track:o,textTrack:s}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(i,a,o,s,t,n,!1,this.id),chunkMeta:r}}transmuxSampleAes(e,t,n,r,i){return this.demuxer.demuxSampleAes(e,t,n).then(e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,n,r,!1,this.id),chunkMeta:i}))}configureTransmuxer(e){let{config:t,observer:n,typeSupported:r}=this,i;for(let t=0,n=jB.length;t<n;t++){var a;if((a=jB[t].demux)!=null&&a.probe(e,this.logger)){i=jB[t];break}}if(!i)return Error(`Failed to find demuxer by probing fragment data`);let o=this.demuxer,s=this.remuxer,c=i.remux,l=i.demux;(!s||!(s instanceof c))&&(this.remuxer=new c(n,t,r,this.logger)),(!o||!(o instanceof l))&&(this.demuxer=new l(n,t,r,this.logger),this.probe=l.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||=this.decrypter=new HI(this.config),e}};function NB(e,t){let n=null;return e.byteLength>0&&t?.key!=null&&t.iv!==null&&t.method!=null&&(n=t),n}var PB=e=>({remuxResult:{},chunkMeta:e});function FB(e){return`then`in e&&e.then instanceof Function}var IB=class{constructor(e,t,n,r,i){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=n,this.duration=r,this.defaultInitPts=i||null}},LB=class{constructor(e,t,n,r,i,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=n,this.trackSwitch=r,this.timeOffset=i,this.initSegmentChange=a}},RB=0,zB=class{constructor(e,t,n,r){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=RB++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{let t=e.data,n=this.hls;if(!(!n||!(t!=null&&t.event)||t.instanceNo!==this.instanceNo))switch(t.event){case`init`:{let e=this.workerContext?.objectURL;e&&self.URL.revokeObjectURL(e);break}case`transmuxComplete`:this.handleTransmuxComplete(t.data);break;case`flush`:this.onFlush(t.data);break;case`workerLog`:n.logger[t.data.logType]&&n.logger[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.part=this.part,t.data.id=this.id,n.trigger(t.event,t.data)}},this.onWorkerError=e=>{if(!this.hls)return;let t=Error(`${e.message}  (${e.filename}:${e.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.INTERNAL_EXCEPTION,fatal:!1,event:`demuxerWorker`,error:t})};let i=e.config;this.hls=e,this.id=t,this.useWorker=!!i.enableWorker,this.onTransmuxComplete=n,this.onFlush=r;let a=(e,t)=>{t||={},t.frag=this.frag||void 0,e===Y.ERROR&&(t=t,t.parent=this.id,t.part=this.part,this.error=t.error),this.hls.trigger(e,t)};this.observer=new IR,this.observer.on(Y.FRAG_DECRYPTED,a),this.observer.on(Y.ERROR,a);let o=wF(i.preferManagedMediaSource);if(this.useWorker&&typeof Worker<`u`){let n=this.hls.logger;if(i.workerPath||zR()){try{i.workerPath?(n.log(`loading Web Worker ${i.workerPath} for "${t}"`),this.workerContext=VR(i.workerPath)):(n.log(`injecting Web Worker for "${t}"`),this.workerContext=BR());let{worker:e}=this.workerContext;e.addEventListener(`message`,this.onWorkerMessage),e.addEventListener(`error`,this.onWorkerError),e.postMessage({instanceNo:this.instanceNo,cmd:`init`,typeSupported:o,id:t,config:YF(i)})}catch(r){n.warn(`Error setting up "${t}" Web Worker, fallback to inline`,r),this.terminateWorker(),this.error=null,this.transmuxer=new MB(this.observer,o,i,``,t,e.logger)}return}}this.transmuxer=new MB(this.observer,o,i,``,t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=RB++;let t=this.hls.config,n=wF(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:`reset`,resetNo:e,typeSupported:n,id:this.id,config:YF(t)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener(`message`,this.onWorkerMessage),e.removeEventListener(`error`,this.onWorkerError),HR(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,n,r,i,a,o,s,c,l){c.transmuxing.start=self.performance.now();let{instanceNo:u,transmuxer:d}=this,f=a?a.start:i.start,p=i.decryptdata,m=this.frag,h=!(m&&i.cc===m.cc),g=!(m&&c.level===m.level),_=m?c.sn-m.sn:-1,v=this.part?c.part-this.part.index:-1,y=_===0&&c.id>1&&c.id===m?.stats.chunkCount,b=!g&&(_===1||_===0&&(v===1||y&&v<=0)),x=self.performance.now();(g||_||i.stats.parsing.start===0)&&(i.stats.parsing.start=x),a&&(v||!b)&&(a.stats.parsing.start=x);let S=!(m&&i.initSegment?.url===m.initSegment?.url),ee=new LB(h,b,s,g,f,S);if(!b||h||S){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${i.type} sn: ${c.sn}${c.part>-1?` part: `+c.part:``} ${this.id===UN.MAIN?`level`:`track`}: ${c.level} id: ${c.id}
1808        discontinuity: ${h}
1809        trackSwitch: ${g}
1810        contiguous: ${b}
1811        accurateTimeOffset: ${s}
1812        timeOffset: ${f}
1813        initSegmentChange: ${S}`);let e=new IB(n,r,t,o,l);this.configureTransmuxer(e)}if(this.frag=i,this.part=a,this.workerContext)this.workerContext.worker.postMessage({instanceNo:u,cmd:`demux`,data:e,decryptdata:p,chunkMeta:c,state:ee},e instanceof ArrayBuffer?[e]:[]);else if(d){let t=d.push(e,p,c,ee);FB(t)?t.then(e=>{this.handleTransmuxComplete(e)}).catch(e=>{this.transmuxerError(e,c,`transmuxer-interface push error`)}):this.handleTransmuxComplete(t)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:t,transmuxer:n}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:`flush`,chunkMeta:e});else if(n){let t=n.flush(e);FB(t)?t.then(t=>{this.handleFlushResult(t,e)}).catch(t=>{this.transmuxerError(t,e,`transmuxer-interface flush error`)}):this.handleFlushResult(t,e)}}transmuxerError(e,t,n){this.hls&&(this.error=e,this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:n}))}handleFlushResult(e,t){e.forEach(e=>{this.handleTransmuxComplete(e)}),this.onFlush(t)}configureTransmuxer(e){let{instanceNo:t,transmuxer:n}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:`configure`,config:e}):n&&n.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}},BB=100,VB=class extends kR{constructor(e,t,n){super(e,t,n,`audio-stream-controller`,UN.AUDIO),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(Y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Y.BUFFER_RESET,this.onBufferReset,this),e.on(Y.BUFFER_CREATED,this.onBufferCreated,this),e.on(Y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Y.FRAG_LOADING,this.onFragLoading,this),e.on(Y.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;e&&(super.unregisterListeners(),e.off(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(Y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Y.BUFFER_RESET,this.onBufferReset,this),e.off(Y.BUFFER_CREATED,this.onBufferCreated,this),e.off(Y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Y.FRAG_LOADING,this.onFragLoading,this),e.off(Y.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:n,initPTS:r,timescale:i,trackId:a}){if(n===UN.MAIN){let e=t.cc,n=this.fragCurrent;if(this.initPTS[e]={baseTime:r,timescale:i,trackId:a},this.log(`InitPTS for cc: ${e}
1813 found from main: ${r/i} (${r}/${i}) trackId: ${a}`),this.mainAnchor=t,this.state===X.WAITING_INIT_PTS){let n=this.waitingData;(!n&&!this.loadingParts||n&&n.frag.cc!==e)&&this.syncWithAnchor(t,n?.frag)}else!this.hls.hasEnoughToStart&&n&&n.cc!==e?(n.abortRequests(),this.syncWithAnchor(t,n)):this.state===X.IDLE&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){let n=this.mainFragLoading?.frag||null;if(t&&n?.cc===t.cc)return;let r=(n||e).cc,i=gI(this.getLevelDetails(),r,this.getLoadPosition());i&&(this.log(`Syncing with main frag at ${i.start} cc ${i.cc}`),this.startFragRequested=!1,this.nextLoadPosition=i.start,this.resetLoadingState(),this.state===X.IDLE&&this.doTickIdle())}startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=X.STOPPED;return}let n=this.lastCurrentTime;this.stopLoad(),this.setInterval(BB),n>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${n.toFixed(3)}`),e=n,this.state=X.IDLE):this.state=X.WAITING_TRACK,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case X.IDLE:this.doTickIdle();break;case X.WAITING_TRACK:{let{levels:e,trackId:t}=this,n=e?.[t],r=n?.details;if(r&&!this.waitForLive(n)){if(this.waitForCdnTuneIn(r))break;this.state=X.WAITING_INIT_PTS}break}case X.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break;case X.WAITING_INIT_PTS:{let e=this.waitingData;if(e){let{frag:t,part:n,cache:r,complete:i}=e,a=this.mainAnchor;if(this.initPTS[t.cc]!==void 0){this.waitingData=null,this.state=X.FRAG_LOADING;let e={frag:t,part:n,payload:r.flush().buffer,networkDetails:null};this._handleFragmentLoadProgress(e),i&&super._handleFragmentLoadComplete(e)}else a&&a.cc!==e.frag.cc&&this.syncWithAnchor(a,e.frag)}else this.state=X.IDLE}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){let{hls:e,levels:t,media:n,trackId:r}=this,i=e.config;if(!this.buffering||!n&&!this.primaryPrefetch&&(this.startFragRequested||!i.startFragPrefetch)||!(t!=null&&t[r]))return;let a=t[r],o=a.details;if(!o||this.waitForLive(a)||this.waitForCdnTuneIn(o)){this.state=X.WAITING_TRACK,this.startFragRequested=!1;return}let s=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&s&&(this.bufferFlushed=!1,this.afterBufferFlushed(s,yP.AUDIO,UN.AUDIO));let c=this.getFwdBufferInfo(s,UN.AUDIO);if(c===null)return;if(!this.switchingTrack&&this._streamEnded(c,o)){e.trigger(Y.BUFFER_EOS,{type:`audio`}),this.state=X.ENDED;return}let l=c.len,u=e.maxBufferLength,d=o.fragments,f=d[0].start,p=this.getLoadPosition(),m=this.flushing?p:c.end;if(this.switchingTrack&&n){let e=p;o.PTSKnown&&e<f&&(c.end>f||c.nextStart)&&(this.log(`Alt audio track ahead of main track, seek to start of alt audio track`),n.currentTime=f+.05)}if(l>=u&&!this.switchingTrack&&m<d[d.length-1].start)return;let h=this.getNextFragment(m,o);if(h&&this.isLoopLoading(h,m)&&(h=this.getNextFragmentLoopLoading(h,o,c,UN.MAIN,u)),!h){this.bufferFlushed=!0;return}if(this.exceedsMaxBuffer(c,u,h))return;let g=this.mainFragLoading?.frag||null;if(!this.audioOnly&&this.startFragRequested&&g&&xP(h)&&!h.endList&&(!o.live||!this.loadingParts&&m<this.hls.liveSyncPosition)&&(this.fragmentTracker.getState(g)===AI.OK&&(this.mainFragLoading=g=null),g&&xP(g))){if(h.start>g.end){let e=this.fragmentTracker.getFragAtPos(m,UN.MAIN);e&&e.end>g.end&&(g=e,this.mainFragLoading={frag:e,targetBufferTime:null})}if(h.start>g.end)return}this.loadFragment(h,a,m)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(e=>new WF(e))}onAudioTrackSwitching(e,t){let n=!!t.url;this.trackId=t.id;let{fragCurrent:r}=this;r&&(r.abortRequests(),this.removeUnbufferedFrags(r.start)),this.resetLoadingState(),n?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==X.STOPPED&&(this.setInterval(BB),this.state=X.IDLE,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;let n=this.cachedTrackLoadedData;n&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(Y.AUDIO_TRACK_LOADED,n))}onAudioTrackLoaded(e,t){var n;let{levels:r}=this,{details:i,id:a,groupId:o,track:s}=t;if(!r){this.warn(`Audio tracks reset while loading track ${a} "${s.name}" of "${o}"`);return}let c=this.mainDetails;if(!c||i.endCC>c.endCC||c.expired){this.cachedTrackLoadedData=t,this.state!==X.STOPPED&&(this.state=X.WAITING_TRACK);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${a} "${s.name}" of "${o}" loaded [${i.startSN},${i.endSN}]${i.lastPartSn?`[part-${i.lastPartSn}-${i.lastPartIndex}]`:``},duration:${i.totalduration}`);let l=r[a],u=0;if(i.live||(n=l.details)!=null&&n.live){if(this.checkLiveUpdate(i),i.deltaUpdateFailed)return;l.details&&(u=this.alignPlaylists(i,l.details,this.levelLastLoaded?.details)),i.alignedSliding||(wR(i,c),i.alignedSliding||TR(i,c),u=i.fragmentStart)}l.details=i,this.levelLastLoaded=l,this.startFragRequested||this.setStartPosition(c,u),this.hls.trigger(Y.AUDIO_TRACK_UPDATED,{details:i,id:a,groupId:t.groupId}),this.state===X.WAITING_TRACK&&!this.waitForCdnTuneIn(i)&&(this.state=X.IDLE),this.tick()}_handleFragmentLoadProgress(e){let t=e.frag,{part:n,payload:r}
vendor: 20,293 bytes, lines 1813-1816
1813=e,{config:i,trackId:a,levels:o}=this;if(!o){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${t.sn} of level ${t.level} will not be buffered`);return}let s=o[a];if(!s){this.warn(`Audio track is undefined on fragment load progress`);return}let c=s.details;if(!c){this.warn(`Audio track details undefined on fragment load progress`),this.removeUnbufferedFrags(t.start);return}let l=i.defaultAudioCodec||s.audioCodec||`mp4a.40.2`,u=this.transmuxer;u||=this.transmuxer=new zB(this.hls,UN.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this));let d=this.initPTS[t.cc],f=t.initSegment?.data;if(d!==void 0){let e=n?n.index:-1,i=e!==-1,a=new XI(t.level,t.sn,t.stats.chunkCount,r.byteLength,e,i);u.push(r,f,l,``,t,n,c.totalduration,!1,a,d)}else{this.log(`Unknown video PTS for cc ${t.cc}, waiting for video PTS before demuxing audio frag ${t.sn} of [${c.startSN} ,${c.endSN}],track ${a}`);let{cache:e}=this.waitingData=this.waitingData||{frag:t,part:n,cache:new jR,complete:!1};e.push(new Uint8Array(r)),this.state!==X.STOPPED&&(this.state=X.WAITING_INIT_PTS)}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;let n=t.tracks.audio;n&&(this.mediaBuffer=n.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===UN.MAIN&&xP(t.frag)&&(this.mainFragLoading=t,this.state===X.IDLE&&this.tick())}onFragBuffered(e,t){let{frag:n,part:r}=t;if(n.type!==UN.AUDIO){!this.audioOnly&&n.type===UN.MAIN&&!n.elementaryStreams.video&&!n.elementaryStreams.audiovideo&&(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${r?` p: `+r.index:``} of level ${n.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:`false`}`);return}if(xP(n)){this.fragPrevious=n;let e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(Y.AUDIO_TRACK_SWITCHED,YN({},e)))}this.fragBufferedComplete(n,r),this.media&&this.tick()}onError(e,t){if(t.fatal){this.state=X.ERROR;return}switch(t.details){case J.FRAG_GAP:case J.FRAG_PARSING_ERROR:case J.FRAG_DECRYPT_ERROR:case J.FRAG_LOAD_ERROR:case J.FRAG_LOAD_TIMEOUT:case J.KEY_LOAD_ERROR:case J.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(UN.AUDIO,t);break;case J.AUDIO_TRACK_LOAD_ERROR:case J.AUDIO_TRACK_LOAD_TIMEOUT:case J.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===X.WAITING_TRACK&&t.context?.type===HN.AUDIO_TRACK&&(this.state=X.IDLE);break;case J.BUFFER_ADD_CODEC_ERROR:case J.BUFFER_APPEND_ERROR:if(t.parent!==`audio`)return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case J.BUFFER_FULL_ERROR:if(t.parent!==`audio`)return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,1/0,`audio`));break;case J.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==yP.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==yP.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===X.ENDED&&(this.state=X.IDLE);let e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,t,UN.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;let n=`audio`,{hls:r}=this,{remuxResult:i,chunkMeta:a}=e,o=this.getCurrentContext(a);if(!o){this.resetWhenMissingContext(a);return}let{frag:s,part:c,level:l}=o,{details:u}=l,{audio:d,text:f,id3:p,initSegment:m}=i;if(this.fragContextChanged(s)||!u){this.fragmentTracker.removeFragment(s);return}if(this.state=X.PARSING,this.switchingTrack&&d&&this.completeAudioSwitch(this.switchingTrack),m!=null&&m.tracks){let e=s.initSegment||s;if(this.unhandledEncryptionError(m,s))return;this._bufferInitSegment(l,m.tracks,e,a),r.trigger(Y.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:n,tracks:m.tracks})}if(d){let{startPTS:e,endPTS:t,startDTS:n,endDTS:r}=d;c&&(c.elementaryStreams[yP.AUDIO]={startPTS:e,endPTS:t,startDTS:n,endDTS:r}),s.setElementaryStreamInfo(yP.AUDIO,e,t,n,r),this.bufferFragmentData(d,s,c,a)}if(p!=null&&(t=p.samples)!=null&&t.length){let e=qN({id:n,frag:s,details:u},p);r.trigger(Y.FRAG_PARSING_METADATA,e)}if(f){let e=qN({id:n,frag:s,details:u},f);r.trigger(Y.FRAG_PARSING_USERDATA,e)}}_bufferInitSegment(e,t,n,r){if(this.state!==X.PARSING||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;let i=t.audio;i.id=UN.AUDIO;let a=e.audioCodec;this.log(`Init audio buffer, container:${i.container}, codecs[level/parsed]=[${a}/${i.codec}]`),a&&a.split(`,`).length===1&&(i.levelCodec=a),this.hls.trigger(Y.BUFFER_CODECS,t);let o=i.initSegment;if(o!=null&&o.byteLength){let e={type:`audio`,frag:n,part:null,chunkMeta:r,parent:n.type,data:o};this.hls.trigger(Y.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,t,n){let r=this.fragmentTracker.getState(e);if(this.switchingTrack||r===AI.NOT_LOADED||r===AI.PARTIAL){var i;if(!xP(e))this._loadInitSegment(e,t);else if((i=t.details)!=null&&i.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=X.WAITING_INIT_PTS;let n=this.mainDetails;n&&n.fragmentStart!==t.details.fragmentStart&&TR(t.details,n)}else super.loadFragment(e,t,n)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:n,assocLang:r,characteristics:i,audioCodec:a,channels:o}=this.bufferedTrack;nI({name:t,lang:n,assocLang:r,characteristics:i,audioCodec:a,channels:o},e,aI)||(cI(e.url,this.hls)?(this.log(`Switching audio track : flushing all audio`),super.flushMainBuffer(0,1/0,`audio`),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(Y.AUDIO_TRACK_SWITCHED,YN({},e))}},HB=class extends QN{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,n){let r=t?.renditionReports;if(r){let i=-1;for(let n=0;n<r.length;n++){let a=r[n],o;try{o=new self.URL(a.URI,t.url).href}catch(e){this.warn(`Could not construct new URL for Rendition Report: ${e}`),o=a.URI||``}if(o===e){i=n;break}o===e.substring(0,o.length)&&(i=n)}if(i!==-1){let e=r[i],a=parseInt(e[`LAST-MSN`])||t.lastPartSn,o=parseInt(e[`LAST-PART`])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){let e=Math.min(t.age-t.partTarget,t.targetduration);o>=0&&e>t.partTarget&&(o+=1)}let s=n&&HF(n);return new UF(a,o>=0?o:void 0,s)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}return e}playlistLoaded(e,t,n){let{details:r,stats:i}=t,a=self.performance.now(),o=i.loading.first?Math.max(0,a-i.loading.first):0;r.advancedDateTime=Date.now()-o;let s=this.hls.config.timelineOffset;if(s!==r.appliedTimelineOffset){let e=Math.max(s||0,0);r.appliedTimelineOffset=e,r.fragments.forEach(t=>{t.setStart(t.playlistOffset+e)})}if(r.live||n!=null&&n.live){let s=`levelInfo`in t?t.levelInfo:t.track;if(r.reloaded(n),n&&r.fragments.length>0){aR(n,r,this);let e=r.playlistParsingError;if(e){this.warn(e);let n=this.hls;if(!n.config.ignorePlaylistParsingErrors){let{networkDetails:a}=t;n.trigger(Y.ERROR,{type:VN.NETWORK_ERROR,details:J.LEVEL_PARSING_ERROR,fatal:!1,url:r.url,error:e,reason:e.message,level:t.level||void 0,parent:r.fragments[0]?.type,networkDetails:a,stats:i});return}r.playlistParsingError=null}}r.requestScheduled===-1&&(r.requestScheduled=i.loading.start);let c=this.hls.mainForwardBufferInfo,l=c?c.end-c.len:0,u=fR(r,(r.edge-l)*1e3);if(r.requestScheduled+u<a?r.requestScheduled=a:r.requestScheduled+=u,this.log(`live playlist ${e} ${r.advanced?`REFRESHED `+r.lastPartSn+`-`+r.lastPartIndex:r.updated?`UPDATED`:`MISSED`}`),!this.canLoad||!r.live)return;let d,f,p;if(r.canBlockReload&&r.endSN&&r.advanced){let e=this.hls.config.lowLatencyMode,i=r.lastPartSn,o=r.endSN,c=r.lastPartIndex,l=c!==-1,u=i===o;l?u?(f=o+1,p=e?0:c):(f=i,p=e?c+1:r.maxPartIndex):f=o+1;let m=r.age,h=m+r.ageHeader,g=Math.min(h-r.partTarget,r.targetduration*1.5);if(g>0){if(h>r.targetduration*3)this.log(`Playlist last advanced ${m.toFixed(2)}s ago. Omitting segment and part directives.`),f=void 0,p=void 0;else if(n!=null&&n.tuneInGoal&&h-r.partTarget>n.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${n.tuneInGoal} to: ${g} with playlist age: ${r.age}`),g=0;else{let e=Math.floor(g/r.targetduration);if(f+=e,p!==void 0){let e=Math.round(g%r.targetduration/r.partTarget);p+=e}this.log(`CDN Tune-in age: ${r.ageHeader}s last advanced ${m.toFixed(2)}s goal: ${g} skip sn ${e} to part ${p}`)}r.tuneInGoal=g}if(d=this.getDeliveryDirectives(r,t.deliveryDirectives,f,p),e||!u){r.requestScheduled=a,this.loadingPlaylist(s,d);return}}else(r.canBlockReload||r.canSkipUntil)&&(d=this.getDeliveryDirectives(r,t.deliveryDirectives,f,p));d&&f!==void 0&&r.canBlockReload&&(r.requestScheduled=i.loading.first+Math.max(u-o*2,u/2)),this.scheduleLoading(s,d,r)}else this.clearTimer()}scheduleLoading(e,t,n){let r=n||e.details;if(!r){this.loadingPlaylist(e,t);return}let i=self.performance.now(),a=r.requestScheduled;if(i>=a){this.loadingPlaylist(e,t);return}let o=a-i;this.log(`reload live playlist ${e.name||e.bitrate+`bps`} in ${Math.round(o)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),o)}getDeliveryDirectives(e,t,n,r){let i=HF(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(n=t.msn,r=t.part,i=VF.No),new UF(n,r,i)}checkRetry(e){let t=e.details,n=_I(e),r=e.errorAction,{action:i,retryCount:a=0,retryConfig:o}=r||{},s=!!r&&!!o&&(i===EI.RetryRequest||!r.resolved&&i===EI.SendAlternateToPenaltyBox);if(s){var c;if(a>=o.maxNumRetry)return!1;if(n&&(c=e.context)!=null&&c.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let e=xI(o,a);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),e),this.warn(`Retrying playlist loading ${a+1}/${o.maxNumRetry} after "${t}" in ${e}ms`)}e.levelRetry=!0,r.resolved=!0}return s}};function UB(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!WB(e[n].attrs,t[n].attrs))return!1;return!0}function WB(e,t,n){let r=e[`STABLE-RENDITION-ID`];return r&&!n?r===t[`STABLE-RENDITION-ID`]:!(n||[`LANGUAGE`,`NAME`,`CHARACTERISTICS`,`AUTOSELECT`,`DEFAULT`,`FORCED`,`ASSOC-LANGUAGE`]).some(n=>e[n]!==t[n])}function GB(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||``).toLowerCase())}var KB=class extends HB{constructor(e){super(e,`audio-track-controller`),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Y.LEVEL_LOADING,this.onLevelLoading,this),e.on(Y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Y.LEVEL_LOADING,this.onLevelLoading,this),e.off(Y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Y.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:n,groupId:r,details:i}=t,a=this.tracksInGroup[n];if(!a||a.groupId!==r){this.warn(`Audio track with id:${n} and group:${r} not found in active group ${a?.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Audio track ${n} "${a.name}" lang:${a.lang} group:${r} loaded [${i.startSN}-${i.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let n=t.audioGroups||null,r=this.groupIds,i=this.currentTrack;if(!n||r?.length!==n?.length||n!=null&&n.some(e=>r?.indexOf(e)===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!n||n.indexOf(e.groupId)!==-1);if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>{e.id=t});else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.audioPreference;if(!i&&t){let n=tI(t,e,aI);if(n>-1)i=e[n];else{let e=tI(t,this.tracks);i=this.tracks[e]}}let r=this.findTrackId(i);r===-1&&i&&(r=this.findTrackId(null));let a={audioTracks:e};this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${n?.join(`,`)}`),this.hls.trigger(Y.AUDIO_TRACKS_UPDATED,a);let o=this.trackId;if(r!==-1&&o===-1)this.setAudioTrack(r);else if(e.length&&o===-1){let t=Error(`No audio track selected for current audio group-ID(s): ${this.groupIds?.join(`,`)} track count: ${e.length}`);this.warn(t.message),this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:t})}}}onError(e,t){t.fatal||!t.context||t.context.type===HN.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let n=this.allAudioTracks;if(this.selectDefaultTrack=!1,n.length){let r=this.currentTrack;if(r&&nI(e,r,aI))return r;let i=tI(e,this.tracksInGroup,aI);if(i>-1){let e=this.tracksInGroup[i];return this.setAudioTrack(i),e}if(r){let r=t.loadLevel;r===-1&&(r=t.firstAutoLevel);let i=oI(e,t.levels,n,r,aI);if(i===-1)return null;t.nextLoadLevel=i}if(e.channels||e.audioCodec){let t=tI(e,n);if(t>-1)return n[t]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.selectDefaultTrack=!1;let n=this.currentTrack,r=t[e],i=r.details&&!r.details.live;if(e===this.trackId&&r===n&&i||(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:${r.channels}`),this.trackId=e,this.currentTrack=r,this.hls.trigger(Y.AUDIO_TRACK_SWITCHING,YN({},r)),i))return;let a=this.switchParams(r.url,n?.details,r.details);this.loadPlaylist(a)}findTrackId(e){let t=this.tracksInGroup;for(let n=0;n<t.length;n++){let r=t[n];if(!(this.selectDefaultTrack&&!r.default)&&(!e||nI(e,r,aI)))return n}if(e){let{name:n,lang:r,assocLang:i,characteristics:a,audioCodec:o,channels:s}=e;for(let e=0;e<t.length;e++){let c=t[e];if(nI({name:n,lang:r,assocLang:i,characteristics:a,audioCodec:o,channels:s},c,aI))return e}for(let n=0;n<t.length;n++){let r=t[n];if(WB(e.attrs,r.attrs,[`LANGUAGE`,`ASSOC-LANGUAGE`,`CHARACTERISTICS`]))return n}for(let n=0;n<t.length;n++){let r=t[n];if(WB(e.attrs,r.attrs,[`LANGUAGE`]))return n}}return-1}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;this.shouldLoadPlaylist(t)&&cI(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let n=e.id,r=e.groupId,i=this.getUrlWithDirectives(e.url,t),a=e.details,o=a?.age;this.log(`Loading audio-track ${n} "${e.name}" lang:${e.lang} group:${r}${t?.msn===void 0?``:` at sn `+t.msn+` part `+t.part}${o&&a.live?` age `+o.toFixed(1)+(a.type&&` `+a.type||``):``} ${i}`),this.hls.trigger(Y.AUDIO_TRACK_LOADING,{url:i,id:n,groupId:r,deliveryDirectives:t||null,track:e})}},qB=class{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,n){if(this.queues===null||this.tracks===null)return;let r=this.queues[t];r.push(e),r.length===1&&!n&&this.executeNext(t)}appendBlocker(e){return new Promise(t=>{let n={label:`async-blocker`,execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(n,e)})}prependBlocker(e){return new Promise(t=>{if(this.queues){let n={label:`async-blocker-prepend`,execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(n)}})}removeBlockers(){this.queues!==null&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach(e=>{let t=e[0]?.label;(t===`async-blocker`||t===`async-blocker-prepend`)&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){this.queues!==null&&this.queues.audio[0]===e&&this.shiftAndExecuteNext(`audio`)}executeNext(e){if(this.queues===null||this.tracks===null)return;let t=this.queues[e];if(t.length){let n=t[0];try{n.execute()}catch(t){if(n.onError(t),this.queues===null||this.tracks===null)return;let r=this.tracks[e]?.buffer;r!=null&&r.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues!==null&&(this.queues[e].shift(),this.executeNext(e))}current(e){return this.queues?.[e][0]||null}toString(){let{queues:e,tracks:t}=this;return e===null||t===null?`<destroyed>`:`
1814${this.list(`video`)}
1815${this.list(`audio`)}
1816${this.list(`audiovideo`)}}`}list(e){var t,n;return(t=this.queues)!=null&&t[e]||(n=this.tracks)!=null&&n[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:``}listSbInfo(e){let t=this.tracks?.[e],n=t?.buffer;return n?`SourceBuffer${n.updating?` updating`:``}${t.ended?` ended`:``}${t.ending?` ending`:``}`:`none`}listOps(e){return this.queues?.[e].map(e=>e.label).join(`, `)||``}},JB=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,YB=`HlsJsTrackRemovedError`,XB=class extends Error{constructor(e){super(e),this.name=YB}},ZB=class extends QN{constructor(e,t){super(`buffer-controller`,e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{this.hls&&this.mediaSource?.readyState===`open`&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{let{media:t,mediaSource:n}=this;e&&this.log(`Media source opened`),!(!t||!n)&&(n.removeEventListener(`sourceopen`,this._onMediaSourceOpen),t.removeEventListener(`emptied`,this._onMediaEmptied),this.updateDuration(),this.hls.trigger(Y.MEDIA_ATTACHED,{media:t,mediaSource:n}),this.mediaSource!==null&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log(`Media source closed`)},this._onMediaSourceEnded=()=>{this.log(`Media source ended`)},this._onMediaEmptied=()=>{let{mediaSrc:e,_objectUrl:t}=this;e!==t&&this.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=cP(sP(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&=(this.operationQueue.destroy(),null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null}registerListeners(){let{hls:e}=this;
vendor: 4,176 bytes, lines 1816-1818
1816e.on(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Y.BUFFER_RESET,this.onBufferReset,this),e.on(Y.BUFFER_APPENDING,this.onBufferAppending,this),e.on(Y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Y.BUFFER_EOS,this.onBufferEos,this),e.on(Y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Y.FRAG_PARSED,this.onFragParsed,this),e.on(Y.FRAG_CHANGED,this.onFragChanged,this),e.on(Y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Y.BUFFER_RESET,this.onBufferReset,this),e.off(Y.BUFFER_APPENDING,this.onBufferAppending,this),e.off(Y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Y.BUFFER_EOS,this.onBufferEos,this),e.off(Y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Y.FRAG_PARSED,this.onFragParsed,this),e.off(Y.FRAG_CHANGED,this.onFragChanged,this),e.off(Y.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:t}=this;if(!e)return null;let n={};if(this.operationQueue){let e=this.isUpdating();e||this.operationQueue.removeBlockers();let t=this.isQueued();(e||t)&&this.warn(`Transfering MediaSource with${t?` operations in queue`:``}${e?` updating SourceBuffer(s)`:``} ${this.operationQueue}`),this.operationQueue.destroy()}let r=this.transferData;return!this.sourceBufferCount&&r&&r.mediaSource===t?qN(n,r.tracks):this.sourceBuffers.forEach(e=>{let[t]=e;t&&(n[t]=qN({},this.tracks[t]),this.removeBuffer(t)),e[0]=e[1]=null}),{media:e,mediaSource:t,tracks:n}}initTracks(){let e={};this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var n;let r=2;(t.audio&&!t.video||!t.altAudio)&&(r=1),this.bufferCodecEventsTotal=r,this.log(`${r} bufferCodec event(s) expected.`),(n=this.transferData)!=null&&n.mediaSource&&this.sourceBufferCount&&r&&this.bufferCreated()}onMediaAttaching(e,t){let n=this.media=t.media;this.transferData=this.overrides=void 0;let r=sP(this.appendSource);if(r){let e=!!t.mediaSource;(e||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);let i=this.mediaSource=t.mediaSource||new r;if(this.assignMediaSource(i),e)this._objectUrl=n.src,this.attachTransferred();else{let e=this._objectUrl=self.URL.createObjectURL(i);if(this.appendSource)try{n.removeAttribute(`src`);let t=self.ManagedMediaSource;n.disableRemotePlayback=n.disableRemotePlayback||t&&i instanceof t,QB(n),$B(n,e),n.load()}catch{n.src=e}else n.src=e}n.addEventListener(`emptied`,this._onMediaEmptied)}}assignMediaSource(e){this.log(`${this.transferData?.mediaSource===e?`transferred`:`created`} media source: ${e.constructor?.name}`),e.addEventListener(`sourceopen`,this._onMediaSourceOpen),e.addEventListener(`sourceended`,this._onMediaSourceEnded),e.addEventListener(`sourceclose`,this._onMediaSourceClose),this.appendSource&&(e.addEventListener(`startstreaming`,this._onStartStreaming),e.addEventListener(`endstreaming`,this._onEndStreaming))}attachTransferred(){let e=this.media,t=this.transferData;if(!t||!e)return;let n=this.tracks,r=t.tracks,i=r?Object.keys(r):null,a=i?i.length:0,o=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(r&&i&&a){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log(`attachTransferred: waiting for SourceBuffer track info`);return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
1817required tracks: ${YF(n,(e,t)=>e===`initSegment`?void 0:t)};
1818transfer tracks: ${YF(r,(e,t)=>e===`initSegment`?void 0:t)}}`),!lP(r,n)){t.mediaSource=null,t.tracks=void 0;let i=e.currentTime,a=this.details,o=Math.max(i,a?.fragments[0].start||0
vendor: 19,385 bytes, line 1818
1818);if(o-i>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${i} -> ${o}`);return}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(r)}"->"${Object.keys(n)}") start time: ${o} currentTime: ${i}`),this.onMediaDetaching(Y.MEDIA_DETACHING,{}),this.onMediaAttaching(Y.MEDIA_ATTACHING,t),e.currentTime=o;return}this.transferData=void 0,i.forEach(e=>{let t=e,n=r[t];if(n){let e=n.buffer;if(e){let r=this.fragmentTracker,i=n.id;if(r.hasFragments(i)||r.hasParts(i)){let n=$I.getBuffered(e);r.detectEvictedFragments(t,n,i,null,!0)}let a=eV(t),o=[t,e];this.sourceBuffers[a]=o,e.updating&&this.operationQueue&&this.operationQueue.prependBlocker(t),this.trackSourceBuffer(t,n)}}}),o(),this.bufferCreated()}else this.log(`attachTransferred: MediaSource w/o SourceBuffers`),o()}get mediaSourceOpenOrEnded(){let e=this.mediaSource?.readyState;return e===`open`||e===`ended`}onMediaDetaching(e,t){let n=!!t.transferMedia;this.transferData=this.overrides=void 0;let{media:r,mediaSource:i,_objectUrl:a}=this;if(i){if(this.log(`media source ${n?`transferring`:`detaching`}`),n)this.sourceBuffers.forEach(([e])=>{e&&this.removeBuffer(e)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let e=i.readyState===`open`;try{let t=i.sourceBuffers;for(let n=t.length;n--;)e&&t[n].abort(),i.removeSourceBuffer(t[n]);e&&i.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}i.removeEventListener(`sourceopen`,this._onMediaSourceOpen),i.removeEventListener(`sourceended`,this._onMediaSourceEnded),i.removeEventListener(`sourceclose`,this._onMediaSourceClose),this.appendSource&&(i.removeEventListener(`startstreaming`,this._onStartStreaming),i.removeEventListener(`endstreaming`,this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}r&&(r.removeEventListener(`emptied`,this._onMediaEmptied),n||(a&&self.URL.revokeObjectURL(a),this.mediaSrc===a?(r.removeAttribute(`src`),this.appendSource&&QB(r),r.load()):this.warn(`media|source.src was changed by a third party - skip cleanup`)),this.media=null),this.hls.trigger(Y.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){let t=this.tracks[e]?.buffer;if(this.removeBuffer(e),t)try{var n;(n=this.mediaSource)!=null&&n.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t)}catch(t){this.warn(`onBufferReset ${e}`,t)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[eV(e)]=[null,null];let t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new qB(this.tracks)}onBufferCodecs(e,t){let n=this.tracks,r=Object.keys(t);this.log(`BUFFER_CODECS: "${r}" (current SB count ${this.sourceBufferCount})`);let i=`audiovideo`in t&&(n.audio||n.video)||n.audiovideo&&(`audio`in t||`video`in t),a=!i&&this.sourceBufferCount&&this.media&&r.some(e=>!n[e]);if(i||a){this.warn(`Unsupported transition between "${Object.keys(n)}" and "${r}" SourceBuffers`);return}r.forEach(e=>{var r;let{id:i,codec:a,levelCodec:o,container:s,metadata:c,supplemental:l}=t[e],u=n[e],d=(r=this.transferData)==null||(r=r.tracks)==null?void 0:r[e],f=d!=null&&d.buffer?d:u,p=f?.pendingCodec||f?.codec,m=f?.levelCodec;u||=n[e]={buffer:void 0,listeners:[],codec:a,supplemental:l,container:s,levelCodec:o,metadata:c,id:i};let h=bF(p,m),g=h?.replace(JB,`$1`),_=bF(a,o),v=_?.replace(JB,`$1`);_&&h&&g!==v&&(e.slice(0,5)===`audio`&&(_=vF(_,this.appendSource)),this.log(`switching codec ${p} to ${_}`),_!==(u.pendingCodec||u.codec)&&(u.pendingCodec=_),u.container=s,this.appendChangeType(e,s,_))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(this.bufferCodecEventsTotal>1&&!this.tracks.video&&!t.video&&t.audio?.id===`main`&&(this.log(`Main audio-only`),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks())}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{let n=this.tracks[t];return e[t]={id:n.id,container:n.container,codec:n.codec,levelCodec:n.levelCodec},e},{})}appendChangeType(e,t,n){let r=`${t};codecs=${n}`,i={label:`change-type=${r}`,execute:()=>{let i=this.tracks[e];if(i){let a=i.buffer;a!=null&&a.changeType&&(this.log(`changing ${e} sourceBuffer type to ${r}`),a.changeType(r),i.codec=n,i.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:t=>{this.warn(`Failed to change ${e} SourceBuffer type`,t)}};this.append(i,e,this.isPending(this.tracks[e]))}blockAudio(e){let t=e.start,n=t+e.duration*.05;if(this.fragmentTracker.getAppendedFrag(t,UN.MAIN)?.gap===!0)return;let r={label:`block-audio`,execute:()=>{let e=this.tracks.video;(this.lastVideoAppendEnd>n||e!=null&&e.buffer&&$I.isBuffered(e.buffer,n)||this.fragmentTracker.getAppendedFrag(n,UN.MAIN)?.gap===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext(`audio`))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn(`Error executing block-audio operation`,e)}};this.blockedAudioAppend={op:r,frag:e},this.append(r,`audio`,!0)}unblockAudio(){let{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){let{tracks:n}=this,{data:r,type:i,parent:a,frag:o,part:s,chunkMeta:c,offset:l}=t,u=c.buffering[i],{sn:d,cc:f}=o,p=self.performance.now();u.start=p;let m=o.stats.buffering,h=s?s.stats.buffering:null;m.start===0&&(m.start=p),h&&h.start===0&&(h.start=p);let g=n.audio,_=!1;i===`audio`&&g?.container===`audio/mpeg`&&(_=!this.lastMpegAudioChunk||c.id===1||this.lastMpegAudioChunk.sn!==c.sn,this.lastMpegAudioChunk=c);let v=n.video,y=v?.buffer;if(y&&d!==`initSegment`){let e=s||o,t=this.blockedAudioAppend;if(i===`audio`&&a!==`main`&&!this.blockedAudioAppend&&!(v.ending||v.ended)){let t=e.start+e.duration*.05,n=y.buffered,r=this.currentOp(`video`);(!n.length&&!r||!r&&!$I.isBuffered(y,t)&&this.lastVideoAppendEnd<t)&&this.blockAudio(e)}else if(i===`video`){let n=e.end;if(t){let e=t.frag.start;(n>e||n<this.lastVideoAppendEnd||$I.isBuffered(y,e))&&this.unblockAudio()}this.lastVideoAppendEnd=n}}let b=(s||o).start,x={label:`append-${i}`,execute:()=>{u.executeStart=self.performance.now();let e=this.tracks[i]?.buffer;e&&(_?this.updateTimestampOffset(e,b,.1,i,d,f):l!==void 0&&q(l)&&this.updateTimestampOffset(e,l,1e-6,i,d,f)),this.appendExecutor(r,i)},onStart:()=>{},onComplete:()=>{let e=self.performance.now();u.executeEnd=u.end=e,m.first===0&&(m.first=e),h&&h.first===0&&(h.first=e);let t={};this.sourceBuffers.forEach(([e,n])=>{e&&(t[e]=$I.getBuffered(n))}),this.appendErrors[i]=0,i===`audio`||i===`video`?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(Y.BUFFER_APPENDED,{type:i,frag:o,part:s,chunkMeta:c,parent:o.type,timeRanges:t})},onError:e=>{let t={type:VN.MEDIA_ERROR,parent:o.type,details:J.BUFFER_APPEND_ERROR,sourceBufferName:i,frag:o,part:s,chunkMeta:c,error:e,err:e,fatal:!1},n=this.media?.error;if(e.code===DOMException.QUOTA_EXCEEDED_ERR||e.name==`QuotaExceededError`||`quota`in e)t.details=J.BUFFER_FULL_ERROR;else if(e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!n)t.errorAction=kI(!0);else if(e.name===YB&&this.sourceBufferCount===0)t.errorAction=kI(!0);else{let e=++this.appendErrors[i];this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${i}" sourceBuffer (${n||`no media error`})`),(e>=this.hls.config.appendErrorMaxRetry||n)&&(t.fatal=!0)}this.hls.trigger(Y.ERROR,t)}};this.log(`queuing "${i}" append sn: ${d}${s?` p: `+s.index:``} of ${o.type===UN.MAIN?`level`:`track`} ${o.level} cc: ${f}`),this.append(x,i,this.isPending(this.tracks[i]))}getFlushOp(e,t,n){return this.log(`queuing "${e}" remove ${t}-${n}`),{label:`remove`,execute:()=>{this.removeExecutor(e,t,n)},onStart:()=>{},onComplete:()=>{this.hls.trigger(Y.BUFFER_FLUSHED,{type:e})},onError:r=>{this.warn(`Failed to remove ${t}-${n} from "${e}" SourceBuffer`,r)}}}onBufferFlushing(e,t){let{type:n,startOffset:r,endOffset:i}=t;n?this.append(this.getFlushOp(n,r,i),n):this.sourceBuffers.forEach(([e])=>{e&&this.append(this.getFlushOp(e,r,i),e)})}onFragParsed(e,t){let{frag:n,part:r}=t,i=[],a=r?r.elementaryStreams:n.elementaryStreams;a[yP.AUDIOVIDEO]?i.push(`audiovideo`):(a[yP.AUDIO]&&i.push(`audio`),a[yP.VIDEO]&&i.push(`video`)),i.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${n.type} level: ${n.level} sn: ${n.sn}`),this.blockBuffers(()=>{let e=self.performance.now();n.stats.buffering.end=e,r&&(r.stats.buffering.end=e);let t=r?r.stats:n.stats;this.hls.trigger(Y.FRAG_BUFFERED,{frag:n,part:r,stats:t,id:n.type})},i).catch(e=>{this.warn(`Fragment buffered callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let t=this.tracks[e];if(t)return!t.ended||t.ending}return!1})}onBufferEos(e,t){this.sourceBuffers.forEach(([e])=>{if(e){let n=this.tracks[e];(!t.type||t.type===e)&&(n.ending=!0,n.ended||(n.ended=!0,this.log(`${e} buffer reached EOS`)))}});let n=this.overrides?.endOfStream!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{var t;return e&&!((t=this.tracks[e])!=null&&t.ended)})?n?(this.log(`Queueing EOS`),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:e}=this;if(!e||e.readyState!==`open`){e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`);return}this.log(`Calling mediaSource.endOfStream()`),e.endOfStream(),this.hls.trigger(Y.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(Y.BUFFERED_TO_END,void 0)):t.type===`video`&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){let t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===J.BUFFER_APPEND_ERROR&&t.frag){let e=t.errorAction?.nextAutoLevel;q(e)&&e!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){let{hls:e,details:t,media:n}=this;if(!n||t===null||!this.sourceBufferCount)return;let r=e.config,i=n.currentTime,a=t.levelTargetDuration,o=t.live&&r.liveBackBufferLength!==null?r.liveBackBufferLength:r.backBufferLength;if(q(o)&&o>=0){let e=Math.max(o,a),t=Math.floor(i/a)*a-e;this.flushBackBuffer(i,a,t)}let s=r.frontBufferFlushThreshold;if(q(s)&&s>0){let e=Math.max(r.maxBufferLength,s),t=Math.max(e,a),n=Math.floor(i/a)*a+t;this.flushFrontBuffer(i,a,n)}}flushBackBuffer(e,t,n){this.sourceBuffers.forEach(([e,t])=>{if(t){let i=$I.getBuffered(t);if(i.length>0&&n>i.start(0)){var r;this.hls.trigger(Y.BACK_BUFFER_REACHED,{bufferEnd:n});let t=this.tracks[e];if((r=this.details)!=null&&r.live)this.hls.trigger(Y.LIVE_BACK_BUFFER_REACHED,{bufferEnd:n});else if(t!=null&&t.ended){this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(Y.BUFFER_FLUSHING,{startOffset:0,endOffset:n,type:e})}}})}flushFrontBuffer(e,t,n){this.sourceBuffers.forEach(([t,r])=>{if(r){let i=$I.getBuffered(r),a=i.length;if(a<2)return;let o=i.start(a-1),s=i.end(a-1);if(n>o||e>=o&&e<=s)return;this.hls.trigger(Y.BUFFER_FLUSHING,{startOffset:o,endOffset:1/0,type:t})}})}getDurationAndRange(){let{details:e,mediaSource:t}=this;if(!e||!this.media||t?.readyState!==`open`)return null;let n=e.edge;if(e.live&&this.hls.config.liveDurationInfinity){if(e.fragments.length&&t.setLiveSeekableRange){let t=Math.max(0,e.fragmentStart);return{duration:1/0,start:t,end:Math.max(t,n)}}return{duration:1/0}}let r=this.overrides?.duration;if(r)return q(r)?{duration:r}:null;let i=this.media.duration;return n>(q(t.duration)?t.duration:0)&&n>i||!q(i)?{duration:n}:null}updateMediaSource({duration:e,start:t,end:n}){let r=this.mediaSource;!this.media||!r||r.readyState!==`open`||(r.duration!==e&&(q(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),r.duration=e),t!==void 0&&n!==void 0&&(this.log(`MediaSource duration is set to ${r.duration}. Setting seekable range to ${t}-${n}.`),r.setLiveSeekableRange(t,n)))}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:n}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${YF(n)}`),this.tracksReady){let e=this.transferData?.tracks;e&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([t,n])=>{if(t){let r=this.tracks[t];e[t]={buffer:n,container:r.container,codec:r.codec,supplemental:r.supplemental,levelCodec:r.levelCodec,id:r.id,metadata:r.metadata}}}),this.hls.trigger(Y.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([e])=>{this.executeNext(e)})}else{let e=Error(`could not create source buffer for media codec(s)`);this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:t,mediaSource:n}=this;if(!n)throw Error(`createSourceBuffers called when mediaSource was null`);for(let i in e){let a=i,o=e[a];if(this.isPending(o)){let e=this.getTrackCodec(o,a),i=`${o.container};codecs=${e}`;o.codec=e,this.log(`creating sourceBuffer(${i})${this.currentOp(a)?` Queued`:``} ${YF(o)}`);try{let e=n.addSourceBuffer(i),r=eV(a);t[r]=[a,e],o.buffer=e}catch(e){var r;this.error(`error while trying to add sourceBuffer: ${e.message}`),this.shiftAndExecuteNext(a),(r=this.operationQueue)==null||r.removeBlockers(),delete this.tracks[a],this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:a,mimeType:i,parent:o.id});return}this.trackSourceBuffer(a,o)}}this.bufferCreated()}getTrackCodec(e,t){let n=e.supplemental,r=e.codec;n&&(t===`video`||t===`audiovideo`)&&uF(n,`video`)&&(r=yF(r,n));let i=bF(r,e.levelCodec);return i?t.slice(0,5)===`audio`?vF(i,this.appendSource):i:``}trackSourceBuffer(e,t){let n=t.buffer;if(!n)return;let r=this.getTrackCodec(t,e);this.tracks[e]={buffer:n,codec:r,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,`updatestart`,this.onSBUpdateStart),this.addBufferListener(e,`updateend`,this.onSBUpdateEnd),this.addBufferListener(e,`error`,this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,`bufferedchange`,(e,t)=>{let n=t.removedRanges;n!=null&&n.length&&this.hls.trigger(Y.BUFFER_FLUSHED,{type:e})})}get mediaSrc(){var e,t;return(((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,`source`))||this.media)?.src}onSBUpdateStart(e){let t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){if(this.mediaSource?.readyState===`closed`){this.resetBuffer(e);return}let t=this.currentOp(e);t&&(t.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){let n=Error(`${e} SourceBuffer error. MediaSource readyState: ${this.mediaSource?.readyState}`);this.error(`${n}`,t),this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:n,fatal:!1});let r=this.currentOp(e);r&&r.onError(n)}updateTimestampOffset(e,t,n,r,i,a){let o=t-e.timestampOffset;Math.abs(o)>=n&&(this.log(`Updating ${r} SourceBuffer timestampOffset to ${t} (sn: ${i} cc: ${a})`),e.timestampOffset=t)}removeExecutor(e,t,n){let{media:r,mediaSource:i}=this,a=this.tracks[e],o=a?.buffer;if(!r||!i||!o){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}let s=q(r.duration)?r.duration:1/0,c=q(i.duration)?i.duration:1/0,l=Math.max(0,t),u=Math.min(n,s,c);u>l&&(!a.ending||a.ended)?(a.ended=!1,this.log(`Removing [${l},${u}] from the ${e} SourceBuffer`),o.remove(l,u)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){let n=this.tracks[t],r=n?.buffer;if(!r)throw new XB(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);n.ending=!1,n.ended=!1,r.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(e=>{this.warn(`SourceBuffer blocked callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} ${e}`)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log(`Blocking operation requested, but no SourceBuffers exist`),Promise.resolve().then(e);let{operationQueue:n}=this,r=t.map(e=>this.appendBlocker(e));return t.length>1&&this.blockedAudioAppend&&this.unblockAudio(),Promise.all(r).then(t=>{n===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(e=>{let t=this.tracks[e]?.buffer;!t||t.updating||this.shiftAndExecuteNext(e)})}append(e,t,n){this.operationQueue&&this.operationQueue.append(e,t,n)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+ +!!this.isPending(this.tracks[t]),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+ +!!t,0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,n){let r=this.tracks[e];if(!r)return;let i=r.buffer;if(!i)return;let a=n.bind(this,e);r.listeners.push({event:t,listener:a}),i.addEventListener(t,a)}removeBufferListeners(e){let t=this.tracks[e];if(!t)return;let n=t.buffer;n&&(t.listeners.forEach(e=>{n.removeEventListener(e.event,e.listener)}),t.listeners.length=0)}};function QB(e){let t=e.querySelectorAll(`source`);[].slice.call(t).forEach(t=>{e.removeChild(t)})}function $B(e,t){let n=self.document.createElement(`source`);n.type=`video/mp4`,n.src=t,e.appendChild(n)}function eV(e){return+(e===`audio`)}var tV=class e{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=1/0,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(Y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(Y.MEDIA_ATTA
1818CHING,this.onMediaAttaching,this),e.on(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(Y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){let n=this.hls.levels[t.droppedLevel];this.isLevelAllowed(n)&&this.restrictedLevels.push({bitrate:n.bitrate,height:n.height,width:n.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let n=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,n.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&q(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,n=this.getMaxLevel(e.length-1);n!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${n}: ${e[n].height}p@${e[n].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=n,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(t){let n=this.hls.levels;if(!n.length)return-1;let r=n.filter((e,n)=>this.isLevelAllowed(e)&&n<=t);return this.clientRect=null,e.getMaxLevelByMediaSize(r,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=1/0,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=1/0,this.timer&&=(self.clearInterval(this.timer),void 0)}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let n=e.getBoundingClientRect();t.width=n.width,t.height=n.height,!t.width&&!t.height&&(t.width=n.right-n.left||e.width||0,t.height=n.bottom-n.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch{}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(t=>e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height)}static getMaxLevelByMediaSize(e,t,n){if(!(e!=null&&e.length))return-1;let r=(e,t)=>!t||e.width!==t.width||e.height!==t.height,i=e.length-1,a=Math.max(t,n);for(let t=0;t<e.length;t+=1){let n=e[t];if((n.width>=a||n.height>=a)&&r(n,e[t+1])){i=t;break}}return i}},nV={MANIFEST:`m`,AUDIO:`a`,VIDEO:`v`,MUXED:`av`,INIT:`i`,CAPTION:`c`,TIMED_TEXT:`tt`,KEY:`k`,OTHER:`o`},rV={HLS:`h`},iV=class e{constructor(t,n){Array.isArray(t)&&(t=t.map(t=>t instanceof e?t:new e(t))),this.value=t,this.params=n}},aV=`Dict`;function oV(e){return Array.isArray(e)?JSON.stringify(e):e instanceof Map?`Map{}`:e instanceof Set?`Set{}`:typeof e==`object`?JSON.stringify(e):String(e)}function sV(e,t,n,r){return Error(`failed to ${e} "${oV(t)}" as ${n}`,{cause:r})}function cV(e,t,n){return sV(`serialize`,e,t,n)}var lV=class{constructor(e){this.description=e}},uV=`Bare Item`,dV=`Boolean`;function fV(e){if(typeof e!=`boolean`)throw cV(e,dV);return e?`?1`:`?0`}function pV(e){return btoa(String.fromCharCode(...e))}var mV=`Byte Sequence`;function hV(e){if(ArrayBuffer.isView(e)===!1)throw cV(e,mV);return`:${pV(e)}:`}var gV=`Integer`;function _V(e){return e<-999999999999999||999999999999999<e}function vV(e){if(_V(e))throw cV(e,gV);return e.toString()}function yV(e){return`@${vV(e.getTime()/1e3)}`}function bV(e,t){if(e<0)return-bV(-e,t);let n=10**t;if(Math.abs(e*n%1-.5)<2**-52){let t=Math.floor(e*n);return(t%2==0?t:t+1)/n}return Math.round(e*n)/n}var xV=`Decimal`;function SV(e){let t=bV(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw cV(e,xV);let n=t.toString();return n.includes(`.`)?n:`${n}.0`}var CV=`String`,wV=/[\x00-\x1f\x7f]+/;function TV(e){if(wV.test(e))throw cV(e,CV);return`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`}function EV(e){return e.description||e.toString().slice(7,-1)}var DV=`Token`;function OV(e){let t=EV(e);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t)===!1)throw cV(t,DV);return t}function kV(e){switch(typeof e){case`number`:if(!q(e))throw cV(e,uV);return Number.isInteger(e)?vV(e):SV(e);case`string`:return TV(e);case`symbol`:return OV(e);case`boolean`:return fV(e);case`object`:if(e instanceof Date)return yV(e);if(e instanceof Uint8Array)return hV(e);if(e instanceof lV)return OV(e);default:throw cV(e,uV)}}var AV=`Key`;function jV(e){if(/^[a-z*][a-z0-9\-_.*]*$/.test(e)===!1)throw cV(e,AV);return e}function MV(e){return e==null?``:Object.entries(e).map(([e,t])=>t===!0?`;${jV(e)}`:`;${jV(e)}=${kV(t)}`).join(``)}function NV(e){return e instanceof iV?`${kV(e.value)}${MV(e.params)}`:kV(e)}function PV(e){return`(${e.value.map(NV).join(` `)})${MV(e.params)}`}function FV(e,t={whitespace:!0}){if(typeof e!=`object`||!e)throw cV(e,aV);let n=e instanceof Map?e.entries():Object.entries(e),r=t?.whitespace?` `:``;return Array.from(n).map(([e,t])=>{t instanceof iV||(t=new iV(t));let n=jV(e);return t.value===!0?n+=MV(t.params):(n+=`=`,Array.isArray(t.value)?n+=PV(t):n+=NV(t)),n}).join(`,${r}`)}function IV(e,t){return FV(e,t)}var LV=`CMCD-Object`,RV=`CMCD-Request`,zV=`CMCD-Session`,BV=`CMCD-Status`,VV={br:LV,ab:LV,d:LV,ot:LV,tb:LV,tpb:LV,lb:LV,tab:LV,lab:LV,url:LV,pb:RV,bl:RV,tbl:RV,dl:RV,ltc:RV,mtp:RV,nor:RV,nrr:RV,rc:RV,sn:RV,sta:RV,su:RV,ttfb:RV,ttfbb:RV,ttlb:RV,cmsdd:RV,cmsds:RV,smrt:RV,df:RV,cs:RV,ts:RV,cid:zV,pr:zV,sf:zV,sid:zV,st:zV,v:zV,msd:zV,bs:BV,bsd:BV,cdn:BV,rtp:BV,bg:BV,pt:BV,ec:BV,e:BV},HV={REQUEST:RV};function UV(e){return Object.keys(e).reduce((t,n)=>{var r;
1818return(r=e[n])==null||r.forEach(e=>t[e]=n),t},{})}function WV(e,t){let n={};if(!e)return n;let r=Object.keys(e),i=t?UV(t):{};return r.reduce((t,n)=>{let r=VV[n]||i[n]||HV.REQUEST,a=t[r]??(t[r]={});return a[n]=e[n],t},n)}function GV(e){return[`ot`,`sf`,`st`,`e`,`sta`].includes(e)}function KV(e){return typeof e==`number`?q(e):e!=null&&e!==``&&e!==!1}var qV=`event`;function JV(e,t){let n=new URL(e),r=new URL(t);if(n.origin!==r.origin)return e;let i=n.pathname.split(`/`).slice(1),a=r.pathname.split(`/`).slice(1,-1);for(;i[0]===a[0];)i.shift(),a.shift();for(;a.length;)a.shift(),i.unshift(`..`);return i.join(`/`)+n.search+n.hash}var YV=e=>Math.round(e),XV=(e,t)=>Array.isArray(e)?e.map(e=>XV(e,t)):e instanceof iV&&typeof e.value==`string`?new iV(XV(e.value,t),e.params):(t.baseUrl&&(e=JV(e,t.baseUrl)),t.version===1?encodeURIComponent(e):e),ZV=e=>YV(e/100)*100,QV={br:YV,d:YV,bl:ZV,dl:ZV,mtp:ZV,nor:(e,t)=>{let n=e;return t.version>=2&&(e instanceof iV&&typeof e.value==`string`?n=new iV([e]):typeof e==`string`&&(n=[e])),XV(n,t)},rtp:ZV,tb:YV},$V=`request`,eH=`response`,tH=`ab.bg.bl.br.bs.bsd.cdn.cid.cs.df.ec.lab.lb.ltc.msd.mtp.pb.pr.pt.sf.sid.sn.st.sta.tab.tb.tbl.tpb.ts.v`.split(`.`),nH=[`e`],rH=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function iH(e){return rH.test(e)}function aH(e){return tH.includes(e)||nH.includes(e)||iH(e)}var oH=[`d`,`dl`,`nor`,`ot`,`rtp`,`su`];function sH(e){return tH.includes(e)||oH.includes(e)||iH(e)}var cH=[`cmsdd`,`cmsds`,`rc`,`smrt`,`ttfb`,`ttfbb`,`ttlb`,`url`];function lH(e){return tH.includes(e)||oH.includes(e)||cH.includes(e)||iH(e)}var uH=[`bl`,`br`,`bs`,`cid`,`d`,`dl`,`mtp`,`nor`,`nrr`,`ot`,`pr`,`rtp`,`sf`,`sid`,`st`,`su`,`tb`,`v`];function dH(e){return uH.includes(e)||iH(e)}var fH={[eH]:lH,[qV]:aH,[$V]:sH};function pH(e,t={}){let n={};if(typeof e!=`object`||!e)return n;let r=t.version||e.v||1,i=t.reportingMode||$V,a=r===1?dH:fH[i],o=Object.keys(e).filter(a),s=t.filter;typeof s==`function`&&(o=o.filter(s));let c=i===eH||i===qV;c&&!o.includes(`ts`)&&o.push(`ts`),r>1&&!o.includes(`v`)&&o.push(`v`);let l=qN({},QV,t.formatters),u={version:r,reportingMode:i,baseUrl:t.baseUrl};return o.sort().forEach(t=>{let i=e[t],a=l[t];if(typeof a==`function`&&(i=a(i,u)),t===`v`){if(r===1)return;i=r}(t!=`pr`||i!==1)&&(c&&t===`ts`&&!q(i)&&(i=Date.now()),KV(i)&&(GV(t)&&typeof i==`string`&&(i=new lV(i)),n[t]=i))}),n}function mH(e,t={}){let n={};if(!e)return n;let r=WV(pH(e,t),t?.customHeaderMap);return Object.entries(r).reduce((e,[t,n])=>{let r=IV(n,{whitespace:!1});return r&&(e[t]=r),e},n)}function hH(e,t,n){return qN(e,mH(t,n))}var gH=`CMCD`;function _H(e,t={}){return e?IV(pH(e,t),{whitespace:!1}):``}function vH(e,t={}){if(!e)return``;let n=_H(e,t);return encodeURIComponent(n)}function yH(e,t={}){return e?`${gH}=${vH(e,t)}`:``}var bH=/CMCD=[^&#]+/;function xH(e,t,n){let r=yH(t,n);return r?bH.test(e)?e.replace(bH,r):`${e}${e.includes(`?`)?`&`:`?`}${r}`:e}var SH=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||=!0,this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:nV.MANIFEST,su:!this.initialized})}catch(e){this.hls.logger.warn(`Could not generate manifest CMCD data.`,e)}},this.applyFragmentData=e=>{try{let{frag:t,part:n}=e,r=this.hls.levels[t.level],i=this.getObjectType(t),a={d:(n||t).duration*1e3,ot:i};(i===nV.VIDEO||i===nV.AUDIO||i==nV.MUXED)&&(a.br=r.bitrate/1e3,a.tb=this.getTopBandwidth(i)/1e3,a.bl=this.getBufferLength(i));let o=n?this.getNextPart(n):this.getNextFrag(t);o!=null&&o.url&&o.url!==t.url&&(a.nor=o.url),this.apply(e,a)}catch(e){this.hls.logger.warn(`Could not generate segment CMCD data.`,e)}},this.hls=e;let t=this.config=e.config,{cmcd:n}=t;n!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=n.sessionId||e.sessionId,this.cid=n.contentId,this.useHeaders=n.useHeaders===!0,this.includeKeys=n.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;
vendor: 10,258 bytes, line 1818
1818e.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Y.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Y.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Y.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Y.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener(`waiting`,this.onWaiting),this.media.addEventListener(`playing`,this.onPlaying)}onMediaDetached(){this.media&&=(this.media.removeEventListener(`waiting`,this.onWaiting),this.media.removeEventListener(`playing`,this.onPlaying),null)}onBufferCreated(e,t){this.audioBuffer=t.tracks.audio?.buffer,this.videoBuffer=t.tracks.video?.buffer}createData(){return{v:1,sf:rV.HLS,sid:this.sid,cid:this.cid,pr:this.media?.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){qN(t,this.createData());let n=t.ot===nV.INIT||t.ot===nV.VIDEO||t.ot===nV.MUXED;this.starved&&n&&(t.bs=!0,t.su=!0,this.starved=!1),t.su??(t.su=this.buffering);let{includeKeys:r}=this;r&&(t=Object.keys(t).reduce((e,n)=>(r.includes(n)&&(e[n]=t[n]),e),{}));let i={baseUrl:e.url};this.useHeaders?(e.headers||={},hH(e.headers,t,i)):e.url=xH(e.url,t,i)}getNextFrag(e){let t=this.hls.levels[e.level]?.details;if(t){let n=e.sn-t.startSN;return t.fragments[n+1]}}getNextPart(e){var t;let{index:n,fragment:r}=e,i=(t=this.hls.levels[r.level])==null||(t=t.details)==null?void 0:t.partList;if(i){let{sn:e}=r;for(let t=i.length-1;t>=0;t--){let r=i[t];if(r.index===n&&r.fragment.sn===e)return i[t+1]}}}getObjectType(e){let{type:t}=e;if(t===`subtitle`)return nV.TIMED_TEXT;if(e.sn===`initSegment`)return nV.INIT;if(t===`audio`)return nV.AUDIO;if(t===`main`)return this.hls.audioTracks.length?nV.VIDEO:nV.MUXED}getTopBandwidth(e){let t=0,n,r=this.hls;if(e===nV.AUDIO)n=r.audioTracks;else{let e=r.maxAutoLevel,t=e>-1?e+1:r.levels.length;n=r.levels.slice(0,t)}return n.forEach(e=>{e.bitrate>t&&(t=e.bitrate)}),t>0?t:NaN}getBufferLength(e){let t=this.media,n=e===nV.AUDIO?this.audioBuffer:this.videoBuffer;return!n||!t?NaN:$I.bufferInfo(n,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,n=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new n(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,n,r){t(e),this.loader.load(e,n,r)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,n=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new n(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,n,r){t(e),this.loader.load(e,n,r)}}}},CH=3e5,wH=class extends QN{constructor(e){super(`content-steering`,e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=`.`,this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Y.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Y.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(e.indexOf(t.pathwayId)===-1&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&=(this.loader.destroy(),null),this.clearTimeout()}clearTimeout(){this.reloadTimer!==-1&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(t=>t!==e))}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=`.`,this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,t){let{contentSteering:n}=t;n!==null&&(this.pathwayId=n.pathwayId,this.uri=n.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){let{errorAction:n}=t;if(n?.action===EI.SendAlternateToPenaltyBox&&n.flags===DI.MoveAllAlternatesMatchingHost){let e=this.levels,r=this._pathwayPriority,i=this.pathwayId;if(t.context){let{groupId:n,pathwayId:r,type:a}=t.context;n&&e?i=this.getPathwayForGroupId(n,a,i):r&&(i=r)}i in this.penalizedPathways||(this.penalizedPathways[i]=performance.now()),!r&&e&&(r=this.pathways()),r&&r.length>1&&(this.updatePathwayPriority(r),n.resolved=this.pathwayId!==i),t.details===J.BUFFER_APPEND_ERROR&&!t.fatal?n.resolved=!0:n.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${i} levels: ${e&&e.length} priorities: ${YF(r)} penalized: ${YF(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let n=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${n}"`),t=this.getLevelsForPathway(n),this.pathwayId=n}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this._pathwayPriority=e;let t,n=this.penalizedPathways,r=performance.now();Object.keys(n).forEach(e=>{r-n[e]>CH&&delete n[e]});for(let r=0;r<e.length;r++){let i=e[r];if(i in n)continue;if(i===this.pathwayId)return;let a=this.hls.nextLoadLevel,o=this.hls.levels[a];if(t=this.getLevelsForPathway(i),t.length>0){this.log(`Setting Pathway to "${i}"`),this.pathwayId=i,gR(t),this.hls.trigger(Y.LEVELS_UPDATED,{levels:t});let e=this.hls.levels[a];o&&e&&this.levels&&(e.attrs[`STABLE-VARIANT-ID`]!==o.attrs[`STABLE-VARIANT-ID`]&&e.bitrate!==o.bitrate&&this.log(`Unstable Pathways change from bitrate ${o.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=a);break}}}getPathwayForGroupId(e,t,n){let r=this.getLevelsForPathway(n).concat(this.levels||[]);for(let n=0;n<r.length;n++)if(t===HN.AUDIO_TRACK&&r[n].hasAudioGroup(e)||t===HN.SUBTITLE_TRACK&&r[n].hasSubtitleGroup(e))return r[n].pathwayId;return n}clonePathways(e){let t=this.levels;if(!t)return;let n={},r={};e.forEach(e=>{let{ID:i,"BASE-ID":a,"URI-REPLACEMENT":o}=e;if(t.some(e=>e.pathwayId===i))return;let s=this.getLevelsForPathway(a).map(e=>{let t=new sL(e.attrs);t[`PATHWAY-ID`]=i;let a=t.AUDIO&&`${t.AUDIO}_clone_${i}`,s=t.SUBTITLES&&`${t.SUBTITLES}_clone_${i}`;a&&(n[t.AUDIO]=a,t.AUDIO=a),s&&(r[t.SUBTITLES]=s,t.SUBTITLES=s);let c=EH(e.uri,t[`STABLE-VARIANT-ID`],`PER-VARIANT-URIS`,o),l=new WF({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:c,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let t=1;t<e.audioGroups.length;t++)l.addGroupId(`audio`,`${e.audioGroups[t]}_clone_${i}`);if(e.subtitleGroups)for(let t=1;t<e.subtitleGroups.length;t++)l.addGroupId(`text`,`${e.subtitleGroups[t]}_clone_${i}`);return l});t.push(...s),TH(this.audioTracks,n,o,i),TH(this.subtitleTracks,r,o,i)})}loadSteeringManifest(e){let t=this.hls.config,n=t.loader;this.loader&&this.loader.destroy(),this.loader=new n(t);let r;try{r=new self.URL(e)}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(r.protocol!==`data:`){let e=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;r.searchParams.set(`_HLS_pathway`,this.pathwayId),r.searchParams.set(`_HLS_throughput`,``+e)}let i={responseType:`json`,url:r.href},a=t.steeringManifestLoadPolicy.default,o=a.errorRetry||a.timeoutRetry||{},s={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0};this.log(`Requesting steering manifest: ${r}`),this.loader.load(i,s,{onSuccess:(e,t,n,i)=>{this.log(`Loaded steering manifest: "${r}"`);let a=e.data;if(a?.VERSION!==1){this.log(`Steering VERSION ${a.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=a.TTL;let{"RELOAD-URI":o,"PATHWAY-CLONES":s,"PATHWAY-PRIORITY":c}=a;if(o)try{this.uri=new self.URL(o,r).href}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${o}`);return}this.scheduleRefresh(this.uri||n.url),s&&this.clonePathways(s);let l={steeringManifest:a,url:r.toString()};this.hls.trigger(Y.STEERING_MANIFEST_LOADED,l),c&&this.updatePathwayPriority(c)},onError:(e,t,n,r)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${t.url})`),this.stopLoad(),e.code===410){this.enabled=!1,this.log(`Steering manifest ${t.url} no longer available`);return}let i=this.timeToLoad*1e3;if(e.code===429){let e=this.loader;if(typeof e?.getResponseHeader==`function`){let t=e.getResponseHeader(`Retry-After`);t&&(i=parseFloat(t)*1e3)}this.log(`Steering manifest ${t.url} rate limited`);return}this.scheduleRefresh(this.uri||t.url,i)},onTimeout:(e,t,n)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}})}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{let t=this.hls?.media;if(t&&!t.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}};function TH(e,t,n,r){e&&Object.keys(t).forEach(i=>
1818{let a=e.filter(e=>e.groupId===i).map(e=>{let a=qN({},e);return a.details=void 0,a.attrs=new sL(a.attrs),a.url=a.attrs.URI=EH(e.url,e.attrs[`STABLE-RENDITION-ID`],`PER-RENDITION-URIS`,n),a.groupId=a.attrs[`GROUP-ID`]=t[i],a.attrs[`PATHWAY-ID`]=r,a});e.push(...a)})}function EH(e,t,n,r){let{HOST:i,PARAMS:a,[n]:o}=r,s;t&&(s=o?.[t],s&&(e=s));let c=new self.URL(e);return i&&!s&&(c.host=i),a&&Object.keys(a).sort().forEach(e=>{e&&c.searchParams.set(e,a[e])}),c.href}var DH=class e extends QN{constructor(t){super(`eme`,t.logger),this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=e.CDMCleanupPromise?[e.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=e=>{let{initDataType:t,initData:n}=e,r=`"${e.type}" event: init data type: "${t}"`;if(this.debug(r),n!==null){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);e.length||(e=OL(this.config));let t=e.map(DL).filter(e=>!!e);this.keyFormatPromise=this.getKeyFormatPromise(t)}this.keyFormatPromise.then(i=>{let a=EL(i);if(t!==`sinf`||a!==wL.FAIRPLAY){this.log(`Ignoring "${e.type}" event with init data type: "${t}" for selected key-system ${a}`);return}let o;try{let e=kP(new Uint8Array(n)),t=qP(vL(JSON.parse(e).sinf));if(!t)throw Error(`'schm' box missing or not cbcs/cenc with schi > tenc`);o=new Uint8Array(t.subarray(8,24))}catch(e){this.warn(`${r} Failed to parse sinf: ${e}`);return}let s=dP(o),{keyIdToKeySessionPromise:c,mediaKeySessions:l}=this,u=c[s];for(let e=0;e<l.length;e++){let r=l[e],i=r.decryptdata;if(!i.keyId)continue;let a=dP(i.keyId);if(mL(o,i.keyId)||i.uri.replace(/-/g,``).indexOf(s)!==-1){if(u=c[a],!u)continue;if(i.pssh)break;delete c[a],i.pssh=new Uint8Array(n),i.keyId=o,u=c[s]=u.then(()=>this.generateRequestWithPreferredKeySession(r,t,n,`encrypted-event-key-match`)),u.catch(e=>this.handleError(e));break}}u||this.handleError(Error(`Key ID ${s} not encountered in playlist. Key-system sessions ${l.length}.`))}).catch(e=>this.handleError(e))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=t,this.config=t.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}
1818registerListeners(){this.hls.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(Y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(Y.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(Y.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(Y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(Y.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(Y.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:n}=this.config,r=t?.[e];if(r)return r.licenseUrl;if(e===wL.WIDEVINE&&n)return n}getLicenseServerUrlOrThrow(e){let t=this.getLicenseServerUrl(e);if(t===void 0)throw Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){let{drmSystems:t}=this.config,n=t?.[e];if(n)return n.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,n=(e,t,n)=>!!e&&n.indexOf(e)===t,r=t.map(e=>e.audioCodec).filter(n),i=t.map(e=>e.videoCodec).filter(n);return r.length+i.length===0&&i.push(`avc1.42e01e`),new Promise((t,n)=>{let a=e=>{let o=e.shift();this.getMediaKeysPromise(o,r,i).then(e=>t({keySystem:o,mediaKeys:e})).catch(t=>{e.length?a(e):t instanceof AH?n(t):n(new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))})};a(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:n}=this.config;if(typeof n!=`function`){let e=`Configured requestMediaKeySystemAccess is not a function ${n}`;return kL===null&&self.location.protocol===`http:`&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(Error(e))}return n(e,t)}getMediaKeysPromise(e,t,n){let r=AL(e,t,n,this.config.drmSystemOptions||{}),i=this.keySystemAccessPromises[e],a=i?.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${e}" key-system access with config: ${YF(r)}`),a=this.requestMediaKeySystemAccess(e,r);let t=i=this.keySystemAccessPromises[e]={keySystemAccess:a};return a.catch(t=>{this.log(`Failed to obtain access to key-system "${e}": ${t}`)}),a.then(n=>{this.log(`Access for key-system "${n.keySystem}" obtained`);let r=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let i=t.mediaKeys=n.createMediaKeys().then(n=>(this.log(`Media-keys created for "${e}"`),t.hasMediaKeys=!0,r.then(t=>t?this.setMediaKeysServerCertificate(n,e,t):n)));return i.catch(t=>{this.error(`Failed to create media-keys for "${e}"}: ${t}`)}),i})}return a.then(()=>i.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:n}){this.log(`Creating key-system session "${t}" keyId: ${dP(e.keyId||[])} keyUri: ${e.uri}`);let r={decryptdata:e,keySystem:t,mediaKeys:n,mediaKeysSession:n.createSession(),keyStatus:`status-pending`};return this.mediaKeySessions.push(r),r}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let n=this.createMediaKeySessionContext(e),r=OH(t);this.keyIdToKeySessionPromise[r]=this.generateRequestWithPreferredKeySession(n,`cenc`,t.pssh.buffer,`expired`)}else this.warn(`Could not renew expired session. Missing pssh initData.`);this.removeSession(e)}updateKeySession(e,t){let n=e.mediaKeysSession;return this.log(`Updating key-session "${n.sessionId}" for keyId ${dP(e.decryptdata.keyId||[])}
1819      } (data length: ${t.byteLength})`),n.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>DL(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:e,mediaKeys:t})=>this.attemptSetMediaKeys(e,t))}selectKeySystem(e){return new Promise((t,n)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:e})=>{let r=DL(e);r?t(r):n(Error(`Unable to find format for key-system "${e}"`))}).catch(n)})}selectKeySystemFormat(e){let t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||=(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(`, `)}`),this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){let t=OL(this.config),n=e.map(EL).filter(e=>!!e&&t.indexOf(e)!==-1);return this.selectKeySystem(n)}getKeyStatus(e){let{mediaKeySessions:t}=this;for(let n=0;n<t.length;n++){let r=kH(e,t[n]);if(r)return r}}loadKey(e){let t=e.keyInfo.decryptdata,n=OH(t),r=this.bannedKeyIds[n];if(r||this.getKeyStatus(t)===`internal-error`){let n=jH(r||`internal-error`,t);return this.handleError(n,e.frag),Promise.reject(n)}let i=`(keyId: ${n} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${i}`);let a=this.keyIdToKeySessionPromise[n];if(!a){let r=this.getKeySystemForKeyPromise(t).then(({keySystem:n,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${i}`),this.attemptSetMediaKeys(n,r).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:n,mediaKeys:r,decryptdata:t}))))).then(e=>{let n=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,`cenc`,n,`playlist-key`)});return r.catch(t=>this.handleError(t,e.frag)),this.keyIdToKeySessionPromise[n]=r,r}return a.catch(n=>{if(n instanceof AH){let r=YN({},n.data);this.getKeyStatus(t)===`internal-error`&&(r.decryptdata=t);let i=new AH(r,n.message);this.handleError(i,e.frag)}}),a}throwIfDestroyed(e=`Invalid state`){if(!this.hls)throw Error(`invalid state`)}handleError(e,t){if(this.hls)if(e instanceof AH){t&&(e.data.frag=t);let n=e.data.decryptdata;this.error(`${e.message}${n?` (${dP(n.keyId||[])})`:``}`),this.hls.trigger(Y.ERROR,e.data)}else this.error(e.message),this.hls.trigger(Y.ERROR,{type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}
1819getKeySystemForKeyPromise(e){let t=OH(e),n=this.keyIdToKeySessionPromise[t];if(!n){let t=EL(e.keyFormat),n=t?[t]:OL(this.config);return this.attemptKeySystemAccess(n)}return n}getKeySystemSelectionPromise(e){if(e.length||(e=OL(this.config)),e.length===0)throw new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${YF({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaResolved=void 0,this.mediaKeys===t)return Promise.resolve();let n=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let r=Promise.all(n).then(()=>this.media?this.media.setMediaKeys(t):new Promise((e,n)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return n(Error(`Attempted to set mediaKeys without media element attached`));this.mediaKeys=t,this.media.setMediaKeys(t).then(e).catch(n)}}));return this.mediaKeys=t,this.setMediaKeysQueue.push(r),r.then(()=>{this.log(`Media-keys set for "${e}"`),n.push(r),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(e=>n.indexOf(e)===-1)})}generateRequestWithPreferredKeySession(e,t,n,r){var i;let a=(i=this.config.drmSystems)==null||(i=i[e.keySystem])==null?void 0:i.generateRequest;if(a)try{let r=a.call(this.hls,t,n,e);if(!r)throw Error(`Invalid response from configured generateRequest filter`);t=r.initDataType,n=r.initData?r.initData:null,e.decryptdata.pssh=n?new Uint8Array(n):null}catch(e){if(this.warn(e.message),this.hls&&this.hls.config.debug)throw e}if(n===null)return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(e);let o=OH(e.decryptdata),s=e.decryptdata.uri;this.log(`Generating key-session request for "${r}" keyId: ${o} URI: ${s} (init data type: ${t} length: ${n.byteLength})`);let c=new IR,l=e._onmessage=t=>{let n=e.mediaKeysSession;if(!n){c.emit(`error`,Error(`invalid state`));return}let{messageType:r,message:i}=t;this.log(`"${r}" message event for session "${n.sessionId}" message size: ${i.byteLength}`),r===`license-request`||r===`license-renewal`?this.renewLicense(e,i).catch(e=>{c.eventNames().length?c.emit(`error`,e):this.handleError(e)}):r===`license-release`?e.keySystem===wL.FAIRPLAY&&this.updateKeySession(e,yL(`acknowledged`)).then(()=>this.removeSession(e)).catch(e=>this.handleError(e)):this.warn(`unhandled media key message type "${r}"`)},u=(e,t)=>{t.keyStatus=e;let n;e.startsWith(`usable`)?c.emit(`resolved`):e===`internal-error`||e===`output-restricted`||e===`output-downscaled`?n=jH(e,t.decryptdata):e===`expired`?n=Error(`key expired (keyId: ${o})`):e===`released`?n=Error(`key released`):e===`status-pending`||this.warn(`unhandled key status change "${e}" (keyId: ${o}
1819)`),n&&(c.eventNames().length?c.emit(`error`,n):this.handleError(n))},d=e._onkeystatuseschange=t=>{if(!e.mediaKeysSession){c.emit(`error`,Error(`invalid state`));return}let n=this.getKeyStatuses(e);if(!Object.keys(n).some(e=>n[e]!==`status-pending`))return;if(n[o]===`expired`){this.log(`Expired key ${YF(n)} in key-session "${e.mediaKeysSession.sessionId}"`),this.renewKeySession(e);return}let r=n[o];if(r)u(r,e);else{var i;let t=1e3;e.keyStatusTimeouts||={},(i=e.keyStatusTimeouts)[o]||(i[o]=self.setTimeout(()=>{if(!e.mediaKeysSession||!this.mediaKeys)return;let n=this.getKeyStatus(e.decryptdata);if(n&&n!==`status-pending`)return this.log(`No status for keyId ${o} in key-session "${e.mediaKeysSession.sessionId}". Using session key-status ${n} from other session.`),u(n,e);this.log(`key status for ${o} in key-session "${e.mediaKeysSession.sessionId}" timed out after ${t}ms`),r=`internal-error`,u(r,e)},t)),this.log(`No status for keyId ${o} (${YF(n)}).`)}};ER(e.mediaKeysSession,`message`,l),ER(e.mediaKeysSession,`keystatuseschange`,d);let f=new Promise((e,t)=>{c.on(`error`,t),c.on(`resolved`,e)});return e.mediaKeysSession.generateRequest(t,n).then(()=>{this.log(`Request generated for key-session "${e.mediaKeysSession.sessionId}" keyId: ${o} URI: ${s}`)}).catch(t=>{throw new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_NO_SESSION,error:t,decryptdata:e.decryptdata,fatal:!1},`Error generating key-session request: ${t}`)}).then(()=>f).catch(t=>(c.removeAllListeners(),this.removeSession(e).then(()=>{throw t}))).then(()=>(c.removeAllListeners(),e))}getKeyStatuses(e){let t={};return e.mediaKeysSession.keyStatuses.forEach((n,r)=>{if(typeof r==`string`&&typeof n==`object`){let e=r;r=n,n=e}let i=`buffer`in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);if(e.keySystem===wL.PLAYREADY&&i.length===16){let e=dP(i);t[e]=n,xL(i)}let a=dP(i);n===`internal-error`&&(this.bannedKeyIds[a]=n),this.log(`key status change "${n}" for keyStatuses keyId: ${a} key-session "${e.mediaKeysSession.sessionId}"`),t[a]=n}),t}fetchServerCertificate(e){let t=this.config,n=t.loader,r=new n(t),i=this.getServerCertificateUrl(e);return i?(this.log(`Fetching server certificate for "${e}"`),new Promise((n,a)=>{let o={responseType:`arraybuffer`,url:i},s=t.certLoadPolicy.default,c={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};r.load(o,c,{onSuccess:(e,t,r,i)=>{n(e.data)},onError:(t,n,r,s)=>{a(new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:YN({url:o.url,data:void 0},t)},`"${e}" certificate request failed (${i}). Status: ${t.code} (${t.text})`))},onTimeout:(t,n,r)=>{a(new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:r,response:{url:o.url,data:void 0}},`"${e}" certificate request timed out (${i})`))},onAbort:(e,t,n)=>{a(Error(`aborted`))}})})):Promise.resolve()}setMediaKeysServerCertificate(e,t,n){return new Promise((r,i)=>{e.setServerCertificate(n).then(i=>{this.log(`setServerCertificate ${i?`success`:`not supported by CDM`} (${n.byteLength}) on "${t}"`),r(e)}).catch(e=>{i(new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(t=>this.updateKeySession(e,new Uint8Array(t)).catch(t=>{throw new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:e.decryptdata,error:t,fatal:!1},t.message)}))}unpackPlayReadyKeyMessage(e,t){let n=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!n.includes(`PlayReadyKeyMessage`))return e.setRequestHeader(`Content-Type`,`text/xml; charset=utf-8`),t;let r=new DOMParser().parseFromString(n,`application/xml`),i=r.querySelectorAll(`HttpHeader`);if(i.length>0){let t;for(let n=0,r=i.length;n<r;n++){t=i[n];let r=t.querySelector(`name`)?.textContent,a=t.querySelector(`value`)?.textContent;r&&a&&e.setRequestHeader(r,a)}}let a=r.querySelector(`Challenge`)?.textContent;
1819if(!a)throw Error(`Cannot find <Challenge> in key message`);return yL(atob(a))}setupLicenseXHR(e,t,n,r){let i=this.config.licenseXhrSetup;return i?Promise.resolve().then(()=>{if(!n.decryptdata)throw Error(`Key removed`);return i.call(this.hls,e,t,n,r)}).catch(a=>{if(!n.decryptdata)throw a;return e.open(`POST`,t,!0),i.call(this.hls,e,t,n,r)}).then(n=>(e.readyState||e.open(`POST`,t,!0),{xhr:e,licenseChallenge:n||r})):(e.open(`POST`,t,!0),Promise.resolve({xhr:e,licenseChallenge:r}))}requestLicense(e,t){let n=this.config.keyLoadPolicy.default;return new Promise((r,i)=>{let a=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${a}`);let o=new XMLHttpRequest;o.responseType=`arraybuffer`,o.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return i(Error(`invalid state`));if(o.readyState===4)if(o.status===200){this._requestLicenseFailureCount=0;let t=o.response;this.log(`License received ${t instanceof ArrayBuffer?t.byteLength:t}`);let n=this.config.licenseResponseCallback;if(n)try{t=n.call(this.hls,o,a,e)}catch(e){this.error(e)}r(t)}else{let s=n.errorRetry,c=s?s.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>c||o.status>=400&&o.status<500)i(new AH({type:VN.KEY_SYSTEM_ERROR,details:J.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:e.decryptdata,fatal:!0,networkDetails:o,response:{url:a,data:void 0,code:o.status,text:o.statusText}},`License Request XHR failed (${a}). Status: ${o.status} (${o.statusText})`));else{let n=c-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${n} attempts left`),this.requestLicense(e,t).then(r,i)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=o,this.setupLicenseXHR(o,a,e,t).then(({xhr:t,licenseChallenge:n})=>{e.keySystem==wL.PLAYREADY&&(n=this.unpackPlayReadyKeyMessage(t,n)),t.send(n)}).catch(i)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let n=t.media;this.media=n,ER(n,`encrypted`,this.onMediaEncrypted),ER(n,`waitingforkey`,this.onWaitingForKey);let r=this.mediaResolved;r?r():this.mediaKeys=n.mediaKeys}onMediaDetached(){let e=this.media;e&&(DR(e,`encrypted`,this.onMediaEncrypted),DR(e,`waitingforkey`,this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var t;this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};let n=this.mediaResolved;if(n&&n(),!this.mediaKeys&&!this.mediaKeySessions.length)return;let r=this.media,i=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,FL.clearKeyUriToKeyIdMap();let a=i.length;e.CDMCleanupPromise=Promise.all(i.map(e=>this.removeSession(e)).concat((r==null||(t=r.setMediaKeys(null))==null?void 0:t.catch(e=>{this.log(`Could not clear media keys: ${e}`),this.hls&&this.hls.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${e}`)})}))||Promise.resolve())).catch(e=>{this.log(`Could not close sessions and clear media keys: ${e}`),this.hls&&this.hls.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${e}`)})}).then(()=>{a&&this.log(`finished closing key sessions and clearing media keys`)})}onManifestLoading(){this._clear()}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){let e=t.reduce((e,t)=>(e.indexOf(t.keyFormat)===-1&&e.push(t.keyFormat),e),[]);this.log(`Selecting key-system from session-keys ${e.join(`, `)}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:n,decryptdata:r}=e;if(t){this.log(`Remove licenses and keys and close session "${t.sessionId}" keyId: ${dP(r?.keyId||[])}`),e._onmessage&&=(t.removeEventListener(`message`,e._onmessage),void 0),e._onkeystatuseschange&&=(t.removeEventListener(`keystatuseschange`,e._onkeystatuseschange),void 0),n&&n.readyState!==XMLHttpRequest.DONE&&n.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let i=this.mediaKeySessions.indexOf(e);i>-1&&this.mediaKeySessions.splice(i,1);let{keyStatusTimeouts:a}=e;
1819a&&Object.keys(a).forEach(e=>self.clearTimeout(a[e]));let{drmSystemOptions:o}=this.config;return(ML(o)?new Promise((e,n)=>{self.setTimeout(()=>n(Error(`MediaKeySession.remove() timeout`)),8e3),t.remove().then(e).catch(n)}):Promise.resolve()).catch(e=>{this.log(`Could not remove session: ${e}`),this.hls&&this.hls.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${e}`)})}).then(()=>t.close()).catch(e=>{this.log(`Could not close session: ${e}`),this.hls&&this.hls.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${e}`)})})}return Promise.resolve()}};DH.CDMCleanupPromise=void 0;function OH(e){if(!e)throw Error(`Could not read keyId of undefined decryptdata`);if(e.keyId===null)throw Error(`keyId is null`);return dP(e.keyId)}function kH(e,t){if(e.keyId&&t.mediaKeysSession.keyStatuses.has(e.keyId))return t.mediaKeysSession.keyStatuses.get(e.keyId);if(e.matches(t.decryptdata))return t.keyStatus}var AH=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||=Error(t),this.data=e,e.err=e.error}};function jH(e,t){let n=e===`output-restricted`,r=n?J.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:J.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new AH({type:VN.KEY_SYSTEM_ERROR,details:r,fatal:!1,decryptdata:t},n?`HDCP level output restricted`:`key status changed to "${e}"`)}var MH=class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}
vendor: 15,091 bytes, line 1819
1819registerListeners(){this.hls.on(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){let n=this.hls.config;if(n.capLevelOnFPSDrop){let e=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=e,e&&typeof e.getVideoPlaybackQuality==`function`&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),n.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,n){let r=performance.now();if(t){if(this.lastTime){let e=r-this.lastTime,i=n-this.lastDroppedFrames,a=t-this.lastDecodedFrames,o=1e3*i/e,s=this.hls;if(s.trigger(Y.FPS_DROP,{currentDropped:i,currentDecoded:a,totalDroppedFrames:n}),o>0&&i>s.config.fpsDroppedMonitoringThreshold*a){let e=s.currentLevel;s.logger.warn(`drop FPS ratio greater than max allowed value for currentLevel: `+e),e>0&&(s.autoLevelCapping===-1||s.autoLevelCapping>=e)&&(--e,s.trigger(Y.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:s.currentLevel}),s.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=r,this.lastDroppedFrames=n,this.lastDecodedFrames=t}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}};function NH(e,t){let n;try{n=new Event(`addtrack`)}catch{n=document.createEvent(`Event`),n.initEvent(`addtrack`,!1,!1)}n.track=e,t.dispatchEvent(n)}function PH(e,t){let n=e.mode;if(n===`disabled`&&(e.mode=`hidden`),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw Error(`addCue is failed for: ${t}`)}catch(n){oP.debug(`[texttrack-utils]: ${n}`);try{let n=new self.TextTrackCue(t.startTime,t.endTime,t.text);n.id=t.id,e.addCue(n)}catch(e){oP.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}n===`disabled`&&(e.mode=n)}function FH(e,t){let n=e.mode;if(n===`disabled`&&(e.mode=`hidden`),e.cues)for(let n=e.cues.length;n--;)t&&e.cues[n].removeEventListener(`enter`,t),e.removeCue(e.cues[n]);n===`disabled`&&(e.mode=n)}function IH(e,t,n,r){let i=e.mode;if(i===`disabled`&&(e.mode=`hidden`),e.cues&&e.cues.length>0){let i=RH(e.cues,t,n);for(let t=0;t<i.length;t++)(!r||r(i[t]))&&e.removeCue(i[t])}i===`disabled`&&(e.mode=i)}function LH(e,t){if(t<=e[0].startTime)return 0;let n=e.length-1;if(t>e[n].endTime)return-1;let r=0,i=n,a;for(;r<=i;)if(a=Math.floor((i+r)/2),t<e[a].startTime)i=a-1;else if(t>e[a].startTime&&r<n)r=a+1;else return a;return e[r].startTime-t<t-e[i].startTime?r:i}function RH(e,t,n){let r=[],i=LH(e,t);if(i>-1)for(let a=i,o=e.length;a<o;a++){let i=e[a];if(i.startTime>=t&&i.endTime<=n)r.push(i);else if(i.startTime>n)return r}return r}function zH(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];(r.kind===`subtitles`||r.kind===`captions`)&&r.label&&t.push(e[n])}return t}var BH=class extends HB{constructor(e){super(e,`subtitle-track-controller`),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null,t=zH(this.media.textTracks);for(let n=0;n<t.length;n++)if(t[n].mode===`hidden`)e=t[n];else if(t[n].mode===`showing`){e=t[n];break}let n=this.findTrackForTextTrack(e);this.subtitleTrack!==n&&this.setSubtitleTrack(n)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Y.LEVEL_LOADING,this.onLevelLoading,this),e.on(Y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Y.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Y.LEVEL_LOADING,this.onLevelLoading,this),e.off(Y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Y.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&`onchange`in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener(`change`,this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,t){let n=this.media;if(!n)return;let r=!!t.transferMedia;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||n.textTracks.removeEventListener(`change`,this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,!r&&zH(n.textTracks).forEach(e=>{FH(e)})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:n,groupId:r,details:i}=t,a=this.tracksInGroup[n];if(!a||a.groupId!==r){this.warn(`Subtitle track with id:${n} and group:${r} not found in active group ${a?.groupId}`);return}let o=a.details;a.details=t.details,this.log(`Subtitle track ${n} "${a.name}" lang:${a.lang} group:${r} loaded [${i.startSN}-${i.endSN}]`),n===this.trackId&&this.playlistLoaded(n,t,o)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let n=t.subtitleGroups||null,r=this.groupIds,i=this.currentTrack;if(!n||r?.length!==n?.length||n!=null&&n.some(e=>r?.indexOf(e)===-1)){this.groupIds=n,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!n||n.indexOf(e.groupId)!==-1);if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>{e.id=t});else if(!i&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.subtitlePreference;if(!i&&t){this.selectDefaultTrack=!1;let n=tI(t,e);if(n>-1)i=e[n];else{let e=tI(t,this.tracks);i=this.tracks[e]}}let r=this.findTrackId(i);r===-1&&i&&(r=this.findTrackId(null));let a={subtitleTracks:e};this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${n?.join(`,`)}" group-id`),this.hls.trigger(Y.SUBTITLE_TRACKS_UPDATED,a),r!==-1&&this.trackId===-1&&this.setSubtitleTrack(r)}}findTrackId(e){let t=this.tracksInGroup,n=this.selectDefaultTrack;for(let r=0;r<t.length;r++){let i=t[r];if(!(n&&!i.default||!n&&!e)&&(!e||nI(i,e)))return r}if(e){for(let n=0;n<t.length;n++){let r=t[n];if(WB(e.attrs,r.attrs,[`LANGUAGE`,`ASSOC-LANGUAGE`,`CHARACTERISTICS`]))return n}for(let n=0;n<t.length;n++){let r=t[n];if(WB(e.attrs,r.attrs,[`LANGUAGE`]))return n}}return-1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let n=0;n<t.length;n++){let r=t[n];if(GB(r,e))return n}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===HN.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(e.id===-1)return this.setSubtitleTrack(-1),null;let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let n=this.currentTrack;if(n&&nI(e,n))return n;let r=tI(e,this.tracksInGroup);if(r>-1){let e=this.tracksInGroup[r];return this.setSubtitleTrack(r),e}if(n)return null;{let n=tI(e,t);if(n>-1)return t[n]}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let n=e.id,r=e.groupId,i=this.getUrlWithDirectives(e.url,t),a=e.details,o=a?.age;this.log(`Loading subtitle ${n} "${e.name}" lang:${e.lang} group:${r}${t?.msn===void 0?``:` at sn `+t.msn+` part `+t.part}${o&&a.live?` age `+o.toFixed(1)+(a.type&&` `+a.type||``):``} ${i}`),this.hls.trigger(Y.SUBTITLE_TRACK_LOADING,{url:i,id:n,groupId:r,deliveryDirectives:t||null,track:e})}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=zH(e.textTracks),n=this.currentTrack,r;if(n&&(r=t.filter(e=>GB(n,e))[0],r||this.warn(`Unable to find subtitle TextTrack with name "${n.name}" and language "${n.lang}"`)),[].slice.call(t).forEach(e=>{e.mode!==`disabled`&&e!==r&&(e.mode=`disabled`)}),r){let e=this.subtitleDisplay?`showing`:`hidden`;r.mode!==e&&(r.mode=e)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!q(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.selectDefaultTrack=!1;let n=this.currentTrack,r=t[e]||null;if(this.trackId=e,this.currentTrack=r,this.toggleTrackModes(),!r){this.hls.trigger(Y.SUBTITLE_TRACK_SWITCH,{id:e});return}let i=!!r.details&&!r.details.live;if(e===this.trackId&&r===n&&i)return;this.log(`Switching to subtitle-track ${e}`+(r?` "${r.name}" lang:${r.lang} group:${r.groupId}`:``));let{id:a,groupId:o=``,name:s,type:c,url:l}=r;this.hls.trigger(Y.SUBTITLE_TRACK_SWITCH,{id:a,groupId:o,name:s,type:c,url:l});let u=this.switchParams(r.url,n?.details,r.details);this.loadPlaylist(u)}};function VH(){try{return crypto.randomUUID()}catch{try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf(`/`)+1)}catch{let e=new Date().getTime();return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,t=>{let n=(e+Math.random()*16)%16|0;return e=Math.floor(e/16),(t==`x`?n:n&3|8).toString(16)})}}}function HH(e){let t=5381,n=e.length;for(;n;)t=t*33^e.charCodeAt(--n);return(t>>>0).toString()}var UH=.025,WH=function(e){return e[e.Point=0]=`Point`,e[e.Range=1]=`Range`,e}({});function GH(e,t,n){return`${e.identifier}-${n+1}-${HH(t)}`}var KH=class{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat(`X-RESUME-OFFSET`,this.resumeOffset),this.playoutLimit=e.attr.optionalFloat(`X-PLAYOUT-LIMIT`,this.playoutLimit),this.restrictions=e.attr.enumeratedStringList(`X-RESTRICT`,this.restrictions),this.snapOptions=e.attr.enumeratedStringList(`X-SNAP`,this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,(e=this.assetListLoader)==null||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){if(e>0&&e>=this.assetList.length)return!0;let t=this.playoutLimit;return e<=0||isNaN(t)?!1:t===0||(this.assetList[e]?.startOffset||0)>t}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let t=this.dateRange.tagAnchor;if(t)return qH(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let t=this.dateRange.startTime;return t-qH(t,e)<.1}return!1}get resumptionOffset(){let e=this.resumeOffset,t=q(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let t=this.resumeAnchor;if(t)return qH(e,t)}return e}get appendInPlace(){return this.appendInPlaceStarted?!0:!this.appendInPlaceDisabled&&!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<UH))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return this._timelineStart===null?this.startTime:this._timelineStart}set timelineStart(e){this._timelineStart=e}get duration(){let e=this.playoutLimit,t;return t=this._duration===null?this.dateRange.duration?this.dateRange.duration:this.dateRange.plannedDuration||0:this._duration,!isNaN(e)&&e<t&&(t=e),t}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return this.dateRange.attr[`X-TIMELINE-OCCUPIES`]===`RANGE`?WH.Range:WH.Point}get supplementsPrimary(){return this.dateRange.attr[`X-TIMELINE-STYLE`]===`PRIMARY`}get contentMayVary(){return this.dateRange.attr[`X-CONTENT-MAY-VARY`]!==`NO`}get assetUrl(){return this.dateRange.attr[`X-ASSET-URI`]}get assetListUrl(){return this.dateRange.attr[`X-ASSET-LIST`]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||this.assetListResponse!==null}toString(){return XH(this)}};function qH(e,t){return e-t.start<t.duration/2&&!(Math.abs(e-(t.start+t.duration))<UH)?t.start:t.start+t.duration}function JH(e,t,n){let r=new self.URL(e,n);return r.protocol!==`data:`&&r.searchParams.set(`_HLS_primary_id`,t),r}function YH(e,t){for(;(n=e.assetList[++t])!=null&&n.error;)var n;return t}function XH(e){return`["${e.identifier}" ${e.cue.pre?`<pre>`:e.cue.post?`<post>`:``}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}function ZH(e){let t=e.timelineStart,n=e.duration||0;return`["${e.identifier}" ${t.toFixed(2)}-${(t+n).toFixed(2)}]`}
vendor: 4,215 bytes, line 1819
1819var QH=class{constructor(e,t,n,r){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetails=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(Y.PLAYOUT_LIMIT_REACHED,{})};let i=this.hls=new e(t);this.interstitial=n,this.assetItem=r;let a=()=>{this.hasDetails=!0};i.once(Y.LEVEL_LOADED,a),i.once(Y.AUDIO_TRACK_LOADED,a),i.once(Y.SUBTITLE_TRACK_LOADED,a),i.on(Y.MEDIA_ATTACHING,(e,{media:t})=>{this.removeMediaListeners(),this.mediaAttached=t,this.interstitial.playoutLimit&&(t.addEventListener(`timeupdate`,this.checkPlayout),this.appendInPlace&&i.on(Y.BUFFER_APPENDED,()=>{let e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,i.trigger(Y.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(e)if(e.url)e.levels.length&&!e.started&&e.startLoad(-1,!0);else{let t=this.assetItem.uri;try{t=JH(t,e.config.primarySessionId||``).href}catch{}e.loadSource(t)}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if((t=this.hls)!=null&&t.bufferedToEnd)return!0;if(!e)return!1;let n=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset,i=$I.bufferInfo(e,r,0);return this.getAssetTime(i.end)>=n-.02}reachedPlayout(e){let t=this.interstitial.playoutLimit;return this.startOffset+e>=t}get destroyed(){var e;return!((e=this.hls)!=null&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){return this.hls?.media||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;let t=$I.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){let e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){let e=this.assetItem.duration;if(!e)return 0;let t=this.interstitial.playoutLimit;if(t){let n=t-this.startOffset;if(n>0&&n<e)return n}return e}get remaining(){let e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){return this.hls?.config.timelineOffset||0}set timelineOffset(e){let t=this.timelineOffset;if(e!==t){let n=e-t;if(Math.abs(n)>1/9e4&&this.hls){if(this.hasDetails)throw Error(`Cannot set timelineOffset after playlists are loaded`);this.hls.config.timelineOffset=e}}}getAssetTime(e){let t=this.timelineOffset,n=this.duration;return Math.min(Math.max(0,e-t),n)}removeMediaListeners(){let e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener(`timeupdate`,this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;(e=this.hls)!=null&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),(t=this.hls)==null||t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,(e=this.hls)==null||e.detachMedia()}resumeBuffering(){var e;(e=this.hls)==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.hls)==null||e.pauseBuffering()}transferMedia(){return this.bufferSnapShot(),this.hls?.transferMedia()||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let t=e=>delete e.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,n){var r;(r=this.hls)==null||r.on(e,t)}once(e,t,n){var r;(r=this.hls)==null||r.once(e,t)}off(e,t,n){var r;(r=this.hls)==null||r.off(e,t)}toString(){return`HlsAssetPlayer: ${ZH(this.assetItem)} ${this.hls?.sessionId} ${this.appendInPlace?`append-in-place`:``}`}},$H=.033,eU=class extends QN{constructor(e,t){super(`interstitials-sched`,t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={}
1819,this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(e,t){return this.events?this.events.reduce((n,r)=>e<=r.startOffset&&t>r.startOffset?(delete r.error,n+1):n,0):0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let n=-1;e.nextEvent?n=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(n=this.findEventIndex(e.previousEvent.identifier)+1);let r=this.items;if(r)for(r[n]||(t===void 0&&(t=e.start),n=this.findItemIndexAtTime(t));n>=0&&(i=r[n])!=null&&i.event;){var i;n--}return n}findItemIndexAtTime(e,t){let n=this.items;if(n)for(let r=0;r<n.length;r++){let i=n[r];if(t&&t!==`primary`&&(i=i[t]),e===i.start||e>i.start&&e<i.end)return r}return-1}findJumpRestrictedIndex(e,t){let n=this.items;if(n)for(let r=e;r<=t&&n[r];r++){let e=n[r].event;if(e!=null&&e.restrictions.jump&&!e.appendInPlace)return r}return-1}findEventIndex(e){let t=this.items;if(t){for(let n=t.length;n--;)if(t[n].event?.identifier===e)return n}return-1}findAssetIndex(e,t){let n=e.assetList,r=n.length;if(r>1)for(let e=0;e<r;e++){let i=n[e];if(!i.error){let n=i.timelineStart;if(t===n||t>n&&(t<n+(i.duration||0)||e===r-1))return e}}return 0}get assetIdAtEnd(){var e;let t=(e=this.items)==null||(e=e[this.length-1])==null?void 0:e.event;if(t){let e=t.assetList,n=e[e.length-1];if(n)return n.identifier}return null}parseInterstitialDateRanges(e,t){let n=e.main.details,{dateRanges:r}=n,i=this.events,a=this.parseDateRanges(r,{url:n.url},t),o=Object.keys(r),s=i?i.filter(e=>!o.includes(e.identifier)):[];a.length&&a.sort((e,t)=>{let n=e.cue.pre,r=e.cue.post,i=t.cue.pre,a=t.cue.post;if(n&&!i)return-1;if(i&&!n||r&&!a)return 1;if(a&&!r)return-1;if(!n&&!i&&!r&&!a){let n=e.startTime,r=t.startTime;if(n!==r)return n-r}return e.dateRange.tagOrder-t.dateRange.tagOrder}),this.events=a,s.forEach(e=>{this.removeEvent(e)}),this.updateSchedule(e,s)}updateSchedule(e,t=[],n=!1){let r=this.events||[];
vendor: 4,678 bytes, line 1819
1819if(r.length||t.length||this.length<2){let i=this.items,a=this.parseSchedule(r,e);(n||t.length||i?.length!==a.length||a.some((e,t)=>Math.abs(e.playout.start-i[t].playout.start)>.005||Math.abs(e.playout.end-i[t].playout.end)>.005))&&(this.items=a,this.onScheduleUpdate(t,i))}}parseDateRanges(e,t,n){let r=[],i=Object.keys(e);for(let a=0;a<i.length;a++){let o=i[a],s=e[o];if(s.isInterstitial){let e=this.eventMap[o];e?e.setDateRange(s):(e=new KH(s,t),this.eventMap[o]=e,n===!1&&(e.appendInPlace=n)),r.push(e)}}return r}parseSchedule(e,t){let n=[],r=t.main.details,i=r.live?1/0:r.edge,a=0;if(e=e.filter(e=>!e.error&&!(e.cue.once&&e.hasPlayed)),e.length){this.resolveOffsets(e,t);let r=0,o=0;if(e.forEach((t,s)=>{let c=t.cue.pre,l=t.cue.post,u=e[s-1]||null,d=t.appendInPlace,f=l?i:t.startOffset,p=t.duration,m=t.timelineOccupancy===WH.Range?p:0,h=t.resumptionOffset,g=u?.startTime===f,_=f+t.cumulativeDuration,v=d?_+p:f+h;if(c||!l&&f<=0){let e=o;o+=m,t.timelineStart=_;let r=a;a+=p,n.push({event:t,start:_,end:v,playout:{start:r,end:a},integrated:{start:e,end:o}})}else if(f<=i){if(!g){let i=f-r;if(i>$H){let c=r,l=o;o+=i;let u=a;a+=i;let d={previousEvent:e[s-1]||null,nextEvent:t,start:c,end:c+i,playout:{start:u,end:a},integrated:{start:l,end:o}};n.push(d)}else i>0&&u&&(u.cumulativeDuration+=i,n[n.length-1].end=f)}l&&(v=_),t.timelineStart=_;let i=o;o+=m;let c=a;a+=p,n.push({event:t,start:_,end:v,playout:{start:c,end:a},integrated:{start:i,end:o}})}else return;let y=t.resumeTime;r=l||y>i?i:y}),r<i){let e=r,t=o,s=i-r;o+=s;let c=a;a+=s,n.push({previousEvent:n[n.length-1]?.event||null,nextEvent:null,start:r,end:e+s,playout:{start:c,end:a},integrated:{start:t,end:o}})}this.setDurations(i,a,o)}else n.push({previousEvent:null,nextEvent:null,start:0,end:i,playout:{start:0,end:i},integrated:{start:0,end:i}}),this.setDurations(i,i,i);return n}setDurations(e,t,n){this.durations={primary:e,playout:t,integrated:n}}resolveOffsets(e,t){let n=t.main.details,r=n.live?1/0:n.edge,i=0,a=-1;e.forEach((o,s)=>{let c=o.cue.pre,l=o.cue.post,u=c?0:l?r:o.startTime;this.updateAssetDurations(o),a===u?o.cumulativeDuration=i:(i=0,a=u),!l&&o.snapOptions.in&&(o.resumeAnchor=fI(null,n.fragments,o.startOffset+o.resumptionOffset,0,0)||void 0),o.appendInPlace&&!o.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(o,t)||(o.appendInPlace=!1)),!o.appendInPlace&&s+1<e.length&&e[s+1].startTime-e[s].resumeTime<$H&&(e[s+1].appendInPlace=!1,e[s+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${o}`));let d=q(o.resumeOffset)?o.resumeOffset:o.duration;i+=d})}primaryCanResumeInPlaceAt(e,t){let n=e.resumeTime,r=e.startTime+e.resumptionOffset;return Math.abs(n-r)>UH?(this.log(`"${e.identifier}" resumption ${n} not aligned with estimated timeline end ${r}`),!1):!Object.keys(t).some(r=>{let i=t[r].details,a=i.edge;if(n>=a)return this.log(`"${e.identifier}" resumption ${n} past ${r} playlist end ${a}`),!1;let o=fI(null,i.fragments,n);if(!o)return this.log(`"${e.identifier}" resumption ${n} does not align with any fragments in ${r} playlist (${i.fragStart}-${i.fragmentEnd})`),!0;let s=r===`audio`?.175:0;return Math.abs(o.start-n)<UH+s||Math.abs(o.end-n)<UH+s?!1:(this.log(`"${e.identifier}" resumption ${n} not aligned with ${r} fragment bounds (${o.start}-${o.end} sn: ${o.sn} cc: ${o.cc})`),!0)})}updateAssetDurations(e){if(!e.assetListLoaded)return;let t=e.timelineStart,n=0,r=!1,i=!1;for(let a=0;a<e.assetList.length;a++){let o=e.assetList[a],s=t+n;o.startOffset=n,o.timelineStart=s,r||=o.duration===null,i||=!!o.error;let c=o.error?0:o.duration||0;n+=c}e.duration=r&&!i?Math.max(n,e.duration):n}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}};function tU(e){return`[${e.event?`"`+e.event.identifier+`"`:`primary`}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}var nU=class{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){let n=e.assetListUrl,r;try{r=JH(n,this.hls.sessionId,e.baseUrl)}catch(t){let r=this.assignAssetListError(e,J.ASSET_LIST_LOAD_ERROR,t,n);this.hls.trigger(Y.ERROR,r);return}t&&r.protocol!==`data:`&&r.searchParams.set(`_HLS_start_offset`,``+t);let i=this.hls.config,a=i.loader,o=new a(i),s={responseType:`json`,url:r.href},c=i.interstitialAssetListLoadPolicy.default,l={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};return o.load(s,l,{onSuccess:(t,n,r,i)=>{let a=t.data,o=a?.ASSETS;if(!Array.isArray(o)){let t=this.assignAssetListError(e,J.ASSET_LIST_PARSING_ERROR,Error(`Invalid interstitial asset list`),r.url,n,i);this.hls.trigger(Y.ERROR,t);return}e.assetListResponse=a,this.hls.trigger(Y.ASSET_LIST_LOADED,{event:e,assetListResponse:a,networkDetails:i}
vendor: 4,291 bytes, lines 1819-1820
1819)},onError:(t,n,r,i)=>{let a=this.assignAssetListError(e,J.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${t.code} ${t.text} (${n.url})`),n.url,i,r);this.hls.trigger(Y.ERROR,a)},onTimeout:(t,n,r)=>{let i=this.assignAssetListError(e,J.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${n.url})`),n.url,t,r);this.hls.trigger(Y.ERROR,i)}}),this.hls.trigger(Y.ASSET_LIST_LOADING,{event:e}),o}assignAssetListError(e,t,n,r,i,a){return e.error=n,{type:VN.NETWORK_ERROR,details:t,fatal:!1,interstitial:e,url:r,error:n,networkDetails:a,stats:i}}};function rU(e){var t;e==null||(t=e.play())==null||t.catch(()=>{})}function iU(e,t){return`[${e}] Advancing timeline position to ${t}`}var aU=class extends QN{constructor(e,t){super(`interstitials`,e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{let e=this.currentTime;if(e===void 0||this.playbackDisabled||!this.schedule)return;let t=e-this.timelinePos;if(Math.abs(t)<1/7056e5)return;let n=t<=-.01;this.timelinePos===-1&&!this.effectivePlayingItem&&this.checkStart(),this.timelinePos=e,this.bufferedPos=e;let r=this.playingItem;if(!r){this.checkBuffer();return}if(n&&this.schedule.resetErrorsInRange(e,e-t)&&this.updateSchedule(!0),this.checkBuffer(),n&&e<r.start||e>=r.end){var i;let t=this.findItemIndex(r),a=this.schedule.findItemIndexAtTime(e);if(a===-1&&(a=t+(n?-1:1),this.log(`seeked ${n?`back `:``}to position not covered by schedule ${e} (resolving from ${t} to ${a})`)),!this.isInterstitial(r)&&(i=this.media)!=null&&i.paused&&(this.shouldPlay=!1),!n&&a>t){let e=this.schedule.findJumpRestrictedIndex(t+1,a);if(e>t){this.setSchedulePosition(e);return}}this.setSchedulePosition(a);return}let a=this.playingAsset;if(!a){if(this.playingLastItem&&this.isInterstitial(r)){let t=r.event.assetList[0];t&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(e,t))}return}let o=a.timelineStart,s=a.duration||0;if(n&&e<o||e>=o+s){var c;(c=r.event)!=null&&c.appendInPlace&&(this.clearAssetPlayers(r.event,r),this.flushFrontBuffer(e)),this.setScheduleToAssetAtTime(e,a)}},this.onTimeupdate=()=>{let e=this.currentTime;if(e===void 0||this.playbackDisabled)return;if(this.timelinePos===-1&&!this.effectivePlayingItem&&this.checkStart(),e>this.timelinePos)this.timelinePos=e,e>this.bufferedPos&&this.checkBuffer();else return;let t=this.playingItem;if(!t||this.playingLastItem)return;if(e>=t.end){this.timelinePos=t.end;let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}let n=this.playingAsset;n&&e>=n.timelineStart+(n.duration||0)&&this.setScheduleToAssetAtTime(e,n)},this.onScheduleUpdate=(e,t)=>{let n=this.schedule;if(!n)return;let r=this.playingItem,i=n.events||[],a=n.items||[],o=n.durations,s=e.map(e=>e.identifier),c=!!(i.length||s.length);(c||t)&&this.log(`INTERSTITIALS_UPDATED (${i.length}): ${i}
1820Schedule: ${a.map(e=>tU(e))} pos: ${this.timelinePos}`),s.length&&this.log(`Removed events ${s}`);let l=null,u=null;r&&(l=this.updateItem(r,this.timelinePos),this.itemsMatch(r,l)?this.playingItem=l:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);let d=this.bufferingItem;if(d&&(u=this.updateItem(d,this.bufferedPos),this.itemsMatch(d,u)?this.bufferingItem=u:d.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(d.event,null))),e.forEach(e=>{e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,null)})}),this.playerQueue.forEach(e=>{if(e.interstitial.appendInPlace){let t=e.assetItem.timelineStart,n=e.timelineOffset-t;if(n)try{e.timelineOffset=t}catch(r){Math.abs(n)>UH&&this.warn(`${r} ("${e.assetId}" ${e.timelineOffset}->${t})`)}}}),c||t){if(this.hls.trigger(Y.INTERSTITIALS_UPDATED,{events:i.slice(0),schedule:a.slice(0),durations:o,removedIds:s}
1820),this.isInterstitial(r)&&s.includes(r.event.identifier)){this.warn(`Interstitial "${r.event.identifier}" removed while playing`),this.primaryFallback(r.event);return}r&&this.trimInPlace(l,r),d&&u!==l&&this.trimInPlace(u,d),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new nU(e),this.schedule=new eU(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;e&&(e.on(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Y.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(Y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Y.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(Y.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(Y.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(Y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Y.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(Y.MEDIA_ENDED,this.onMediaEnded,this),e.on(Y.ERROR,this.onError,this),e.on(Y.DESTROYING,this.onDestroying,this))}unregisterListeners(){let e=this.hls;
1820e&&(e.off(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Y.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(Y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Y.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(Y.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(Y.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(Y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Y.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(Y.MEDIA_ENDED,this.onMediaEnded,this),e.off(Y.ERROR,this.onError,this),e.off(Y.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;(e=this.getBufferingPlayer())==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.getBufferingPlayer())==null||e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){DR(e,`play`,this.onPlay),DR(e,`pause`,this.onPause),DR(e,`seeking`,this.onSeeking),DR(e,`timeupdate`,this.onTimeupdate)}onMediaAttaching(e,t){let n=this.media=t.media;ER(n,`seeking`,this.onSeeking),ER(n,`timeupdate`,this.onTimeupdate),ER(n,`play`,this.onPlay),ER(n,`pause`,this.onPause)}onMediaAttached(e,t){let n=this.effectivePlayingItem,r=this.detachedData;if(this.detachedData=null,n===null)this.checkStart();else if(!r){this.clearScheduleState();let e=this.findItemIndex(n);this.setSchedulePosition(e)}}clearScheduleState(){this.log(`clear schedule state`),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){let n=!!t.transferMedia,r=this.media;if(this.media=null,!n&&(r&&this.removeMediaListeners(r),this.detachedData)){let e=this.getBufferingPlayer();e&&(this.log(`Removing schedule state for detachedData and ${e}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,e.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,t=()=>e.bufferingItem||e.waitingItem,n=t=>t&&e.getAssetPlayer(t.identifier),r=(t,r,i,o,s)=>{if(t){let c=t[r].start,l=t.event;if(l){if(r===`playout`||l.timelineOccupancy!==WH.Point){let e=n(i);e?.interstitial===l&&(c+=e.assetItem.startOffset+e[s])}}else{let n=o===`bufferedPos`?a():e[o];c+=n-t.start}return c}return 0},i=(t,n)=>{var r;if(t!==0&&n!==`primary`&&(r=e.schedule)!=null&&r.length){let r=e.schedule.findItemIndexAtTime(t),i=e.schedule.items?.[r];if(i)return t+(i[n].start-i.start)}return t},a=()=>{let t=e.bufferedPos;return t===Number.MAX_VALUE?o(`primary`):Math.max(t,0)},o=t=>{var n;return(n=e.primaryDetails)!=null&&n.live?e.primaryDetails.edge:e.schedule?.durations[t]||0},s=(t,i)=>{var a;let o=e.effectivePlayingItem;if(o!=null&&(a=o.event)!=null&&a.restrictions.skip||!e.schedule)return;e.log(`seek to ${t} "${i}"`);let s=e.effectivePlayingItem,c=e.schedule.findItemIndexAtTime(t,i),l=e.schedule.items?.[c],u=e.getBufferingPlayer(),d=u?.interstitial?.appendInPlace,f=s&&e.itemsMatch(s,l);if(s&&(d||f)){let a=n(e.playingAsset),o=a?.media||e.primaryMedia;if(o){let n=i===`primary`?o.currentTime:r(s,i,e.playingAsset,`timelinePos`,`currentTime`),c=t-n,l=(d?n:o.currentTime)+c;if(l>=0&&(!a||d||l<=a.duration)){o.currentTime=l;return}}}if(l){let n=t;if(i!==`primary`){let e=t-l[i].start;n=l.start+e}let r=!e.isInterstitial(l);if((!e.isInterstitial(s)||s.event.appendInPlace)&&(r||l.event.appendInPlace)){let t=e.media||(d?u?.media:null);t&&(t.currentTime=n)}else if(s){let a=e.findItemIndex(s);if(c>a){let t=e.schedule.findJumpRestrictedIndex(a+1,c);if(t>a){e.setSchedulePosition(t);return}}let o=0;if(r)e.timelinePos=n,e.checkBuffer();else{let e=l.event.assetList,n=t-(l[i]||l).start;for(let t=e.length;t--;){let r=e[t];if(r.duration&&n>=r.startOffset&&n<r.startOffset+r.duration){o=t;break}}}e.setSchedulePosition(c,o)}}},c=()=>{let n=e.effectivePlayingItem;if(e.isInterstitial(n))return n;let r=t();return e.isInterstitial(r)?r:null},l={get bufferedEnd(){let n=t(),i=e.bufferingItem;return i&&i===n&&(r(i,`playout`,e.bufferingAsset,`bufferedPos`,`bufferedEnd`)-i.playout.start||e.bufferingAsset?.startOffset)||0},get currentTime(){let t=c(),n=e.effectivePlayingItem;return n&&n===t?r(n,`playout`,e.effectivePlayingAsset,`timelinePos`,`currentTime`)-n.playout.start:0},set currentTime(t){let n=c(),r=e.effectivePlayingItem;r&&r===n&&s(t+r.playout.start,`playout`)},get duration(){let e=c();return e?e.playout.end-e.playout.start:0},get assetPlayers(){let t=c()?.event.assetList;return t?t.map(t=>e.getAssetPlayer(t.identifier)):[]},get playingIndex(){let t=c()?.event;return t&&e.effectivePlayingAsset?t.findAssetIndex(e.effectivePlayingAsset):-1},get scheduleItem(){return c()}};return this.manager={get events(){var t;return((t=e.schedule)==null||(t=t.events)==null?void 0:t.slice(0))||[]},get schedule(){var t;return((t=e.schedule)==null||(t=t.items)==null?void 0:t.slice(0))||[]},get interstitialPlayer(){return c()?l:null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return t()},get bufferingIndex(){let n=t();return e.findItemIndex(n)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let t=e.effectivePlayingItem;return e.findItemIndex(t)},primary:{get bufferedEnd(){return a()},get currentTime(){let t=e.timelinePos;return t>0?t:0},set currentTime(e){s(e,`primary`)},get duration(){return o(`primary`)},get seekableStart(){return e.primaryDetails?.fragmentStart||0}},integrated:{get bufferedEnd(){return r(t(),`integrated`,e.bufferingAsset,`bufferedPos`,`bufferedEnd`)},get currentTime(){return r(e.effectivePlayingItem,`integrated`,e.effectivePlayingAsset,`timelinePos`,`currentTime`)},set currentTime(e){s(e,`integrated`)},get duration(){return o(`integrated`)},get seekableStart(){return i(e.primaryDetails?.fragmentStart||0,`integrated`)}},skip:()=>{let t=e.effectivePlayingItem,n=t?.event;if(n&&!n.restrictions.skip){let r=e.findItemIndex(t);if(n.appendInPlace){let e=t.playout.start+t.event.duration;s(e+.001,`playout`)}else e.advanceAfterAssetEnded(n,r,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}
1820get playingLastItem(){let e=this.playingItem,t=this.schedule?.items;return!this.playbackStarted||!e||!t?!1:this.findItemIndex(e)===t.length-1}get playbackStarted(){return this.effectivePlayingItem!==null}get currentTime(){var e;if(this.mediaSelection===null)return;let t=this.waitingItem||this.playingItem;if(this.isInterstitial(t)&&!t.event.appendInPlace)return;let n=this.media;!n&&(e=this.bufferingItem)!=null&&(e=e.event)!=null&&e.appendInPlace&&(n=this.primaryMedia);let r=n?.currentTime;if(!(r===void 0||!q(r)))return r}get primaryMedia(){return this.media||this.detachedData?.media||null}isInterstitial(e){return!!(e!=null&&e.event)}retreiveMediaSource(e,t){let n=this.getAssetPlayer(e);n&&this.transferMediaFromPlayer(n,t)}transferMediaFromPlayer(e,t){let n=e.interstitial.appendInPlace,r=e.media;if(n&&r===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&r){this.detachedData={media:r};return}let n=e.transferMedia();this.log(`transfer MediaSource from ${e} ${YF(n)}`),this.detachedData=n}else t&&r&&(this.shouldPlay||=!r.paused)}transferMediaTo(e,t){if(e.media===t)return;let n=null,r=this.hls,i=e!==r,a=i&&e.interstitial.appendInPlace,o=this.detachedData?.mediaSource,s;if(r.media)a&&(n=r.transferMedia(),this.detachedData=n),s=`Primary`;else if(o){let e=this.getBufferingPlayer();e?(n=e.transferMedia(),s=`${e}`):s=`detached MediaSource`}else s=`detached media`;if(!n){if(o)n=this.detachedData,this.log(`using detachedData: MediaSource ${YF(n)}`);else if(!this.detachedData||r.media===t){let e=this.playerQueue;e.length>1&&e.forEach(e=>{if(i&&e.interstitial.appendInPlace!==a){let t=e.interstitial;this.clearInterstitial(e.interstitial,null),t.appendInPlace=!1,t.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${t}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}let c=n&&`mediaSource`in n&&n.mediaSource?.readyState!==`closed`,l=c&&n?n:t;this.log(`${c?`transfering MediaSource`:`attaching media`} to ${i?e:`Primary`} from ${s} (media.currentTime: ${t.currentTime})`);let u=this.schedule;if(l===n&&u){let t=i&&e.assetId===u.assetIdAtEnd;l.overrides={duration:u.duration,endOfStream:!i||t,cueRemoval:!i}}e.attachMedia(l)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,t=e?.events;if(!t||this.playbackDisabled||!this.media)return;this.bufferedPos===-1&&(this.bufferedPos=0);let n=this.timelinePos,r=this.effectivePlayingItem;if(n===-1){let n=this.hls.startPosition;if(this.timelinePos=n,t.length===0)this.setSchedulePosition(0);else if(t[0].cue.pre){this.log(iU(`checkStart (preroll)`,n));let r=e.findEventIndex(t[0].identifier);this.setSchedulePosition(r)}else if(n>=0||!this.primaryLive){this.log(iU(`checkStart`,n));let t=this.timelinePos=n>0?n:0,r=e.findItemIndexAtTime(t);this.setSchedulePosition(r)}else this.hls.liveSyncPosition===0?this.setSchedulePosition(0):this.log(`[checkStart] waiting for live start`)}else if(r&&!this.playingItem){this.log(iU(`checkStart (playing item)`,r.start));let t=e.findItemIndex(r);this.setSchedulePosition(t)}}advanceAssetBuffering(e,t){let n=e.event,r=YH(n,n.findAssetIndex(t));if(!n.isAssetPastPlayoutLimit(r))this.bufferedToEvent(e,r);else if(this.schedule){let t=this.schedule.items?.[this.findItemIndex(e)+1];t&&this.bufferedToItem(t)}}advanceAfterAssetEnded(e,t,n){let r=YH(e,n);if(!e.isAssetPastPlayoutLimit(r)){if(e.appendInPlace){let t=e.assetList[r];t&&this.advanceInPlace(t.timelineStart)}this.setSchedulePosition(t,r)}else if(this.schedule){let n=this.schedule.items;if(n){let r=t+1;if(r>=n.length){this.setSchedulePosition(-1);return}let i=e.resumeTime;this.timelinePos<i&&(this.log(iU(`advanceAfterAssetEnded`,i)),this.timelinePos=i,e.appendInPlace&&this.advanceInPlace(i),this.checkBuffer(this.bufferedPos<i)),this.setSchedulePosition(r)}}}setScheduleToAssetAtTime(e,t){let n=this.schedule;if(!n)return;let r=t.parentIdentifier,i=n.getEvent(r);if(i){let t=n.findEventIndex(r),a=n.findAssetIndex(i,e);this.advanceAfterAssetEnded(i,t,a-1)}}setSchedulePosition(e,t){let n=this.schedule?.items;if(!n||this.playbackDisabled)return;let r=e>=0?n[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${r&&tU(r)}) pos: ${this.timelinePos}`);let i=this.waitingItem||this.playingItem,a=this.playingLastItem;if(this.isInterstitial(i)){let s=i.event,c=this.playingAsset,l=c?.identifier,u=l?this.getAssetPlayer(l):null;if(u&&l&&(!this.eventItemsMatch(i,r)||t!==void 0&&l!==s.assetList[t].identifier)){var o;let t=s.findAssetIndex(c);if(this.log(`INTERSTITIAL_ASSET_ENDED ${t+1}/${s.assetList.length} ${ZH(c)}`),this.endedAsset=c,this.playingAsset=null,this.hls.trigger(Y.INTERSTITIAL_ASSET_ENDED,{asset:c,assetListIndex:t,event:s,schedule:n.slice(0),scheduleIndex:e,player:u}),i!==this.playingItem){this.itemsMatch(i,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(s,this.findItemIndex(this.playingItem),t);return}this.retreiveMediaSource(l,r),u.media&&!((o=this.detachedData)!=null&&o.mediaSource)&&u.detachMedia()}if(!this.eventItemsMatch(i,r)&&(this.endedItem=i,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${s} ${tU(i)}`),s.hasPlayed=!0,this.hls.trigger(Y.INTERSTITIAL_ENDED,{event:s,schedule:n.slice(0),scheduleIndex:e}),s.cue.once)){this.updateSchedule();
1820let e=this.schedule?.items;if(r&&e){let n=this.findItemIndex(r);this.advanceSchedule(n,e,t,i,a)}return}}this.advanceSchedule(e,n,t,i,a)}advanceSchedule(e,t,n,r,i){let a=this.schedule;if(!a)return;let o=t[e]||null,s=this.primaryMedia,c=this.playerQueue;if(c.length&&c.forEach(t=>{let n=t.interstitial,r=a.findEventIndex(n.identifier);(r<e||r>e+1)&&this.clearInterstitial(n,o)}),this.isInterstitial(o)){this.timelinePos=Math.min(Math.max(this.timelinePos,o.start),o.end);let i=o.event;if(n===void 0){n=a.findAssetIndex(i,this.timelinePos);let t=YH(i,n-1);if(i.isAssetPastPlayoutLimit(t)||i.appendInPlace&&this.timelinePos===o.end){this.advanceAfterAssetEnded(i,e,n);return}n=t}let c=this.waitingItem;this.assetsBuffered(o,s)||this.setBufferingItem(o);let l=this.preloadAssets(i,n);if(this.eventItemsMatch(o,c||r)||(this.waitingItem=o,this.log(`INTERSTITIAL_STARTED ${tU(o)} ${i.appendInPlace?`append in place`:``}`),this.hls.trigger(Y.INTERSTITIAL_STARTED,{event:i,schedule:t.slice(0),scheduleIndex:e})),!i.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${i}`);return}if(i.assetListLoader&&=(i.assetListLoader.destroy(),void 0),!s){this.log(`Waiting for attachMedia to start Interstitial ${i}`);return}this.waitingItem=this.endedItem=null,this.playingItem=o;let u=i.assetList[n];if(!u){this.advanceAfterAssetEnded(i,e,n||0);return}if(l||=this.getAssetPlayer(u.identifier),l===null||l.destroyed){let e=i.assetList.length;this.warn(`asset ${n+1}/${e} player destroyed ${i}`),l=this.createAssetPlayer(i,u,n),l.loadSource()}if(!this.eventItemsMatch(o,this.bufferingItem)&&i.appendInPlace&&this.isAssetBuffered(u))return;this.startAssetPlayer(l,n,t,e,s),this.shouldPlay&&rU(l.media)}else o?(this.resumePrimary(o,e,r),this.shouldPlay&&rU(this.hls.media)):i&&this.isInterstitial(r)&&(this.endedItem=null,this.playingItem=r,r.event.appendInPlace||this.attachPrimary(a.durations.primary,null))}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1}get primaryDetails(){return this.mediaSelection?.main.details}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live)}resumePrimary(e,t,n){var r;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${tU(e)}`),!((r=this.detachedData)!=null&&r.mediaSource)){let n=this.timelinePos;(n<e.start||n>=e.end)&&(n=this.getPrimaryResumption(e,t),this.log(iU(`resumePrimary`,n)),this.timelinePos=n),this.attachPrimary(n,e)}if(!n)return;let i=this.schedule?.items;i&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${tU(e)}`),this.hls.trigger(Y.INTERSTITIALS_PRIMARY_RESUMED,{schedule:i.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){let n=e.start;if(this.primaryLive){let e=this.primaryDetails;if(t===0)return this.hls.startPosition;if(e&&(n<e.fragmentStart||n>e.edge))return this.hls.liveSyncPosition||-1}return n}isAssetBuffered(e){let t=this.getAssetPlayer(e.identifier);return t!=null&&t.hls?t.hls.bufferedToEnd:$I.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,n){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;let r=this.primaryMedia;if(!r)return;let i=this.hls;i.media?this.checkBuffer():(this.transferMediaTo(i,r),n&&this.startLoadingPrimaryAt(e,n)),n||(this.log(iU(`attachPrimary`,e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,n))}startLoadingPrimaryAt(e,t){let n=this.hls;!n.loadingEnabled||!n.media||Math.abs((n.mainForwardBufferInfo?.start||n.media.currentTime)-e)>.5?n.startLoad(e,t):n.bufferingEnabled||n.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),(e=this.schedule)==null||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(Y.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(Y.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(t.level===-1||!this.schedule)return;let n=this.hls.levels[t.level];if(!n.details)return;let r=YN(YN({},this.mediaSelection||this.altSelection),{},{main:n});this.mediaSelection=r,this.schedule.parseInterstitialDateRanges(r,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){let n=this.hls.audioTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=YN(YN({},this.altSelection),{},{audio:n});return}let i=YN(YN({},r),{},{audio:n});this.mediaSelection=i}onSubtitleTrackUpdated(e,t){let n=this.hls.subtitleTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=YN(YN({},this.altSelection),{},{subtitles:n});return}let i=YN(YN({},r),{},{subtitles:n});this.mediaSelection=i}onAudioTrackSwitching(e,t){let n=eI(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setAudioOption(t)||e.setAudioOption(n)))}onSubtitleTrackSwitch(e,t){let n=eI(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setSubtitleOption(t)||t.id!==-1&&e.setSubtitleOption(n)))}onBufferCodecs(e,t){let n=t.tracks;n&&(this.requiredTracks=n)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){let n=this.playingItem;if(n&&!this.itemsMatch(n,this.bufferingItem)&&!this.isInterstitial(n)){let e=this.timelinePos;this.bufferedPos=e,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let e=0;e<t.length;e++){let n=t[e];if(n.cue.post){let e=this.schedule.findEventIndex(n.identifier),t=this.schedule.items?.[e];this.isInterstitial(t)&&this.eventItemsMatch(t,this.bufferingItem)&&this.bufferedToItem(t,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let t=this.playingItem;if(!this.playingLastItem&&t){let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}else this.shouldPlay=!1}
1820updateItem(e,t){let n=this.schedule?.items;return e&&n&&n[this.findItemIndex(e,t)]||null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((t,n)=>{e.event.isAssetPastPlayoutLimit(n)&&this.clearAssetPlayer(t.identifier,null)});let n=e.end+.25,r=$I.bufferInfo(this.primaryMedia,n,0);(r.end>n||(r.nextStart||0)>n)&&(this.log(`trim buffered interstitial ${tU(e)} (was ${tU(t)})`),this.attachPrimary(n,null,!0),this.flushFrontBuffer(n))}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){return!!t&&(e===t||e.event.identifier===t.event?.identifier)}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t;let n=this.mediaSelection;n&&((t=this.schedule)==null||t.updateSchedule(n,[],e))}checkBuffer(e){let t=this.schedule?.items;if(!t)return;let n=$I.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||=n.len<1,this.updateBufferedPos(n.end,t,e)}updateBufferedPos(e,t,n){let r=this.schedule,i=this.bufferingItem;if(this.bufferedPos>e||!r)return;if(t.length===1&&this.itemsMatch(t[0],i)){this.bufferedPos=e;return}let a=this.playingItem,o=this.findItemIndex(a),s=r.findItemIndexAtTime(e);if(this.bufferedPos<e){var c;let n=this.findItemIndex(i),r=Math.min(n+1,t.length-1),a=t[r];if((s===-1&&i&&e>=i.end||(c=a.event)!=null&&c.appendInPlace&&e+.01>=a.start)&&(s=r),this.isInterstitial(i)){let e=i.event;if(r-o>1&&e.appendInPlace===!1||e.assetList.length===0&&e.assetListLoader)return}if(this.bufferedPos=e,s>n&&s>o)this.bufferedToItem(a);else{let t=this.primaryDetails;this.primaryLive&&t&&e>t.edge-t.targetduration&&a.start<t.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(a)&&this.preloadAssets(a.event,0)}}else n&&a&&!this.itemsMatch(a,i)&&(s===o?this.bufferedToItem(a):s===o+1&&this.bufferedToItem(t[s]))}assetsBuffered(e,t){return e.event.assetList.length!==0&&!e.event.assetList.some(e=>{let n=this.getAssetPlayer(e.identifier);return!(n!=null&&n.bufferedInPlaceToEnd(t))})}setBufferingItem(e){let t=this.bufferingItem,n=this.schedule;if(!this.itemsMatch(e,t)&&n){let{items:r,events:i}=n;if(!r||!i)return t;let a=this.isInterstitial(e),o=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let s=o?o.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${tU(e)}`+(t?` (${s.toFixed(2)} remaining)`:``)),!this.playbackDisabled)if(a){let t=n.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((e,n)=>{let r=this.getAssetPlayer(e.identifier);r&&(n===t&&r.loadSource(),r.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(e=>e.pauseBuffering());this.hls.trigger(Y.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:i.slice(0),schedule:r.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){let n=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(n!==null){this.bufferingAsset=null;let t=this.detachedData;t&&t.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e)}}}preloadPrimary(e){let t=this.findItemIndex(e),n=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(n)}bufferedToEvent(e,t){let n=e.event,r=n.assetList.length===0&&!n.assetListLoader,i=n.cue.once;if(r||!i){let e=this.preloadAssets(n,t);if(e!=null&&e.interstitial.appendInPlace){let t=this.primaryMedia;t&&this.bufferAssetPlayer(e,t)}}}preloadAssets(e,t){let n=e.assetUrl,r=e.assetList.length,i=r===0&&!e.assetListLoader,a=e.cue.once;if(i){let i=e.timelineStart;if(e.appendInPlace){var o;let t=this.playingItem;!this.isInterstitial(t)&&(t==null||(o=t.nextEvent)==null?void 0:o.identifier)===e.identifier&&this.flushFrontBuffer(i+.25)}let a,s=0;if(!this.playingItem&&this.primaryLive&&(s=this.hls.startPosition,s===-1&&(s=this.hls.liveSyncPosition||0)),s&&!(e.cue.pre||e.cue.post)){let e=s-i;e>0&&(a=Math.round(e*1e3)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${n?1:r} ${e}${a?` live-start: ${s} start-offset: ${a}`:``}`),n)return this.createAsset(e,0,0,i,e.duration,n);let c=this.assetListLoader.loadAssetList(e,a);c&&(e.assetListLoader=c)}else if(!a&&r){for(let n=t;n<r;n++){let t=e.assetList[n],r=this.getAssetPlayerQueueIndex(t.identifier);(r===-1||this.playerQueue[r].destroyed)&&!t.error&&this.createAssetPlayer(e,t,n)}let n=e.assetList[t];if(n){let e=this.getAssetPlayer(n.identifier);return e&&e.loadSource(),e}}return null}flushFrontBuffer(e){let t=this.requiredTracks;t&&(this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(t=>{this.hls.trigger(Y.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:t})}))}getAssetPlayerQueueIndex(e){let t=this.playerQueue;for(let n=0;n<t.length;n++)if(e===t[n].assetId)return n;return-1}getAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}
1820getBufferingPlayer(){let{playerQueue:e,primaryMedia:t}=this;if(t){for(let n=0;n<e.length;n++)if(e[n].media===t)return e[n]}return null}createAsset(e,t,n,r,i,a){let o={parentIdentifier:e.identifier,identifier:GH(e,a,t),duration:i,startOffset:n,timelineStart:r,uri:a};return this.createAssetPlayer(e,o,t)}createAssetPlayer(e,t,n){let r=this.hls,i=r.userConfig,a=i.videoPreference,o=r.loadLevelObj||r.levels[r.currentLevel];(a||o)&&(a=qN({},a),o.videoCodec&&(a.videoCodec=o.videoCodec),o.videoRange&&(a.allowedVideoRanges=[o.videoRange]));let s=r.audioTracks[r.audioTrack],c=r.subtitleTracks[r.subtitleTrack],l=0;if(this.primaryLive||e.appendInPlace){let e=this.timelinePos-t.timelineStart;if(e>1){let n=t.duration;n&&e<n&&(l=e)}}let u=t.identifier,d=YN(YN({},i),{},{maxMaxBufferLength:Math.min(180,r.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:r.sessionId,assetPlayerId:u,abrEwmaDefaultEstimate:r.bandwidthEstimate,interstitialsController:void 0,startPosition:l,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:a,audioPreference:s||i.audioPreference,subtitlePreference:c||i.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(d.timelineOffset=t.timelineStart));let f=d.cmcd;f!=null&&f.sessionId&&f.contentId&&(d.cmcd=qN({},f,{contentId:HH(t.uri)})),this.getAssetPlayer(u)&&this.warn(`Duplicate date range identifier ${e} and asset ${u}`);let p=new QH(this.HlsPlayerClass,d,e,t);this.playerQueue.push(p),e.assetList[n]=t;let m=!0,h=r=>{if(r.live){let t=Error(`Interstitials MUST be VOD assets ${e}`),r={fatal:!0,type:VN.OTHER_ERROR,details:J.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},i=this.schedule?.findEventIndex(e.identifier)||-1;this.handleAssetItemError(r,e,i,n,t.message);return}let i=r.edge-r.fragmentStart,a=t.duration;(m||a===null||i>a)&&(m=!1,this.log(`Interstitial asset "${u}" duration change ${a} > ${i}`),t.duration=i,this.updateSchedule())};p.on(Y.LEVEL_UPDATED,(e,{details:t})=>h(t)),p.on(Y.LEVEL_PTS_UPDATED,(e,{details:t})=>h(t)),p.on(Y.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let g=(e,t)=>{let n=this.getAssetPlayer(u);if(n&&t.tracks){n.off(Y.BUFFER_CODECS,g),n.tracks=t.tracks;let e=this.primaryMedia;this.bufferingAsset===n.assetItem&&e&&!n.media&&this.bufferAssetPlayer(n,e)}};p.on(Y.BUFFER_CODECS,g),p.on(Y.BUFFERED_TO_END,()=>{let n=this.getAssetPlayer(u);if(this.log(`buffered to end of asset ${n}`),!n||!this.schedule)return;let r=this.schedule.findEventIndex(e.identifier),i=this.schedule.items?.[r];this.isInterstitial(i)&&this.advanceAssetBuffering(i,t)});let _=t=>()=>{if(!this.getAssetPlayer(u)||!this.schedule)return;this.shouldPlay=!0;let n=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,n,t)};return p.once(Y.MEDIA_ENDED,_(n)),p.once(Y.PLAYOUT_LIMIT_REACHED,_(1/0)),p.on(Y.ERROR,(t,r)=>{if(!this.schedule)return;let i=this.getAssetPlayer(u);if(r.details===J.BUFFER_STALLED_ERROR){if(i!=null&&i.appendInPlace){this.handleInPlaceStall(e);return}this.onTimeupdate(),this.checkBuffer(!0);return}this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),n,`Asset player error ${r.error} ${e}`)}),p.on(Y.DESTROYING,()=>{if(!this.getAssetPlayer(u)||!this.schedule)return;let t=Error(`Asset player destroyed unexpectedly ${u}`),r={fatal:!0,type:VN.OTHER_ERROR,details:J.INTERSTITIAL_ASSET_ITEM_ERROR,error:t};this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),n,t.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${ZH(t)}`),this.hls.trigger(Y.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:n,event:e,player:p}),p}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset()}clearAssetPlayers(e,t){e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,t)})}resetAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);if(t!==-1){this.log(`reset asset player "${e}" after error`);let n=this.playerQueue[t];this.transferMediaFromPlayer(n,null),n.resetDetails()}}clearAssetPlayer(e,t){let n=this.getAssetPlayerQueueIndex(e);if(n!==-1){let e=this.playerQueue[n];this.log(`clear ${e} toSegment: ${t&&tU(t)}`),this.transferMediaFromPlayer(e,t),this.playerQueue.splice(n,1),e.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}
1820startAssetPlayer(e,t,n,r,i){let{interstitial:a,assetItem:o,assetId:s}=e,c=a.assetList.length,l=this.playingAsset;this.endedAsset=null,this.playingAsset=o,(!l||l.identifier!==s)&&(l&&(this.clearAssetPlayer(l.identifier,n[r]),delete l.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${c} ${ZH(o)}`),this.hls.trigger(Y.INTERSTITIAL_ASSET_STARTED,{asset:o,assetListIndex:t,event:a,schedule:n.slice(0),scheduleIndex:r,player:e})),this.bufferAssetPlayer(e,i)}bufferAssetPlayer(e,t){if(!this.schedule)return;let{interstitial:n,assetItem:r}=e,i=this.schedule.findEventIndex(n.identifier),a=this.schedule.items?.[i];if(!a)return;e.loadSource(),this.setBufferingItem(a),this.bufferingAsset=r;let o=this.getBufferingPlayer();if(o===e)return;let s=n.appendInPlace;if(s&&o?.interstitial.appendInPlace===!1)return;let c=o?.tracks||this.detachedData?.tracks||this.requiredTracks;if(s&&r!==this.playingAsset){if(!e.tracks){this.log(`Waiting for track info before buffering ${e}`);return}if(c&&!lP(c,e.tracks)){let t=Error(`Asset ${ZH(r)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(c)}')`),a={fatal:!0,type:VN.OTHER_ERROR,details:J.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},o=n.findAssetIndex(r);this.handleAssetItemError(a,n,i,o,t.message);return}}this.transferMediaTo(e,t)}handleInPlaceStall(e){let t=this.schedule,n=this.primaryMedia;if(!t||!n)return;let r=n.currentTime,i=t.findAssetIndex(e,r),a=e.assetList[i];if(a){let o=this.getAssetPlayer(a.identifier);if(o){let s=o.currentTime||r-a.timelineStart,c=o.duration-s;if(this.warn(`Stalled at ${s} of ${s+c} in ${o} ${e} (media.currentTime: ${r})`),s&&(c/n.playbackRate<.5||o.bufferedInPlaceToEnd(n))&&o.hls){let n=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,n,i)}}}}advanceInPlace(e){let t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e)}handleAssetItemError(e,t,n,r,i){if(e.details===J.BUFFER_STALLED_ERROR)return;let a=t.assetList[r]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${a&&ZH(a)} ${e.error}`),!this.schedule)return;let o=a?.identifier||``,s=this.getAssetPlayerQueueIndex(o),c=this.playerQueue[s]||null,l=this.schedule.items,u=qN({},e,{fatal:!1,errorAction:kI(!0),asset:a,assetListIndex:r,event:t,schedule:l,scheduleIndex:n,player:c});if(this.hls.trigger(Y.INTERSTITIAL_ASSET_ERROR,u),!e.fatal)return;let d=this.playingAsset,f=this.bufferingAsset,p=Error(i);if(a&&(this.clearAssetPlayer(o,null),a.error=p),!t.assetList.some(e=>!e.error))t.error=p;else for(let e=r;e<t.assetList.length;e++)this.resetAssetPlayer(t.assetList[e].identifier);this.updateSchedule(!0),t.error?this.primaryFallback(t):d&&d.identifier===o?this.advanceAfterAssetEnded(t,n,r):f&&f.identifier===o&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,f)}primaryFallback(e){let t=e.timelineStart,n=this.effectivePlayingItem,r=this.timelinePos;if(n){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${r} playing: ${tU(n)} error: ${e.error}`),r===-1&&(r=this.hls.startPosition);let i=this.updateItem(n,r);this.itemsMatch(n,i)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t))}else if(r===-1){this.checkStart();return}if(!this.schedule)return;let i=this.schedule.findItemIndexAtTime(r);this.setSchedulePosition(i)}onAssetListLoaded(e,t){var n;let r=t.event,i=r.identifier,a=t.assetListResponse.ASSETS;if(!((n=this.schedule)!=null&&n.hasEvent(i)))return;let o=r.timelineStart,s=r.duration,c=0;a.forEach((e,t)=>{let n=parseFloat(e.DURATION);this.createAsset(r,t,c,o+c,n,e.URI),c+=n}),r.duration=c,this.log(`Loaded asset-list with duration: ${c} (was: ${s}) ${r}`);let l=this.waitingItem?.event.identifier===i;this.updateSchedule();let u=this.bufferingItem?.event;if(l){let e=this.schedule.findEventIndex(i),t=this.schedule.items?.[e];if(t){if(!this.playingItem&&this.timelinePos>t.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==e){r.error=Error(`Interstitial ${a.length?`no longer within playback range`:`asset-list is empty`} ${this.timelinePos} ${r}`),this.log(r.error.message),this.updateSchedule(!0),this.primaryFallback(r);return}this.setBufferingItem(t)}this.setSchedulePosition(e)}else if(u?.identifier===i){let e=r.assetList[0];if(e){let t=this.getAssetPlayer(e.identifier);if(u.appendInPlace){let e=this.primaryMedia;t&&e&&this.bufferAssetPlayer(t,e)}else t&&t.loadSource()}}}onError(e,t){if(this.schedule)switch(t.details){case J.ASSET_LIST_PARSING_ERROR:case J.ASSET_LIST_LOAD_ERROR:case J.ASSET_LIST_LOAD_TIMEOUT:{let e=t.interstitial;e&&(this.updateSchedule(!0),this.primaryFallback(e));break}case J.BUFFER_STALLED_ERROR:{let e=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(e)&&e.event.appendInPlace){this.handleInPlaceStall(e.event);return}this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0);break}}}},oU=500,sU=class extends kR{constructor(e,t,n){super(e,t,n,`subtitle-stream-controller`,UN.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUp
vendor: 8,798 bytes, line 1820
1820dated,this),e.on(Y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(Y.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(Y.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=X.IDLE,this.setInterval(oU),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let{frag:n,success:r}=t;if(this.fragContextChanged(n)||(xP(n)&&(this.fragPrevious=n),this.state=X.IDLE),!r)return;let i=this.tracksBuffered[this.currentTrackId];if(!i)return;let a,o=n.start;for(let e=0;e<i.length;e++)if(o>=i[e].start&&o<=i[e].end){a=i[e];break}let s=n.start+n.duration;a?a.end=s:(a={start:o,end:s},i.push(a)),this.fragmentTracker.fragBuffered(n),this.fragBufferedComplete(n,null),this.media&&this.tick()}onBufferFlushing(e,t){let{startOffset:n,endOffset:r}=t;if(n===0&&r!==1/0){let e=r-1;if(e<=0)return;t.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach(t=>{for(let n=0;n<t.length;){if(t[n].end<=e){t.shift();continue}if(t[n].start<e)t[n].start=e;else break;n++}}),this.fragmentTracker.removeFragmentsInRange(n,e,UN.SUBTITLE)}}onError(e,t){let n=t.frag;n?.type===UN.SUBTITLE&&(t.details===J.FRAG_GAP&&this.fragmentTracker.fragBuffered(n,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==X.STOPPED&&(this.state=X.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&UB(this.levels,t)){this.levels=t.map(e=>new WF(e));return}this.tracksBuffered=[],this.levels=t.map(e=>{let t=new WF(e);return this.tracksBuffered[t.id]=[],t}),this.fragmentTracker.removeFragmentsInRange(0,1/0,UN.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var n;if(this.currentTrackId=t.id,!((n=this.levels)!=null&&n.length)||this.currentTrackId===-1){this.clearInterval();return}let r=this.levels[this.currentTrackId];this.mediaBuffer=r!=null&&r.details?this.mediaBufferTimeRanges:null,r&&this.state!==X.STOPPED&&this.setInterval(oU)}onSubtitleTrackLoaded(e,t){var n;let{currentTrackId:r,levels:i}=this,{details:a,id:o}=t;if(!i){this.warn(`Subtitle tracks were reset while loading level ${o}`);return}let s=i[o];if(o>=i.length||!s)return;this.log(`Subtitle track ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:``},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let c=0;if(a.live||(n=s.details)!=null&&n.live){if(a.deltaUpdateFailed)return;let e=this.mainDetails;if(!e){this.startFragRequested=!1;return}let t=e.fragments[0];s.details?(c=this.alignPlaylists(a,s.details,this.levelLastLoaded?.details),c===0&&t&&(c=t.start,dR(a,c))):a.hasProgramDateTime&&e.hasProgramDateTime?(TR(a,e),c=a.fragmentStart):t&&(c=t.start,dR(a,c)),e&&!this.startFragRequested&&this.setStartPosition(e,c)}s.details=a,this.levelLastLoaded=s,o===r&&(this.hls.trigger(Y.SUBTITLE_TRACK_UPDATED,{details:a,id:o,groupId:t.groupId}),this.tick(),a.live&&!this.fragCurrent&&this.media&&this.state===X.IDLE&&(fI(null,a.fragments,this.media.currentTime,0)||(this.warn(`Subtitle playlist not aligned with playback`),s.details=void 0)))}_handleFragmentLoadComplete(e){let{frag:t,payload:n}=e,r=t.decryptdata,i=this.hls;if(!this.fragContextChanged(t)&&n&&n.byteLength>0&&r!=null&&r.key&&r.iv&&gL(r.method)){let e=performance.now();this.decrypter.decrypt(new Uint8Array(n),r.key.buffer,r.iv.buffer,_L(r.method)).catch(e=>{throw i.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e}).then(n=>{let r=performance.now();i.trigger(Y.FRAG_DECRYPTED,{frag:t,payload:n,stats:{tstart:e,tdecrypt:r}})}).catch(e=>{this.warn(`${e.name}: ${e.message}`),this.state=X.IDLE})}}doTick(){if(!this.media){this.state=X.IDLE;return}if(this.state===X.IDLE){let{currentTrackId:e,levels:t}=this,n=t?.[e];if(!n||!t.length||!n.details||this.waitForLive(n))return;let{config:r}=this,i=this.getLoadPosition(),{end:a,len:o}=$I.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],i,r.maxBufferHole),s=n.details;if(o>this.hls.maxBufferLength+s.levelTargetDuration)return;let c=s.fragments,l=c.length,u=s.edge,d=null,f=this.fragPrevious;if(a<u){let e=r.maxFragLookUpTolerance,t=a>u-e?0:e;d=fI(f,c,Math.max(c[0].start,a),t),!d&&f&&f.start<c[0].start&&(d=c[0])}else d=c[l-1];if(d=this.filterReplacedPrimary(d,n.details),!d)return;let p=c[d.sn-s.startSN-1];if(p&&p.cc===d.cc&&this.fragmentTracker.getState(p)===AI.NOT_LOADED&&(d=p),this.fragmentTracker.getState(d)===AI.NOT_LOADED){let e=this.mapToInitFragWhenRequired(d);e&&this.loadFragment(e,n,a)}}}loadFragment(e,t,n){xP(e)?super.loadFragment(e,t,n):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new cU(this.tracksBuffered[this.currentTrackId]||[])}},cU=class{constructor(e){this.buffered=void 0;let t=(t,n,r)=>{if(n>>>=0,n>r-1)throw new DOMException(`Failed to execute '${t}' on 'TimeRanges': The index provided (${n}) is greater than the maximum bound (${r})`);return e[n][t]};this.buffered={get length(){return e.length},end(n){return t(`end`,n,e.length)},start(n){return t(`start`,n,e.length)}}}},lU={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},uU=e=>String.fromCharCode(lU[e]||e),dU=15,fU=100,pU={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},mU={17:2,18:4,21:6,22:8,23:10,19:13,20:15},hU={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},gU={25:2,26:4,29:6,30:8,31:10,27:13,28:15},_U=[`white`,`green`,`blue`,`cyan`,`red`,`yellow`,`magenta`,`black`,`transparent`],vU=class{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let n=typeof t==`function`?t():t;oP.log(`${this.time} [${e}] ${n}`)}}},yU=function(e){let t=[];for(let n=0;n<e.length;n++)t.push(e[n].toString(16));return t},bU=class{constructor(){this.foreground=`white`,this.underline=!1,this.italics=!1,this.background=`black`,this.flash=!1}reset(){this.foreground=`white`,this.underline=!1,this.italics=!1,this.background=`black`,this.flash=!1}setStyles(e){let t=[`foreground`,`underline`,`italics`,`background`,`flash`];for(let n=0;n<t.length;n++){let r=t[n];e.hasOwnProperty(r)&&(this[r]=e[r])}}isDefault(){return this.foreground===`white`&&!this.underline&&!this.italics&&this.background===`black`&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return`color=`+this.foreground+`, underline=`+this.underline+`, italics=`+this.italics+`, background=`+this.background+`, flash=`+this.flash}},xU=class{constructor(){this.uchar=` `,this.penState=new bU}reset(){this.uchar=` `,this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===` `&&this.penState.isDefault()}},SU=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new bU,this.cueStartTime=null,this.logger=void 0;for(let e=0;e<fU;e++)this.chars.push(new xU);this.logger=e}equals(e){for(let t=0;t<fU;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<fU;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<fU;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}
vendor: 5,634 bytes, lines 1820-1821
1820setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,`Negative cursor position `+this.pos),this.pos=0):this.pos>fU&&(this.logger.log(3,`Too large cursor position `+this.pos),this.pos=fU)}moveCursor(e){let t=this.pos+e;if(e>1)for(let e=this.pos+1;e<t+1;e++)this.chars[e].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(` `,this.currPenState)}insertChar(e){e>=144&&this.backSpace();let t=uU(e);if(this.pos>=fU){this.logger.log(0,()=>`Cannot insert `+e.toString(16)+` (`+t+`) at position `+this.pos+`. Skipping it!`);return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<fU;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],t=!0;for(let n=0;n<fU;n++){let r=this.chars[n].uchar;r!==` `&&(t=!1),e.push(r)}return t?``:e.join(``)}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}},CU=class{constructor(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<dU;t++)this.rows.push(new SU(e));this.logger=e}reset(){for(let e=0;e<dU;e++)this.rows[e].clear();this.currRow=14}equals(e){let t=!0;for(let n=0;n<dU;n++)if(!this.rows[n].equals(e.rows[n])){t=!1;break}return t}copy(e){for(let t=0;t<dU;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<dU;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,`setCursor: `+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>`pacData = `+YF(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let e=0;e<dU;e++)this.rows[e].clear();let e=this.currRow+1-this.nrRollUpRows,n=this.lastOutputScreen;if(n){let r=n.rows[e].cueStartTime,i=this.logger.time;if(r!==null&&i!==null&&r<i)for(let r=0;r<this.nrRollUpRows;r++)this.rows[t-this.nrRollUpRows+r+1].copy(n.rows[e+r])}}this.currRow=t;let n=this.rows[this.currRow];if(e.indent!==null){let t=e.indent,r=Math.max(t-1,0);n.setCursor(e.indent),e.color=n.chars[r].penState.foreground}let r={foreground:e.color,underline:e.underline,italics:e.italics,background:`black`,flash:!1};this.setPen(r)}setBkgData(e){this.logger.log(2,()=>`bkgData = `+YF(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,`roll_up but nrRollUpRows not set yet`);return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,`Rolling up`)}getDisplayText(e){e||=!1;let t=[],n=``,r=-1;for(let n=0;n<dU;n++){let i=this.rows[n].getTextString();i&&(r=n+1,e?t.push(`Row `+r+`: '`+i+`'`):t.push(i.trim()))}return t.length>0&&(n=e?`[`+t.join(` | `)+`]`:t.join(`
1821`)),n}getTextAndFormat(){return this.rows}},wU=class{constructor(e,t,n){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new CU(n),this.nonDisplayedMemory=new CU(n),this.lastOutputScreen=new CU(n),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=n}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>`MODE=`+e),this.mode===`MODE_POP-ON`?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!==`MODE_ROLL-UP`&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let t=0;t<e.length;t++)this.writeScreen.insertChar(e[t]);let t=this.writeScreen===this.displayedMemory?`DISP`:`NON_DISP`;this.logger.log(2,()=>t+`: `+this.writeScreen.getDisplayText(!0)),(this.mode===`MODE_PAINT-ON`||this.mode===`MODE_ROLL-UP`)&&(this.logger.log(1,()=>`DISPLAYED: `+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,`RCL - Resume Caption Loading`),this.setMode(`MODE_POP-ON`)}ccBS(){this.logger.log(2,`BS - BackSpace`),this.mode!==`MODE_TEXT`&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,`DER- Delete to End of Row`),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,`RU(`+e+`) - Roll Up`),this.writeScreen=this.displayedMemory,this.setMode(`MODE_ROLL-UP`),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,`FON - Flash On`),this.writeScreen.setPen({flash:!0})}
vendor: 26,773 bytes, lines 1821-1831
1821ccRDC(){this.logger.log(2,`RDC - Resume Direct Captioning`),this.setMode(`MODE_PAINT-ON`)}ccTR(){this.logger.log(2,`TR`),this.setMode(`MODE_TEXT`)}ccRTD(){this.logger.log(2,`RTD`),this.setMode(`MODE_TEXT`)}ccEDM(){this.logger.log(2,`EDM - Erase Displayed Memory`),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,`CR - Carriage Return`),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,`ENM - Erase Non-displayed Memory`),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,`EOC - End Of Caption`),this.mode===`MODE_POP-ON`){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>`DISP: `+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,`TO(`+e+`) - Tab Offset`),this.writeScreen.moveCursor(e)}ccMIDROW(e){let t={flash:!1};t.underline=e%2==1,t.italics=e>=46,t.foreground=t.italics?`white`:[`white`,`green`,`blue`,`cyan`,`red`,`yellow`,`magenta`][Math.floor(e/2)-16],this.logger.log(2,`MIDROW: `+YF(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}},TU=class{constructor(e,t,n){this.channels=void 0,this.currentChannel=0,this.cmdHistory=OU(),this.logger=void 0;let r=this.logger=new vU;this.channels=[null,new wU(e,t,r),new wU(e+1,n,r)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let e=0;e<t.length;e+=2){let n=t[e]&127,r=t[e+1]&127,i=!1,a=null;if(n===0&&r===0)continue;this.logger.log(3,()=>`[`+yU([t[e],t[e+1]])+`] -> (`+yU([n,r])+`)`);let o=this.cmdHistory;if(n>=16&&n<=31){if(DU(n,r,o)){EU(null,null,o),this.logger.log(3,()=>`Repeated command (`+yU([n,r])+`) is dropped`);continue}EU(n,r,this.cmdHistory),i=this.parseCmd(n,r),i||=this.parseMidrow(n,r),i||=this.parsePAC(n,r),i||=this.parseBackgroundAttributes(n,r)}else EU(null,null,o);if(!i&&(a=this.parseChars(n,r),a)){let e=this.currentChannel;e&&e>0?this.channels[e].insertChars(a):this.logger.log(2,`No channel found yet. TEXT-MODE?`)}!i&&!a&&this.logger.log(2,()=>`Couldn't parse cleaned data `+yU([n,r])+` orig: `+yU([t[e],t[e+1]]))}}parseCmd(e,t){if(!((e===20||e===28||e===21||e===29)&&t>=32&&t<=47||(e===23||e===31)&&t>=33&&t<=35))return!1;let n=e===20||e===21||e===23?1:2,r=this.channels[n];return e===20||e===21||e===28||e===29?t===32?r.ccRCL():t===33?r.ccBS():t===34?r.ccAOF():t===35?r.ccAON():t===36?r.ccDER():t===37?r.ccRU(2):t===38?r.ccRU(3):t===39?r.ccRU(4):t===40?r.ccFON():t===41?r.ccRDC():t===42?r.ccTR():t===43?r.ccRTD():t===44?r.ccEDM():t===45?r.ccCR():t===46?r.ccENM():t===47&&r.ccEOC():r.ccTO(t-32),this.currentChannel=n,!0}parseMidrow(e,t){let n=0;if((e===17||e===25)&&t>=32&&t<=47){if(n=e===17?1:2,n!==this.currentChannel)return this.logger.log(0,`Mismatch channel in midrow parsing`),!1;let r=this.channels[n];return r?(r.ccMIDROW(t),this.logger.log(3,()=>`MIDROW (`+yU([e,t])+`)`),!0):!1}return!1}parsePAC(e,t){let n;if(!((e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127||(e===16||e===24)&&t>=64&&t<=95))return!1;let r=e<=23?1:2;n=t>=64&&t<=95?r===1?pU[e]:hU[e]:r===1?mU[e]:gU[e];let i=this.channels[r];return i?(i.setPAC(this.interpretPAC(n,t)),this.currentChannel=r,!0):!1}interpretPAC(e,t){let n,r={color:null,italics:!1,indent:null,underline:!1,row:e};return n=t>95?t-96:t-64,r.underline=(n&1)==1,n<=13?r.color=[`white`,`green`,`blue`,`cyan`,`red`,`yellow`,`magenta`,`white`][Math.floor(n/2)]:n<=15?(r.italics=!0,r.color=`white`):r.indent=Math.floor((n-16)/2)*4,r}parseChars(e,t){let n,r=null,i=null;if(e>=25?(n=2,i=e-8):(n=1,i=e),i>=17&&i<=19){let e;e=i===17?t+80:i===18?t+112:t+144,this.logger.log(2,()=>`Special char '`+uU(e)+`' in channel `+n),r=[e]}else e>=32&&e<=127&&(r=t===0?[e]:[e,t]);return r&&this.logger.log(3,()=>`Char codes =  `+yU(r).join(`,`)),r}parseBackgroundAttributes(e,t){if(!((e===16||e===24)&&t>=32&&t<=47||(e===23||e===31)&&t>=45&&t<=47))return!1;let n,r={};e===16||e===24?(n=Math.floor((t-32)/2),r.background=_U[n],t%2==1&&(r.background+=`_semi`)):t===45?r.background=`transparent`:(r.foreground=`black`,t===47&&(r.underline=!0));let i=e<=23?1:2;return this.channels[i].setBkgData(r),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}EU(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let n=this.channels[t];n&&n.cueSplitAtTime(e)}}};function EU(e,t,n){n.a=e,n.b=t}function DU(e,t,n){return n.a===e&&n.b===t}function OU(){return{a:null,b:null}}var kU=(function(){if(CL!=null&&CL.VTTCue)return self.VTTCue;let e=[``,`lr`,`rl`],t=[`start`,`middle`,`end`,`left`,`right`];function n(e,t){if(typeof t!=`string`||!Array.isArray(e))return!1;let n=t.toLowerCase();return~e.indexOf(n)?n:!1}function r(t){return n(e,t)}function i(e){return n(t,e)}function a(e,...t){let n=1;for(;n<arguments.length;n++){let t=arguments[n];for(let n in t)e[n]=t[n]}return e}function o(e,t,n){let o=this,s={enumerable:!0};o.hasBeenReset=!1;let c=``,l=!1,u=e,d=t,f=n,p=null,m=``,h=!0,g=`auto`,_=`start`,v=50,y=`middle`,b=50,x=`middle`;Object.defineProperty(o,"id",a({},s,{get:function(){return c},set:function(e){c=``+e}})),Object.defineProperty(o,"pauseOnExit",a({},s,{get:function(){return l},set:function(e){l=!!e}})),Object.defineProperty(o,"startTime",a({},s,{get:function(){return u},set:function(e){if(typeof e!=`number`)throw TypeError(`Start time must be set to a number.`);u=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"endTime",a({},s,{get:function(){return d},set:function(e){if(typeof e!=`number`)throw TypeError(`End time must be set to a number.`);d=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"text",a({},s,{get:function(){return f},set:function(e){f=``+e,this.hasBeenReset=!0}})),Object.defineProperty(o,"region",a({},s,{get:function(){return p},set:function(e){p=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"vertical",a({},s,{get:function(){return m},set:function(e){let t=r(e);if(t===!1)throw SyntaxError(`An invalid or illegal string was specified.`);m=t,this.hasBeenReset=!0}})),Object.defineProperty(o,"snapToLines",a({},s,{get:function(){return h},set:function(e){h=!!e,this.hasBeenReset=!0}})),Object.defineProperty(o,"line",a({},s,{get:function(){return g},set:function(e){if(typeof e!=`number`&&e!==`auto`)throw SyntaxError(`An invalid number or illegal string was specified.`);g=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"lineAlign",a({},s,{get:function(){return _},set:function(e){let t=i(e);if(!t)throw SyntaxError(`An invalid or illegal string was specified.`);_=t,this.hasBeenReset=!0}})),Object.defineProperty(o,"position",a({},s,{get:function(){return v},set:function(e){if(e<0||e>100)throw Error(`Position must be between 0 and 100.`);v=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"positionAlign",a({},s,{get:function(){return y},set:function(e){let t=i(e);if(!t)throw SyntaxError(`An invalid or illegal string was specified.`);y=t,this.hasBeenReset=!0}})),Object.defineProperty(o,"size",a({},s,{get:function(){return b},set:function(e){if(e<0||e>100)throw Error(`Size must be between 0 and 100.`);b=e,this.hasBeenReset=!0}})),Object.defineProperty(o,"align",a({},s,{get:function(){return x},set:function(e){let t=i(e);if(!t)throw SyntaxError(`An invalid or illegal string was specified.`);x=t,this.hasBeenReset=!0}})),o.displayState=void 0}return o.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},o})(),AU=class{decode(e,t){if(!e)return``;if(typeof e!=`string`)throw Error(`Error - expected string data.`);return decodeURIComponent(encodeURIComponent(e))}};function jU(e){function t(e,t,n,r){return(e|0)*3600+(t|0)*60+(n|0)+parseFloat(r||0)}let n=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return n?parseFloat(n[2])>59?t(n[2],n[3],0,n[4]):t(n[1],n[2],n[3],n[4]):null}var MU=class{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==``&&(this.values[e]=t)}get(e,t,n){return n?this.has(e)?this.values[e]:t[n]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,n){for(let r=0;r<n.length;++r)if(t===n[r]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){let n=parseFloat(t);if(n>=0&&n<=100)return this.set(e,n),!0}return!1}};function NU(e,t,n,r){let i=r?e.split(r):[e];for(let e in i){if(typeof i[e]!=`string`)continue;let r=i[e].split(n);if(r.length!==2)continue;let a=r[0],o=r[1];t(a,o)}}var PU=new kU(0,0,``),FU=PU.align===`middle`?`middle`:`center`;function IU(e,t,n){let r=e;function i(){let t=jU(e);if(t===null)throw Error(`Malformed timestamp: `+r);return e=e.replace(/^[^\sa-zA-Z-]+/,``),t}function a(e,t){let r=new MU;NU(e,function(e,t){let i;switch(e){case`region`:for(let i=n.length-1;i>=0;i--)if(n[i].id===t){r.set(e,n[i].region);break}break;case`vertical`:r.alt(e,t,[`rl`,`lr`]);break;case`line`:i=t.split(`,`),r.integer(e,i[0]),r.percent(e,i[0])&&r.set(`snapToLines`,!1),r.alt(e,i[0],[`auto`]),i.length===2&&r.alt(`lineAlign`,i[1],[`start`,FU,`end`]);break;case`position`:i=t.split(`,`),r.percent(e,i[0]),i.length===2&&r.alt(`positionAlign`,i[1],[`start`,FU,`end`,`line-left`,`line-right`,`auto`]);break;case`size`:r.percent(e,t);break;case`align`:r.alt(e,t,[`start`,FU,`end`,`left`,`right`])}},/:/,/\s/),t.region=r.get(`region`,null),t.vertical=r.get(`vertical`,``);let i=r.get(`line`,`auto`);i===`auto`&&PU.line===-1&&(i=-1),t.line=i,t.lineAlign=r.get(`lineAlign`,`start`),t.snapToLines=r.get(`snapToLines`,!0),t.size=r.get(`size`,100),t.align=r.get(`align`,FU);let a=r.get(`position`,`auto`);a===`auto`&&PU.position===50&&(a=t.align===`start`||t.align===`left`?0:t.align===`end`||t.align===`right`?100:50),t.position=a}function o(){e=e.replace(/^\s+/,``)}if(o(),t.startTime=i(),o(),e.slice(0,3)!==`-->`)throw Error(`Malformed time stamp (time stamps must be separated by '-->'): `+r);e=e.slice(3),o(),t.endTime=i(),o(),a(e,t)}function LU(e){return e.replace(/<br(?: \/)?>/gi,`
1822`)}var RU=class{constructor(){this.state=`INITIAL`,this.buffer=``,this.decoder=new AU,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function n(){let e=t.buffer,n=0;for(e=LU(e);n<e.length&&e[n]!==`\r`&&e[n]!==`
1823`;)++n;let r=e.slice(0,n);return e[n]===`\r`&&++n,e[n]===`
1824`&&++n,t.buffer=e.slice(n),r}function r(e){NU(e,function(e,t){},/:/)}try{let e=``;if(t.state===`INITIAL`){if(!/\r\n|\n/.test(t.buffer))return this;e=n();let r=e.match(/^()?WEBVTT([ \t].*)?$/);if(!(r!=null&&r[0]))throw Error(`Malformed WebVTT signature.`);t.state=`HEADER`}let i=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(i?i=!1:e=n(),t.state){case`HEADER`:/:/.test(e)?r(e):e||(t.state=`ID`);continue;case`NOTE`:e||(t.state=`ID`);continue;case`ID`:if(/^NOTE($|[ \t])/.test(e)){t.state=`NOTE`;break}if(!e)continue;if(t.cue=new kU(0,0,``),t.state=`CUE`,e.indexOf(`-->`)===-1){t.cue.id=e;continue}case`CUE`:if(!t.cue){t.state=`BADCUE`;continue}try{IU(e,t.cue,t.regionList)}catch{t.cue=null,t.state=`BADCUE`;continue}t.state=`CUETEXT`;continue;case`CUETEXT`:{let n=e.indexOf(`-->`)!==-1;if(!e||n&&(i=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state=`ID`;continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
1825`),t.cue.text+=e}continue;case`BADCUE`:e||(t.state=`ID`)}}}catch{t.state===`CUETEXT`&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state===`INITIAL`?`BADWEBVTT`:`BADCUE`}return this}flush(){let e=this;try{if((e.cue||e.state===`HEADER`)&&(e.buffer+=`
1826
1827`,e.parse()),e.state===`INITIAL`||e.state===`BADWEBVTT`)throw Error(`Malformed WebVTT signature.`)}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}},zU=/\r\n|\n\r|\n|\r/g,BU=function(e,t,n=0){return e.slice(n,n+t.length)===t},VU=function(e){let t=parseInt(e.slice(-3)),n=parseInt(e.slice(-6,-4)),r=parseInt(e.slice(-9,-7)),i=e.length>9?parseInt(e.substring(0,e.indexOf(`:`))):0;if(!q(t)||!q(n)||!q(r)||!q(i))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*n,t+=6e4*r,t+=36e5*i,t};function HU(e,t,n){return HH(e.toString())+HH(t.toString())+HH(n)}var UU=function(e,t,n){let r=e[t],i=e[r.prevCC];if(!i||!i.new&&r.new){e.ccOffset=e.presentationOffset=r.start,r.new=!1;return}for(;(a=i)!=null&&a.new;){var a;e.ccOffset+=r.start-i.start,r.new=!1,r=i,i=e[r.prevCC]}e.presentationOffset=n};function WU(e,t,n,r,i,a,o){let s=new RU,c=uP(new Uint8Array(e)).trim().replace(zU,`
1828`).split(`
1829`),l=[],u=t?fB(t.baseTime,t.timescale):0,d=`00:00.000`,f=0,p=0,m,h=!0;s.oncue=function(e){let a=n[r],o=n.ccOffset,s=(f-u)/9e4;if(a!=null&&a.new&&(p===void 0?UU(n,r,s):o=n.ccOffset=a.start),s){if(!t){m=Error(`Missing initPTS for VTT MPEGTS`);return}o=s-n.presentationOffset}let c=e.endTime-e.startTime,d=SB((e.startTime+o-p)*9e4,i*9e4)/9e4;e.startTime=Math.max(d,0),e.endTime=Math.max(d+c,0);let h=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(h)),e.id||=HU(e.startTime,e.endTime,h),e.endTime>0&&l.push(e)},s.onparsingerror=function(e){m=e},s.onflush=function(){if(m){o(m);return}a(l)},c.forEach(e=>{if(h){if(BU(e,`X-TIMESTAMP-MAP=`)){h=!1,e.slice(16).split(`,`).forEach(e=>{BU(e,`LOCAL:`)?d=e.slice(6):BU(e,`MPEGTS:`)&&(f=parseInt(e.slice(7)))});try{p=VU(d)/1e3}catch(e){m=e}return}e===``&&(h=!1)}s.parse(e+`
1830`)}),s.flush()}var GU=`stpp.ttml.im1t`,KU=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,qU=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,JU={left:`start`,center:`center`,right:`end`,start:`start`,end:`end`};function YU(e,t,n,r){let i=FP(new Uint8Array(e),[`mdat`]);if(i.length===0){r(Error(`Could not parse IMSC1 mdat`));return}let a=i.map(e=>uP(e)),o=uB(t.baseTime,1,t.timescale);try{a.forEach(e=>n(XU(e,o)))}catch(e){r(e)}}function XU(e,t){let n=new DOMParser().parseFromString(e,`text/xml`).getElementsByTagName(`tt`)[0];if(!n)throw Error(`Invalid ttml`);let r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},i=Object.keys(r).reduce((e,t)=>(e[t]=n.getAttribute(`ttp:${t}`)||r[t],e),{}),a=n.getAttribute(`xml:space`)!==`preserve`,o=QU(ZU(n,`styling`,`style`)),s=QU(ZU(n,`layout`,`region`)),c=ZU(n,`body`,`[begin]`);return[].map.call(c,e=>{let n=$U(e,a);if(!n||!e.hasAttribute(`begin`))return null;let r=rW(e.getAttribute(`begin`),i),c=rW(e.getAttribute(`dur`),i),l=rW(e.getAttribute(`end`),i);if(r===null)throw nW(e);if(l===null){if(c===null)throw nW(e);l=r+c}let u=new kU(r-t,l-t,n);u.id=HU(u.startTime,u.endTime,u.text);let d=s[e.getAttribute(`region`)],f=o[e.getAttribute(`style`)],p=eW(d,f,o),{textAlign:m}=p;if(m){let e=JU[m];e&&(u.lineAlign=e),u.align=m}return qN(u,p),u}).filter(e=>e!==null)}function ZU(e,t,n){let r=e.getElementsByTagName(t)[0];return r?[].slice.call(r.querySelectorAll(n)):[]}function QU(e){return e.reduce((e,t)=>{let n=t.getAttribute(`xml:id`);return n&&(e[n]=t),e},{})}function $U(e,t){return[].slice.call(e.childNodes).reduce((e,n,r)=>{var i;return n.nodeName===`br`&&r?e+`
1831`:(i=n.childNodes)!=null&&i.length?$U(n,t):t?e+n.textContent.trim().replace(/\s+/g,` `):e+n.textContent},``)}function eW(e,t,n){let r=`http://www.w3.org/ns/ttml#styling`,i=null,a=[`displayAlign`,`textAlign`,`color`,`backgroundColor`,`fontSize`,`fontFamily`],o=e!=null&&e.hasAttribute(`style`)?e.getAttribute(`style`):null;return o&&n.hasOwnProperty(o)&&(i=n[o]),a.reduce((n,a)=>{let o=tW(t,r,a)||tW(e,r,a)||tW(i,r,a);return o&&(n[a]=o),n},{})}function tW(e,t,n){return e&&e.hasAttributeNS(t,n)?e.getAttributeNS(t,n):null}function nW(e){return Error(`Could not parse ttml timestamp ${e}`)}function rW(e,t){if(!e)return null;let n=jU(e);return n===null&&(KU.test(e)?n=iW(e,t):qU.test(e)&&(n=aW(e,t))),n}function iW(e,t){let n=KU.exec(e),r=(n[4]|0)+(n[5]|0)/t.subFrameRate;return(n[1]|0)*3600+(n[2]|0)*60+(n[3]|0)+r/t.frameRate}function aW(e,t){let n=qU.exec(e),r=Number(n[1]);switch(n[2]){case`h`:return r*3600;case`m`:return r*60;case`ms`:return r*1e3;case`f`:return r/t.frameRate;case`t`:return r/t.tickRate}return r}var oW=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,n){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=n,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}},sW=class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=dW(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Y.FRAG_LOADING,this.onFragLoading,this),e.on(Y.FRAG_LOADED,this.onFragLoaded,this),e.on(Y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(Y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(Y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(Y.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Y.FRAG_LOADING,this.onFragLoading,this),e.off(Y.FRAG_LOADED,this.onFragLoaded,this),e.off(Y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(Y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(Y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(Y.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new oW(this,`textTrack1`),t=new oW(this,`textTrack2`),n=new oW(this,`textTrack3`),r=new oW(this,`textTrack4`);this.cea608Parser1=new TU(1,e,t),this.cea608Parser2=new TU(3,n,r)}addCues(e,t,n,r,i){let a=!1;for(let e=i.length;e--;){let r=i[e],o=uW(r[0],r[1],t,n);if(o>=0&&(r[0]=Math.min(r[0],t),r[1]=Math.max(r[1],n),a=!0,o/(n-t)>.5))return}if(a||i.push([t,n]),this.config.renderTextTracksNatively){let i=this.captionsTracks[e];this.Cues.newCue(i,t,n,r)}else{let i=this.Cues.newCue(null,t,n,r);this.hls.trigger(Y.CUES_PARSED,{type:`captions`,cues:i,track:e})}}onInitPtsFound(e,{frag:t,id:n,initPTS:r,timescale:i,trackId:a}){let{unparsedVttFrags:o}=this;n===UN.MAIN&&(this.initPTS[t.cc]={baseTime:r,timescale:i,trackId:a}),o.length&&(this.unparsedVttFrags=[],o.forEach(e=>{this.initPTS[e.frag.cc]?this.onFragLoaded(Y.FRAG_LOADED,e):this.hls.trigger(Y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:Error(`Subtitle discontinuity domain does not match main`)})}))}getExistingTrack(e,t){let{media:n}=this;if(n)for(let r=0;r<n.textTracks.length;r++){let i=n.textTracks[r];if(lW(i,{name:e,lang:t,characteristics:`transcribes-spoken-dialog,describes-music-and-sound`}))return i}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:t,captionsTracks:n,media:r}=this,{label:i,languageCode:a}=t[e],o=this.getExistingTrack(i,a);if(o)n[e]=o,FH(n[e]),NH(n[e],r);else{let t=this.createTextTrack(`captions`,i,a);t&&(t[e]=!0,n[e]=t)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let n={_id:e,label:t.label,kind:`captions`,default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=n,this.hls.trigger(Y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[n]})}createTextTrack(e,t,n){let r=this.media;if(r)return r.addTextTrack(e,t,n)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){let n=!!t.transferMedia;if(this.media=null,n)return;let{captionsTracks:r}=this;Object.keys(r).forEach(e=>{FH(r[e]),delete r[e]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=dW(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){let{media:e}=this;if(!e)return;let t=e.textTracks;if(t)for(let e=0;e<t.length;e++)FH(t[e])}onSubtitleTracksUpdated(e,t){let n=t.subtitleTracks||[],r=n.some(e=>e.textCodec===GU);if(this.config.enableWebVTT||r&&this.config.enableIMSC1){if(UB(this.tracks,n)){this.tracks=n;return}if(this.textTracks=[],this.tracks=n,this.config.renderTextTracksNatively){let e=this.media,t=e?zH(e.textTracks):null;if(this.tracks.forEach((e,n)=>{let r;if(t){let n=null;for(let r=0;r<t.length;r++)if(t[r]&&lW(t[r],e)){n=t[r],t[r]=null;break}n&&(r=n)}if(r)FH(r);else{let t=cW(e);r=this.createTextTrack(t,e.name,e.lang),r&&(r.mode=`disabled`)}r&&this.textTracks.push(r)}),t!=null&&t.length){let e=t.filter(e=>e!==null).map(e=>e.label);e.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${e.join(`, `)}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let e=this.tracks.map(e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}));this.hls.trigger(Y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(e=>{let t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t)return;let n=`textTrack${t[1]}`,r=this.captionsProperties[n];r&&(r.label=e.name,e.lang&&(r.languageCode=e.lang),r.media=e)})}closedCaptionsForLevel(e){return this.hls.levels[e.level]?.attrs[`CLOSED-CAPTIONS`]}onFragLoading(e,t){if(this.enabled&&t.frag.type===UN.MAIN){let{cea608Parser1:e,cea608Parser2:n,lastSn:r}=this,{cc:i,sn:a}=t.frag,o=t.part?.index??-1;e&&n&&(a!==r+1||a===r&&o!==this.lastPartIndex+1||i!==this.lastCc)&&(e.reset(),n.reset()),this.lastCc=i,this.lastSn=a,this.lastPartIndex=o}}onFragLoaded(e,t){let{frag:n,payload:r}=t;if(n.type===UN.SUBTITLE)if(r.byteLength){let e=n.decryptdata,i=`stats`in t;if(e==null||!e.encrypted||i){let e=this.tracks[n.level],i=this.vttCCs;i[n.cc]||(i[n.cc]={start:n.start,prevCC:this.prevCC,new:!0},this.prevCC=n.cc),e&&e.textCodec===GU?this._parseIMSC1(n,r):this._parseVTTs(t)}}else this.hls.trigger(Y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:Error(`Empty subtitle payload`)})}_parseIMSC1(e,t){let n=this.hls;YU(t,this.initPTS[e.cc],t=>{this._appendCues(t,e.level),n.trigger(Y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},t=>{n.logger.log(`Failed to parse IMSC1: ${t}`),n.trigger(Y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})})}_parseVTTs(e){var t;let{frag:n,payload:r}=e,{initPTS:i,unparsedVttFrags:a}=this,o=i.length-1;if(!i[n.cc]&&o===-1){a.push(e);return}let s=this.hls;WU((t=n.initSegment)!=null&&t.data?XP(n.initSegment.data,new Uint8Array(r)).buffer:r,this.initPTS[n.cc],this.vttCCs,n.cc,n.start,e=>{this._appendCues(e,n.level),s.trigger(Y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n})},t=>{let i=t.message===`Missing initPTS for VTT MPEGTS`;i?a.push(e):this._fallbackToIMSC1(n,r),s.logger.log(`Failed to parse VTT cue: ${t}`),!(i&&o>n.cc)&&s.trigger(Y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,error:t})})}_fallbackToIMSC1(e,t){let n=this.tracks[e.level];n.textCodec||YU(t,this.initPTS[e.cc],()=>{n.textCodec=GU,this._parseIMSC1(e,t)},()=>{n.textCodec=`wvtt`})}_appendCues(e,t){let n=this.hls;if(this.config.renderTextTracksNatively){let n=this.textTracks[t];if(!n||n.mode===`disabled`)return;e.forEach(e=>PH(n,e))}else{let r=this.tracks[t];if(!r)return;let i=r.default?`default`:`subtitles`+t;n.trigger(Y.CUES_PARSED,{type:`subtitles`,cues:e,track:i})}}onFragDecrypted(e,t){let{frag:n}=t;n.type===UN.SUBTITLE&&this.onFragLoaded(Y.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:n,samples:r}=t;if(n.type!==UN.MAIN||this.closedCaptionsForLevel(n)!==`NONE`)for(let e=0;e<r.length;e++){let t=r[e].bytes;if(t){this.cea608Parser1||this.initCea608Parsers();let n=this.extractCea608Data(t);this.cea608Parser1.addData(r[e].pts,n[0]),this.cea608Parser2.addData(r[e].pts,n[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:n,endOffsetSubtitles:r,type:i}){let{media:a}=this;if(!(!a||a.currentTime<n)){if(!i||i===`video`){let{captionsTracks:e}=this;Object.keys(e).forEach(r=>IH(e[r],t,n))}if(this.config.renderTextTracksNatively&&t===0&&r!==void 0){let{textTracks:e}=this;Object.keys(e).forEach(n=>IH(e[n],t,r))}}}extractCea608Data(e){let t=[[],[]],n=e[0]&31,r=2;for(let i=0;i<n;i++){let n=e[r++],i=127&e[r++],a=127&e[r++];if((i!==0||a!==0)&&4&n){let e=3&n;(e===0||e===1)&&(t[e].push(i),t[e].push(a))}}return t}};function cW(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?`
1831captions`:`subtitles`}function lW(e,t){return!!e&&e.kind===cW(t)&&GB(t,e)}function uW(e,t,n,r){return Math.min(t,r)-Math.max(e,n)}function dW(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var fW=/\s/,pW={newCue(e,t,n,r){let i=[],a,o,s,c,l,u=self.VTTCue||self.TextTrackCue;for(let f=0;f<r.rows.length;f++)if(a=r.rows[f],s=!0,c=0,l=``,!a.isEmpty()){var d;for(let e=0;e<a.chars.length;e++)fW.test(a.chars[e].uchar)&&s?c++:(l+=a.chars[e].uchar,s=!1);a.cueStartTime=t,t===n&&(n+=1e-4),c>=16?c--:c++;let r=LU(l.trim()),p=HU(t,n,r);e!=null&&(d=e.cues)!=null&&d.getCueById(p)||(o=new u(t,n,r),o.id=p,o.line=f+1,o.align=`left`,o.position=10+Math.min(80,Math.floor(c*8/32)*10),i.push(o))}return e&&i.length&&(i.sort((e,t)=>e.line===`auto`||t.line===`auto`?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line),i.forEach(t=>PH(e,t))),i}};function mW(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch{}return!1}var hW=/(\d+)-(\d+)\/(\d+)/,gW=class{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||bW,this.controller=new self.AbortController,this.stats=new vP}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,n){let r=this.stats;if(r.loading.start)throw Error(`Loader can only be used once.`);r.loading.start=self.performance.now();let i=_W(e,this.controller.signal),a=e.responseType===`arraybuffer`,o=a?`byteLength`:`length`,{maxTimeToFirstByteMs:s,maxLoadTimeMs:c}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=n,this.request=this.fetchSetup(e,i),self.clearTimeout(this.requestTimeout),t.timeout=s&&q(s)?s:c,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(r,e,this.response))},t.timeout),(FB(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(n=>{this.response=this.loader=n;let i=Math.max(self.performance.now(),r.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(r,e,this.response))},c-(i-r.loading.start)),!n.ok){let{status:e,statusText:t}=n;throw new xW(t||`fetch, bad network response`,e,n)}r.loading.first=i,r.total=yW(n.headers)||r.total;let o=this.callbacks?.onProgress;return o&&q(t.highWaterMark)?this.loadProgressively(n,r,e,t.highWaterMark,o):a?n.arrayBuffer():e.responseType===`json`?n.json():n.text()}).then(n=>{var i;let a=this.response;if(!a)throw Error(`loader destroyed`);self.clearTimeout(this.requestTimeout),r.loading.end=Math.max(self.performance.now(),r.loading.first);let s=n[o];s&&(r.loaded=r.total=s);let c={url:a.url,data:n,code:a.status},l=this.callbacks?.onProgress;l&&!q(t.highWaterMark)&&l(r,e,n,a),(i=this.callbacks)==null||i.onSuccess(c,r,e,a)}).catch(t=>{var n;if(self.clearTimeout(this.requestTimeout),r.aborted)return;let i=t&&t.code||0,a=t?t.message:null;(n=this.callbacks)==null||n.onError({code:i,text:a},e,t?t.details:null,r)})}getCacheAge(){let e=null;if(this.response){let t=this.response.headers.get(`age`);e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,n,r=0,i){let a=new jR,o=e.body.getReader(),s=()=>o.read().then(o=>{if(o.done)return a.dataLength&&i(t,n,a.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));let c=o.value,l=c.length;return t.loaded+=l,l<r||a.dataLength?(a.push(c),a.dataLength>=r&&i(t,n,a.flush().buffer,e)):i(t,n,c.buffer,e),s()}).catch(()=>Promise.reject());return s()}};function _W(e,t){let n={method:`GET`,mode:`cors`,credentials:`same-origin`,signal:t,headers:new self.Headers(qN({},e.headers))};return e.rangeEnd&&n.headers.set(`Range`,`bytes=`+e.rangeStart+`-`+String(e.rangeEnd-1)),n}function vW(e){let t=hW.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}function yW(e){let t=e.get(`Content-Range`);if(t){let e=vW(t);if(q(e))return e}let n=e.get(`Content-Length`);if(n)return parseInt(n)}
vendor: 18,357 bytes, line 1831
1831function bW(e,t){return new self.Request(e.url,t)}var xW=class extends Error{constructor(e,t,n){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=n}},SW=/^age:\s*[\d.]+\s*$/im,CW=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new vP,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,n){if(this.stats.loading.start)throw Error(`Loader can only be used once.`);this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=n,this.loadInternal()}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let n=this.loader=new self.XMLHttpRequest,r=this.stats;r.loading.first=0,r.loaded=0,r.aborted=!1;let i=this.xhrSetup;i?Promise.resolve().then(()=>{if(!(this.loader!==n||this.stats.aborted))return i(n,t.url)}).catch(e=>{if(!(this.loader!==n||this.stats.aborted))return n.open(`GET`,t.url,!0),i(n,t.url)}).then(()=>{this.loader!==n||this.stats.aborted||this.openAndSendXhr(n,t,e)}).catch(e=>{var i;(i=this.callbacks)==null||i.onError({code:n.status,text:e.message},t,n,r)}):this.openAndSendXhr(n,t,e)}openAndSendXhr(e,t,n){e.readyState||e.open(`GET`,t.url,!0);let r=t.headers,{maxTimeToFirstByteMs:i,maxLoadTimeMs:a}=n.loadPolicy;if(r)for(let t in r)e.setRequestHeader(t,r[t]);t.rangeEnd&&e.setRequestHeader(`Range`,`bytes=`+t.rangeStart+`-`+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),n.timeout=i&&q(i)?i:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),n.timeout),e.send()}readystatechange(){let{context:e,loader:t,stats:n}=this;if(!e||!t)return;let r=t.readyState,i=this.config;if(!n.aborted&&r>=2&&(n.loading.first===0&&(n.loading.first=Math.max(self.performance.now(),n.loading.start),i.timeout!==i.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),i.timeout=i.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.loadPolicy.maxLoadTimeMs-(n.loading.first-n.loading.start)))),r===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let r=t.status,s=t.responseType===`text`?t.responseText:null;if(r>=200&&r<300){let i=s??t.response;if(i!=null){var a;n.loading.end=Math.max(self.performance.now(),n.loading.first),n.loaded=n.total=t.responseType===`arraybuffer`?i.byteLength:i.length,n.bwEstimate=n.total*8e3/(n.loading.end-n.loading.first);let o=this.callbacks?.onProgress;o&&o(n,e,i,t);let s={url:t.responseURL,data:i,code:r};(a=this.callbacks)==null||a.onSuccess(s,n,e,t);return}}let c=i.loadPolicy.errorRetry,l=n.retry;if(CI(c,l,!1,{url:e.url,data:void 0,code:r}))this.retry(c);else{var o;oP.error(`${r} while loading ${e.url}`),(o=this.callbacks)==null||o.onError({code:r,text:t.statusText},e,t,n)}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(CI(e,t,!0))this.retry(e);else{oP.warn(`timeout while loading ${this.context?.url}`);let e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:n}=this;this.retryDelay=xI(e,n.retry),n.retry++,oP.warn(`${status?`HTTP Status `+status:`Timeout`} while loading ${t?.url}, retrying ${n.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&SW.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader(`age`);e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&RegExp(`^${e}:\\s*[\\d.]+\\s*$`,`im`).test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}},wW=YN(YN({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:1/0,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:`edge`,liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:CW,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:lI,bufferController:ZB,capLevelController:tV,errorController:OI,fpsController:MH,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:kL,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:`linear`},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:`linear`}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},TW()),{},{subtitleStreamController:sU,subtitleTrackController:BH,timelineController:sW,audioStreamController:VB,audioTrackController:KB,emeController:DH,cmcdController:SH,contentSteeringController:wH,interstitialsController:aU});function TW(){return{cueHandler:pW,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:`English`,captionsTextTrack1LanguageCode:`en`,captionsTextTrack2Label:`Spanish`,captionsTextTrack2LanguageCode:`es`,captionsTextTrack3Label:`Unknown CC`,captionsTextTrack3LanguageCode:``,captionsTextTrack4Label:`Unknown CC`,captionsTextTrack4LanguageCode:``,renderTextTracksNatively:!0}}function EW(e,t,n){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw Error(`Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration`);if(t.liveMaxLatencyDurationCount!==void 0&&(t.liveSyncDurationCount===void 0||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw Error(`Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"`);if(t.liveMaxLatencyDuration!==void 0&&(t.liveSyncDuration===void 0||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw Error(`Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"`);let r=DW(e),i=[`manifest`,`level`,`frag`],a=[`TimeOut`,`MaxRetry`,`RetryDelay`,`MaxRetryTimeout`];return i.forEach(e=>{let i=`${e===`level`?`playlist`:e}LoadPolicy`,o=t[i]===void 0,s=[];a.forEach(n=>{let a=`${e}Loading${n}`,c=t[a];if(c!==void 0&&o){s.push(a);let e=r[i].default;switch(t[i]={default:e},n){case`TimeOut`:e.maxLoadTimeMs=c,e.maxTimeToFirstByteMs=c;break;case`MaxRetry`:e.errorRetry.maxNumRetry=c,e.timeoutRetry.maxNumRetry=c;break;case`RetryDelay`:e.errorRetry.retryDelayMs=c,e.timeoutRetry.retryDelayMs=c;break;case`MaxRetryTimeout`:e.errorRetry.maxRetryDelayMs=c,e.timeoutRetry.maxRetryDelayMs=c}}}),s.length&&n.warn(`hls.js config: "${s.join(`", "`)}" setting(s) are deprecated, use "${i}": ${YF(t[i])}`)}),YN(YN({},r),t)}function DW(e){return e&&typeof e==`object`?Array.isArray(e)?e.map(DW):Object.keys(e).reduce((t,n)=>(t[n]=DW(e[n]),t),{}):e}function OW(e,t){let n=e.loader;n!==gW&&n!==CW?(t.log(`[config]: Custom loader detected, cannot enable progressive streaming`),e.progressive=!1):mW()&&(e.loader=gW,e.progressive=!0,e.enableSoftwareAES=!0,t.log(`[config]: Progressive streaming enabled, using FetchLoader`))}var kW=2,AW=.1,jW=.05,MW=100,NW=class extends YI{constructor(e,t){super(`gap-controller`,e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;(e=this.media)!=null&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{this.hls&&(this.ended=this.media?.currentTime||1,this.hls.trigger(Y.MEDIA_ENDED,{stalled:!1}))},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){let{hls:e}=this;e&&(e.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(MW),this.mediaSource=t.mediaSource;let n=this.media=t.media;ER(n,`playing`,this.onMediaPlaying),ER(n,`waiting`,this.onMediaWaiting),ER(n,`ended`,this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();let{media:n}=this;n&&(DR(n,`playing`,this.onMediaPlaying),DR(n,`waiting`,this.onMediaWaiting),DR(n,`ended`,this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;let t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){let n=this.hls?.config;if(!n)return;let r=this.media;if(!r)return;let{seeking:i}=r,a=this.seeking&&!i,o=!this.seeking&&i,s=r.paused&&!i||r.ended||r.playbackRate===0;if(this.seeking=i,e!==t){t&&(this.ended=0),this.moved=!0,i||(this.nudgeRetry=0,n.nudgeOnVideoHole&&!s&&e>t&&this.nudgeOnVideoHole(e,t)),this.waiting===0&&this.stallResolved(e);return}if(o||a){a&&this.stallResolved(e);return}if(s){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&r.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(Y.MEDIA_ENDED,{stalled:!1}));return}if(!$I.getBuffered(r).length){this.nudgeRetry=0;return}let c=$I.bufferInfo(r,e,0),l=c.nextStart||0,u=this.fragmentTracker;if(i&&u&&this.hls){let t=PW(this.hls.inFlightFragments,e),n=c.len>kW,r=!l||t||l-e>kW&&!u.getPartialFragment(e);if(n||r)return;this.moved=!1}let d=this.hls?.latestLevelDetails;if(!this.moved&&this.stalled!==null&&u){if(!(c.len>0)&&!l)return;let t=Math.max(l,c.start||0)-e,n=d!=null&&d.live?d.targetduration*2:kW,i=IW(e,u);if(t>0&&(t<=n||i)){r.paused||this._trySkipBufferHole(i);return}}let f=n.detectStallWithCurrentTimeMs,p=self.performance.now(),m=this.waiting,h=this.stalled;if(h===null)if(m>0&&p-m<f)h=this.stalled=m;else{this.stalled=p;return}let g=p-h;if(!i&&(g>=f||m)&&this.hls){if(this.mediaSource?.readyState===`ended`&&!(d!=null&&d.live)&&Math.abs(e-(d?.edge||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(Y.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(c),!this.media||!this.hls)return}let _=$I.bufferInfo(r,e,n.maxBufferHole);this._tryFixBufferStall(_,g,e)}stallResolved(e){let t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){let n=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(n)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(Y.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var n;let r=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(n=this.buffered.audio)!=null&&n.length&&r&&r.length>1&&e>r.end(0)){let n=$I.bufferedInfo($I.timeRangesToArray(this.buffered.audio),e,0);if(n.len>1&&t>=n.start){let n=$I.timeRangesToArray(r),i=$I.bufferedInfo(n,t,0).bufferedIndex;if(i>-1&&i<n.length-1){let t=$I.bufferedInfo(n,e,0).bufferedIndex,r=n[i].end,a=n[i+1].start;if((t===-1||t>i)&&a-r<1&&e-r<2){let n=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${r} -> ${a} buffered index: ${t}`);this.warn(n.message),this.media.currentTime+=1e-6;let i=IW(e,this.fragmentTracker);i&&`fragment`in i?i=i.fragment:i||=void 0;let o=$I.bufferInfo(this.media,e,0);this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:n,reason:n.message,frag:i,buffer:o.len,bufferInfo:o})}}}}}_tryFixBufferStall(e,t,n){let{fragmentTracker:r,media:i}=this,a=this.hls?.config;if(!i||!r||!a)return;let o=this.hls?.latestLevelDetails,s=IW(n,r);if((s||o!=null&&o.live&&n<o.fragmentStart)&&(this._trySkipBufferHole(s)||!this.media))return;let c=e.buffered,l=this.adjacentTraversal(e,n);(c&&c.length>1&&e.len>a.maxBufferHole||e.nextStart&&(e.nextStart-n<a.maxBufferHole||l))&&(t>a.highBufferWatchdogPeriod*1e3||this.waiting)&&(this.warn(`Trying to nudge playhead over buffer-hole`),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){let n=this.fragmentTracker,r=e.nextStart;if(n&&r){let e=n.getFragAtPos(t,UN.MAIN),i=n.getFragAtPos(r,UN.MAIN);if(e&&i)return i.sn-e.sn<2}return!1}_reportStall(e){let{hls:t,media:n,stallReported:r,stalled:i}=this;if(!r&&i!==null&&n&&t){this.stallReported=!0;let r=Error(`Playback stalling at @${n.currentTime} due to low buffer (${YF(e)})`);this.warn(r.message),t.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len,bufferInfo:e,stalled:{start:i}})}}_trySkipBufferHole(e){let{fragmentTracker:t,media:n}=this,r=this.hls?.config;if(!n||!t||!r)return 0;let i=n.currentTime,a=$I.bufferInfo(n,i,0),o=i<a.start?a.start:a.nextStart;if(o&&this.hls){let c=a.len<=r.maxBufferHole,l=a.len>0&&a.len<1&&n.readyState<3,u=o-i;if(u>0&&(c||l)){if(u>r.maxBufferHole){let n=!1;if(i===0){let e=t.getAppendedFrag(0,UN.MAIN);e&&o<e.end&&(n=!0)}if(!n&&e){var s;if(!((s=this.hls.loadLevelObj)!=null&&s.details)||PW(this.hls.inFlightFragments,o))return 0;let n=!1,r=e.end;for(;r<o;){let e=IW(r,t);if(e)r+=e.duration;else{n=!0;break}}if(n)return 0}}let c=Math.max(o+jW,i+AW);if(this.warn(`skipping hole, adjusting currentTime from ${i} to ${c}`),this.moved=!0,n.currentTime=c,!(e!=null&&e.gap)){let t=Error(`fragment loaded with buffer holes, seeking from ${i} to ${c}`),n={type:VN.MEDIA_ERROR,details:J.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:t,reason:t.message,buffer:a.len,bufferInfo:a};e&&(`fragment`in e?n.part=e:n.frag=e),this.hls.trigger(Y.ERROR,n)}return c}}return 0}_tryNudgeBuffer(e){let{hls:t,media:n,nudgeRetry:r}=this,i=t?.config;if(!n||!i)return 0;let a=n.currentTime;if(this.nudgeRetry++,r<i.nudgeMaxRetry){let o=a+(r+1)*i.nudgeOffset,s=Error(`Nudging 'currentTime' from ${a} to ${o}`);this.warn(s.message),n.currentTime=o,t.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.BUFFER_NUDGE_ON_STALL,error:s,fatal:!1,buffer:e.len,bufferInfo:e})}else{let n=Error(`Playhead still not moving while enough data buffered @${a} after ${i.nudgeMaxRetry} nudges`);this.error(n.message),t.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.BUFFER_STALLED_ERROR,error:n,fatal:!0,buffer:e.len,bufferInfo:e})}}};function PW(e,t){let n=FW(e.main);if(n&&n.start<=t)return n;let r=FW(e.audio);return r&&r.start<=t?r:null}function FW(e){if(!e)return null;switch(e.state){case X.IDLE:case X.STOPPED:case X.ENDED:case X.ERROR:return null}return e.frag}function IW(e,t){return t.getAppendedFrag(e,UN.MAIN)||t.getPartialFragment(e)}var LW=.25;function RW(){if(!(typeof self>`u`))return self.VTTCue||self.TextTrackCue}function zW(e,t,n,r,i){let a=new e(t,n,``);
1831try{a.value=r,i&&(a.type=i)}catch{a=new e(t,n,YF(i?YN({type:i},r):r))}return a}var BW=(()=>{let e=RW();try{e&&new e(0,1/0,``)}catch{return Number.MAX_VALUE}return 1/0})(),VW=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(Y.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;e&&(e.on(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(Y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Y.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){let{hls:e}=this;
1831e&&(e.off(Y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(Y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Y.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){this.media=t.media,t.overrides?.cueRemoval===!1&&(this.removeCues=!1)}onMediaAttached(){let e=this.hls?.latestLevelDetails;e&&this.updateDateRangeCues(e)}onMediaDetaching(e,t){this.media=null,!t.transferMedia&&(this.id3Track&&=(this.removeCues&&FH(this.id3Track,this.onEventCueEnter),null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode=`hidden`,t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let n=e[t];if(n.kind===`metadata`&&n.label===`id3`)return NH(n,this.media),n}return this.media.addTextTrack(`metadata`,`id3`)}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:n,enableID3MetadataCues:r}=this.hls.config;if(!n&&!r)return;let{samples:i}=t;this.id3Track||=this.createTrack(this.media);let a=RW();if(a)for(let e=0;e<i.length;e++){let t=i[e].type;if(t===Cz.emsg&&!n||!r)continue;let o=yz(i[e].data),s=i[e].pts,c=s+i[e].duration;c>BW&&(c=BW),c-s<=0&&(c=s+LW);for(let e=0;e<o.length;e++){let n=o[e];if(!bz(n)){this.updateId3CueEnds(s,t);let e=zW(a,s,c,n,t);e&&this.id3Track.addCue(e)}}}}updateId3CueEnds(e,t){let n=this.id3Track?.cues;if(n)for(let r=n.length;r--;){let i=n[r];i.type===t&&i.startTime<e&&i.endTime===BW&&(i.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:n,type:r}){let{id3Track:i,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:o,enableID3MetadataCues:s}}=a;if(i&&(o||s)){let e;e=r===`audio`?e=>e.type===Cz.audioId3&&s:r===`video`?e=>e.type===Cz.emsg&&o:e=>e.type===Cz.audioId3&&s||e.type===Cz.emsg&&o,IH(i,t,n,e)}}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){if(!this.hls||!this.media)return;let{assetPlayerId:n,timelineOffset:r,enableDateRangeMetadataCues:i,interstitialsController:a}=this.hls.config;if(!i)return;let o=RW();if(n&&r&&!a){let{fragmentStart:t,fragmentEnd:r}=e,i=this.assetCue;i?(i.startTime=t,i.endTime=r):o&&(i=this.assetCue=zW(o,t,r,{assetPlayerId:this.hls.config.assetPlayerId},`hlsjs.interstitial.asset`),i&&(i.id=n,this.id3Track||=this.createTrack(this.media),this.id3Track.addCue(i),i.addEventListener(`enter`,this.onEventCueEnter)))}if(!e.hasProgramDateTime)return;let{id3Track:s}=this,{dateRanges:c}=e,l=Object.keys(c),u=this.dateRangeCuesAppended;if(s&&t){var d;if((d=s.cues)!=null&&d.length){let e=Object.keys(u).filter(e=>!l.includes(e));for(let t=e.length;t--;){let n=e[t],r=u[n]?.cues;delete u[n],r&&Object.keys(r).forEach(e=>{let t=r[e];if(t){t.removeEventListener(`enter`,this.onEventCueEnter);try{s.removeCue(t)}catch{}}})}}else u=this.dateRangeCuesAppended={}}let f=e.fragments[e.fragments.length-1];if(!(l.length===0||!q(f?.programDateTime))){this.id3Track||=this.createTrack(this.media);for(let e=0;e<l.length;e++){let t=l[e],n=c[t],r=n.startTime,i=u[t],s=i?.cues||{},d=i?.durationKnown||!1,f=BW,{duration:p,endDate:m}=n;if(m&&p!==null)f=r+p,d=!0;else if(n.endOnNext&&!d){let e=l.reduce((e,t)=>{if(t!==n.id){let r=c[t];if(r.class===n.class&&r.startDate>n.startDate&&(!e||n.startDate<e.startDate))return r}return e},null);e&&(f=e.startTime,d=!0)}let h=Object.keys(n.attr);for(let e=0;e<h.length;e++){let c=h[e];if(!lL(c))continue;let l=s[c];if(l)d&&!(i!=null&&i.durationKnown)?l.endTime=f:Math.abs(l.startTime-r)>.01&&(l.startTime=r,l.endTime=f);else if(o){let e=n.attr[c];uL(c)&&(e=fP(e));let i=zW(o,r,f,{key:c,data:e},Cz.dateRange);i&&(i.id=t,this.id3Track.addCue(i),s[c]=i,a&&(c===`X-ASSET-LIST`||c===`X-ASSET-URL`)&&i.addEventListener(`enter`,this.onEventCueEnter))}}u[t]={cues:s,dateRange:n,durationKnown:d}}}}},HW=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{let{media:e}=this,t=this.levelDetails;if(!e||!t)return;this.currentTime=e.currentTime;let n=this.computeLatency();if(n===null)return;this._latency=n;let{lowLatencyMode:r,maxLiveSyncPlaybackRate:i}=this.config;if(!r||i===1||!t.live)return;let a=this.targetLatency;if(a===null)return;let o=n-a;if(o<Math.min(this.maxLatency,a+t.targetduration)&&o>.05&&this.forwardBufferLength>1){let t=Math.min(2,Math.max(1,i)),n=Math.round(2/(1+Math.exp(-.75*o-this.edgeStalled))*20)/20,r=Math.min(t,Math.max(1,n));this.changeMediaPlaybackRate(e,r)}else e.playbackRate!==1&&e.playbackRate!==0&&this.changeMediaPlaybackRate(e,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){return this.hls?.latestLevelDetails||null}get latency(){return this._latency||0}get maxLatency(){let{config:e}=this;if(e.liveMaxLatencyDuration!==void 0)return e.liveMaxLatencyDuration;let t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let e=this.levelDetails;if(e===null||this.hls===null)return null;let{holdBack:t,partHoldBack:n,targetduration:r}=e,{liveSyncDuration:i,liveSyncDurationCount:a,lowLatencyMode:o}=this.config,s=this.hls.userConfig,c=o&&n||t;(this._targetLatencyUpdated||s.liveSyncDuration||s.liveSyncDurationCount||c===0)&&(c=i===void 0?a*r:i);let l=r;return c+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,l)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency;if(e===null||t===null)return null;let n=this.levelDetails;if(n===null)return null;let r=n.edge,i=e-t-this.edgeStalled,a=r-n.totalduration,o=r-(this.config.lowLatencyMode&&n.partTarget||n.targetduration);return Math.min(Math.max(a,i),o)}get drift(){let e=this.levelDetails;return e===null?1:e.drift}get edgeStalled(){let e=this.levelDetails;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;let n=e.buffered.length;return(n?e.buffered.end(n-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){let{hls:e}=this;
vendor: 11,659 bytes, line 1831
1831e&&(e.on(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Y.ERROR,this.onError,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(Y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Y.ERROR,this.onError,this))}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener(`timeupdate`,this.onTimeupdate)}onMediaDetaching(){this.media&&=(this.media.removeEventListener(`timeupdate`,this.onTimeupdate),null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener(`timeupdate`,this.onTimeupdate)}onError(e,t){var n;t.details===J.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&(n=this.levelDetails)!=null&&n.live&&this.hls.logger.warn(`[latency-controller]: Stall detected, adjusting target latency`))}changeMediaPlaybackRate(e,t){var n;e.playbackRate!==t&&((n=this.hls)==null||n.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${this.targetLatency?.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){let e=this.levelDetails;return e===null?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}},UW=class extends HB{constructor(e,t){super(e,`level-controller`),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Y.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Y.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(e=>{e.loadError=0,e.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let n=this.hls.config.preferManagedMediaSource,r=[],i={},a={},o=!1,s=!1,c=!1;t.levels.forEach(e=>{let t=e.attrs,{audioCodec:l,videoCodec:u}=e;l&&(e.audioCodec=l=vF(l,n)||void 0),u&&=e.videoCodec=SF(u);let{width:d,height:f,unknownCodecs:p}=e,m=p?.length||0;if(o||=!!(d&&f),s||=!!u,c||=!!l,m||l&&!this.isAudioSupported(l)||u&&!this.isVideoSupported(u)){this.log(`Some or all CODECS not supported "${t.CODECS}"`);return}let{CODECS:h,"FRAME-RATE":g,"HDCP-LEVEL":_,"PATHWAY-ID":v,RESOLUTION:y,"VIDEO-RANGE":b}=t,x=`${`${v||`.`}-`}${e.bitrate}-${y}-${g}-${h}-${b}-${_}`;if(!i[x]){let t=this.createLevel(e);i[x]=t,a[x]=1,r.push(t)}else if(i[x].uri!==e.url&&!e.attrs[`PATHWAY-ID`]){let t=a[x]+=1;e.attrs[`PATHWAY-ID`]=Array(t+1).join(`.`);let n=this.createLevel(e);i[x]=n,r.push(n)}else i[x].addGroupId(`audio`,t.AUDIO),i[x].addGroupId(`text`,t.SUBTITLES)}),this.filterAndSortMediaOptions(r,t,o,s,c)}createLevel(e){let t=new WF(e),n=e.supplemental;if(n!=null&&n.videoCodec&&!this.isVideoSupported(n.videoCodec)){let e=Error(`SUPPLEMENTAL-CODECS not supported "${n.videoCodec}"`);this.log(e.message),t.supportedResult=kF(e,[])}return t}isAudioSupported(e){return uF(e,`audio`,this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return uF(e,`video`,this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,n,r,i){let a=[],o=[],s=e,c=t.stats?.parsing||{};if((n||r)&&i&&(s=s.filter(({videoCodec:e,videoRange:t,width:n,height:r})=>(!!e||!!(n&&r))&&BF(t))),s.length===0){Promise.resolve().then(()=>{if(this.hls){let e=`no level with compatible codecs found in manifest`,n=e;t.levels.length&&(n=`one or more CODECS in variant not supported: ${YF(t.levels.map(e=>e.attrs.CODECS).filter((e,t,n)=>n.indexOf(e)===t))}`,this.warn(n),e+=` (${n})`);let r=Error(e);this.hls.trigger(Y.ERROR,{type:VN.MEDIA_ERROR,details:J.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:r,reason:n})}}),c.end=performance.now();return}t.audioTracks&&(a=t.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec)),WW(a)),t.subtitles&&(o=t.subtitles,WW(o));let l=s.slice(0);s.sort((e,t)=>{if(e.attrs[`HDCP-LEVEL`]!==t.attrs[`HDCP-LEVEL`])return(e.attrs[`HDCP-LEVEL`]||``)>(t.attrs[`HDCP-LEVEL`]||``)?1:-1;if(n&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return zF.indexOf(e.videoRange)-zF.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){let n=pF(e.videoCodec),r=pF(t.videoCodec);if(n!==r)return r-n}if(e.uri===t.uri&&e.codecSet!==t.codecSet){let n=mF(e.codecSet),r=mF(t.codecSet);if(n!==r)return r-n}return e.averageBitrate===t.averageBitrate?0:e.averageBitrate-t.averageBitrate});let u=l[0];if(this.steering&&(s=this.steering.filterParsedLevels(s),s.length!==l.length)){for(let e=0;e<l.length;e++)if(l[e].pathwayId===s[0].pathwayId){u=l[e];break}}this._levels=s;for(let e=0;e<s.length;e++)if(s[e]===u){this._firstLevel=e;let t=u.bitrate,n=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${s.length} level(s) found, first bitrate: ${t}`),this.hls.userConfig?.abrEwmaDefaultEstimate===void 0){let e=Math.min(t,this.hls.config.abrEwmaDefaultEstimateMax);e>n&&n===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}let d=i&&!r,f=this.hls.config,p=!!(f.audioStreamController&&f.audioTrackController),m={levels:s,audioTracks:a,subtitleTracks:o,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:i,video:r,altAudio:p&&!d&&a.some(e=>!!e.url)};c.end=performance.now(),this.hls.trigger(Y.MANIFEST_PARSED,m)}get levels(){return this._levels.length===0?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let n=Error(`invalid level idx`),r=e<0;if(this.hls.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.LEVEL_SWITCH_ERROR,level:e,fatal:r,error:n,reason:n.message}),r)return;e=Math.min(e,t.length-1)}let n=this.currentLevelIndex,r=this.currentLevel,i=r?r.attrs[`PATHWAY-ID`]:void 0,a=t[e],o=a.attrs[`PATHWAY-ID`];if(this.currentLevelIndex=e,this.currentLevel=a,n===e&&r&&i===o)return;this.log(`Switching to level ${e} (${a.height?a.height+`p `:``}${a.videoRange?a.videoRange+` `:``}${a.codecSet?a.codecSet+` `:``}@${a.bitrate})${o?` with Pathway `+o:``} from level ${n}${i?` with Pathway `+i:``}`);let s={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(Y.LEVEL_SWITCHING,s);let c=a.details;if(!c||c.live){let e=this.switchParams(a.uri,r?.details,c);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e===void 0?this.hls.firstAutoLevel:e}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways(),n=e.filter(e=>t.indexOf(e)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);return}this.steering.pathwayPriority=n}}onError(e,t){t.fatal||!t.context||t.context.type===HN.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===UN.MAIN){let e=t.elementaryStreams;if(!Object.keys(e).some(t=>!!e[t]))return;let n=this._levels[t.level];n!=null&&n.loadError&&(this.log(`Resetting level error count of ${n.loadError} on frag buffered`),n.loadError=0)}}onLevelLoaded(e,t){var n;let{level:r,details:i}=t,a=t.levelInfo;if(!a){var o;this.warn(`Invalid level index ${r}`),(o=t.deliveryDirectives)!=null&&o.skip&&(i.deltaUpdateFailed=!0);return}if(a===this.currentLevel||t.withoutMultiVariant){a.fragmentError===0&&(a.loadError=0);let e=a.details;e===t.details&&e.advanced&&(e=void 0),this.playlistLoaded(r,t,e)}else(n=t.deliveryDirectives)!=null&&n.skip&&(i.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let n=this.getUrlWithDirectives(e.uri,t),r=this.currentLevelIndex,i=e.attrs[`PATHWAY-ID`],a=e.details,o=a?.age;this.log(`Loading level index ${r}${t?.msn===void 0?``:` at sn `+t.msn+` part `+t.part}${i?` Pathway `+i:``}${o&&a.live?` age `+o.toFixed(1)+(a.type&&` `+a.type||``):``} ${n}`),this.hls.trigger(Y.LEVEL_LOADING,{url:n,level:r,levelInfo:e,pathwayId:e.attrs[`PATHWAY-ID`],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return this.manualLevelIndex===-1?this.hls.nextAutoLevel:this.manualLevelIndex}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(this._levels.length===1)return;let n=this._levels.filter((t,n)=>n!==e||(this.steering&&this.steering.removeLevel(t),t===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,t.details&&t.details.fragments.forEach(e=>e.level=-1)),!1));gR(n),this._levels=n,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);let r=n.length-1;this._firstLevel=Math.min(this._firstLevel,r),this._startLevel&&=Math.min(this._startLevel,r),this.hls.trigger(Y.LEVELS_UPDATED,{levels:n})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:n}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(Y.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:n}))}};function WW(e){let t={};e.forEach(e=>{let n=e.groupId||``;e.id=t[n]=t[n]||0,t[n]++})}function GW(){return self.SourceBuffer||self.WebKitSourceBuffer}function KW(){if(!sP())return!1;let e=GW();return!e||e.prototype&&typeof e.prototype.appendBuffer==`function`&&typeof e.prototype.remove==`function`}
vendor: 4,468 bytes, line 1831
1831function qW(){if(!KW())return!1;let e=sP();return typeof e?.isTypeSupported==`function`&&([`avc1.42E01E,mp4a.40.2`,`av01.0.01M.08`,`vp09.00.50.08`].some(t=>e.isTypeSupported(fF(t,`video`)))||[`mp4a.40.2`,`fLaC`].some(t=>e.isTypeSupported(fF(t,`audio`))))}function JW(){var e;let t=GW();return typeof(t==null||(e=t.prototype)==null?void 0:e.changeType)==`function`}var YW=100,XW=class extends kR{constructor(e,t,n){super(e,t,n,`stream-controller`,UN.MAIN),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let e=this.media,t=e?e.currentTime:null;if(t===null||!q(t)||(this.log(`Media seeked to ${t.toFixed(3)}`),!this.getBufferedFrag(t)))return;let n=this.getFwdBufferInfoAtPos(e,t,UN.MAIN,0);if(n===null||n.len===0){this.warn(`Main forward buffer length at ${t} on "seeked" event ${n?n.len:`empty`})`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Y.LEVEL_LOADING,this.onLevelLoading,this),e.on(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(Y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(Y.BUFFER_CREATED,this.onBufferCreated,this),e.on(Y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Y.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(Y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(Y.BUFFER_CREATED,this.onBufferCreated,this),e.off(Y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Y.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){let{lastCurrentTime:n,hls:r}=this;if(this.stopLoad(),this.setInterval(YW),this.level=-1,!this.startFragRequested){let e=r.startLevel;e===-1&&(r.config.testBandwidth&&this.levels.length>1?(e=0,this.bitrateTest=!0):e=r.firstAutoLevel),r.nextLoadLevel=e,this.level=r.loadLevel,this._hasEnoughToStart=!!t}n>0&&e===-1&&!t&&(this.log(`Override startPosition with lastCurrentTime @${n.toFixed(3)}`),e=n),this.state=X.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=X.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case X.WAITING_LEVEL:{let{levels:e,level:t}=this,n=e?.[t],r=n?.details;if(r&&(!r.live||this.levelLastLoaded===n&&!this.waitForLive(n))){if(this.waitForCdnTuneIn(r))break;this.state=X.IDLE;break}if(this.hls.nextLoadLevel!==this.level){this.state=X.IDLE;break}break}case X.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate()}this.state===X.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:n,media:r}=this;if(t===null||!r&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let i=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(n!=null&&n[i]))return;let a=n[i],o=this.getMainFwdBufferInfo();if(o===null)return;let s=this.getLevelDetails();if(s&&this._streamEnded(o,s)){let e={};this.altAudio===2&&(e.type=`video`),this.hls.trigger(Y.BUFFER_EOS,e),this.state=X.ENDED;return}if(!this.buffering)return;e.loadLevel!==i&&e.manualLevel===-1&&this.log(`Adapting to level ${i} from level ${this.level}`),this.level=e.nextLoadLevel=i;let c=a.details;if(!c||this.state===X.WAITING_LEVEL||this.waitForLive(a)){this.level=i,this.state=X.WAITING_LEVEL,this.startFragRequested=!1;return}let l=o.len,u=this.getMaxBufferLength(a.maxBitrate);
vendor: 15,920 bytes, line 1831
1831if(l>=u)return;this.backtrackFragment&&this.backtrackFragment.start>o.end&&(this.backtrackFragment=null);let d=this.backtrackFragment?this.backtrackFragment.start:o.end,f=this.getNextFragment(d,c);if(this.couldBacktrack&&!this.fragPrevious&&f&&xP(f)&&this.fragmentTracker.getState(f)!==AI.OK){let e=(this.backtrackFragment??f).sn-c.startSN,t=c.fragments[e-1];t&&f.cc===t.cc&&(f=t,this.fragmentTracker.removeFragment(t))}else this.backtrackFragment&&o.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,d)){if(!f.gap){let e=this.audioOnly&&!this.altAudio?yP.AUDIO:yP.VIDEO,t=(e===yP.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;t&&this.afterBufferFlushed(t,e,UN.MAIN)}f=this.getNextFragmentLoopLoading(f,c,o,UN.MAIN,u)}f&&(this.exceedsMaxBuffer(o,u,f)||(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,a,d)))}loadFragment(e,t,n){let r=this.fragmentTracker.getState(e);r===AI.NOT_LOADED||r===AI.PARTIAL?xP(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):super.loadFragment(e,t,n):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,UN.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,1/0),this.altAudio!==0&&(this.getLevelDetails()?.fragmentStart||0)>this.lastCurrentTime&&super.flushMainBuffer(0,1/0,`audio`)}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let n,r=this.getAppendedFrag(t.currentTime);r&&r.start>1&&this.flushMainBuffer(0,r.start-1);let i=this.getLevelDetails();if(i!=null&&i.live){let e=this.getMainFwdBufferInfo();if(!e||e.len<i.targetduration*2)return}if(!t.paused&&e){let t=e[this.hls.nextLoadLevel],r=this.fragLastKbps;n=r&&this.fragCurrent?this.fragCurrent.duration*t.maxBitrate/(1e3*r)+1:0}else n=0;let a=this.getBufferedFrag(t.currentTime+n);if(a){let e=this.followingBufferedFrag(a);if(e){this.abortCurrentFrag();let t=e.maxStartPTS?e.maxStartPTS:e.start,n=e.duration,r=Math.max(a.end,t+Math.min(Math.max(n-this.config.maxFragLookUpTolerance,n*(this.couldBacktrack?.5:.125)),n*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(r,1/0)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case X.KEY_LOADING:case X.FRAG_LOADING:case X.FRAG_LOADING_WAITING_RETRY:case X.PARSING:case X.PARSED:this.state=X.IDLE}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio===2?`video`:null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let n=t.media;ER(n,`playing`,this.onMediaPlaying),ER(n,`seeked`,this.onMediaSeeked)}onMediaDetaching(e,t){let{media:n}=this;n&&(DR(n,`playing`,this.onMediaPlaying),DR(n,`seeked`,this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),!t.transferMedia&&(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log(`Trigger BUFFER_RESET`),this.hls.trigger(Y.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){let n=!1,r=!1;for(let e=0;e<t.levels.length;e++){let i=t.levels[e].audioCodec;i&&(n||=i.indexOf(`mp4a.40.2`)!==-1,r||=i.indexOf(`mp4a.40.5`)!==-1)}this.audioCodecSwitch=n&&r&&!JW(),this.audioCodecSwitch&&this.log(`Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC`),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){let{levels:n}=this;if(!n||this.state!==X.IDLE)return;let r=t.levelInfo;(!r.details||r.details.live&&(this.levelLastLoaded!==r||r.details.expired)||this.waitForCdnTuneIn(r.details))&&(this.state=X.WAITING_LEVEL)}onLevelLoaded(e,t){var n;let{levels:r,startFragRequested:i}=this,a=t.level,o=t.details,s=o.totalduration;if(!r){this.warn(`Levels were reset while loading level ${a}`);return}this.log(`Level ${a} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:``}, cc [${o.startCC}, ${o.endCC}] duration:${s}`);let c=t.levelInfo,l=this.fragCurrent;l&&(this.state===X.FRAG_LOADING||this.state===X.FRAG_LOADING_WAITING_RETRY)&&l.level!==t.level&&l.loader&&this.abortCurrentFrag();let u=0;if(o.live||(n=c.details)!=null&&n.live){if(this.checkLiveUpdate(o),o.deltaUpdateFailed)return;u=this.alignPlaylists(o,c.details,this.levelLastLoaded?.details)}if(c.details=o,this.levelLastLoaded=c,i||this.setStartPosition(o,u),this.hls.trigger(Y.LEVEL_UPDATED,{details:o,level:a}),this.state===X.WAITING_LEVEL){if(this.waitForCdnTuneIn(o))return;this.state=X.IDLE}i&&o.live&&this.synchronizeToLiveEdge(o),this.tick()}synchronizeToLiveEdge(e){let{config:t,media:n}=this;if(!n)return;let r=this.hls.liveSyncPosition,i=this.getLoadPosition(),a=e.fragmentStart,o=e.edge,s=i>=a-t.maxFragLookUpTolerance&&i<=o;if(r!==null&&n.duration>r&&(i<r||!s)){let a=t.liveMaxLatencyDuration===void 0?t.liveMaxLatencyDurationCount*e.targetduration:t.liveMaxLatencyDuration;if((!s&&n.readyState<4||i<o-a)&&(this._hasEnoughToStart||(this.nextLoadPosition=r),n.readyState))if(this.warn(`Playback: ${i.toFixed(3)} is located too far from the end of live sliding playlist: ${o}, reset currentTime to : ${r.toFixed(3)}`),this.config.liveSyncMode===`buffered`){var c;let e=$I.bufferInfo(n,r,0);if(!((c=e.buffered)!=null&&c.length)){n.currentTime=r;return}if(e.start<=i){n.currentTime=r;return}let{nextStart:t}=$I.bufferedInfo(e.buffered,i,0);t&&(n.currentTime=t)}else n.currentTime=r}}_handleFragmentLoadProgress(e){let t=e.frag,{part:n,payload:r}=e,{levels:i}=this;if(!i){this.warn(`Levels were reset while fragment load was in progress. Fragment ${t.sn} of level ${t.level} will not be buffered`);return}let a=i[t.level];if(!a){this.warn(`Level ${t.level} not found on progress`);return}let o=a.details;if(!o){this.warn(`Dropping fragment ${t.sn} of level ${t.level} after level details were reset`),this.fragmentTracker.removeFragment(t);return}let s=a.videoCodec,c=o.PTSKnown||!o.live,l=t.initSegment?.data,u=this._getAudioCodec(a),d=this.transmuxer=this.transmuxer||new zB(this.hls,UN.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),f=n?n.index:-1,p=f!==-1,m=new XI(t.level,t.sn,t.stats.chunkCount,r.byteLength,f,p),h=this.initPTS[t.cc];d.push(r,l,u,s,t,n,o.totalduration,c,m,h)}onAudioTrackSwitching(e,t){let n=this.hls,r=this.altAudio!==0;if(cI(t.url,n))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log(`Switching on main audio, use media.buffered to schedule main fragment loading`),this.mediaBuffer=this.media;let e=this.fragCurrent;e&&(this.log(`Switching to main audio track, cancel main fragment load`),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(r){this.altAudio=0,this.fragmentTracker.removeAllFragments(),n.once(Y.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(Y.AUDIO_TRACK_SWITCHED,t)}),n.trigger(Y.BUFFER_FLUSHING,{startOffset:0,endOffset:1/0,type:null});return}n.trigger(Y.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let n=cI(t.url,this.hls);if(n){let e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log(`Switching on alternate audio, use video.buffered to schedule main fragment loading`),this.mediaBuffer=e)}this.altAudio=n?2:0,this.tick()}onBufferCreated(e,t){let n=t.tracks,r,i,a=!1;for(let e in n){let t=n[e];if(t.id===`main`){if(i=e,r=t,e===`video`){let t=n[e];t&&(this.videoBuffer=t.buffer)}}else a=!0}a&&r?(this.log(`Alternate track found, use ${i}.buffered to schedule main fragment loading`),this.mediaBuffer=r.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:n,part:r}=t,i=n.type===UN.MAIN;if(i){if(this.fragContextChanged(n)){this.warn(`Fragment ${n.sn}${r?` p: `+r.index:``} of level ${n.level} finished buffering, but was aborted. state: ${this.state}`),this.state===X.PARSED&&(this.state=X.IDLE);return}let e=r?r.stats:n.stats;this.fragLastKbps=Math.round(8*e.total/(e.buffering.end-e.loading.first)),xP(n)&&(this.fragPrevious=n),this.fragBufferedComplete(n,r)}let a=this.media;a&&(!this._hasEnoughToStart&&$I.getBuffered(a).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),i&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){if(t.fatal){this.state=X.ERROR;return}switch(t.details){case J.FRAG_GAP:case J.FRAG_PARSING_ERROR:case J.FRAG_DECRYPT_ERROR:case J.FRAG_LOAD_ERROR:case J.FRAG_LOAD_TIMEOUT:case J.KEY_LOAD_ERROR:case J.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(UN.MAIN,t);break;case J.LEVEL_LOAD_ERROR:case J.LEVEL_LOAD_TIMEOUT:case J.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===X.WAITING_LEVEL&&t.context?.type===HN.LEVEL&&(this.state=X.IDLE);break;case J.BUFFER_ADD_CODEC_ERROR:case J.BUFFER_APPEND_ERROR:if(t.parent!==`main`)return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case J.BUFFER_FULL_ERROR:if(t.parent!==`main`)return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,1/0));break;case J.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onFragLoadEmergencyAborted(){this.state=X.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==yP.AUDIO||!this.altAudio){let e=(t===yP.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;e&&(this.afterBufferFlushed(e,t,UN.MAIN),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,this.level===-1&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,n=this.startPosition;if(n>=0&&t<n){if(e.seeking){this.log(`could not seek to ${n}, already seeking at ${t}`);return}let r=this.timelineOffset;r&&n&&(n+=r);let i=this.getLevelDetails(),a=$I.getBuffered(e),o=a.length?a.start(0):0,s=o-n,c=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||s>0&&(s<c||this.loadingParts&&s<2*(i?.partTarget||0)))&&(this.log(`adjusting start position by ${s} to match buffer start`),n+=s,this.startPosition=n),t<n&&(this.log(`seek to target start position ${n} from current time ${t} buffer start ${o}`),e.currentTime=n)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log(`Swapping audio codec`),t=t.indexOf(`mp4a.40.5`)===-1?`mp4a.40.5`:`mp4a.40.2`),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(e=>{let{hls:n}=this,r=e?.frag;if(!r||this.fragContextChanged(r))return;t.fragmentError=0,this.state=X.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let i=r.stats;i.parsing.start=i.parsing.end=i.buffering.start=i.buffering.end=self.performance.now(),n.trigger(Y.FRAG_LOADED,e),r.bitrateTest=!1}).catch(t=>{this.state!==X.STOPPED&&this.state!==X.ERROR&&(this.warn(t),this.resetFragmentLoading(e))})}_handleTransmuxComplete(e){let t=this.playlistType,{hls:n}=this,{remuxResult:r,chunkMeta:i}=e,a=this.getCurrentContext(i);if(!a){this.resetWhenMissingContext(i);return}let{frag:o,part:s,level:c}=a,{video:l,text:u,id3:d,initSegment:f}=r,{details:p}=c,m=this.altAudio?void 0:r.audio;if(this.fragContextChanged(o)){this.fragmentTracker.removeFragment(o);return}if(this.state=X.PARSING,f){let e=f.tracks;if(e){let r=o.initSegment||o;if(this.unhandledEncryptionError(f,o))return;this._bufferInitSegment(c,e,r,i),n.trigger(Y.FRAG_PARSING_INIT_SEGMENT,{frag:r,id:t,tracks:e})}let r=f.initPTS,a=f.timescale,s=this.initPTS[o.cc];if(q(r)&&(!s||s.baseTime!==r||s.timescale!==a)){let e=f.trackId;this.initPTS[o.cc]={baseTime:r,timescale:a,trackId:e},n.trigger(Y.INIT_PTS_FOUND,{frag:o,id:t,initPTS:r,timescale:a,trackId:e})}}if(l&&p){m&&l.type===`audiovideo`&&this.logMuxedErr(o);let e=p.fragments[o.sn-1-p.startSN],t=o.sn===p.startSN,n=!e||o.cc>e.cc;if(r.independent!==!1){let{startPTS:e,endPTS:r,startDTS:a,endDTS:c}=l;if(s)s.elementaryStreams[l.type]={startPTS:e,endPTS:r,startDTS:a,endDTS:c};else if(l.firstKeyFrame&&l.independent&&i.id===1&&!n&&(this.couldBacktrack=!0),l.dropped&&l.independent){let i=this.getMainFwdBufferInfo(),a=(i?i.end:this.getLoadPosition())+this.config.maxBufferHole,s=l.firstKeyFramePTS?l.firstKeyFramePTS:e;if(!t&&a<s-this.config.maxBufferHole&&!n){this.backtrack(o);return}n&&(o.gap=!0),o.setElementaryStreamInfo(l.type,o.start,r,o.start,c,!0)}else t&&e-(p.appliedTimelineOffset||0)>kW&&(o.gap=!0);o.setElementaryStreamInfo(l.type,e,r,a,c),this.backtrackFragment&&=o,this.bufferFragmentData(l,o,s,i,t||n)}else if(t||n)o.gap=!0;else{this.backtrack(o);return}}if(m){let{startPTS:e,endPTS:t,startDTS:n,endDTS:r}=m;s&&(s.elementaryStreams[yP.AUDIO]={startPTS:e,endPTS:t,startDTS:n,endDTS:r}),o.setElementaryStreamInfo(yP.AUDIO,e,t,n,r),this.bufferFragmentData(m,o,s,i)}if(p&&d!=null&&d.samples.length){let e={id:t,frag:o,details:p,samples:d.samples};n.trigger(Y.FRAG_PARSING_METADATA,e)}if(p&&u){let e={id:t,frag:o,details:p,samples:u.samples};n.trigger(Y.FRAG_PARSING_USERDATA,e)}}logMuxedErr(e){this.warn(`${xP(e)?`Media`:`Init`} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,n,r){if(this.state!==X.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(n));let{audio:i,video:a,audiovideo:o}=t;if(i){let n=e.audioCodec,r=bF(i.codec,n);r===`mp4a`&&(r=`mp4a.40.5`);let a=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){r&&=r.indexOf(`mp4a.40.5`)===-1?`mp4a.40.5`:`mp4a.40.2`;let e=i.metadata;e&&`channelCount`in e&&(e.channelCount||1)!==1&&a.indexOf(`firefox`)===-1&&(r=`mp4a.40.5`)}r&&r.indexOf(`mp4a.40.5`)!==-1&&a.indexOf(`android`)!==-1&&i.container!==`audio/mpeg`&&(r=`mp4a.40.2`,this.log(`Android: force audio codec to ${r}`)),n&&n!==r&&this.log(`Swapping manifest audio codec "${n}" for "${r}"`),i.levelCodec=r,i.id=UN.MAIN,this.log(`Init audio buffer, container:${i.container}, codecs[selected/level/parsed]=[${r||``}/${n||``}/${i.codec}]`),delete t.audiovideo}if(a){a.levelCodec=e.videoCodec,a.id=UN.MAIN;let n=a.codec;if(n?.length===4)switch(n){case`hvc1`:case`hev1`:a.codec=`hvc1.1.6.L120.90`;break;case`av01`:a.codec=`av01.0.04M.08`;break;case`avc1`:a.codec=`avc1.42e01e`}this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||``}/${n}]${a.codec===n?``:` parsed-corrected=`+a.codec}${a.supplemental?` supplemental=`+a.supplemental:``}`),delete t.audiovideo}o&&(this.log(`Init audiovideo buffer, container:${o.container}, codecs[level/parsed]=[${e.codecs}/${o.codec}]`),delete t.video,delete t.audio);let s=Object.keys(t);if(s.length){if(this.hls.trigger(Y.BUFFER_CODECS,t),!this.hls)return;s.forEach(e=>{let i=t[e].initSegment;i!=null&&i.byteLength&&this.hls.trigger(Y.BUFFER_APPENDING,{type:e,data:i,frag:n,part:null,chunkMeta:r,parent:n.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.mediaBuffer&&this.altAudio===2?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,UN.MAIN)}get maxBufferLength(){let{levels:e,level:t}=this,n=e?.[t];return n?this.getMaxBufferLength(n.maxBitrate):this.config.maxBufferLength}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=X.IDLE}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let n=e.currentTime;if($I.isBuffered(e,n)?t=this.getAppendedFrag(n):$I.isBuffered(e,n+.1)&&
1831(t=this.getAppendedFrag(n+.1)),t){this.backtrackFragment=null;let e=this.fragPlaying,n=t.level;(!e||t.sn!==e.sn||e.level!==n)&&(this.fragPlaying=t,this.hls.trigger(Y.FRAG_CHANGED,{frag:t}),(!e||e.level!==n)&&this.hls.trigger(Y.LEVEL_SWITCHED,{level:n}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){if(this.fragPlaying)return this.fragPlaying;let e=this.media?.currentTime||this.lastCurrentTime;return q(e)?this.getAppendedFrag(e):null}get currentProgramDateTime(){let e=this.media?.currentTime||this.lastCurrentTime;if(q(e)){let t=this.getLevelDetails(),n=this.currentFrag||(t?fI(null,t.fragments,e):null);if(n){let t=n.programDateTime;if(t!==null){let r=t+(e-n.start)*1e3;return new Date(r)}}}return null}get currentLevel(){let e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){let e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}},ZW=class extends QN{constructor(e,t){super(`key-loader`,t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let t in this.keyIdToKeyInfo){let n=this.keyIdToKeyInfo[t].loader;if(n){if(e&&e!==n.context?.frag.type)return;n.abort()}}}detach(){for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e]}}destroy(){this.detach();for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e].loader;t&&t.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(e,t=J.KEY_LOAD_ERROR,n,r,i){return new JI({type:VN.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:i,error:n,networkDetails:r})}loadClear(e,t,n){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let r=0,i=t.length;r<i;r++){let a=t[r];if(e.cc<=a.cc&&(!xP(e)||!xP(a)||e.sn<a.sn)||!n&&r==i-1)return this.emeController.selectKeySystemFormat(a).then(e=>{if(!this.emeController)return;a.setKeyFormat(e);let t=EL(e);if(t)return this.emeController.getKeySystemAccess([t])})}if(this.config.requireKeySystemAccessOnStart){let e=OL(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var n,r;t&&e.setKeyFormat(t);let i=e.decryptdata;if(!i){let n=Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(e,J.KEY_LOAD_ERROR,n))}let a=i.uri;if(!a)return Promise.reject(this.createKeyLoadError(e,J.KEY_LOAD_ERROR,Error(`Invalid key URI: "${a}"`)));let o=QW(i),s=this.keyIdToKeyInfo[o];if((n=s)!=null&&n.decryptdata.key)return i.key=s.decryptdata.key,Promise.resolve({frag:e,keyInfo:s});if(this.emeController&&(r=s)!=null&&r.keyLoadPromise)switch(this.emeController.getKeyStatus(s.decryptdata)){case`usable`:case`usable-in-future`:return s.keyLoadPromise.then(t=>{let{keyInfo:n}=t;return i.key=n.decryptdata.key,{frag:e,keyInfo:n}})}switch(this.log(`${this.keyIdToKeyInfo[o]?`Rel`:`L`}oading${i.keyId?` keyId: `+dP(i.keyId):``} URI: ${i.uri} from ${e.type} ${e.level}`),s=this.keyIdToKeyInfo[o]={decryptdata:i,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},i.method){case`SAMPLE-AES`:case`SAMPLE-AES-CENC`:case`SAMPLE-AES-CTR`:return i.keyFormat===`identity`?this.loadKeyHTTP(s,e):this.loadKeyEME(s,e);case`AES-128`:case`AES-256`:case`AES-256-CTR`:return this.loadKeyHTTP(s,e);default:return Promise.reject(this.createKeyLoadError(e,J.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${i.method}"`)))}}loadKeyEME(e,t){let n={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var r;if(!e.decryptdata.keyId&&(r=t.initSegment)!=null&&r.data){let n=GP(t.initSegment.data);if(n.length){let t=n[0];t.some(e=>e!==0)?(this.log(`Using keyId found in init segment ${dP(t)}`),FL.setKeyIdForUri(e.decryptdata.uri,t)):(t=FL.addKeyIdForUri(e.decryptdata.uri),this.log(`Generating keyId to patch media ${dP(t)}
1831`)),e.decryptdata.keyId=t}}return!e.decryptdata.keyId&&!xP(t)?Promise.resolve(n):(e.keyLoadPromise=this.emeController.loadKey(n).then(t=>(e.mediaKeySessionContext=t,n))).catch(n=>{throw e.keyLoadPromise=null,`data`in n&&(n.data.frag=t),n})}return Promise.resolve(n)}loadKeyHTTP(e,t){let n=this.config,r=n.loader,i=new r(n);return t.keyLoader=e.loader=i,e.keyLoadPromise=new Promise((r,a)=>{let o={keyInfo:e,frag:t,responseType:`arraybuffer`,url:e.decryptdata.uri},s=n.keyLoadPolicy.default,c={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};i.load(o,c,{onSuccess:(e,t,n,i)=>{let{frag:o,keyInfo:s}=n,c=QW(s.decryptdata);if(!o.decryptdata||s!==this.keyIdToKeyInfo[c])return a(this.createKeyLoadError(o,J.KEY_LOAD_ERROR,Error(`after key load, decryptdata unset or changed`),i));s.decryptdata.key=o.decryptdata.key=new Uint8Array(e.data),o.keyLoader=null,s.loader=null,r({frag:o,keyInfo:s})},onError:(e,n,r,i)=>{this.resetLoader(n),a(this.createKeyLoadError(t,J.KEY_LOAD_ERROR,Error(`HTTP Error ${e.code} loading key ${e.text}`),r,YN({url:o.url,data:void 0},e)))},onTimeout:(e,n,r)=>{this.resetLoader(n),a(this.createKeyLoadError(t,J.KEY_LOAD_TIMEOUT,Error(`key loading timed out`),r))},onAbort:(e,n,r)=>{this.resetLoader(n),a(this.createKeyLoadError(t,J.INTERNAL_ABORTED,Error(`key loading aborted`),r))}})})}resetLoader(e){let{frag:t,keyInfo:n,url:r}=e,i=n.loader;t.keyLoader===i&&(t.keyLoader=null,n.loader=null);let a=QW(n.decryptdata)||r;delete this.keyIdToKeyInfo[a],i&&i.destroy()}};function QW(e){if(e.keyFormat!==TL.FAIRPLAY){let t=e.keyId;if(t)return dP(t)}return e.uri}function $W(e){let{type:t}=e;switch(t){case HN.AUDIO_TRACK:return UN.AUDIO;case HN.SUBTITLE_TRACK:return UN.SUBTITLE;default:return UN.MAIN}}function eG(e,t){let n=e.url;return(n===void 0||n.indexOf(`data:`)===0)&&(n=t.url),n}var tG=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Y.LEVEL_LOADING,this.onLevelLoading,this),e.on(Y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(Y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(Y.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(Y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Y.LEVEL_LOADING,this.onLevelLoading,this),e.off(Y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(Y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(Y.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let t=this.hls.config,n=t.pLoader,r=t.loader,i=new(n||r)(t);return this.loaders[e.type]=i,i}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){let{url:n}=t;this.variableList=null,this.load({id:null,level:0,responseType:`text`,type:HN.MANIFEST,url:n,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){let{id:n,level:r,pathwayId:i,url:a,deliveryDirectives:o,levelInfo:s}=t;this.load({id:n,level:r,pathwayId:i,responseType:`text`,type:HN.LEVEL,url:a,deliveryDirectives:o,levelOrTrack:s})}onAudioTrackLoading(e,t){let{id:n,groupId:r,url:i,deliveryDirectives:a,track:o}=t;this.load({id:n,groupId:r,level:null,responseType:`text`,type:HN.AUDIO_TRACK,url:i,deliveryDirectives:a,levelOrTrack:o})}onSubtitleTrackLoading(e,t){let{id:n,groupId:r,url:i,deliveryDirectives:a,track:o}=t;this.load({id:n,groupId:r,level:null,responseType:`text`,type:HN.SUBTITLE_TRACK,url:i,deliveryDirectives:a,levelOrTrack:o})}onLevelsUpdated(e,t){let n=this.loaders[HN.LEVEL];if(n){let e=n.context;e&&!t.levels.some(t=>t===e.levelOrTrack)&&(n.abort(),delete this.loaders[HN.LEVEL])}}load(e){let t=this.hls.config,n=this.getInternalLoader(e);if(n){let t=this.hls.logger,r=n.context;if(r&&r.levelOrTrack===e.levelOrTrack&&(r.url===e.url||r.deliveryDirectives&&!e.deliveryDirectives)){r.url===e.url?t.log(`[playlist-loader]: ignore ${e.url} ongoing request`):t.log(`[playlist-loader]: ignore ${e.url} in favor of ${r.url}`);return}t.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),n.abort()}let r;
vendor: 4,266 bytes, line 1831
1831if(r=e.type===HN.MANIFEST?t.manifestLoadPolicy.default:qN({},t.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),n=this.createInternalLoader(e),q(e.deliveryDirectives?.part)){let t;if(e.type===HN.LEVEL&&e.level!==null?t=this.hls.levels[e.level].details:e.type===HN.AUDIO_TRACK&&e.id!==null?t=this.hls.audioTracks[e.id].details:e.type===HN.SUBTITLE_TRACK&&e.id!==null&&(t=this.hls.subtitleTracks[e.id].details),t){let e=t.partTarget,n=t.targetduration;if(e&&n){let t=Math.max(e*3,n*.8)*1e3;r=qN({},r,{maxTimeToFirstByteMs:Math.min(t,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(t,r.maxTimeToFirstByteMs)})}}}let i=r.errorRetry||r.timeoutRetry||{},a={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:i.maxNumRetry||0,retryDelay:i.retryDelayMs||0,maxRetryDelay:i.maxRetryDelayMs||0};n.load(e,a,{onSuccess:(e,t,n,r)=>{let i=this.getInternalLoader(n);this.resetInternalLoader(n.type);let a=e.data;t.parsing.start=performance.now(),WL.isMediaPlaylist(a)||n.type!==HN.MANIFEST?this.handleTrackOrLevelPlaylist(e,t,n,r||null,i):this.handleMasterPlaylist(e,t,n,r)},onError:(e,t,n,r)=>{this.handleNetworkError(t,n,!1,e,r)},onTimeout:(e,t,n)=>{this.handleNetworkError(t,n,!0,void 0,e)}})}checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:t},forceStartLoad:n}=this.hls;(e||n)&&(this.hls.logger.log(`${e?`auto`:`force`} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,n,r){let i=this.hls,a=e.data,o=eG(e,n),s=WL.parseMasterPlaylist(a,o);if(s.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,n,s.playlistParsingError,r,t);return}let{contentSteering:c,levels:l,sessionData:u,sessionKeys:d,startTimeOffset:f,variableList:p}=s;this.variableList=p,l.forEach(e=>{let{unknownCodecs:t}=e;if(t){let{preferManagedMediaSource:n}=this.hls.config,{audioCodec:r,videoCodec:i}=e;for(let a=t.length;a--;){let o=t[a];uF(o,`audio`,n)?(e.audioCodec=r=r?`${r},${o}`:o,cF.audio[r.substring(0,4)]=2,t.splice(a,1)):uF(o,`video`,n)&&(e.videoCodec=i=i?`${i},${o}`:o,cF.video[i.substring(0,4)]=2,t.splice(a,1))}}});let{AUDIO:m=[],SUBTITLES:h,"CLOSED-CAPTIONS":g}=WL.parseMasterPlaylistMedia(a,o,s);m.length&&!m.some(e=>!e.url)&&l[0].audioCodec&&!l[0].attrs.AUDIO&&(this.hls.logger.log(`[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one`),m.unshift({type:`main`,name:`main`,groupId:`main`,default:!1,autoselect:!1,forced:!1,id:-1,attrs:new sL({}),bitrate:0,url:``})),i.trigger(Y.MANIFEST_LOADED,{levels:l,audioTracks:m,subtitles:h,captions:g,contentSteering:c,url:o,stats:t,networkDetails:r,sessionData:u,sessionKeys:d,startTimeOffset:f,variableList:p})}handleTrackOrLevelPlaylist(e,t,n,r,i){let a=this.hls,{id:o,level:s,type:c}=n,l=eG(e,n),u=q(s)?s:q(o)?o:0,d=$W(n),f=WL.parseLevelPlaylist(e.data,l,u,d,0,this.variableList);if(c===HN.MANIFEST){let e={attrs:new sL({}),bitrate:0,details:f,name:``,url:l};f.requestScheduled=t.loading.start+fR(f,0),a.trigger(Y.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:l,stats:t,networkDetails:r,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),n.levelDetails=f,this.handlePlaylistLoaded(f,e,t,n,r,i)}handleManifestParsingError(e,t,n,r,i){this.hls.trigger(Y.ERROR,{type:VN.NETWORK_ERROR,details:J.MANIFEST_PARSING_ERROR,fatal:t.type===HN.MANIFEST,url:e.url,err:n,error:n,reason:n.message,response:e,context:t,networkDetails:r,stats:i})}handleNetworkError(e,t,n=!1,r,i){let a=`A network ${n?`timeout`:`error`+(r?` (status `+r.code+`)`:``)} occurred while loading ${e.type}`;e.type===HN.LEVEL?a+=`: ${e.level} id: ${e.id}`:(e.type===HN.AUDIO_TRACK||e.type===HN.SUBTITLE_TRACK)&&(a+=` id: ${e.id} group-id: "${e.groupId}"`);let o=Error(a);this.hls.logger.warn(`[playlist-loader]: ${a}`);let s=J.UNKNOWN,c=!1,l=this.getInternalLoader(e);switch(e.type){case HN.MANIFEST:s=n?J.MANIFEST_LOAD_TIMEOUT:J.MANIFEST_LOAD_ERROR,c=!0;break;case HN.LEVEL:s=n?J.LEVEL_LOAD_TIMEOUT:J.LEVEL_LOAD_ERROR,c=!1;break;case HN.AUDIO_TRACK:s=n?J.AUDIO_TRACK_LOAD_TIMEOUT:J.AUDIO_TRACK_LOAD_ERROR,c=!1;break;case HN.SUBTITLE_TRACK:s=n?J.SUBTITLE_TRACK_LOAD_TIMEOUT:J.SUBTITLE_LOAD_ERROR,c=!1}l&&this.resetInternalLoader(e.type);
1831let u={type:VN.NETWORK_ERROR,details:s,fatal:c,url:e.url,loader:l,context:e,error:o,networkDetails:t,stats:i};r&&(u.response=YN({url:t?.url||e.url,data:void 0},r)),this.hls.trigger(Y.ERROR,u)}handlePlaylistLoaded(e,t,n,r,i,a){let o=this.hls,{type:s,level:c,levelOrTrack:l,id:u,groupId:d,deliveryDirectives:f}=r,p=eG(t,r),m=$W(r),h=typeof r.level==`number`&&m===UN.MAIN?c:void 0,g=e.playlistParsingError;if(g){if(this.hls.logger.warn(`${g} ${e.url}`),!o.config.ignorePlaylistParsingErrors){o.trigger(Y.ERROR,{type:VN.NETWORK_ERROR,details:J.LEVEL_PARSING_ERROR,fatal:!1,url:p,error:g,reason:g.message,response:t,context:r,level:h,parent:m,networkDetails:i,stats:n});return}e.playlistParsingError=null}if(!e.fragments.length){let a=e.playlistParsingError=Error(`No Segments found in Playlist`);o.trigger(Y.ERROR,{type:VN.NETWORK_ERROR,details:J.LEVEL_EMPTY_ERROR,fatal:!1,url:p,error:a,reason:a.message,response:t,context:r,level:h,parent:m,networkDetails:i,stats:n});return}switch(e.live&&a&&(a.getCacheAge&&(e.ageHeader=a.getCacheAge()||0),(!a.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),s){case HN.MANIFEST:case HN.LEVEL:if(h){if(!l)h=0;else if(l!==o.levels[h]){let e=o.levels.indexOf(l);e>-1&&(h=e)}}o.trigger(Y.LEVEL_LOADED,{details:e,levelInfo:l||o.levels[0],level:h||0,id:u||0,stats:n,networkDetails:i,deliveryDirectives:f,withoutMultiVariant:s===HN.MANIFEST});break;case HN.AUDIO_TRACK:o.trigger(Y.AUDIO_TRACK_LOADED,{details:e,track:l,id:u||0,groupId:d||``,stats:n,networkDetails:i,deliveryDirectives:f});break;case HN.SUBTITLE_TRACK:o.trigger(Y.SUBTITLE_TRACK_LOADED,{details:e,track:l,id:u||0,groupId:d||``,stats:n,networkDetails:i,deliveryDirectives:f})}}},nG=class e{static get version(){return LR}static isMSESupported(){return KW()}static isSupported(){return qW()}static getMediaSource(){return sP()}static get Events(){return Y}static get MetadataSchema(){return Cz}static get ErrorTypes(){return VN}static get ErrorDetails(){return J}static get DefaultConfig(){return e.defaultConfig?e.defaultConfig:wW}static set DefaultConfig(t){e.defaultConfig=t}constructor(t={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new IR,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;let n=this.logger=aP(t.debug||!1,`Hls instance`,t.assetPlayerId),r=this.config=EW(e.DefaultConfig,t,n);this.userConfig=t,r.progressive&&OW(r,n);let{abrController:i,bufferController:a,capLevelController:o,errorController:s,fpsController:c}=r,l=new s(this),u=this.abrController=new i(this),d=new jI(this),f=r.interstitialsController,p=f?this.interstitialsController=new f(this,e):null,m=this.bufferController=new a(this,d),h=this.capLevelController=new o(this),g=new c(this),_=new tG(this),v=r.contentSteeringController,y=v?new v(this):null,b=this.levelController=new UW(this,y),x=new VW(this),S=new ZW(this.config,this.logger),ee=this.streamController=new XW(this,d,S),te=this.gapController=new NW(this,d);h.setStreamController(ee),g.setStreamController(ee);let ne=[_,b,ee];p&&ne.splice(1,0,p),y&&ne.splice(1,0,y),this.networkControllers=ne;let re=[u,m,te,h,g,x,d];this.audioTrackController=this.createController(r.audioTrackController,ne);let ie=r.audioStreamController;ie&&ne.push(this.audioStreamController=new ie(this,d,S)),this.subtitleTrackController=this.createController(r.subtitleTrackController,ne);let C=r.subtitleStreamController;C&&ne.push(this.subtititleStreamController=new C(this,d,S)),this.createController(r.timelineController,re),S.emeController=this.emeController=this.createController(r.emeController,re),this.cmcdController=this.createController(r.cmcdController,re),this.latencyController=this.createController(HW,re),this.coreComponents=re,ne.push(l);let ae=l.onErrorOut;typeof ae==`function`&&this.on(Y.ERROR,ae,l),this.on(Y.MANIFEST_LOADED,_.onManifestLoaded,_)}createController(e,t){if(e){let n=new e(this);return t&&t.push(n),n}return null}on(e,t,n=this){this._emitter.on(e,t,n)}once(e,t,n=this){this._emitter.once(e,t,n)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,n=this,r){this._emitter.off(e,t,n,r)}listeners(e){return this._emitter.listeners(e)}emit(e,t,n){return this._emitter.emit(e,t,n)}
vendor: 6,840 bytes, line 1831
1831trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(this.logger.error(`An internal error happened while handling event `+e+`. Error message: "`+t.message+`". Here is a stacktrace:`,t),!this.triggeringException){this.triggeringException=!0;let n=e===Y.ERROR;this.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.INTERNAL_EXCEPTION,fatal:n,event:e,error:t}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log(`destroy`),this.trigger(Y.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(e=>e.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(e=>e.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||`media`in e&&!e.media){let t=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(Y.ERROR,{type:VN.OTHER_ERROR,details:J.ATTACH_MEDIA_ERROR,fatal:!0,error:t});return}this.logger.log(`attachMedia`),this._media&&(this.logger.warn(`media must be detached before attaching`),this.detachMedia());let t=`media`in e,n=t?e.media:e,r=t?e:{media:n};this._media=n,this.trigger(Y.MEDIA_ATTACHING,r)}detachMedia(){this.logger.log(`detachMedia`),this.trigger(Y.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;let e=this.bufferController.transferMedia();return this.trigger(Y.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();let t=this.media,n=this._url,r=this._url=_P.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),t&&n&&(n!==r||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(Y.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,t){this.logger.log(`startLoad(${e+(t?`, <skip seek to start>`:``)})`),this.started=!0,this.resumeBuffering();for(let n=0;n<this.networkControllers.length&&(this.networkControllers[n].startLoad(e,t),!(!this.started||!this.networkControllers));n++);}stopLoad(){this.logger.log(`stopLoad`),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!(this.started||!this.networkControllers));e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log(`resume buffering`),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log(`pause buffering`),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){let e={[UN.MAIN]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[UN.AUDIO]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[UN.SUBTITLE]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log(`swapAudioCodec`),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log(`recoverMediaError`);let e=this._media,t=e?.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t&&this.startLoad(t))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||=this._sessionId=VH(),e}get levels(){return this.levelController.levels||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),e!==-1&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){RF(e)&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;let n=e.length;for(let r=0;r<n;r++)if(e[r].maxBitrate>=t)return r;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:t,maxHdcpLevel:n}=this,r;if(r=t===-1&&e!=null&&e.length?e.length-1:t,n)for(let t=r;t--;){let r=e[t].attrs[`HDCP-LEVEL`];if(r&&r<=n)return t}return r}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){return this.audioTrackController?.setAudioOption(e)||null}
1831setSubtitleOption(e){return this.subtitleTrackController?.setSubtitleOption(e)||null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!((e=this.bufferController)!=null&&e.bufferedToEnd)}get interstitialsManager(){return this.interstitialsController?.interstitialsManager||null}getMediaDecodingInfo(e,t=this.allAudioTracks){return jF(e,QF(t),navigator.mediaCapabilities)}};nG.defaultConfig=void 0;var rG=`/opt/src/frontend/src/components/diverse/AirportWebcamsPage.tsx`,iG=({label:e,isActive:t,onClick:n,index:r})=>(0,E.jsxDEV)(`button`,{role:`tab`,"aria-selected":t,"aria-controls":`panel-${r}`,id:`tab-${r}`,className:`
1832      relative px-8 py-4 text-lg font-semibold transition-all duration-200
1833      focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
1834      rounded-t-lg
1835      ${t?`text-blue-600 bg-white dark:bg-gray-700 dark:text-blue-400 shadow-lg z-10`:`text-gray-600 hover:text-blue-500 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-600`}
1836      ${t?`after:absolute after:bottom-0 after:left-0 after:w-full after:h-1 after:bg-blue-600`:``}
1837    `,onClick:n,children:e},void 0,!1,{fileName:rG,lineNumber:14,columnNumber:3},void 0),aG=({title:e,streamUrl:t})=>{let n=S.useRef(null),r=S.useRef(null);return S.useEffect(()=>{if(n.current){if(nG.isSupported()){let e=new nG({autoStartLoad:!0,startPosition:-1,debug:!1,enableWorker:!0,lowLatencyMode:!0,backBufferLength:90,maxBufferLength:30,maxMaxBufferLength:600,maxBufferSize:6e7,maxBufferHole:.5,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:10,liveDurationInfinity:!0,enableWebVTT:!1,enableIMSC1:!1,enableCEA708Captions:!1,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,minAutoBitrate:0});r.current=e,n.current&&(n.current.autoplay=!0,n.current.muted=!0,n.current.playsInline=!0),e.attachMedia(n.current),e.on(nG.Events.MEDIA_ATTACHED,()=>{e.loadSource(t)}),e.on(nG.Events.MANIFEST_PARSED,()=>{n.current?.play().catch(e=>{n.current&&(n.current.muted=!0,n.current.play().catch(()=>{}))})}),e.on(nG.Events.ERROR,(t,n)=>{if(n.fatal)switch(n.type){case nG.ErrorTypes.NETWORK_ERROR:e.startLoad();break;case nG.ErrorTypes.MEDIA_ERROR:e.recoverMediaError();break;default:e.destroy()}})}else n.current.canPlayType(`application/vnd.apple.mpegurl`)&&(n.current.src=t,n.current.autoplay=!0,n.current.muted=!0,n.current.playsInline=!0,n.current.addEventListener(`loadedmetadata`,()=>{n.current?.play().catch(e=>{n.current&&(n.current.muted=!0,n.current.play().catch(()=>{}))})}));return()=>{r.current&&r.current.destroy()}}},[t]),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-700 rounded-lg p-4 shadow-md transition-transform hover:scale-[1.01]`,children:[(0,E.jsxDEV)(`h3`,{className:`text-lg font-semibold mb-2 dark:text-white`,children:e},void 0,!1,{fileName:rG,lineNumber:147,columnNumber:7},void 0),(0,E.jsxDEV)(`video`,{ref:n,controls:!0,muted:!0,playsInl
1837ine:!0,className:`w-full aspect-video bg-black rounded shadow-inner`},void 0,!1,{fileName:rG,lineNumber:148,columnNumber:7},void 0)]},void 0,!0,{fileName:rG,lineNumber:146,columnNumber:5},void 0)},oG=()=>{let e=xt(),{translations:t}=rr(),[n,r]=(0,S.useState)(0),i=()=>{e(`/divers`)},a=[{label:`EDDK - Köln/Bonn`,content:[{title:`EDDK Terminal 1C`,url:`https://stream-5gw.1000eyes.de/cupertino/cgn4463E1.stream/playlist.m3u8`},{title:`EDDK Terminal 2`,url:`https://stream-5gw.1000eyes.de/cupertino/cgn06B1E8.stream/playlist.m3u8`},{title:`EDDK Vorfeld Cargo`,url:`https://stream-5gw.1000eyes.de/cupertino/cgnCDB73A.stream/playlist.m3u8`}]},{label:`EDDL - Düsseldorf`,content:[{title:`EDDL Flugzeugabfertigung`,url:`https://stream-5gw.1000eyes.de/cupertino/dus5abb.stream/playlist.m3u8`},{title:`EDDL Vorfeld`,url:`https://stream-5gw.1000eyes.de/cupertino/dused0c.stream/playlist.m3u8`},{title:`EDDL Start/Landebahn`,url:`https://stream-5gw.1000eyes.de/cupertino/dus1ba9.stream/playlist.m3u8`},{title:`EDDL Rollweg`,url:`https://stream-5gw.1000eyes.de/cupertino/dus5a92.stream/playlist.m3u8`}]},{label:`EDDH - Hamburg`,content:[{title:`EDDH Vorfeld Nord`,url:`https://stream-5gw.1000eyes.de/cupertino/hamDDFB28.stream/playlist.m3u8`},{title:`EDDH Vorfeld Süd`,url:`https://stream-5gw.1000eyes.de/cupertino/hamDDFBCE.stream/playlist.m3u8`}]}];return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 min-h-full w-full pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-full max-w-[2000px] mx-auto px-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center justify-between mb-8`,children:[(0,E.jsxDEV)(`button`,{onClick:i,className:`
1838              flex items-center gap-2 
1839              bg-blue-500 text-white 
1840              px-4 py-2 rounded-lg 
1841              hover:bg-blue-600 
1842              transition-colors duration-200
1843              focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
1844            `,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,viewBox:`0 0 20 20`,fill:`currentColor`,children:(0,E.jsxDEV)(`path`,{fillRule:`evenodd`,d:`M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z`,clipRule:`evenodd`},void 0,!1,{fileName:rG,lineNumber:211,columnNumber:15},void 0)},void 0,!1,{fileName:rG,lineNumber:210,columnNumber:13},void 0),t.common.backToMenu]},void 0,!0,{fileName:rG,lineNumber:199,columnNumber:11},void 0),(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white transition-colors duration-200`,children:t.header.divers.webcams},void 0,!1,{fileName:rG,lineNumber:215,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`w-[120px]`},void 0,!1,{fileName:rG,lineNumber:218,columnNumber:11},void 0),` `]},void 0,!0,{fileName:rG,lineNumber:198,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`bg-gray-100 dark:bg-gray-800 rounded-xl shadow-xl`,children:[(0,E.jsxDEV)(`div`,{role:`tablist`,"aria-label":`Airport webcam tabs`,className:`flex gap-1 px-4 pt-4`,children:a.map((e,t)=>(0,E.jsxDEV)(iG,{index:t,label:e.label,isActive:n===t,onClick:()=>r(t)},t,!1,{fileName:rG,lineNumber:228,columnNumber:15},void 0))},void 0,!1,{fileName:rG,lineNumber:222,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{role:`tabpanel`,id:`panel-${n}`,"aria-labelledby":`tab-${n}`,className:`p-6`,children:(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:a[n].content.map((e,t)=>(0,E.jsxDEV)(aG,{title:e.title,streamUrl:e.url},t,!1,{fileName:rG,lineNumber:246,columnNumber:17},void 0))},void 0,!1,{fileName:rG,lineNumber:244,columnNumber:13},void 0)},void 0,!1,{fileName:rG,lineNumber:238,columnNumber:11},void 0)]},void 0,!0,{fileName:rG,lineNumber:221,columnNumber:9},void 0)]},void 0,!0,{fileName:rG,lineNumber:197,columnNumber:7},void 0)},void 0,!1,{fileName:rG,lineNumber:196,columnNumber:5},void 0)},Z=`/opt/src/frontend/src/components/diverse/DronesPage.tsx`,sG=()=>{let e=xt(),{translations:t,language:n}=rr(),[r,i]=(0,S.useState)(``),[a,o]=(0,S.useState)(!1),[s,c]=(0,S.useState)(!1),[l,u]=(0,S.useState)(null),d=()=>{e(`/divers`)},f=e=>{u(e)},p=()=>{l&&(window.open(l,`_blank`,`noopener,noreferrer`),u(null))},m=[{name:`C0`,requirements:n===`de`?[`Drohnen unter 250g Startgewicht`,`Eigenbauten / selbstgebaute Drohnen (nur bis 250g Startgewicht)`,`Gebrauchsanweisung erforderlich`,`EU-weite Spielzeug-Sicherheitsrichtlinien oder max. 19m/s`,`Einstellbares Höhenlimit`,`Keine scharfen Kanten`,`Keine elektronische ID erforderlich`,`Keine Registrierung des Piloten erforderlich`]:[`Drones under 250g takeoff weight`,`Self-built drones (only up to 250g takeoff weight)`,`User manual required`,`EU-wide toy safety guidelines or max. 19m/s`,`Adjustable altitude limit`,`No sharp edges`,`No electronic ID required`,`No pilot registration required`]},{name:`C1`,requirements:n===`de`?[`Drohnen unter 80 J oder unter 900g Abfluggewicht`,`Geschwindigkeit auf 19m/s begrenzt`,`Elektronische ID erforderlich`,`GEO Flugbeschränkungsüberwachung`,`Notfallprozedur für Verbindungsverlust`,`Online-Training und Test erforderlich`,`Registrierung des Piloten erforderlich`,`Plakette mit Registrierungsnummer`]:[`Drones under 80 J or under 900g takeoff weight`,`Speed limited to 19m/s`,`Electronic ID required`,`GEO flight restriction monitoring`,`Emergency procedure for connection loss`,`Online training and test required`,`Pilot registration required`,`Plate with registration number`]},{name:`C2`,requirements:n===`de`?[`Drohnen unter 4kg Abfluggewicht`,`Low-Speed Modus (max 3 m/s)`,`Elektronische ID erforderlich`,`GEO Flugbeschränkungsüberwachung`,`Theoretischer Test in Prüfzentrum`,`Mindestens 5m Abstand zu Personen`,`Online-Training und Test erforderlich`,`Großer Drohnen-Führerschein erforderlich`]:[`Drones under 4kg takeoff weight`,`Low-speed mode (max 3 m/s)`,`Electronic ID required`,`GEO flight restriction monitoring`,`Theoretical test at examination center`,`Minimum 5m distance from people`,`Online training and test required`,`Large drone license required`]},{name:`C3`,requirements:n===`de`?[`Drohnen unter 25kg Abfluggewicht`,`Elektronische ID erforderlich`,`GEO Flugbeschränkungsüberwachung`,`Notfallprozedur für Verbindungsverlust`,`Einstellbares Höhenlimit`,`Online-Training und Test erforderlich`,`Registrierung des Piloten erforderlich`,`Nur entfernt von Städten und Menschen`]:[`Drones under 25kg takeoff weight`,`Electronic ID required`,`GEO flight restriction monitoring`,`Emergency procedure for connection loss`,`Adjustable altitude limit`,`Online training and test required`,`Pilot registration required`,`Only away from cities and people`]},{name:`C4`,requirements:n===`de`?[`Drohnen unter 25kg Abfluggewicht`,`Konventionelle Modellflugzeuge`,`Kein automatischer/autonomer Flug`,`Online-Training und Test erforderlich`,`Registrierung des Piloten erforderlich`,`Nur entfernt von Städten und Menschen`,`Elektronische ID wenn in Flugzone erforderlich`]:[`Drones under 25kg takeoff weight`,`Conventional model aircraft`,`No automatic/autonomous flight`,`Online training and test required`,`Pilot registration required`,`Only away from cities and people`,`Electronic ID when in flight zone required`]}],h=[{name:`A1`,description:n===`de`?`Flug über Personen (nicht über Menschenansammlungen)`:`Flight over people (not over crowds)`,droneClasses:[`C0`,`C1`],requirements:n===`de`?[`Gebrauchsanweisung lesen`,`Für C1: Online-Training und Test absolvieren`,`Für C1: Registrierung erforderlich`]:[`Read user manual`,`For C1: Complete online training and test`,`For C1: Registration required`]},{name:`A2`,description:n===`de`?`Flug in der Nähe von Menschen (in sicherer Entfernung)`:`Flight near people (at safe distance)`,droneClasses:[`C2`],requirements:n===`de`?[`Online-Training und Test absolvieren`,`Theoretischer Test in Prüfzentrum`,`Registrierung erforderlich`,`Mindestabstand zu Menschen beachten`]:[`Complete online training and test`,`Theoretical test at examination center`,`Registration required`,`Maintain minimum distance from people`]},{name:`A3`,description:n===`de`?`Flug weit weg von Menschen`:`Flight far from people`,droneClasses:[`C3`,`C4`],requirements:n===`de`?[`Online-Training und Test absolvieren`,`Registrierung erforderlich`,`Nur in unbewohnten Gebieten`]:[`Complete online training and test`,`Registration required`,`Only in uninhabited areas`]}],g=()=>{let e=parseFloat(r);return a?e<=250?`C0`:`C3/C4`:e<=250?`C0`:e<=900?`C1`:e<=4e3?`C2`:e<=25e3?`C3`:n===`de`?`Zu schwer für reguläre Kategorien`:`Too heavy for regular categories`},_=e=>e===`C0`||e===`C1`?`A1`:e===`C2`?`A2`:e===`C3`||e===`C3/C4`||e===`C4`?`A3`:n===`de`?`Keine reguläre Kategorie`:`No regular category`,v=e=>{e.preventDefault(),c(!0)},y=t.dronesPage;return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 min-h-full w-full pt-6 pb-12 transition-colors duration-200`,children:[(0,E.jsxDEV)(`div`,{className:`w-full max-w-[2000px] mx-auto px-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center justify-between mb-8`,children:[(0,E.jsxDEV)(`button`,{onClick:d,className:`
1845              flex items-center gap-2 
1846              bg-blue-500 text-white 
1847              px-4 py-2 rounded-lg 
1848              hover:bg-blue-600 
1849              transition-colors duration-200
1850              focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
1851            `,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,viewBox:`0 0 20 20`,fill:`currentColor`,children:(0,E.jsxDEV)(`path`,{fillRule:`evenodd`,d:`M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z`,clipRule:`evenodd`},void 0,!1,{fileName:Z,lineNumber:233,columnNumber:15},void 0)},void 0,!1,{fileName:Z,lineNumber:232,columnNumber:13},void 0),t.common.backToMenu]},void 0,!0,{fileName:Z,lineNumber:221,columnNumber:11},void 0),(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-black dark:text-white transition-colors duration-200`,children:y?.pageTitle||`Neue EU Drohnen-Regeln`},void 0,!1,{fileName:Z,lineNumber:237,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`w-[120px]`},void 0,!1,{fileName:Z,lineNumber:240,columnNumber:11},void 0),` `]},void 0,!0,{fileName:Z,lineNumber:220,columnNumber:9},void 0),n===`en`&&(0,E.jsxDEV)(`div`,{className:`mb-8 p-4 bg-yellow-100 border-l-4 border-yellow-500 text-yellow-700`,children:(0,E.jsxDEV)(`div`,{className:`flex items-center`,children:[(0,E.jsxDEV)(Pi,{className:`w-6 h-6 mr-2`},void 0,!1,{fileName:Z,lineNumber:246,columnNumber:15},void 0),(0,E.jsxDEV)(`p`,{children:`Some links and resources are only available in German.`},void 0,!1,{fileName:Z,lineNumber:247,columnNumber:15},void 0)]},void 0,!0,{fileName:Z,lineNumber:245,columnNumber:13},void 0)},void 0,!1,{fileName:Z,lineNumber:244,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg p-8 space-y-8`,children:[(0,E.jsxDEV)(`div`,{className:`w-full`,children:(0,E.jsxDEV)(`video`,{controls:!0,className:`w-full rounded-lg shadow-2xl`,src:`/video/drohnen-edit-20190601.mp4`,children:`Your browser does not support the video tag.`},void 0,!1,{fileName:Z,lineNumber:254,columnNumber:13},void 0)},void 0,!1,{fileName:Z,lineNumber:253,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`w-full`,children:[(0,E.jsxDEV)(`div`,{className:`text-sm text-gray-600 dark:text-gray-400 mb-6`,children:(0,E.jsxDEV)(`p`,{children:[y?.lastUpdate||`Letzte Aktualisierung:`,` 31.01.2026`]},void 0,!0,{fileName:Z,lineNumber:265,columnNumber:15},void 0)},void 0,!1,{fileName:Z,lineNumber:264,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`bg-blue-50 dark:bg-blue-900/30 p-6 rounded-lg mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:y?.resourcesTitle},void 0,!1,{fileName:Z,lineNumber:269,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-3`,children:[(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`font-bold text-gray-900 dark:text-white mb-2`,children:y?.euRegulationTitle},void 0,!1,{fileName:Z,lineNumber:272,columnNumber:19},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>f(`https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32019R0947`),className:`text-blue-600 dar
1851k:text-blue-400 hover:underline cursor-pointer text-left`,children:y?.euRegulationLink},void 0,!1,{fileName:Z,lineNumber:273,columnNumber:19},void 0)]},void 0,!0,{fileName:Z,lineNumber:271,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`font-bold text-gray-900 dark:text-white mb-2`,children:y?.licenseTitle},void 0,!1,{fileName:Z,lineNumber:281,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-800 dark:text-gray-200 mb-2`,children:y?.licenseDescription},void 0,!1,{fileName:Z,lineNumber:282,columnNumber:19},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>f(`https://lba-openuav.de/`),className:`text-blue-600 dark:text-blue-400 hover:underline cursor-pointer text-left`,children:y?.licenseLink},void 0,!1,{fileName:Z,lineNumber:285,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-sm text-gray-600 dark:text-gray-400 mt-2`,children:y?.licenseCost},void 0,!1,{fileName:Z,lineNumber:291,columnNumber:19},void 0)]},void 0,!0,{fileName:Z,lineNumber:280,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`font-bold text-gray-900 dark:text-white mb-2`,children:y?.droniqTitle},void 0,!1,{fileName:Z,lineNumber:296,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-800 dark:text-gray-200 mb-2`,children:y?.droniqDescription},void 0,!1,{fileName:Z,lineNumber:297,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`flex gap-3 mb-2`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>f(`https://play.google.com/store/apps/details?id=de.droniq.droniqmaps&hl=en`),className:`text-blue-600 dark:text-blue-400 hover:underline cursor-pointer`,children:y?.droniqAndroid},void 0,!1,{fileName:Z,lineNumber:301,columnNumber:21},void 0),(0,E.jsxDEV)(`span`,{className:`text-gray-500`,children:`•`},void 0,!1,{fileName:Z,lineNumber:307,columnNumber:21},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>f(`https://apps.apple.com/de/app/droniq-maps/id6657980988`),className:`text-blue-600 dark:text-blue-400 hover:underline cursor-pointer`,children:y?.droniqIOS},void 0,!1,{fileName:Z,lineNumber:308,columnNumber:21},void 0)]},void 0,!0,{fileName:Z,lineNumber:300,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-sm text-yellow-600 dark:text-yellow-400`,children:y?.droniqWarning},void 0,!1,{fileName:Z,lineNumber:315,columnNumber:19},void 0)]},void 0,!0,{fileName:Z,lineNumber:295,columnNumber:17},void 0)]},void 0,!0,{fileName:Z,lineNumber:270,columnNumber:15},void 0)]},void 0,!0,{fileName:Z,lineNumber:268,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`bg-orange-50 dark:bg-orange-900/30 p-6 rounded-lg mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:y?.changesTitle},void 0,!1,{fileName:Z,lineNumber:323,columnNumber:15},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-800 dark:text-gray-200 mb-4`,children:y?.changesIntro},void 0,!1,{fileName:Z,lineNumber:324,columnNumber:15},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 space-y-2 text-gray-800 dark:text-gray-200`,children:y?.changes.map((e,t)=>(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:[e.split(`:`)[0],`:`]},void 0,!0,{fileName:Z,lineNumber:329,columnNumber:35},void 0),` `,e.split(`:`).slice(1).join(`:`)]},t,!0,{fileName:Z,lineNumber:329,columnNumber:19},void 0))},void 0,!1,{fileName:Z,lineNumber:327,columnNumber:15},void 0)]},void 0,!0,{fileName:Z,lineNumber:322,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`bg-red-50 dark:bg-red-900/30 p-6 rounded-lg mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:y?.importantTitle},void 0,!1,{fileName:Z,lineNumber:335,columnNumber:15},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 space-y-2 text-gray-800 dark:text-gray-200`,children:y?.important.map((e,t)=>(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:[e.split(`:`)[0],`:`]},void 0,!0,{fileName:Z,lineNumber:338,columnNumber:35},void 0),` `,e.split(`:`).slice(1).join(`:`)]},t,!0,{fileName:Z,lineNumber:338,columnNumber:19},void 0))},void 0,!1,{fileName:Z,lineNumber:336,columnNumber:15},void 0)]},void 0,!0,{fileName:Z,lineNumber:334,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`bg-blue-50 dark:bg-blue-900/30 p-6 rounded-lg mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:y?.finderTitle},void 0,!1,{fileName:Z,lineNumber:344,columnNumber:15},void 0),(0,E.jsxDEV)(`form`,{onSubmit:v,className:`space-y-4`,children:[(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`label`,{className:`block mb-2 text-gray-800 dark:text-gray-200`,children:y?.weightLabel},void 0,!1,{fileName:Z,lineNumber:347,columnNumber:19},void 0),(0,E.jsxDEV)(`input`,{type:`number`,value:r,onChange:e=>i(e.target.value),className:`w-full p-2 border rounded text-gray-800 dark:text-gray-200 dark:bg-gray-700 dark:border-gray-600`,required:!0},void 0,!1,{fileName:Z,lineNumber:348,columnNumber:19},void 0)]},void 0,!0,{fileName:Z,lineNumber:346,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:(0,E.jsxDEV)(`label`,{className:`flex items-center text-gray-800 dark:text-gray-200`,children:[(0,E.jsxDEV)(`input`,{type:`checkbox`,checked:a,onChange:e=>o(e.target.checked),className:`mr-2`},void 0,!1,{fileName:Z,lineNumber:358,columnNumber:21},void 0),y?.homemadeLabel]},void 0,!0,{fileName:Z,lineNumber:357,columnNumber:19},void 0)},void 0,!1,{fileName:Z,lineNumber:356,columnNumber:17},void 0),(0,E.jsxDEV)(`button`,{type:`submit`,className:`bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600`,children:y?.findButton},void 0,!1,{fileName:Z,lineNumber:367,columnNumber:17},void 0)]},void 0,!0,{fileName:Z,lineNumber:345,columnNumber:15},void 0),s&&(0,E.jsxDEV)(`div`,{className:`mt-4 p-4 bg-green-50 dark:bg-green-900/30 rounded-lg`,children:[(0,E.jsxDEV)(`h3`,{className:`font-bold text-gray-900 dark:text-white mb-2`,children:y?.resultTitle},void 0,!1,{fileName:Z,lineNumber:377,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-800 dark:text-gray-200`,children:[y?.droneClass,` `,g()]},void 0,!0,{fileName:Z,lineNumber:378,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-800 dark:text-gray-200`,children:[y?.requiredLicense,` `,_(g())]},void 0,!0,{fileName:Z,lineNumber:379,columnNumber:19},void 0)]},void 0,!0,{fileName:Z,lineNumber:376,columnNumber:17},void 0)]},void 0,!0,{fileName:Z,lineNumber:343,columnNumber:13},void 0),(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:y?.scenariosTitle},void 0,!1,{fileName:Z,lineNumber:384,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-800 dark:text-gray-200 mb-4`,children:y?.scenariosIntro},void 0,!1,{fileName:Z,lineNumber:385,columnNumber:13},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 mb-8 text-gray-800 dark:text-gray-200`,children:y?.scenarios.map((e,t)=>(0,E.jsxDEV)(`li`,{children:[(0,E.jsxDEV)(`strong`,{children:e.split(` - `)[0]},void 0,!1,{fileName:Z,lineNumber:388,columnNumber:33},void 0),` - `,e.split(` - `).slice(1).join(` - `)]},t,!0,{fileName:Z,lineNumber:388,columnNumber:17},void 0))},void 0,!1,{fileName:Z,lineNumber:386,columnNumber:13},void 0),(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:y?.droneClassesTitle},void 0,!1,{fileName:Z,lineNumber:392,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8`,children:m.map(e=>(0,E.jsxDEV)(`div`,{className:`bg-gray-100 dark:bg-gray-600 border border-gray-200 dark:border-gray-700 rounded-lg p-4`,children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-bold text-gray-900 dark:text-white mb-4`,children:[n===`de`?`Klasse`:`Class`,` `,e.name]},void 0,!0,{fileName:Z,lineNumber:399,columnNumber:19},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 space-y-2`,children:e.requirements.map((e,t)=>(0,E.jsxDEV)(`li`,{className:`text-sm text-gray-800 dark:text-gray-200`,children:e},t,!1,{fileName:Z,lineNumber:402,columnNumber:23},void 0))},void 0,!1,{fileName:Z,lineNumber:400,columnNumber:19},void 0)]},e.name,!0,{fileName:Z,lineNumber:395,columnNumber:17},void 0))},void 0,!1,{fileName:Z,lineNumber:393,columnNumber:13},void 0),(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:y?.pilotClassesTitle},void 0,!1,{fileName:Z,lineNumber:409,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid md:grid-cols-3 gap-6 mb-8`,children:h.map(e=>(0,E.jsxDEV)(`div`,{className:`bg-gray-100 dark:bg-gray-600 border border-gray-200 dark:border-gray-700 rounded-lg p-4`,children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-bold text-gray-900 dark:text-white mb-4`,children:[n===`de`?`Kategorie`:`Category`,` `,e.name]},void 0,!0,{fileName:Z,lineNumber:416,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`mb-2 text-sm text-gray-800 dark:text-gray-200`,children:e.description},void 0,!1,{fileName:Z,lineNumber:417,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`mb-2 text-sm font-bold text-gray-900 dark:text-white`,children:[y?.pilotForClasses,` `,e.droneClasses.join(`, `)]},void 0,!0,{fileName:Z,lineNumber:418,columnNumber:19},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 space-y-2`,children:e.requirements.map((e,t)=>(0,E.jsxDEV)(`li`,{className:`text-sm text-gray-800 dark:text-gray-200`,children:e},t,!1,{fileName:Z,lineNumber:421,columnNumber:23},void 0))},void 0,!1,{fileName:Z,lineNumber:419,columnNumber:19},void 0)]},e.name,!0,{fileName:Z,lineNumber:412,columnNumber:17},void 0))},void 0,!1,{fileName:Z,lineNumber:410,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`bg-yellow-50 dark:bg-yellow-900/30 p-4 rounded-lg mb-8`,children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-bold text-gray-900 dark:text-white mb-2`,children:y?.hintsTitle},void 0,!1,{fileName:Z,lineNumber:429,columnNumber:15},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 space-y-2`,children:y?.hints.map((e,t)=>(0,E.jsxDEV)(`li`,{className:`text-gray-800 dark:text-gray-200`,children:e},t,!1,{fileName:Z,lineNumber:432,columnNumber:19},void 0))},void 0,!1,{fileName:Z,lineNumber:430,columnNumber:15},void 0)]},void 0,!0,{fileName:Z,lineNumber:428,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-center text-black dark:text-gray-300 mb-6`,children:t.drones?.overview||t.divers.dronesDescription},void 0,!1,{fileName:Z,lineNumber:437,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid md:grid-cols-3 gap-6`,children:[(0,E.jsxDEV)(`div`,{className:`bg-gray-100 dark:bg-gray-600 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 flex items-center gap-3 text-black dark:text-white`,children:[(0,E.jsxDEV)(ta,{className:`text-blue-500`},void 0,!1,{fileName:Z,lineNumber:444,columnNumber:19},void 0),` `,t.drones?.categories.consumer.title||`Consumer Drones`]},void 0,!0,{fileName:Z,lineNumber:443,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`mb-4 text-black dark:text-gray-300`,children:t.drones?.categories.consumer.description||`Drones for personal and recreational use`},void 0,!1,{fileName:Z,lineNumber:446,columnNumber:17},void 0),(t.drones?.categories.consumer.examples||[]).map((e,t)=>(0,E.jsxDEV)(`div`,{className:`mb-4`,children:[(0,E.jsxDEV)(`h3`,{className:`font-bold text-lg text-black dark:text-white`,children:e.name},void 0,!1,{fileName:Z,lineNumber:451,columnNumber:21},void 0),(0,E.jsxDEV)(`p`,{className:`text-black dark:text-gray-300`,children:e.description},void 0,!1,{fileName:Z,lineNumber:452,columnNumber:21},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside text-sm text-black dark:text-gray-300`,children:e.features.map((e,t)=>(0,E.jsxDEV)(`li`,{children:e},t,!1,{fileName:Z,lineNumber:455,columnNumber:25},void 0))},void 0,!1,{fileName:Z,lineNumber:453,columnNumber:21},void 0)]}
1851,t,!0,{fileName:Z,lineNumber:450,columnNumber:19},void 0))]},void 0,!0,{fileName:Z,lineNumber:442,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`bg-gray-100 dark:bg-gray-600 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 flex items-center gap-3 text-black dark:text-white`,children:[(0,E.jsxDEV)(bi,{className:`text-green-500`},void 0,!1,{fileName:Z,lineNumber:464,columnNumber:19},void 0),` `,t.drones?.categories.professional.title||`Professional Drones`]},void 0,!0,{fileName:Z,lineNumber:463,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`mb-4 text-black dark:text-gray-300`,children:t.drones?.categories.professional.description||`Drones for industrial and specialized applications`},void 0,!1,{fileName:Z,lineNumber:466,columnNumber:17},void 0),(t.drones?.categories.professional.applications||[]).map((e,t)=>(0,E.jsxDEV)(`div`,{className:`mb-4`,children:[(0,E.jsxDEV)(`h3`,{className:`font-bold text-lg text-black dark:text-white`,children:e.sector},void 0,!1,{fileName:Z,lineNumber:471,columnNumber:21},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside text-black dark:text-gray-300`,children:e.uses.map((e,t)=>(0,E.jsxDEV)(`li`,{children:e},t,!1,{fileName:Z,lineNumber:474,columnNumber:25},void 0))},void 0,!1,{fileName:Z,lineNumber:472,columnNumber:21},void 0)]},t,!0,{fileName:Z,lineNumber:470,columnNumber:19},void 0))]},void 0,!0,{fileName:Z,lineNumber:462,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`bg-gray-100 dark:bg-gray-600 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 flex items-center gap-3 text-black dark:text-white`,children:[(0,E.jsxDEV)(Xr,{className:`text-red-500`},void 0,!1,{fileName:Z,lineNumber:483,columnNumber:19},void 0),` `,t.drones?.categories.military.title||`Military Drones`]},void 0,!0,{fileName:Z,lineNumber:482,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`mb-4 text-black dark:text-gray-300`,children:t.drones?.categories.military.description||`Advanced unmanned aerial vehicles`},void 0,!1,{fileName:Z,lineNumber:485,columnNumber:17},void 0),(t.drones?.categories.military.types||[]).map((e,t)=>(0,E.jsxDEV)(`div`,{className:`mb-4`,children:[(0,E.jsxDEV)(`h3`,{className:`font-bold text-lg text-black dark:text-white`,children:e.name},void 0,!1,{fileName:Z,lineNumber:490,columnNumber:21},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc list-inside text-black dark:text-gray-300`,children:e.capabilities.map((e,t)=>(0,E.jsxDEV)(`li`,{children:e},t,!1,{fileName:Z,lineNumber:493,columnNumber:25},void 0))},void 0,!1,{fileName:Z,lineNumber:491,columnNumber:21},void 0)]},t,!0,{fileName:Z,lineNumber:489,columnNumber:19},void 0))]},void 0,!0,{fileName:Z,lineNumber:481,columnNumber:15},void 0)]},void 0,!0,{fileName:Z,lineNumber:441,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`mt-8 bg-gray-100 dark:bg-gray-600 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 flex items-center gap-3 text-black dark:text-white`,children:[(0,E.jsxDEV)(Mr,{className:`text-orange-500`},void 0,!1,{fileName:Z,lineNumber:503,columnNumber:17},void 0),` `,t.drones?.ethicalConsiderations.title||`Ethical Considerations`]},void 0,!0,{fileName:Z,lineNumber:502,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`font-bold mb-2 text-black dark:text-white`,children:t.drones?.ethicalConsiderations.privacyTitle||`Privacy`},void 0,!1,{fileName:Z,lineNumber:507,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-black dark:text-gray-300`,children:t.drones?.ethicalConsiderations.privacyDescription||`Considerations about drone privacy`},void 0,!1,{fileName:Z,lineNumber:508,columnNumber:19},void 0)]},void 0,!0,{fileName:Z,lineNumber:506,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`font-bold mb-2 text-black dark:text-white`,children:t.drones?.ethicalConsiderations.regulationTitle||`Regulations`},void 0,!1,{fileName:Z,lineNumber:511,columnNumber:19},void 0),(0,E.jsxDEV)(`p`,{className:`text-black dark:text-gray-300`,children:t.drones?.ethicalConsiderations.regulationDescription||`Legal frameworks for drone usage`},void 0,!1,{fileName:Z,lineNumber:512,columnNumber:19},void 0)]},void 0,!0,{fileName:Z,lineNumber:510,columnNumber:17},void 0)]},void 0,!0,{fileName:Z,lineNumber:505,columnNumber:15},void 0)]},void 0,!0,{fileName:Z,lineNumber:501,columnNumber:13},void 0)]},void 0,!0,{fileName:Z,lineNumber:263,columnNumber:11},void 0)]},void 0,!0,{fileName:Z,lineNumber:252,columnNumber:9},void 0)]},void 0,!0,{fileName:Z,lineNumber:219,columnNumber:7},void 0),(0,E.jsxDEV)(bj,{url:l||``,isOpen:l!==null,onClose:()=>u(null),onConfirm:p},void 0,!1,{fileName:Z,lineNumber:520,columnNumber:7},void 0)]},void 0,!0,{fileName:Z,lineNumber:218,columnNumber:5},void 0)},Q=`/opt/src/frontend/src/components/diverse/3DPrinters.tsx`,cG=()=>{let e=xt(),{translations:t}=rr(),n=t.threeDPrinters.sidewinderX1,r=t.threeDPrinters.bambuLabP1S;return(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`container mx-auto px-4`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center justify-between mb-8`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>{e(`/divers`)},className:`
1852              flex items-center gap-2 
1853              bg-blue-500 text-white 
1854              px-4 py-2 rounded-lg 
1855              hover:bg-blue-600 
1856              transition-colors duration-200
1857              focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
1858            `,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,viewBox:`0 0 20 20`,fill:`currentColor`,children:(0,E.jsxDEV)(`path`,{fillRule:`evenodd`,d:`M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z`,clipRule:`evenodd`},void 0,!1,{fileName:Q,lineNumber:32,columnNumber:15},void 0)},void 0,!1,{fileName:Q,lineNumber:31,columnNumber:13},void 0),t.common.backToMenu]},void 0,!0,{fileName:Q,lineNumber:20,columnNumber:11},void 0),(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-black dark:text-white`,children:t.threeDPrinters.title},void 0,!1,{fileName:Q,lineNumber:36,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`w-[120px]`},void 0,!1,{fileName:Q,lineNumber:39,columnNumber:11},void 0),` `]},void 0,!0,{fileName:Q,lineNumber:19,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-lg shadow-lg p-8 mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 flex items-center text-black dark:text-white`,children:[(0,E.jsxDEV)(ai,{className:`mr-3 text-blue-500`},void 0,!1,{fileName:Q,lineNumber:45,columnNumber:13},void 0),` Artillery Sidewinder X1`]},void 0,!0,{fileName:Q,lineNumber:44,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`grid md:grid-cols-2 gap-6`,children:[(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold mb-2 text-black dark:text-white`,children:n.specifications.title},void 0,!1,{fileName:Q,lineNumber:50,columnNumber:15},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(`li`,{children:n.specifications.printVolume},void 0,!1,{fileName:Q,lineNumber:54,columnNumber:17},void 0),(0,E.jsxDEV)(`li`,{children:n.specifications.printSpeed},void 0,!1,{fileName:Q,lineNumber:55,columnNumber:17},void 0),(0,E.jsxDEV)(`li`,{children:n.specifications.nozzleDiameter},void 0,!1,{fileName:Q,lineNumber:56,columnNumber:17},void 0),(0,E.jsxDEV)(`li`,{children:n.specifications.supportedMaterials},void 0,!1,{fileName:Q,lineNumber:57,columnNumber:17},void 0),(0,E.jsxDEV)(`li`,{children:n.specifications.extruder},void 0,!1,{fileName:Q,lineNumber:58,columnNumber:17},void 0),(0,E.jsxDEV)(`li`,{children:n.specifications.mainboard},void 0,!1,{fileName:Q,lineNumber:59,columnNumber:17},void 0)]},void 0,!0,{fileName:Q,lineNumber:53,columnNumber:15},void 0)]},void 0,!0,{fileName:Q,lineNumber:49,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold mb-2 text-black dark:text-white`,children:n.features.title},void 0,!1,{fileName:Q,lineNumber:64,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(bi,{className:`mr-3 text-green-500`},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:19},void 0),(0,E.jsxDEV)(`span`,{children:n.features.metalFrame},void 0,!1,{fileName:Q,lineNumber:70,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:68,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(ri,{className:`mr-3 text-purple-500`},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:19},void 0),(0,E.jsxDEV)(`span`,{children:n.features.autoLeveling},void 0,!1,{fileName:Q,lineNumber:74,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:72,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(ai,{className:`mr-3 text-red-500`},void 0,!1,{fileName:Q,lineNumber:77,columnNumber:19},void 0),(0,E.jsxDEV)(`span`,{children:n.features.precision},void 0,!1,{fileName:Q,lineNumber:78,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:76,columnNumber:17},void 0)]},void 0,!0,{fileName:Q,lineNumber:67,columnNumber:15},void 0)]},void 0,!0,{fileName:Q,lineNumber:63,columnNumber:13},void 0)]},void 0,!0,{fileName:Q,lineNumber:48,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`mt-6`,children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold mb-2 text-black dark:text-white`,children:`Overview`},void 0,!1,{fileName:Q,lineNumber:85,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-black dark:text-gray-300`,children:n.overview},void 0,!1,{fileName:Q,lineNumber:86,columnNumber:13},void 0)]},void 0,!0,{fileName:Q,lineNumber:84,columnNumber:11},void 0)]},void 0,!0,{fileName:Q,lineNumber:43,columnNumber:9},void 0),r&&(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-lg shadow-lg p-8 mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 flex items-center text-black dark:text-white`,children:[(0,E.jsxDEV)(ai,{className:`mr-3 text-orange-500`},void 0,!1,{fileName:Q,lineNumber:96,columnNumber:15},void 0),` BambuLab P1S`]},void 0,!0,{fileName:Q,lineNumber:95,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid md:grid-cols-2 gap-6`,children:[(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold mb-2 text-black dark:text-white`,children:r.specifications.title},void 0,!1,{fileName:Q,lineNumber:101,columnNumber:17},void 0),(0,E.jsxDEV)(`ul`,{className:`list-disc pl-5 text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(`li`,{children:r.specifications.printVolume},void 0,!1,{fileName:Q,lineNumber:105,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:r.specifications.printSpeed},void 0,!1,{fileName:Q,lineNumber:106,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:r.specifications.nozzleDiameter},void 0,!1,{fileName:Q,lineNumber:107,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:r.specifications.supportedMaterials},void 0,!1,{fileName:Q,lineNumber:108,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:r.specifications.extruder},void 0,!1,{fileName:Q,lineNumber:109,columnNumber:19},void 0),(0,E.jsxDEV)(`li`,{children:r.specifications.connectivity},void 0,!1,{fileName:Q,lineNumber:110,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:104,columnNumber:17},void 0)]},void 0,!0,{fileName:Q,lineNumber:100,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold mb-2 text-black dark:text-white`,children:r.features.title},void 0,!1,{fileName:Q,lineNumber:115,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(ri,{className:`mr-3 text-green-500`},void 0,!1,{fileName:Q,lineNumber:120,columnNumber:21},void 0),(0,E.jsxDEV)(`span`,{children:r.features.autoCalibration},void 0,!1,{fileName:Q,lineNumber:121,columnNumber:21},void 0)]},void 0,!0,{fileName:Q,lineNumber:119,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(bi,{className:`mr-3 text-purple-500`},void 0,!1,{fileName:Q,lineNumber:124,columnNumber:21},void 0),(0,E.jsxDEV)(`span`,{children:r.features.aiDetection},void 0,!1,{fileName:Q,lineNumber:125,columnNumber:21},void 0)]},void 0,!0,{fileName:Q,lineNumber:123,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(ai,{className:`mr-3 text-blue-500`},void 0,!1,{fileName:Q,lineNumber:128,columnNumber:21},void 0),(0,E.jsxDEV)(`span`,{children:r.features.multiColor},void 0,!1,{fileName:Q,lineNumber:129,columnNumber:21},void 0)]},void 0,!0,{fileName:Q,lineNumber:127,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center text-black dark:text-gray-300`,children:[(0,E.jsxDEV)(Ki,{className:`mr-3 text-cyan-500`},void 0,!1,{fileName:Q,lineNumber:132,columnNumber:21},void 0),(0,E.jsxDEV)(`span`,{children:r.features.cloudIntegration},void 0,!1,{fileName:Q,lineNumber:133,columnNumber:21},void 0)]},void 0,!0,{fileName:Q,lineNumber:131,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:118,columnNumber:17},void 0)]},void 0,!0,{fileName:Q,lineNumber:114,columnNumber:15},void 0)]},void 0,!0,{fileName:Q,lineNumber:99,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`mt-6`,children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold mb-2 text-black dark:text-white`,children:`Overview`},void 0,!1,{fileName:Q,lineNumber:140,columnNumber:15},void 0),(0,E.jsxDEV)(`p`,{className:`text-black dark:text-gray-300`,children:r.overview},void 0,!1,{fileName:Q,lineNumber:141,columnNumber:15},void 0)]},void 0,!0,{fileName:Q,lineNumber:139,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`mt-6 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-6`,children:[(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold mb-4 flex items-center text-yellow-800 dark:text-yellow-200`,children:[(0,E.jsxDEV)(Pi,{className:`mr-3 text-yellow-600`},void 0,!1,{fileName:Q,lineNumber:149,columnNumber:17},void 0),r.professionalLimitations.title]},void 0,!0,{fileName:Q,lineNumber:148,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-3 text-yellow-800 dark:text-yellow-200`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-start`,children:[(0,E.jsxDEV)(jr,{className:`mr-3 mt-1 text-yellow-600 flex-shrink-0`},void 0,!1,{fileName:Q,lineNumber:154,columnNumber:19},void 0),(0,E.jsxDEV)(`span`,{children:r.professionalLimitations.lanOnlyLimitation},void 0,!1,{fileName:Q,lineNumber:155,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:153,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-start`,children:[(0,E.jsxDEV)(jr,{className:`mr-3 mt-1 text-yellow-600 flex-shrink-0`},void 0,!1,{fileName:Q,lineNumber:158,columnNumber:19},void 0),(0,E.jsxDEV)(`span`,{children:r.professionalLimitations.udpDiscovery},void 0,!1,{fileName:Q,lineNumber:159,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:157,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-start`,children:[(0,E.jsxDEV)(ri,{className:`mr-3 mt-1 text-green-600 flex-shrink-0`},void 0,!1,{fileName:Q,lineNumber:162,columnNumber:19},void 0),(0,E.jsxDEV)(`span`,{children:r.professionalLimitations.vlanSolution},void 0,!1,{fileName:Q,lineNumber:163,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:161,columnNumber:17},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-start`,children:[(0,E.jsxDEV)(gi,{className:`mr-3 mt-1 text-blue-600 flex-shrink-0`},void 0,!1,{fileName:Q,lineNumber:166,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{children:[(0,E.jsxDEV)(`span`,{className:`block mb-1`,children:r.professionalLimitations.wikiReference},void 0,!1,{fileName:Q,lineNumber:168,columnNumber:21},void 0),(0,E
1858.jsxDEV)(`a`,{href:`https://kb.pabr.de/books/3d-print/page/bambu-lab-p1s-on-iot-vlan`,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:`https://kb.pabr.de/books/3d-print/page/bambu-lab-p1s-on-iot-vlan`},void 0,!1,{fileName:Q,lineNumber:169,columnNumber:21},void 0)]},void 0,!0,{fileName:Q,lineNumber:167,columnNumber:19},void 0)]},void 0,!0,{fileName:Q,lineNumber:165,columnNumber:17},void 0)]},void 0,!0,{fileName:Q,lineNumber:152,columnNumber:15},void 0)]},void 0,!0,{fileName:Q,lineNumber:147,columnNumber:13},void 0)]},void 0,!0,{fileName:Q,lineNumber:94,columnNumber:11},void 0)]},void 0,!0,{fileName:Q,lineNumber:18,columnNumber:7},void 0)},void 0,!1,{fileName:Q,lineNumber:17,columnNumber:5},void 0)},lG=`/opt/src/frontend/src/components/diverse/MachineLearning.tsx`,uG=()=>{let e=xt(),{translations:t}=rr(),[n,r]=(0,S.useState)(``),[i,a]=(0,S.useState)(null),[o,s]=(0,S.useState)(null),c=()=>{e(`/divers`)},l=e=>{if(e.includes(`pabr.de`)){window.open(e,`_blank`,`noopener,noreferrer`);return}s(e)},u=()=>{o&&(window.open(o,`_blank`,`noopener,noreferrer`),s(null))},d=t.machineLearning.categories,f=e=>{switch(e){case`OpenAI ChatGPT`:return(0,E.jsxDEV)(Ui,{className:`w-6 h-6 text-blue-500`},void 0,!1,{fileName:lG,lineNumber:64,columnNumber:37},void 0);case`Claude`:return(0,E.jsxDEV)(Ui,{className:`w-6 h-6 text-green-500`},void 0,!1,{fileName:lG,lineNumber:65,columnNumber:29},void 0);case`AgentGPT`:return(0,E.jsxDEV)(ri,{className:`w-6 h-6 text-purple-500`},void 0,!1,{fileName:lG,lineNumber:66,columnNumber:31},void 0);case`Forefront AI`:return(0,E.jsxDEV)(di,{className:`w-6 h-6 text-red-500`},void 0,!1,{fileName:lG,lineNumber:67,columnNumber:35},void 0);case`Perplexity AI`:return(0,E.jsxDEV)(_i,{className:`w-6 h-6 text-indigo-500`},void 0,!1,{fileName:lG,lineNumber:68,columnNumber:36},void 0);case`Poe`:return(0,E.jsxDEV)(Ri,{className:`w-6 h-6 text-teal-500`},void 0,!1,{fileName:lG,lineNumber:69,columnNumber:26},void 0);case`Midjourney`:return(0,E.jsxDEV)(Si,{className:`w-6 h-6 text-orange-500`},void 0,!1,{fileName:lG,lineNumber:70,columnNumber:33},void 0);case`Stable Diffusion`:return(0,E.jsxDEV)(Si,{className:`w-6 h-6 text-pink-500`},void 0,!1,{fileName:lG,lineNumber:71,columnNumber:39},void 0);case`DALL-E`:return(0,E.jsxDEV)(Si,{className:`w-6 h-6 text-yellow-500`},void 0,!1,{fileName:lG,lineNumber:72,columnNumber:29},void 0);case`Beautiful AI`:return(0,E.jsxDEV)(Ri,{className:`w-6 h-6 text-cyan-500`},void 0,!1,{fileName:lG,lineNumber:73,columnNumber:35},void 0);case`Simplified`:return(0,E.jsxDEV)(Ri,{className:`w-6 h-6 text-lime-500`},void 0,!1,{fileName:lG,lineNumber:74,columnNumber:33},void 0);case`Watermark Remover`:return(0,E.jsxDEV)(ri,{className:`w-6 h-6 text-gray-500`},void 0,!1,{fileName:lG,lineNumber:75,columnNumber:40},void 0);case`Suno`:return(0,E.jsxDEV)(fi,{className:`w-6 h-6 text-rose-500`},void 0,!1,{fileName:lG,lineNumber:76,columnNumber:27},void 0);default:return(0,E.jsxDEV)(ri,{className:`w-6 h-6 text-blue-500`},void 0,!1,{fileName:lG,lineNumber:77,columnNumber:23},void 0)}},p=S.useMemo(()=>{let e={chatBots:{title:d.chatBots.title,items:{}},imageGenerator:{title:d.imageGenerator.title,items:{}},powerpointAI:{title:d.powerpointAI.title,items:{}},tools:{title:d.tools.title,items:{}},music:{title:d.music.title,items:{}}};return Object.keys(d).forEach(t=>{let r=d[t],i={};Object.entries(r.items).forEach(([e,t])=>{let r=t;(r.name.toLowerCase().includes(n.toLowerCase())||r.description.toLowerCase().includes(n.toLowerCase()))&&(i[e]=r)}),Object.keys(i).length>0&&(e[t].items=i)}),e},[n,d]),m=(()=>{for(let e of Object.values(d)){let t=Object.values(e.items).find(t=>{let n=t;return`${e.title}-${n.name}`===i});if(t)return t}return null})();return(0,E.jsxDEV)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 pt-6 pb-12 transition-colors duration-200`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] mx-auto`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center justify-between mb-8`,children:[(0,E.jsxDEV)(`button`,{onClick:c,className:`
1859              flex items-center gap-2 
1860              bg-blue-500 text-white 
1861              px-4 py-2 rounded-lg 
1862              hover:bg-blue-600 
1863              transition-colors duration-200
1864              focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
1865            `,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,viewBox:`0 0 20 20`,fill:`currentColor`,children:(0,E.jsxDEV)(`path`,{fillRule:`evenodd`,d:`M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z`,clipRule:`evenodd`},void 0,!1,{fileName:lG,lineNumber:144,columnNumber:15},void 0)},void 0,!1,{fileName:lG,lineNumber:143,columnNumber:13},void 0),t.common.backToMenu]},void 0,!0,{fileName:lG,lineNumber:132,columnNumber:11},void 0),(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white transition-colors duration-200`,children:t.machineLearning.title},void 0,!1,{fileName:lG,lineNumber:148,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`w-[120px]`},void 0,!1,{fileName:lG,lineNumber:151,columnNumber:11},void 0),` `]},void 0,!0,{fileName:lG,lineNumber:131,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`max-w-xl mx-auto mb-8`,children:(0,E.jsxDEV)(`div`,{className:`relative`,children:[(0,E.jsxDEV)(`input`,{type:`text`,placeholder:`Search Machine Learning Tools...`,value:n,onChange:e=>r(e.target.value),className:`w-full px-4 py-3 rounded-lg bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 
1866                text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400
1867                focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400
1868                transition-colors duration-200`},void 0,!1,{fileName:lG,lineNumber:157,columnNumber:13},void 0),(0,E.jsxDEV)(ei,{className:`absolute right-4 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500`},void 0,!1,{fileName:lG,lineNumber:167,columnNumber:13},void 0)]},void 0,!0,{fileName:lG,lineNumber:156,columnNumber:11},void 0)},void 0,!1,{fileName:lG,lineNumber:155,columnNumber:9},void 0),Object.keys(p).map(e=>{let t=p[e];return Object.keys(t.items).length>0?(0,E.jsxDEV)(`div`,{className:`mb-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-semibold mb-4 text-gray-800 dark:text-white`,children:t.title},void 0,!1,{fileName:lG,lineNumber:177,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6`,children:Object.entries(t.items).map(([e,n])=>{let r=n;return(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-800 rounded-xl shadow-lg hover:shadow-xl 
1869                        transition-all duration-300 transform hover:-translate-y-1
1870                        border border-gray-100 dark:border-gray-700 h-full`,children:(0,E.jsxDEV)(`div`,{className:`p-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex justify-between items-start mb-4`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3`,children:[(0,E.jsxDEV)(`div`,{className:`p-3 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:f(r.name)},void 0,!1,{fileName:lG,lineNumber:194,columnNumber:29},void 0),(0,E.jsxDEV)(`h3`,{className:`text-xl font-semibold text-gray-900 dark:text-white transition-colors duration-200`,children:r.name},void 0,!1,{fileName:lG,lineNumber:197,columnNumber:29},void 0)]},void 0,!0,{fileName:lG,lineNumber:193,columnNumber:27},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-2 ml-4`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>a(`${t.title}-${r.name}`),className:`text-blue-500 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 
1871                                transition-colors duration-200 p-2 rounded-full hover:bg-blue-50 dark:hover:bg-blue-900`,"aria-label":`Show More`,children:(0,E.jsxDEV)(yi,{className:`w-5 h-5`},void 0,!1,{fileName:lG,lineNumber:208,columnNumber:31},void 0)},void 0,!1,{fileName:lG,lineNumber:202,columnNumber:29},void 0),r.url&&(0,E.jsxDEV)(`button`,{onClick:()=>l(r.url),className:`text-blue-500 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 
1872                                  transition-colors duration-200 p-2 rounded-full hover:bg-blue-50 dark:hover:bg-blue-900`,"aria-label":`Visit Website`,children:(0,E.jsxDEV)(Ni,{className:`w-5 h-5`},void 0,!1,{fileName:lG,lineNumber:217,columnNumber:33},void 0)},void 0,!1,{fileName:lG,lineNumber:211,columnNumber:31},void 0)]},void 0,!0,{fileName:lG,lineNumber:201,columnNumber:27},void 0)]},void 0,!0,{fileName:lG,lineNumber:192,columnNumber:25},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-300 text-base transition-colors duration-200`,children:r.description},void 0,!1,{fileName:lG,lineNumber:222,columnNumber:25},void 0)]},void 0,!0,{fileName:lG,lineNumber:191,columnNumber:23},void 0)},e,!1,{fileName:lG,lineNumber:185,columnNumber:21},void 0)})},void 0,!1,{fileName:lG,lineNumber:180,columnNumber:15},void 0)]},e,!0,{fileName:lG,lineNumber:176,columnNumber:13},void 0):null}),m&&(0,E.jsxDEV)(`div`,{className:`fixed top-0 right-0 w-full sm:w-96 bg-white dark:bg-gray-800 shadow-2xl transform transition-transform duration-300 ease-in-out z-50
1873              ${i?`translate-x-0`:`translate-x-full`}
1874              h-screen pt-16 overflow-y-auto`,children:(0,E.jsxDEV)(`div`,{className:`p-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex justify-between items-center mb-6 sticky top-0 bg-white dark:bg-gray-800 py-2`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-3`,children:[(0,E.jsxDEV)(`div`,{className:`p-2 bg-gray-100 dark:bg-gray-700 rounded-lg`,children:f(m.name)}
1874,void 0,!1,{fileName:lG,lineNumber:244,columnNumber:19},void 0),(0,E.jsxDEV)(`h3`,{className:`text-2xl font-bold text-gray-900 dark:text-white`,children:m.name},void 0,!1,{fileName:lG,lineNumber:247,columnNumber:19},void 0)]},void 0,!0,{fileName:lG,lineNumber:243,columnNumber:17},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>a(null),className:`text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 
1875                    transition-colors duration-200`,children:(0,E.jsxDEV)(Hr,{className:`w-6 h-6`},void 0,!1,{fileName:lG,lineNumber:256,columnNumber:19},void 0)},void 0,!1,{fileName:lG,lineNumber:251,columnNumber:17},void 0)]},void 0,!0,{fileName:lG,lineNumber:242,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`prose dark:prose-invert max-w-none`,children:m.extendedInfo?.split(`
1876`).map((e,t)=>(0,E.jsxDEV)(`p`,{className:`mb-4 text-gray-700 dark:text-gray-300`,children:e},t,!1,{fileName:lG,lineNumber:261,columnNumber:19},void 0))},void 0,!1,{fileName:lG,lineNumber:259,columnNumber:15},void 0),m.url&&(0,E.jsxDEV)(`button`,{onClick:()=>l(m.url),className:`mt-6 inline-flex items-center text-blue-500 hover:text-blue-700 dark:text-blue-400 
1877                    dark:hover:text-blue-300 transition-colors duration-200 cursor-pointer`,children:[(0,E.jsxDEV)(`span`,{className:`mr-2`,children:`Visit Website`},void 0,!1,{fileName:lG,lineNumber:272,columnNumber:19},void 0),(0,E.jsxDEV)(Ni,{className:`w-4 h-4`},void 0,!1,{fileName:lG,lineNumber:273,columnNumber:19},void 0)]},void 0,!0,{fileName:lG,lineNumber:267,columnNumber:17},void 0)]},void 0,!0,{fileName:lG,lineNumber:241,columnNumber:13},void 0)},void 0,!1,{fileName:lG,lineNumber:236,columnNumber:11},void 0),i&&(0,E.jsxDEV)(`div`,{className:`fixed inset-0 bg-black bg-opacity-50 transition-opacity duration-300 z-40`,onClick:()=>a(null)},void 0,!1,{fileName:lG,lineNumber:282,columnNumber:11},void 0),(0,E.jsxDEV)(bj,{url:o||``,isOpen:o!==null,onClose:()=>s(null),onConfirm:u},void 0,!1,{fileName:lG,lineNumber:288,columnNumber:9},void 0)]},void 0,!0,{fileName:lG,lineNumber:130,columnNumber:7},void 0)},void 0,!1,{fileName:lG,lineNumber:129,columnNumber:5},void 0)},$=`/opt/src/frontend/src/components/diverse/UnterwasserrugbyPage.tsx`,dG=()=>{let e=xt(),{translations:t}=rr(),[n,r]=(0,S.useState)(null),i=()=>{e(`/divers`)},a=e=>{if(e.includes(`pabr.de`)){window.open(e,`_blank`,`noopener,noreferrer`);return}r(e)};return(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-900 min-h-full w-full pt-6 pb-12 transition-colors duration-200`,children:[(0,E.jsxDEV)(`div`,{className:`w-full max-w-[2000px] mx-auto px-6`,children:[(0,E.jsxDEV)(`div`,{className:`flex items-center justify-between mb-8`,children:[(0,E.jsxDEV)(`button`,{onClick:i,className:`
1878              flex items-center gap-2 
1879              bg-blue-500 text-white 
1880              px-4 py-2 rounded-lg 
1881              hover:bg-blue-600 
1882              transition-colors duration-200
1883              focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
1884            `,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,viewBox:`0 0 20 20`,fill:`currentColor`,children:(0,E.jsxDEV)(`path`,{fillRule:`evenodd`,d:`M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z`,clipRule:`evenodd`},void 0,!1,{fileName:$,lineNumber:46,columnNumber:15},void 0)},void 0,!1,{fileName:$,lineNumber:45,columnNumber:13},void 0),t.common.backToMenu]},void 0,!0,{fileName:$,lineNumber:34,columnNumber:11},void 0),(0,E.jsxDEV)(`h1`,{className:`text-4xl font-bold text-center text-gray-900 dark:text-white transition-colors duration-200`,children:t.header.divers.unterwasserrugby},void 0,!1,{fileName:$,lineNumber:50,columnNumber:11},void 0),(0,E.jsxDEV)(`div`,{className:`w-[120px]`},void 0,!1,{fileName:$,lineNumber:53,columnNumber:11},void 0),` `]},void 0,!0,{fileName:$,lineNumber:33,columnNumber:9},void 0),(0,E.jsxDEV)(`div`,{className:`bg-white dark:bg-gray-700 rounded-xl shadow-xl p-8 space-y-8`,children:[(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h2`,{className:`text-3xl font-bold mb-6 dark:text-white text-blue-600`,children:t.unterwasserrugby.generalInfoTitle},void 0,!1,{fileName:$,lineNumber:59,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`space-y-4 text-gray-700 dark:text-gray-200`,children:[(0,E.jsxDEV)(`p`,{className:`text-lg leading-relaxed`,children:t.unterwasserrugby.description1},void 0,!1,{fileName:$,lineNumber:63,columnNumber:15},void 0),(0,E.jsxDEV)(`p`,{className:`text-lg leading-relaxed`,children:t.unterwasserrugby.description2},void 0,!1,{fileName:$,lineNumber:64,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`flex items-center space-x-4 bg-blue-50 dark:bg-blue-900 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`div`,{className:`text-blue-600 dar
1884k:text-blue-300`,children:(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-12 w-12`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M13 10V3L4 14h7v7l9-11h-7z`},void 0,!1,{fileName:$,lineNumber:68,columnNumber:21},void 0)},void 0,!1,{fileName:$,lineNumber:67,columnNumber:19},void 0)},void 0,!1,{fileName:$,lineNumber:66,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`italic text-lg font-medium`,children:t.unterwasserrugby.keyFact},void 0,!1,{fileName:$,lineNumber:71,columnNumber:17},void 0)]},void 0,!0,{fileName:$,lineNumber:65,columnNumber:15},void 0)]},void 0,!0,{fileName:$,lineNumber:62,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:58,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.gameplayTitle},void 0,!1,{fileName:$,lineNumber:78,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed mb-4`,children:t.unterwasserrugby.gameplayDescription},void 0,!1,{fileName:$,lineNumber:81,columnNumber:13},void 0),(0,E.jsxDEV)(`h4`,{className:`text-xl font-semibold mb-3 dark:text-white text-blue-600`,children:t.unterwasserrugby.rulesTitle},void 0,!1,{fileName:$,lineNumber:85,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.rulesDescription},void 0,!1,{fileName:$,lineNumber:88,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:77,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.equipmentTitle},void 0,!1,{fileName:$,lineNumber:95,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.equipmentDescription},void 0,!1,{fileName:$,lineNumber:98,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:94,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.positionsTitle},void 0,!1,{fileName:$,lineNumber:105,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed mb-6`,children:t.unterwasserrugby.positionsDescription},void 0,!1,{fileName:$,lineNumber:108,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-6`,children:[(0,E.jsxDEV)(`div`,{className:`bg-gradient-to-br from-blue-50 to-blue-100 dark:from-blue-900 dark:to-blue-800 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h4`,{className:`text-xl font-bold mb-3 text-blue-700 dark:text-blue-300`,children:`Deckel`},void 0,!1,{fileName:$,lineNumber:114,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200`,children:t.unterwasserrugby.positionDeckel},void 0,!1,{fileName:$,lineNumber:115,columnNumber:17},void 0)]},void 0,!0,{fileName:$,lineNumber:113,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`bg-gradient-to-br from-green-50 to-green-100 dark:from-green-900 dark:to-green-800 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h4`,{className:`text-xl font-bold mb-3 text-green-700 dark:text-green-300`,children:`Dackel`},void 0,!1,{fileName:$,lineNumber:118,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200`,children:t.unterwasserrugby.positionDackel},void 0,!1,{fileName:$,lineNumber:119,columnNumber:17},void 0)]},void 0,!0,{fileName:$,lineNumber:117,columnNumber:15},void 0),(0,E.jsxDEV)(`div`,{className:`bg-gradient-to-br from-red-50 to-red-100 dark:from-red-900 dark:to-red-800 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h4`,{className:`text-xl font-bold mb-3 text-red-700 dark:text-red-300`,children:`Strum`},void 0,!1,{fileName:$,lineNumber:122,columnNumber:17},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200`,children:t.unterwasserrugby.positionStrum},void 0,!1,{fileName:$,lineNumber:123,columnNumber:17},void 0)]},void 0,!0,{fileName:$,lineNumber:121,columnNumber:15},void 0)]},void 0,!0,{fileName:$,lineNumber:112,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:104,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.tacticsTitle},void 0,!1,{fileName:$,lineNumber:130,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.tacticsDescription},void 0,!1,{fileName:$,lineNumber:133,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:129,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.techniquesTitle},void 0,!1,{fileName:$,lineNumber:140,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.techniquesDescription},void 0,!1,{fileName:$,lineNumber:143,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:139,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.challengesTitle},void 0,!1,{fileName:$,lineNumber:150,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.challengesDescription},void 0,!1,{fileName:$,lineNumber:153,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:149,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.originTitle},void 0,!1,{fileName:$,lineNumber:160,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.originDescription},void 0,!1,{fileName:$,lineNumber:163,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:159,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.competitionTitle},void 0,!1,{fileName:$,lineNumber:170,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.competitionDescription},void 0,!1,{fileName:$,lineNumber:173,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:169,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-blue-600`,children:t.unterwasserrugby.safetyTitle},void 0,!1,{fileName:$,lineNumber:180,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed`,children:t.unterwasserrugby.safetyDescription},void 0,!1,{fileName:$,lineNumber:183,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:179,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{className:`bg-gradient-to-r from-purple-50 to-pink-50 dark:from-purple-900 dark:to-pink-900 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-4 dark:text-white text-purple-600`,children:t.unterwasserrugby.linupPlannerTitle},void 0,!1,{fileName:$,lineNumber:190,columnNumber:13},void 0),(0,E.jsxDEV)(`p`,{className:`text-gray-700 dark:text-gray-200 text-lg leading-relaxed mb-4`,children:t.unterwasserrugby.linupPlannerDescription},void 0,!1,{fileName:$,lineNumber:193,columnNumber:13},void 0),(0,E.jsxDEV)(`a`,{href:`https://uwr-plan.de`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-2 bg-purple-600 text-white px-6 py-3 rounded-lg hover:bg-purple-700 transition-colors duration-200 font-semibold`,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14`},void 0,!1,{fileName:$,lineNumber:203,columnNumber:17},void 0)},void 0,!1,{fileName:$,lineNumber:202,columnNumber:15},void 0),t.unterwasserrugby.linupPlannerLink]},void 0,!0,{fileName:$,lineNumber:196,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:189,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{className:`bg-gray-50 dark:bg-gray-800 p-6 rounded-lg`,children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-6 dark:text-white text-blue-600`,children:t.unterwasserrugby.officialResourcesTitle},void 0,!1,{fileName:$,lineNumber:211,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4`,children:[(0,E.jsxDEV)(`button`,{onClick:()=>a(`https://www.vdst.de/zeigen/leistungssport/unterwasser-rugby/`),className:`flex items-center gap-2 bg-blue-600 text-white px-4 py-3 rounded-lg hover:bg-blue-700 transition-colors duration-200 text-center cursor-pointer`,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14`},void 0,!1,{fileName:$,lineNumber:220,columnNumber:19},void 0)},void 0,!1,{fileName:$,lineNumber:219,columnNumber:17},void 0),t.unterwasserrugby.vdstMainPage]},void 0,!0,{fileName:$,lineNumber:215,columnNumber:15},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>a(`https://www.vdst.de/download/regelwerk-uwr-2020/?tmstv=1748177877`),className:`flex items-center gap-2 bg-green-600 text-white px-4 py-3 rounded-lg hover:bg-green-700 transition-colors duration-200 text-center cursor-pointer`,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`},void 0,!1,{fileName:$,lineNumber:229,columnNumber:19},void 0)},void 0,!1,{fileName:$,lineNumber:228,columnNumber:17},void 0),t.unterwasserrugby.officialRules]},void 0,!0,{fileName:$,lineNumber:224,columnNumber:15},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>a(`https://www.vdst.de/download/wettkampfordnung-uwr/?tmstv=1748177877`),className:`flex items-center gap-2 bg-yellow-600 text-white px-4 py-3 rounded-lg hover:bg-yellow-700 transition-colors duration-200 text-center cursor-pointer`,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`},void 0,!1,{fileName:$,lineNumber:238,columnNumber:19},void 0)},void 0,!1,{fileName:$,lineNumber:237,columnNumber:17},void 0),t.unterwasserrugby.competitionRules]},void 0,!0,{fileName:$,lineNumber:233,columnNumber:15},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>a(`https://www.vdst.de/download/schiedsrichterordnung-uwr/?tmstv=1748177877`),className:`flex items-center gap-2 bg-red-600 text-white px-4 py-3 rounded-lg hover:bg-red-700 transition-colors duration-200 text-center cursor-pointer`,children:[(0,E.jsxDEV)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,className:`h-5 w-5`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,children:(0,E.jsxDEV)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`},void 0,!1,{fileName:$,lineNumber:247,columnNumber:19},void 0)},void 0,!1,{fileName:$,lineNumber:246,columnNumber:17},void 0),t.unterwasserrugby.refereeRules]},void 0,!0,{fileName:$,lineNumber:242,columnNumber:15},void 0)]},void 0,!0,{fileName:$,lineNumber:214,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:210,columnNumber:11},void 0),(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`text-2xl font-semibold mb-6 dark:text-white text-blue-600`,children:t.unterwasserrugby.videos},void 0,!1,{fileName:$,lineNumber:256,columnNumber:13},void 0),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[{url:`/video/unterwasserrugby1.mp4`,title:t.unterwasserrugby.video1Title},{url:`/video/unterwasserrugby2.mp4`,title:t.unterwasserrugby.video2Title}].map((e,t)=>(0,E.jsxDEV)(`div`,{className:`bg-gray-50 dark:bg-gray-800 rounded-lg p-4 shadow-md transition-transform hover:scale-[1.01]`,children:[(0,E.jsxDEV)(`h4`,{className:`text-lg font-semibold mb-2 dark:text-white`,children:e.title},void 0,!1,{fileName:$,lineNumber:271,columnNumber:19},void 0),(0,E.jsxDEV)(`div`,{className:`aspect-video`,children:(0,E.jsxDEV)(`video`,{controls:!0,width:`100%`,height:`100%`,src:e.url,title:e.title,className:`rounded`,children:`Your browser does not support the video tag.`},void 0,!1,{fileName:$,lineNumber:273,columnNumber:21},void 0)},void 0,!1,{fileName:$,lineNumber:272,columnNumber:19},void 0)]},t,!0,{fileName:$,lineNumber:270,columnNumber:17},void 0))},void 0,!1,{fileName:$,lineNumber:259,columnNumber:13},void 0)]},void 0,!0,{fileName:$,lineNumber:255,columnNumber:11},void 0)]},void 0,!0,{fileName:$,lineNumber:56,columnNumber:9},void 0)]},void 0,!0,{fileName:$,lineNumber:32,columnNumber:7},void 0),(0,E.jsxDEV)(bj,{url:n||``,isOpen:n!==null,onClose:()=>r(null),onConfirm:()=>{n&&(window.open(n,`_blank`,`noopener,noreferrer`),r(null))}},void 0,!1,{fileName:$,lineNumber:291,columnNumber:7},void 0)]},void 0,!0,{fileName:$,lineNumber:31,columnNumber:5},void 0)},fG=`/opt/src/frontend/src/App.tsx`,pG=({element:e})=>{let{isAuthenticated:t}=Zn(),n=window.location;return t?(0,E.jsxDEV)(e,{},void 0,!1,{fileName:fG,lineNumber:42,columnNumber:10},void 0):(sessionStorage.setItem(`redirectAfterLogin`,n.pathname+n.search),(0,E.jsxDEV)(Gt,{to:`/login`,replace:!0},void 0,!1,{fileName:fG,lineNumber:39,columnNumber:12},void 0))},mG=()=>{let e=xt();return(0,E.jsxDEV)(`div`,{className:`text-center mt-8`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold mb-4`,children:`Login Error`},void 0,!1,{fileName:fG,lineNumber:50,columnNumber:7},void 0),(0,E.jsxDEV)(`p`,{children:`There was an error during the login process. Please try again.`},void 0,!1,{fileName:fG,lineNumber:51,columnNumber:7},void 0),(0,E.jsxDEV)(`button`,{onClick:()=>e(`/login`),className:`mt-4 bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 roun
1884ded`,children:`Back to Login`},void 0,!1,{fileName:fG,lineNumber:52,columnNumber:7},void 0)]},void 0,!0,{fileName:fG,lineNumber:49,columnNumber:5},void 0)},hG=()=>{let{isDarkMode:e,isRainbowMode:t}=or();return(0,E.jsxDEV)(`div`,{className:`App ${e?`dark`:``} ${t?`rainbow-mode`:``} min-h-screen w-full flex flex-col bg-white dark:bg-gray-900 transition-colors duration-200`,children:[(0,E.jsxDEV)(ga,{},void 0,!1,{fileName:fG,lineNumber:71,columnNumber:7},void 0),(0,E.jsxDEV)(`main`,{className:`flex-grow w-full flex justify-center pt-20 pb-8`,children:(0,E.jsxDEV)(`div`,{className:`w-[95%] max-w-[2000px]`,children:(0,E.jsxDEV)(Jt,{children:[(0,E.jsxDEV)(Kt,{path:`/`,element:(0,E.jsxDEV)(Da,{},void 0,!1,{fileName:fG,lineNumber:75,columnNumber:38},void 0)},void 0,!1,{fileName:fG,lineNumber:75,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/blog`,element:(0,E.jsxDEV)(Da,{},void 0,!1,{fileName:fG,lineNumber:76,columnNumber:42},void 0)},void 0,!1,{fileName:fG,lineNumber:76,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/blog/:postId`,element:(0,E.jsxDEV)(Da,{},void 0,!1,{fileName:fG,lineNumber:77,columnNumber:50},void 0)},void 0,!1,{fileName:fG,lineNumber:77,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/blog/new`,element:(0,E.jsxDEV)(pG,{element:tT},void 0,!1,{fileName:fG,lineNumber:78,columnNumber:46},void 0)},void 0,!1,{fileName:fG,lineNumber:78,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/blog/edit/:postId`,element:(0,E.jsxDEV)(pG,{element:tT},void 0,!1,{fileName:fG,lineNumber:79,columnNumber:55},void 0)},void 0,!1,{fileName:fG,lineNumber:79,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/divers`,element:(0,E.jsxDEV)(rT,{},void 0,!1,{fileName:fG,lineNumber:80,columnNumber:44},void 0)},void 0,!1,{fileName:fG,lineNumber:80,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/divers/drones`,element:(0,E.jsxDEV)(sG,{},void 0,!1,{fileName:fG,lineNumber:81,columnNumber:51},void 0)},void 0,!1,{fileName:fG,lineNumber:81,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/divers/webcams`,element:(0,E.jsxDEV)(oG,{},void 0,!1,{fileName:fG,lineNumber:82,columnNumber:52},void 0)},void 0,!1,{fileName:fG,lineNumber:82,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/divers/3d-printers`,element:(0,E.jsxDEV)(cG,{},void 0,!1,{fileName:fG,lineNumber:83,columnNumber:56},void 0)},void 0,!1,{fileName:fG,lineNumber:83,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/divers/machine-learning`,element:(0,E.jsxDEV)(uG,{},void 0,!1,{fileName:fG,lineNumber:84,columnNumber:61},void 0)},void 0,!1,{fileName:fG,lineNumber:84,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/uwr`,element:(0,E.jsxDEV)(dG,{},void 0,!1,{fileName:fG,lineNumber:85,columnNumber:41},void 0)},void 0,!1,{fileName:fG,lineNumber:85,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/game`,element:(0,E.jsxDEV)(lT,{},void 0,!1,{fileName:fG,lineNumber:86,columnNumber:42},void 0)},void 0,!1,{fileName:fG,lineNumber:86,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/services`,element:(0,E.jsxDEV)(fT,{},void 0,!1,{fileName:fG,lineNumber:87,columnNumber:46},void 0)},void 0,!1,{fileName:fG,lineNumber:87,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/about`,element:(0,E.jsxDEV)(kj,{},void 0,!1,{fileName:fG,lineNumber:88,columnNumber:43},void 0)},void 0,!1,{fileName:fG,lineNumber:88,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/login`,element:(0,E.jsxDEV)(jj,{},void 0,!1,{fileName:fG,lineNumber:89,columnNumber:43},void 0)},void 0,!1,{fileName:fG,lineNumber:89,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/callback`,element:(0,E.jsxDEV)(jj,{},void 0,!1,{fileName:fG,lineNumber:90,columnNumber:46},void 0)},void 0,!1,{fileName:fG,lineNumber:90,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/login-error`,element:(0,E.jsxDEV)(mG,{},void 0,!1,{fileName:fG,lineNumber:91,columnNumber:49},void 0)},void 0,!1,{fileName:fG,lineNumber:91,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/projects`,element:(0,E.jsxDEV)(jN,{},void 0,!1,{fileName:fG,lineNumber:92,columnNumber:46},void 0)},void 0,!1,{fileName:fG,lineNumber:92,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/projects/:projectSlug`,element:(0,E.jsxDEV)(jN,{},void 0,!1,{fileName:fG,lineNumber:93,columnNumber:59},void 0)},void 0,!1,{fileName:fG,lineNumber:93,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/impressum`,element:(0,E.jsxDEV)(LN,{},void 0,!1,{fileName:fG,lineNumber:94,columnNumber:47},void 0)},void 0,!1,{fileName:fG,lineNumber:94,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/datenschutz`,element:(0,E.jsxDEV)(RN,{},void 0,!1,{fileName:fG,lineNumber:95,columnNumber:49},void 0)},void 0,!1,{fileName:fG,lineNumber:95,columnNumber:13},void 0),(0,E.jsxDEV)(Kt,{path:`/profile`,element:(0,E.jsxDEV)(pG,{element:CN},void 0,!1,{fileName:fG,lineNumber:96,columnNumber:45},void 0)},void 0,!1,{fileName:fG,lineNumber:96,columnNumber:13},void 0)]},void 0,!0,{fileName:fG,lineNumber:74,columnNumber:11},void 0)},void 0,!1,{fileName:fG,lineNumber:73,columnNumber:9},void 0)},void 0,!1,{fileName:fG,lineNumber:72,columnNumber:7},void 0),(0,E.jsxDEV)(va,{},void 0,!1,{fileName:fG,lineNumber:100,columnNumber:7},void 0)]},void 0,!0,{fileName:fG,lineNumber:66,columnNumber:5},void 0)},gG=({children:e})=>(0,E.jsxDEV)(Xn,{children:(0,E.jsxDEV)(nr,{children:(0,E.jsxDEV)(sr,{children:(0,E.jsxDEV)(fr,{children:e},void 0,!1,{fileName:fG,lineNumber:111,columnNumber:9},void 0)},void 0,!1,{fileName:fG,lineNumber:110,columnNumber:7},void 0)},void 0,!1,{fileName:fG,lineNumber:109,columnNumber:5},void 0)},void 0,!1,{fileName:fG,lineNumber:108,columnNumber:3},void 0),_G=()=>(0,E.jsxDEV)(gG,{children:(0,E.jsxDEV)(hG,{},void 0,!1,{fileName:fG,lineNumber:121,columnNumber:5},void 0)},void 0,!1,{fileName:fG,lineNumber:120,columnNumber:3},void 0),vG=`/opt/src/frontend/src/components/ErrorBoundary.tsx`,yG=class extends S.Component{state={hasError:!1,error:null};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`Uncaught error:`,e,t.componentStack)}render(){return this.state.hasError?this.props.fallback??(0,E.jsxDEV)(`div`,{className:`min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-900`,children:(0,E.jsxDEV)(`div`,{className:`text-center p-8 bg-white dark:bg-gray-800 rounded-xl shadow-lg border border-gray-100 dark:border-gray-700 max-w-md`,children:[(0,E.jsxDEV)(`h2`,{className:`text-2xl font-bold text-gray-900 dark:text-white mb-4`,children:`Something went wrong`},void 0,!1,{fileName:vG,lineNumber:29,columnNumber:13},this),(0,E.jsxDEV)(`p`,{className:`text-gray-600 dark:text-gray-400 mb-6`,children:`An unexpected error occurred. Please reload the page.`},void 0,!1,{fileName:vG,lineNumber:30,columnNumber:13},this),(0,E.jsxDEV)(`button`,{onClick:()=>window.location.reload(),className:`px-6 py-3 bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors duration-200`,children:`Reload page`},void 0,!1,{fileName:vG,lineNumber:33,columnNumber:13},this)]},void 0,!0,{fileName:vG,lineNumber:28,columnNumber:11},this)},void 0,!1,{fileName:vG,lineNumber:27,columnNumber:9},this):this.props.children}},bG=`/opt/src/frontend/src/main.tsx`;(0,Gn.createRoot)(document.getElementById(`root`)).render((0,E.jsxDEV)(S.StrictMode,{children:(0,E.jsxDEV)(yG,{children:(0,E.jsxDEV)(Nn,{children:(0,E.jsxDEV)(_G,{},void 0,!1,{fileName:bG,lineNumber:12,columnNumber:9},void 0)},void 0,!1,{fileName:bG,lineNumber:11,columnNumber:7},void 0)},void 0,!1,{fileName:bG,lineNumber:10,columnNumber:5},void 0)},void 0,!1,{fileName:bG,lineNumber:9,columnNumber:3},void 0));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.