Files
CLIProxyAPI-auto-install-on…/static/management.html
T
2026-08-02 10:00:56 +00:00

171 lines
2.6 MiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-CN" translate="no" class="notranslate">
<head>
<meta charset="UTF-8" />
<meta name="google" content="notranslate" />
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20aria-hidden%3D%22true%22%20role%3D%22img%22%20class%3D%22iconify%20iconify--logos%22%20width%3D%2231.88%22%20height%3D%2232%22%20preserveAspectRatio%3D%22xMidYMid%20meet%22%20viewBox%3D%220%200%20256%20257%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22IconifyId1813088fe1fbc01fb466%22%20x1%3D%22-.828%25%22%20x2%3D%2257.636%25%22%20y1%3D%227.652%25%22%20y2%3D%2278.411%25%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%2341D1FF%22%3E%3C%2Fstop%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23BD34FE%22%3E%3C%2Fstop%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22IconifyId1813088fe1fbc01fb467%22%20x1%3D%2243.376%25%22%20x2%3D%2250.316%25%22%20y1%3D%222.242%25%22%20y2%3D%2289.03%25%22%3E%3Cstop%20offset%3D%220%25%22%20stop-color%3D%22%23FFEA83%22%3E%3C%2Fstop%3E%3Cstop%20offset%3D%228.333%25%22%20stop-color%3D%22%23FFDD35%22%3E%3C%2Fstop%3E%3Cstop%20offset%3D%22100%25%22%20stop-color%3D%22%23FFA800%22%3E%3C%2Fstop%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22url(%23IconifyId1813088fe1fbc01fb466)%22%20d%3D%22M255.153%2037.938L134.897%20252.976c-2.483%204.44-8.862%204.466-11.382.048L.875%2037.958c-2.746-4.814%201.371-10.646%206.827-9.67l120.385%2021.517a6.537%206.537%200%200%200%202.322-.004l117.867-21.483c5.438-.991%209.574%204.796%206.877%209.62Z%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22url(%23IconifyId1813088fe1fbc01fb467)%22%20d%3D%22M185.432.063L96.44%2017.501a3.268%203.268%200%200%200-2.634%203.014l-5.474%2092.456a3.268%203.268%200%200%200%203.997%203.378l24.777-5.718c2.318-.535%204.413%201.507%203.936%203.838l-7.361%2036.047c-.495%202.426%201.782%204.5%204.151%203.78l15.304-4.649c2.372-.72%204.652%201.36%204.15%203.788l-11.698%2056.621c-.732%203.542%203.979%205.473%205.943%202.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505%204.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CLI Proxy API Management Center</title>
<script type="module" crossorigin>var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(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},l=(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},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,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),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var d=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.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`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(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 N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ee(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function P(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=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)},I={map:ee,forEach:function(e,t,n){ee(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ee(e,function(){t++}),t},toArray:function(e){return ee(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=I,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);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];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:P}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),f=s(((e,t)=>{t.exports=d()})),p=s((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(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,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}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`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!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=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,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,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),m=s(((e,t)=>{t.exports=p()})),h=s((e=>{var t=f();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.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){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.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})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.7`})),g=s(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=s((e=>{var t=m(),n=f(),r=g();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(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 c(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 l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var p=Object.assign,h=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function ee(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||``,e=e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?ee(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return ee(e(t))}catch{}}return null}var P=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L={pending:!1,data:null,method:null,action:null},R=[],z=-1;function te(e){return{current:e}}function B(e){0>z||(e.current=R[z],R[z]=null,z--)}function V(e,t){z++,R[z]=e.current,e.current=t}var ne=te(null),re=te(null),ie=te(null),ae=te(null);function oe(e,t){switch(V(ie,t),V(re,e),V(ne,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Yd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Yd(t),e=Xd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}B(ne),V(ne,e)}function se(){B(ne),B(re),B(ie)}function ce(e){e.memoizedState!==null&&V(ae,e);var t=ne.current,n=Xd(t,e.type);t!==n&&(V(re,e),V(ne,n))}function le(e){re.current===e&&(B(ne),B(re)),ae.current===e&&(B(ae),op._currentValue=L)}var ue,de;function fe(e){if(ue===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ue=t&&t[1]||``,de=-1<e.stack.indexOf(`
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
`+ue+e+de}var pe=!1;function me(e,t){if(!e||pe)return``;pe=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={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]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
`),l=s.split(`
`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{pe=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?fe(n):``}function he(e,t){switch(e.tag){case 26:case 27:case 5:return fe(e.type);case 16:return fe(`Lazy`);case 13:return e.child!==t&&t!==null?fe(`Suspense Fallback`):fe(`Suspense`);case 19:return fe(`SuspenseList`);case 0:case 15:return me(e.type,!1);case 11:return me(e.type.render,!1);case 1:return me(e.type,!0);case 31:return fe(`Activity`);default:return``}}function ge(e){try{var t=``,n=null;do t+=he(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
Error generating stack: `+e.message+`
`+e.stack}}var _e=Object.prototype.hasOwnProperty,ve=t.unstable_scheduleCallback,ye=t.unstable_cancelCallback,be=t.unstable_shouldYield,xe=t.unstable_requestPaint,Se=t.unstable_now,Ce=t.unstable_getCurrentPriorityLevel,we=t.unstable_ImmediatePriority,Te=t.unstable_UserBlockingPriority,Ee=t.unstable_NormalPriority,De=t.unstable_LowPriority,Oe=t.unstable_IdlePriority,ke=t.log,Ae=t.unstable_setDisableYieldValue,je=null,Me=null;function Ne(e){if(typeof ke==`function`&&Ae(e),Me&&typeof Me.setStrictMode==`function`)try{Me.setStrictMode(je,e)}catch{}}var Pe=Math.clz32?Math.clz32:Le,Fe=Math.log,Ie=Math.LN2;function Le(e){return e>>>=0,e===0?32:31-(Fe(e)/Ie|0)|0}var Re=256,ze=262144,Be=4194304;function Ve(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;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function He(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=Ve(n))):i=Ve(o):i=Ve(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ve(n))):i=Ve(o)):i=Ve(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 Ue(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function We(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-1}}function Ge(){var e=Be;return Be<<=1,!(Be&62914560)&&(Be=4194304),e}function Ke(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function qe(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Je(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-Pe(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&&Ye(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function Ye(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Pe(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Xe(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Pe(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function Ze(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 $e(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function et(){var e=I.p;return e===0?(e=window.event,e===void 0?32:Sp(e.type)):e}function tt(e,t){var n=I.p;try{return I.p=e,t()}finally{I.p=n}}var nt=Math.random().toString(36).slice(2),rt=`__reactFiber$`+nt,it=`__reactProps$`+nt,at=`__reactContainer$`+nt,ot=`__reactEvents$`+nt,st=`__reactListeners$`+nt,ct=`__reactHandles$`+nt,lt=`__reactResources$`+nt,ut=`__reactMarker$`+nt;function dt(e){delete e[rt],delete e[it],delete e[ot],delete e[st],delete e[ct]}function ft(e){var t=e[rt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[at]||n[rt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=yf(e);e!==null;){if(n=e[rt])return n;e=yf(e)}return t}e=n,n=e.parentNode}return null}function pt(e){if(e=e[rt]||e[at]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function mt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function ht(e){var t=e[lt];return t||(t=e[lt]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function gt(e){e[ut]=!0}var _t=new Set,vt={};function yt(e,t){bt(e,t),bt(e+`Capture`,t)}function bt(e,t){for(vt[e]=t,e=0;e<t.length;e++)_t.add(t[e])}var xt=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]*$`),St={},Ct={};function wt(e){return _e.call(Ct,e)?!0:_e.call(St,e)?!1:xt.test(e)?Ct[e]=!0:(St[e]=!0,!1)}function Tt(e,t,n){if(wt(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}}e.setAttribute(t,``+n)}}function Et(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}e.setAttribute(t,``+n)}}function Dt(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}e.setAttributeNS(t,n,``+r)}}function Ot(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function kt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function At(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){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function jt(e){if(!e._valueTracker){var t=kt(e)?`checked`:`value`;e._valueTracker=At(e,t,``+e[t])}}function Mt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=kt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Nt(e){if(e=e||(typeof document<`u`?document:void 0),e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Pt=/[\n"\\]/g;function Ft(e){return e.replace(Pt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function It(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?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=``+Ot(t)):e.value!==``+Ot(t)&&(e.value=``+Ot(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Rt(e,o,Ot(n)):Rt(e,o,Ot(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`?e.name=``+Ot(s):e.removeAttribute(`name`)}function Lt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){jt(e);return}n=n==null?``:``+Ot(n),t=t==null?n:``+Ot(t),s||t===e.value||(e.value=t),e.defaultValue=t}r=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`&&(e.name=o),jt(e)}function Rt(e,t,n){t===`number`&&Nt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function zt(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=``+Ot(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 Bt(e,t,n){if(t!=null&&(t=``+Ot(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Ot(n)}function Vt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(P(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??(n=``),t=n}n=Ot(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),jt(e)}function Ht(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ut=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(` `));function Wt(e,t,n){var r=t.indexOf(`--`)===0;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||Ut.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Gt(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&Wt(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&Wt(e,o,t[o])}function Kt(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}}var qt=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`],[`clipPath`,`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`]]),Jt=/^[\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;function Yt(e){return Jt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Xt(){}var Zt=null;function Qt(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var $t=null,en=null;function tn(e){var t=pt(e);if(t&&(e=t.stateNode)){var n=e[it]||null;a:switch(e=t.stateNode,t.type){case`input`:if(It(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(n=n.querySelectorAll(`input[name="`+Ft(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[it]||null;if(!a)throw Error(i(90));It(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Mt(r)}break a;case`textarea`:Bt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&zt(e,!!n.multiple,t,!1)}}}var nn=!1;function rn(e,t,n){if(nn)return e(t,n);nn=!0;try{return e(t)}finally{if(nn=!1,($t!==null||en!==null)&&(Du(),$t&&(t=$t,e=en,en=$t=null,tn(t),e)))for(t=0;t<e.length;t++)tn(e[t])}}function an(e,t){var n=e.stateNode;if(n===null)return null;var r=n[it]||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(i(231,t,typeof n));return n}var on=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),sn=!1;if(on)try{var cn={};Object.defineProperty(cn,"passive",{get:function(){sn=!0}}),window.addEventListener(`test`,cn,cn),window.removeEventListener(`test`,cn,cn)}catch{sn=!1}var ln=null,un=null,dn=null;function fn(){if(dn)return dn;var e,t=un,n=t.length,r,i=`value`in ln?ln.value:ln.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 dn=i.slice(e,1<r?1-r:void 0)}function pn(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 mn(){return!0}function hn(){return!1}function gn(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)?mn:hn,this.isPropagationStopped=hn,this}return p(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=mn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=mn)},persist:function(){},isPersistent:mn}),t}var _n={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},vn=gn(_n),yn=p({},_n,{view:0,detail:0}),bn=gn(yn),xn,Sn,Cn,wn=p({},yn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Fn,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!==Cn&&(Cn&&e.type===`mousemove`?(xn=e.screenX-Cn.screenX,Sn=e.screenY-Cn.screenY):Sn=xn=0,Cn=e),xn)},movementY:function(e){return`movementY`in e?e.movementY:Sn}}),Tn=gn(wn),En=gn(p({},wn,{dataTransfer:0})),Dn=gn(p({},yn,{relatedTarget:0})),On=gn(p({},_n,{animationName:0,elapsedTime:0,pseudoElement:0})),kn=gn(p({},_n,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),An=gn(p({},_n,{data:0})),jn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Mn={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`},Nn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Pn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Nn[e])?!!t[e]:!1}function Fn(){return Pn}var In=gn(p({},yn,{key:function(e){if(e.key){var t=jn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=pn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Mn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Fn,charCode:function(e){return e.type===`keypress`?pn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?pn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Ln=gn(p({},wn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Rn=gn(p({},yn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Fn})),zn=gn(p({},_n,{propertyName:0,elapsedTime:0,pseudoElement:0})),Bn=gn(p({},wn,{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})),Vn=gn(p({},_n,{newState:0,oldState:0})),Hn=[9,13,27,32],Un=on&&`CompositionEvent`in window,Wn=null;on&&`documentMode`in document&&(Wn=document.documentMode);var Gn=on&&`TextEvent`in window&&!Wn,Kn=on&&(!Un||Wn&&8<Wn&&11>=Wn),qn=` `,Jn=!1;function Yn(e,t){switch(e){case`keyup`:return Hn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Xn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Zn=!1;function Qn(e,t){switch(e){case`compositionend`:return Xn(t);case`keypress`:return t.which===32?(Jn=!0,qn):null;case`textInput`:return e=t.data,e===qn&&Jn?null:e;default:return null}}function $n(e,t){if(Zn)return e===`compositionend`||!Un&&Yn(e,t)?(e=fn(),dn=un=ln=null,Zn=!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 Kn&&t.locale!==`ko`?null:t.data;default:return null}}var er={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};function tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!er[e.type]:t===`textarea`}function nr(e,t,n,r){$t?en?en.push(r):en=[r]:$t=r,t=Nd(t,`onChange`),0<t.length&&(n=new vn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var rr=null,ir=null;function ar(e){Td(e,0)}function or(e){if(Mt(mt(e)))return e}function sr(e,t){if(e===`change`)return t}var cr=!1;if(on){var lr;if(on){var ur=`oninput`in document;if(!ur){var dr=document.createElement(`div`);dr.setAttribute(`oninput`,`return;`),ur=typeof dr.oninput==`function`}lr=ur}else lr=!1;cr=lr&&(!document.documentMode||9<document.documentMode)}function fr(){rr&&(rr.detachEvent(`onpropertychange`,pr),ir=rr=null)}function pr(e){if(e.propertyName===`value`&&or(ir)){var t=[];nr(t,ir,e,Qt(e)),rn(ar,t)}}function mr(e,t,n){e===`focusin`?(fr(),rr=t,ir=n,rr.attachEvent(`onpropertychange`,pr)):e===`focusout`&&fr()}function hr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return or(ir)}function gr(e,t){if(e===`click`)return or(t)}function _r(e,t){if(e===`input`||e===`change`)return or(t)}function vr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var yr=typeof Object.is==`function`?Object.is:vr;function br(e,t){if(yr(e,t))return!0;if(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(!_e.call(t,i)||!yr(e[i],t[i]))return!1}return!0}function xr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Sr(e,t){var n=xr(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=xr(n)}}function Cr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Cr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Nt(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=Nt(e.document)}return t}function Tr(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`)}var Er=on&&`documentMode`in document&&11>=document.documentMode,Dr=null,Or=null,kr=null,Ar=!1;function jr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ar||Dr==null||Dr!==Nt(r)||(r=Dr,`selectionStart`in r&&Tr(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}),kr&&br(kr,r)||(kr=r,r=Nd(Or,`onSelect`),0<r.length&&(t=new vn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Dr)))}function Mr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Nr={animationend:Mr(`Animation`,`AnimationEnd`),animationiteration:Mr(`Animation`,`AnimationIteration`),animationstart:Mr(`Animation`,`AnimationStart`),transitionrun:Mr(`Transition`,`TransitionRun`),transitionstart:Mr(`Transition`,`TransitionStart`),transitioncancel:Mr(`Transition`,`TransitionCancel`),transitionend:Mr(`Transition`,`TransitionEnd`)},Pr={},Fr={};on&&(Fr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Nr.animationend.animation,delete Nr.animationiteration.animation,delete Nr.animationstart.animation),`TransitionEvent`in window||delete Nr.transitionend.transition);function Ir(e){if(Pr[e])return Pr[e];if(!Nr[e])return e;var t=Nr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Fr)return Pr[e]=t[n];return e}var Lr=Ir(`animationend`),Rr=Ir(`animationiteration`),zr=Ir(`animationstart`),Br=Ir(`transitionrun`),Vr=Ir(`transitionstart`),Hr=Ir(`transitioncancel`),Ur=Ir(`transitionend`),Wr=new Map,Gr=`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(` `);Gr.push(`scrollEnd`);function Kr(e,t){Wr.set(e,t),yt(t,[e])}var qr=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)},Jr=[],Yr=0,Xr=0;function Zr(){for(var e=Yr,t=Xr=Yr=0;t<e;){var n=Jr[t];Jr[t++]=null;var r=Jr[t];Jr[t++]=null;var i=Jr[t];Jr[t++]=null;var a=Jr[t];if(Jr[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&&ti(n,i,a)}}function Qr(e,t,n,r){Jr[Yr++]=e,Jr[Yr++]=t,Jr[Yr++]=n,Jr[Yr++]=r,Xr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function $r(e,t,n,r){return Qr(e,t,n,r),ni(e)}function ei(e,t){return Qr(e,null,null,t),ni(e)}function ti(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&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Pe(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function ni(e){if(50<vu)throw vu=0,yu=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var ri={};function ii(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}function ai(e,t,n,r){return new ii(e,t,n,r)}function oi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function si(e,t){var n=e.alternate;return n===null?(n=ai(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),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},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function ci(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.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}),e}function li(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)oi(e)&&(s=1);else if(typeof e==`string`)s=Zf(e,n,ne.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case k:return e=ai(31,n,t,a),e.elementType=k,e.lanes=o,e;case y:return ui(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=ai(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case T:return e=ai(13,n,t,a),e.elementType=T,e.lanes=o,e;case E:return e=ai(19,n,t,a),e.elementType=E,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case D:s=14;break a;case O:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=ai(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function ui(e,t,n,r){return e=ai(7,e,r,t),e.lanes=n,e}function di(e,t,n){return e=ai(6,e,null,t),e.lanes=n,e}function fi(e){var t=ai(18,null,null,0);return t.stateNode=e,t}function pi(e,t,n){return t=ai(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var mi=new WeakMap;function hi(e,t){if(typeof e==`object`&&e){var n=mi.get(e);return n===void 0?(t={value:e,source:t,stack:ge(t)},mi.set(e,t),t):n}return{value:e,source:t,stack:ge(t)}}var gi=[],_i=0,vi=null,yi=0,bi=[],xi=0,Si=null,Ci=1,wi=``;function Ti(e,t){gi[_i++]=yi,gi[_i++]=vi,vi=e,yi=t}function Ei(e,t,n){bi[xi++]=Ci,bi[xi++]=wi,bi[xi++]=Si,Si=e;var r=Ci;e=wi;var i=32-Pe(r)-1;r&=~(1<<i),n+=1;var a=32-Pe(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Ci=1<<32-Pe(t)+i|n<<i|r,wi=a+e}else Ci=1<<a|n<<i|r,wi=e}function Di(e){e.return!==null&&(Ti(e,1),Ei(e,1,0))}function Oi(e){for(;e===vi;)vi=gi[--_i],gi[_i]=null,yi=gi[--_i],gi[_i]=null;for(;e===Si;)Si=bi[--xi],bi[xi]=null,wi=bi[--xi],bi[xi]=null,Ci=bi[--xi],bi[xi]=null}function ki(e,t){bi[xi++]=Ci,bi[xi++]=wi,bi[xi++]=Si,Ci=t.id,wi=t.overflow,Si=e}var Ai=null,ji=null,Mi=!1,Ni=null,Pi=!1,Fi=Error(i(519));function Ii(e){throw Hi(hi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Fi}function Li(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[rt]=e,t[it]=r,n){case`dialog`:Ed(`cancel`,t),Ed(`close`,t);break;case`iframe`:case`object`:case`embed`:Ed(`load`,t);break;case`video`:case`audio`:for(n=0;n<Cd.length;n++)Ed(Cd[n],t);break;case`source`:Ed(`error`,t);break;case`img`:case`image`:case`link`:Ed(`error`,t),Ed(`load`,t);break;case`details`:Ed(`toggle`,t);break;case`input`:Ed(`invalid`,t),Lt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Ed(`invalid`,t);break;case`textarea`:Ed(`invalid`,t),Vt(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||zd(t.textContent,n)?(r.popover!=null&&(Ed(`beforetoggle`,t),Ed(`toggle`,t)),r.onScroll!=null&&Ed(`scroll`,t),r.onScrollEnd!=null&&Ed(`scrollend`,t),r.onClick!=null&&(t.onclick=Xt),t=!0):t=!1,t||Ii(e,!0)}function Ri(e){for(Ai=e.return;Ai;)switch(Ai.tag){case 5:case 31:case 13:Pi=!1;return;case 27:case 3:Pi=!0;return;default:Ai=Ai.return}}function zi(e){if(e!==Ai)return!1;if(!Mi)return Ri(e),Mi=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Zd(e.type,e.memoizedProps)),n=!n),n&&ji&&Ii(e),Ri(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));ji=vf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));ji=vf(e)}else t===27?(t=ji,of(e.type)?(e=_f,_f=null,ji=e):ji=t):ji=Ai?gf(e.stateNode.nextSibling):null;return!0}function Bi(){ji=Ai=null,Mi=!1}function Vi(){var e=Ni;return e!==null&&(iu===null?iu=e:iu.push.apply(iu,e),Ni=null),e}function Hi(e){Ni===null?Ni=[e]:Ni.push(e)}var Ui=te(null),Wi=null,Gi=null;function Ki(e,t,n){V(Ui,t._currentValue),t._currentValue=n}function qi(e){e._currentValue=Ui.current,B(Ui)}function Ji(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}}function Yi(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),Ji(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),Ji(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function Xi(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;yr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ae.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[op]:e.push(op))}a=a.return}e!==null&&Yi(t,e,n,r),t.flags|=262144}function Zi(e){for(e=e.firstContext;e!==null;){if(!yr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Qi(e){Wi=e,Gi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function $i(e){return ta(Wi,e)}function ea(e,t){return Wi===null&&Qi(e),ta(e,t)}function ta(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Gi===null){if(e===null)throw Error(i(308));Gi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Gi=Gi.next=t;return n}var na=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()})}},ra=t.unstable_scheduleCallback,ia=t.unstable_NormalPriority,aa={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function oa(){return{controller:new na,data:new Map,refCount:0}}function sa(e){e.refCount--,e.refCount===0&&ra(ia,function(){e.controller.abort()})}var ca=null,la=0,ua=0,da=null;function fa(e,t){if(ca===null){var n=ca=[];la=0,ua=_d(),da={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return la++,t.then(pa,pa),t}function pa(){if(--la===0&&ca!==null){da!==null&&(da.status=`fulfilled`);var e=ca;ca=null,ua=0,da=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ma(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}var ha=F.S;F.S=function(e,t){su=Se(),typeof t==`object`&&t&&typeof t.then==`function`&&fa(e,t),ha!==null&&ha(e,t)};var ga=te(null);function _a(){var e=ga.current;return e===null?Hl.pooledCache:e}function va(e,t){t===null?V(ga,ga.current):V(ga,t.pool)}function ya(){var e=_a();return e===null?null:{parent:aa._currentValue,pool:e}}var ba=Error(i(460)),xa=Error(i(474)),Sa=Error(i(542)),Ca={then:function(){}};function wa(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Ta(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Xt,Xt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,ka(e),e;default:if(typeof t.status==`string`)t.then(Xt,Xt);else{if(e=Hl,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=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,ka(e),e}throw Da=t,ba}}function Ea(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Da=e,ba):e}}var Da=null;function Oa(){if(Da===null)throw Error(i(459));var e=Da;return Da=null,e}function ka(e){if(e===ba||e===Sa)throw Error(i(483))}var Aa=null,ja=0;function Ma(e){var t=ja;return ja+=1,Aa===null&&(Aa=[]),Ta(Aa,e,t)}function Na(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Pa(e,t){throw t.$$typeof===h?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Fa(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 a(e,t){return e=si(e,t),e.index=0,e.sibling=null,e}function o(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 s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=di(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===O&&Ea(i)===t.type)?(t=a(t,n.props),Na(t,n),t.return=e,t):(t=li(n.type,n.key,n.props,null,e.mode,r),Na(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=pi(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=ui(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=di(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=li(t.type,t.key,t.props,null,e.mode,n),Na(n,t),n.return=e,n;case v:return t=pi(t,e.mode,n),t.return=e,t;case O:return t=Ea(t),f(e,t,n)}if(P(t)||M(t))return t=ui(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Ma(t),n);if(t.$$typeof===C)return f(e,ea(e,t),n);Pa(e,t)}return 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?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case O:return n=Ea(n),p(e,t,n,r)}if(P(n)||M(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Ma(n),r);if(n.$$typeof===C)return p(e,t,ea(e,n),r);Pa(e,n)}return 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,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case O:return r=Ea(r),m(e,t,n,r,i)}if(P(r)||M(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Ma(r),i);if(r.$$typeof===C)return m(e,t,n,ea(t,r),i);Pa(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Mi&&Ti(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Mi&&Ti(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),Mi&&Ti(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),Mi&&Ti(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Mi&&Ti(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),Mi&&Ti(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Ea(l)===r.type){n(e,r.sibling),c=a(r,o.props),Na(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=ui(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=li(o.type,o.key,o.props,null,e.mode,c),Na(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=pi(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Ea(o),b(e,r,o,c)}if(P(o))return h(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ma(o),c);if(o.$$typeof===C)return b(e,r,ea(e,o),c);Pa(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=di(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ja=0;var i=b(e,t,n,r);return Aa=null,i}catch(t){if(t===ba||t===Sa)throw t;var a=ai(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ia=Fa(!0),La=Fa(!1),Ra=!1;function za(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ba(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 Va(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ha(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Vl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ni(e),ti(e,null,n),t}return Qr(e,r,t,n),ni(e)}function Ua(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,Xe(e,n)}}function Wa(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}var Ga=!1;function Ka(){if(Ga){var e=da;if(e!==null)throw e}}function qa(e,t,n,r){Ga=!1;var i=e.updateQueue;Ra=!1;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,m=f!==s.lane;if(m?(Wl&f)===f:(r&f)===f){f!==0&&f===ua&&(Ga=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Ra=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,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),Ql|=o,e.lanes=o,e.memoizedState=d}}function Ja(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Ya(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Ja(n[e],t)}var Xa=te(null),Za=te(0);function Qa(e,t){e=Xl,V(Za,e),V(Xa,t),Xl=e|t.baseLanes}function $a(){V(Za,Xl),V(Xa,Xa.current)}function eo(){Xl=Za.current,B(Xa),B(Za)}var to=te(null),no=null;function ro(e){var t=e.alternate;V(co,co.current&1),V(to,e),no===null&&(t===null||Xa.current!==null||t.memoizedState!==null)&&(no=e)}function io(e){V(co,co.current),V(to,e),no===null&&(no=e)}function ao(e){e.tag===22?(V(co,co.current),V(to,e),no===null&&(no=e)):oo(e)}function oo(){V(co,co.current),V(to,to.current)}function so(e){B(to),no===e&&(no=null),B(co)}var co=te(0);function lo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||pf(n)||mf(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}var uo=0,fo=null,po=null,mo=null,ho=!1,go=!1,_o=!1,vo=0,yo=0,bo=null,xo=0;function So(){throw Error(i(321))}function Co(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!yr(e[n],t[n]))return!1;return!0}function wo(e,t,n,r,i,a){return uo=a,fo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,F.H=e===null||e.memoizedState===null?zs:Bs,_o=!1,a=n(r,i),_o=!1,go&&(a=Eo(t,n,r,i)),To(e),a}function To(e){F.H=Rs;var t=po!==null&&po.next!==null;if(uo=0,mo=po=fo=null,ho=!1,yo=0,bo=null,t)throw Error(i(300));e===null||rc||(e=e.dependencies,e!==null&&Zi(e)&&(rc=!0))}function Eo(e,t,n,r){fo=e;var a=0;do{if(go&&(bo=null),yo=0,go=!1,25<=a)throw Error(i(301));if(a+=1,mo=po=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}F.H=Vs,o=t(n,r)}while(go);return o}function Do(){var e=F.H,t=e.useState()[0];return t=typeof t.then==`function`?Po(t):t,e=e.useState()[0],(po===null?null:po.memoizedState)!==e&&(fo.flags|=1024),t}function Oo(){var e=vo!==0;return vo=0,e}function ko(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Ao(e){if(ho){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ho=!1}uo=0,mo=po=fo=null,go=!1,yo=vo=0,bo=null}function jo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return mo===null?fo.memoizedState=mo=e:mo=mo.next=e,mo}function Mo(){if(po===null){var e=fo.alternate;e=e===null?null:e.memoizedState}else e=po.next;var t=mo===null?fo.memoizedState:mo.next;if(t!==null)mo=t,po=e;else{if(e===null)throw fo.alternate===null?Error(i(467)):Error(i(310));po=e,e={memoizedState:po.memoizedState,baseState:po.baseState,baseQueue:po.baseQueue,queue:po.queue,next:null},mo===null?fo.memoizedState=mo=e:mo=mo.next=e}return mo}function No(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Po(e){var t=yo;return yo+=1,bo===null&&(bo=[]),e=Ta(bo,e,t),t=fo,(mo===null?t.memoizedState:mo.next)===null&&(t=t.alternate,F.H=t===null||t.memoizedState===null?zs:Bs),e}function Fo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Po(e);if(e.$$typeof===C)return $i(e)}throw Error(i(438,String(e)))}function Io(e){var t=null,n=fo.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=fo.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??(t={data:[],index:0}),n===null&&(n=No(),fo.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=A;return t.index++,n}function Lo(e,t){return typeof t==`function`?t(e):t}function Ro(e){return zo(Mo(),po,e)}function zo(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(uo&f)===f:(Wl&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ua&&(d=!0);else if((uo&p)===p){u=u.next,p===ua&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,fo.lanes|=p,Ql|=p;f=u.action,_o&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,fo.lanes|=f,Ql|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!yr(o,e.memoizedState)&&(rc=!0,d&&(n=da,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Bo(e){var t=Mo(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);yr(o,t.memoizedState)||(rc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Vo(e,t,n){var r=fo,a=Mo(),o=Mi;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!yr((po||a).memoizedState,n);if(s&&(a.memoizedState=n,rc=!0),a=a.queue,us(Wo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||mo!==null&&mo.memoizedState.tag&1){if(r.flags|=2048,ss(9,{destroy:void 0},Uo.bind(null,r,a,n,t),null),Hl===null)throw Error(i(349));o||uo&127||Ho(r,t,n)}return n}function Ho(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=fo.updateQueue,t===null?(t=No(),fo.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Uo(e,t,n,r){t.value=n,t.getSnapshot=r,Go(t)&&Ko(e)}function Wo(e,t,n){return n(function(){Go(t)&&Ko(e)})}function Go(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!yr(e,n)}catch{return!0}}function Ko(e){var t=ei(e,2);t!==null&&Su(t,e,2)}function qo(e){var t=jo();if(typeof e==`function`){var n=e;if(e=n(),_o){Ne(!0);try{n()}finally{Ne(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:e},t}function Jo(e,t,n,r){return e.baseState=n,zo(e,po,typeof r==`function`?r:Lo)}function Yo(e,t,n,r,a){if(Fs(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};F.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Xo(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Xo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=F.T,o={};F.T=o;try{var s=n(i,r),c=F.S;c!==null&&c(o,s),Zo(e,t,s)}catch(n){$o(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),F.T=a}}else try{a=n(i,r),Zo(e,t,a)}catch(n){$o(e,t,n)}}function Zo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Qo(e,t,n)},function(n){return $o(e,t,n)}):Qo(e,t,n)}function Qo(e,t,n){t.status=`fulfilled`,t.value=n,es(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Xo(e,n)))}function $o(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,es(t),t=t.next;while(t!==r)}e.action=null}function es(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function ts(e,t){return t}function ns(e,t){if(Mi){var n=Hl.formState;if(n!==null){a:{var r=fo;if(Mi){if(ji){b:{for(var i=ji,a=Pi;i.nodeType!==8;){if(!a){i=null;break b}if(i=gf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){ji=gf(i.nextSibling),r=i.data===`F!`;break a}}Ii(r)}r=!1}r&&(t=n[0])}}return n=jo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ts,lastRenderedState:t},n.queue=r,n=Ms.bind(null,fo,r),r.dispatch=n,r=qo(!1),a=Ps.bind(null,fo,!1,r.queue),r=jo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Yo.bind(null,fo,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function rs(e){return is(Mo(),po,e)}function is(e,t,n){if(t=zo(e,t,ts)[0],e=Ro(Lo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Po(t)}catch(e){throw e===ba?Sa:e}else r=t;t=Mo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(fo.flags|=2048,ss(9,{destroy:void 0},as.bind(null,i,n),null)),[r,a,e]}function as(e,t){e.action=t}function os(e){var t=Mo(),n=po;if(n!==null)return is(t,n,e);Mo(),t=t.memoizedState,n=Mo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ss(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=fo.updateQueue,t===null&&(t=No(),fo.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 cs(){return Mo().memoizedState}function ls(e,t,n,r){var i=jo();fo.flags|=e,i.memoizedState=ss(1|t,{destroy:void 0},n,r===void 0?null:r)}function H(e,t,n,r){var i=Mo();r=r===void 0?null:r;var a=i.memoizedState.inst;po!==null&&r!==null&&Co(r,po.memoizedState.deps)?i.memoizedState=ss(t,a,n,r):(fo.flags|=e,i.memoizedState=ss(1|t,a,n,r))}function U(e,t){ls(8390656,8,e,t)}function us(e,t){H(2048,8,e,t)}function ds(e){fo.flags|=4;var t=fo.updateQueue;if(t===null)t=No(),fo.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function fs(e){var t=Mo().memoizedState;return ds({ref:t,nextImpl:e}),function(){if(Vl&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function ps(e,t){return H(4,2,e,t)}function ms(e,t){return H(4,4,e,t)}function hs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function gs(e,t,n){n=n==null?null:n.concat([e]),H(4,4,hs.bind(null,t,e),n)}function _s(){}function vs(e,t){var n=Mo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Co(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ys(e,t){var n=Mo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Co(t,r[1]))return r[0];if(r=e(),_o){Ne(!0);try{e()}finally{Ne(!1)}}return n.memoizedState=[r,t],r}function bs(e,t,n){return n===void 0||uo&1073741824&&!(Wl&261930)?e.memoizedState=t:(e.memoizedState=n,e=xu(),fo.lanes|=e,Ql|=e,n)}function xs(e,t,n,r){return yr(n,t)?n:Xa.current===null?!(uo&42)||uo&1073741824&&!(Wl&261930)?(rc=!0,e.memoizedState=n):(e=xu(),fo.lanes|=e,Ql|=e,t):(e=bs(e,n,r),yr(e,t)||(rc=!0),e)}function Ss(e,t,n,r,i){var a=I.p;I.p=a!==0&&8>a?a:8;var o=F.T,s={};F.T=s,Ps(e,!1,t,n);try{var c=i(),l=F.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ns(e,t,ma(c,r),bu(e)):Ns(e,t,r,bu(e))}catch(n){Ns(e,t,{then:function(){},status:`rejected`,reason:n},bu())}finally{I.p=a,o!==null&&s.types!==null&&(o.types=s.types),F.T=o}}function Cs(){}function ws(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Ts(e).queue;Ss(e,a,t,L,n===null?Cs:function(){return Es(e),n(r)})}function Ts(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:L,baseState:L,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:L},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Lo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Es(e){var t=Ts(e);t.next===null&&(t=e.alternate.memoizedState),Ns(e,t.next.queue,{},bu())}function Ds(){return $i(op)}function Os(){return Mo().memoizedState}function ks(){return Mo().memoizedState}function As(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=bu();e=Va(n);var r=Ha(t,e,n);r!==null&&(Su(r,t,n),Ua(r,t,n)),t={cache:oa()},e.payload=t;return}t=t.return}}function js(e,t,n){var r=bu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fs(e)?Is(t,n):(n=$r(e,t,n,r),n!==null&&(Su(n,e,r),Ls(n,t,r)))}function Ms(e,t,n){Ns(e,t,n,bu())}function Ns(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Fs(e))Is(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,yr(s,o))return Qr(e,t,i,0),Hl===null&&Zr(),!1}catch{}if(n=$r(e,t,i,r),n!==null)return Su(n,e,r),Ls(n,t,r),!0}return!1}function Ps(e,t,n,r){if(r={lane:2,revertLane:_d(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Fs(e)){if(t)throw Error(i(479))}else t=$r(e,n,r,2),t!==null&&Su(t,e,2)}function Fs(e){var t=e.alternate;return e===fo||t!==null&&t===fo}function Is(e,t){go=ho=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ls(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Xe(e,n)}}var Rs={readContext:$i,use:Fo,useCallback:So,useContext:So,useEffect:So,useImperativeHandle:So,useLayoutEffect:So,useInsertionEffect:So,useMemo:So,useReducer:So,useRef:So,useState:So,useDebugValue:So,useDeferredValue:So,useTransition:So,useSyncExternalStore:So,useId:So,useHostTransitionStatus:So,useFormState:So,useActionState:So,useOptimistic:So,useMemoCache:So,useCacheRefresh:So};Rs.useEffectEvent=So;var zs={readContext:$i,use:Fo,useCallback:function(e,t){return jo().memoizedState=[e,t===void 0?null:t],e},useContext:$i,useEffect:U,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ls(4194308,4,hs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ls(4194308,4,e,t)},useInsertionEffect:function(e,t){ls(4,2,e,t)},useMemo:function(e,t){var n=jo();t=t===void 0?null:t;var r=e();if(_o){Ne(!0);try{e()}finally{Ne(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=jo();if(n!==void 0){var i=n(t);if(_o){Ne(!0);try{n(t)}finally{Ne(!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=js.bind(null,fo,e),[r.memoizedState,e]},useRef:function(e){var t=jo();return e={current:e},t.memoizedState=e},useState:function(e){e=qo(e);var t=e.queue,n=Ms.bind(null,fo,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_s,useDeferredValue:function(e,t){return bs(jo(),e,t)},useTransition:function(){var e=qo(!1);return e=Ss.bind(null,fo,e.queue,!0,!1),jo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=fo,a=jo();if(Mi){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Hl===null)throw Error(i(349));Wl&127||Ho(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,U(Wo.bind(null,r,o,e),[e]),r.flags|=2048,ss(9,{destroy:void 0},Uo.bind(null,r,o,n,t),null),n},useId:function(){var e=jo(),t=Hl.identifierPrefix;if(Mi){var n=wi,r=Ci;n=(r&~(1<<32-Pe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=vo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=xo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Ds,useFormState:ns,useActionState:ns,useOptimistic:function(e){var t=jo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ps.bind(null,fo,!0,n),n.dispatch=t,[e,t]},useMemoCache:Io,useCacheRefresh:function(){return jo().memoizedState=As.bind(null,fo)},useEffectEvent:function(e){var t=jo(),n={impl:e};return t.memoizedState=n,function(){if(Vl&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Bs={readContext:$i,use:Fo,useCallback:vs,useContext:$i,useEffect:us,useImperativeHandle:gs,useInsertionEffect:ps,useLayoutEffect:ms,useMemo:ys,useReducer:Ro,useRef:cs,useState:function(){return Ro(Lo)},useDebugValue:_s,useDeferredValue:function(e,t){return xs(Mo(),po.memoizedState,e,t)},useTransition:function(){var e=Ro(Lo)[0],t=Mo().memoizedState;return[typeof e==`boolean`?e:Po(e),t]},useSyncExternalStore:Vo,useId:Os,useHostTransitionStatus:Ds,useFormState:rs,useActionState:rs,useOptimistic:function(e,t){return Jo(Mo(),po,e,t)},useMemoCache:Io,useCacheRefresh:ks};Bs.useEffectEvent=fs;var Vs={readContext:$i,use:Fo,useCallback:vs,useContext:$i,useEffect:us,useImperativeHandle:gs,useInsertionEffect:ps,useLayoutEffect:ms,useMemo:ys,useReducer:Bo,useRef:cs,useState:function(){return Bo(Lo)},useDebugValue:_s,useDeferredValue:function(e,t){var n=Mo();return po===null?bs(n,e,t):xs(n,po.memoizedState,e,t)},useTransition:function(){var e=Bo(Lo)[0],t=Mo().memoizedState;return[typeof e==`boolean`?e:Po(e),t]},useSyncExternalStore:Vo,useId:Os,useHostTransitionStatus:Ds,useFormState:os,useActionState:os,useOptimistic:function(e,t){var n=Mo();return po===null?(n.baseState=e,[e,n.queue.dispatch]):Jo(n,po,e,t)},useMemoCache:Io,useCacheRefresh:ks};Vs.useEffectEvent=fs;function Hs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:p({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Us={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=bu(),i=Va(r);i.payload=t,n!=null&&(i.callback=n),t=Ha(e,i,r),t!==null&&(Su(t,e,r),Ua(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=bu(),i=Va(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ha(e,i,r),t!==null&&(Su(t,e,r),Ua(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=bu(),r=Va(n);r.tag=2,t!=null&&(r.callback=t),t=Ha(e,r,n),t!==null&&(Su(t,e,n),Ua(t,e,n))}};function Ws(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!br(n,r)||!br(i,a):!0}function Gs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Us.enqueueReplaceState(t,t.state,null)}function Ks(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=p({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function qs(e){qr(e)}function Js(e){console.error(e)}function Ys(e){qr(e)}function Xs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Zs(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Qs(e,t,n){return n=Va(n),n.tag=3,n.payload={element:null},n.callback=function(){Xs(e,t)},n}function $s(e){return e=Va(e),e.tag=3,e}function ec(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(){Zs(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Zs(t,n,r),typeof i!=`function`&&(uu===null?uu=new Set([this]):uu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function tc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Xi(t,n,a,!0),n=to.current,n!==null){switch(n.tag){case 31:case 13:return no===null?Pu():n.alternate===null&&Zl===0&&(Zl=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Ca?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Qu(e,r,a)),!1;case 22:return n.flags|=65536,r===Ca?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)),Qu(e,r,a)),!1}throw Error(i(435,n.tag))}return Qu(e,r,a),Pu(),!1}if(Mi)return t=to.current,t===null?(r!==Fi&&(t=Error(i(423),{cause:r}),Hi(hi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=hi(r,n),a=Qs(e.stateNode,r,a),Wa(e,a),Zl!==4&&(Zl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Fi&&(e=Error(i(422),{cause:r}),Hi(hi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=hi(o,n),ru===null?ru=[o]:ru.push(o),Zl!==4&&(Zl=2),t===null)return!0;r=hi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Qs(n.stateNode,r,e),Wa(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(uu===null||!uu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=$s(a),ec(a,e,n,r),Wa(n,a),!1}n=n.return}while(n!==null);return!1}var nc=Error(i(461)),rc=!1;function ic(e,t,n,r){t.child=e===null?La(t,null,n,r):Ia(t,e.child,n,r)}function ac(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 Qi(t),r=wo(e,t,n,o,a,i),s=Oo(),e!==null&&!rc?(ko(e,t,i),kc(e,t,i)):(Mi&&s&&Di(t),t.flags|=1,ic(e,t,r,i),t.child)}function oc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!oi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,sc(e,t,a,r,i)):(e=li(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Ac(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?br:n,n(o,r)&&e.ref===t.ref)return kc(e,t,i)}return t.flags|=1,e=si(a,r),e.ref=t.ref,e.return=t,t.child=e}function sc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(br(a,r)&&e.ref===t.ref)if(rc=!1,t.pendingProps=r=a,Ac(e,i))e.flags&131072&&(rc=!0);else return t.lanes=e.lanes,kc(e,t,i)}return hc(e,t,n,r,i)}function cc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_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 uc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&va(t,a===null?null:a.cachePool),a===null?$a():Qa(t,a),ao(t);else return r=t.lanes=536870912,uc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&va(t,null),$a(),oo(t)):(va(t,a.cachePool),Qa(t,a),oo(t),t.memoizedState=null);return ic(e,t,i,n),t.child}function lc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function uc(e,t,n,r,i){var a=_a();return a=a===null?null:{parent:aa._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&va(t,null),$a(),ao(t),e!==null&&Xi(e,t,r,!0),t.childLanes=i,null}function dc(e,t){return t=wc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function fc(e,t,n){return Ia(t,e.child,null,n),e=dc(t,t.pendingProps),e.flags|=2,so(t),t.memoizedState=null,e}function pc(e,t,n){var r=t.pendingProps,a=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(Mi){if(r.mode===`hidden`)return e=dc(t,r),t.lanes=536870912,lc(null,e);if(io(t),(e=ji)?(e=ff(e,Pi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Si===null?null:{id:Ci,overflow:wi},retryLane:536870912,hydrationErrors:null},n=fi(e),n.return=t,t.child=n,Ai=t,ji=null)):e=null,e===null)throw Ii(t);return t.lanes=536870912,null}return dc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(io(t),a)if(t.flags&256)t.flags&=-257,t=fc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558));else if(rc||Xi(e,t,n,!1),a=(n&e.childLanes)!==0,rc||a){if(r=Hl,r!==null&&(s=Ze(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,ei(e,s),Su(r,e,s),nc;Pu(),t=fc(e,t,n)}else e=o.treeContext,ji=gf(s.nextSibling),Ai=t,Mi=!0,Ni=null,Pi=!1,e!==null&&ki(t,e),t=dc(t,r),t.flags|=4096;return t}return e=si(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function mc(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(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function hc(e,t,n,r,i){return Qi(t),n=wo(e,t,n,r,void 0,i),r=Oo(),e!==null&&!rc?(ko(e,t,i),kc(e,t,i)):(Mi&&r&&Di(t),t.flags|=1,ic(e,t,n,i),t.child)}function gc(e,t,n,r,i,a){return Qi(t),t.updateQueue=null,n=Eo(t,r,n,i),To(e),r=Oo(),e!==null&&!rc?(ko(e,t,a),kc(e,t,a)):(Mi&&r&&Di(t),t.flags|=1,ic(e,t,n,a),t.child)}function _c(e,t,n,r,i){if(Qi(t),t.stateNode===null){var a=ri,o=n.contextType;typeof o==`object`&&o&&(a=$i(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Us,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},za(t),o=n.contextType,a.context=typeof o==`object`&&o?$i(o):ri,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Hs(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&&Us.enqueueReplaceState(a,a.state,null),qa(t,r,a,i),Ka(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Ks(n,s);a.props=c;var l=a.context,u=n.contextType;o=ri,typeof u==`object`&&u&&(o=$i(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Gs(t,a,r,o),Ra=!1;var f=t.memoizedState;a.state=f,qa(t,r,a,i),Ka(),l=t.memoizedState,s||f!==l||Ra?(typeof d==`function`&&(Hs(t,n,d,r),l=t.memoizedState),(c=Ra||Ws(t,n,c,r,f,l,o))?(u||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)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ba(e,t),o=t.memoizedProps,u=Ks(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=ri,typeof l==`object`&&l&&(c=$i(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Gs(t,a,r,c),Ra=!1,f=t.memoizedState,a.state=f,qa(t,r,a,i),Ka();var p=t.memoizedState;o!==d||f!==p||Ra||e!==null&&e.dependencies!==null&&Zi(e.dependencies)?(typeof s==`function`&&(Hs(t,n,s,r),p=t.memoizedState),(u=Ra||Ws(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Zi(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,mc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ia(t,e.child,null,i),t.child=Ia(t,null,n,i)):ic(e,t,n,i),t.memoizedState=a.state,e=t.child):e=kc(e,t,i),e}function vc(e,t,n,r){return Bi(),t.flags|=256,ic(e,t,n,r),t.child}var yc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function bc(e){return{baseLanes:e,cachePool:ya()}}function xc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=tu),e}function Sc(e,t,n){var r=t.pendingProps,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(co.current&2)!=0),s&&(a=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(Mi){if(a?ro(t):oo(t),(e=ji)?(e=ff(e,Pi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Si===null?null:{id:Ci,overflow:wi},retryLane:536870912,hydrationErrors:null},n=fi(e),n.return=t,t.child=n,Ai=t,ji=null)):e=null,e===null)throw Ii(t);return mf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(oo(t),a=t.mode,c=wc({mode:`hidden`,children:c},a),r=ui(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=bc(n),r.childLanes=xc(e,s,n),t.memoizedState=yc,lc(null,r)):(ro(t),Cc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(ro(t),t.flags&=-257,t=Tc(e,t,n)):t.memoizedState===null?(oo(t),c=r.fallback,a=t.mode,r=wc({mode:`visible`,children:r.children},a),c=ui(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ia(t,e.child,null,n),r=t.child,r.memoizedState=bc(n),r.childLanes=xc(e,s,n),t.memoizedState=yc,t=lc(null,r)):(oo(t),t.child=e.child,t.flags|=128,t=null);else if(ro(t),mf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,Hi({value:r,source:null,stack:null}),t=Tc(e,t,n)}else if(rc||Xi(e,t,n,!1),s=(n&e.childLanes)!==0,rc||s){if(s=Hl,s!==null&&(r=Ze(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,ei(e,r),Su(s,e,r),nc;pf(c)||Pu(),t=Tc(e,t,n)}else pf(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,ji=gf(c.nextSibling),Ai=t,Mi=!0,Ni=null,Pi=!1,e!==null&&ki(t,e),t=Cc(t,r.children),t.flags|=4096);return t}return a?(oo(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=si(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=ui(c,a,n,null),c.flags|=2):c=si(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,lc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=bc(n):(a=c.cachePool,a===null?a=ya():(l=aa._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=xc(e,s,n),t.memoizedState=yc,lc(e.child,r)):(ro(t),n=e.child,e=n.sibling,n=si(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Cc(e,t){return t=wc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function wc(e,t){return e=ai(22,e,null,t),e.lanes=0,e}function Tc(e,t,n){return Ia(t,e.child,null,n),e=Cc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ec(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ji(e.return,t,n)}function Dc(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 Oc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=co.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,V(co,o),ic(e,t,r,n),r=Mi?yi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ec(e,n,t);else if(e.tag===19)Ec(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&&lo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Dc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&lo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Dc(t,!0,n,null,a,r);break;case`together`:Dc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function kc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ql|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Xi(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=si(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=si(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Ac(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Zi(e))):!0}function jc(e,t,n){switch(t.tag){case 3:oe(t,t.stateNode.containerInfo),Ki(t,aa,e.memoizedState.cache),Bi();break;case 27:case 5:ce(t);break;case 4:oe(t,t.stateNode.containerInfo);break;case 10:Ki(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,io(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(ro(t),e=kc(e,t,n),e===null?null:e.sibling):Sc(e,t,n):(ro(t),t.flags|=128,null);ro(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||(Xi(e,t,n,!1),r=(n&t.childLanes)!==0),i){if(r)return Oc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),V(co,co.current),r)break;return null;case 22:return t.lanes=0,cc(e,t,n,t.pendingProps);case 24:Ki(t,aa,e.memoizedState.cache)}return kc(e,t,n)}function Mc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)rc=!0;else{if(!Ac(e,n)&&!(t.flags&128))return rc=!1,jc(e,t,n);rc=!!(e.flags&131072)}else rc=!1,Mi&&t.flags&1048576&&Ei(t,yi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ea(t.elementType),t.type=e,typeof e==`function`)oi(e)?(r=Ks(e,r),t.tag=1,t=_c(null,t,e,r,n)):(t.tag=0,t=hc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=ac(null,t,e,r,n);break a}else if(a===D){t.tag=14,t=oc(null,t,e,r,n);break a}}throw t=ee(e)||e,Error(i(306,t,``))}}return t;case 0:return hc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Ks(r,t.pendingProps),_c(e,t,r,a,n);case 3:a:{if(oe(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,Ba(e,t),qa(t,r,null,n);var s=t.memoizedState;if(r=s.cache,Ki(t,aa,r),r!==o.cache&&Yi(t,[aa],n,!0),Ka(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=vc(e,t,r,n);break a}else if(r!==a){a=hi(Error(i(424)),t),Hi(a),t=vc(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(ji=gf(e.firstChild),Ai=t,Mi=!0,Ni=null,Pi=!0,n=La(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Bi(),r===a){t=kc(e,t,n);break a}ic(e,t,r,n)}t=t.child}return t;case 26:return mc(e,t),e===null?(n=Lf(t.type,null,t.pendingProps,null))?t.memoizedState=n:Mi||(n=t.type,e=t.pendingProps,r=Jd(ie.current).createElement(n),r[rt]=t,r[it]=e,Hd(r,n,e),gt(r),t.stateNode=r):t.memoizedState=Lf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ce(t),e===null&&Mi&&(r=t.stateNode=bf(t.type,t.pendingProps,ie.current),Ai=t,Pi=!0,a=ji,of(t.type)?(_f=a,ji=gf(r.firstChild)):ji=a),ic(e,t,t.pendingProps.children,n),mc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Mi&&((a=r=ji)&&(r=uf(r,t.type,t.pendingProps,Pi),r===null?a=!1:(t.stateNode=r,Ai=t,ji=gf(r.firstChild),Pi=!1,a=!0)),a||Ii(t)),ce(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Zd(a,o)?r=null:s!==null&&Zd(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=wo(e,t,Do,null,null,n),op._currentValue=a),mc(e,t),ic(e,t,r,n),t.child;case 6:return e===null&&Mi&&((e=n=ji)&&(n=df(n,t.pendingProps,Pi),n===null?e=!1:(t.stateNode=n,Ai=t,ji=null,e=!0)),e||Ii(t)),null;case 13:return Sc(e,t,n);case 4:return oe(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ia(t,null,r,n):ic(e,t,r,n),t.child;case 11:return ac(e,t,t.type,t.pendingProps,n);case 7:return ic(e,t,t.pendingProps,n),t.child;case 8:return ic(e,t,t.pendingProps.children,n),t.child;case 12:return ic(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Ki(t,t.type,r.value),ic(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,Qi(t),a=$i(a),r=r(a),t.flags|=1,ic(e,t,r,n),t.child;case 14:return oc(e,t,t.type,t.pendingProps,n);case 15:return sc(e,t,t.type,t.pendingProps,n);case 19:return Oc(e,t,n);case 31:return pc(e,t,n);case 22:return cc(e,t,n,t.pendingProps);case 24:return Qi(t),r=$i(aa),e===null?(a=_a(),a===null&&(a=Hl,o=oa(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},za(t),Ki(t,aa,a)):((e.lanes&n)!==0&&(Ba(e,t),qa(t,null,null,n),Ka()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,Ki(t,aa,r),r!==a.cache&&Yi(t,[aa],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),Ki(t,aa,r))),ic(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Nc(e){e.flags|=4}function Pc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(ju())e.flags|=8192;else throw Da=Ca,xa}else e.flags&=-16777217}function Fc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Qf(t))if(ju())e.flags|=8192;else throw Da=Ca,xa}function Ic(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ge(),e.lanes|=t,nu|=t)}function Lc(e,t){if(!Mi)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 Rc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var 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 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 zc(e,t,n){var r=t.pendingProps;switch(Oi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Rc(t),null;case 1:return Rc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),qi(aa),se(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(zi(t)?Nc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Vi())),Rc(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Nc(t),o===null?(Rc(t),Pc(t,a,null,r,n)):(Rc(t),Fc(t,o))):o?o===e.memoizedState?(Rc(t),t.flags&=-16777217):(Nc(t),Rc(t),Fc(t,o)):(e=e.memoizedProps,e!==r&&Nc(t),Rc(t),Pc(t,a,e,r,n)),null;case 27:if(le(t),n=ie.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Nc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Rc(t),null}e=ne.current,zi(t)?Li(t,e):(e=bf(a,r,n),t.stateNode=e,Nc(t))}return Rc(t),null;case 5:if(le(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Nc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Rc(t),null}if(o=ne.current,zi(t))Li(t,o);else{var s=Jd(ie.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[rt]=t,o[it]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Hd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Nc(t)}}return Rc(t),Pc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Nc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ie.current,zi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=Ai,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[rt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||zd(e.nodeValue,n)),e||Ii(t,!0)}else e=Jd(e).createTextNode(r),e[rt]=t,t.stateNode=e}return Rc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=zi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[rt]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Rc(t),e=!1}else n=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(so(t),t):(so(t),null);if(t.flags&128)throw Error(i(558))}return Rc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=zi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[rt]=t}else Bi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Rc(t),a=!1}else a=Vi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(so(t),t):(so(t),null)}return so(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ic(t,t.updateQueue),Rc(t),null);case 4:return se(),e===null&&kd(t.stateNode.containerInfo),Rc(t),null;case 10:return qi(t.type),Rc(t),null;case 19:if(B(co),r=t.memoizedState,r===null)return Rc(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Lc(r,!1);else{if(Zl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=lo(e),o!==null){for(t.flags|=128,Lc(r,!1),e=o.updateQueue,t.updateQueue=e,Ic(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ci(n,e),n=n.sibling;return V(co,co.current&1|2),Mi&&Ti(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Se()>cu&&(t.flags|=128,a=!0,Lc(r,!1),t.lanes=4194304)}else{if(!a)if(e=lo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Ic(t,e),Lc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Mi)return Rc(t),null}else 2*Se()-r.renderingStartTime>cu&&n!==536870912&&(t.flags|=128,a=!0,Lc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Rc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Se(),e.sibling=null,n=co.current,V(co,a?n&1|2:n&1),Mi&&Ti(t,r.treeForkCount),e);case 22:case 23:return so(t),eo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Rc(t),t.subtreeFlags&6&&(t.flags|=8192)):Rc(t),n=t.updateQueue,n!==null&&Ic(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&&B(ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),qi(aa),Rc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Bc(e,t){switch(Oi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qi(aa),se(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return le(t),null;case 31:if(t.memoizedState!==null){if(so(t),t.alternate===null)throw Error(i(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(so(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return B(co),null;case 4:return se(),null;case 10:return qi(t.type),null;case 22:case 23:return so(t),eo(),e!==null&&B(ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return qi(aa),null;case 25:return null;default:return null}}function Vc(e,t){switch(Oi(t),t.tag){case 3:qi(aa),se();break;case 26:case 27:case 5:le(t);break;case 4:se();break;case 31:t.memoizedState!==null&&so(t);break;case 13:so(t);break;case 19:B(co);break;case 10:qi(t.type);break;case 22:case 23:so(t),eo(),e!==null&&B(ga);break;case 24:qi(aa)}}function Hc(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;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Zu(t,t.return,e)}}function Uc(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;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Zu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Zu(t,t.return,e)}}function Wc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ya(t,n)}catch(t){Zu(e,e.return,t)}}}function Gc(e,t,n){n.props=Ks(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Zu(e,t,n)}}function Kc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Zu(e,t,n)}}function qc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Zu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Zu(e,t,n)}else n.current=null}function Jc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Zu(e,e.return,t)}}function Yc(e,t,n){try{var r=e.stateNode;Ud(r,e.type,n,t),r[it]=t}catch(t){Zu(e,e.return,t)}}function Xc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&of(e.type)||e.tag===4}function Zc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Xc(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&&of(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 Qc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(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=Xt));else if(r!==4&&(r===27&&of(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Qc(e,t,n),e=e.sibling;e!==null;)Qc(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&&of(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 el(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Hd(t,r,n),t[rt]=e,t[it]=n}catch(t){Zu(e,e.return,t)}}var tl=!1,nl=!1,rl=!1,il=typeof WeakSet==`function`?WeakSet:Set,al=null;function ol(e,t){if(e=e.containerInfo,Kd=hp,e=wr(e),Tr(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 a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(qd={focusedElem:e,selectionRange:n},hp=!1,al=t;al!==null;)if(t=al,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,al=e;else for(;al!==null;){switch(t=al,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Ks(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Zu(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)lf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:lf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,al=e;break}al=t.return}}function sl(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Sl(e,n),r&4&&Hc(5,n);break;case 1:if(Sl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Zu(n,n.return,e)}else{var i=Ks(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Zu(n,n.return,e)}}r&64&&Wc(n),r&512&&Kc(n,n.return);break;case 3:if(Sl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Ya(e,t)}catch(e){Zu(n,n.return,e)}}break;case 27:t===null&&r&4&&el(n);case 26:case 5:Sl(e,n),t===null&&r&4&&Jc(n),r&512&&Kc(n,n.return);break;case 12:Sl(e,n);break;case 31:Sl(e,n),r&4&&pl(e,n);break;case 13:Sl(e,n),r&4&&ml(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=td.bind(null,n),hf(e,n))));break;case 22:if(r=n.memoizedState!==null||tl,!r){t=t!==null&&t.memoizedState!==null||nl,i=tl;var a=nl;tl=r,(nl=t)&&!a?wl(e,n,(n.subtreeFlags&8772)!=0):Sl(e,n),tl=i,nl=a}break;case 30:break;default:Sl(e,n)}}function cl(e){var t=e.alternate;t!==null&&(e.alternate=null,cl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&dt(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var ll=null,ul=!1;function dl(e,t,n){for(n=n.child;n!==null;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(Me&&typeof Me.onCommitFiberUnmount==`function`)try{Me.onCommitFiberUnmount(je,n)}catch{}switch(n.tag){case 26:nl||qc(n,t),dl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:nl||qc(n,t);var r=ll,i=ul;of(n.type)&&(ll=n.stateNode,ul=!1),dl(e,t,n),xf(n.stateNode),ll=r,ul=i;break;case 5:nl||qc(n,t);case 6:if(r=ll,i=ul,ll=null,dl(e,t,n),ll=r,ul=i,ll!==null)if(ul)try{(ll.nodeType===9?ll.body:ll.nodeName===`HTML`?ll.ownerDocument.body:ll).removeChild(n.stateNode)}catch(e){Zu(n,t,e)}else try{ll.removeChild(n.stateNode)}catch(e){Zu(n,t,e)}break;case 18:ll!==null&&(ul?(e=ll,sf(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Vp(e)):sf(ll,n.stateNode));break;case 4:r=ll,i=ul,ll=n.stateNode.containerInfo,ul=!0,dl(e,t,n),ll=r,ul=i;break;case 0:case 11:case 14:case 15:Uc(2,n,t),nl||Uc(4,n,t),dl(e,t,n);break;case 1:nl||(qc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Gc(n,t,r)),dl(e,t,n);break;case 21:dl(e,t,n);break;case 22:nl=(r=nl)||n.memoizedState!==null,dl(e,t,n),nl=r;break;default:dl(e,t,n)}}function pl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Vp(e)}catch(e){Zu(t,t.return,e)}}}function ml(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Vp(e)}catch(e){Zu(t,t.return,e)}}function hl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new il),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new il),t;default:throw Error(i(435,e.tag))}}function gl(e,t){var n=hl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=nd.bind(null,e,t);t.then(r,r)}})}function _l(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(of(c.type)){ll=c.stateNode,ul=!1;break a}break;case 5:ll=c.stateNode,ul=!1;break a;case 3:case 4:ll=c.stateNode.containerInfo,ul=!0;break a}c=c.return}if(ll===null)throw Error(i(160));fl(o,s,a),ll=null,ul=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)yl(t,e),t=t.sibling}var vl=null;function yl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:_l(t,e),bl(e),r&4&&(Uc(3,e,e.return),Hc(3,e),Uc(5,e,e.return));break;case 1:_l(t,e),bl(e),r&512&&(nl||n===null||qc(n,n.return)),r&64&&tl&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=vl;if(_l(t,e),bl(e),r&512&&(nl||n===null||qc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[ut]||o[rt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head > title`))),Hd(o,r,n),o[rt]=e,gt(o),r=o;break a;case`link`:var s=Yf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Hd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Yf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Hd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[rt]=e,gt(o),r=o}e.stateNode=r}else Xf(a,e.type,e.stateNode);else e.stateNode=Wf(a,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&Yc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Xf(a,e.type,e.stateNode):Wf(a,r,e.memoizedProps))}break;case 27:_l(t,e),bl(e),r&512&&(nl||n===null||qc(n,n.return)),n!==null&&r&4&&Yc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(_l(t,e),bl(e),r&512&&(nl||n===null||qc(n,n.return)),e.flags&32){a=e.stateNode;try{Ht(a,``)}catch(t){Zu(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,Yc(e,a,n===null?a:n.memoizedProps)),r&1024&&(rl=!0);break;case 6:if(_l(t,e),bl(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Zu(e,e.return,t)}}break;case 3:if(Jf=null,a=vl,vl=wf(t.containerInfo),_l(t,e),vl=a,bl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Vp(t.containerInfo)}catch(t){Zu(e,e.return,t)}rl&&(rl=!1,xl(e));break;case 4:r=vl,vl=wf(e.stateNode.containerInfo),_l(t,e),bl(e),vl=r;break;case 12:_l(t,e),bl(e);break;case 31:_l(t,e),bl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,gl(e,r)));break;case 13:_l(t,e),bl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(ou=Se()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,gl(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=tl,d=nl;if(tl=u||a,nl=d||l,_l(t,e),nl=d,tl=u,bl(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||tl||nl||Cl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Zu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){Zu(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?cf(m,!0):cf(l.stateNode,!1)}catch(e){Zu(l,l.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;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,gl(e,n))));break;case 19:_l(t,e),bl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,gl(e,r)));break;case 30:break;case 21:break;default:_l(t,e),bl(e)}}function bl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Xc(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;$c(e,Zc(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(Ht(o,``),n.flags&=-33),$c(e,Zc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Qc(e,Zc(e),s);break;default:throw Error(i(161))}}catch(t){Zu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function xl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;xl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Sl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)sl(e,t.alternate,t),t=t.sibling}function Cl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Uc(4,t,t.return),Cl(t);break;case 1:qc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Gc(t,t.return,n),Cl(t);break;case 27:xf(t.stateNode);case 26:case 5:qc(t,t.return),Cl(t);break;case 22:t.memoizedState===null&&Cl(t);break;case 30:Cl(t);break;default:Cl(t)}e=e.sibling}}function wl(e,t,n){for(n=n&&(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:wl(i,a,n),Hc(4,a);break;case 1:if(wl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Zu(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)Ja(c[i],s)}catch(e){Zu(r,r.return,e)}}n&&o&64&&Wc(a),Kc(a,a.return);break;case 27:el(a);case 26:case 5:wl(i,a,n),n&&r===null&&o&4&&Jc(a),Kc(a,a.return);break;case 12:wl(i,a,n);break;case 31:wl(i,a,n),n&&o&4&&pl(i,a);break;case 13:wl(i,a,n),n&&o&4&&ml(i,a);break;case 22:a.memoizedState===null&&wl(i,a,n),Kc(a,a.return);break;case 30:break;default:wl(i,a,n)}t=t.sibling}}function Tl(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&&e.refCount++,n!=null&&sa(n))}function El(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&sa(e))}function Dl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Ol(e,t,n,r),t=t.sibling}function Ol(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Dl(e,t,n,r),i&2048&&Hc(9,t);break;case 1:Dl(e,t,n,r);break;case 3:Dl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&sa(e)));break;case 12:if(i&2048){Dl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Zu(t,t.return,e)}}else Dl(e,t,n,r);break;case 31:Dl(e,t,n,r);break;case 13:Dl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Dl(e,t,n,r):(a._visibility|=2,kl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?Dl(e,t,n,r):Al(e,t),i&2048&&Tl(o,t);break;case 24:Dl(e,t,n,r),i&2048&&El(t.alternate,t);break;default:Dl(e,t,n,r)}}function kl(e,t,n,r,i){for(i=i&&((t.subtreeFlags&10256)!=0||!1),t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:kl(a,o,s,c,i),Hc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,kl(a,o,s,c,i)):u._visibility&2?kl(a,o,s,c,i):Al(a,o),i&&l&2048&&Tl(o.alternate,o);break;case 24:kl(a,o,s,c,i),i&&l&2048&&El(o.alternate,o);break;default:kl(a,o,s,c,i)}t=t.sibling}}function Al(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Al(n,r),i&2048&&Tl(r.alternate,r);break;case 24:Al(n,r),i&2048&&El(r.alternate,r);break;default:Al(n,r)}t=t.sibling}}var jl=8192;function Ml(e,t,n){if(e.subtreeFlags&jl)for(e=e.child;e!==null;)Nl(e,t,n),e=e.sibling}function Nl(e,t,n){switch(e.tag){case 26:Ml(e,t,n),e.flags&jl&&e.memoizedState!==null&&$f(n,vl,e.memoizedState,e.memoizedProps);break;case 5:Ml(e,t,n);break;case 3:case 4:var r=vl;vl=wf(e.stateNode.containerInfo),Ml(e,t,n),vl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=jl,jl=16777216,Ml(e,t,n),jl=r):Ml(e,t,n));break;default:Ml(e,t,n)}}function Pl(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 Fl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];al=r,Rl(r,e)}Pl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Il(e),e=e.sibling}function Il(e){switch(e.tag){case 0:case 11:case 15:Fl(e),e.flags&2048&&Uc(9,e,e.return);break;case 3:Fl(e);break;case 12:Fl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Ll(e)):Fl(e);break;default:Fl(e)}}function Ll(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];al=r,Rl(r,e)}Pl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Uc(8,t,t.return),Ll(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Ll(t));break;default:Ll(t)}e=e.sibling}}function Rl(e,t){for(;al!==null;){var n=al;switch(n.tag){case 0:case 11:case 15:Uc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:sa(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,al=r;else a:for(n=e;al!==null;){r=al;var i=r.sibling,a=r.return;if(cl(r),r===n){al=null;break a}if(i!==null){i.return=a,al=i;break a}al=a}}}var zl={getCacheForType:function(e){var t=$i(aa),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return $i(aa).controller.signal}},Bl=typeof WeakMap==`function`?WeakMap:Map,Vl=0,Hl=null,Ul=null,Wl=0,Gl=0,Kl=null,ql=!1,Jl=!1,Yl=!1,Xl=0,Zl=0,Ql=0,$l=0,eu=0,tu=0,nu=0,ru=null,iu=null,au=!1,ou=0,su=0,cu=1/0,lu=null,uu=null,du=0,fu=null,pu=null,mu=0,hu=0,gu=null,_u=null,vu=0,yu=null;function bu(){return Vl&2&&Wl!==0?Wl&-Wl:F.T===null?et():_d()}function xu(){if(tu===0)if(!(Wl&536870912)||Mi){var e=ze;ze<<=1,!(ze&3932160)&&(ze=262144),tu=e}else tu=536870912;return e=to.current,e!==null&&(e.flags|=32),tu}function Su(e,t,n){(e===Hl&&(Gl===2||Gl===9)||e.cancelPendingCommit!==null)&&(ku(e,0),Eu(e,Wl,tu,!1)),qe(e,n),(!(Vl&2)||e!==Hl)&&(e===Hl&&(!(Vl&2)&&($l|=n),Zl===4&&Eu(e,Wl,tu,!1)),G(e))}function Cu(e,t,n){if(Vl&6)throw Error(i(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||Ue(e,t),a=r?Lu(e,t):Fu(e,t,!0),o=r;do{if(a===0){Jl&&!r&&Eu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!Tu(n)){a=Fu(e,t,!1),o=!1;continue}if(a===2){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){t=s;a:{var c=e;a=ru;var l=c.current.memoizedState.isDehydrated;if(l&&(ku(c,s).flags|=256),s=Fu(c,s,!1),s!==2){if(Yl&&!l){c.errorRecoveryDisabledLanes|=o,$l|=o,a=4;break a}o=iu,iu=a,o!==null&&(iu===null?iu=o:iu.push.apply(iu,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){ku(e,0),Eu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:Eu(r,t,tu,!ql);break a;case 2:iu=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=ou+300-Se(),10<a)){if(Eu(r,t,tu,!ql),He(r,0,!0)!==0)break a;mu=t,r.timeoutHandle=ef(wu.bind(null,r,n,iu,lu,au,t,tu,$l,nu,ql,o,`Throttled`,-0,0),a);break a}wu(r,n,iu,lu,au,t,tu,$l,nu,ql,o,null,-0,0)}}break}while(1);G(e)}function wu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Xt},Nl(t,a,d);var m=(a&62914560)===a?ou-Se():(a&4194048)===a?su-Se():0;if(m=tp(d,m),m!==null){mu=a,e.cancelPendingCommit=m(Uu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),Eu(e,a,o,!l);return}}Uu(e,t,a,n,r,i,o,s,c)}function Tu(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(!yr(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 Eu(e,t,n,r){t&=~eu,t&=~$l,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Pe(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&Ye(e,n,t)}function Du(){return Vl&6?!0:(ud(0,!1),!1)}function Ou(){if(Ul!==null){if(Gl===0)var e=Ul.return;else e=Ul,Gi=Wi=null,Ao(e),Aa=null,ja=0,e=Ul;for(;e!==null;)Vc(e.alternate,e),e=e.return;Ul=null}}function ku(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,tf(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),mu=0,Ou(),Hl=e,Ul=n=si(e.current,null),Wl=t,Gl=0,Kl=null,ql=!1,Jl=Ue(e,t),Yl=!1,nu=tu=eu=$l=Ql=Zl=0,iu=ru=null,au=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Pe(r),a=1<<i;t|=e[i],r&=~a}return Xl=t,Zr(),n}function Au(e,t){fo=null,F.H=Rs,t===ba||t===Sa?(t=Oa(),Gl=3):t===xa?(t=Oa(),Gl=4):Gl=t===nc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Kl=t,Ul===null&&(Zl=1,Xs(e,hi(t,e.current)))}function ju(){var e=to.current;return e===null?!0:(Wl&4194048)===Wl?no===null:(Wl&62914560)===Wl||Wl&536870912?e===no:!1}function Mu(){var e=F.H;return F.H=Rs,e===null?Rs:e}function Nu(){var e=F.A;return F.A=zl,e}function Pu(){Zl=4,ql||(Wl&4194048)!==Wl&&to.current!==null||(Jl=!0),!(Ql&134217727)&&!($l&134217727)||Hl===null||Eu(Hl,Wl,tu,!1)}function Fu(e,t,n){var r=Vl;Vl|=2;var i=Mu(),a=Nu();(Hl!==e||Wl!==t)&&(lu=null,ku(e,t)),t=!1;var o=Zl;a:do try{if(Gl!==0&&Ul!==null){var s=Ul,c=Kl;switch(Gl){case 8:Ou(),o=6;break a;case 3:case 2:case 9:case 6:to.current===null&&(t=!0);var l=Gl;if(Gl=0,Kl=null,Vu(e,s,c,l),n&&Jl){o=0;break a}break;default:l=Gl,Gl=0,Kl=null,Vu(e,s,c,l)}}Iu(),o=Zl;break}catch(t){Au(e,t)}while(1);return t&&e.shellSuspendCounter++,Gi=Wi=null,Vl=r,F.H=i,F.A=a,Ul===null&&(Hl=null,Wl=0,Zr()),o}function Iu(){for(;Ul!==null;)zu(Ul)}function Lu(e,t){var n=Vl;Vl|=2;var r=Mu(),a=Nu();Hl!==e||Wl!==t?(lu=null,cu=Se()+500,ku(e,t)):Jl=Ue(e,t);a:do try{if(Gl!==0&&Ul!==null){t=Ul;var o=Kl;b:switch(Gl){case 1:Gl=0,Kl=null,Vu(e,t,o,1);break;case 2:case 9:if(wa(o)){Gl=0,Kl=null,Bu(t);break}t=function(){Gl!==2&&Gl!==9||Hl!==e||(Gl=7),G(e)},o.then(t,t);break a;case 3:Gl=7;break a;case 4:Gl=5;break a;case 7:wa(o)?(Gl=0,Kl=null,Bu(t)):(Gl=0,Kl=null,Vu(e,t,o,7));break;case 5:var s=null;switch(Ul.tag){case 26:s=Ul.memoizedState;case 5:case 27:var c=Ul;if(s?Qf(s):c.stateNode.complete){Gl=0,Kl=null;var l=c.sibling;if(l!==null)Ul=l;else{var u=c.return;u===null?Ul=null:(Ul=u,Hu(u))}break b}}Gl=0,Kl=null,Vu(e,t,o,5);break;case 6:Gl=0,Kl=null,Vu(e,t,o,6);break;case 8:Ou(),Zl=6;break a;default:throw Error(i(462))}}Ru();break}catch(t){Au(e,t)}while(1);return Gi=Wi=null,F.H=r,F.A=a,Vl=n,Ul===null?(Hl=null,Wl=0,Zr(),Zl):0}function Ru(){for(;Ul!==null&&!be();)zu(Ul)}function zu(e){var t=Mc(e.alternate,e,Xl);e.memoizedProps=e.pendingProps,t===null?Hu(e):Ul=t}function Bu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=gc(n,t,t.pendingProps,t.type,void 0,Wl);break;case 11:t=gc(n,t,t.pendingProps,t.type.render,t.ref,Wl);break;case 5:Ao(t);default:Vc(n,t),t=Ul=ci(t,Xl),t=Mc(n,t,Xl)}e.memoizedProps=e.pendingProps,t===null?Hu(e):Ul=t}function Vu(e,t,n,r){Gi=Wi=null,Ao(t),Aa=null,ja=0;var i=t.return;try{if(tc(e,i,t,n,Wl)){Zl=1,Xs(e,hi(n,e.current)),Ul=null;return}}catch(t){if(i!==null)throw Ul=i,t;Zl=1,Xs(e,hi(n,e.current)),Ul=null;return}t.flags&32768?(Mi||r===1?e=!0:Jl||Wl&536870912?e=!1:(ql=e=!0,(r===2||r===9||r===3||r===6)&&(r=to.current,r!==null&&r.tag===13&&(r.flags|=16384))),W(t,e)):Hu(t)}function Hu(e){var t=e;do{if(t.flags&32768){W(t,ql);return}e=t.return;var n=zc(t.alternate,t,Xl);if(n!==null){Ul=n;return}if(t=t.sibling,t!==null){Ul=t;return}Ul=t=e}while(t!==null);Zl===0&&(Zl=5)}function W(e,t){do{var n=Bc(e.alternate,e);if(n!==null){n.flags&=32767,Ul=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Ul=e;return}Ul=e=n}while(e!==null);Zl=6,Ul=null}function Uu(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do Ju();while(du!==0);if(Vl&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=Xr,Je(e,n,o,s,c,l),e===Hl&&(Ul=Hl=null,Wl=0),pu=t,fu=e,mu=n,hu=o,gu=a,_u=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,rd(Ee,function(){return Yu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=F.T,F.T=null,a=I.p,I.p=2,s=Vl,Vl|=4;try{ol(e,t,n)}finally{Vl=s,I.p=a,F.T=r}}du=1,Wu(),Gu(),Ku()}}function Wu(){if(du===1){du=0;var e=fu,t=pu,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=Vl;Vl|=4;try{yl(t,e);var a=qd,o=wr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Cr(s.ownerDocument.documentElement,s)){if(c!==null&&Tr(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 _=Sr(s,h),v=Sr(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}}hp=!!Kd,qd=Kd=null}finally{Vl=i,I.p=r,F.T=n}}e.current=t,du=2}}function Gu(){if(du===2){du=0;var e=fu,t=pu,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=Vl;Vl|=4;try{sl(e,t.alternate,t)}finally{Vl=i,I.p=r,F.T=n}}du=3}}function Ku(){if(du===4||du===3){du=0,xe();var e=fu,t=pu,n=mu,r=_u;t.subtreeFlags&10256||t.flags&10256?du=5:(du=0,pu=fu=null,qu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(uu=null),$e(n),t=t.stateNode,Me&&typeof Me.onCommitFiberRoot==`function`)try{Me.onCommitFiberRoot(je,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=F.T,i=I.p,I.p=2,F.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{F.T=t,I.p=i}}mu&3&&Ju(),G(e),i=e.pendingLanes,n&261930&&i&42?e===yu?vu++:(vu=0,yu=e):vu=0,ud(0,!1)}}function qu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,sa(t)))}function Ju(){return Wu(),Gu(),Ku(),Yu()}function Yu(){if(du!==5)return!1;var e=fu,t=hu;hu=0;var n=$e(mu),r=F.T,a=I.p;try{I.p=32>n?32:n,F.T=null,n=gu,gu=null;var o=fu,s=mu;if(du=0,pu=fu=null,mu=0,Vl&6)throw Error(i(331));var c=Vl;if(Vl|=4,Il(o.current),Ol(o,o.current,s,n),Vl=c,ud(0,!1),Me&&typeof Me.onPostCommitFiberRoot==`function`)try{Me.onPostCommitFiberRoot(je,o)}catch{}return!0}finally{I.p=a,F.T=r,qu(e,t)}}function Xu(e,t,n){t=hi(n,t),t=Qs(e.stateNode,t,2),e=Ha(e,t,2),e!==null&&(qe(e,2),G(e))}function Zu(e,t,n){if(e.tag===3)Xu(e,e,n);else for(;t!==null;){if(t.tag===3){Xu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(uu===null||!uu.has(r))){e=hi(n,e),n=$s(2),r=Ha(t,n,2),r!==null&&(ec(n,r,t,e),qe(r,2),G(r));break}}t=t.return}}function Qu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Bl;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)||(Yl=!0,i.add(n),e=$u.bind(null,e,t,n),t.then(e,e))}function $u(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Hl===e&&(Wl&n)===n&&(Zl===4||Zl===3&&(Wl&62914560)===Wl&&300>Se()-ou?!(Vl&2)&&ku(e,0):eu|=n,nu===Wl&&(nu=0)),G(e)}function ed(e,t){t===0&&(t=Ge()),e=ei(e,t),e!==null&&(qe(e,t),G(e))}function td(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ed(e,n)}function nd(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),ed(e,n)}function rd(e,t){return ve(e,t)}var id=null,ad=null,od=!1,sd=!1,cd=!1,ld=0;function G(e){e!==ad&&e.next===null&&(ad===null?id=ad=e:ad=ad.next=e),sd=!0,od||(od=!0,gd())}function ud(e,t){if(!cd&&sd){cd=!0;do for(var n=!1,r=id;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-Pe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,hd(r,a))}else a=Wl,a=He(r,r===Hl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ue(r,a)||(n=!0,hd(r,a));r=r.next}while(n);cd=!1}}function dd(){fd()}function fd(){sd=od=!1;var e=0;ld!==0&&$d()&&(e=ld);for(var t=Se(),n=null,r=id;r!==null;){var i=r.next,a=pd(r,t);a===0?(r.next=null,n===null?id=i:n.next=i,i===null&&(ad=n)):(n=r,(e!==0||a&3)&&(sd=!0)),r=i}du!==0&&du!==5||ud(e,!1),ld!==0&&(ld=0)}function pd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Pe(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=We(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Hl,n=Wl,n=He(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Gl===2||Gl===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&ye(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Ue(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&ye(r),$e(n)){case 2:case 8:n=Te;break;case 32:n=Ee;break;case 268435456:n=Oe;break;default:n=Ee}return r=md.bind(null,e),n=ve(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&ye(r),e.callbackPriority=2,e.callbackNode=null,2}function md(e,t){if(du!==0&&du!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Ju()&&e.callbackNode!==n)return null;var r=Wl;return r=He(e,e===Hl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Cu(e,r,t),pd(e,Se()),e.callbackNode!=null&&e.callbackNode===n?md.bind(null,e):null)}function hd(e,t){if(Ju())return null;Cu(e,t,!0)}function gd(){rf(function(){Vl&6?ve(we,dd):fd()})}function _d(){if(ld===0){var e=ua;e===0&&(e=Re,Re<<=1,!(Re&261888)&&(Re=256)),ld=e}return ld}function vd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Yt(``+e)}function yd(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 bd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=vd((i[it]||null).action),o=r.submitter;o&&(t=(t=o[it]||null)?vd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new vn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(ld!==0){var e=o?yd(i,o):new FormData(i);ws(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?yd(i,o):new FormData(i),ws(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var xd=0;xd<Gr.length;xd++){var Sd=Gr[xd];Kr(Sd.toLowerCase(),`on`+(Sd[0].toUpperCase()+Sd.slice(1)))}Kr(Lr,`onAnimationEnd`),Kr(Rr,`onAnimationIteration`),Kr(zr,`onAnimationStart`),Kr(`dblclick`,`onDoubleClick`),Kr(`focusin`,`onFocus`),Kr(`focusout`,`onBlur`),Kr(Br,`onTransitionRun`),Kr(Vr,`onTransitionStart`),Kr(Hr,`onTransitionCancel`),Kr(Ur,`onTransitionEnd`),bt(`onMouseEnter`,[`mouseout`,`mouseover`]),bt(`onMouseLeave`,[`mouseout`,`mouseover`]),bt(`onPointerEnter`,[`pointerout`,`pointerover`]),bt(`onPointerLeave`,[`pointerout`,`pointerover`]),yt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),yt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),yt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),yt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),yt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),yt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Cd=`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(` `),wd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(Cd));function Td(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(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!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){qr(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){qr(e)}i.currentTarget=null,a=c}}}}function Ed(e,t){var n=t[ot];n===void 0&&(n=t[ot]=new Set);var r=e+`__bubble`;n.has(r)||(Ad(t,e,2,!1),n.add(r))}function Dd(e,t,n){var r=0;t&&(r|=4),Ad(n,e,r,t)}var Od=`_reactListening`+Math.random().toString(36).slice(2);function kd(e){if(!e[Od]){e[Od]=!0,_t.forEach(function(t){t!==`selectionchange`&&(wd.has(t)||Dd(t,!1,e),Dd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Od]||(t[Od]=!0,Dd(`selectionchange`,!1,t))}}function Ad(e,t,n,r){switch(Sp(t)){case 2:var i=gp;break;case 8:i=_p;break;default:i=vp}n=i.bind(null,t,n,e),i=void 0,!sn||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 jd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=ft(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}rn(function(){var r=a,i=Qt(n),s=[];a:{var c=Wr.get(e);if(c!==void 0){var l=vn,u=e;switch(e){case`keypress`:if(pn(n)===0)break a;case`keydown`:case`keyup`:l=In;break;case`focusin`:u=`focus`,l=Dn;break;case`focusout`:u=`blur`,l=Dn;break;case`beforeblur`:case`afterblur`:l=Dn;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`:l=Tn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=En;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Rn;break;case Lr:case Rr:case zr:l=On;break;case Ur:l=zn;break;case`scroll`:case`scrollend`:l=bn;break;case`wheel`:l=Bn;break;case`copy`:case`cut`:case`paste`:l=kn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Ln;break;case`toggle`:case`beforetoggle`:l=Vn}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=an(m,p),g!=null&&d.push(Md(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==Zt&&(u=n.relatedTarget||n.fromElement)&&(ft(u)||u[at]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?ft(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Tn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Ln,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:mt(l),h=u==null?c:mt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,ft(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Pd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Fd(s,c,l,d,!1),u!==null&&f!==null&&Fd(s,f,u,d,!0)}}a:{if(c=r?mt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=sr;else if(tr(c))if(cr)v=_r;else{v=hr;var y=mr}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Kt(r.elementType)&&(v=sr):v=gr;if(v&&(v=v(e,r))){nr(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Rt(c,`number`,c.value)}switch(y=r?mt(r):window,e){case`focusin`:(tr(y)||y.contentEditable===`true`)&&(Dr=y,Or=r,kr=null);break;case`focusout`:kr=Or=Dr=null;break;case`mousedown`:Ar=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Ar=!1,jr(s,n,i);break;case`selectionchange`:if(Er)break;case`keydown`:case`keyup`:jr(s,n,i)}var b;if(Un)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else Zn?Yn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(Kn&&n.locale!==`ko`&&(Zn||x!==`onCompositionStart`?x===`onCompositionEnd`&&Zn&&(b=fn()):(ln=i,un=`value`in ln?ln.value:ln.textContent,Zn=!0)),y=Nd(r,x),0<y.length&&(x=new An(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=Xn(n),b!==null&&(x.data=b)))),(b=Gn?Qn(e,n):$n(e,n))&&(x=Nd(r,`onBeforeInput`),0<x.length&&(y=new An(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),bd(s,e,r,n,i)}Td(s,t)})}function Md(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Nd(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=an(e,n),i!=null&&r.unshift(Md(e,i,a)),i=an(e,t),i!=null&&r.push(Md(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Pd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Fd(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=an(n,a),l!=null&&o.unshift(Md(n,l,c))):i||(l=an(n,a),l!=null&&o.push(Md(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Id=/\r\n?/g,Ld=/\u0000|\uFFFD/g;function Rd(e){return(typeof e==`string`?e:``+e).replace(Id,`
`).replace(Ld,``)}function zd(e,t){return t=Rd(t),Rd(e)===t}function Bd(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Ht(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Ht(e,``+r);break;case`className`:Et(e,`class`,r);break;case`tabIndex`:Et(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Et(e,n,r);break;case`style`:Gt(e,r,o);break;case`data`:if(t!==`object`){Et(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Yt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(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}else typeof o==`function`&&(n===`formAction`?(t!==`input`&&Bd(e,t,`name`,a.name,a,null),Bd(e,t,`formEncType`,a.formEncType,a,null),Bd(e,t,`formMethod`,a.formMethod,a,null),Bd(e,t,`formTarget`,a.formTarget,a,null)):(Bd(e,t,`encType`,a.encType,a,null),Bd(e,t,`method`,a.method,a,null),Bd(e,t,`target`,a.target,a,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Yt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Xt);break;case`onScroll`:r!=null&&Ed(`scroll`,e);break;case`onScrollEnd`:r!=null&&Ed(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));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}n=Yt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`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`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`: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`?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?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):e.setAttribute(n,r);break;case`popover`:Ed(`beforetoggle`,e),Ed(`toggle`,e),Tt(e,`popover`,r);break;case`xlinkActuate`:Dt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Dt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Dt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Dt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Dt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Dt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Dt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Dt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Dt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Tt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=qt.get(n)||n,Tt(e,n,r))}}function Vd(e,t,n,r,a,o){switch(n){case`style`:Gt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Ht(e,r):(typeof r==`number`||typeof r==`bigint`)&&Ht(e,``+r);break;case`onScroll`:r!=null&&Ed(`scroll`,e);break;case`onScrollEnd`:r!=null&&Ed(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Xt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!vt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[it]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Tt(e,n,r)}}}function Hd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Ed(`error`,e),Ed(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Bd(e,t,o,s,n,null)}}a&&Bd(e,t,`srcSet`,n.srcSet,n,null),r&&Bd(e,t,`src`,n.src,n,null);return;case`input`:Ed(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:Bd(e,t,r,d,n,null)}}Lt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Ed(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Bd(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&zt(e,!!r,n,!0):zt(e,!!r,t,!1);return;case`textarea`:for(s in Ed(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:Bd(e,t,s,c,n,null)}Vt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Bd(e,t,l,r,n,null)}return;case`dialog`:Ed(`beforetoggle`,e),Ed(`toggle`,e),Ed(`cancel`,e),Ed(`close`,e);break;case`iframe`:case`object`:Ed(`load`,e);break;case`video`:case`audio`:for(r=0;r<Cd.length;r++)Ed(Cd[r],e);break;case`image`:Ed(`error`,e),Ed(`load`,e);break;case`details`:Ed(`toggle`,e);break;case`embed`:case`source`:case`link`:Ed(`error`,e),Ed(`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(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:Bd(e,t,u,r,n,null)}return;default:if(Kt(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Vd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Bd(e,t,c,r,n,null))}function Ud(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Bd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&Bd(e,t,p,m,r,f)}}It(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Bd(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Bd(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?zt(e,!!n,n?[]:``,!1):zt(e,!!n,t,!0)):zt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Bd(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&Bd(e,t,s,a,r,o)}Bt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Bd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Bd(e,t,l,p,r,m)}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 g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Bd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:Bd(e,t,u,p,r,m)}return;default:if(Kt(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Vd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Vd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Bd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Bd(e,t,f,p,r,m)}function Wd(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Gd(){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&&Wd(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&&Wd(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}var Kd=null,qd=null;function Jd(e){return e.nodeType===9?e:e.ownerDocument}function Yd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Xd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Zd(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}var Qd=null;function $d(){var e=window.event;return e&&e.type===`popstate`?e===Qd?!1:(Qd=e,!0):(Qd=null,!1)}var ef=typeof setTimeout==`function`?setTimeout:void 0,tf=typeof clearTimeout==`function`?clearTimeout:void 0,nf=typeof Promise==`function`?Promise:void 0,rf=typeof queueMicrotask==`function`?queueMicrotask:nf===void 0?ef:function(e){return nf.resolve(null).then(e).catch(af)};function af(e){setTimeout(function(){throw e})}function of(e){return e===`head`}function sf(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===`/$`||n===`/&`){if(r===0){e.removeChild(i),Vp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)xf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,xf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[ut]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&xf(e.ownerDocument.body);n=i}while(n);Vp(t)}function cf(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===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function lf(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`:lf(n),dt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function uf(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`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[ut])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=gf(e.nextSibling),e===null)break}return null}function df(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=gf(e.nextSibling),e===null))return null;return e}function ff(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=gf(e.nextSibling),e===null))return null;return e}function pf(e){return e.data===`$?`||e.data===`$~`}function mf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function hf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function gf(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===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var _f=null;function vf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return gf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function yf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function bf(e,t,n){switch(t=Jd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function xf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);dt(e)}var Sf=new Map,Cf=new Set;function wf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Tf=I.d;I.d={f:Ef,r:Df,D:Af,C:jf,L:Mf,m:Nf,X:Ff,S:Pf,M:If};function Ef(){var e=Tf.f(),t=Du();return e||t}function Df(e){var t=pt(e);t!==null&&t.tag===5&&t.type===`form`?Es(t):Tf.r(e)}var Of=typeof document>`u`?null:document;function kf(e,t,n){var r=Of;if(r&&typeof t==`string`&&t){var i=Ft(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Cf.has(i)||(Cf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Hd(t,`link`,e),gt(t),r.head.appendChild(t)))}}function Af(e){Tf.D(e),kf(`dns-prefetch`,e,null)}function jf(e,t){Tf.C(e,t),kf(`preconnect`,e,t)}function Mf(e,t,n){Tf.L(e,t,n);var r=Of;if(r&&e&&t){var i=`link[rel="preload"][as="`+Ft(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Ft(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Ft(n.imageSizes)+`"]`)):i+=`[href="`+Ft(e)+`"]`;var a=i;switch(t){case`style`:a=Rf(e);break;case`script`:a=Hf(e)}Sf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Sf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(zf(a))||t===`script`&&r.querySelector(Uf(a))||(t=r.createElement(`link`),Hd(t,`link`,e),gt(t),r.head.appendChild(t)))}}function Nf(e,t){Tf.m(e,t);var n=Of;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Ft(r)+`"][href="`+Ft(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Hf(e)}if(!Sf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),Sf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Uf(a)))return}r=n.createElement(`link`),Hd(r,`link`,e),gt(r),n.head.appendChild(r)}}}function Pf(e,t,n){Tf.S(e,t,n);var r=Of;if(r&&e){var i=ht(r).hoistableStyles,a=Rf(e);t=t||`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(zf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Sf.get(a))&&Kf(e,n);var c=o=r.createElement(`link`);gt(c),Hd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Gf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Ff(e,t){Tf.X(e,t);var n=Of;if(n&&e){var r=ht(n).hoistableScripts,i=Hf(e),a=r.get(i);a||(a=n.querySelector(Uf(i)),a||(e=p({src:e,async:!0},t),(t=Sf.get(i))&&qf(e,t),a=n.createElement(`script`),gt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t){Tf.M(e,t);var n=Of;if(n&&e){var r=ht(n).hoistableScripts,i=Hf(e),a=r.get(i);a||(a=n.querySelector(Uf(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=Sf.get(i))&&qf(e,t),a=n.createElement(`script`),gt(a),Hd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Lf(e,t,n,r){var a=(a=ie.current)?wf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Rf(n.href),n=ht(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,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=Rf(n.href);var o=ht(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(zf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),Sf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Sf.set(e,n),o||Vf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Hf(n),n=ht(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Rf(e){return`href="`+Ft(e)+`"`}function zf(e){return`link[rel="stylesheet"][`+e+`]`}function Bf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Vf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Hd(t,`link`,n),gt(t),e.head.appendChild(t))}function Hf(e){return`[src="`+Ft(e)+`"]`}function Uf(e){return`script[async]`+e}function Wf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Ft(n.href)+`"]`);if(r)return t.instance=r,gt(r),r;var a=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),gt(r),Hd(r,`style`,a),Gf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Rf(n.href);var o=e.querySelector(zf(a));if(o)return t.state.loading|=4,t.instance=o,gt(o),o;r=Bf(n),(a=Sf.get(a))&&Kf(r,a),o=(e.ownerDocument||e).createElement(`link`),gt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Hd(o,`link`,r),t.state.loading|=4,Gf(o,n.precedence,e),t.instance=o;case`script`:return o=Hf(n.src),(a=e.querySelector(Uf(o)))?(t.instance=a,gt(a),a):(r=n,(a=Sf.get(o))&&(r=p({},n),qf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),gt(a),Hd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Gf(r,n.precedence,e));return t.instance}function Gf(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 Kf(e,t){e.crossOrigin??(e.crossOrigin=t.crossOrigin),e.referrerPolicy??(e.referrerPolicy=t.referrerPolicy),e.title??(e.title=t.title)}function qf(e,t){e.crossOrigin??(e.crossOrigin=t.crossOrigin),e.referrerPolicy??(e.referrerPolicy=t.referrerPolicy),e.integrity??(e.integrity=t.integrity)}var Jf=null;function Yf(e,t,n){if(Jf===null){var r=new Map,i=Jf=new Map;i.set(n,r)}else i=Jf,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[ut]||a[rt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Xf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Zf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Qf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function $f(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Rf(r.href),a=t.querySelector(zf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=np.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,gt(a);return}a=t.ownerDocument||t,r=Bf(r),(i=Sf.get(i))&&Kf(r,i),a=a.createElement(`link`),gt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Hd(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&3)&&(e.count++,n=np.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var ep=0;function tp(e,t){return e.stylesheets&&e.count===0&&ip(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&ip(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&ep===0&&(ep=62500*Gd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ip(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>ep?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function np(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ip(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var rp=null;function ip(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,rp=new Map,t.forEach(ap,e),rp=null,np.call(e))}function ap(e,t){if(!(t.state.loading&4)){var n=rp.get(e);if(n)var r=n.get(null);else{n=new Map,rp.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(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=np.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|=4}}var op={$$typeof:C,Provider:null,Consumer:null,_currentValue:L,_currentValue2:L,_threadCount:0};function sp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Ke(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ke(0),this.hiddenUpdates=Ke(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}function cp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new sp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=ai(3,null,null,t),e.current=a,a.stateNode=e,t=oa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},za(a),e}function lp(e){return e?(e=ri,e):ri}function up(e,t,n,r,i,a){i=lp(i),r.context===null?r.context=i:r.pendingContext=i,r=Va(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ha(e,r,t),n!==null&&(Su(n,e,t),Ua(n,e,t))}function dp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function fp(e,t){dp(e,t),(e=e.alternate)&&dp(e,t)}function pp(e){if(e.tag===13||e.tag===31){var t=ei(e,67108864);t!==null&&Su(t,e,67108864),fp(e,67108864)}}function mp(e){if(e.tag===13||e.tag===31){var t=bu();t=Qe(t);var n=ei(e,t);n!==null&&Su(n,e,t),fp(e,t)}}var hp=!0;function gp(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=2,vp(e,t,n,r)}finally{I.p=a,F.T=i}}function _p(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=8,vp(e,t,n,r)}finally{I.p=a,F.T=i}}function vp(e,t,n,r){if(hp){var i=yp(r);if(i===null)jd(e,t,r,bp,n),jp(e,r);else if(Np(i,e,t,n,r))r.stopPropagation();else if(jp(e,r),t&4&&-1<Ap.indexOf(e)){for(;i!==null;){var a=pt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ve(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Pe(o);s.entanglements[1]|=c,o&=~c}G(a),!(Vl&6)&&(cu=Se()+500,ud(0,!1))}}break;case 31:case 13:s=ei(a,2),s!==null&&Su(s,a,2),Du(),fp(a,2)}if(a=yp(r),a===null&&jd(e,t,r,bp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else jd(e,t,r,null,n)}}function yp(e){return e=Qt(e),xp(e)}var bp=null;function xp(e){if(bp=null,e=ft(e),e!==null){var t=o(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=c(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 bp=e,null}function Sp(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 2;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 8;case`message`:switch(Ce()){case we:return 2;case Te:return 8;case Ee:case De:return 32;case Oe:return 268435456;default:return 32}default:return 32}}var Cp=!1,wp=null,Tp=null,Ep=null,Dp=new Map,Op=new Map,kp=[],Ap=`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(` `);function jp(e,t){switch(e){case`focusin`:case`focusout`:wp=null;break;case`dragenter`:case`dragleave`:Tp=null;break;case`mouseover`:case`mouseout`:Ep=null;break;case`pointerover`:case`pointerout`:Dp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Op.delete(t.pointerId)}}function Mp(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=pt(t),t!==null&&pp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Np(e,t,n,r,i){switch(t){case`focusin`:return wp=Mp(wp,e,t,n,r,i),!0;case`dragenter`:return Tp=Mp(Tp,e,t,n,r,i),!0;case`mouseover`:return Ep=Mp(Ep,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Dp.set(a,Mp(Dp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Op.set(a,Mp(Op.get(a)||null,e,t,n,r,i)),!0}return!1}function Pp(e){var t=ft(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,tt(e.priority,function(){mp(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,tt(e.priority,function(){mp(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 Fp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=yp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Zt=r,n.target.dispatchEvent(r),Zt=null}else return t=pt(n),t!==null&&pp(t),e.blockedOn=n,!1;t.shift()}return!0}function Ip(e,t,n){Fp(e)&&n.delete(t)}function Lp(){Cp=!1,wp!==null&&Fp(wp)&&(wp=null),Tp!==null&&Fp(Tp)&&(Tp=null),Ep!==null&&Fp(Ep)&&(Ep=null),Dp.forEach(Ip),Op.forEach(Ip)}function Rp(e,n){e.blockedOn===n&&(e.blockedOn=null,Cp||(Cp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Lp)))}var zp=null;function Bp(e){zp!==e&&(zp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){zp===e&&(zp=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(xp(r||n)===null)continue;break}var a=pt(n);a!==null&&(e.splice(t,3),t-=3,ws(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Vp(e){function t(t){return Rp(t,e)}wp!==null&&Rp(wp,e),Tp!==null&&Rp(Tp,e),Ep!==null&&Rp(Ep,e),Dp.forEach(t),Op.forEach(t);for(var n=0;n<kp.length;n++){var r=kp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<kp.length&&(n=kp[0],n.blockedOn===null);)Pp(n),n.blockedOn===null&&kp.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[it]||null;if(typeof a==`function`)o||Bp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[it]||null)s=o.formAction;else if(xp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Bp(n)}}}function Hp(){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 Up(e){this._internalRoot=e}Wp.prototype.render=Up.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;up(n,bu(),e,t,null,null)},Wp.prototype.unmount=Up.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;up(e.current,2,null,e,null,null),Du(),t[at]=null}};function Wp(e){this._internalRoot=e}Wp.prototype.unstable_scheduleHydration=function(e){if(e){var t=et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<kp.length&&t!==0&&t<kp[n].priority;n++);kp.splice(n,0,e),n===0&&Pp(e)}};var Gp=n.version;if(Gp!==`19.2.7`)throw Error(i(527,Gp,`19.2.7`));I.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=u(t),e=e===null?null:d(e),e=e===null?null:e.stateNode,e};var Kp={bundleType:0,version:`19.2.7`,rendererPackageName:`react-dom`,currentDispatcherRef:F,reconcilerVersion:`19.2.7`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var qp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!qp.isDisabled&&qp.supportsFiber)try{je=qp.inject(Kp),Me=qp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=qs,s=Js,c=Ys;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=cp(e,1,!1,null,null,n,r,null,o,s,c,Hp),e[at]=t.current,kd(e),new Up(t)}})),v=s(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=_()})),y=u(f(),1),b=v(),x=`data:image/jpeg;base64,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`,S=u(g(),1),C=`modulepreload`,w=function(e,t){return new URL(e,t).href},T={},E=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=w(t,n),t=s(t),t in T)return;T[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`:C,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)})},D=e=>{throw TypeError(e)},O=(e,t,n)=>t.has(e)||D(`Cannot `+n),k=(e,t,n)=>(O(e,t,`read from private field`),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?D(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),j=(e,t,n,r)=>(O(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),M=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,N=/^[\\/]{2}/;function ee(e,t){return t+e.replace(/\\/g,`/`)}var P=`popstate`;function F(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function I(e={}){function t(e,t){let{pathname:n=`/`,search:r=``,hash:i=``}=ne(e.location.hash.substring(1));return!n.startsWith(`/`)&&!n.startsWith(`.`)&&(n=`/`+n),B(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){let n=e.document.querySelector(`base`),r=``;if(n&&n.getAttribute(`href`)){let t=e.location.href,n=t.indexOf(`#`);r=n===-1?t:t.slice(0,n)}return r+`#`+(typeof t==`string`?t:V(t))}function r(e,t){R(e.pathname.charAt(0)===`/`,`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)}return re(t,n,r,e)}function L(e,t){if(e===!1||e==null)throw Error(t)}function R(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function z(){return Math.random().toString(36).substring(2,10)}function te(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 B(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?ne(t):t,state:n,key:t&&t.key||r||z(),mask:i}}function V({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 ne(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 re(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=F(e)?e:B(h.location,e,t);n&&n(r,e),l=u()+1;let d=te(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=F(e)?e:B(h.location,e,t);n&&n(r,e),l=u();let i=te(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 ie(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(P,d),c=e,()=>{i.removeEventListener(P,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 ie(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),L(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:V(t);return i=i.replace(/ $/,`%20`),!n&&N.test(i)&&(i=r+i),new URL(i,r)}var ae,oe=class{constructor(e){if(A(this,ae,new Map),e)for(let[t,n]of e)this.set(t,n)}get(e){if(k(this,ae).has(e))return k(this,ae).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){k(this,ae).set(e,t)}};ae=new WeakMap;var se=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function ce(e){return se.has(e)}var le=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function ue(e){return le.has(e)}function de(e){return e.index===!0}function fe(e,t,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(L(e.index!==!0||!e.children,`Cannot specify children on an index route`),L(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),de(e)){let n={...e,id:s};return r[s]=pe(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=pe(n,t(n)),e.children&&(n.children=fe(e.children,t,o,r,i)),n}})}function pe(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function me(e,t,n=`/`){return he(e,t,n,!1)}function he(e,t,n,r,i){let a=Fe((typeof t==`string`?ne(t):t).pathname||`/`,n);if(a==null)return null;let o=i??_e(e),s=null,c=Pe(a);for(let e=0;s==null&&e<o.length;++e)s=Ae(o[e],c,r);return s}function ge(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function _e(e){let t=ve(e);return be(t),t}function ve(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;L(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" 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=Ge([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(L(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),ve(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:Oe(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=Ne(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 ye(e.path))a(e,t,!0,n)}),t}function ye(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=ye(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 be(e){e.sort((e,t)=>e.score===t.score?ke(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var xe=/^:[\w-]+$/,Se=3,Ce=2,we=1,Te=10,Ee=-2,De=e=>e===`*`;function Oe(e,t){let n=e.split(`/`),r=n.length;return n.some(De)&&(r+=Ee),t&&(r+=Ce),n.filter(e=>!De(e)).reduce((e,t)=>e+(xe.test(t)?Se:t===``?we:Te),r)}function ke(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 Ae(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?Me(u,l,s.matcher,s.compiledParams):je(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=je({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:Ge([a,d.pathname]),pathnameBase:qe(Ge([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=Ge([a,d.pathnameBase]))}return o}function je(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Ne(e.path,e.caseSensitive,e.end);return Me(e,t,n,r)}function Me(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 n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function Ne(e,t=!1,n=!0){R(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 Pe(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return R(!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 Fe(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 Ie({basename:e,pathname:t}){return t===`/`?e:Ge([e,t])}var Le=e=>M.test(e);function Re(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?ne(e):e,a;return n?(n=We(n),a=n.startsWith(`/`)?ze(n.substring(1),`/`):ze(n,t)):a=t,{pathname:a,search:Je(r),hash:Ye(i)}}function ze(e,t){let n=Ke(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function Be(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 Ve(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function He(e){let t=Ve(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Ue(e,t,n,r=!1){let i;typeof e==`string`?i=ne(e):(i={...e},L(!i.pathname||!i.pathname.includes(`?`),Be(`?`,`pathname`,`search`,i)),L(!i.pathname||!i.pathname.includes(`#`),Be(`#`,`pathname`,`hash`,i)),L(!i.search||!i.search.includes(`#`),Be(`#`,`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=Re(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var We=e=>e.replace(/[\\/]{2,}/g,`/`),Ge=e=>We(e.join(`/`)),Ke=e=>e.replace(/\/+$/,``),qe=e=>Ke(e).replace(/^\/*/,`/`),Je=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ye=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Xe=[`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],Ze=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 Qe(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function $e(e){return Ge(e.map(e=>e.route.path).filter(Boolean))||`/`}var et=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function tt(e,t){let n=e;if(typeof n!=`string`||!M.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(et)try{let e=new URL(window.location.href),r=N.test(n)?new URL(ee(n,e.protocol)):new URL(n),a=Fe(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{R(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var nt=Symbol(`Uninstrumented`);function rt(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){let t=Object.keys(n);for(let r of t)e[r]&&n[r].push(e[r])}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=at(n.lazy,t.lazy,()=>void 0);e&&(r.lazy=e)}if(typeof t.lazy==`object`){let e=t.lazy;[`middleware`,`loader`,`action`].forEach(t=>{let i=e[t],a=n[`lazy.${t}`];if(typeof i==`function`&&a.length>0){let e=at(a,i,()=>void 0);e&&(r.lazy=Object.assign(r.lazy||{},{[t]:e}))}})}return[`loader`,`action`].forEach(e=>{let i=t[e];if(typeof i==`function`&&n[e].length>0){let t=i[nt]??i,a=at(n[e],t,(...e)=>st(e[0]));a&&(e===`loader`&&t.hydrate===!0&&(a.hydrate=!0),a[nt]=t,r[e]=a)}}),t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=e[nt]??e,r=at(n.middleware,t,(...e)=>st(e[0]));return r?(r[nt]=t,r):e})),r}function it(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){let t=Object.keys(e);for(let r of t)e[r]&&n[r].push(e[r])}})),n.navigate.length>0){let t=e.navigate[nt]??e.navigate,r=at(n.navigate,t,(...t)=>{let[n,r]=t;return{to:typeof n==`number`||typeof n==`string`?n:n?V(n):`.`,...ct(e,r??{})}});r&&(r[nt]=t,e.navigate=r)}if(n.fetch.length>0){let t=e.fetch[nt]??e.fetch,r=at(n.fetch,t,(...t)=>{let[n,,r,i]=t;return{href:r??`.`,fetcherKey:n,...ct(e,i??{})}});r&&(r[nt]=t,e.fetch=r)}return e}function at(e,t,n){return e.length===0?null:async(...r)=>{let i=await ot(e,n(...r),()=>t(...r),e.length-1);if(i.type===`error`)throw i.value;return i.value}}async function ot(e,t,n,r){let i=e[r],a;if(i){let o,s=async()=>(o?console.error(`You cannot call instrumented handlers more than once`):o=ot(e,t,n,r-1),a=await o,L(a,`Expected a result`),a.type===`error`&&a.value instanceof Error?{status:`error`,error:a.value}:{status:`success`,error:void 0});try{await i(s,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}o||await s(),await o}else try{a={type:`success`,value:await n()}}catch(e){a={type:`error`,value:e}}return a||{type:`error`,value:Error(`No result assigned in instrumentation chain.`)}}function st(e){let{request:t,context:n,params:r,pattern:i}=e;return{request:lt(t),params:{...r},pattern:i,context:ut(n)}}function ct(e,t){return{currentUrl:V(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function lt(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function ut(e){if(ft(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var dt=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function ft(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===dt}var pt=[`POST`,`PUT`,`PATCH`,`DELETE`],mt=new Set(pt),ht=[`GET`,...pt],gt=new Set(ht),_t=new Set([301,302,303,307,308]),vt=new Set([307,308]),yt={state:`idle`,location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},bt={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},xt={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},St=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Ct=`remix-router-transitions`,wt=Symbol(`ResetLoaderData`),Tt,Et,Dt,Ot,kt=class{constructor(e){A(this,Tt),A(this,Et),A(this,Dt),A(this,Ot),j(this,Tt,e),j(this,Et,_e(e))}get stableRoutes(){return k(this,Tt)}get activeRoutes(){return k(this,Dt)??k(this,Tt)}get branches(){return k(this,Ot)??k(this,Et)}get hasHMRRoutes(){return k(this,Dt)!=null}setRoutes(e){j(this,Tt,e),j(this,Et,_e(e))}setHmrRoutes(e){j(this,Dt,e),j(this,Ot,_e(e))}commitHmrRoutes(){k(this,Dt)&&(j(this,Tt,k(this,Dt)),j(this,Et,k(this,Ot)),j(this,Dt,void 0),j(this,Ot,void 0))}};Tt=new WeakMap,Et=new WeakMap,Dt=new WeakMap,Ot=new WeakMap;function At(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;L(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties||St,a=i;if(e.instrumentations){let t=e.instrumentations;a=e=>({...i(e),...rt(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=new kt(fe(e.routes,a,void 0,o)),c=e.basename||`/`;c.startsWith(`/`)||(c=`/${c}`);let l=e.dataStrategy||qt,u={...e.future},d=null,f=new Set,p=null,m=null,h=null,g=null,_=e.hydrationData!=null,v=he(s.activeRoutes,e.history.location,c,!1,s.branches),y=!1,b=null,x,S;if(v==null&&!e.patchRoutesOnNavigation){let t=yn(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=vn(s.activeRoutes);x=!0,S=!x,v=n,b={[r.id]:t}}else if(v&&!e.hydrationData&&et(v,s.activeRoutes,e.history.location.pathname).active&&(v=null),!v){x=!1,S=!x,v=[];let t=et(null,s.activeRoutes,e.history.location.pathname);t.active&&t.matches&&(y=!0,v=t.matches)}else if(v.some(e=>e.route.lazy))x=!1,S=!x;else if(!v.some(e=>Ft(e.route)))x=!0,S=!x;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=v;if(n){let e=v.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}S=!1,x=!0,r.forEach(e=>{let r=It(e.route,t,n);S=S||r.renderFallback,x=x&&!r.shouldLoad})}let C,w={historyAction:e.history.action,location:e.history.location,matches:v,initialized:x,renderFallback:S,navigation:yt,restoreScrollPosition:e.hydrationData==null&&null,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||b,fetchers:new Map,blockers:new Map},T=`POP`,E=null,D=!1,O,k=!1,A=new Map,j=null,M=!1,N=!1,ee=new Set,P=new Map,F=0,I=-1,z=new Map,te=new Set,V=new Map,re=new Map,ae=new Set,se=new Map,ce,le=null;function ue(){if(d=e.history.listen(({action:t,location:n,delta:r})=>{if(ce){ce(),ce=void 0;return}R(se.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=qe({currentLocation:w.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{ce=e});e.history.go(r*-1),Ke(i,{state:`blocked`,location:n,proceed(){Ke(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(w.blockers);e.set(i,xt),me({blockers:e})}}),E?.resolve(),E=null;return}return be(t,n)}),n){Un(t,A);let e=()=>Wn(t,A);t.addEventListener(`pagehide`,e),j=()=>t.removeEventListener(`pagehide`,e)}return w.initialized||be(`POP`,w.location,{initialHydration:!0}),C}function de(){d&&d(),j&&j(),f.clear(),O&&O.abort(),w.fetchers.forEach((e,t)=>Re(w.fetchers,t)),w.blockers.forEach((e,t)=>Ge(t))}function pe(e){if(f.add(e),p){let{newErrors:t}=p;p=null,e(w,{deletedFetchers:[],newErrors:t,viewTransitionOpts:void 0,flushSync:!1})}return()=>f.delete(e)}function me(e,t={}){e.matches&&(e.matches=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e})),w={...w,...e};let n=[],r=[];w.fetchers.forEach((e,t)=>{e.state===`idle`&&(ae.has(t)?n.push(t):r.push(t))}),ae.forEach(e=>{!w.fetchers.has(e)&&!P.has(e)&&n.push(e)}),f.size===0&&(p={newErrors:e.errors??null}),[...f].forEach(r=>r(w,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Re(w.fetchers,e)),r.forEach(e=>w.fetchers.delete(e))}function _e(t,n,{flushSync:r}={}){let i=w.actionData!=null&&w.navigation.formMethod!=null&&Pn(w.navigation.formMethod)&&w.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?w.actionData:null;let o=n.loaderData?hn(w.loaderData,n.loaderData,n.matches||[],n.errors):w.loaderData,c=w.blockers;c.size>0&&(c=new Map(c),c.forEach((e,t)=>c.set(t,xt)));let l=!M&&$e(t,n.matches||w.matches),u=D===!0||w.navigation.formMethod!=null&&Pn(w.navigation.formMethod)&&t.state?._isRedirect!==!0;s.commitHmrRoutes(),M||T===`POP`||(T===`PUSH`?e.history.push(t,t.state):T===`REPLACE`&&e.history.replace(t,t.state));let d;if(T===`POP`){let e=A.get(w.location.pathname);e&&e.has(t.pathname)?d={currentLocation:w.location,nextLocation:t}:A.has(t.pathname)&&(d={currentLocation:t,nextLocation:w.location})}else if(k){let e=A.get(w.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),A.set(w.location.pathname,e)),d={currentLocation:w.location,nextLocation:t}}me({...n,actionData:a,loaderData:o,historyAction:T,location:t,initialized:!0,renderFallback:!1,navigation:yt,revalidation:`idle`,restoreScrollPosition:l,preventScrollReset:u,blockers:c},{viewTransitionOpts:d,flushSync:r===!0}),T=`POP`,D=!1,k=!1,M=!1,N=!1,E?.resolve(),E=null,le?.resolve(),le=null}async function ve(t,n){if(E?.resolve(),E=null,typeof t==`number`){E||(E=Gn());let n=E.promise;return e.history.go(t),n}let{path:r,submission:i,error:a}=Nt(!1,Mt(w.location,w.matches,c,t,n?.fromRouteId,n?.relative),n),o;n?.mask&&(o={pathname:``,search:``,hash:``,...typeof n.mask==`string`?ne(n.mask):{...w.location.mask,...n.mask}});let s=w.location,l=B(s,r,n&&n.state,void 0,o);l={...l,...e.history.encodeLocation(l)};let u=n&&n.replace!=null?n.replace:void 0,d=`PUSH`;u===!0?d=`REPLACE`:u===!1||i!=null&&Pn(i.formMethod)&&i.formAction===w.location.pathname+w.location.search&&(d=`REPLACE`);let f=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,p=(n&&n.flushSync)===!0,m=qe({currentLocation:s,nextLocation:l,historyAction:d});if(m){Ke(m,{state:`blocked`,location:l,proceed(){Ke(m,{state:`proceeding`,proceed:void 0,reset:void 0,location:l}),ve(t,n)},reset(){let e=new Map(w.blockers);e.set(m,xt),me({blockers:e})}});return}await be(d,l,{submission:i,pendingError:a,preventScrollReset:f,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:p,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate})}function ye(){le||(le=Gn()),je(),me({revalidation:`loading`});let e=le.promise;return w.navigation.state===`submitting`?e:w.navigation.state===`idle`?(be(w.historyAction,w.location,{startUninterruptedRevalidation:!0}),e):(be(T||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:k===!0}),e)}async function be(t,n,r){O&&O.abort(),O=null,T=t,M=(r&&r.startUninterruptedRevalidation)===!0,Ze(w.location,w.matches),D=(r&&r.preventScrollReset)===!0,k=(r&&r.enableViewTransition)===!0;let i=s.activeRoutes,a=r?.initialHydration&&w.matches&&w.matches.length>0&&!y?w.matches:he(i,n,c,!1,s.branches),o=(r&&r.flushSync)===!0;if(a&&w.initialized&&!N&&Sn(w.location,n)&&!(r&&r.submission&&Pn(r.submission.formMethod))){_e(n,{matches:a},{flushSync:o});return}let l=et(a,i,n.pathname);if(l.active&&l.matches&&(a=l.matches),!a){let{error:e,notFoundMatches:t,route:r}=Je(n.pathname);_e(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:o});return}let u=r&&r.overrideNavigation?{...r.overrideNavigation,matches:a,historyAction:t}:void 0;O=new AbortController;let d=ln(e.history,n,O.signal,r&&r.submission),f=e.getContext?await e.getContext():new oe,p;if(r&&r.pendingError)p=[_n(a).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&Pn(r.submission.formMethod)){let i=await xe(d,n,r.submission,a,t,f,l.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:o});if(i.shortCircuited)return;if(i.pendingActionResult){let[e,t]=i.pendingActionResult;if(Dn(t)&&Qe(t.error)&&t.error.status===404){O=null,_e(n,{matches:i.matches,loaderData:{},errors:{[e]:t.error}});return}}a=i.matches||a,p=i.pendingActionResult,u=Rn(n,a,t,r.submission),o=!1,l.active=!1,d=ln(e.history,d.url,d.signal)}let{shortCircuited:m,matches:h,loaderData:g,errors:_,workingFetchers:v}=await Se(d,n,a,t,f,l.active,u,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,o,p,r&&r.callSiteDefaultShouldRevalidate);m||(O=null,_e(n,{matches:h||a,...gn(p),loaderData:g,errors:_,...v?{fetchers:v}:{}}))}async function xe(t,n,i,l,u,d,f,p,m={}){if(je(),me({navigation:zn(n,l,u,i)},{flushSync:m.flushSync===!0}),f){let e=await tt(l,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=vn(s.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=_n(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)l=e.matches;else{let{notFoundMatches:e,error:t,route:r}=Je(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let h,g=In(l,n);if(!g.route.action&&!g.route.lazy)h={type:`error`,error:yn(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};else{let e=await ke(t,n,$t(a,o,t,n,l,g,p?[]:r,d),d,null);if(h=e[g.route.id],!h){for(let t of l)if(e[t.route.id]){h=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(On(h)){let n;return n=m&&m.replace!=null?m.replace:cn(h.response.headers.get(`Location`),new URL(t.url),c,e.history)===w.location.pathname+w.location.search,await Oe(t,h,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(Dn(h)){let e=_n(l,g.route.id);return(m&&m.replace)!==!0&&(T=`PUSH`),{matches:l,pendingActionResult:[e.route.id,h,g.route.id]}}return{matches:l,pendingActionResult:[g.route.id,h]}}async function Se(t,n,i,l,u,d,f,p,m,h,g,_,v,y){let b=f||Rn(n,i,l,p),x=p||m||Ln(b),S=!M&&!g;if(d){if(S){let e=Ce(v);me({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await tt(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=vn(s.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=_n(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=Je(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let C=s.activeRoutes,{dsMatches:T,revalidatingFetchers:E}=Pt(t,u,a,o,e.history,w,i,x,n,g?[]:r,g===!0,N,ee,ae,V,te,C,c,e.patchRoutesOnNavigation!=null,s.branches,v,y);if(I=++F,!e.dataStrategy&&!T.some(e=>e.shouldLoad)&&!T.some(e=>e.route.middleware&&e.route.middleware.length>0)&&E.length===0){let e=new Map(w.fetchers),t=He(e);return _e(n,{matches:i,loaderData:{},errors:v&&Dn(v[1])?{[v[0]]:v[1].error}:null,...gn(v),...t?{fetchers:e}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=Ce(v);t!==void 0&&(e.actionData=t)}E.length>0&&(e.fetchers=we(E)),me(e,{flushSync:_})}E.forEach(e=>{Be(e.key),e.controller&&P.set(e.key,e.controller)});let D=()=>E.forEach(e=>Be(e.key));O&&O.signal.addEventListener(`abort`,D);let{loaderResults:k,fetcherResults:A}=await Ae(T,E,t,n,u);if(t.signal.aborted)return{shortCircuited:!0};O&&O.signal.removeEventListener(`abort`,D),E.forEach(e=>P.delete(e.key));let j=bn(k);if(j)return await Oe(t,j.result,!0,{replace:h}),{shortCircuited:!0};if(j=bn(A),j)return te.add(j.key),await Oe(t,j.result,!0,{replace:h}),{shortCircuited:!0};let L=new Map(w.fetchers),{loaderData:R,errors:z}=mn(w,i,k,v,E,A,L);g&&w.errors&&(z={...w.errors,...z});let B=He(L),ne=Ue(I,L),re=B||ne||E.length>0;return{matches:i,loaderData:R,errors:z,...re?{workingFetchers:L}:{}}}function Ce(e){if(e&&!Dn(e[1]))return{[e[0]]:e[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function we(e){let t=new Map(w.fetchers);return e.forEach(e=>{let n=t.get(e.key),r=Bn(void 0,n?n.data:void 0);t.set(e.key,r)}),t}async function Te(t,n,r,i){Be(t);let a=(i&&i.flushSync)===!0,o=s.activeRoutes,l=Mt(w.location,w.matches,c,r,n,i?.relative),u=he(o,l,c,!1,s.branches),d=et(u,o,l);if(d.active&&d.matches&&(u=d.matches),!u){Ne(t,n,yn(404,{pathname:l}),{flushSync:a});return}let{path:f,submission:p,error:m}=Nt(!0,l,i);if(m){Ne(t,n,m,{flushSync:a});return}let h=e.getContext?await e.getContext():new oe,g=(i&&i.preventScrollReset)===!0;if(p&&Pn(p.formMethod)){await Ee(t,n,f,u,h,d.active,a,g,p,i&&i.defaultShouldRevalidate);return}V.set(t,{routeId:n,path:f}),await De(t,n,f,u,h,d.active,a,g,p)}async function Ee(t,n,i,l,u,d,f,p,m,h){je(),V.delete(t),Me(t,Vn(m,w.fetchers.get(t)),{flushSync:f});let g=new AbortController,_=ln(e.history,i,g.signal,m);if(d){let e=await tt(l,new URL(_.url).pathname,_.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Ne(t,n,e.error,{flushSync:f});return}else if(e.matches)l=e.matches;else{Ne(t,n,yn(404,{pathname:i}),{flushSync:f});return}}let v=In(l,i);if(!v.route.action&&!v.route.lazy){Ne(t,n,yn(405,{method:m.formMethod,pathname:i,routeId:n}),{flushSync:f});return}P.set(t,g);let y=F,b=$t(a,o,_,i,l,v,r,u),x=await ke(_,i,b,u,t),S=x[v.route.id];if(!S){for(let e of b)if(x[e.route.id]){S=x[e.route.id];break}}if(_.signal.aborted){P.get(t)===g&&P.delete(t);return}if(ae.has(t)){if(On(S)||Dn(S)){Me(t,Hn(void 0));return}}else{if(On(S))if(P.delete(t),I>y){Me(t,Hn(void 0));return}else return te.add(t),Me(t,Bn(m)),Oe(_,S,!1,{fetcherSubmission:m,preventScrollReset:p});if(Dn(S)){Ne(t,n,S.error);return}}let C=w.navigation.location||w.location,E=ln(e.history,C,g.signal),D=s.activeRoutes,k=w.navigation.state===`idle`?w.matches:he(D,w.navigation.location,c,!1,s.branches);L(k,`Didn't find any matches after fetcher action`);let A=++F;z.set(t,A);let{dsMatches:j,revalidatingFetchers:M}=Pt(E,u,a,o,e.history,w,k,m,C,r,!1,N,ee,ae,V,te,D,c,e.patchRoutesOnNavigation!=null,s.branches,[v.route.id,S],h),R=Bn(m,S.data),B=new Map(w.fetchers);B.set(t,R),M.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=B.get(t),r=Bn(void 0,n?n.data:void 0);B.set(t,r),Be(t),e.controller&&P.set(t,e.controller)}),me({fetchers:B});let ne=()=>M.forEach(e=>Be(e.key));g.signal.addEventListener(`abort`,ne);let{loaderResults:re,fetcherResults:ie}=await Ae(j,M,E,C,u);if(g.signal.aborted)return;g.signal.removeEventListener(`abort`,ne),z.delete(t),P.delete(t),M.forEach(e=>P.delete(e.key));let oe=w.fetchers.has(t),se=e=>{if(!oe)return e;let n=new Map(e.fetchers);return n.set(t,Hn(S.data)),{...e,fetchers:n}},ce=bn(re);if(ce)return w=se(w),Oe(E,ce.result,!1,{preventScrollReset:p});if(ce=bn(ie),ce)return te.add(ce.key),w=se(w),Oe(E,ce.result,!1,{preventScrollReset:p});let le=new Map(w.fetchers);oe&&le.set(t,Hn(S.data));let{loaderData:ue,errors:de}=mn(w,k,re,void 0,M,ie,le);Ue(A,le),w.navigation.state===`loading`&&A>I?(L(T,`Expected pending action`),O&&O.abort(),_e(w.navigation.location,{matches:k,loaderData:ue,errors:de,fetchers:le})):(me({errors:de,loaderData:hn(w.loaderData,ue,k,de),fetchers:le}),N=!1)}async function De(t,n,i,s,c,l,u,d,f){let p=w.fetchers.get(t);Me(t,Bn(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=ln(e.history,i,m.signal);if(l){let e=await tt(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){Ne(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{Ne(t,n,yn(404,{pathname:i}),{flushSync:u});return}}let g=In(s,i);P.set(t,m);let _=F,v=await ke(h,i,$t(a,o,h,i,s,g,r,c),c,t),y=v[g.route.id];if(!y){for(let e of s)if(v[e.route.id]){y=v[e.route.id];break}}if(P.get(t)===m&&P.delete(t),!h.signal.aborted){if(ae.has(t)){Me(t,Hn(void 0));return}if(On(y))if(I>_){Me(t,Hn(void 0));return}else{te.add(t),await Oe(h,y,!1,{preventScrollReset:d});return}if(Dn(y)){Ne(t,n,y.error);return}Me(t,Hn(y.data))}}async function Oe(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:l,replace:u}={}){a||(E?.resolve(),E=null),i.response.headers.has(`X-Remix-Revalidate`)&&(N=!0);let d=i.response.headers.get(`Location`);L(d,`Expected a Location header on the redirect Response`),d=cn(d,new URL(r.url),c,e.history);let f=B(w.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(Le(d)){let n=ie(t,d,!0);e=n.origin!==t.location.origin||Fe(n.pathname,c)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}O=null;let p=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:m,formAction:h,formEncType:g}=w.navigation;!o&&!s&&m&&h&&g&&(o=Ln(w.navigation));let _=o||s;vt.has(i.response.status)&&_&&Pn(_.formMethod)?await be(p,f,{submission:{..._,formAction:d},preventScrollReset:l||D,enableViewTransition:a?k:void 0}):await be(p,f,{overrideNavigation:Rn(f,[],p,o),fetcherSubmission:s,preventScrollReset:l||D,enableViewTransition:a?k:void 0})}async function ke(e,t,n,r,i){let a,o={};try{a=await en(l,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!Pn(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!w.loaderData.hasOwnProperty(e.route.id)&&(!w.errors||!w.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(En(r)){let i=r.result;o[t]={type:`redirect`,response:an(i,e,t,n,c)}}else o[t]=await rn(r);return o}async function Ae(e,t,n,r,i){let a=ke(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await ke(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:yn(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function je(){N=!0,V.forEach((e,t)=>{P.has(t)&&ee.add(t),Be(t)})}function Me(e,t,n={}){let r=new Map(w.fetchers);r.set(e,t),me({fetchers:r},{flushSync:(n&&n.flushSync)===!0})}function Ne(e,t,n,r={}){let i=_n(w.matches,t),a=new Map(w.fetchers);Re(a,e),me({errors:{[i.route.id]:n},fetchers:a},{flushSync:(r&&r.flushSync)===!0})}function Pe(e){return re.set(e,(re.get(e)||0)+1),ae.has(e)&&ae.delete(e),w.fetchers.get(e)||bt}function Ie(e,t){Be(e,t?.reason),Me(e,Hn(null))}function Re(e,t){let n=w.fetchers.get(t);P.has(t)&&!(n&&n.state===`loading`&&z.has(t))&&Be(t),V.delete(t),z.delete(t),te.delete(t),ae.delete(t),ee.delete(t),e.delete(t)}function ze(e){let t=(re.get(e)||0)-1;t<=0?(re.delete(e),ae.add(e)):re.set(e,t),me({fetchers:new Map(w.fetchers)})}function Be(e,t){let n=P.get(e);n&&(n.abort(t),P.delete(e))}function Ve(e,t){for(let n of e){let e=t.get(n);L(e,`Expected fetcher: ${n}`);let r=Hn(e.data);t.set(n,r)}}function He(e){let t=[],n=!1;for(let r of te){let i=e.get(r);L(i,`Expected fetcher: ${r}`),i.state===`loading`&&(te.delete(r),t.push(r),n=!0)}return Ve(t,e),n}function Ue(e,t){let n=[];for(let[r,i]of z)if(i<e){let e=t.get(r);L(e,`Expected fetcher: ${r}`),e.state===`loading`&&(Be(r),z.delete(r),n.push(r))}return Ve(n,t),n.length>0}function We(e,t){let n=w.blockers.get(e)||xt;return se.get(e)!==t&&se.set(e,t),n}function Ge(e){w.blockers.delete(e),se.delete(e)}function Ke(e,t){let n=w.blockers.get(e)||xt;L(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(w.blockers);r.set(e,t),me({blockers:r})}function qe({currentLocation:e,nextLocation:t,historyAction:n}){if(se.size===0)return;se.size>1&&R(!1,`A router only supports one blocker at a time`);let r=Array.from(se.entries()),[i,a]=r[r.length-1],o=w.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function Je(e){let t=yn(404,{pathname:e}),n=s.activeRoutes,{matches:r,route:i}=vn(n);return{notFoundMatches:r,route:i,error:t}}function Ye(e,t,n){if(m=e,g=t,h=n||null,!_&&w.navigation===yt){_=!0;let e=$e(w.location,w.matches);e!=null&&me({restoreScrollPosition:e})}return()=>{m=null,g=null,h=null}}function Xe(e,t){return h&&h(e,t.map(e=>ge(e,w.loaderData)))||e.key}function Ze(e,t){if(m&&g){let n=Xe(e,t);m[n]=g()}}function $e(e,t){if(m){let n=Xe(e,t),r=m[n];if(typeof r==`number`)return r}return null}function et(t,n,r){if(e.patchRoutesOnNavigation){let e=s.branches;if(!t)return{active:!0,matches:he(n,r,c,!0,e)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:he(n,r,c,!0,e)}}return{active:!1,matches:null}}async function tt(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let l=t;for(;;){let t=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:l,fetcherKey:i,patch:(e,n)=>{r.aborted||Bt(e,n,s,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:l}}if(r.aborted)return{type:`aborted`};let u=s.branches,d=he(s.activeRoutes,n,c,!1,u),f=null;if(d&&(Object.keys(d[0].params).length===0||(f=he(s.activeRoutes,n,c,!0,u),!(f&&l.length<f.length&&nt(l,f.slice(0,l.length))))))return{type:`success`,matches:d};if(f||(f=he(s.activeRoutes,n,c,!0,u)),!f||nt(l,f))return{type:`success`,matches:null};l=f}}function nt(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function at(e){o={},s.setHmrRoutes(fe(e,a,void 0,o))}function ot(e,t,n=!1){Bt(e,t,s,o,a,n),s.hasHMRRoutes||me({})}return C={get basename(){return c},get future(){return u},get state(){return w},get routes(){return s.stableRoutes},get branches(){return s.branches},get manifest(){return o},get window(){return t},initialize:ue,subscribe:pe,enableScrollRestoration:Ye,navigate:ve,fetch:Te,revalidate:ye,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Pe,resetFetcher:Ie,deleteFetcher:ze,dispose:de,getBlocker:We,deleteBlocker:Ge,patchRoutes:ot,_internalFetchControllers:P,_internalSetRoutes:at,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){me(e)}},e.instrumentations&&(C=it(C,e.instrumentations.map(e=>e.router).filter(Boolean))),C}function jt(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function Mt(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=Ue(r||`.`,He(o),Fe(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=Fn(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll(`index`);e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=Ie({basename:n,pathname:c.pathname})),V(c)}function Nt(e,t,n){if(!n||!jt(n))return{path:t};if(n.formMethod&&!Nn(n.formMethod))return{path:t,error:yn(405,{method:n.formMethod})};let r=()=>({path:t,error:yn(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=xn(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!Pn(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}
`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!Pn(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}L(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=dn(n.formData),s=n.formData;else if(n.body instanceof FormData)o=dn(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=fn(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=fn(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(Pn(c.formMethod))return{path:t,submission:c};let l=ne(t);return e&&l.search&&Fn(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:V(l),submission:c}}function Pt(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x){let S=b?Dn(b[1])?b[1].error:b[1].data:void 0,C=i.createURL(a.location),w=i.createURL(c),T;if(u&&a.errors){let e=Object.keys(a.errors)[0];T=o.findIndex(t=>t.route.id===e)}else if(b&&Dn(b[1])){let e=b[0];T=o.findIndex(t=>t.route.id===e)-1}let E=b?b[1].statusCode:void 0,D=E&&E>=400,O={currentUrl:C,currentParams:a.matches[0]?.params||{},nextUrl:w,nextParams:o[0].params,...s,actionResult:S,actionStatus:E},k=$e(o),A=o.map((i,o)=>{let{route:s}=i,f=null;if(T!=null&&o>T)f=!1;else if(s.lazy)f=!0;else if(!Ft(s))f=!1;else if(u){let{shouldLoad:e}=It(s,a.loaderData,a.errors);f=e}else Lt(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return Qt(n,r,e,c,k,i,l,t,f);let p=!1;typeof x==`boolean`?p=x:D?p=!1:d||C.pathname+C.search===w.pathname+w.search?p=!0:C.search===w.search?Rt(a.matches[o],i)&&(p=!0):p=!0;let m={...O,defaultShouldRevalidate:p},h=zt(i,m);return Qt(n,r,e,c,k,i,l,t,h,m,x)}),j=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,b=he(g,e.path,_??`/`,!1,y);if(!b){if(v&&m)return;j.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let S=In(b,e.path),C=new AbortController,w=ln(i,e.path,C.signal),T=null;if(f.has(s))f.delete(s),T=$t(n,r,w,e.path,b,S,l,t);else if(m)d&&(T=$t(n,r,w,e.path,b,S,l,t));else{let i;i=typeof x==`boolean`?x:!D&&d;let a={...O,defaultShouldRevalidate:i};zt(S,a)&&(T=$t(n,r,w,e.path,b,S,l,t,a))}T&&j.push({key:s,routeId:e.routeId,path:e.path,matches:T,match:S,request:w,controller:C})}),{dsMatches:A,revalidatingFetchers:j}}function Ft(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function It(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!Ft(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function Lt(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function Rt(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function zt(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function Bt(e,t,n,r,i,a){let o;if(e){let t=r[e];L(t,`No route found to patch children into: routeId = ${e}`),t.children||(t.children=[]),o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>Vt(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=fe(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=fe([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function Vt(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>Vt(e,t)))??!1:!1}var Ht=new WeakMap,Ut=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(L(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=Ht.get(i);o||(o={},Ht.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=ce(e),n=i[e]!==void 0&&e!==`hasErrorBoundary`;if(t)R(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)R(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},Wt=new WeakMap;function Gt(e,t,n,r,i){let a=n[e.id];if(L(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=Wt.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{L(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=ue(e),o=a[e]!==void 0&&e!==`hasErrorBoundary`;i?R(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?R(!o,`Route "${a.id}" has a static property "${e}" defined but its lazy function is also returning a value for this property. The lazy route property "${e}" will be ignored.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return Wt.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=Ut({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function Kt(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function qt(e){return e.matches.some(e=>e.route.middleware)?Jt(e,()=>Kt(e)):Kt(e)}function Jt(e,t){return Yt(e,t,e=>{if(Mn(e))throw e;return e},wn,n);function n(t,n,r){if(r)return Promise.resolve(Object.assign(r.value,{[n]:{type:`error`,result:t}}));{let{matches:r}=e,i=_n(r,r[Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0))].route.id).route.id;return Promise.resolve({[i]:{type:`error`,result:t}})}}}async function Yt(e,t,n,r,i){let{matches:a,...o}=e;return await Xt(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function Xt(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await Xt(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function Zt(e,t,n,r,i){let a=Ut({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=Gt(r.route,Pn(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function Qt(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=Zt(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?zt(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?zt(a,{...l,defaultShouldRevalidate:e}):zt(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!Pn(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&(Pn(n.method)||!p)?tn({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function $t(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?Qt(e,t,n,r,$e(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:Zt(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function en(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:un(t,n),pattern:$e(r),params:r[0].params,context:a,matches:r},c=o?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=s;return Jt(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function tn({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=Pn(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:un(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a)if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw yn(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}else if(t)c=await f(t);else{let t=new URL(e.url);throw yn(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function nn(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function rn(e){let{result:t,type:n}=e;if(An(t)){let e;try{e=await nn(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new Ze(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?kn(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:Cn(t),statusCode:Qe(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:Qe(t)?t.status:void 0}:kn(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function an(e,t,n,r,i){let a=e.headers.get(`Location`);if(L(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!Le(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=Mt(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var on=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function sn(e){try{return on.includes(new URL(e).protocol)}catch{return!1}}function cn(e,t,n,r){if(Le(e)){let r=e,i=N.test(r)?new URL(ee(r,t.protocol)):new URL(r);if(sn(i.toString()))throw Error(`Invalid redirect location`);let a=Fe(i.pathname,n)!=null;if(i.origin===t.origin&&a)return We(i.pathname)+i.search+i.hash}try{if(sn(r.createURL(e).toString()))throw Error(`Invalid redirect location`)}catch{}return e}function ln(e,t,n,r){let i=e.createURL(xn(t)).toString(),a={signal:n};if(r&&Pn(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=dn(r.formData):a.body=r.formData}return new Request(i,a)}function un(e,t){let n=new URL(e.url),r=typeof t==`string`?ne(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);n.search=e.size?`?${e.toString()}`:``}else n.search=``;return n.hash=r.hash||``,n}function dn(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function fn(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function pn(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&Dn(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,f=t[d];if(L(!On(f),`Cannot handle redirect results in processLoaderData`),Dn(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o=o||{},i)o[d]=t;else{let n=_n(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=wt),c||(c=!0,s=Qe(f.error)?f.error.status:500),f.headers&&(l[d]=f.headers)}else a[d]=f.data,f.statusCode&&f.statusCode!==200&&!c&&(s=f.statusCode),f.headers&&(l[d]=f.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function mn(e,t,n,r,i,a,o){let{loaderData:s,errors:c}=pn(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let s=a[n];if(L(s,`Did not find corresponding fetcher result`),Dn(s)){let t=_n(e.matches,r?.route.id);c&&c[t.route.id]||(c={...c,[t.route.id]:s.error}),o.delete(n)}else if(On(s))L(!1,`Unhandled fetcher revalidation redirect`);else{let e=Hn(s.data);o.set(n,e)}}),{loaderData:s,errors:c}}function hn(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==wt).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function gn(e){return e?Dn(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function _n(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.hasErrorBoundary===!0)||e[0]}function vn(e){let t=e.length===1?e[0]:e.find(e=>e.index||!e.path||e.path===`/`)||{id:`__shim-error-route__`};return{matches:[{params:{},pathname:``,pathnameBase:``,route:t}],route:t}}function yn(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new Ze(e||500,o,Error(s),!0)}function bn(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(On(r))return{key:n,result:r}}}function xn(e){return V({...typeof e==`string`?ne(e):e,hash:``})}function Sn(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash||t.hash!==``}function Cn(e){return new Ze(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function wn(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&Tn(t))}function Tn(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function En(e){return An(e.result)&&_t.has(e.result.status)}function Dn(e){return e.type===`error`}function On(e){return(e&&e.type)===`redirect`}function kn(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function An(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function jn(e){return _t.has(e)}function Mn(e){return An(e)&&jn(e.status)&&e.headers.has(`Location`)}function Nn(e){return gt.has(e.toUpperCase())}function Pn(e){return mt.has(e.toUpperCase())}function Fn(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function In(e,t){let n=typeof t==`string`?ne(t).search:t.search;if(e[e.length-1].route.index&&Fn(n||``))return e[e.length-1];let r=Ve(e);return r[r.length-1]}function Ln(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function Rn(e,t,n,r){return r?{state:`loading`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}:{state:`loading`,location:e,matches:t,historyAction:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function zn(e,t,n,r){return{state:`submitting`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}}function Bn(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function Vn(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Hn(e){return{state:`idle`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Un(e,t){try{let n=e.sessionStorage.getItem(Ct);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function Wn(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(Ct,JSON.stringify(n))}catch(e){R(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function Gn(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var Kn=y.createContext(null);Kn.displayName=`DataRouter`;var qn=y.createContext(null);qn.displayName=`DataRouterState`;var Jn=y.createContext(!1);function Yn(){return y.useContext(Jn)}var Xn=y.createContext({isTransitioning:!1});Xn.displayName=`ViewTransition`;var Zn=y.createContext(new Map);Zn.displayName=`Fetchers`;var Qn=y.createContext(null);Qn.displayName=`Await`;var $n=y.createContext(null);$n.displayName=`Navigation`;var er=y.createContext(null);er.displayName=`Location`;var tr=y.createContext({outlet:null,matches:[],isDataRoute:!1});tr.displayName=`Route`;var nr=y.createContext(null);nr.displayName=`RouteError`;var rr=`REACT_ROUTER_ERROR`,ir=`REDIRECT`,ar=`ROUTE_ERROR_RESPONSE`;function or(e){if(e.startsWith(`${rr}:${ir}:{`))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 sr(e){if(e.startsWith(`${rr}:${ar}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Ze(t.status,t.statusText,t.data)}catch{}}function cr(e,{relative:t}={}){L(lr(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=y.useContext($n),{hash:i,pathname:a,search:o}=vr(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Ge([n,a])),r.createHref({pathname:s,search:o,hash:i})}function lr(){return y.useContext(er)!=null}function ur(){return L(lr(),`useLocation() may be used only in the context of a <Router> component.`),y.useContext(er).location}var dr=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function fr(e){y.useContext($n).static||y.useLayoutEffect(e)}function pr(){let{isDataRoute:e}=y.useContext(tr);return e?zr():mr()}function mr(){L(lr(),`useNavigate() may be used only in the context of a <Router> component.`);let e=y.useContext(Kn),{basename:t,navigator:n}=y.useContext($n),{matches:r}=y.useContext(tr),{pathname:i}=ur(),a=JSON.stringify(He(r)),o=y.useRef(!1);return fr(()=>{o.current=!0}),y.useCallback((r,s={})=>{if(R(o.current,dr),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Ue(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Ge([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var hr=y.createContext(null);function gr(e){let t=y.useContext(tr).outlet;return y.useMemo(()=>t&&y.createElement(hr.Provider,{value:e},t),[t,e])}function _r(){let{matches:e}=y.useContext(tr);return e[e.length-1]?.params??{}}function vr(e,{relative:t}={}){let{matches:n}=y.useContext(tr),{pathname:r}=ur(),i=JSON.stringify(He(n));return y.useMemo(()=>Ue(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function yr(e,t){return br(e,t)}function br(e,t,n){L(lr(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=y.useContext($n),{matches:i}=y.useContext(tr),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||``;Vr(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.
Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let u=ur(),d;if(t){let e=typeof t==`string`?ne(t):t;L(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})):me(e,{pathname:p});R(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),R(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=Dr(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:Ge([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:Ge([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?y.createElement(er.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...d},navigationType:`POP`}},h):h}function xr(){let e=Ir(),t=Qe(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=y.createElement(y.Fragment,null,y.createElement(`p`,null,`💿 Hey developer 👋`),y.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,y.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,y.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),y.createElement(y.Fragment,null,y.createElement(`h2`,null,`Unexpected Application Error!`),y.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?y.createElement(`pre`,{style:i},n):null,o)}var Sr=y.createElement(xr,null),Cr=class extends y.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=sr(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:y.createElement(tr.Provider,{value:this.props.routeContext},y.createElement(nr.Provider,{value:e,children:this.props.component}));return this.context?y.createElement(Tr,{error:e},t):t}};Cr.contextType=Jn;var wr=new WeakMap;function Tr({children:e,error:t}){let{basename:n}=y.useContext($n);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=or(t.digest);if(e){let r=wr.get(t);if(r)throw r;let i=tt(e.location,n),a=i.absoluteURL||i.to;if(sn(a))throw Error(`Invalid redirect location`);if(et&&!wr.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 wr.set(t,n),n}return y.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a}`})}}return e}function Er({routeContext:e,match:t,children:n}){let r=y.useContext(Kn);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),y.createElement(tr.Provider,{value:e},n)}function Dr(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);L(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:$e(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||Sr,o&&(s<0&&c===0?(Vr(`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?y.createElement(n.route.Component,null):n.route.element?n.route.element:e,y.createElement(Er,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?y.createElement(Cr,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function Or(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function kr(e){let t=y.useContext(Kn);return L(t,Or(e)),t}function Ar(e){let t=y.useContext(qn);return L(t,Or(e)),t}function jr(e){let t=y.useContext(tr);return L(t,Or(e)),t}function Mr(e){let t=jr(e),n=t.matches[t.matches.length-1];return L(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Nr(){return Mr(`useRouteId`)}function Pr(){let e=Ar(`useNavigation`);return y.useMemo(()=>{let{matches:t,historyAction:n,...r}=e.navigation;return r},[e.navigation])}function Fr(){let{matches:e,loaderData:t}=Ar(`useMatches`);return y.useMemo(()=>e.map(e=>ge(e,t)),[e,t])}function Ir(){let e=y.useContext(nr),t=Ar(`useRouteError`),n=Mr(`useRouteError`);return e===void 0?t.errors?.[n]:e}var Lr=0;function Rr(e){let{router:t,basename:n}=kr(`useBlocker`),r=Ar(`useBlocker`),[i,a]=y.useState(``),o=y.useCallback(t=>{if(typeof e!=`function`)return!!e;if(n===`/`)return e(t);let{currentLocation:r,nextLocation:i,historyAction:a}=t;return e({currentLocation:{...r,pathname:Fe(r.pathname,n)||r.pathname},nextLocation:{...i,pathname:Fe(i.pathname,n)||i.pathname},historyAction:a})},[n,e]);return y.useEffect(()=>{let e=String(++Lr);return a(e),()=>t.deleteBlocker(e)},[t]),y.useEffect(()=>{i!==``&&t.getBlocker(i,o)},[t,i,o]),i&&r.blockers.has(i)?r.blockers.get(i):xt}function zr(){let{router:e}=kr(`useNavigate`),t=Mr(`useNavigate`),n=y.useRef(!1);return fr(()=>{n.current=!0}),y.useCallback(async(r,i={})=>{R(n.current,dr),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var Br={};function Vr(e,t,n){!t&&!Br[e]&&(Br[e]=!0,R(!1,n))}var Hr={};function Ur(e,t){!e&&!Hr[t]&&(Hr[t]=!0,console.warn(t))}var Wr=y.useOptimistic,Gr=()=>void 0;function Kr(e){return Wr?Wr(e):[e,Gr]}function qr(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&R(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:y.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&R(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:y.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&R(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:y.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var Jr=[`HydrateFallback`,`hydrateFallbackElement`],Yr=class{constructor(){this.status=`pending`,this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function Xr({router:e,flushSync:t,onError:n,useTransitions:r}){r=Yn()||r;let[i,a]=y.useState(e.state),[o,s]=Kr(i),[c,l]=y.useState(),[u,d]=y.useState({isTransitioning:!1}),[f,p]=y.useState(),[m,h]=y.useState(),[g,_]=y.useState(),v=y.useRef(new Map),b=y.useCallback((i,{deletedFetchers:o,newErrors:c,flushSync:u,viewTransitionOpts:g})=>{c&&n&&Object.values(c).forEach(e=>n(e,{location:i.location,params:i.matches[0]?.params??{},pattern:$e(i.matches)})),i.fetchers.forEach((e,t)=>{e.data!==void 0&&v.current.set(t,e.data)}),o.forEach(e=>v.current.delete(e)),Ur(u===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let b=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(Ur(g==null||b,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!g||!b){t&&u?t(()=>a(i)):r===!1?a(i):y.startTransition(()=>{r===!0&&s(e=>Zr(e,i)),a(i)});return}if(t&&u){t(()=>{m&&(f?.resolve(),m.skipTransition()),d({isTransitioning:!0,flushSync:!0,currentLocation:g.currentLocation,nextLocation:g.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>a(i))});n.finished.finally(()=>{t(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})})}),t(()=>h(n));return}m?(f?.resolve(),m.skipTransition(),_({state:i,currentLocation:g.currentLocation,nextLocation:g.nextLocation})):(l(i),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}))},[e.window,t,m,f,r,s,n]);y.useLayoutEffect(()=>e.subscribe(b),[e,b]),y.useEffect(()=>{u.isTransitioning&&!u.flushSync&&p(new Yr)},[u]),y.useEffect(()=>{if(f&&c&&e.window){let t=c,n=f.promise,i=e.window.document.startViewTransition(async()=>{r===!1?a(t):y.startTransition(()=>{r===!0&&s(e=>Zr(e,t)),a(t)}),await n});i.finished.finally(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})}),h(i)}},[c,f,e.window,r,s]),y.useEffect(()=>{f&&c&&o.location.key===c.location.key&&f.resolve()},[f,m,o.location,c]),y.useEffect(()=>{!u.isTransitioning&&g&&(l(g.state),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}),_(void 0))},[u.isTransitioning,g]);let x=y.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),S=e.basename||`/`,C=y.useMemo(()=>({router:e,navigator:x,static:!1,basename:S,onError:n}),[e,x,S,n]);return y.createElement(y.Fragment,null,y.createElement(Kn.Provider,{value:C},y.createElement(qn.Provider,{value:o},y.createElement(Zn.Provider,{value:v.current},y.createElement(Xn.Provider,{value:u},y.createElement(ni,{basename:S,location:o.location,navigationType:o.historyAction,navigator:x,useTransitions:r},y.createElement(Qr,{routes:e.routes,manifest:e.manifest,future:e.future,state:o,isStatic:!1,onError:n})))))),null)}function Zr(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var Qr=y.memo($r);function $r({routes:e,manifest:t,future:n,state:r,isStatic:i,onError:a}){return br(e,void 0,{manifest:t,state:r,isStatic:i,onError:a,future:n})}function ei({to:e,replace:t,state:n,relative:r}){L(lr(),`<Navigate> may be used only in the context of a <Router> component.`);let{static:i}=y.useContext($n);R(!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}=y.useContext(tr),{pathname:o}=ur(),s=pr(),c=Ue(e,He(a),o,r===`path`),l=JSON.stringify(c);return y.useEffect(()=>{s(JSON.parse(l),{replace:t,state:n,relative:r})},[s,l,r,t,n]),null}function ti(e){return gr(e.context)}function ni({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){L(!lr(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=y.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=ne(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=y.useMemo(()=>{let e=Fe(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]);return R(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:y.createElement($n.Provider,{value:c},y.createElement(er.Provider,{children:t,value:h}))}y.Component;var ri=`get`,ii=`application/x-www-form-urlencoded`;function ai(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function oi(e){return ai(e)&&e.tagName.toLowerCase()===`button`}function si(e){return ai(e)&&e.tagName.toLowerCase()===`form`}function ci(e){return ai(e)&&e.tagName.toLowerCase()===`input`}function li(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ui(e,t){return e.button===0&&(!t||t===`_self`)&&!li(e)}function di(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function fi(e,t){let n=di(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var pi=null;function mi(){if(pi===null)try{new FormData(document.createElement(`form`),0),pi=!1}catch{pi=!0}return pi}var hi=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function gi(e){return e!=null&&!hi.has(e)?(R(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ii}"`),null):e}function _i(e,t){let n,r,i,a,o;if(si(e)){let o=e.getAttribute(`action`);r=o?Fe(o,t):null,n=e.getAttribute(`method`)||ri,i=gi(e.getAttribute(`enctype`))||ii,a=new FormData(e)}else if(oi(e)||ci(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?Fe(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||ri,i=gi(e.getAttribute(`formenctype`))||gi(o.getAttribute(`enctype`))||ii,a=new FormData(o,e),!mi()){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(ai(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=ri,r=null,i=ii,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`);var vi={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},yi=/[&><\u2028\u2029]/g;function bi(e){return e.replace(yi,e=>vi[e])}function xi(e,t){if(e===!1||e==null)throw Error(t)}function Si(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&Fe(i.pathname,t)===`/`?i.pathname=`${Ke(t)}/_root.${r}`:i.pathname=`${Ke(i.pathname)}.${r}`,i}async function Ci(e,t){if(e.id in t)return t[e.id];try{let n=await E(()=>import(e.module),void 0,import.meta.url);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 wi(e){return e!=null&&typeof e.page==`string`}function Ti(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 Ei(e,t,n){return ji((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Ci(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(Ti).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Di(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)=>o(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 Oi(e,t,{includeHydrateFallback:n}={}){return ki(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 ki(e){return[...new Set(e)]}function Ai(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function ji(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!wi(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Ai(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Mi(){let e=y.useContext(Kn);return xi(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Ni(){let e=y.useContext(qn);return xi(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var Pi=y.createContext(void 0);Pi.displayName=`FrameworkContext`;function Fi(){let e=y.useContext(Pi);return xi(e,`You must render this element inside a <HydratedRouter> element`),e}function Ii(e,t){let n=y.useContext(Pi),[r,i]=y.useState(!1),[a,o]=y.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=y.useRef(null);y.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]),y.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:Li(s,p),onBlur:Li(c,m),onMouseEnter:Li(l,p),onMouseLeave:Li(u,m),onTouchStart:Li(d,p)}]:[a,f,{}]:[!1,f,{}]}function Li(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Ri({page:e,...t}){let n=Yn(),{nonce:r}=Fi(),{router:i}=Mi(),a=y.useMemo(()=>me(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?y.createElement(Bi,{page:e,matches:a,...t}):y.createElement(Vi,{page:e,matches:a,...t})):null}function zi(e){let{manifest:t,routeModules:n}=Fi(),[r,i]=y.useState([]);return y.useEffect(()=>{let r=!1;return Ei(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function Bi({page:e,matches:t,...n}){let r=ur(),{future:i}=Fi(),{basename:a}=Mi(),o=y.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=Si(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 y.createElement(y.Fragment,null,o.map(e=>y.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function Vi({page:e,matches:t,...n}){let r=ur(),{future:i,manifest:a,routeModules:o}=Fi(),{basename:s}=Mi(),{loaderData:c,matches:l}=Ni(),u=y.useMemo(()=>Di(e,t,l,a,r,`data`),[e,t,l,a,r]),d=y.useMemo(()=>Di(e,t,l,a,r,`assets`),[e,t,l,a,r]),f=y.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=Si(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=y.useMemo(()=>Oi(d,a),[d,a]),m=zi(d);return y.createElement(y.Fragment,null,f.map(e=>y.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),p.map(e=>y.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),m.map(({key:e,link:t})=>y.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function Hi(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}y.Component;var Ui=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Ui&&(window.__reactRouterVersion=`7.18.1`)}catch{}function Wi(e,t){return At({basename:t?.basename,getContext:t?.getContext,future:t?.future,history:I({window:t?.window}),hydrationData:t?.hydrationData||Gi(),routes:e,mapRouteProperties:qr,hydrationRouteProperties:Jr,dataStrategy:t?.dataStrategy,patchRoutesOnNavigation:t?.patchRoutesOnNavigation,window:t?.window,instrumentations:t?.instrumentations}).initialize()}function Gi(){let e=window?.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:Ki(e.errors)}),e}function Ki(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new Ze(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(typeof r.__subType==`string`&&Xe.includes(r.__subType)){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=``,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=``,n[e]=t}}else n[e]=r;return n}function qi({basename:e,children:t,history:n,useTransitions:r}){let[i,a]=y.useState({action:n.action,location:n.location}),o=y.useCallback(e=>{r===!1?a(e):y.startTransition(()=>a(e))},[r]);return y.useLayoutEffect(()=>n.listen(o),[n,o]),y.createElement(ni,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:n,useTransitions:r})}qi.displayName=`unstable_HistoryRouter`;var Ji=y.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:_}=y.useContext($n),v=typeof l==`string`&&M.test(l),b=tt(l,h);l=b.to;let x=cr(l,{relative:r}),S=ur(),C=null;if(o){let e=Ue(o,[],S.mask?S.mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:Ge([h,e.pathname])),C=g.createHref(e)}let[w,T,E]=Ii(n,p),D=ta(l,{replace:a,mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,defaultShouldRevalidate:f,useTransitions:_});function O(t){e&&e(t),t.defaultPrevented||D(t)}let k=!(b.isExternal||i),A=y.createElement(`a`,{...p,...E,href:(k?C:void 0)||b.absoluteURL||x,onClick:k?O:e,ref:Hi(m,T),target:c,"data-discover":!v&&t===`render`?`true`:void 0});return w&&!v?y.createElement(y.Fragment,null,A,y.createElement(Ri,{page:x})):A});Ji.displayName=`Link`;var Yi=y.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=vr(a,{relative:c.relative}),d=ur(),f=y.useContext(qn),{navigator:p,basename:m}=y.useContext($n),h=f!=null&&fa(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=Fe(v,m)||v);let b=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,x=_===g||!r&&_.startsWith(g)&&_.charAt(b)===`/`,S=v!=null&&(v===g||!r&&v.startsWith(g)&&v.charAt(g.length)===`/`),C={isActive:x,isPending:S,isTransitioning:h},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let E=typeof i==`function`?i(C):i;return y.createElement(Ji,{...c,"aria-current":w,className:T,ref:l,style:E,to:a,viewTransition:o},typeof s==`function`?s(C):s)});Yi.displayName=`NavLink`;var Xi=y.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=ri,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,defaultShouldRevalidate:f,...p},m)=>{let{useTransitions:h}=y.useContext($n),g=aa(),_=oa(s,{relative:l}),v=o.toLowerCase()===`get`?`get`:`post`,b=typeof s==`string`&&M.test(s);return y.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?y.startTransition(()=>p()):p()},...p,"data-discover":!b&&e===`render`?`true`:void 0})});Xi.displayName=`Form`;function Zi({getKey:e,storageKey:t,...n}){let r=y.useContext(Pi),{basename:i}=y.useContext($n),a=ur(),o=Fr();ua({getKey:e,storageKey:t});let s=y.useMemo(()=>{if(!r||!e)return null;let t=la(a,o,i,e);return t===a.key?null:t},[]);if(!r||r.isSpaMode)return null;let c=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return n.nonce==null&&r?.nonce&&(n.nonce=r.nonce),y.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${c})(${bi(JSON.stringify(t||sa))}, ${bi(JSON.stringify(s))})`}})}Zi.displayName=`ScrollRestoration`;function Qi(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function $i(e){let t=y.useContext(Kn);return L(t,Qi(e)),t}function ea(e){let t=y.useContext(qn);return L(t,Qi(e)),t}function ta(e,{target:t,replace:n,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c,useTransitions:l}={}){let u=pr(),d=ur(),f=vr(e,{relative:o});return y.useCallback(p=>{if(ui(p,t)){p.preventDefault();let t=n===void 0?V(d)===V(f):n,m=()=>u(e,{replace:t,mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,defaultShouldRevalidate:c});l?y.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}function na(e){R(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=y.useRef(di(e)),n=y.useRef(!1),r=ur(),i=y.useMemo(()=>fi(r.search,n.current?null:t.current),[r.search]),a=pr();return[i,y.useCallback((e,t)=>{let r=di(typeof e==`function`?e(new URLSearchParams(i)):e);n.current=!0,a(`?`+r,t)},[a,i])]}var ra=0,ia=()=>`__${String(++ra)}__`;function aa(){let{router:e}=$i(`useSubmit`),{basename:t}=y.useContext($n),n=Nr(),r=e.fetch,i=e.navigate;return y.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=_i(e,t);if(a.navigate===!1){let e=a.fetcherKey||ia();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 oa(e,{relative:t}={}){let{basename:n}=y.useContext($n),r=y.useContext(tr);L(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...vr(e||`.`,{relative:t})},o=ur();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:Ge([n,a.pathname])),V(a)}var sa=`react-router-scroll-positions`,ca={};function la(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:Fe(e.pathname,n)||e.pathname},t)),i??(i=e.key),i}function ua({getKey:e,storageKey:t}={}){let{router:n}=$i(`useScrollRestoration`),{restoreScrollPosition:r,preventScrollReset:i}=ea(`useScrollRestoration`),{basename:a}=y.useContext($n),o=ur(),s=Fr(),c=Pr();y.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),da(y.useCallback(()=>{if(c.state===`idle`){let t=la(o,s,a,e);ca[t]=window.scrollY}try{sessionStorage.setItem(t||sa,JSON.stringify(ca))}catch(e){R(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[c.state,e,a,o,s,t])),typeof document<`u`&&(y.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||sa);e&&(ca=JSON.parse(e))}catch{}},[t]),y.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(ca,()=>window.scrollY,e?(t,n)=>la(t,n,a,e):void 0);return()=>t&&t()},[n,a,e]),y.useLayoutEffect(()=>{if(r!==!1){if(typeof r==`number`){window.scrollTo(0,r);return}try{if(o.hash){let e=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{R(!1,`"${o.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}i!==!0&&window.scrollTo(0,0)}},[o,r,i]))}function da(e,t){let{capture:n}=t||{};y.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function fa(e,{relative:t}={}){let n=y.useContext(Xn);L(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=$i(`useViewTransitionState`),i=vr(e,{relative:t});if(!n.isTransitioning)return!1;let a=Fe(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=Fe(n.nextLocation.pathname,r)||n.nextLocation.pathname;return je(i.pathname,o)!=null||je(i.pathname,a)!=null}function pa(e){return y.createElement(Xr,{flushSync:S.flushSync,...e})}var ma=e=>typeof e==`string`,ha=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},ga=e=>e==null?``:String(e),_a=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},va=/###/g,ya=e=>e&&e.includes(`###`)?e.replace(va,`.`):e,ba=e=>!e||ma(e),xa=(e,t,n)=>{let r=ma(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(ba(e))return{};let t=ya(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return ba(e)?{}:{obj:e,k:ya(r[i])}},Sa=(e,t,n)=>{let{obj:r,k:i}=xa(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=xa(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=xa(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},Ca=(e,t,n,r)=>{let{obj:i,k:a}=xa(e,t,Object);i[a]=i[a]||[],i[a].push(n)},wa=(e,t)=>{let{obj:n,k:r}=xa(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Ta=(e,t,n)=>{let r=wa(e,n);return r===void 0?wa(t,n):r},Ea=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(Object.prototype.hasOwnProperty.call(e,r)?ma(e[r])||e[r]instanceof String||ma(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):Ea(e[r],t[r],n):e[r]=t[r]);return e},Da=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),Oa={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`,"/":`&#x2F;`},ka=e=>ma(e)?e.replace(/[&<>"'\/]/g,e=>Oa[e]):e,Aa=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},ja=[` `,`,`,`?`,`!`,`;`],Ma=new Aa(20),Na=(e,t,n)=>{t=t||``,n=n||``;let r=ja.filter(e=>!t.includes(e)&&!n.includes(e));if(r.length===0)return!0;let i=Ma.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},Pa=(e,t,n=`.`)=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e<r.length;){if(!i||typeof i!=`object`)return;let t,a=``;for(let o=e;o<r.length;++o)if(o!==e&&(a+=n),a+=r[o],t=i[a],t!==void 0){if([`string`,`number`,`boolean`].includes(typeof t)&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},Fa=e=>e?.replace(/_/g,`-`),Ia={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},La=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||Ia,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,`log`,``,!0)}warn(...e){return this.forward(e,`warn`,``,!0)}error(...e){return this.forward(e,`error`,``)}deprecate(...e){return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(e=e.map(e=>ma(e)?e.replace(/[\r\n\x00-\x1F\x7F]/g,` `):e),ma(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t=t||this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},Ra=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};return this.on(e,n),this}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r<n;r++)e(...t)}),this.observers[`*`]&&Array.from(this.observers[`*`].entries()).forEach(([n,r])=>{for(let i=0;i<r;i++)n(e,...t)})}},za=class extends Ra{constructor(e,t={ns:[`translation`],defaultNS:`translation`}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){let i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.includes(`.`)?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):ma(n)&&i?o.push(...n.split(i)):o.push(n)));let s=wa(this.data,o);return!s&&!t&&!n&&e.includes(`.`)&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!ma(n)?s:Pa(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r,i={silent:!1}){let a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.includes(`.`)&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),Sa(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(let r in n)(ma(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.includes(`.`)&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=wa(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?Ea(s,n,i):s={...s,...n},Sa(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},Ba={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},Va=Symbol(`i18next/PATH_KEY`);function Ha(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===Va?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function Ua(e,t){let{[Va]:n}=e(Ha()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`,a=t?.enableSelector===`strict`;if(n.length>1&&i){let e=t?.ns,o=a?Array.isArray(e)?e:e?[e]:null:Array.isArray(e)?e:null;if(o&&(a?o:o.length>1?o.slice(1):[]).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var Wa=e=>!ma(e)&&typeof e!=`boolean`&&typeof e!=`number`,Ga=class e extends Ra{constructor(e,t={}){super(),_a([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=La.create(`translator`),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let n={...t};if(e==null)return!1;let r=this.resolve(e,n);if(r?.res===void 0)return!1;let i=Wa(r.res);return!(n.returnObjects===!1&&i)}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.includes(n),o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Na(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:ma(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.includes(a[0]))&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:ma(i)?[i]:i}}translate(t,n,r){let i=typeof n==`object`?{...n}:n;if(typeof i!=`object`&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i==`object`&&(i={...i}),i||(i={}),t==null)return``;typeof t==`function`&&(t=Ua(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?Ua(e,{...this.options,...i}):String(e));let a=i.returnDetails===void 0?this.options.returnDetails:i.returnDetails,o=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,{key:s,namespaces:c}=this.extractFromKey(t[t.length-1],i),l=c[c.length-1],u=i.nsSeparator===void 0?this.options.nsSeparator:i.nsSeparator;u===void 0&&(u=`:`);let d=i.lng||this.language,f=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()===`cimode`)return f?a?{res:`${l}${u}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${s}`:a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:s;let p=this.resolve(t,i),m=p?.res,h=p?.usedKey||s,g=p?.exactUsedKey||s,_=[`[object Number]`,`[object Function]`,`[object RegExp]`],v=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=i.count!==void 0&&!ma(i.count),x=e.hasDefaultValue(i),S=b?this.pluralResolver.getSuffix(d,i.count,i):``,C=i.ordinal&&b?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,w=b&&!i.ordinal&&i.count===0,T=w&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${S}`]||i[`defaultValue${C}`]||i.defaultValue,E=m;y&&!m&&x&&(E=T);let D=Wa(E),O=Object.prototype.toString.apply(E);if(y&&E&&D&&!_.includes(O)&&!(ma(v)&&Array.isArray(E))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,E,{...i,ns:c}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(p.res=e,p.usedParams=this.getUsedParamsDetails(i),p):e}if(o){let e=Array.isArray(E),t=e?[]:{},n=e?g:h;for(let e in E)if(Object.prototype.hasOwnProperty.call(E,e)){let r=`${n}${o}${e}`;x&&!m?t[e]=this.translate(r,{...i,defaultValue:Wa(T)?T[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=E[e])}m=t}}else if(y&&ma(v)&&Array.isArray(m))m=m.join(v),m&&(m=this.extendTranslation(m,t,i,r));else{let e=!1,n=!1;!this.isValidLookup(m)&&x&&(e=!0,m=T),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=x&&T!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,b&&!c?`${s}${this.pluralResolver.getSuffix(d,i.count,i)}`:s,c?T:m),o){let e=this.resolve(s,{...i,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n<t.length;n++)e.push(t[n]);else this.options.saveMissingTo===`all`?e=this.languageUtils.toResolveHierarchy(i.lng||this.language):e.push(i.lng||this.language);let n=(e,t,n)=>{let r=x&&n!==m?n:a;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,r,c,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,r,c,i),this.emit(`missingKey`,e,l,t,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);w&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!t.includes(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||T)})}):n(e,s,T))}m=this.extendTranslation(m,t,i,p,r),n&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${l}${u}${s}`),(n||e)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${s}`:s,e?m:void 0,i))}return a?(p.res=m,p.usedParams=this.getUsedParamsDetails(i),p):m}extendTranslation(e,t,n,r,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let a=ma(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),o;if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!ma(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;o<r&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...e)=>i?.[0]===e[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):this.translate(...e,t),n)),n.interpolation&&this.interpolator.reset()}let a=n.postProcess||this.options.postProcess,o=ma(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=Ba.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return ma(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?Ua(e,{...this.options,...t}):e)),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),c=s.key;r=c;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));let u=t.count!==void 0&&!ma(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(ma(t.context)||typeof t.context==`number`)&&t.context!==``,p=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,!this.checkedLoadedFor[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(this.checkedLoadedFor[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${p.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),p.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,c,r,e,t);else{let e;u&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(t.ordinal&&e.startsWith(i)&&o.push(c+e.replace(i,this.options.pluralSeparator)),o.push(c+e),d&&o.push(c+n)),f){let r=`${c}${this.options.contextSeparator||`_`}${t.context}`;o.push(r),u&&(t.ordinal&&e.startsWith(i)&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),d&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){let t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!ma(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r={...r,count:e.count}),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.startsWith(`defaultValue`)&&e[t]!==void 0)return!0;return!1}},Ka=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=La.create(`languageUtils`)}getScriptPartFromCode(e){if(e=Fa(e),!e||!e.includes(`-`))return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=Fa(e),!e||!e.includes(`-`))return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(ma(e)&&e.includes(`-`)){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;let r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>e===r?!0:!e.includes(`-`)&&!r.includes(`-`)?!1:!!(e.includes(`-`)&&!r.includes(`-`)&&e.slice(0,e.indexOf(`-`))===r||e.startsWith(r)&&r.length>1))}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),ma(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return ma(e)&&(e.includes(`-`)||e.includes(`_`))?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):ma(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.includes(e)||i(this.formatLanguageCode(e))}),r}},qa={zero:0,one:1,two:2,few:3,many:4,other:5},Ja={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},Ya=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=La.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=Fa(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(typeof Intl>`u`)return this.logger.error(`No Intl support, please use an Intl polyfill!`),Ja;if(!e.match(/-|_/))return Ja;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule(`dev`,t)),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule(`dev`,t)),n?n.resolvedOptions().pluralCategories.sort((e,t)=>qa[e]-qa[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t,n={}){let r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},Xa=(e,t,n,r=`.`,i=!0)=>{let a=Ta(e,t,n);return!a&&i&&ma(n)&&(a=Pa(e,n,r),a===void 0&&(a=Pa(t,n,r))),a},Za=e=>e.replace(/\$/g,`$$$$`),Qa=class{constructor(e={}){this.logger=La.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?ka:t,this.escapeValue=n===void 0||n,this.useRawValueToEscape=r!==void 0&&r,this.prefix=i?Da(i):a||`{{`,this.suffix=o?Da(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u?Da(u):`-`,this.unescapeSuffix=this.unescapePrefix?``:l?Da(l):``,this.nestingPrefix=d?Da(d):f||Da(`$t(`),this.nestingSuffix=p?Da(p):m||Da(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_!==void 0&&_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(!e.includes(this.formatSeparator)){let i=Xa(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(Xa(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp(),!this.escapeValue&&typeof e==`string`&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn(`nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.`);let l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>e},{regex:this.regexp,safeValue:e=>this.escapeValue?this.escape(e):e}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=c(n),a===void 0)if(typeof l==`function`){let t=l(e,i,r);a=ma(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(u){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else!ma(a)&&!this.useRawValueToEscape&&(a=ga(a));let s=t.safeValue(a);if(e=e.replace(i[0],Za(s)),u?(t.regex.lastIndex+=s.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(!e.includes(n))return e;let r=e.split(RegExp(`${Da(n)}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||(s?.length??0)%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.includes(this.prefix)&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!ma(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=/{.*}/s.test(r[1])?r[1].lastIndexOf(`}`)+1:r[1].indexOf(this.formatSeparator);if(c!==-1&&(s=r[1].slice(c).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!ma(i))return i;ma(i)||(i=ga(i)),i||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),i=``),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},$a=e=>{let t=e.toLowerCase().trim(),n={};if(e.includes(`(`)){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].slice(0,-1);t===`currency`&&!i.includes(`:`)?n.currency||(n.currency=i.trim()):t===`relativetime`&&!i.includes(`:`)?n.range||(n.range=i.trim()):i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},eo=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(Fa(r),i),t[o]=s),s(n)}},to=e=>(t,n,r)=>e(Fa(n),r)(t),no=class{constructor(e={}){this.logger=La.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?eo:to;this.formats={number:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:n((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:n((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=eo(t)}format(e,t,n,r={}){if(!t||e==null)return e;let i=t.split(this.formatSeparator),a=[];for(let e=0;e<i.length;e++){let t=i[e];for(;t.indexOf(`(`)>-1&&!t.includes(`)`)&&e+1<i.length;)t=`${t}${this.formatSeparator}${i[++e]}`;a.push(t)}return a.reduce((e,t)=>{let{formatName:i,formatOptions:a}=$a(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},ro=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},io=class extends Ra{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=La.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{Ca(n.loaded,[i],a),ro(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r<this.maxRetries){setTimeout(()=>{this.read(e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();ma(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ma(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=``){let n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},ao=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),ma(e[1])&&(t.defaultValue=e[1]),ma(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),oo=e=>(ma(e.ns)&&(e.ns=[e.ns]),ma(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),ma(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&!e.supportedLngs.includes(`cimode`)&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),e),so=()=>{},co=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},lo=class e extends Ra{constructor(e={},t){if(super(),this.options=oo(e),this.services={},this.logger=La,this.modules={external:[]},co(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e==`function`&&(t=e,e={}),e.defaultNS==null&&e.ns&&(ma(e.ns)?e.defaultNS=e.ns:e.ns.includes(`translation`)||(e.defaultNS=e.ns[0]));let n=ao();this.options={...n,...this.options,...oo(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!=`function`&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler);let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?La.init(r(this.modules.logger),this.options):La.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:no;let t=new Ka(this.options);this.store=new za(this.options.resources,this.options);let n=this.services;n.logger=La,n.resourceStore=this.store,n.languageUtils=t,n.pluralResolver=new Ya(t,{prepend:this.options.pluralSeparator}),e&&(n.formatter=r(e),n.formatter.init&&n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new Qa(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new io(r(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(n.languageDetector=r(this.modules.languageDetector),n.languageDetector.init&&n.languageDetector.init(n,this.options.detection,this.options)),this.modules.i18nFormat&&(n.i18nFormat=r(this.modules.i18nFormat),n.i18nFormat.init&&n.i18nFormat.init(this)),this.translator=new Ga(this.services,this.options),this.translator.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=so),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=ha(),a=()=>{let e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),i.resolve(n),t(e,n)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),i}loadResources(e,t=so){let n=t,r=ma(e)?e:this.language;if(typeof e==`function`&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return n();let e=[],t=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&(e.includes(t)||e.push(t))})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){let r=ha();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),n||(n=so),this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&Ba.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&![`cimode`,`dev`].includes(e)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(![`cimode`,`dev`].includes(t)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=ha();this.emit(`languageChanging`,e);let r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=ma(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(ma(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),this.services.languageDetector?.cacheUserLanguage?.(a)),this.loadResources(a,e=>{i(e,a)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n,r){let i=r?.scopeNs,a=(e,t,...r)=>{let o;o=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(r)),o.lng=o.lng||a.lng,o.lngs=o.lngs||a.lngs;let s=o.ns!==void 0&&o.ns!==null;o.ns=o.ns||a.ns,o.keyPrefix!==``&&(o.keyPrefix=o.keyPrefix||n||a.keyPrefix);let c={...this.options,...o};Array.isArray(i)&&!s&&(c.ns=i),typeof o.keyPrefix==`function`&&(o.keyPrefix=Ua(o.keyPrefix,c));let l=this.options.keySeparator||`.`,u;return o.keyPrefix&&Array.isArray(e)?u=e.map(e=>(typeof e==`function`&&(e=Ua(e,c)),`${o.keyPrefix}${l}${e}`)):(typeof e==`function`&&(e=Ua(e,c)),u=o.keyPrefix?`${o.keyPrefix}${l}${e}`:e),this.t(u,o)};return ma(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=n,a}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=ha();return this.options.ns?(ma(e)&&(e=[e]),e.forEach(e=>{this.options.ns.includes(e)||this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=ha();ma(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>!r.includes(e)&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return`rtl`;try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch{}let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new Ka(ao());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.includes(n.getLanguagePartFromCode(e))||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(t={},n){let r=new e(t,n);return r.createInstance=e.createInstance,r}cloneInstance(t={},n=so){let r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);if((t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new za(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{}),i),a.services.resourceStore=a.store),t.interpolation){let e={...ao().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new Qa(n)}return a.translator=new Ga(a.services,i),a.translator.on(`*`,(e,...t)=>{a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();lo.createInstance,lo.dir,lo.init,lo.loadResources,lo.reloadResources,lo.use,lo.changeLanguage,lo.getFixedT,lo.t,lo.exists,lo.setDefaultNamespace,lo.hasLoadedNamespace,lo.loadNamespaces,lo.loadLanguages;var uo=u(s(((e,t)=>{t.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}}))()),fo=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function po(e){var t={type:`tag`,name:``,voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(uo.default[n[1]]||e.charAt(e.length-2)===`/`)&&(t.voidElement=!0),t.name.startsWith(`!--`))){var r=e.indexOf(`-->`);return{type:`comment`,comment:r===-1?``:e.slice(4,r)}}for(var i=new RegExp(fo),a=null;(a=i.exec(e))!==null;)if(a[0].trim())if(a[1]){var o=a[1].trim(),s=[o,``];o.indexOf(`=`)>-1&&(s=o.split(`=`)),t.attrs[s[0]]=s[1],i.lastIndex--}else a[2]&&(t.attrs[a[2]]=a[3].trim().substring(1,a[3].length-1));return t}var mo=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,ho=/^\s*$/,go=Object.create(null);function _o(e,t){switch(t.type){case`text`:return e+t.content;case`tag`:return e+=`<`+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+`="`+e[n]+`"`);return t.length?` `+t.join(` `):``}(t.attrs):``)+(t.voidElement?`/>`:`>`),t.voidElement?e:e+t.children.reduce(_o,``)+`</`+t.name+`>`;case`comment`:return e+`\x3C!--`+t.comment+`-->`}}var vo={parse:function(e,t){t||(t={}),t.components||(t.components=go);var n,r=[],i=[],a=-1,o=!1;if(e.indexOf(`<`)!==0){var s=e.indexOf(`<`);r.push({type:`text`,content:s===-1?e:e.substring(0,s)})}return e.replace(mo,function(s,c){if(o){if(s!==`</`+n.name+`>`)return;o=!1}var l,u=s.charAt(1)!==`/`,d=s.startsWith(`\x3C!--`),f=c+s.length,p=e.charAt(f);if(d){var m=po(s);return a<0?(r.push(m),r):((l=i[a]).children.push(m),r)}if(u&&(a++,(n=po(s)).type===`tag`&&t.components[n.name]&&(n.type=`component`,o=!0),n.voidElement||o||!p||p===`<`||n.children.push({type:`text`,content:e.slice(f,e.indexOf(`<`,f))}),a===0&&r.push(n),(l=i[a-1])&&l.children.push(n),i[a]=n),(!u||n.voidElement)&&(a>-1&&(n.voidElement||n.name===s.slice(2,-1))&&(a--,n=a===-1?r:i[a]),!o&&p!==`<`&&p)){l=a===-1?r:i[a].children;var h=e.indexOf(`<`,f),g=e.slice(f,h===-1?void 0:h);ho.test(g)&&(g=` `),(h>-1&&a+l.length>=0||g!==` `)&&l.push({type:`text`,content:g})}}),r},stringify:function(e){return e.reduce(function(e,t){return e+_o(``,t)},``)}},yo=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);Eo(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},bo={},xo=(e,t,n,r)=>{Eo(n)&&bo[n]||(Eo(n)&&(bo[n]=new Date),yo(e,t,n,r))},So=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}},Co=(e,t,n)=>{e.loadNamespaces(t,So(e,n))},wo=(e,t,n,r)=>{if(Eo(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return Co(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,So(e,r))},To=(e,t,n={})=>!t.languages||!t.languages.length?(xo(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),Eo=e=>typeof e==`string`,Do=e=>typeof e==`object`&&!!e,Oo=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ko={"&amp;":`&`,"&#38;":`&`,"&lt;":`<`,"&#60;":`<`,"&gt;":`>`,"&#62;":`>`,"&apos;":`'`,"&#39;":`'`,"&quot;":`"`,"&#34;":`"`,"&nbsp;":` `,"&#160;":` `,"&copy;":`©`,"&#169;":`©`,"&reg;":`®`,"&#174;":`®`,"&hellip;":`…`,"&#8230;":`…`,"&#x2F;":`/`,"&#47;":`/`},Ao=e=>ko[e],jo=e=>e.replace(Oo,Ao),Mo={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:jo,transDefaultProps:void 0},No=(e={})=>{Mo={...Mo,...e}},Po=()=>Mo,Fo,Io=e=>{Fo=e},Lo=()=>Fo,Ro=(e,t)=>{if(!e)return!1;let n=e.props?.children??e.children;return t?n.length>0:!!n},zo=e=>{if(!e)return[];let t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?Vo(t):t},Bo=e=>Array.isArray(e)&&e.every(y.isValidElement),Vo=e=>Array.isArray(e)?e:[e],Ho=(e,t)=>{let n={...t};return n.props={...t.props,...e.props},n},Uo=e=>{let t={};if(!e)return t;let n=e=>{Vo(e).forEach(e=>{Eo(e)||(Ro(e)?n(zo(e)):Do(e)&&!(0,y.isValidElement)(e)&&Object.assign(t,e))})};return n(e),t},Wo=(e,t,n,r)=>{if(!e)return``;let i=``,a=Vo(e),o=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return a.forEach((e,a)=>{if(Eo(e)){i+=`${e}`;return}if((0,y.isValidElement)(e)){let{props:s,type:c}=e,l=Object.keys(s).length,u=o.indexOf(c)>-1,d=s.children;if(!d&&u&&!l){i+=`<${c}/>`;return}if(!d&&(!u||l)||s.i18nIsDynamicList){i+=`<${a}></${a}>`;return}if(u&&l<=1){let e=Eo(d)?d:Wo(d,t,n,r);i+=`<${c}>${e}</${c}>`;return}let f=Wo(d,t,n,r);i+=`<${a}>${f}</${a}>`;return}if(e===null){yo(n,`TRANS_NULL_VALUE`,`Passed in a null value as child`,{i18nKey:r});return}if(Do(e)){let{format:t,...a}=e,o=Object.keys(a);if(o.length===1){let e=t?`${o[0]}, ${t}`:o[0];i+=`{{${e}}}`;return}yo(n,`TRANS_INVALID_OBJ`,`Invalid child - Object should only have keys {{ value, format }} (format is optional).`,{i18nKey:r,child:e});return}yo(n,`TRANS_INVALID_VAR`,`Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`,{i18nKey:r,child:e})}),i},Go=(e,t=[],n={})=>{if(!e)return e;let r=Object.keys(n),i=[...t,...r],a=``,o=0;for(;o<e.length;)if(e[o]===`<`){let t=!1,n=e.slice(o).match(/^<\/(\d+|[a-zA-Z][a-zA-Z0-9_-]*)>/);if(n){let e=n[1];(/^\d+$/.test(e)||i.includes(e))&&(t=!0,a+=n[0],o+=n[0].length)}if(!t){let n=e.slice(o).match(/^<(\d+|[a-zA-Z][a-zA-Z0-9_-]*)(\s+[\w-]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?)*\s*(\/)?>/);if(n){let e=n[1];(/^\d+$/.test(e)||i.includes(e))&&(t=!0,a+=n[0],o+=n[0].length)}}t||(a+=`&lt;`,o+=1)}else a+=e[o],o+=1;return a},Ko=(e,t,n,r,i,a,o)=>{if(n===``)return[];let s=i.transKeepBasicHtmlNodesFor||[],c=n&&new RegExp(s.map(e=>`<${e}`).join(`|`)).test(n);if(!e&&!t&&!c&&!o)return[n];let l=t??{},u=e=>{Vo(e).forEach(e=>{Eo(e)||(Ro(e)?u(zo(e)):Do(e)&&!(0,y.isValidElement)(e)&&Object.assign(l,e))})};u(e);let d=Go(n,s,l),f=vo.parse(`<0>${d}</0>`),p={...l,...a},m=(e,t,n)=>{let r=zo(e),i=g(r,t.children,n);return Bo(r)&&i.length===0||e.props?.i18nIsDynamicList?r:i},h=(e,t,n,r,i)=>{e.dummy?(e.children=t,n.push((0,y.cloneElement)(e,{key:r},i?void 0:t))):n.push(...y.Children.map([e],e=>{if(e.type===y.Fragment||e.props?.i18nIsDynamicList!==void 0){let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t===`children`||t===`i18nIsDynamicList`||(n[t]=e.props[t])}),(0,y.createElement)(e.type,n,i?null:t)}let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t===`ref`||t===`children`||(n[t]=e.props[t])}),(0,y.cloneElement)(e,n,i?null:t)}))},g=(e,n,a)=>{let l=Vo(e),u=Vo(n),d={};return u.reduce((e,n,u)=>{let f=n.children?.[0]?.content&&r.services.interpolator.interpolate(n.children[0].content,p,r.language);if(n.type===`tag`){let _=l[parseInt(n.name,10)];!_&&t&&(_=t[n.name]),a.length===1&&!_&&(_=a[0][n.name]),_||(_={});let v={...n.attrs};o&&Object.keys(v).forEach(e=>{let t=v[e];Eo(t)&&(v[e]=jo(t))});let b=Object.keys(v).length===0?_:Ho({props:v},_),x=(0,y.isValidElement)(b),S=x&&Ro(n,!0)&&!n.voidElement,C=c&&Do(b)&&b.dummy&&!x,w=Do(t)&&Object.hasOwnProperty.call(t,n.name);if(Eo(b)){let t=r.services.interpolator.interpolate(b,p,r.language);e.push(t)}else if(Ro(b)||S){let t=m(b,n,a);h(b,t,e,u)}else if(C){let t=g(l,n.children,a);h(b,t,e,u)}else if(Number.isNaN(parseFloat(n.name)))if(w){let t=m(b,n,a);h(b,t,e,u,n.voidElement)}else if(i.transSupportBasicHtmlNodes&&s.indexOf(n.name)>-1)if(n.voidElement)e.push((0,y.createElement)(n.name,{key:`${n.name}-${u}`}));else{let t=d[n.name]||0;d[n.name]=t+1;let r,i=0;for(let e=0;e<l.length;e+=1){let a=l[e];if((0,y.isValidElement)(a)&&a.type===n.name){if(i===t){r=a;break}i+=1}}let o=r?Vo(zo(r)):l,s=g(o,n.children,a);e.push((0,y.createElement)(n.name,{key:`${n.name}-${u}`},s))}else if(n.voidElement)e.push(`<${n.name} />`);else{let t=g(l,n.children,a);e.push(`<${n.name}>${t}</${n.name}>`)}else if(Do(b)&&!x){let t=n.children[0]?f:null;t&&e.push(t)}else h(b,f,e,u,n.children.length!==1||!f)}else if(n.type===`text`){let t=i.transWrapTextNodes,a=typeof i.unescape==`function`?i.unescape:Po().unescape,s=o?a(r.services.interpolator.interpolate(n.content,p,r.language)):r.services.interpolator.interpolate(n.content,p,r.language);t?e.push((0,y.createElement)(t,{key:`${n.name}-${u}`},s)):e.push(s)}return e},[])};return zo(g([{dummy:!0,children:e||[]}],f,Vo(e||[]))[0])},qo=(e,t,n)=>{let r=e.key||t,i=(0,y.cloneElement)(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function a(){return(0,y.createElement)(y.Fragment,null,i)}return(0,y.createElement)(a,{key:r})},Jo=(e,t)=>e.map((e,n)=>qo(e,n,t)),Yo=(e,t)=>{let n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:qo(e[r],r,t)})}),n},Xo=(e,t,n,r)=>e?Array.isArray(e)?Jo(e,t):Do(e)?Yo(e,t):(xo(n,`TRANS_INVALID_COMPONENTS`,`<Trans /> "components" prop expects an object or array`,{i18nKey:r}),null):null,Zo=e=>!Do(e)||Array.isArray(e)?!1:Object.keys(e).reduce((e,t)=>e&&Number.isNaN(Number.parseFloat(t)),!0);function Qo({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:a={},values:o,defaults:s,components:c,ns:l,i18n:u,t:d,shouldUnescape:f,...p}){let m=u||Lo();if(!m)return xo(m,`NO_I18NEXT_INSTANCE`,`Trans: You need to pass in an i18next instance using i18nextReactModule`,{i18nKey:r}),e;let h=d||m.t.bind(m)||(e=>e),g={...Po(),...m.options?.react},_=l||h.ns||m.options?.defaultNS;_=Eo(_)?[_]:_||[`translation`];let{transDefaultProps:v}=g,b=v?.tOptions?{...v.tOptions,...a}:a,x=f??v?.shouldUnescape,S=v?.values?{...v.values,...o}:o,C=v?.components?{...v.components,...c}:c,w=Wo(e,g,m,r),T=s||b?.defaultValue||w||g.transEmptyNodeValue||(typeof r==`function`?Ua(r):r),{hashTransKey:E}=g,D=r||(E?E(w||T):w||T);o=m.options?.interpolation?.defaultVariables?S&&Object.keys(S).length>0?{...S,...m.options.interpolation.defaultVariables}:{...m.options.interpolation.defaultVariables}:S;let O=Uo(e);O&&typeof O.count==`number`&&t===void 0&&(t=O.count);let k=o||t!==void 0&&!m.options?.interpolation?.alwaysFormat||!e?b.interpolation:{interpolation:{...b.interpolation,prefix:`#$?`,suffix:`?$#`}},A={...b,context:i||b.context,count:t,...o,...k,defaultValue:T,ns:_},j=D?h(D,A):T;j===D&&T&&(j=T);let M=Xo(C,j,m,r),N=M||e,ee=null;Zo(M)&&(ee=M,N=e);let P=Ko(N,ee,j,m,g,A,x),F=n??g.defaultTransParent;return F?(0,y.createElement)(F,p,P):P}var $o={type:`3rdParty`,init(e){No(e.options.react),Io(e)}},es=(0,y.createContext)(),ts=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}};function ns({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:a={},values:o,defaults:s,components:c,ns:l,i18n:u,t:d,shouldUnescape:f,...p}){let{i18n:m,defaultNS:h}=(0,y.useContext)(es)||{},g=u||m||Lo(),_=d||g?.t.bind(g);return Qo({children:e,count:t,parent:n,i18nKey:r,context:i,tOptions:a,values:o,defaults:s,components:c,ns:l||_?.ns||h||g?.options?.defaultNS,i18n:g,t:d,shouldUnescape:f,...p})}var rs=s((e=>{var t=f();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var d=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?d:t.useSyncExternalStore})),is=s(((e,t)=>{t.exports=rs()}))(),as={t:(e,t)=>{if(Eo(t))return t;if(Do(t)&&Eo(t.defaultValue))return t.defaultValue;if(typeof e==`function`)return``;if(Array.isArray(e)){let t=e[e.length-1];return typeof t==`function`?``:t}return e},ready:!1},os=()=>()=>{},ss=(e,t={})=>{let{i18n:n}=t,{i18n:r,defaultNS:i}=(0,y.useContext)(es)||{},a=n||r||Lo();a&&!a.reportNamespaces&&(a.reportNamespaces=new ts),a||xo(a,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next`);let o=(0,y.useMemo)(()=>({...Po(),...a?.options?.react,...t}),[a,t]),{useSuspense:s,keyPrefix:c}=o,l=e||i||a?.options?.defaultNS,u=Eo(l)?[l]:l||[`translation`],d=(0,y.useMemo)(()=>u,u);a?.reportNamespaces?.addUsedNamespaces?.(d);let f=(0,y.useRef)(0),p=(0,y.useCallback)(e=>{if(!a)return os;let{bindI18n:t,bindI18nStore:n}=o,r=()=>{f.current+=1,e()};return t&&a.on(t,r),n&&a.store.on(n,r),()=>{t&&t.split(` `).forEach(e=>a.off(e,r)),n&&n.split(` `).forEach(e=>a.store.off(e,r))}},[a,o]),m=(0,y.useRef)(),h=(0,y.useCallback)(()=>{if(!a)return as;let e=!!(a.isInitialized||a.initializedStoreOnce)&&d.every(e=>To(e,a,o)),n=t.lng||a.language,r=f.current,i=m.current;if(i&&i.ready===e&&i.lng===n&&i.keyPrefix===c&&i.revision===r)return i;let s={t:a.getFixedT(n,o.nsMode===`fallback`?d:d[0],c,{scopeNs:d}),ready:e,lng:n,keyPrefix:c,revision:r};return m.current=s,s},[a,d,c,o,t.lng]),[g,_]=(0,y.useState)(0),{t:v,ready:b}=(0,is.useSyncExternalStore)(p,h,h);(0,y.useEffect)(()=>{if(a&&!b&&!s){let e=()=>_(e=>e+1);t.lng?wo(a,t.lng,d,e):Co(a,d,e)}},[a,t.lng,d,b,s,g]);let x=a||{},S=(0,y.useRef)(null),C=(0,y.useRef)(),w=e=>{let t=Object.getOwnPropertyDescriptors(e);t.__original&&delete t.__original;let n=Object.create(Object.getPrototypeOf(e),t);if(!Object.prototype.hasOwnProperty.call(n,`__original`))try{Object.defineProperty(n,"__original",{value:e,writable:!1,enumerable:!1,configurable:!1})}catch{}return n},T=(0,y.useMemo)(()=>{let e=x,t=e?.language,n=e;e&&(S.current&&S.current.__original===e&&C.current===t?n=S.current:(n=w(e),S.current=n,C.current=t));let r=!b&&!s?(...e)=>(xo(a,`USE_T_BEFORE_READY`,`useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t.`),v(...e)):v,i=[r,n,b];return i.t=r,i.i18n=n,i.ready=b,i},[v,x,b,x.resolvedLanguage,x.language,x.languages]);if(a&&s&&!b)throw new Promise(e=>{let n=()=>e();t.lng?wo(a,t.lng,d,n):Co(a,d,n)});return T},cs=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),ls=s(((e,t)=>{t.exports=cs()})),H=ls();function U({children:e,variant:t=`primary`,size:n=`md`,fullWidth:r=!1,loading:i=!1,className:a=``,disabled:o,...s}){let c=e!=null&&e!==!1;return(0,H.jsxs)(`button`,{className:[`btn`,`btn-${t}`,n===`sm`?`btn-sm`:``,r?`btn-full`:``,a].filter(Boolean).join(` `),disabled:o||i,...s,children:[i&&(0,H.jsx)(`span`,{className:`loading-spinner`,"aria-hidden":`true`}),c&&(0,H.jsx)(`span`,{children:e})]})}function us({label:e,hint:t,error:n,rightElement:r,className:i=``,id:a,...o}){let s=(0,y.useId)(),c=a??s,l=t?`${c}-hint`:void 0,u=n?`${c}-error`:void 0,d=[o[`aria-describedby`],u,l].filter(Boolean).join(` `)||void 0;return(0,H.jsxs)(`div`,{className:`form-group`,children:[e&&(0,H.jsx)(`label`,{htmlFor:c,children:e}),(0,H.jsxs)(`div`,{style:{position:`relative`},children:[(0,H.jsx)(`input`,{id:c,className:`input ${i}`.trim(),"aria-invalid":!!n||o[`aria-invalid`],"aria-describedby":d,...o}),r&&(0,H.jsx)(`div`,{style:{position:`absolute`,right:8,top:`50%`,transform:`translateY(-50%)`},children:r})]}),t&&(0,H.jsx)(`div`,{id:l,className:`hint`,children:t}),n&&(0,H.jsx)(`div`,{id:u,className:`error-box`,children:n})]})}var ds={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,focusable:`false`};function fs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`line`,{x1:`21`,x2:`14`,y1:`4`,y2:`4`}),(0,H.jsx)(`line`,{x1:`10`,x2:`3`,y1:`4`,y2:`4`}),(0,H.jsx)(`line`,{x1:`21`,x2:`12`,y1:`12`,y2:`12`}),(0,H.jsx)(`line`,{x1:`8`,x2:`3`,y1:`12`,y2:`12`}),(0,H.jsx)(`line`,{x1:`21`,x2:`16`,y1:`20`,y2:`20`}),(0,H.jsx)(`line`,{x1:`12`,x2:`3`,y1:`20`,y2:`20`}),(0,H.jsx)(`line`,{x1:`14`,x2:`14`,y1:`2`,y2:`6`}),(0,H.jsx)(`line`,{x1:`8`,x2:`8`,y1:`10`,y2:`14`}),(0,H.jsx)(`line`,{x1:`16`,x2:`16`,y1:`18`,y2:`22`})]})}function ps({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`}),(0,H.jsx)(`path`,{d:`m21 2-9.6 9.6`}),(0,H.jsx)(`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`})]})}function ms({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M12 8V4H8`}),(0,H.jsx)(`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}),(0,H.jsx)(`path`,{d:`M2 14h2`}),(0,H.jsx)(`path`,{d:`M20 14h2`}),(0,H.jsx)(`path`,{d:`M15 13v2`}),(0,H.jsx)(`path`,{d:`M9 13v2`})]})}function hs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`rect`,{x:`3`,y:`5`,width:`6`,height:`6`,rx:`1.5`}),(0,H.jsx)(`rect`,{x:`15`,y:`5`,width:`6`,height:`6`,rx:`1.5`}),(0,H.jsx)(`rect`,{x:`9`,y:`13`,width:`6`,height:`6`,rx:`1.5`}),(0,H.jsx)(`path`,{d:`M9 8h6`}),(0,H.jsx)(`path`,{d:`M12 11v2`}),(0,H.jsx)(`path`,{d:`M7.5 11v2`}),(0,H.jsx)(`path`,{d:`M16.5 11v2`})]})}function gs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`rect`,{x:`3.5`,y:`3.5`,width:`5`,height:`5`,rx:`1.4`}),(0,H.jsx)(`rect`,{x:`15.5`,y:`3.5`,width:`5`,height:`5`,rx:`1.4`}),(0,H.jsx)(`rect`,{x:`3.5`,y:`15.5`,width:`5`,height:`5`,rx:`1.4`}),(0,H.jsx)(`rect`,{x:`15.5`,y:`15.5`,width:`5`,height:`5`,rx:`1.4`}),(0,H.jsx)(`path`,{d:`M8.5 8.5 10.75 10.75`}),(0,H.jsx)(`path`,{d:`M15.5 8.5 13.25 10.75`}),(0,H.jsx)(`path`,{d:`M8.5 15.5 10.75 13.25`}),(0,H.jsx)(`path`,{d:`M15.5 15.5 13.25 13.25`}),(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.6`,fill:`currentColor`,stroke:`none`})]})}function _s({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`}),(0,H.jsx)(`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`}),(0,H.jsx)(`path`,{d:`M10 9H8`}),(0,H.jsx)(`path`,{d:`M16 13H8`}),(0,H.jsx)(`path`,{d:`M16 17H8`})]})}function vs({size:e=20,...t}){return(0,H.jsx)(`svg`,{...ds,width:e,height:e,...t,children:(0,H.jsx)(`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`})})}function ys({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`}),(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})}function bs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M12 22v-5`}),(0,H.jsx)(`path`,{d:`M9 8V2`}),(0,H.jsx)(`path`,{d:`M15 8V2`}),(0,H.jsx)(`path`,{d:`M6 8h12v4a6 6 0 0 1-12 0Z`})]})}function xs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M15 12h-5`}),(0,H.jsx)(`path`,{d:`M15 8h-5`}),(0,H.jsx)(`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`}),(0,H.jsx)(`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`})]})}function Ss({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,H.jsx)(`path`,{d:`M12 16v-4`}),(0,H.jsx)(`path`,{d:`M12 8h.01`})]})}function Cs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}),(0,H.jsx)(`path`,{d:`M21 3v5h-5`})]})}function ws({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M12 15V3`}),(0,H.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,H.jsx)(`path`,{d:`m7 10 5 5 5-5`})]})}function Ts({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M12 3v12`}),(0,H.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,H.jsx)(`path`,{d:`m17 8-5-5-5 5`})]})}function Es({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M3 6h18`}),(0,H.jsx)(`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`}),(0,H.jsx)(`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`}),(0,H.jsx)(`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`}),(0,H.jsx)(`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`})]})}function Ds({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M15 3h6v6`}),(0,H.jsx)(`path`,{d:`m21 3-7 7`}),(0,H.jsx)(`path`,{d:`M9 21H3v-6`}),(0,H.jsx)(`path`,{d:`m3 21 7-7`})]})}function Os({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M4 14h6v6`}),(0,H.jsx)(`path`,{d:`m10 14-7 7`}),(0,H.jsx)(`path`,{d:`M20 10h-6V4`}),(0,H.jsx)(`path`,{d:`m14 10 7-7`})]})}function ks({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M5 12h14`}),(0,H.jsx)(`path`,{d:`M12 5v14`})]})}function As({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}),(0,H.jsx)(`path`,{d:`m15 5 4 4`})]})}function js({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}),(0,H.jsx)(`path`,{d:`M12 9v4`}),(0,H.jsx)(`path`,{d:`M12 17h.01`})]})}function Ms({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,H.jsx)(`path`,{d:`m9 12 2 2 4-4`})]})}function Ns({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`}),(0,H.jsx)(`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`}),(0,H.jsx)(`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`}),(0,H.jsx)(`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`}),(0,H.jsx)(`path`,{d:`M12 12V8`})]})}function Ps({size:e=20,...t}){return(0,H.jsx)(`svg`,{...ds,width:e,height:e,...t,children:(0,H.jsx)(`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`})})}function Fs({size:e=20,...t}){return(0,H.jsx)(`svg`,{...ds,width:e,height:e,...t,children:(0,H.jsx)(`path`,{d:`m18 15-6-6-6 6`})})}function Is({size:e=20,...t}){return(0,H.jsx)(`svg`,{...ds,width:e,height:e,...t,children:(0,H.jsx)(`path`,{d:`m6 9 6 6 6-6`})})}function Ls({size:e=20,...t}){return(0,H.jsx)(`svg`,{...ds,width:e,height:e,...t,children:(0,H.jsx)(`path`,{d:`m15 18-6-6 6-6`})})}function Rs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`m21 21-4.34-4.34`}),(0,H.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`})]})}function zs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M18 6 6 18`}),(0,H.jsx)(`path`,{d:`m6 6 12 12`})]})}function Bs({size:e=20,...t}){return(0,H.jsx)(`svg`,{...ds,width:e,height:e,...t,children:(0,H.jsx)(`path`,{d:`M20 6 9 17l-5-5`})})}function Vs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}),(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})}function Hs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`}),(0,H.jsx)(`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`}),(0,H.jsx)(`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`}),(0,H.jsx)(`path`,{d:`m2 2 20 20`})]})}function Us({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`}),(0,H.jsx)(`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`})]})}function Ws({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`m13.5 6.5-3.148-3.148a1.205 1.205 0 0 0-1.704 0L6.352 5.648a1.205 1.205 0 0 0 0 1.704L9.5 10.5`}),(0,H.jsx)(`path`,{d:`M16.5 7.5 19 5`}),(0,H.jsx)(`path`,{d:`m17.5 10.5 3.148 3.148a1.205 1.205 0 0 1 0 1.704l-2.296 2.296a1.205 1.205 0 0 1-1.704 0L13.5 14.5`}),(0,H.jsx)(`path`,{d:`M9 21a6 6 0 0 0-6-6`}),(0,H.jsx)(`path`,{d:`M9.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l4.296-4.296a1.205 1.205 0 0 0 0-1.704l-2.296-2.296a1.205 1.205 0 0 0-1.704 0z`})]})}function Gs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`}),(0,H.jsx)(`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`}),(0,H.jsx)(`circle`,{cx:`12`,cy:`14`,r:`8`})]})}function Ks({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`}),(0,H.jsx)(`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`})]})}function qs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`}),(0,H.jsx)(`path`,{d:`M9 18c-4.51 2-5-2-7-2`})]})}function Js({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M15 3h6v6`}),(0,H.jsx)(`path`,{d:`M10 14 21 3`}),(0,H.jsx)(`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})]})}function Ys({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M12 7v14`}),(0,H.jsx)(`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`})]})}function Xs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`polyline`,{points:`16 18 22 12 16 6`}),(0,H.jsx)(`polyline`,{points:`8 6 2 12 8 18`})]})}function Zs({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`}),(0,H.jsx)(`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`}),(0,H.jsx)(`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`}),(0,H.jsx)(`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`})]})}function Qs({size:e=20,...t}){return(0,H.jsx)(`svg`,{...ds,width:e,height:e,...t,children:(0,H.jsx)(`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`})})}var $s=fs,ec=bs;function tc({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`m2 7 4.41-4.41A2 2 0 0 1 7.83 2h8.34a2 2 0 0 1 1.42.59L22 7`}),(0,H.jsx)(`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}),(0,H.jsx)(`path`,{d:`M15 22v-4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4`}),(0,H.jsx)(`path`,{d:`M2 7h20`}),(0,H.jsx)(`path`,{d:`M22 7v3a2 2 0 0 1-2 2a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 16 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 12 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 8 12a2.7 2.7 0 0 1-1.59-.63.7.7 0 0 0-.82 0A2.7 2.7 0 0 1 4 12a2 2 0 0 1-2-2V7`})]})}var nc=Ns;function rc({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}),(0,H.jsx)(`path`,{d:`m9 12 2 2 4-4`})]})}function ic({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`M2 21a8 8 0 0 1 13.292-6`}),(0,H.jsx)(`circle`,{cx:`10`,cy:`8`,r:`5`}),(0,H.jsx)(`path`,{d:`m16 19 2 2 4-4`})]})}function ac({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`path`,{d:`m12 14 4-4`}),(0,H.jsx)(`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`})]})}var oc=xs;function sc({size:e=20,...t}){return(0,H.jsxs)(`svg`,{...ds,width:e,height:e,...t,children:[(0,H.jsx)(`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`}),(0,H.jsx)(`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`}),(0,H.jsx)(`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`}),(0,H.jsx)(`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`})]})}var cc={wrap:`Select-module__wrap___8GKsa`,wrapFullWidth:`Select-module__wrapFullWidth___uQ1gt`,trigger:`Select-module__trigger___nKY0l`,triggerSm:`Select-module__triggerSm___0Ozlc`,triggerText:`Select-module__triggerText___zQEIp`,placeholder:`Select-module__placeholder___N04iW`,triggerIcon:`Select-module__triggerIcon___ipYKn`,dropdown:`Select-module__dropdown___6YdcD`,option:`Select-module__option___EKsSG`,optionActive:`Select-module__optionActive___y280o`,optionHighlighted:`Select-module__optionHighlighted___CPa3K`},lc=8,uc=6,dc=240,fc=2010,pc=(e,t,n)=>Math.min(Math.max(e,t),n),mc=e=>{let t=e.getBoundingClientRect(),n=window.innerWidth,r=window.innerHeight,i=Math.min(t.width,Math.max(0,n-lc*2)),a=pc(t.left,lc,Math.max(lc,n-i-lc)),o=r-t.bottom-lc-uc,s=t.top-lc-uc,c=o>=dc||o>=s?`down`:`up`,l=Math.max(0,Math.min(dc,c===`down`?o:s));return c===`down`?{position:`fixed`,top:t.bottom+uc,left:a,width:i,maxHeight:l,zIndex:fc}:{position:`fixed`,bottom:r-t.top+uc,left:a,width:i,maxHeight:l,zIndex:fc}};function hc({value:e,options:t,onChange:n,placeholder:r,className:i,disabled:a=!1,ariaLabel:o,ariaLabelledBy:s,ariaDescribedBy:c,fullWidth:l=!0,size:u=`md`,id:d}){let f=(0,y.useId)(),p=d??f,m=`${p}-listbox`,[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(-1),b=(0,y.useRef)(null),x=(0,y.useRef)(null),C=(0,y.useRef)(null),[w,T]=(0,y.useState)(null),E=h&&!a;(0,y.useEffect)(()=>{if(!h||a)return;let e=e=>{let t=e.target;b.current?.contains(t)||x.current?.contains(t)||g(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[a,h]);let D=(0,y.useCallback)(()=>{b.current&&T(mc(b.current))},[]),O=(0,y.useCallback)(()=>{typeof window>`u`||(C.current!==null&&window.cancelAnimationFrame(C.current),C.current=window.requestAnimationFrame(()=>{C.current=null,D()}))},[D]);(0,y.useLayoutEffect)(()=>{if(!E){C.current!==null&&typeof window<`u`&&(window.cancelAnimationFrame(C.current),C.current=null);return}D();let e=()=>{O()},t=typeof ResizeObserver<`u`&&b.current?new ResizeObserver(()=>{O()}):null;return t&&b.current&&t.observe(b.current),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0),t?.disconnect(),C.current!==null&&(window.cancelAnimationFrame(C.current),C.current=null)}},[E,O,D]);let k=(0,y.useMemo)(()=>t.findIndex(t=>t.value===e),[t,e]),A=_>=0?_:k>=0?k:t.length>0?0:-1,j=k>=0?t[k]:void 0,M=j?.label??r??``,N=!j&&r,ee=(0,y.useCallback)(e=>{let r=t[e];r&&(n(r.value),g(!1),v(e))},[n,t]),P=(0,y.useCallback)(e=>{if(t.length===0)return;let n=(A+e+t.length)%t.length;v(n)},[t.length,A]),F=(0,y.useCallback)(e=>{if(!a)switch(e.key){case`ArrowDown`:if(e.preventDefault(),!E){g(!0);return}P(1);return;case`ArrowUp`:if(e.preventDefault(),!E){g(!0);return}P(-1);return;case`Home`:if(!E||t.length===0)return;e.preventDefault(),v(0);return;case`End`:if(!E||t.length===0)return;e.preventDefault(),v(t.length-1);return;case`Enter`:case` `:if(e.preventDefault(),!E){g(!0);return}A>=0&&ee(A);return;case`Escape`:if(!E)return;e.preventDefault(),g(!1);return;case`Tab`:E&&g(!1);return;default:return}},[ee,a,E,P,t.length,A]);(0,y.useEffect)(()=>{!E||A<0||document.getElementById(`${p}-option-${A}`)?.scrollIntoView({block:`nearest`})},[E,A,p]);let I=E&&w?(0,H.jsx)(`div`,{ref:x,className:cc.dropdown,id:m,role:`listbox`,"aria-label":o,style:w,children:t.map((t,n)=>{let r=t.value===e,i=n===A;return(0,H.jsx)(`button`,{id:`${p}-option-${n}`,type:`button`,role:`option`,"aria-selected":r,className:`${cc.option} ${r?cc.optionActive:``} ${i?cc.optionHighlighted:``}`.trim(),onMouseEnter:()=>v(n),onKeyDown:F,onClick:()=>ee(n),children:t.label},t.value)})}):null;return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`div`,{className:`${cc.wrap} ${l?cc.wrapFullWidth:``} ${i??``}`,ref:b,children:(0,H.jsxs)(`button`,{id:p,type:`button`,className:`${cc.trigger} ${u===`sm`?cc.triggerSm:``}`.trim(),onClick:a?void 0:()=>g(e=>!e),onKeyDown:F,"aria-haspopup":`listbox`,"aria-expanded":E,"aria-controls":E?m:void 0,"aria-activedescendant":E&&A>=0?`${p}-option-${A}`:void 0,"aria-label":o,"aria-labelledby":s,"aria-describedby":c,disabled:a,children:[(0,H.jsx)(`span`,{className:`${cc.triggerText} ${N?cc.placeholder:``}`,children:M}),(0,H.jsx)(`span`,{className:cc.triggerIcon,"aria-hidden":`true`,children:(0,H.jsx)(Is,{size:14})})]})}),I&&(typeof document>`u`?I:(0,S.createPortal)(I,document.body))]})}var gc={root:`SelectionCheckbox-module__root___LiMQt`,disabled:`SelectionCheckbox-module__disabled___-T-uP`,input:`SelectionCheckbox-module__input___b-Hpm`,box:`SelectionCheckbox-module__box___FRD4m`,boxChecked:`SelectionCheckbox-module__boxChecked___4lydu`,label:`SelectionCheckbox-module__label___twhQj`};function _c({checked:e,onChange:t,label:n,ariaLabel:r,title:i,disabled:a=!1,className:o,labelClassName:s}){let c=[gc.root,a?gc.disabled:``,o].filter(Boolean).join(` `),l=[gc.box,e?gc.boxChecked:``].filter(Boolean).join(` `),u=[gc.label,s].filter(Boolean).join(` `);return(0,H.jsxs)(`label`,{className:c,title:i,children:[(0,H.jsx)(`input`,{className:gc.input,type:`checkbox`,checked:e,onChange:e=>{t(e.target.checked)},"aria-label":r,disabled:a}),(0,H.jsx)(`span`,{className:l,children:e?(0,H.jsx)(Bs,{size:12}):null}),n?(0,H.jsx)(`div`,{className:u,children:n}):null]})}var vc=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},yc=(e=>e?vc(e):vc),bc=e=>e;function xc(e,t=bc){let n=y.useSyncExternalStore(e.subscribe,y.useCallback(()=>t(e.getState()),[e,t]),y.useCallback(()=>t(e.getInitialState()),[e,t]));return y.useDebugValue(n),n}var Sc=e=>{let t=yc(e),n=e=>xc(t,e);return Object.assign(n,t),n},Cc=(e=>e?Sc(e):Sc);function wc(){return`${Date.now()}-${Math.random().toString(36).substr(2,9)}`}var Tc=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Ec=(e,t=``)=>e instanceof Error?e.message||t:typeof e==`string`?e||t:Tc(e)&&typeof e.message==`string`&&e.message||t,Dc=e=>e,Oc=30*1e3,kc=8317,Ac=`/v0/management`,jc=30*1e3,Mc=[`x-cpa-version`],Nc=[`x-cpa-build-date`],Pc=[`x-cpa-support-plugin`],Fc=[...Mc,`x-server-version`],Ic=[...Nc,`x-server-build-date`],Lc=60*1e3,Rc=10*1024*1024,zc=`cli-proxy-auth`,Bc=`cli-proxy-theme`,Vc=`cli-proxy-language`,Hc=Dc([`zh-CN`,`zh-TW`,`en`,`ru`]),Uc={"zh-CN":`language.chinese`,"zh-TW":`language.chinese_tw`,en:`language.english`,ru:`language.russian`},Wc=Hc,Gc=3e3,Kc=Cc(e=>({notifications:[],confirmation:{isOpen:!1,isLoading:!1,options:null},showNotification:(t,n=`info`,r=Gc)=>{let i=wc(),a={id:i,message:t,type:n,duration:r};e(e=>({notifications:[...e.notifications,a]})),r>0&&setTimeout(()=>{e(e=>({notifications:e.notifications.filter(e=>e.id!==i)}))},r)},removeNotification:t=>{e(e=>({notifications:e.notifications.filter(e=>e.id!==t)}))},showConfirmation:t=>{e({confirmation:{isOpen:!0,isLoading:!1,options:t}})},hideConfirmation:()=>{e(e=>({confirmation:{...e.confirmation,isOpen:!1,options:null}}))},setConfirmationLoading:t=>{e(e=>({confirmation:{...e.confirmation,isLoading:t}}))}}));function qc(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var Jc=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return Jc(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return Jc(t)(e)}}}},Yc=(e,t)=>(n,r,i)=>{let a={storage:qc(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return Jc(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},Xc=()=>window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,Zc=()=>Xc()===`dark`?`dark`:`white`,Qc=e=>e===`dark`?`dark`:`light`,$c=e=>e===`auto`?Zc():e===`white`?`white`:e,el=e=>{if(e===`dark`){document.documentElement.setAttribute(`data-theme`,`dark`);return}if(e===`white`){document.documentElement.setAttribute(`data-theme`,`white`);return}document.documentElement.removeAttribute(`data-theme`)},tl=Cc()(Yc((e,t)=>({theme:`auto`,resolvedTheme:`light`,setTheme:t=>{let n=$c(t);el(n),e({theme:t,resolvedTheme:Qc(n)})},initializeTheme:()=>{let{theme:n,setTheme:r}=t();if(r(n),!window.matchMedia)return()=>{};let i=window.matchMedia(`(prefers-color-scheme: dark)`),a=()=>{let{theme:n}=t();if(n===`auto`){let t=Zc();el(t),e({resolvedTheme:Qc(t)})}};return i.addEventListener(`change`,a),()=>i.removeEventListener(`change`,a)}}),{name:Bc})),nl={common:{login:`登录`,logout:`登出`,back:`返回`,cancel:`取消`,confirm:`确认`,leave:`离开`,stay:`继续编辑`,save:`保存`,delete:`删除`,edit:`编辑`,add:`添加`,update:`更新`,refresh:`刷新`,close:`关闭`,success:`成功`,error:`错误`,info:`信息`,warning:`警告`,loading:`加载中...`,connecting:`连接中...`,connected:`已连接`,disconnected:`未连接`,connecting_status:`连接中`,connected_status:`已连接`,disconnected_status:`未连接`,yes:`是`,no:`否`,not_set:`未设置`,optional:`可选`,required:`必填`,api_key:`密钥`,base_url:`地址`,prefix:`前缀`,proxy_url:`代理`,priority:`优先级`,alias:`别名`,failure:`失败`,unknown_error:`未知错误`,quota_update_required:`请更新 CPA 版本或检查更新`,quota_check_credential:`请检查凭证状态`,copy:`复制`,expand:`展开`,collapse:`收起`,status:`状态`,action:`操作`,custom_headers_label:`自定义请求头`,custom_headers_hint:`可选,设置需要附带到请求中的 HTTP 头,名称和值均不能为空。`,custom_headers_add:`添加请求头`,custom_headers_key_placeholder:`Header 名称,例如 X-Custom-Header`,custom_headers_value_placeholder:`Header 值`,model_name_placeholder:`模型名称,例如 claude-3-5-sonnet-20241022`,model_alias_placeholder:`模型别名 (可选)`,invalid_provider_index:`无效的提供商索引。`,unsaved_changes_title:`未保存的更改`,unsaved_changes_message:`你有未保存的更改,离开后将丢失这些更改。确定要离开吗?`},title:{login:`CLI Proxy API Management Center`,abbr:`CPAMC`},splash:{title:`CLI Proxy API`,subtitle:`管理中心`},login:{subtitle:`请输入连接信息以访问管理界面`,connection_current:`当前地址`,connection_auto_hint:`系统将自动使用当前访问地址进行连接`,custom_connection_label:`自定义连接地址:`,custom_connection_placeholder:`例如: https://example.com:8317`,custom_connection_hint:`默认使用当前访问地址,若需要可手动输入其他地址。`,remember_password_label:`记住密码`,management_key_label:`管理密钥:`,management_key_placeholder:`请输入管理密钥`,submit_button:`登录`,submitting:`连接中...`,error_backend_detail:`后端返回`,error_required:`请填写完整的连接信息`,error_invalid:`连接失败,请检查服务地址、管理接口和管理密钥`,error_network:`网络连接失败,请检查网络或服务器地址`,error_timeout:`连接超时,服务器无响应`,error_unauthorized:`认证失败,管理密钥缺失或无效`,error_forbidden:`访问被拒绝,远程管理未启用、管理密钥未配置或 IP 被临时封禁`,error_not_found:`未找到 Management API,请确认服务地址指向 CLIProxyAPI 后端`,error_server:`后端处理管理接口时发生错误,请查看服务日志`,error_cors:`跨域请求被阻止,请检查服务器配置`,error_ssl:`SSL/TLS 证书验证失败`},header:{refresh_all:`刷新全部`,logout:`登出`},connection:{status:`连接状态:`},nav:{dashboard:`仪表盘`,quick_start:`快速开始`,ai_providers:`AI 提供商`,auth_files:`认证文件`,oauth:`OAuth 登录`,quota_management:`配额管理`,plugins:`插件管理`,plugin_store:`插件商店`,config_management:`配置面板`,logs:`日志查看`,system_info:`中心信息`},nav_groups:{operate:`运行`,gateway:`网关`,observe:`观测`,plugin_pages:`插件`,control:`控制`},nav_meta:{dashboard:`运行总览`,quick_start:`快速配置`,ai_providers:`上游模型路由`,auth_files:`Auth 文件与凭证`,oauth:`OAuth 授权登录`,quota_management:`API Key 与限额`,plugins:`插件启停与配置`,plugin_store:`发现并安装插件`,logs:`请求追踪与排查`,config_management:`网关基础配置`,system_info:`运行与诊断信息`},dashboard:{hero_verdict_good:`运行平稳`,hero_verdict_warning:`略有波动`,hero_verdict_critical:`需要留意`,hero_verdict_idle:`静候流量`,hero_verdict_offline:`等待连接`,hero_verdict_connecting:`正在连接`,hero_period:`。`,hero_requests_label:`已处理请求`,hero_live:`实时`,hero_window_meta:`滚动窗口 {{window}} · 每桶 10 分钟`,hero_spark_label:`最近 {{window}} 的请求量`,cta_manage_providers:`管理供应商`,cta_inspect_logs:`查看日志`,stats_aria:`核心指标`,success_rate:`成功率`,stat_success_hint:`窗口内共 {{total}} 次请求`,stat_credentials:`凭证`,stat_credentials_hint:`{{active}} 个可用 · {{disabled}} 个未参与调度`,stat_credentials_empty:`未找到凭证文件`,stat_provider_keys:`供应商密钥`,stat_provider_keys_hint:`所有品牌已配置的 API Key 总数`,stat_models:`模型`,stat_models_hint:`通过代理端点暴露的模型`,traffic_eyebrow:`实时流量`,traffic_title:`以 10 分钟为粒度的吞吐`,traffic_description:`最近 {{window}} 的成功与失败次数,每 10 分钟一桶。悬停任一柱可查看精确构成。`,traffic_table:`数据表`,traffic_table_window:`时间段`,traffic_chart_summary:`最近 {{minutes}} 分钟共 {{total}} 次请求:成功 {{success}} 次,失败 {{failed}} 次。`,traffic_unavailable:`暂无流量数据`,traffic_unavailable_hint:`代理处理首个请求后即会出现计数。`,fleet_eyebrow:`供应商`,fleet_title:`所有供应商横向对比`,fleet_description:`同一窗口内各供应商的请求量与成功率。`,fleet_empty:`暂未记录到供应商流量。`,fleet_credentials:`凭证 {{value}} 个`,fleet_spark_label:`{{provider}} 请求量`,fleet_requests:`次请求`,provider_unknown:`未归类`,health_eyebrow:`健康度`,health_title:`凭证状态`,health_active:`可用`,health_unavailable:`不可用`,health_disabled:`已禁用`,health_by_type:`按供应商`,health_empty:`未找到凭证文件。`,health_link:`打开认证文件`,runtime_eyebrow:`运行时`,runtime_title:`运行配置一览`,runtime_routing:`路由策略`,runtime_retry:`请求重试`,runtime_management_keys:`管理密钥`,runtime_version:`服务端版本`,runtime_build:`构建日期`,runtime_proxy:`上游代理`,runtime_debug:`调试模式`,runtime_file_logging:`文件日志`,runtime_request_log:`请求日志`,runtime_ws_auth:`WebSocket 鉴权`,runtime_model_prefix:`模型前缀`,runtime_link:`编辑配置`,cta_eyebrow:`下一步`,cta_title:`接下来去哪里`,cta_providers_desc:`添加 API Key、设置优先级并测试品牌。`,cta_auth_files_desc:`上传、刷新与禁用 OAuth 凭证。`,cta_config_desc:`调整路由、重试、日志与访问控制。`,cta_quota_desc:`查看各凭证的剩余额度。`,cta_logs_desc:`实时跟踪请求并下载错误报告。`,cta_system_desc:`版本详情与管理中心信息。`,window_m:`{{minutes}} 分钟`,window_h:`{{hours}} 小时`,window_hm:`{{hours}} 小时 {{minutes}} 分`},basic_settings:{debug_enable:`启用调试模式`,proxy_url_label:`代理 URL:`,retry_count_label:`重试次数:`,logging_to_file_enable:`启用日志记录到文件`,request_log_title:`请求日志`,request_log_enable:`启用请求日志`,request_log_warning:`仅在需要排查问题时开启,日常请保持关闭。`,ws_auth_enable:`启用 /ws/* 鉴权`,routing_strategy_round_robin:`round-robin (轮询)`,routing_strategy_weighted_round_robin:`weighted-round-robin (加权轮询)`,routing_strategy_fill_first:`fill-first (优先填充)`},auth_files:{title:`认证文件管理`,meta_total:`{{count}} 个凭证`,meta_active:`{{count}} 个启用`,meta_problem:`{{count}} 个异常`,empty_title:`还没有凭证`,empty_desc:`上传认证文件,或通过 OAuth 连接一个提供商开始使用。`,empty_oauth_link:`去 OAuth 登录`,no_results_clear:`清除筛选`,title_section:`认证文件`,upload_button:`上传文件`,delete_all_button:`删除全部`,search_empty_title:`没有匹配的配置文件`,search_empty_desc:`请调整筛选条件或清空搜索关键字再试一次。`,file_size:`大小`,file_modified:`修改时间`,health_status_label:`健康状态`,health_status_healthy:`健康`,health_status_warning:`警告`,health_status_disabled:`已停用`,download_button:`下载`,manual_refresh_button:`刷新 OAuth 凭证`,manual_refresh_requested:`已提交 "{{name}}" 的凭证刷新请求`,manual_refresh_failed:`提交 "{{name}}" 的凭证刷新请求失败:{{message}}`,delete_button:`删除`,delete_confirm:`确定要删除文件`,delete_all_confirm:`确定要删除所有认证文件吗?此操作不可恢复!`,delete_filtered_confirm:`确定要删除筛选出的 {{type}} 认证文件吗?此操作不可恢复!`,delete_problem_button:`删除问题凭证`,delete_problem_button_with_type:`删除 {{type}} 问题凭证`,delete_problem_confirm:`确定要删除所有有问题的认证文件吗?此操作不可恢复!`,delete_problem_filtered_confirm:`确定要删除筛选出的有问题的 {{type}} 认证文件吗?此操作不可恢复!`,delete_filtered_result_button:`删除筛选结果`,delete_filtered_result_confirm:`确定要删除当前筛选结果中的认证文件吗?此操作不可恢复!`,upload_error_json:`只能上传JSON文件`,upload_error_size:`文件大小不能超过 {{maxSize}}`,upload_success:`文件上传成功`,download_success:`文件下载成功`,delete_success:`文件删除成功`,delete_all_success:`成功删除`,delete_filtered_success:`成功删除 {{count}} 个 {{type}} 认证文件`,delete_filtered_partial:`{{type}} 认证文件删除完成,成功 {{success}} 个,失败 {{failed}} 个`,delete_filtered_none:`当前筛选类型 ({{type}}) 下没有可删除的认证文件`,delete_problem_success:`成功删除 {{count}} 个有问题的认证文件`,delete_problem_filtered_success:`成功删除 {{count}} 个有问题的 {{type}} 认证文件`,delete_problem_partial:`有问题认证文件删除完成,成功 {{success}} 个,失败 {{failed}} 个`,delete_problem_filtered_partial:`有问题的 {{type}} 认证文件删除完成,成功 {{success}} 个,失败 {{failed}} 个`,delete_problem_none:`当前没有可删除的有问题认证文件`,delete_problem_filtered_none:`当前筛选类型 ({{type}}) 下没有可删除的有问题认证文件`,delete_filtered_result_success:`成功删除 {{count}} 个筛选结果中的认证文件`,delete_filtered_result_partial:`筛选结果删除完成,成功 {{success}} 个,失败 {{failed}} 个`,delete_filtered_result_none:`当前筛选结果中没有可删除的认证文件`,pagination_prev:`上一页`,pagination_next:`下一页`,pagination_info:`第 {{current}} / {{total}} 页 · 共 {{count}} 个文件`,search_label:`搜索配置文件`,search_placeholder:`输入名称、账号、类型或提供方关键字,支持 * 通配`,problem_filter_label:`状态筛选`,problem_filter_all:`全部`,problem_filter_enabled:`启用`,problem_filter_problem:`问题`,problem_filter_disabled:`停用`,display_options_label:`显示选项`,compact_mode_label:`简略模式`,sort_label:`排序`,sort_default:`默认`,sort_az:`A-Z 名称`,sort_priority:`优先级`,priority_display:`优先级`,weight_display:`WRR 权重`,page_size_label:`单页数量`,filter_all:`全部`,filter_qwen:`Qwen`,filter_gemini:`Gemini`,filter_kimi:`Kimi`,filter_aistudio:`AIStudio`,filter_claude:`Claude`,filter_codex:`Codex`,filter_antigravity:`Antigravity`,filter_xai:`xAI`,filter_iflow:`iFlow`,filter_vertex:`Vertex`,filter_empty:`空文件`,filter_unknown:`其他`,type_virtual:`虚拟认证文件`,models_button:`模型`,models_title:`支持的模型`,models_loading:`正在加载模型列表...`,models_empty:`该凭证暂无可用模型`,models_empty_desc:`该认证凭证可能尚未被服务器加载或没有绑定任何模型`,models_unsupported:`当前版本不支持此功能`,models_unsupported_desc:`请更新 CLI Proxy API 到最新版本后重试`,models_excluded_badge:`已禁用`,models_excluded_hint:`此 OAuth 模型已被禁用`,status_toggle_label:`启用`,status_enabled_success:`已启用 "{{name}}"`,status_disabled_success:`已停用 "{{name}}"`,batch_status_success:`已成功更新 {{count}} 个文件`,batch_status_partial:`成功 {{success}} 个,失败 {{failed}} 个`,batch_delete_title:`删除选中文件`,batch_delete_confirm:`确定要删除 {{count}} 个文件吗?`,batch_selected:`已选 {{count}} 项`,batch_toolbar_label:`批量操作`,batch_select_all:`全选`,batch_select_page:`全选当前页`,batch_select_filtered:`全选筛选结果`,batch_invert_page:`反选当前页`,batch_deselect:`取消选择`,batch_download:`下载选中`,batch_download_success:`已开始下载 {{count}} 个文件`,batch_download_partial:`下载完成:成功 {{success}} 个,失败 {{failed}} 个`,batch_enable:`启用`,batch_disable:`禁用`,prefix_proxy_button:`认证文件详情 / 编辑`,prefix_proxy_loading:`正在加载认证文件...`,prefix_proxy_info_label:`认证文件信息(info`,prefix_proxy_source_label:`认证文件 JSON(预览)`,prefix_proxy_invalid_content_label:`下载内容(已截断)`,prefix_label:`前缀(prefix`,proxy_url_label:`代理 URLproxy_url`,proxy_url_placeholder:`socks5://username:password@proxy_ip:port/`,priority_label:`优先级(priority`,priority_placeholder:`例如: 10 或 -1`,priority_hint:`仅支持整数;非法值会被忽略。数值越大优先级越高。`,weight_label:`调度权重(weight`,weight_hint:`默认值为 1;小于或等于 0 时不参与加权调度;最大值为 1,000,000。`,weight_invalid_integer:`权重必须是整数。`,weight_invalid_max:`权重不能超过 1,000,000。`,disable_cooling_label:`禁用指数冷却(disable_cooling`,disable_cooling_hint:`开启后,仅当前凭证跳过失败后的冷却与指数退避;其他凭证不受影响。`,websockets_label:`WebSocketswebsockets`,websockets_hint:`为该凭证开启 Responses API 的 websocket 传输。`,using_api_label:`使用官方 APIusing_api`,using_api_hint:`开启后使用 xAI 官方 API;关闭时使用 Grok CLI chat-proxy。`,note_label:`备注(note`,note_placeholder:`输入备注信息,例如:张三的账号`,note_hint:`可选,用于标记凭证用途或归属;留空则不写入。`,excluded_models_label:`排除模型(excluded_models`,headers_label:`自定义请求头(headers`,headers_placeholder:`{
"Header-Name": "value"
}`,headers_hint:`以 JSON 对象格式输入自定义 HTTP 请求头,例如:{"X-My-Header": "value"}`,headers_invalid_json:`自定义请求头必须是有效的 JSON。`,headers_invalid_object:`自定义请求头必须是 JSON 对象。`,headers_invalid_value:`每个自定义请求头的值都必须是字符串。`,prefix_proxy_invalid_json:`该认证文件不是 JSON 对象,无法编辑字段。`,prefix_proxy_html_challenge:`下载到的是 HTML 验证页面,不是认证 JSON 对象。请重新认证或替换该认证文件后再编辑字段。`,prefix_proxy_saved_success:`已更新认证文件 "{{name}}"`,quota_refresh_single:`刷新额度`,quota_refresh_hint:`仅刷新该认证文件的额度`,quota_refresh_success:`已刷新 "{{name}}" 的额度`,quota_refresh_failed:`刷新 "{{name}}" 的额度失败:{{message}}`},antigravity_subscription:{plan_unknown:`未知`,plan_free:`免费版`,plan_pro:`Pro`,plan_ultra:`Ultra`,plan_ultra_lite:`Ultra Lite`},antigravity_quota:{title:`Antigravity 额度`,empty_title:`暂无 Antigravity 认证`,empty_desc:`上传 Antigravity 认证文件后即可查看额度。`,idle:`点击此处刷新额度`,loading:`正在加载额度...`,load_failed:`额度获取失败:{{message}}`,missing_auth_index:`认证文件缺少 auth_index`,missing_project_id:`Antigravity 凭证缺少 project_id。请重新登录或刷新凭证以发现项目。`,empty_models:`暂无额度数据`,plan_label:`套餐`,group_gemini_models:`Gemini 模型`,group_claude_gpt_models:`Claude 和 GPT 模型`,group_models_description:`此分组包含:{{models}}`,weekly_limit:`周限额`,daily_limit:`日限额`,five_hour_limit:`5 小时限额`,monthly_limit:`月限额`,quota_available:`额度可用`,remaining_percent:`剩余 {{percent}}%`,refreshes_in:`{{duration}} 后刷新`,refresh_available:`可刷新`,duration_day_hour:`{{days}} 天 {{hours}} 小时`,duration_hour_minute:`{{hours}} 小时 {{minutes}} 分钟`,duration_minute:`{{minutes}} 分钟`,duration_less_than_minute:`小于 1 分钟`,refresh_button:`刷新额度`,fetch_all:`获取全部`},claude_quota:{title:`Claude 额度`,empty_title:`暂无 Claude OAuth 认证`,empty_desc:`使用 Claude OAuth 登录后即可查看额度。`,idle:`点击此处刷新额度`,loading:`正在加载额度...`,load_failed:`额度获取失败:{{message}}`,missing_auth_index:`认证文件缺少 auth_index`,empty_windows:`暂无额度数据`,refresh_button:`刷新额度`,fetch_all:`获取全部`,five_hour:`5 小时限额`,seven_day:`7 天限额`,seven_day_oauth_apps:`7 天 OAuth 应用`,seven_day_opus:`7 天 Opus`,seven_day_sonnet:`7 天 Sonnet`,seven_day_cowork:`7 天 Cowork`,iguana_necktie:`Iguana Necktie`,seven_day_fable:`7 天 Fable 5`,extra_usage_label:`额外用量`,plan_label:`套餐`,plan_unknown:`未知`,plan_free:`免费版`,plan_pro:`专业版`,plan_max:`Max`,plan_max5:`Max 5x`,plan_max20:`Max 20x`,plan_team:`团队版`},codex_quota:{title:`Codex 额度`,empty_title:`暂无 Codex 认证`,empty_desc:`上传 Codex 认证文件后即可查看额度。`,idle:`点击此处刷新额度`,loading:`正在加载额度...`,load_failed:`额度获取失败:{{message}}`,missing_auth_index:`认证文件缺少 auth_index`,missing_account_id:`Codex 凭证缺少 ChatGPT 账号 ID`,empty_windows:`暂无额度数据`,no_access:`该凭证已无 Codex 访问权限(free)。`,refresh_button:`刷新额度`,fetch_all:`获取全部`,primary_window:`5 小时限额`,secondary_window:`周限额`,team_secondary_window:`月度限额`,code_review_primary_window:`代码审查 5 小时限额`,code_review_secondary_window:`代码审查周限额`,code_review_team_secondary_window:`代码审查月度限额`,additional_primary_window:`{{name}} 5 小时限额`,additional_secondary_window:`{{name}} 周限额`,additional_team_secondary_window:`{{name}} 月度限额`,plan_label:`套餐`,expires_label:`续期时间`,reset_credits_label:`主动重置次数`,reset_credits_expiry_label:`主动重置过期时间(GMT+8`,reset_credit_number:`第 {{index}} 次`,reset_credits_expiry_failed:`主动重置过期时间获取失败:{{message}}`,reset_credits_invalid_payload:`主动重置过期时间响应格式无效`,reset_button:`重置额度`,reset_confirm_title:`重置 Codex 额度`,reset_confirm_message:`将消耗 1 次主动重置次数来重置 "{{name}}" 的 Codex 额度。是否继续?`,reset_confirm_button:`确认重置`,reset_success:`已重置 "{{name}}" 的 Codex 额度`,reset_failed:`重置 "{{name}}" 的 Codex 额度失败:{{message}}`,plan_plus:`Plus`,plan_team:`Team`,plan_free:`Free`,plan_pro:`Pro 20x`,plan_prolite:`Pro 5x`},kimi_quota:{title:`Kimi 额度`,empty_title:`暂无 Kimi 认证`,empty_desc:`上传 Kimi 认证文件后即可查看额度。`,idle:`点击此处刷新额度`,loading:`正在加载额度...`,load_failed:`额度获取失败:{{message}}`,missing_auth_index:`认证文件缺少 auth_index`,empty_data:`暂无额度数据`,refresh_button:`刷新额度`,fetch_all:`获取全部`,weekly_limit:`周限额`,limit_window:`{{duration}} 限额`,limit_index:`限额 #{{index}}`,reset_hint:`{{hint}} 后重置`},xai_quota:{title:`Grok 额度`,empty_title:`暂无 xAI/Grok 认证`,empty_desc:`使用 xAI OAuth 登录后即可查看 Grok 额度。`,idle:`点击此处刷新额度`,loading:`正在加载额度...`,load_failed:`额度获取失败:{{message}}`,missing_auth_index:`认证文件缺少 auth_index`,empty_data:`暂无额度数据`,refresh_button:`刷新额度`,fetch_all:`获取全部`,weekly_limit:`周限额`,monthly_credits:`月度积分`,used_percent:`已用 {{percent}}`,reset_at:`重置 {{time}}`,product_usage:`{{product}} 使用`,plan_label:`套餐`,plan_supergrok:`SuperGrok`,plan_supergrok_heavy:`SuperGrok Heavy`,plan_paid:`付费`,paid_health:`付费 API 对话可用。xAI 暂不为此 OAuth 凭证提供额度总量数据。`,pay_as_you_go_label:`按量付费`,pay_as_you_go_enabled:`已启用,封顶 {{cap}}`,pay_as_you_go_disabled:`未启用`},vertex_import:{title:`Vertex JSON 登录`,description:`上传 Google 服务账号 JSON,使用 CLI vertex-import 同步规则写入 auth-dir/vertex-<project>.json。`,location_label:`目标区域 (可选)`,location_placeholder:`us-central1`,location_hint:`留空表示使用默认区域 us-central1。`,file_label:`服务账号密钥 JSON`,file_hint:`仅支持 Google Cloud service account key JSON 文件,私钥会自动规范化。`,file_placeholder:`尚未选择文件`,choose_file:`选择文件`,import_button:`导入 Vertex 凭证`,file_required:`请先选择 .json 凭证文件`,success:`Vertex 凭证导入成功`,result_title:`凭证已保存`,result_project:`项目 ID`,result_email:`服务账号`,result_location:`区域`,result_file:`存储文件`},oauth_excluded:{title:`OAuth 模型禁用`,description:`按提供商分列展示,点击卡片编辑或删除;支持 * 通配符,范围跟随上方的配置文件过滤标签。`,add:`新增禁用`,add_title:`新增提供商模型禁用`,edit_title:`编辑 {{provider}} 的模型禁用`,provider_label:`提供商`,provider_placeholder:`例如 codex / openai`,provider_hint:`默认选中当前筛选的提供商,也可直接输入或选择其他名称。`,models_label:`禁用的模型`,save:`保存/更新`,save_success:`模型禁用已更新`,save_failed:`更新模型禁用失败`,delete:`删除提供商`,delete_confirm:`确定要删除 {{provider}} 的模型禁用吗?`,delete_success:`已删除该提供商的模型禁用`,delete_failed:`删除模型禁用失败`,no_models:`未配置禁用模型`,model_count:`禁用 {{count}} 个模型`,list_empty_all:`暂无任何提供商的模型禁用,点击“新增禁用”创建。`,provider_required:`请先填写提供商名称`,upgrade_required:`当前 CPA 版本不支持 OAuth 模型禁用,请升级 CPA 版本`,upgrade_required_title:`需要升级 CPA 版本`,upgrade_required_desc:`当前服务器版本不支持获取 OAuth 模型禁用功能,请升级到最新版本的 CPA(CLI Proxy API)后重试。`},excluded_models:{trigger_summary:`已排除 {{excluded}} · {{available}} 可用`,trigger_summary_rules:`{{n}} 条规则`,trigger_empty:`未排除任何模型`,meter_aria:`共 {{total}} 个模型,已排除 {{excluded}} 个`,search_placeholder:`搜索模型…`,search_aria:`搜索要排除的模型`,list_aria:`模型`,no_results:`没有匹配“{{query}}”的模型`,catalog_loading:`正在加载模型…`,catalog_unavailable:`无法获取模型列表,规则仍然生效。`,catalog_error:`模型加载失败。`,catalog_retry:`重试`,catalog_empty:`暂无可列出的模型。`,footer_count:`{{excluded}} / {{total}} 已排除`,select_all:`全部排除`,clear:`清空`,clear_aria:`清空已选模型(保留通配符规则)`,badge_wildcard:`由规则`,badge_unknown:`不在列表中`,wildcard_reason:`由规则 {{rule}} 匹配`,wildcard_locked:`由规则 {{rule}} 排除,请在下方修改该规则`,also_wildcard:`另由 {{rule}} 匹配`,chips_more:`还有 {{n}} 个`,chip_remove:`取消排除 {{rule}}`,rules_label:`通配符规则`,rules_placeholder:`每行一个规则,例如 gpt-5-*`,rules_hint:`* 匹配任意字符,匹配不区分大小写。`,rules_match_count:`匹配 {{n}} 个模型`,rules_match_none:`未匹配到列表中的任何模型`,rules_reserved:`“*” 会停用整个 provider,请改用「已停用」开关`},oauth_model_alias:{title:`OAuth 模型别名`,add:`新增别名`,add_title:`新增提供商模型别名`,provider_label:`提供商`,provider_placeholder:`例如 codex / vertex`,provider_hint:`默认选中当前筛选的提供商,也可直接输入或选择其他名称。`,model_source_loading:`正在加载模型列表...`,model_source_unsupported:`当前 CPA 版本不支持获取模型列表(仍可手动输入)。`,model_source_loaded:`已加载 {{count}} 个模型,可在“原模型名称”中下拉选择;也可手动输入。留空保存将删除该提供商记录;开启“保留原名”会在保留原模型名的同时新增别名。`,alias_label:`模型别名`,alias_name_placeholder:`原模型名称`,alias_placeholder:`别名 (必填)`,duplicate_alias:`同一提供商下的别名不能重复。`,alias_fork_label:`保留原名`,add_alias:`添加别名`,save:`保存/更新`,save_success:`模型别名已更新`,save_failed:`更新模型别名失败`,delete:`删除提供商`,delete_confirm:`确定要删除 {{provider}} 的模型别名吗?`,delete_link_title:`取消链接`,delete_link_confirm:`确定取消 <code>{{sourceModel}}</code>{{provider}})到别名 <code>{{alias}}</code> 的映射?`,delete_alias_title:`删除别名`,delete_alias_confirm:`确定删除别名 <code>{{alias}}</code> 并取消所有关联模型的映射?`,delete_success:`已删除该提供商的模型别名`,delete_failed:`删除模型别名失败`,no_models:`未配置模型别名`,model_count:`{{count}} 条别名`,list_empty_all:`暂无任何提供商的模型别名,点击“新增别名”创建。`,chart_title:`全部映射概览`,diagram_providers:`提供商`,diagram_source_models:`源模型`,diagram_aliases:`别名`,diagram_expand:`展开`,diagram_collapse:`收起`,diagram_add_alias:`添加别名`,diagram_rename:`重命名`,diagram_rename_alias_title:`重命名别名`,diagram_rename_alias_label:`新别名名称`,diagram_rename_placeholder:`输入别名名称...`,diagram_delete_link:`取消链接 {{provider}} / {{name}}`,diagram_delete_alias:`删除别名`,diagram_please_enter_alias:`请输入别名名称。`,diagram_alias_exists:`该别名已存在。`,diagram_add_alias_title:`添加别名`,diagram_add_alias_label:`别名名称`,diagram_add_placeholder:`输入新别名名称...`,diagram_rename_btn:`重命名`,diagram_add_btn:`添加`,diagram_settings:`设置`,diagram_settings_title:`别名设置 — {{alias}}`,diagram_settings_source_title:`源模型设置`,diagram_settings_empty:`该别名暂无映射。`,diagram_tap_hint:`触摸设备上:先点选源模型,再点选别名即可建立映射。`,view_mode_diagram:`概览`,view_mode_list:`管理`,provider_required:`请先填写提供商名称`,upgrade_required:`当前 CPA 版本不支持模型别名功能,请升级 CPA 版本`,upgrade_required_title:`需要升级 CPA 版本`,upgrade_required_desc:`当前服务器版本不支持 OAuth 模型别名功能,请升级到最新版本的 CPA(CLI Proxy API)后重试。`},auth_login:{recommended_provider_section:`推荐提供商`,recommended_provider_badge:`推荐提供商`,other_oauth_providers:`其他 OAuth 提供商`,other_login_methods:`其他登录方式`,codex_oauth_title:`Codex OAuth`,codex_oauth_button:`开始 Codex 登录`,codex_oauth_hint:`通过 OAuth 流程登录 Codex 服务,自动获取并保存认证文件。`,codex_oauth_url_label:`授权链接:`,codex_open_link:`打开链接`,codex_copy_link:`复制链接`,codex_oauth_status_waiting:`等待认证中...`,codex_oauth_status_success:`认证成功!`,codex_oauth_status_error:`认证失败:`,codex_oauth_start_error:`启动 Codex OAuth 失败:`,codex_oauth_polling_error:`检查认证状态失败:`,anthropic_oauth_title:`Anthropic OAuth`,anthropic_oauth_button:`开始 Anthropic 登录`,anthropic_oauth_hint:`通过 OAuth 流程登录 Anthropic (Claude) 服务,自动获取并保存认证文件。`,anthropic_oauth_url_label:`授权链接:`,anthropic_open_link:`打开链接`,anthropic_copy_link:`复制链接`,anthropic_oauth_status_waiting:`等待认证中...`,anthropic_oauth_status_success:`认证成功!`,anthropic_oauth_status_error:`认证失败:`,anthropic_oauth_start_error:`启动 Anthropic OAuth 失败:`,anthropic_oauth_polling_error:`检查认证状态失败:`,antigravity_oauth_title:`Antigravity OAuth`,antigravity_oauth_button:`开始 Antigravity 登录`,antigravity_oauth_hint:`通过 OAuth 流程登录 AntigravityGoogle 账号)服务,自动获取并保存认证文件。`,antigravity_oauth_url_label:`授权链接:`,antigravity_open_link:`打开链接`,antigravity_copy_link:`复制链接`,antigravity_oauth_status_waiting:`等待认证中...`,antigravity_oauth_status_success:`认证成功!`,antigravity_oauth_status_error:`认证失败:`,antigravity_oauth_start_error:`启动 Antigravity OAuth 失败:`,antigravity_oauth_polling_error:`检查认证状态失败:`,kimi_oauth_title:`Kimi OAuth`,kimi_oauth_button:`使用 Kimi 登录`,kimi_sign_up_button:`立即注册`,kimi_oauth_hint:`通过设备授权快速登录 Kimi,完成后将自动获取并保存认证文件。`,kimi_oauth_url_label:`授权链接:`,kimi_open_link:`打开链接`,kimi_copy_link:`复制链接`,kimi_oauth_status_waiting:`等待认证中...`,kimi_oauth_status_success:`认证成功!`,kimi_oauth_status_error:`认证失败:`,kimi_oauth_start_error:`启动 Kimi OAuth 失败:`,kimi_oauth_polling_error:`检查认证状态失败:`,xai_oauth_title:`xAI OAuth`,xai_oauth_button:`开始 xAI 登录`,xai_oauth_hint:`通过 OAuth 流程登录 xAI Grok 服务,自动获取并保存认证文件。`,xai_oauth_url_label:`授权链接:`,xai_open_link:`打开链接`,xai_copy_link:`复制链接`,xai_oauth_status_waiting:`等待认证中...`,xai_oauth_status_success:`认证成功!`,xai_oauth_status_error:`认证失败:`,xai_oauth_start_error:`启动 xAI OAuth 失败:`,xai_oauth_polling_error:`检查认证状态失败:`,plugin_oauth_title:`{{name}} OAuth`,plugin_oauth_button:`开始 {{name}} 登录`,plugin_oauth_hint:`通过插件提供的 OAuth 流程登录 {{name}},自动获取并保存认证文件。`,plugin_oauth_url_label:`授权链接:`,plugin_open_link:`打开链接`,plugin_copy_link:`复制链接`,plugin_oauth_status_waiting:`等待认证中...`,plugin_oauth_status_success:`认证成功!`,plugin_oauth_status_error:`认证失败:`,plugin_oauth_start_error:`启动插件 OAuth 失败:`,xai_callback_label:`回调 URL 或授权码`,xai_callback_placeholder:`粘贴页面显示的 code,或完整 callback URL`,xai_callback_hint:`Grok 有时只在页面显示 code。可直接粘贴 code,系统会自动拼接为 http://127.0.0.1:56121/callback?... 后提交。`,xai_callback_required:`请先粘贴 Grok 页面显示的 code 或完整回调 URL。`,xai_callback_state_missing:`缺少本次 xAI 登录的 state,请重新开始 xAI 登录后再提交 code。`,oauth_callback_label:`回调 URL`,oauth_callback_placeholder:`http://localhost:1455/auth/callback?code=...&state=...`,oauth_callback_hint:`远程浏览器模式:当授权跳转到 http://localhost:... 后,复制完整 URL 并提交到这里。`,oauth_callback_button:`提交回调 URL`,oauth_callback_required:`请先粘贴完整的回调 URL。`,oauth_callback_success:`回调 URL 已提交,请继续等待认证。`,oauth_callback_error:`提交回调 URL 失败:`,oauth_callback_upgrade_hint:`请更新CLI Proxy API或检查连接`,oauth_callback_status_success:`回调 URL 已提交,等待认证中...`,oauth_callback_status_error:`回调 URL 提交失败:`,missing_state:`无法获取认证状态参数`,login_another_account:`登录另一个账号`,view_auth_files:`查看认证文件`,iflow_oauth_title:`iFlow OAuth`,iflow_oauth_button:`开始 iFlow 登录`,iflow_oauth_hint:`通过 OAuth 流程登录 iFlow 服务,自动获取并保存认证文件。`,iflow_oauth_url_label:`授权链接:`,iflow_open_link:`打开链接`,iflow_copy_link:`复制链接`,iflow_oauth_status_waiting:`等待认证中...`,iflow_oauth_status_success:`认证成功!`,iflow_oauth_status_error:`认证失败:`,iflow_oauth_start_error:`启动 iFlow OAuth 失败:`,iflow_oauth_polling_error:`检查认证状态失败:`,remote_access_disabled:`远程访问不支持此登录方式,请从本地 (localhost) 访问`},stats:{success:`成功`,failure:`失败`},status_bar:{success_short:`✓`,failure_short:`✗`,no_requests:`无请求`},logs:{title:`日志查看`,refresh_button:`刷新日志`,clear_button:`清空日志`,fullscreen_button:`全屏显示`,exit_fullscreen_button:`退出全屏`,download_button:`下载日志`,error_logs_modal_title:`错误请求日志`,error_logs_description:`请选择要打开或下载的错误请求日志文件(仅在关闭请求日志时生成)。`,error_logs_request_log_enabled:`当前已开启请求日志,按接口约定错误请求日志列表会始终为空。关闭请求日志后再刷新即可查看。`,error_logs_empty:`暂无错误请求日志文件`,error_logs_load_error:`加载错误日志列表失败`,error_logs_size:`大小`,error_logs_modified:`最后修改`,error_logs_open:`打开`,error_logs_download:`下载`,error_log_view_title:`错误请求日志详情`,error_log_open_failed:`打开错误日志失败`,error_log_empty_content:`该错误日志没有内容`,error_log_copy_success:`错误日志内容已复制`,error_log_download_success:`错误日志下载成功`,request_log_download_title:`下载报文`,request_log_download_confirm:`是否要下载id为{{id}}的报文?`,request_log_download_success:`报文下载成功`,empty_title:`暂无日志记录`,empty_desc:`当启用"日志记录到文件"功能后,日志将显示在这里`,cpa_file_logging_required:`当前连接的是 CPA,日志查看需要先开启“日志记录到文件”。`,cpa_file_logging_required_title:`需要开启文件日志`,cpa_file_logging_required_desc:`CPA 的日志接口读取本地日志文件。请在配置中开启 logging-to-file 后再刷新查看。`,file_logging_required:`当前日志接口需要先开启“日志记录到文件”后才能读取文件日志。`,file_logging_required_title:`需要开启文件日志`,file_logging_required_desc:`当前日志接口读取本地日志文件。请在配置中开启 logging-to-file 后再刷新查看。`,log_content:`日志内容`,loading:`正在加载日志...`,load_error:`加载日志失败`,clear_confirm:`确定要清空所有日志吗?此操作不可恢复!`,clear_success:`日志已清空`,download_success:`日志下载成功`,auto_refresh:`自动刷新`,load_more_hint:`向上滚动加载更多`,hidden_lines:`已隐藏 {{count}} 行`,loaded_lines:`已载入 {{count}} 行`,filtered_lines:`已过滤 {{count}} 行`,hide_management_logs:`屏蔽 {{prefix}} 日志`,show_raw_logs:`显示原始日志`,show_raw_logs_hint:`直接显示原始日志文本,方便多行复制`,search_placeholder:`搜索日志内容或关键字`,filter_panel_title:`结构化筛选`,filter_panel_expand:`展开结构化筛选`,filter_panel_collapse:`收起结构化筛选`,filter_panel_active_count:`已选 {{count}} 项`,filter_method:`请求方法`,filter_status:`状态码`,filter_path:`路径`,filter_path_empty:`暂无可筛选路径`,filter_status_2xx:`2xx`,filter_status_3xx:`3xx`,filter_status_4xx:`4xx`,filter_status_5xx:`5xx`,clear_filters:`清空筛选`,search_empty_title:`未找到匹配的日志`,search_empty_desc:`尝试更换关键字或清空筛选条件。`,double_click_copy_hint:`双击复制日志原文`,copy_success:`已复制日志原文`,copy_failed:`复制失败`},config_management:JSON.parse(`{"title":"配置面板","reload":"重新加载","reload_confirm_message":"重新加载将丢弃你当前未保存的修改,确定继续吗?","save":"保存","status_loading":"加载配置中...","status_loading_short":"加载中","status_loaded":"配置已加载","status_loaded_short":"已加载","status_dirty":"有未保存的更改","status_dirty_short":"未保存","status_disconnected":"请先连接服务器以加载配置","status_disconnected_short":"未连接","status_load_failed":"加载失败","status_load_failed_short":"失败","status_saving":"正在保存配置...","status_saving_short":"保存中","save_success":"配置已保存","visual_mode_unavailable":"YAML 语法修复前无法使用可视化编辑","visual_mode_unavailable_short":"YAML错误","validation_blocked_short":"待修复","visual_mode_unavailable_detail":"当前配置存在无效 YAML,暂时无法使用可视化编辑:{{message}}","visual_mode_save_blocked":"请先修复 YAML 语法错误,再从可视化模式保存","visual_mode_latest_yaml_invalid":"服务端最新配置包含无效 YAML,请先切回源码模式检查后再保存可视化修改:{{message}}","editor_placeholder":"key: value","search_placeholder":"搜索配置内容...","search_button":"搜索","search_no_results":"无结果","search_prev":"上一个","search_next":"下一个","diff":{"title":"确认变更","confirm":"确认保存","no_changes":"未检测到变更"},"tabs":{"visual":"可视化编辑","source":"源文件编辑"},"visual":{"notice":"可视化模式覆盖常用字段,未覆盖的配置仍需在源文件模式中查看或编辑。","quick_jump":"快速跳转","mode":{"simple":"简单","full":"完整","label":"编辑模式","more_settings":"切换到完整模式,查看全部 {{total}} 个配置分区","validation_banner":"部分高级配置项存在校验错误,已阻止保存。请切换到完整模式进行修复。","switch_to_full":"切换完整模式"},"search":{"placeholder":"搜索配置项(标签或 YAML 键名)","no_results":"没有匹配的配置项"},"sections":{"connectivity":{"title":"接入与认证","description":"服务地址、端口、认证目录与 API 密钥"},"logging":{"title":"日志与诊断","description":"调试、日志输出与使用统计"},"advanced":{"title":"高级与实验","description":"请求头伪装、签名缓存、插件源等不常修改的设置","plugins_title":"插件","signature_title":"Antigravity 签名"},"server":{"title":"服务器配置","description":"基础服务器设置","host":"主机地址","port":"端口"},"tls":{"title":"TLS/SSL 配置","description":"HTTPS 安全连接设置","enable":"启用 TLS","enable_desc":"启用 HTTPS 安全连接","cert":"证书文件路径","key":"私钥文件路径"},"remote":{"title":"远程管理","description":"远程访问和控制面板设置","allow_remote":"允许远程访问","allow_remote_desc":"允许从其他主机访问管理接口","disable_panel":"禁用控制面板","disable_panel_desc":"禁用内置的 Web 控制面板","disable_auto_update_panel":"禁用面板自动更新","disable_auto_update_panel_desc":"首次缺失时仍可下载,但不再从 GitHub 后台自动更新","secret_key":"管理密钥","secret_key_placeholder":"设置管理密钥","panel_repo":"面板仓库"},"auth":{"title":"认证配置","description":"API 密钥与认证文件目录设置","auth_dir":"认证文件目录 (auth-dir)","auth_dir_hint":"存放认证文件的目录路径(支持 ~"},"system":{"title":"系统配置","description":"调试、日志、统计与性能调试设置","debug":"调试模式","debug_desc":"启用详细的调试日志","commercial_mode":"商业模式","commercial_mode_desc":"禁用高开销中间件以支持高并发","logging_to_file":"写入日志文件","logging_to_file_desc":"将日志保存到文件","plugins_enabled":"启用插件系统","plugins_enabled_desc":"启用标准动态库插件加载;具体插件实例仍在插件管理页启停","plugin_store_sources":"第三方插件源","plugin_store_sources_desc":"追加插件商店 registry 源;内置官方源始终保留","plugin_store_sources_label":"插件源 registry URL (plugins.store-sources)","plugin_store_sources_placeholder":"https://example.com/cliproxy-plugins/registry.json","plugin_store_sources_hint":"每行一个 registry.json URL,保存时会过滤空行","plugin_store_auth":"插件商店认证规则","plugin_store_auth_desc":"为私有 registry、GitHub Release 元数据或下载地址配置认证头","plugin_store_auth_hint":"这里只填写环境变量名,不填写真实 token;后端会从运行环境读取值。","store_auth_empty":"暂未配置认证规则。公开插件源不需要配置。","store_auth_rule":"认证规则","store_auth_add":"添加认证规则","store_auth_match":"匹配 URL 前缀","store_auth_type":"认证类型","store_auth_apply_to":"应用到","store_auth_apply_to_hint":"不选择时应用到所有请求类型。","store_auth_apply_registry":"Registry","store_auth_apply_metadata":"Metadata","store_auth_apply_artifact":"Artifact","store_auth_type_none":"无认证","store_auth_type_bearer":"Bearer","store_auth_type_basic":"Basic","store_auth_type_header":"自定义 Header","store_auth_type_github_token":"GitHub Token","store_auth_token_env":"Token 环境变量名","store_auth_username_env":"用户名环境变量名","store_auth_password_env":"密码环境变量名","store_auth_header_name":"Header 名称","store_auth_header_value_env":"Header 值环境变量名","store_auth_allow_insecure":"允许 HTTP 非安全地址","logs_max_size":"日志文件大小限制 (MB)","error_logs_max_files":"错误日志保留文件数","usage_statistics_enabled":"启用内存用量统计","usage_statistics_enabled_desc":"启用内存中的请求用量聚合","redis_usage_retention":"Redis 用量队列保留秒数","redis_usage_retention_hint":"RESP 接口 LPOP/RPOP 用量队列的内存保留时间,最大 3600 秒","antigravity_signature_cache":"启用 Antigravity 签名缓存","antigravity_signature_cache_desc":"优先使用并校验缓存的 thinking block 签名","antigravity_signature_strict":"严格校验旁路签名","antigravity_signature_strict_desc":"仅在关闭签名缓存时生效,按完整 Claude protobuf 树校验"},"headers":{"title":"Header 默认值","description":"Claude 与 Codex OAuth 请求在客户端缺少 Header 时使用的默认值","claude_title":"Claude Header Defaults","codex_title":"Codex Header Defaults","user_agent":"User-Agent","package_version":"Package Version","runtime_version":"Runtime Version","os":"OS","arch":"Arch","timeout":"Timeout","stabilize_device":"稳定设备指纹","stabilize_device_desc":"固定 OS/Arch,并按凭据/API Key 稳定软件指纹","beta_features":"Beta Features"},"network":{"title":"网络配置","description":"代理、重试和路由设置","proxy_url":"代理 URL","request_retry":"请求重试次数","max_retry_credentials":"最大重试凭据数","max_retry_credentials_hint":"留空表示不设置;设为 0 表示保留 legacy 行为,并尝试所有可用凭据。","max_retry_interval":"最大重试间隔 (秒)","auth_auto_refresh_workers":"认证自动刷新 Worker 数","auth_auto_refresh_workers_hint":"大于 0 时覆盖默认 Worker 数(16","disable_image_generation":"禁用图像生成","disable_image_generation_hint":"false 为启用;true 为全部禁用;chat 禁用非图片端点注入;passthrough 不注入并保留客户端工具列表","disable_image_generation_false":"false(启用)","disable_image_generation_true":"true(全部禁用)","disable_image_generation_chat":"chat(仅禁用聊天注入)","disable_image_generation_passthrough":"passthrough(保留客户端工具列表)","gpt_image_2_base_model":"GPT Image 2 基础模型","gpt_image_2_base_model_hint":"代理 gpt-image-2 图片请求时使用的主线模型;留空或非法时后端使用默认值","routing_strategy":"路由策略","routing_strategy_hint":"选择凭据选择策略","strategy_round_robin":"轮询 (Round Robin)","strategy_weighted_round_robin":"加权轮询 (Weighted Round Robin)","strategy_fill_first":"填充优先 (Fill First)","session_affinity_ttl":"会话粘性 TTL","force_model_prefix":"强制模型前缀","force_model_prefix_desc":"未带前缀的模型请求只使用无前缀凭据","passthrough_headers":"透传上游响应 Header","passthrough_headers_desc":"将过滤后的上游响应 Header 转发给下游客户端","disable_cooling":"禁用冷却调度","disable_cooling_desc":"全局禁用认证/模型失败后的冷却窗口","session_affinity":"会话粘性路由","ws_auth":"WebSocket 认证","ws_auth_desc":"启用 WebSocket 连接认证 (/v1/ws)"},"quota":{"title":"配额回退","description":"配额耗尽时的回退策略","switch_project":"切换项目","switch_project_desc":"配额耗尽时自动切换到其他项目","switch_preview_model":"切换预览模型","switch_preview_model_desc":"配额耗尽时切换到预览版本模型","antigravity_credits":"使用Antigravity Credits"},"streaming":{"title":"流式传输配置","description":"Keepalive 与 bootstrap 重试设置","keepalive_seconds":"Keepalive 秒数","keepalive_hint":"设置为 0 或留空表示禁用 keepalive","bootstrap_retries":"Bootstrap 重试次数","bootstrap_hint":"流式传输启动时(首包前)的重试次数","nonstream_keepalive":"非流式 Keepalive 间隔 (秒)","nonstream_keepalive_hint":"非流式响应时每隔 N 秒发送空行以防止空闲超时,设置为 0 或留空表示禁用","disabled":"已禁用"},"payload":{"title":"Payload 配置","description":"默认值、原始 JSON 规则、覆盖规则与过滤规则","default_rules":"默认规则","default_rules_desc":"当请求中未指定参数时,使用这些默认值","default_raw_rules":"默认 Raw 规则","default_raw_rules_desc":"当请求中未指定参数时,按原始 JSON 片段写入这些值,例如 true、123、\\"high\\" 或 {\\"type\\":\\"object\\"}","override_rules":"覆盖规则","override_rules_desc":"强制覆盖请求中的参数值","override_raw_rules":"覆盖 Raw 规则","override_raw_rules_desc":"始终按原始 JSON 片段覆盖参数值,适合 response_format、schema 等复杂字段","filter_rules":"过滤规则","filter_rules_desc":"通过 JSON Path 预过滤上游请求体,自动剔除不合规/冗余参数(Request Sanitization"}},"api_keys":{"label":"API 密钥列表 (api-keys)","add":"添加 API 密钥","generate":"生成","empty":"暂无 API 密钥","hint":"每个条目代表一个 API 密钥(与 「API 密钥管理」 页面样式一致)","edit_title":"编辑 API 密钥","add_title":"添加 API 密钥","input_label":"API 密钥","input_placeholder":"粘贴你的 API 密钥","input_hint":"此处仅修改本地配置文件内容,不会自动同步到 API 密钥管理接口","error_empty":"请输入 API 密钥","error_invalid":"API 密钥包含无效字符"},"payload_rules":{"rule":"规则","models":"适用模型","model_name":"模型名称","provider_type":"供应商类型","add_model":"添加模型","params":"参数设置","remove_params":"移除参数","json_path":"JSON 路径 (如 temperature)","json_path_filter":"JSON 路径 (gjson/sjson),如 generationConfig.thinkingConfig.thinkingBudget","param_type":"参数类型","param_value":"参数值","add_param":"添加参数","no_rules":"暂无规则","add_rule":"添加规则","provider_default":"默认","provider_openai":"OpenAI","provider_openai_response":"OpenAI Response","provider_responses":"Responses","provider_gemini":"Gemini","provider_claude":"Claude","provider_codex":"Codex","provider_antigravity":"Antigravity","advanced":"高级","hide_advanced":"收起高级","from_protocol":"来源协议 (from-protocol)","headers":"请求 Header 匹配","header_name":"Header 名称","header_value":"Header 值","add_header":"添加 Header","match":"必须匹配 (match)","notMatch":"不得匹配 (not-match)","exist":"必须存在 (exist)","notExist":"不得存在 (not-exist)","condition_path":"匹配路径","condition_value":"匹配值","add_condition":"添加条件","value_type_string":"字符串","value_type_number":"数字","value_type_boolean":"布尔","value_type_json":"JSON","value_string":"字符串值","value_number":"数字值 (如 0.7)","value_boolean":"true 或 false","value_json":"JSON 值","value_raw_json":"原始 JSON 片段,如 true、123、\\"high\\" 或 {\\"type\\":\\"object\\"}","value_default":"值","boolean_true":"true","boolean_false":"false"},"validation":{"validation_blocked":"请先修复表单校验错误再保存","port_range":"请输入 1 到 65535 之间的有效端口","non_negative_integer":"请输入非负整数","integer_range_1_3600":"请输入 1 到 3600 之间的整数","payload_invalid_number":"请输入有效数字","payload_invalid_boolean":"请选择 true 或 false","payload_invalid_json":"请输入有效的 JSON"},"common":{"edit":"编辑","delete":"删除","cancel":"取消","update":"更新","add":"添加"}}}`),quota_management:{title:`配额管理`,description:`集中查看 OAuth 额度与剩余情况`,refresh_all_credentials:`刷新全部凭证`,meta_credentials:`{{count}} 个凭证`,meta_loaded:`{{count}} 个已加载`,meta_attention:`{{count}} 个需关注`,empty_title:`暂无可查额度的凭证`,empty_desc:`接入 Antigravity、Claude、Codex、xAI 或 Kimi 凭证后即可在此查看额度。`,windows_title:`配额窗口`,windows_span_weekly:`两周`,windows_span_session:`三天`,windows_current:`当前`,windows_today:`今天`,windows_prev:`上一页`,windows_next:`下一页`,windows_mode_weekly:`按周`,windows_mode_session:`5 小时`,windows_credential:`凭证`,windows_idle:`没有正在计时的窗口`,windows_empty_session:`当前页面没有凭证提供 5 小时配额窗口。`,windows_legend_current:`当前窗口`,windows_legend_upcoming:`即将开始`,windows_legend_elapsed:`已结束`,windows_note_weekly:`每条表示一个完整的配额窗口,从开启到重置。同时结束的窗口会争用相同的日期。`,windows_note_session:`每条表示一个 5 小时窗口。仅显示有正在计时窗口的凭证,其余保持为空。`,weekday_sun:`日`,weekday_mon:`一`,weekday_tue:`二`,weekday_wed:`三`,weekday_thu:`四`,weekday_fri:`五`,weekday_sat:`六`},plugin_management:{title:`插件管理`,description:`查看已发现和已注册的插件,管理实例开关、配置字段和资源入口。`,refresh:`刷新`,load_failed:`加载插件失败`,config_load_failed:`读取插件配置失败`,config_not_found:`无法读取插件配置,后端未找到该插件。`,unsupported_backend:`当前后端未暴露插件管理 API。请使用包含插件管理接口的新后端构建,并重启服务。`,global_status:`全局状态`,global_enabled:`已启用`,global_disabled:`已停用`,global_disabled_hint:`当前 plugins.enabled 为 false,插件实例即使启用也不会生效。`,plugins_dir:`插件目录`,discovered:`发现插件`,effective:`生效插件`,search_placeholder:`搜索插件 ID、名称、作者或资源...`,search_label:`搜索插件`,no_plugins:`暂无插件`,no_plugins_desc:`未从插件目录或运行时注册表中发现插件。`,configured:`已配置`,not_configured:`未配置`,registered:`已注册`,not_registered:`未注册`,oauth:`OAuth`,status_effective:`生效中`,status_inactive:`未生效`,edit_config:`编辑配置`,open_repository:`打开仓库`,config_title:`配置 {{name}}`,base_settings:`基础设置`,enabled:`启用`,enabled_hint:`控制 plugins.configs 中该插件实例的 enabled 字段。`,priority:`优先级`,config_fields:`配置字段`,no_config_fields:`该插件没有声明可视化配置字段。`,select_placeholder:`请选择`,array_item_placeholder:`输入数组项`,add_array_item:`添加数组项`,remove_array_item:`删除数组项`,delete_plugin:`删除`,delete_confirm_title:`删除插件`,delete_confirm_message:`确定删除 {{name}}{{id}})吗?这会移除本地插件文件和已保存配置。`,delete_success:`插件已删除`,delete_failed:`插件删除失败`,delete_restart_required:`已加载的插件需要重启后端后才能移除。`,toggle_success:`插件状态已更新`,toggle_failed:`插件状态更新失败`,runtime_pending:`插件变更已保存,但运行时状态仍在更新中。请稍后刷新或检查后端日志。`,save_success:`插件配置已保存`,save_failed:`插件配置保存失败`,validation_failed:`请先修复插件配置表单错误`,invalid_priority:`请输入整数优先级`,invalid_number:`请输入有效数字`,invalid_integer:`请输入有效整数`,invalid_json:`请输入有效 JSON`,expected_array:`请输入 JSON 数组`,expected_object:`请输入 JSON 对象`,invalid_enum:`请选择声明的枚举值`},plugin_store:{title:`插件商店`,description:`浏览插件注册表,为当前后端安装或更新插件。`,description_show_more:`展开描述`,description_show_less:`收起描述`,source_name:`来源:{{source}}`,cli_proxy_api_source:`CLIProxyAPI源`,refresh:`刷新`,retry:`重试`,load_failed:`插件商店加载失败`,unsupported_backend:`当前后端未暴露插件商店 API。请使用包含插件商店接口的新后端构建,并重启服务。`,registry_failed:`插件注册表请求失败`,global_status:`全局状态`,global_enabled:`已启用`,global_disabled:`已停用`,global_disabled_hint:`当前 plugins.enabled 为 false,已安装的插件不会生效。`,plugins_dir:`插件目录`,stat_available:`可用插件`,search_placeholder:`搜索插件 ID、名称、作者或标签...`,search_label:`搜索插件商店`,filter_label:`按安装状态筛选`,filter_all:`全部`,filter_installed:`已安装`,filter_not_installed:`未安装`,filter_updates:`可更新`,badge_installed:`已安装`,badge_update:`可更新`,badge_effective:`生效中`,version_arrow:`v{{from}} → v{{to}}`,install_type:`安装方式:{{type}}`,platforms:`平台:{{platforms}}`,auth_required:`需要认证`,auth_configured:`认证已配置`,auth_required_hint:`该插件源或下载地址需要先配置 plugins.store-auth`,source_errors_title:`部分插件源加载失败`,install:`安装`,update:`更新`,manage:`管理`,install_confirm_title:`安装插件`,install_confirm_message:`将从插件注册表下载 {{target}} 并安装到本地插件目录,是否继续?`,update_confirm_title:`更新插件`,update_confirm_message:`将下载并安装 {{target}},是否继续?`,install_version_label:`版本`,install_version_latest:`最新版本`,install_version_latest_mode:`最新稳定版`,install_version_latest_hint:`安装时由后端解析;当前列表版本为 {{version}}。`,install_version_release_mode:`选择历史版本`,install_version_release_hint:`从 GitHub Releases 读取可安装标签。`,install_version_manual_mode:`手动发布标签`,install_version_manual_hint:`仅在自动读取不可用时使用。`,install_versions_loading:`正在读取 GitHub Releases...`,install_versions_load_failed:`无法自动读取发布版本`,install_version_non_github:`此插件仓库不是 GitHub 仓库`,install_versions_empty:`未读取到可选发布版本。`,install_versions_only_prerelease:`当前只剩预发布版本,请开启预发布版本后选择。`,install_version_release_select:`选择发布版本`,install_version_release_placeholder:`选择发布版本`,install_version_prerelease_badge:`预发布`,install_version_assets_count:`{{count}} 个资产`,install_version_show_prerelease:`显示预发布版本`,install_version_manual_placeholder:`例如 v0.1.4`,install_version_manual_error:`发布标签只能包含字母、数字、点、下划线、加号和连字符,且不能包含空格或斜杠。`,install_version_current_selected:`当前已安装 {{version}},请选择其他版本。`,install_version_releases_link:`查看 GitHub Releases`,install_success:`插件安装成功`,update_success:`插件更新成功`,install_failed:`插件安装失败`,update_failed:`插件更新失败`,status_pending:`插件文件已更新,但本地状态尚未刷新。请稍后刷新或检查后端日志。`,registration_pending:`插件文件已更新,但注册仍在进行中。请稍后刷新或检查后端日志。`,restart_required_notice:`需要重启服务才能加载新的插件版本`,restart_required_banner:`以下插件需重启服务后才能应用新版本:{{plugins}}`,open_repository:`打开仓库`,open_homepage:`打开主页`,no_plugins:`注册表为空`,no_plugins_desc:`插件注册表未返回任何插件。`,no_matches:`没有匹配的插件`,no_matches_desc:`当前搜索或筛选条件下没有插件。`,clear_filters:`清除筛选`,security_banner_title:`第三方插件以后端完整权限运行`,security_banner_text:`插件会在代理服务内部执行代码,可读取你的凭据与流量。请仅安装你信任的插件——尤其要警惕任何并非由官方组织 router-for-me 发布的插件。`,badge_untrusted:`第三方`,gate_title:`安装 {{name}}`,gate_title_update:`更新 {{name}}`,gate_warning:`如果你不阅读以下内容,可能会发生意料之外的危险后果。`,gate_effect_runs_code:`该插件将在您的代理后端内运行第三方未认证代码。系统无法对其行为进行隔离或审计,其具备访问您的敏感凭据、网络请求与响应数据的潜在权限。`,gate_effect_no_review:`本插件并非由官方组织 router-for-me 发布或审核。官方不对该插件的稳定性、安全性、合规性以及后续版本的任意行为变更承担任何明示或暗示的担保责任。`,gate_effect_restart:`安装会修改本地插件目录,并可能需要重启服务才能生效。`,gate_untrusted_alert:`该插件并非来自官方组织 router-for-me。请仅在你完全信任其作者与来源时继续。`,gate_repository_label:`仓库`,gate_source_label:`来源`,gate_step1_action:`我要安装此插件`,gate_step2_action:`我已阅读并理解上述风险`,gate_step3_prompt:`如需确认,请在下方输入框中键入 “{{token}}”`,gate_step3_action:`安装此插件`,gate_step3_hint:`请输入上方显示的完整标识以启用安装。`},plugin_resource:{page_count:`{{count}} 个页面`,load_failed:`加载插件页面失败`,unavailable:`插件页面不可用`,not_found:`未找到插件页面`,not_found_desc:`该插件页面未在当前后端插件列表中声明。`,empty_src:`插件页面地址为空`,empty_src_desc:`该插件菜单未提供可嵌入的页面地址。`},system_info:{title:`管理中心信息`,about_title:`CLI Proxy API Management Center`,models_title:`可用模型列表`,models_desc:`展示 /models 返回的模型,并自动使用服务器保存的 API Key 进行鉴权。`,models_loading:`正在加载可用模型...`,models_empty:`未从 /models 获取到模型数据`,models_error:`获取模型列表失败`,models_count:`可用模型 {{count}} 个`,version_check_button:`检查更新`,version_update_available:`有新版本可用:{{version}}`,version_is_latest:`当前已是最新版本`,version_check_error:`检查更新失败`,version_current_missing:`未获取到服务器版本号,暂无法比对`,version_unknown:`未知`,quick_links_title:`快捷链接`,quick_links_desc:`访问项目仓库和文档,获取帮助和更新。`,link_main_repo:`主程序仓库`,link_main_repo_desc:`CLI Proxy API 核心程序源代码`,link_webui_repo:`WebUI 仓库`,link_webui_repo_desc:`管理中心前端界面源代码`,link_docs:`使用教程`,link_docs_desc:`配置指南和使用说明`,clear_login_title:`本地登录信息`,clear_login_desc:`清理本地保存的登录信息并退出登录。`,clear_login_button:`清理登录信息`,clear_login_confirm:`确认清理本地登录信息并退出登录?`},notification:{request_log_updated:`请求日志设置已更新`,login_storage_cleared:`本地登录信息已清理`,data_refreshed:`数据刷新成功`,connection_required:`请先建立连接`,refresh_failed:`刷新失败`,update_failed:`更新失败`,add_failed:`添加失败`,delete_failed:`删除失败`,upload_failed:`上传失败`,download_failed:`下载失败`,login_failed:`登录失败`,commercial_mode_restart_required:`商业模式开关已变更,请重启服务后生效`,copy_failed:`复制失败`,link_copied:`已复制`},language:{switch:`语言`,chinese:`中文`,chinese_tw:`繁體中文(台灣)`,english:`English`,russian:`Русский`},theme:{switch:`主题`,light:`羊毛纸`,white:`纯白`,dark:`暗色`,auto:`跟随系统`},sidebar:{toggle_expand:`展开侧边栏`,toggle_collapse:`收起侧边栏`,expand:`展开`,collapse:`收起`,subtitle:`CLI Proxy API 管理控制台`,auth_files_count:`认证文件:{{count}} 个`},footer:{api_version:`CLI Proxy API 版本`,build_date:`构建时间`,version:`管理中心版本`},providersPage:{header:{title:`AI 提供商`,activeResources:`{{active}}/{{total}} 个活跃资源`,providerFamilies:`{{count}} 个提供商家族`,updatedAt:`更新于 {{time}}`},actions:{refresh:`刷新`,syncing:`同步中`,new:`新建`,edit:`编辑`,view:`查看`,delete:`删除`,cancel:`取消`,save:`保存`,create:`创建`,enable:`启用`,disable:`停用`},categories:{title:`提供商`,quickFill:`快速填入`,activeCount:`{{active}}/{{total}} 活跃`},providerNames:{gemini:`Gemini`,interactions:`Interactions API`,codex:`Codex`,xai:`xAI`,claude:`Claude`,claudeApi:`ClaudeAPI`,vertex:`Vertex`,openaiCompatibility:`OpenAI 兼容`,apikeyFun:`APIKEY.FUN`,code0:`Code0`,fennoAI:`FennoAI`,qiniuCloud:`七牛云`,lmuAI:`LMU AI(灵眸AI`,kimi:`Kimi`},table:{key:`密钥`,baseUrl:`服务地址`,prefix:`前缀`,models:`模型/请求头`,status:`状态`,actions:`操作`,metrics:{models:`模型`,keys:`密钥`,headers:`请求头`},websocketsTag:`WebSockets`,cloakTag:`Cloak`,empty:`尚未添加配置,点击右上角新建。`,filterPlaceholder:`搜索密钥、地址、前缀…`,description:`在 {{route}} 下管理资源`},sponsor:{protocolSummary:`Anthropic / OpenAI / Gemini / Codex API (Responses)`,detailHint:`{{provider}} 会按协议分别写入对应的 API Key 配置,这里只做聚合管理。`,registerLink:`点此注册`,registerNow:`立即注册`,dashboardLink:`控制面板`,emptyRegisterHint:`尚未添加配置`,apiKeyHint:`此 Key 只会写入当前选择的分组/协议配置。`,usageCheck:`查询额度`,usageChecking:`查询中`,usageRemaining:`剩余额度: {{amount}} {{unit}}`,usageBreakdown:`已用 {{used}} / 总额 {{limit}}`,usageStatus:`状态: {{status}}`,usageInvalid:`Key 无效`,usageEmpty:`端点未返回额度数据`,usageApiKeyRequired:`API 密钥必填`,aggregationConflict:`此聚合提供商包含多条后端配置或多个 OpenAI 密钥。为避免数据丢失,请在源码配置中编辑。`,partialMutationWarning:`操作失败,但一个或多个协议可能已更新。已重新读取最新配置,请检查后再重试。`,groupedKeysTitle:`分组 Key`,groupedKeysHint:`平台创建 Key 时可能需要选择分组,这里每个分组 Key 只管理一个协议,模型也只从该协议拉取。`,groupedKey:`分组 Key #{{index}}`,addGroupedKey:`添加分组 Key`,removeGroupedKey:`删除分组 Key`,protocol:`分组/协议`,protocolHint:`请选择此 Key 对应的分组/协议。`,protocolEndpoint:`当前协议地址`,urlMode:`{{provider}} URL`,urlHint:`不同 URL 的使用规范一致,保存时只会写入当前分组协议对应地址。`,urlOptions:{standard:`普通 URL`,direct:`专线直连 URL`,domestic:`国内线路`,overseas:`海外线路`},urlOptionDescriptions:{domestic:`面向中国大陆用户和部署在中国大陆网络环境中的业务,通常可获得更低延迟。`,overseas:`面向海外部署、跨境访问或需要访问境外模型的业务。`},modelsTitle:`协议模型配置`,modelsHint:`可分别限制或别名映射 Codex API、Anthropic、Gemini 与 OpenAI 兼容入口的模型。`,protocolModels:{codex:`Codex API 模型`,anthropic:`Anthropic 模型`,gemini:`Gemini 模型`,openai:`OpenAI 兼容模型`},protocolModelHints:{codex:`写入 Codex API 配置的 models,可从 /v1/models 拉取后设置别名。`,anthropic:`写入 Anthropic 配置的 models,可从 /v1/models 拉取后设置别名。`,gemini:`写入 Gemini 配置的 models,可从 /v1beta/models 拉取后设置别名。`,openai:`写入 OpenAI 兼容配置的 models,可从 /models 拉取后设置别名。`},validation:{keyRequired:`请为每个分组 Key 填写 API Key。`,protocolDuplicate:`每个协议只能添加一个分组 Key。`},openaiEntries:`OpenAI 兼容密钥数`,codexEntries:`Codex API 密钥数`,anthropicEntries:`Anthropic 密钥数`,geminiEntries:`Gemini 密钥数`,protocols:{anthropic:`Anthropic`,openai:`OpenAI 兼容`,gemini:`Gemini`,codexResponses:`Codex API (Responses)`}},status:{active:`活跃`,disabled:`已停用`,notSet:`未设置`,none:`无`,notConfigured:`未配置`,defaultSuffix:`(默认)`},detail:{title:`详情`,metadataTitle:`元数据`,fields:{identifier:`标识`,baseUrl:`服务地址`,proxyUrl:`代理 URL`,prefix:`前缀`,models:`模型数`,headers:`请求头数`,authIndex:`Auth Index`,excludedModels:`排除模型数`,apiKeyEntries:`密钥条目数`}},form:{createEyebrow:`新建`,editEyebrow:`编辑`,name:`名称`,apiKey:`API 密钥`,apiKeyCreatePlaceholder:`输入 API 密钥`,apiKeyEditPlaceholder:`留空表示不修改`,baseUrl:`服务地址`,baseUrlRequiredHint:`此提供商要求填写服务地址`,proxyUrl:`代理 URL`,prefix:`前缀`,priority:`优先级`,weight:`调度权重`,weightHint:`默认 1 · ≤ 0 时不参与 · 最大 1,000,000`,disabled:`停用此条目`,disabledHint:`停用后不会被网关使用`,websockets:`启用 WebSockets`,testModel:`测试模型`,testModelClaudeHint:`仅用于连通性测试,不会被保存`,testModelAutoWith:`自动 · {{name}}`,testModelAutoEmpty:`自动(尚未添加模型)`,testModelCustom:`{{name}}(自定义)`,modelsSection:`自定义模型`,addModel:`添加模型`,headersSection:`请求头`,addHeader:`添加请求头`,excludedSection:`排除模型`,excludedDisabledNote:`“*” 表示整个 provider 已停用,请改用上方的「已停用」开关。`,cloakSection:`Cloak 配置`,cloakMode:`模式`,cloakStrict:`严格模式`,cloakSensitiveWords:`敏感词(每行一个)`,apiKeyEntriesSection:`API 密钥条目`,apiKeyEntry:`密钥 #{{index}}`,addApiKeyEntry:`添加密钥条目`,showApiKey:`显示密钥`,hideApiKey:`隐藏密钥`,disableCooling:`禁用冷却调度`,disableCoolingHint:`仅对当前凭据或提供商禁用失败后的冷却窗口`,modelImage:`允许图片端点`,modelImageHint:`允许该模型用于 /v1/images/generations 和 /v1/images/edits`,showAllEntries:`显示全部({{count}}`,showFewerEntries:`收起`,proxyBadge:`代理`,modelBadgeImage:`图片`,modelBadgeThinking:`Thinking`,thinkingConfig:`允许的思考档位`,thinkingExistingHint:`当前后端配置会保持不变;修改选项后将替换为所选标准档位。`,thinkingLevels:{none:`关闭思考`,minimal:`最少`,low:`低`,medium:`中`,high:`高`,xhigh:`超高`,max:`最大`,auto:`自动`},cloakCacheUserId:`缓存 user_id`,cloakCacheUserIdHint:`按 API key 复用 Claude cloak 生成的 user_id`,experimentalCchSigning:`实验性 CCH 签名`,experimentalCchSigningHint:`对 cloaked Claude /v1/messages 最终请求体启用 CCH 签名`,validation:{nameRequired:`名称必填`,apiKeyRequired:`至少填写一个 API 密钥`,baseUrlRequired:`服务地址必填`,weightInteger:`调度权重必须是整数`,weightMax:`调度权重不能超过 {{max}}`}},delete:{title:`删除资源`,confirm:`确定要删除 {{name}} 吗?此操作不可撤销。`},toast:{created:`创建成功`,updated:`更新成功`,deleted:`删除成功`,enabled:`已启用`,disabled:`已停用`,toggleFailed:`更新状态失败`},unsavedChanges:{title:`确定丢弃未保存的修改吗?`,message:`当前表单还有未保存的修改,关闭后会被丢弃。`,discard:`丢弃修改`,keepEditing:`继续编辑`},connectivity:{test:`测试`,testAll:`全部测试`,success:`连通`,baseUrlRequired:`服务地址必填`,endpointInvalid:`服务地址不合法`,apiKeyRequired:`API 密钥必填`,modelRequired:`测试模型必填`,timeout:`请求超过 {{seconds}} 秒`,requestFailed:`请求失败`},discovery:{openButton:`从端点拉取`,searchPlaceholder:`搜索模型`,reload:`重新加载`,loading:`正在加载模型…`,empty:`端点未返回任何模型`,notLoaded:`点击重新加载以获取模型`,selectAll:`全选`,clearAll:`清空选择`,selectedCount:`{{selected}} / {{total}}`,alreadyAdded:`已添加`,close:`关闭`,apply:`应用 ({{count}})`},toolbar:{sortBy:`排序`,sort:{name:`名称`,priority:`优先级`,recentSuccess:`近期成功数`,directionAsc:`升序`,directionDesc:`降序`},filter:{allModels:`全部模型`,selectedModels:`{{selected}}/{{total}} 个模型`,selectAll:`全选`,clear:`清空`,empty:`暂无已配置模型`}},modelCatalog:{notLoaded:`未加载`}}},rl={common:{login:`登入`,logout:`登出`,back:`返回`,cancel:`取消`,confirm:`確認`,leave:`離開`,stay:`繼續編輯`,save:`儲存`,delete:`刪除`,edit:`編輯`,add:`新增`,update:`更新`,refresh:`重新整理`,close:`關閉`,success:`成功`,error:`錯誤`,info:`資訊`,warning:`警告`,loading:`載入中...`,connecting:`連線中...`,connected:`已連線`,disconnected:`未連線`,connecting_status:`連線中`,connected_status:`已連線`,disconnected_status:`未連線`,yes:`是`,no:`否`,not_set:`未設定`,optional:`選填`,required:`必填`,api_key:`金鑰`,base_url:`位址`,prefix:`前綴`,proxy_url:`代理`,priority:`優先順序`,alias:`別名`,failure:`失敗`,unknown_error:`未知錯誤`,quota_update_required:`請更新 CPA 版本或檢查更新`,quota_check_credential:`請檢查憑證狀態`,copy:`複製`,expand:`展開`,collapse:`收起`,status:`狀態`,action:`操作`,custom_headers_label:`自訂請求標頭`,custom_headers_hint:`選填,設定需要附帶到請求中的 HTTP 標頭,名稱和值均不能為空。`,custom_headers_add:`新增請求標頭`,custom_headers_key_placeholder:`Header 名稱,例如 X-Custom-Header`,custom_headers_value_placeholder:`Header 值`,model_name_placeholder:`模型名稱,例如 claude-3-5-sonnet-20241022`,model_alias_placeholder:`模型別名(選填)`,invalid_provider_index:`無效的供應商索引。`,unsaved_changes_title:`未儲存的變更`,unsaved_changes_message:`你有未儲存的變更,離開後將遺失這些變更。確定要離開嗎?`},title:{login:`CLI Proxy API Management Center`,abbr:`CPAMC`},splash:{title:`CLI Proxy API`,subtitle:`管理中心`},login:{subtitle:`請輸入連線資訊以存取管理介面`,connection_current:`目前位址`,connection_auto_hint:`系統將自動使用目前存取位址進行連線`,custom_connection_label:`自訂連線位址:`,custom_connection_placeholder:`例如: https://example.com:8317`,custom_connection_hint:`預設使用目前存取位址,若需要可手動輸入其他位址。`,remember_password_label:`記住密碼`,management_key_label:`管理金鑰:`,management_key_placeholder:`請輸入管理金鑰`,submit_button:`登入`,submitting:`連線中...`,error_backend_detail:`後端返回`,error_required:`請填寫完整的連線資訊`,error_invalid:`連線失敗,請檢查服務位址、管理介面和管理金鑰`,error_network:`網路連線失敗,請檢查網路或伺服器位址`,error_timeout:`連線逾時,伺服器無回應`,error_unauthorized:`驗證失敗,管理金鑰缺失或無效`,error_forbidden:`存取被拒絕,遠端管理未啟用、管理金鑰未設定或 IP 被暫時封鎖`,error_not_found:`找不到 Management API,請確認服務位址指向 CLIProxyAPI 後端`,error_server:`後端處理管理介面時發生錯誤,請查看服務日誌`,error_cors:`跨域請求被阻擋,請檢查伺服器設定`,error_ssl:`SSL/TLS 憑證驗證失敗`},header:{refresh_all:`全部重新整理`,logout:`登出`},connection:{status:`連線狀態:`},nav:{dashboard:`儀表板`,quick_start:`快速開始`,ai_providers:`AI 供應商`,auth_files:`驗證檔案`,oauth:`OAuth 登入`,quota_management:`配額管理`,plugins:`插件管理`,plugin_store:`插件商店`,config_management:`設定面板`,logs:`記錄檢視`,system_info:`中心資訊`},nav_groups:{operate:`運行`,gateway:`閘道`,observe:`觀測`,plugin_pages:`插件`,control:`控制`},nav_meta:{dashboard:`運行總覽`,quick_start:`APIKEY.FUN 快速設定`,ai_providers:`上游模型路由`,auth_files:`Auth 檔案與憑證`,oauth:`OAuth 授權登入`,quota_management:`API Key 與限額`,plugins:`插件啟停與設定`,plugin_store:`探索並安裝插件`,logs:`請求追蹤與排查`,config_management:`閘道基礎設定`,system_info:`運行與診斷資訊`},dashboard:{hero_verdict_good:`運行平穩`,hero_verdict_warning:`略有波動`,hero_verdict_critical:`需要留意`,hero_verdict_idle:`靜候流量`,hero_verdict_offline:`等待連接`,hero_verdict_connecting:`正在連接`,hero_period:`。`,hero_requests_label:`已處理請求`,hero_live:`即時`,hero_window_meta:`滾動視窗 {{window}} · 每桶 10 分鐘`,hero_spark_label:`最近 {{window}} 的請求量`,cta_manage_providers:`管理供應商`,cta_inspect_logs:`檢視日誌`,stats_aria:`核心指標`,success_rate:`成功率`,stat_success_hint:`視窗內共 {{total}} 次請求`,stat_credentials:`憑證`,stat_credentials_hint:`{{active}} 個可用 · {{disabled}} 個未參與排程`,stat_credentials_empty:`找不到憑證檔案`,stat_provider_keys:`供應商金鑰`,stat_provider_keys_hint:`所有品牌已設定的 API Key 總數`,stat_models:`模型`,stat_models_hint:`透過代理端點提供的模型`,traffic_eyebrow:`即時流量`,traffic_title:`以 10 分鐘為粒度的吞吐`,traffic_description:`最近 {{window}} 的成功與失敗次數,每 10 分鐘一桶。將游標移到任一長條可看精確組成。`,traffic_table:`資料表`,traffic_table_window:`時間區間`,traffic_chart_summary:`最近 {{minutes}} 分鐘共 {{total}} 次請求:成功 {{success}} 次,失敗 {{failed}} 次。`,traffic_unavailable:`尚無流量資料`,traffic_unavailable_hint:`代理處理第一個請求後便會出現計數。`,fleet_eyebrow:`供應商`,fleet_title:`所有供應商並列比較`,fleet_description:`同一視窗內各供應商的請求量與成功率。`,fleet_empty:`尚未記錄到供應商流量。`,fleet_credentials:`憑證 {{value}} 個`,fleet_spark_label:`{{provider}} 請求量`,fleet_requests:`次請求`,provider_unknown:`未歸類`,health_eyebrow:`健康度`,health_title:`憑證狀態`,health_active:`可用`,health_unavailable:`不可用`,health_disabled:`已停用`,health_by_type:`按供應商`,health_empty:`找不到憑證檔案。`,health_link:`開啟認證檔案`,runtime_eyebrow:`執行階段`,runtime_title:`執行設定總覽`,runtime_routing:`路由策略`,runtime_retry:`請求重試`,runtime_management_keys:`管理金鑰`,runtime_version:`伺服器版本`,runtime_build:`建置日期`,runtime_proxy:`上游代理`,runtime_debug:`除錯模式`,runtime_file_logging:`檔案日誌`,runtime_request_log:`請求日誌`,runtime_ws_auth:`WebSocket 驗證`,runtime_model_prefix:`模型前綴`,runtime_link:`編輯設定`,cta_eyebrow:`下一步`,cta_title:`接下來前往`,cta_providers_desc:`新增 API Key、設定優先順序並測試品牌。`,cta_auth_files_desc:`上傳、更新與停用 OAuth 憑證。`,cta_config_desc:`調整路由、重試、日誌與存取控制。`,cta_quota_desc:`查看各憑證的剩餘額度。`,cta_logs_desc:`即時追蹤請求並下載錯誤報告。`,cta_system_desc:`版本詳情與管理中心資訊。`,window_m:`{{minutes}} 分鐘`,window_h:`{{hours}} 小時`,window_hm:`{{hours}} 小時 {{minutes}} 分`},basic_settings:{debug_enable:`啟用除錯模式`,proxy_url_label:`代理 URL:`,retry_count_label:`重試次數:`,logging_to_file_enable:`啟用記錄到檔案`,request_log_title:`請求記錄`,request_log_enable:`啟用請求記錄`,request_log_warning:`僅在需要排查問題時開啟,日常請保持關閉。`,ws_auth_enable:`啟用 /ws/* 驗證`,routing_strategy_round_robin:`round-robin(輪詢)`,routing_strategy_weighted_round_robin:`weighted-round-robin(加權輪詢)`,routing_strategy_fill_first:`fill-first(優先填充)`},auth_files:{title:`驗證檔案管理`,meta_total:`{{count}} 個憑證`,meta_active:`{{count}} 個啟用`,meta_problem:`{{count}} 個異常`,empty_title:`還沒有憑證`,empty_desc:`上傳認證檔案,或透過 OAuth 連接一個提供商開始使用。`,empty_oauth_link:`前往 OAuth 登入`,no_results_clear:`清除篩選`,title_section:`驗證檔案`,upload_button:`上傳檔案`,delete_all_button:`刪除全部`,search_empty_title:`沒有符合的設定檔`,search_empty_desc:`請調整篩選條件或清空搜尋關鍵字再試一次。`,file_size:`大小`,file_modified:`修改時間`,health_status_label:`健康狀態`,health_status_healthy:`健康`,health_status_warning:`警告`,health_status_disabled:`已停用`,download_button:`下載`,manual_refresh_button:`重新整理 OAuth 憑證`,manual_refresh_requested:`已提交「{{name}}」的憑證重新整理請求`,manual_refresh_failed:`提交「{{name}}」的憑證重新整理請求失敗:{{message}}`,delete_button:`刪除`,delete_confirm:`確定要刪除檔案`,delete_all_confirm:`確定要刪除所有驗證檔案嗎?此操作無法還原!`,delete_filtered_confirm:`確定要刪除篩選出的 {{type}} 驗證檔案嗎?此操作無法還原!`,delete_problem_button:`刪除問題憑證`,delete_problem_button_with_type:`刪除 {{type}} 問題憑證`,delete_problem_confirm:`確定要刪除所有有問題的驗證檔案嗎?此操作無法還原!`,delete_problem_filtered_confirm:`確定要刪除篩選出的有問題的 {{type}} 驗證檔案嗎?此操作無法還原!`,delete_filtered_result_button:`刪除篩選結果`,delete_filtered_result_confirm:`確定要刪除目前篩選結果中的驗證檔案嗎?此操作無法還原!`,upload_error_json:`只能上傳 JSON 檔案`,upload_error_size:`檔案大小不能超過 {{maxSize}}`,upload_success:`檔案上傳成功`,download_success:`檔案下載成功`,delete_success:`檔案刪除成功`,delete_all_success:`成功刪除`,delete_filtered_success:`成功刪除 {{count}} 個 {{type}} 驗證檔案`,delete_filtered_partial:`{{type}} 驗證檔案刪除完成,成功 {{success}} 個,失敗 {{failed}} 個`,delete_filtered_none:`目前篩選類型({{type}})下沒有可刪除的驗證檔案`,delete_problem_success:`成功刪除 {{count}} 個有問題的驗證檔案`,delete_problem_filtered_success:`成功刪除 {{count}} 個有問題的 {{type}} 驗證檔案`,delete_problem_partial:`有問題驗證檔案刪除完成,成功 {{success}} 個,失敗 {{failed}} 個`,delete_problem_filtered_partial:`有問題的 {{type}} 驗證檔案刪除完成,成功 {{success}} 個,失敗 {{failed}} 個`,delete_problem_none:`目前沒有可刪除的有問題驗證檔案`,delete_problem_filtered_none:`目前篩選類型({{type}})下沒有可刪除的有問題驗證檔案`,delete_filtered_result_success:`成功刪除 {{count}} 個篩選結果中的驗證檔案`,delete_filtered_result_partial:`篩選結果刪除完成,成功 {{success}} 個,失敗 {{failed}} 個`,delete_filtered_result_none:`目前篩選結果中沒有可刪除的驗證檔案`,pagination_prev:`上一頁`,pagination_next:`下一頁`,pagination_info:`第 {{current}} / {{total}} 頁 · 共 {{count}} 個檔案`,search_label:`搜尋設定檔`,search_placeholder:`輸入名稱、帳號、類型或供應方關鍵字,支援 * 萬用字元`,problem_filter_label:`狀態篩選`,problem_filter_all:`全部`,problem_filter_enabled:`啟用`,problem_filter_problem:`問題`,problem_filter_disabled:`停用`,display_options_label:`顯示選項`,compact_mode_label:`簡略模式`,sort_label:`排序`,sort_default:`預設`,sort_az:`A-Z 名稱`,sort_priority:`優先順序`,priority_display:`優先順序`,weight_display:`WRR 權重`,page_size_label:`單頁數量`,filter_all:`全部`,filter_qwen:`Qwen`,filter_gemini:`Gemini`,filter_kimi:`Kimi`,filter_aistudio:`AIStudio`,filter_claude:`Claude`,filter_codex:`Codex`,filter_antigravity:`Antigravity`,filter_xai:`xAI`,filter_iflow:`iFlow`,filter_vertex:`Vertex`,filter_empty:`空檔案`,filter_unknown:`其他`,type_virtual:`虛擬驗證檔案`,models_button:`模型`,models_title:`支援的模型`,models_loading:`正在載入模型清單...`,models_empty:`該憑證暫無可用模型`,models_empty_desc:`該驗證憑證可能尚未被伺服器載入或沒有綁定任何模型`,models_unsupported:`目前版本不支援此功能`,models_unsupported_desc:`請更新 CLI Proxy API 到最新版本後重試`,models_excluded_badge:`已停用`,models_excluded_hint:`此 OAuth 模型已被停用`,status_toggle_label:`啟用`,status_enabled_success:`已啟用「{{name}}」`,status_disabled_success:`已停用「{{name}}」`,batch_status_success:`已成功更新 {{count}} 個檔案`,batch_status_partial:`成功 {{success}} 個,失敗 {{failed}} 個`,batch_delete_title:`刪除已選檔案`,batch_delete_confirm:`確定要刪除 {{count}} 個檔案嗎?`,batch_selected:`已選 {{count}} 項`,batch_toolbar_label:`批次操作`,batch_select_all:`全選`,batch_select_page:`全選目前頁`,batch_select_filtered:`全選篩選結果`,batch_invert_page:`反選目前頁`,batch_deselect:`取消選擇`,batch_download:`下載已選`,batch_download_success:`已開始下載 {{count}} 個檔案`,batch_download_partial:`下載完成:成功 {{success}} 個,失敗 {{failed}} 個`,batch_enable:`啟用`,batch_disable:`停用`,prefix_proxy_button:`驗證檔案詳情 / 編輯`,prefix_proxy_loading:`正在載入驗證檔案...`,prefix_proxy_info_label:`驗證檔案資訊(info`,prefix_proxy_source_label:`驗證檔案 JSON(預覽)`,prefix_proxy_invalid_content_label:`下載內容(已截斷)`,prefix_label:`前綴(prefix`,proxy_url_label:`代理 URLproxy_url`,proxy_url_placeholder:`socks5://username:password@proxy_ip:port/`,priority_label:`優先順序(priority`,priority_placeholder:`例如: 10 或 -1`,priority_hint:`僅支援整數;無效值會被忽略。數值越大優先順序越高。`,weight_label:`調度權重(weight`,weight_hint:`預設值為 1;小於或等於 0 時不參與加權調度;最大值為 1,000,000。`,weight_invalid_integer:`權重必須是整數。`,weight_invalid_max:`權重不能超過 1,000,000。`,disable_cooling_label:`停用指數冷卻(disable_cooling`,disable_cooling_hint:`開啟後,僅目前憑證會略過失敗後的冷卻與指數退避;其他憑證不受影響。`,websockets_label:`WebSocketswebsockets`,websockets_hint:`為該憑證開啟 Responses API 的 websocket 傳輸。`,using_api_label:`使用官方 APIusing_api`,using_api_hint:`開啟後使用 xAI 官方 API;關閉時使用 Grok CLI chat-proxy。`,note_label:`備註(note`,note_placeholder:`輸入備註資訊,例如:張三的帳號`,note_hint:`選填,用於標記憑證用途或歸屬;留空則不寫入。`,excluded_models_label:`排除模型(excluded_models`,headers_label:`自訂請求標頭(headers`,headers_placeholder:`{
"Header-Name": "value"
}`,headers_hint:`以 JSON 物件格式輸入自訂 HTTP 請求標頭,例如:{"X-My-Header": "value"}`,headers_invalid_json:`自訂請求標頭必須是有效的 JSON。`,headers_invalid_object:`自訂請求標頭必須是 JSON 物件。`,headers_invalid_value:`每個自訂請求標頭的值都必須是字串。`,prefix_proxy_invalid_json:`該驗證檔案不是 JSON 物件,無法編輯欄位。`,prefix_proxy_html_challenge:`下載到的是 HTML 驗證頁面,不是驗證 JSON 物件。請重新驗證或替換該驗證檔案後再編輯欄位。`,prefix_proxy_saved_success:`已更新驗證檔案「{{name}}」`,quota_refresh_single:`重新整理配額`,quota_refresh_hint:`僅重新整理該驗證檔案的配額`,quota_refresh_success:`已重新整理「{{name}}」的配額`,quota_refresh_failed:`重新整理「{{name}}」的配額失敗:{{message}}`},antigravity_subscription:{plan_unknown:`未知`,plan_free:`免費版`,plan_pro:`Pro`,plan_ultra:`Ultra`,plan_ultra_lite:`Ultra Lite`},antigravity_quota:{title:`Antigravity 配額`,empty_title:`暫無 Antigravity 驗證`,empty_desc:`上傳 Antigravity 驗證檔案後即可查看配額。`,idle:`點擊此處重新整理配額`,loading:`正在載入配額...`,load_failed:`配額取得失敗:{{message}}`,missing_auth_index:`驗證檔案缺少 auth_index`,missing_project_id:`Antigravity 憑證缺少 project_id。請重新登入或重新整理憑證以探索專案。`,empty_models:`暫無配額資料`,plan_label:`方案`,group_gemini_models:`Gemini 模型`,group_claude_gpt_models:`Claude 與 GPT 模型`,group_models_description:`此分組包含:{{models}}`,weekly_limit:`週限額`,daily_limit:`日限額`,five_hour_limit:`5 小時限額`,monthly_limit:`月限額`,quota_available:`配額可用`,remaining_percent:`剩餘 {{percent}}%`,refreshes_in:`{{duration}} 後重新整理`,refresh_available:`可重新整理`,duration_day_hour:`{{days}} 天 {{hours}} 小時`,duration_hour_minute:`{{hours}} 小時 {{minutes}} 分鐘`,duration_minute:`{{minutes}} 分鐘`,duration_less_than_minute:`小於 1 分鐘`,refresh_button:`重新整理配額`,fetch_all:`取得全部`},claude_quota:{title:`Claude 配額`,empty_title:`暫無 Claude OAuth 驗證`,empty_desc:`使用 Claude OAuth 登入後即可查看配額。`,idle:`點擊此處重新整理配額`,loading:`正在載入配額...`,load_failed:`配額取得失敗:{{message}}`,missing_auth_index:`驗證檔案缺少 auth_index`,empty_windows:`暫無配額資料`,refresh_button:`重新整理配額`,fetch_all:`取得全部`,five_hour:`5 小時限額`,seven_day:`7 天限額`,seven_day_oauth_apps:`7 天 OAuth 應用`,seven_day_opus:`7 天 Opus`,seven_day_sonnet:`7 天 Sonnet`,seven_day_cowork:`7 天 Cowork`,iguana_necktie:`Iguana Necktie`,seven_day_fable:`7 天 Fable 5`,extra_usage_label:`額外用量`,plan_label:`方案`,plan_unknown:`未知`,plan_free:`免費版`,plan_pro:`專業版`,plan_max:`Max`,plan_max5:`Max 5x`,plan_max20:`Max 20x`,plan_team:`團隊版`},codex_quota:{title:`Codex 配額`,empty_title:`暫無 Codex 驗證`,empty_desc:`上傳 Codex 驗證檔案後即可查看配額。`,idle:`點擊此處重新整理配額`,loading:`正在載入配額...`,load_failed:`配額取得失敗:{{message}}`,missing_auth_index:`驗證檔案缺少 auth_index`,missing_account_id:`Codex 憑證缺少 ChatGPT 帳號 ID`,empty_windows:`暫無配額資料`,no_access:`該憑證已無 Codex 存取權限(free)。`,refresh_button:`重新整理配額`,fetch_all:`取得全部`,primary_window:`5 小時限額`,secondary_window:`週限額`,team_secondary_window:`月度限額`,code_review_primary_window:`程式碼審查 5 小時限額`,code_review_secondary_window:`程式碼審查週限額`,code_review_team_secondary_window:`程式碼審查月度限額`,additional_primary_window:`{{name}} 5 小時限額`,additional_secondary_window:`{{name}} 週限額`,additional_team_secondary_window:`{{name}} 月度限額`,plan_label:`方案`,expires_label:`續期時間`,reset_credits_label:`主動重置次數`,reset_credits_expiry_label:`主動重置過期時間(GMT+8`,reset_credit_number:`第 {{index}} 次`,reset_credits_expiry_failed:`主動重置過期時間取得失敗:{{message}}`,reset_credits_invalid_payload:`主動重置過期時間回應格式無效`,reset_button:`重置配額`,reset_confirm_title:`重置 Codex 配額`,reset_confirm_message:`將消耗 1 次主動重置次數來重置「{{name}}」的 Codex 配額。是否繼續?`,reset_confirm_button:`確認重置`,reset_success:`已重置「{{name}}」的 Codex 配額`,reset_failed:`重置「{{name}}」的 Codex 配額失敗:{{message}}`,plan_plus:`Plus`,plan_team:`Team`,plan_free:`Free`,plan_pro:`Pro 20x`,plan_prolite:`Pro 5x`},kimi_quota:{title:`Kimi 配額`,empty_title:`暫無 Kimi 驗證`,empty_desc:`上傳 Kimi 驗證檔案後即可查看配額。`,idle:`點擊此處重新整理配額`,loading:`正在載入配額...`,load_failed:`配額取得失敗:{{message}}`,missing_auth_index:`驗證檔案缺少 auth_index`,empty_data:`暫無配額資料`,refresh_button:`重新整理配額`,fetch_all:`取得全部`,weekly_limit:`週限額`,limit_window:`{{duration}} 限額`,limit_index:`限額 #{{index}}`,reset_hint:`{{hint}} 後重置`},xai_quota:{title:`Grok 配額`,empty_title:`暫無 xAI/Grok 驗證`,empty_desc:`使用 xAI OAuth 登入後即可查看 Grok 配額。`,idle:`點擊此處重新整理配額`,loading:`正在載入配額...`,load_failed:`配額取得失敗:{{message}}`,missing_auth_index:`驗證檔案缺少 auth_index`,empty_data:`暫無配額資料`,refresh_button:`重新整理配額`,fetch_all:`取得全部`,weekly_limit:`週限額`,monthly_credits:`月度點數`,used_percent:`已用 {{percent}}`,reset_at:`重置 {{time}}`,product_usage:`{{product}} 使用`,plan_label:`方案`,plan_supergrok:`SuperGrok`,plan_supergrok_heavy:`SuperGrok Heavy`,plan_paid:`付費`,paid_health:`付費 API 對話可用。xAI 暫不為此 OAuth 憑證提供配額總量資料。`,pay_as_you_go_label:`按量付費`,pay_as_you_go_enabled:`已啟用,封頂 {{cap}}`,pay_as_you_go_disabled:`未啟用`},vertex_import:{title:`Vertex JSON 登入`,description:`上傳 Google 服務帳號 JSON,使用 CLI vertex-import 同步規則寫入 auth-dir/vertex-<project>.json。`,location_label:`目標區域(選填)`,location_placeholder:`us-central1`,location_hint:`留空表示使用預設區域 us-central1。`,file_label:`服務帳號金鑰 JSON`,file_hint:`僅支援 Google Cloud service account key JSON 檔案,私鑰會自動規範化。`,file_placeholder:`尚未選擇檔案`,choose_file:`選擇檔案`,import_button:`匯入 Vertex 憑證`,file_required:`請先選擇 .json 憑證檔案`,success:`Vertex 憑證匯入成功`,result_title:`憑證已儲存`,result_project:`專案 ID`,result_email:`服務帳號`,result_location:`區域`,result_file:`儲存檔案`},oauth_excluded:{title:`OAuth 模型停用`,description:`按供應商分列展示,點擊卡片編輯或刪除;支援 * 萬用字元,範圍跟隨上方的設定檔篩選標籤。`,add:`新增停用`,add_title:`新增供應商模型停用`,edit_title:`編輯 {{provider}} 的模型停用`,provider_label:`供應商`,provider_placeholder:`例如 codex / openai`,provider_hint:`預設選取目前篩選的供應商,也可直接輸入或選擇其他名稱。`,models_label:`停用的模型`,save:`儲存/更新`,save_success:`模型停用已更新`,save_failed:`更新模型停用失敗`,delete:`刪除供應商`,delete_confirm:`確定要刪除 {{provider}} 的模型停用嗎?`,delete_success:`已刪除該供應商的模型停用`,delete_failed:`刪除模型停用失敗`,no_models:`未設定停用模型`,model_count:`停用 {{count}} 個模型`,list_empty_all:`暫無任何供應商的模型停用,點擊「新增停用」建立。`,provider_required:`請先填寫供應商名稱`,upgrade_required:`目前 CPA 版本不支援 OAuth 模型停用,請升級 CPA 版本`,upgrade_required_title:`需要升級 CPA 版本`,upgrade_required_desc:`目前伺服器版本不支援取得 OAuth 模型停用功能,請升級到最新版本的 CPA(CLI Proxy API)後重試。`},excluded_models:{trigger_summary:`已排除 {{excluded}} · {{available}} 可用`,trigger_summary_rules:`{{n}} 條規則`,trigger_empty:`未排除任何模型`,meter_aria:`共 {{total}} 個模型,已排除 {{excluded}} 個`,search_placeholder:`搜尋模型…`,search_aria:`搜尋要排除的模型`,list_aria:`模型`,no_results:`沒有符合「{{query}}」的模型`,catalog_loading:`正在載入模型…`,catalog_unavailable:`無法取得模型清單,規則仍然生效。`,catalog_error:`模型載入失敗。`,catalog_retry:`重試`,catalog_empty:`暫無可列出的模型。`,footer_count:`{{excluded}} / {{total}} 已排除`,select_all:`全部排除`,clear:`清空`,clear_aria:`清空已選模型(保留萬用字元規則)`,badge_wildcard:`由規則`,badge_unknown:`不在清單中`,wildcard_reason:`由規則 {{rule}} 比對`,wildcard_locked:`由規則 {{rule}} 排除,請在下方修改該規則`,also_wildcard:`另由 {{rule}} 比對`,chips_more:`還有 {{n}} 個`,chip_remove:`取消排除 {{rule}}`,rules_label:`萬用字元規則`,rules_placeholder:`每行一個規則,例如 gpt-5-*`,rules_hint:`* 比對任意字元,比對不區分大小寫。`,rules_match_count:`比對 {{n}} 個模型`,rules_match_none:`未比對到清單中的任何模型`,rules_reserved:`「*」會停用整個 provider,請改用「已停用」開關`},oauth_model_alias:{title:`OAuth 模型別名`,add:`新增別名`,add_title:`新增供應商模型別名`,provider_label:`供應商`,provider_placeholder:`例如 codex / vertex`,provider_hint:`預設選取目前篩選的供應商,也可直接輸入或選擇其他名稱。`,model_source_loading:`正在載入模型清單...`,model_source_unsupported:`目前 CPA 版本不支援取得模型清單(仍可手動輸入)。`,model_source_loaded:`已載入 {{count}} 個模型,可在「原模型名稱」中下拉選擇;也可手動輸入。留空儲存將刪除該供應商記錄;開啟「保留原名」會在保留原模型名的同時新增別名。`,alias_label:`模型別名`,alias_name_placeholder:`原模型名稱`,alias_placeholder:`別名(必填)`,duplicate_alias:`同一供應商下的別名不能重複。`,alias_fork_label:`保留原名`,add_alias:`新增別名`,save:`儲存/更新`,save_success:`模型別名已更新`,save_failed:`更新模型別名失敗`,delete:`刪除供應商`,delete_confirm:`確定要刪除 {{provider}} 的模型別名嗎?`,delete_link_title:`取消連結`,delete_link_confirm:`確定取消 <code>{{sourceModel}}</code>{{provider}})到別名 <code>{{alias}}</code> 的映射?`,delete_alias_title:`刪除別名`,delete_alias_confirm:`確定刪除別名 <code>{{alias}}</code> 並取消所有關聯模型的映射?`,delete_success:`已刪除該供應商的模型別名`,delete_failed:`刪除模型別名失敗`,no_models:`未設定模型別名`,model_count:`{{count}} 條別名`,list_empty_all:`暫無任何供應商的模型別名,點擊「新增別名」建立。`,chart_title:`全部映射概覽`,diagram_providers:`供應商`,diagram_source_models:`來源模型`,diagram_aliases:`別名`,diagram_expand:`展開`,diagram_collapse:`收起`,diagram_add_alias:`新增別名`,diagram_rename:`重新命名`,diagram_rename_alias_title:`重新命名別名`,diagram_rename_alias_label:`新別名名稱`,diagram_rename_placeholder:`輸入別名名稱...`,diagram_delete_link:`取消連結 {{provider}} / {{name}}`,diagram_delete_alias:`刪除別名`,diagram_please_enter_alias:`請輸入別名名稱。`,diagram_alias_exists:`該別名已存在。`,diagram_add_alias_title:`新增別名`,diagram_add_alias_label:`別名名稱`,diagram_add_placeholder:`輸入新別名名稱...`,diagram_rename_btn:`重新命名`,diagram_add_btn:`新增`,diagram_settings:`設定`,diagram_settings_title:`別名設定 — {{alias}}`,diagram_settings_source_title:`來源模型設定`,diagram_settings_empty:`該別名暫無映射。`,diagram_tap_hint:`觸控設備上:先點選來源模型,再點選別名即可建立映射。`,view_mode_diagram:`概覽`,view_mode_list:`管理`,provider_required:`請先填寫供應商名稱`,upgrade_required:`目前 CPA 版本不支援模型別名功能,請升級 CPA 版本`,upgrade_required_title:`需要升級 CPA 版本`,upgrade_required_desc:`目前伺服器版本不支援 OAuth 模型別名功能,請升級到最新版本的 CPA(CLI Proxy API)後重試。`},auth_login:{recommended_provider_section:`推薦提供商`,recommended_provider_badge:`推薦提供商`,other_oauth_providers:`其他 OAuth 提供商`,other_login_methods:`其他登入方式`,codex_oauth_title:`Codex OAuth`,codex_oauth_button:`開始 Codex 登入`,codex_oauth_hint:`透過 OAuth 流程登入 Codex 服務,自動取得並儲存驗證檔案。`,codex_oauth_url_label:`授權連結:`,codex_open_link:`開啟連結`,codex_copy_link:`複製連結`,codex_oauth_status_waiting:`等待驗證中...`,codex_oauth_status_success:`驗證成功!`,codex_oauth_status_error:`驗證失敗:`,codex_oauth_start_error:`啟動 Codex OAuth 失敗:`,codex_oauth_polling_error:`檢查驗證狀態失敗:`,anthropic_oauth_title:`Anthropic OAuth`,anthropic_oauth_button:`開始 Anthropic 登入`,anthropic_oauth_hint:`透過 OAuth 流程登入 AnthropicClaude)服務,自動取得並儲存驗證檔案。`,anthropic_oauth_url_label:`授權連結:`,anthropic_open_link:`開啟連結`,anthropic_copy_link:`複製連結`,anthropic_oauth_status_waiting:`等待驗證中...`,anthropic_oauth_status_success:`驗證成功!`,anthropic_oauth_status_error:`驗證失敗:`,anthropic_oauth_start_error:`啟動 Anthropic OAuth 失敗:`,anthropic_oauth_polling_error:`檢查驗證狀態失敗:`,antigravity_oauth_title:`Antigravity OAuth`,antigravity_oauth_button:`開始 Antigravity 登入`,antigravity_oauth_hint:`透過 OAuth 流程登入 AntigravityGoogle 帳號)服務,自動取得並儲存驗證檔案。`,antigravity_oauth_url_label:`授權連結:`,antigravity_open_link:`開啟連結`,antigravity_copy_link:`複製連結`,antigravity_oauth_status_waiting:`等待驗證中...`,antigravity_oauth_status_success:`驗證成功!`,antigravity_oauth_status_error:`驗證失敗:`,antigravity_oauth_start_error:`啟動 Antigravity OAuth 失敗:`,antigravity_oauth_polling_error:`檢查驗證狀態失敗:`,kimi_oauth_title:`Kimi OAuth`,kimi_oauth_button:`使用 Kimi 登入`,kimi_sign_up_button:`立即註冊`,kimi_oauth_hint:`透過裝置授權快速登入 Kimi,完成後將自動取得並儲存驗證檔案。`,kimi_oauth_url_label:`授權連結:`,kimi_open_link:`開啟連結`,kimi_copy_link:`複製連結`,kimi_oauth_status_waiting:`等待驗證中...`,kimi_oauth_status_success:`驗證成功!`,kimi_oauth_status_error:`驗證失敗:`,kimi_oauth_start_error:`啟動 Kimi OAuth 失敗:`,kimi_oauth_polling_error:`檢查驗證狀態失敗:`,xai_oauth_title:`xAI OAuth`,xai_oauth_button:`開始 xAI 登入`,xai_oauth_hint:`透過 OAuth 流程登入 xAI Grok 服務,自動取得並儲存驗證檔案。`,xai_oauth_url_label:`授權連結:`,xai_open_link:`開啟連結`,xai_copy_link:`複製連結`,xai_oauth_status_waiting:`等待驗證中...`,xai_oauth_status_success:`驗證成功!`,xai_oauth_status_error:`驗證失敗:`,xai_oauth_start_error:`啟動 xAI OAuth 失敗:`,xai_oauth_polling_error:`檢查驗證狀態失敗:`,plugin_oauth_title:`{{name}} OAuth`,plugin_oauth_button:`開始 {{name}} 登入`,plugin_oauth_hint:`透過插件提供的 OAuth 流程登入 {{name}},自動取得並儲存驗證檔案。`,plugin_oauth_url_label:`授權連結:`,plugin_open_link:`開啟連結`,plugin_copy_link:`複製連結`,plugin_oauth_status_waiting:`等待驗證中...`,plugin_oauth_status_success:`驗證成功!`,plugin_oauth_status_error:`驗證失敗:`,plugin_oauth_start_error:`啟動插件 OAuth 失敗:`,xai_callback_label:`回調 URL 或授權碼`,xai_callback_placeholder:`貼上頁面顯示的 code,或完整 callback URL`,xai_callback_hint:`Grok 有時只在頁面顯示 code。可直接貼上 code,系統會自動拼接為 http://127.0.0.1:56121/callback?... 後提交。`,xai_callback_required:`請先貼上 Grok 頁面顯示的 code 或完整回調 URL。`,xai_callback_state_missing:`缺少本次 xAI 登入的 state,請重新開始 xAI 登入後再提交 code。`,qwen_oauth_title:`Qwen OAuth`,qwen_oauth_button:`開始 Qwen 登入`,qwen_oauth_hint:`透過裝置授權流程登入 Qwen 服務,自動取得並儲存驗證檔案。`,qwen_oauth_url_label:`授權連結:`,qwen_open_link:`開啟連結`,qwen_copy_link:`複製連結`,qwen_oauth_status_waiting:`等待驗證中...`,qwen_oauth_status_success:`驗證成功!`,qwen_oauth_status_error:`驗證失敗:`,qwen_oauth_start_error:`啟動 Qwen OAuth 失敗:`,qwen_oauth_polling_error:`檢查驗證狀態失敗:`,oauth_callback_label:`回調 URL`,oauth_callback_placeholder:`http://localhost:1455/auth/callback?code=...&state=...`,oauth_callback_hint:`遠端瀏覽器模式:當授權跳轉到 http://localhost:... 後,複製完整 URL 並提交到這裡。`,oauth_callback_button:`提交回調 URL`,oauth_callback_required:`請先貼上完整的回調 URL。`,oauth_callback_success:`回調 URL 已提交,請繼續等待驗證。`,oauth_callback_error:`提交回調 URL 失敗:`,oauth_callback_upgrade_hint:`請更新 CLI Proxy API 或檢查連線`,oauth_callback_status_success:`回調 URL 已提交,等待驗證中...`,oauth_callback_status_error:`回調 URL 提交失敗:`,missing_state:`無法取得驗證狀態參數`,iflow_oauth_title:`iFlow OAuth`,iflow_oauth_button:`開始 iFlow 登入`,iflow_oauth_hint:`透過 OAuth 流程登入 iFlow 服務,自動取得並儲存驗證檔案。`,iflow_oauth_url_label:`授權連結:`,iflow_open_link:`開啟連結`,iflow_copy_link:`複製連結`,iflow_oauth_status_waiting:`等待驗證中...`,iflow_oauth_status_success:`驗證成功!`,iflow_oauth_status_error:`驗證失敗:`,iflow_oauth_start_error:`啟動 iFlow OAuth 失敗:`,iflow_oauth_polling_error:`檢查驗證狀態失敗:`,iflow_cookie_title:`iFlow Cookie 登入`,iflow_cookie_label:`Cookie 內容:`,iflow_cookie_placeholder:`填入 BXAuth 值,以 BXAuth= 開頭`,iflow_cookie_hint:`直接提交 Cookie 以完成登入(無需開啟授權連結),伺服器端將自動儲存憑證。`,iflow_cookie_key_hint:`提示:需在平台上先建立 Key。`,iflow_cookie_button:`提交 Cookie 登入`,iflow_cookie_status_success:`Cookie 登入成功,憑證已儲存。`,iflow_cookie_status_error:`Cookie 登入失敗:`,iflow_cookie_status_duplicate:`設定檔重複:`,iflow_cookie_start_error:`提交 Cookie 登入失敗:`,iflow_cookie_config_duplicate:`偵測到設定檔已存在(重複),如需重新儲存請先刪除原檔案後重試。`,iflow_cookie_required:`請先填寫 Cookie 內容`,iflow_cookie_result_title:`Cookie 登入結果`,iflow_cookie_result_email:`帳號`,iflow_cookie_result_expired:`到期時間`,iflow_cookie_result_path:`儲存路徑`,iflow_cookie_result_type:`類型`,remote_access_disabled:`遠端存取不支援此登入方式,請從本地(localhost)存取`},stats:{success:`成功`,failure:`失敗`},status_bar:{success_short:`✓`,failure_short:`✗`,no_requests:`無請求`},logs:{title:`記錄檢視`,refresh_button:`重新整理記錄`,clear_button:`清空記錄`,fullscreen_button:`全螢幕顯示`,exit_fullscreen_button:`退出全螢幕`,download_button:`下載記錄`,error_logs_modal_title:`錯誤請求記錄`,error_logs_description:`請選擇要開啟或下載的錯誤請求記錄檔案(僅在關閉請求記錄時產生)。`,error_logs_request_log_enabled:`目前已開啟請求記錄,按介面約定錯誤請求記錄清單會始終為空。關閉請求記錄後再重新整理即可查看。`,error_logs_empty:`暫無錯誤請求記錄檔案`,error_logs_load_error:`載入錯誤記錄清單失敗`,error_logs_size:`大小`,error_logs_modified:`最後修改`,error_logs_open:`開啟`,error_logs_download:`下載`,error_log_view_title:`錯誤請求記錄詳情`,error_log_open_failed:`開啟錯誤記錄失敗`,error_log_empty_content:`此錯誤記錄沒有內容`,error_log_copy_success:`錯誤記錄內容已複製`,error_log_download_success:`錯誤記錄下載成功`,request_log_download_title:`下載封包`,request_log_download_confirm:`是否要下載 id 為 {{id}} 的封包?`,request_log_download_success:`封包下載成功`,empty_title:`暫無記錄`,empty_desc:`當啟用「記錄到檔案」功能後,記錄將顯示在這裡`,cpa_file_logging_required:`目前連線的是 CPA,記錄檢視需要先開啟「記錄到檔案」。`,cpa_file_logging_required_title:`需要開啟檔案記錄`,cpa_file_logging_required_desc:`CPA 的記錄介面會讀取本機記錄檔。請在設定中開啟 logging-to-file 後再重新整理查看。`,file_logging_required:`目前記錄介面需要先開啟「記錄到檔案」後才能讀取檔案記錄。`,file_logging_required_title:`需要開啟檔案記錄`,file_logging_required_desc:`目前記錄介面會讀取本機記錄檔。請在設定中開啟 logging-to-file 後再重新整理查看。`,log_content:`記錄內容`,loading:`正在載入記錄...`,load_error:`載入記錄失敗`,clear_confirm:`確定要清空所有記錄嗎?此操作無法還原!`,clear_success:`記錄已清空`,download_success:`記錄下載成功`,auto_refresh:`自動重新整理`,load_more_hint:`向上滾動載入更多`,hidden_lines:`已隱藏 {{count}} 行`,loaded_lines:`已載入 {{count}} 行`,filtered_lines:`已篩選 {{count}} 行`,hide_management_logs:`隱藏 {{prefix}} 記錄`,show_raw_logs:`顯示原始記錄`,show_raw_logs_hint:`直接顯示原始記錄文字,方便多行複製`,search_placeholder:`搜尋記錄內容或關鍵字`,filter_panel_title:`結構化篩選`,filter_panel_expand:`展開結構化篩選`,filter_panel_collapse:`收起結構化篩選`,filter_panel_active_count:`已選 {{count}} 項`,filter_method:`請求方法`,filter_status:`狀態碼`,filter_path:`路徑`,filter_path_empty:`暫無可篩選路徑`,filter_status_2xx:`2xx`,filter_status_3xx:`3xx`,filter_status_4xx:`4xx`,filter_status_5xx:`5xx`,clear_filters:`清空篩選`,search_empty_title:`未找到符合的記錄`,search_empty_desc:`嘗試更換關鍵字或清空篩選條件。`,double_click_copy_hint:`雙擊複製記錄原文`,copy_success:`已複製記錄原文`,copy_failed:`複製失敗`},config_management:JSON.parse(`{"title":"設定面板","reload":"重新載入","reload_confirm_message":"重新載入將捨棄你目前未儲存的修改,確定繼續嗎?","save":"儲存","status_loading":"載入設定中...","status_loading_short":"載入中","status_loaded":"設定已載入","status_loaded_short":"已載入","status_dirty":"有未儲存的變更","status_dirty_short":"未儲存","status_disconnected":"請先連線伺服器以載入設定","status_disconnected_short":"未連線","status_load_failed":"載入失敗","status_load_failed_short":"失敗","status_saving":"正在儲存設定...","status_saving_short":"儲存中","save_success":"設定已儲存","visual_mode_unavailable":"YAML 語法修復前無法使用視覺化編輯","visual_mode_unavailable_short":"YAML 錯誤","validation_blocked_short":"待修復","visual_mode_unavailable_detail":"目前設定存在無效 YAML,暫時無法使用視覺化編輯:{{message}}","visual_mode_save_blocked":"請先修復 YAML 語法錯誤,再從視覺化模式儲存","visual_mode_latest_yaml_invalid":"伺服器最新設定包含無效 YAML,請先切回原始碼模式檢查後再儲存視覺化修改:{{message}}","editor_placeholder":"key: value","search_placeholder":"搜尋設定內容...","search_button":"搜尋","search_no_results":"無結果","search_prev":"上一個","search_next":"下一個","diff":{"title":"確認變更","confirm":"確認儲存","no_changes":"未偵測到變更"},"tabs":{"visual":"視覺化編輯","source":"原始檔編輯"},"visual":{"notice":"視覺化模式涵蓋常用欄位,未涵蓋的設定仍需在原始檔模式中查看或編輯。","quick_jump":"快速跳轉","mode":{"simple":"簡單","full":"完整","label":"編輯模式","more_settings":"切換到完整模式,檢視全部 {{total}} 個設定分區","validation_banner":"部分進階設定項存在驗證錯誤,已阻止儲存。請切換到完整模式進行修正。","switch_to_full":"切換完整模式"},"search":{"placeholder":"搜尋設定項(標籤或 YAML 鍵名)","no_results":"沒有符合的設定項"},"sections":{"connectivity":{"title":"接入與認證","description":"服務位址、連接埠、認證目錄與 API 金鑰"},"logging":{"title":"日誌與診斷","description":"除錯、日誌輸出與使用統計"},"advanced":{"title":"進階與實驗","description":"請求標頭偽裝、簽章快取、外掛來源等不常修改的設定","plugins_title":"外掛","signature_title":"Antigravity 簽章"},"server":{"title":"伺服器設定","description":"基本伺服器設定","host":"主機位址","port":"連接埠"},"tls":{"title":"TLS/SSL 設定","description":"HTTPS 安全連線設定","enable":"啟用 TLS","enable_desc":"啟用 HTTPS 安全連線","cert":"憑證檔案路徑","key":"私鑰檔案路徑"},"remote":{"title":"遠端管理","description":"遠端存取和控制面板設定","allow_remote":"允許遠端存取","allow_remote_desc":"允許從其他主機存取管理介面","disable_panel":"停用控制面板","disable_panel_desc":"停用內建的 Web 控制面板","disable_auto_update_panel":"停用面板自動更新","disable_auto_update_panel_desc":"首次缺失時仍可下載,但不再從 GitHub 背景自動更新","secret_key":"管理金鑰","secret_key_placeholder":"設定管理金鑰","panel_repo":"面板儲存庫"},"auth":{"title":"驗證設定","description":"API 金鑰與驗證檔案目錄設定","auth_dir":"驗證檔案目錄(auth-dir","auth_dir_hint":"存放驗證檔案的目錄路徑(支援 ~"},"system":{"title":"系統設定","description":"除錯、記錄、統計與效能調整設定","debug":"除錯模式","debug_desc":"啟用詳細的除錯記錄","commercial_mode":"商業模式","commercial_mode_desc":"停用高開銷中介軟體以支援高並行","logging_to_file":"寫入記錄檔","logging_to_file_desc":"將記錄儲存到檔案","plugins_enabled":"啟用插件系統","plugins_enabled_desc":"啟用標準動態庫插件載入;具體插件實例仍在插件管理頁啟停","plugin_store_sources":"第三方插件源","plugin_store_sources_desc":"追加插件商店 registry 源;內建官方源始終保留","plugin_store_sources_label":"插件源 registry URLplugins.store-sources","plugin_store_sources_placeholder":"https://example.com/cliproxy-plugins/registry.json","plugin_store_sources_hint":"每列一個 registry.json URL,儲存時會過濾空列","plugin_store_auth":"插件商店認證規則","plugin_store_auth_desc":"為私有 registry、GitHub Release metadata 或下載位址設定認證標頭","plugin_store_auth_hint":"這裡只填寫環境變數名稱,不填寫真實 token;後端會從執行環境讀取值。","store_auth_empty":"暫未設定認證規則。公開插件源不需要設定。","store_auth_rule":"認證規則","store_auth_add":"新增認證規則","store_auth_match":"匹配 URL 前綴","store_auth_type":"認證類型","store_auth_apply_to":"套用到","store_auth_apply_to_hint":"不選擇時套用到所有請求類型。","store_auth_apply_registry":"Registry","store_auth_apply_metadata":"Metadata","store_auth_apply_artifact":"Artifact","store_auth_type_none":"無認證","store_auth_type_bearer":"Bearer","store_auth_type_basic":"Basic","store_auth_type_header":"自訂 Header","store_auth_type_github_token":"GitHub Token","store_auth_token_env":"Token 環境變數名稱","store_auth_username_env":"使用者名稱環境變數名稱","store_auth_password_env":"密碼環境變數名稱","store_auth_header_name":"Header 名稱","store_auth_header_value_env":"Header 值環境變數名稱","store_auth_allow_insecure":"允許 HTTP 非安全位址","logs_max_size":"記錄檔大小限制(MB","error_logs_max_files":"錯誤記錄保留檔案數","usage_statistics_enabled":"啟用記憶體用量統計","usage_statistics_enabled_desc":"啟用記憶體中的請求用量聚合","redis_usage_retention":"Redis 用量佇列保留秒數","redis_usage_retention_hint":"RESP 介面 LPOP/RPOP 用量佇列的記憶體保留時間,最大 3600 秒","antigravity_signature_cache":"啟用 Antigravity 簽名快取","antigravity_signature_cache_desc":"優先使用並校驗快取的 thinking block 簽名","antigravity_signature_strict":"嚴格校驗旁路簽名","antigravity_signature_strict_desc":"僅在關閉簽名快取時生效,按完整 Claude protobuf 樹校驗"},"headers":{"title":"Header 預設值","description":"Claude 與 Codex OAuth 請求在客戶端缺少 Header 時使用的預設值","claude_title":"Claude Header Defaults","codex_title":"Codex Header Defaults","user_agent":"User-Agent","package_version":"Package Version","runtime_version":"Runtime Version","os":"OS","arch":"Arch","timeout":"Timeout","stabilize_device":"穩定設備指紋","stabilize_device_desc":"固定 OS/Arch,並按憑證/API Key 穩定軟體指紋","beta_features":"Beta Features"},"network":{"title":"網路設定","description":"代理、重試和路由設定","proxy_url":"代理 URL","request_retry":"請求重試次數","max_retry_credentials":"最大重試憑證數","max_retry_credentials_hint":"留空表示不設定;設為 0 表示保留 legacy 行為,並嘗試所有可用憑證。","max_retry_interval":"最大重試間隔(秒)","auth_auto_refresh_workers":"驗證自動刷新 Worker 數","auth_auto_refresh_workers_hint":"大於 0 時覆蓋預設 Worker 數(16","disable_image_generation":"停用圖像生成","disable_image_generation_hint":"false 為啟用;true 為全部停用;chat 停用非圖片端點注入;passthrough 不注入並保留客戶端工具清單","disable_image_generation_false":"false(啟用)","disable_image_generation_true":"true(全部停用)","disable_image_generation_chat":"chat(僅停用聊天注入)","disable_image_generation_passthrough":"passthrough(保留客戶端工具清單)","gpt_image_2_base_model":"GPT Image 2 基礎模型","gpt_image_2_base_model_hint":"代理 gpt-image-2 圖片請求時使用的主線模型;留空或非法時後端使用預設值","routing_strategy":"路由策略","routing_strategy_hint":"選擇憑證選擇策略","strategy_round_robin":"輪詢(Round Robin","strategy_weighted_round_robin":"加權輪詢(Weighted Round Robin","strategy_fill_first":"填充優先(Fill First","session_affinity_ttl":"會話黏性 TTL","force_model_prefix":"強制模型前綴","force_model_prefix_desc":"未帶前綴的模型請求只使用無前綴憑證","passthrough_headers":"透傳上游回應 Header","passthrough_headers_desc":"將過濾後的上游回應 Header 轉發給下游客戶端","disable_cooling":"停用冷卻調度","disable_cooling_desc":"全域停用驗證/模型失敗後的冷卻視窗","session_affinity":"會話黏性路由","ws_auth":"WebSocket 驗證","ws_auth_desc":"啟用 WebSocket 連線驗證(/v1/ws"},"quota":{"title":"配額回退","description":"配額耗盡時的回退策略","switch_project":"切換專案","switch_project_desc":"配額耗盡時自動切換到其他專案","switch_preview_model":"切換預覽模型","switch_preview_model_desc":"配額耗盡時切換到預覽版本模型","antigravity_credits":"使用Antigravity Credits"},"streaming":{"title":"串流傳輸設定","description":"Keepalive 與 bootstrap 重試設定","keepalive_seconds":"Keepalive 秒數","keepalive_hint":"設定為 0 或留空表示停用 keepalive","bootstrap_retries":"Bootstrap 重試次數","bootstrap_hint":"串流傳輸啟動時(首包前)的重試次數","nonstream_keepalive":"非串流 Keepalive 間隔(秒)","nonstream_keepalive_hint":"非串流回應時每隔 N 秒發送空行以防止閒置逾時,設定為 0 或留空表示停用","disabled":"已停用"},"payload":{"title":"Payload 設定","description":"預設值、原始 JSON 規則、覆寫規則與篩選規則","default_rules":"預設規則","default_rules_desc":"當請求中未指定參數時,使用這些預設值","default_raw_rules":"預設 Raw 規則","default_raw_rules_desc":"當請求中未指定參數時,按原始 JSON 片段寫入這些值,例如 true、123、\\"high\\" 或 {\\"type\\":\\"object\\"}","override_rules":"覆寫規則","override_rules_desc":"強制覆寫請求中的參數值","override_raw_rules":"覆寫 Raw 規則","override_raw_rules_desc":"始終按原始 JSON 片段覆寫參數值,適合 response_format、schema 等複雜欄位","filter_rules":"篩選規則","filter_rules_desc":"透過 JSON Path 預篩選上游請求體,自動剔除不合規/冗餘參數(Request Sanitization"}},"api_keys":{"label":"API 金鑰清單(api-keys","add":"新增 API 金鑰","generate":"產生","empty":"暫無 API 金鑰","hint":"每個條目代表一個 API 金鑰(與「API 金鑰管理」頁面樣式一致)","edit_title":"編輯 API 金鑰","add_title":"新增 API 金鑰","input_label":"API 金鑰","input_placeholder":"貼上你的 API 金鑰","input_hint":"此處僅修改本地設定檔內容,不會自動同步到 API 金鑰管理介面","error_empty":"請輸入 API 金鑰","error_invalid":"API 金鑰包含無效字元"},"payload_rules":{"rule":"規則","models":"適用模型","model_name":"模型名稱","provider_type":"供應商類型","add_model":"新增模型","params":"參數設定","remove_params":"移除參數","json_path":"JSON 路徑(如 temperature","json_path_filter":"JSON 路徑(gjson/sjson),如 generationConfig.thinkingConfig.thinkingBudget","param_type":"參數類型","param_value":"參數值","add_param":"新增參數","no_rules":"暫無規則","add_rule":"新增規則","provider_default":"預設","provider_openai":"OpenAI","provider_openai_response":"OpenAI Response","provider_responses":"Responses","provider_gemini":"Gemini","provider_claude":"Claude","provider_codex":"Codex","provider_antigravity":"Antigravity","advanced":"進階","hide_advanced":"收起進階","from_protocol":"來源協議(from-protocol","headers":"請求 Header 匹配","header_name":"Header 名稱","header_value":"Header 值","add_header":"新增 Header","match":"必須匹配(match","notMatch":"不得匹配(not-match","exist":"必須存在(exist","notExist":"不得存在(not-exist","condition_path":"匹配路徑","condition_value":"匹配值","add_condition":"新增條件","value_type_string":"字串","value_type_number":"數字","value_type_boolean":"布林","value_type_json":"JSON","value_string":"字串值","value_number":"數字值(如 0.7","value_boolean":"true 或 false","value_json":"JSON 值","value_raw_json":"原始 JSON 片段,如 true、123、\\"high\\" 或 {\\"type\\":\\"object\\"}","value_default":"值","boolean_true":"true","boolean_false":"false"},"validation":{"validation_blocked":"請先修復表單驗證錯誤再儲存","port_range":"請輸入 1 到 65535 之間的有效連接埠","non_negative_integer":"請輸入非負整數","integer_range_1_3600":"請輸入 1 到 3600 之間的整數","payload_invalid_number":"請輸入有效數字","payload_invalid_boolean":"請選擇 true 或 false","payload_invalid_json":"請輸入有效的 JSON"},"common":{"edit":"編輯","delete":"刪除","cancel":"取消","update":"更新","add":"新增"}}}`),quota_management:{title:`配額管理`,description:`集中查看 OAuth 配額與剩餘情況`,refresh_all_credentials:`重新整理全部憑證`,meta_credentials:`{{count}} 個憑證`,meta_loaded:`{{count}} 個已載入`,meta_attention:`{{count}} 個需關注`,empty_title:`暫無可查配額的憑證`,empty_desc:`接入 Antigravity、Claude、Codex、xAI 或 Kimi 憑證後即可在此查看配額。`,windows_title:`配額視窗`,windows_span_weekly:`兩週`,windows_span_session:`三天`,windows_current:`目前`,windows_today:`今天`,windows_prev:`上一頁`,windows_next:`下一頁`,windows_mode_weekly:`按週`,windows_mode_session:`5 小時`,windows_credential:`憑證`,windows_idle:`沒有正在計時的視窗`,windows_empty_session:`目前頁面沒有憑證提供 5 小時配額視窗。`,windows_legend_current:`目前視窗`,windows_legend_upcoming:`即將開始`,windows_legend_elapsed:`已結束`,windows_note_weekly:`每條表示一個完整的配額視窗,從開啟到重設。同時結束的視窗會競用相同的日期。`,windows_note_session:`每條表示一個 5 小時視窗。僅顯示有正在計時視窗的憑證,其餘保持為空。`,weekday_sun:`日`,weekday_mon:`一`,weekday_tue:`二`,weekday_wed:`三`,weekday_thu:`四`,weekday_fri:`五`,weekday_sat:`六`},plugin_management:{title:`插件管理`,description:`查看已發現和已註冊的插件,管理實例開關、設定欄位和資源入口。`,refresh:`重新整理`,load_failed:`載入插件失敗`,config_load_failed:`讀取插件設定失敗`,config_not_found:`無法讀取插件設定,後端未找到該插件。`,unsupported_backend:`目前後端未暴露插件管理 API。請使用包含插件管理介面的新版後端建置,並重新啟動服務。`,global_status:`全域狀態`,global_enabled:`已啟用`,global_disabled:`已停用`,global_disabled_hint:`目前 plugins.enabled 為 false,插件實例即使啟用也不會生效。`,plugins_dir:`插件目錄`,discovered:`發現插件`,effective:`生效插件`,search_placeholder:`搜尋插件 ID、名稱、作者或資源...`,search_label:`搜尋插件`,no_plugins:`暫無插件`,no_plugins_desc:`未從插件目錄或執行時註冊表中發現插件。`,configured:`已設定`,not_configured:`未設定`,registered:`已註冊`,not_registered:`未註冊`,oauth:`OAuth`,status_effective:`生效中`,status_inactive:`未生效`,edit_config:`編輯設定`,open_repository:`開啟倉庫`,config_title:`設定 {{name}}`,base_settings:`基礎設定`,enabled:`啟用`,enabled_hint:`控制 plugins.configs 中該插件實例的 enabled 欄位。`,priority:`優先級`,config_fields:`設定欄位`,no_config_fields:`該插件沒有宣告可視化設定欄位。`,select_placeholder:`請選擇`,array_item_placeholder:`輸入陣列項目`,add_array_item:`新增陣列項目`,remove_array_item:`刪除陣列項目`,delete_plugin:`刪除`,delete_confirm_title:`刪除插件`,delete_confirm_message:`確定刪除 {{name}}{{id}})嗎?這會移除本機插件檔案和已儲存設定。`,delete_success:`插件已刪除`,delete_failed:`插件刪除失敗`,delete_restart_required:`已載入的插件需要重新啟動後端後才能移除。`,toggle_success:`插件狀態已更新`,toggle_failed:`插件狀態更新失敗`,runtime_pending:`插件變更已儲存,但執行時狀態仍在更新中。請稍後重新整理或檢查後端日誌。`,save_success:`插件設定已儲存`,save_failed:`插件設定儲存失敗`,validation_failed:`請先修復插件設定表單錯誤`,invalid_priority:`請輸入整數優先級`,invalid_number:`請輸入有效數字`,invalid_integer:`請輸入有效整數`,invalid_json:`請輸入有效 JSON`,expected_array:`請輸入 JSON 陣列`,expected_object:`請輸入 JSON 物件`,invalid_enum:`請選擇宣告的枚舉值`},plugin_store:{title:`插件商店`,description:`瀏覽插件註冊表,為目前後端安裝或更新插件。`,description_show_more:`展開描述`,description_show_less:`收起描述`,source_name:`來源:{{source}}`,cli_proxy_api_source:`CLIProxyAPI來源`,refresh:`重新整理`,retry:`重試`,load_failed:`插件商店載入失敗`,unsupported_backend:`目前後端未提供插件商店 API。請使用包含插件商店介面的新後端建置,並重新啟動服務。`,registry_failed:`插件註冊表請求失敗`,global_status:`全域狀態`,global_enabled:`已啟用`,global_disabled:`已停用`,global_disabled_hint:`目前 plugins.enabled 為 false,已安裝的插件不會生效。`,plugins_dir:`插件目錄`,stat_available:`可用插件`,search_placeholder:`搜尋插件 ID、名稱、作者或標籤...`,search_label:`搜尋插件商店`,filter_label:`依安裝狀態篩選`,filter_all:`全部`,filter_installed:`已安裝`,filter_not_installed:`未安裝`,filter_updates:`可更新`,badge_installed:`已安裝`,badge_update:`可更新`,badge_effective:`生效中`,version_arrow:`v{{from}} → v{{to}}`,install_type:`安裝方式:{{type}}`,platforms:`平台:{{platforms}}`,auth_required:`需要認證`,auth_configured:`認證已設定`,auth_required_hint:`該插件來源或下載位址需要先設定 plugins.store-auth`,source_errors_title:`部分插件來源載入失敗`,install:`安裝`,update:`更新`,manage:`管理`,install_confirm_title:`安裝插件`,install_confirm_message:`將從插件註冊表下載 {{target}} 並安裝到本機插件目錄,是否繼續?`,update_confirm_title:`更新插件`,update_confirm_message:`將下載並安裝 {{target}},是否繼續?`,install_version_label:`版本`,install_version_latest:`最新版本`,install_version_latest_mode:`最新穩定版`,install_version_latest_hint:`安裝時由後端解析;目前列表版本為 {{version}}。`,install_version_release_mode:`選擇歷史版本`,install_version_release_hint:`從 GitHub Releases 讀取可安裝標籤。`,install_version_manual_mode:`手動發布標籤`,install_version_manual_hint:`僅在自動讀取不可用時使用。`,install_versions_loading:`正在讀取 GitHub Releases...`,install_versions_load_failed:`無法自動讀取發布版本`,install_version_non_github:`此插件倉庫不是 GitHub 倉庫`,install_versions_empty:`未讀取到可選發布版本。`,install_versions_only_prerelease:`目前只剩預發布版本,請開啟預發布版本後選擇。`,install_version_release_select:`選擇發布版本`,install_version_release_placeholder:`選擇發布版本`,install_version_prerelease_badge:`預發布`,install_version_assets_count:`{{count}} 個資產`,install_version_show_prerelease:`顯示預發布版本`,install_version_manual_placeholder:`例如 v0.1.4`,install_version_manual_error:`發布標籤只能包含字母、數字、點、底線、加號和連字號,且不能包含空格或斜線。`,install_version_current_selected:`目前已安裝 {{version}},請選擇其他版本。`,install_version_releases_link:`查看 GitHub Releases`,install_success:`插件安裝成功`,update_success:`插件更新成功`,install_failed:`插件安裝失敗`,update_failed:`插件更新失敗`,status_pending:`插件檔案已更新,但本機狀態尚未重新整理。請稍後重新整理或檢查後端日誌。`,registration_pending:`插件檔案已更新,但註冊仍在進行中。請稍後重新整理或檢查後端日誌。`,restart_required_notice:`需要重新啟動服務才能載入新的插件版本`,restart_required_banner:`以下插件需重新啟動服務後才能套用新版本:{{plugins}}`,open_repository:`開啟儲存庫`,open_homepage:`開啟首頁`,no_plugins:`註冊表為空`,no_plugins_desc:`插件註冊表未回傳任何插件。`,no_matches:`沒有符合的插件`,no_matches_desc:`目前搜尋或篩選條件下沒有插件。`,clear_filters:`清除篩選`,security_banner_title:`第三方插件以後端完整權限執行`,security_banner_text:`插件會在代理服務內部執行程式碼,可讀取你的憑證與流量。請僅安裝你信任的插件——尤其要警惕任何並非由官方組織 router-for-me 發布的插件。`,badge_untrusted:`第三方`,gate_title:`安裝 {{name}}`,gate_title_update:`更新 {{name}}`,gate_warning:`如果你不閱讀以下內容,可能會發生意料之外的危險後果。`,gate_effect_runs_code:`該插件將在您的代理後端內執行第三方未認證程式碼。系統無法對其行為進行隔離或稽核,其具備存取您的敏感憑證、網路請求與回應資料的潛在權限。`,gate_effect_no_review:`本插件並非由官方組織 router-for-me 發布或審核。官方不對該插件的穩定性、安全性、合規性以及後續版本的任意行為變更承擔任何明示或暗示的擔保責任。`,gate_effect_restart:`安裝會修改本機插件目錄,並可能需要重新啟動服務才能生效。`,gate_untrusted_alert:`該插件並非來自官方組織 router-for-me。請僅在你完全信任其作者與來源時繼續。`,gate_repository_label:`儲存庫`,gate_source_label:`來源`,gate_step1_action:`我要安裝此插件`,gate_step2_action:`我已閱讀並理解上述風險`,gate_step3_prompt:`如需確認,請在下方輸入框中鍵入 “{{token}}”`,gate_step3_action:`安裝此插件`,gate_step3_hint:`請輸入上方顯示的完整識別碼以啟用安裝。`},plugin_resource:{page_count:`{{count}} 個頁面`,load_failed:`載入插件頁面失敗`,unavailable:`插件頁面不可用`,not_found:`找不到插件頁面`,not_found_desc:`目前後端插件清單未宣告此插件頁面。`,empty_src:`插件頁面位址為空`,empty_src_desc:`此插件選單未提供可嵌入的頁面位址。`},system_info:{title:`管理中心資訊`,about_title:`CLI Proxy API Management Center`,models_title:`可用模型清單`,models_desc:`展示 /models 回傳的模型,並自動使用伺服器儲存的 API Key 進行驗證。`,models_loading:`正在載入可用模型...`,models_empty:`未從 /models 取得到模型資料`,models_error:`取得模型清單失敗`,models_count:`可用模型 {{count}} 個`,version_check_button:`檢查更新`,version_update_available:`有新版本可用:{{version}}`,version_is_latest:`目前已是最新版本`,version_check_error:`檢查更新失敗`,version_current_missing:`未取得到伺服器版本號,暫無法比對`,version_unknown:`未知`,quick_links_title:`快速連結`,quick_links_desc:`存取專案儲存庫和文件,取得協助和更新。`,link_main_repo:`主程式儲存庫`,link_main_repo_desc:`CLI Proxy API 核心程式原始碼`,link_webui_repo:`WebUI 儲存庫`,link_webui_repo_desc:`管理中心前端介面原始碼`,link_docs:`使用教學`,link_docs_desc:`設定指南和使用說明`,clear_login_title:`本地登入資訊`,clear_login_desc:`清理本地儲存的登入資訊並登出。`,clear_login_button:`清理登入資訊`,clear_login_confirm:`確認清理本地登入資訊並登出?`},notification:{request_log_updated:`請求記錄設定已更新`,login_storage_cleared:`本地登入資訊已清理`,data_refreshed:`資料重新整理成功`,connection_required:`請先建立連線`,refresh_failed:`重新整理失敗`,update_failed:`更新失敗`,add_failed:`新增失敗`,delete_failed:`刪除失敗`,upload_failed:`上傳失敗`,download_failed:`下載失敗`,login_failed:`登入失敗`,commercial_mode_restart_required:`商業模式開關已變更,請重啟服務後生效`,copy_failed:`複製失敗`,link_copied:`已複製`},language:{switch:`語言`,chinese:`簡體中文`,chinese_tw:`繁體中文(台灣)`,english:`英文`,russian:`俄文`},theme:{switch:`主題`,light:`羊毛紙`,white:`純白`,dark:`深色`,auto:`跟隨系統`},sidebar:{toggle_expand:`展開側邊欄`,toggle_collapse:`收起側邊欄`,expand:`展開`,collapse:`收起`,subtitle:`CLI Proxy API 管理控制台`,auth_files_count:`驗證檔案:{{count}} 個`},footer:{api_version:`CLI Proxy API 版本`,build_date:`建置時間`,version:`管理中心版本`},providersPage:{header:{title:`AI 提供商`,activeResources:`{{active}}/{{total}} 個活躍資源`,providerFamilies:`{{count}} 個提供商家族`,updatedAt:`更新於 {{time}}`},actions:{refresh:`重新整理`,syncing:`同步中`,new:`新增`,edit:`編輯`,view:`檢視`,delete:`刪除`,cancel:`取消`,save:`儲存`,create:`建立`,enable:`啟用`,disable:`停用`},categories:{title:`提供商`,quickFill:`快速填入`,activeCount:`{{active}}/{{total}} 活躍`},providerNames:{gemini:`Gemini`,interactions:`Interactions API`,codex:`Codex`,xai:`xAI`,claude:`Claude`,claudeApi:`ClaudeAPI`,vertex:`Vertex`,openaiCompatibility:`OpenAI 相容`,apikeyFun:`APIKEY.FUN`,code0:`Code0`,fennoAI:`FennoAI`,qiniuCloud:`七牛雲`,lmuAI:`LMU AI(靈眸AI`,kimi:`Kimi`},table:{key:`金鑰`,baseUrl:`服務位址`,prefix:`前綴`,models:`模型/請求標頭`,status:`狀態`,actions:`操作`,metrics:{models:`模型`,keys:`金鑰`,headers:`請求標頭`},websocketsTag:`WebSockets`,cloakTag:`Cloak`,empty:`尚未新增設定,點擊右上角新增。`,filterPlaceholder:`搜尋金鑰、位址、前綴…`,description:`在 {{route}} 下管理資源`},sponsor:{protocolSummary:`Anthropic / OpenAI / Gemini / Codex API (Responses)`,detailHint:`{{provider}} 會按協議分別寫入對應的 API Key 設定,此處只做聚合管理。`,registerLink:`點此註冊`,registerNow:`立即註冊`,dashboardLink:`控制面板`,emptyRegisterHint:`尚未新增設定`,apiKeyHint:`此金鑰只會寫入目前選擇的分組/協議設定。`,usageCheck:`查詢額度`,usageChecking:`查詢中`,usageRemaining:`剩餘額度: {{amount}} {{unit}}`,usageBreakdown:`已用 {{used}} / 總額 {{limit}}`,usageStatus:`狀態: {{status}}`,usageInvalid:`Key 無效`,usageEmpty:`端點未回傳額度資料`,usageApiKeyRequired:`API 金鑰必填`,aggregationConflict:`此聚合提供商包含多筆後端設定或多個 OpenAI 金鑰。為避免資料遺失,請在原始碼設定中編輯。`,partialMutationWarning:`操作失敗,但一個或多個協議可能已更新。已重新讀取最新設定,請檢查後再重試。`,groupedKeysTitle:`分組金鑰`,groupedKeysHint:`平台建立 Key 時可能需要選擇分組,這裡每個分組金鑰只管理一個協議,模型也只從該協議拉取。`,groupedKey:`分組金鑰 #{{index}}`,addGroupedKey:`新增分組金鑰`,removeGroupedKey:`刪除分組金鑰`,protocol:`分組/協議`,protocolHint:`請選擇此 Key 對應的分組/協議。`,protocolEndpoint:`目前協議位址`,urlMode:`{{provider}} URL`,urlHint:`不同 URL 的使用規範一致,儲存時只會寫入目前分組協議對應位址。`,urlOptions:{standard:`普通 URL`,direct:`專線直連 URL`,domestic:`中國大陸線路`,overseas:`海外線路`},urlOptionDescriptions:{domestic:`面向中國大陸使用者和部署在中國大陸網路環境中的業務,通常可獲得更低延遲。`,overseas:`面向海外部署、跨境存取或需要存取境外模型的業務。`},modelsTitle:`協議模型設定`,modelsHint:`可分別限制或別名映射 Codex API、Anthropic、Gemini 與 OpenAI 相容入口的模型。`,protocolModels:{codex:`Codex API 模型`,anthropic:`Anthropic 模型`,gemini:`Gemini 模型`,openai:`OpenAI 相容模型`},protocolModelHints:{codex:`寫入 Codex API 設定的 models,可從 /v1/models 拉取後設定別名。`,anthropic:`寫入 Anthropic 設定的 models,可從 /v1/models 拉取後設定別名。`,gemini:`寫入 Gemini 設定的 models,可從 /v1beta/models 拉取後設定別名。`,openai:`寫入 OpenAI 相容設定的 models,可從 /models 拉取後設定別名。`},validation:{keyRequired:`請為每個分組金鑰填寫 API Key。`,protocolDuplicate:`每個協議只能新增一個分組金鑰。`},openaiEntries:`OpenAI 相容金鑰數`,codexEntries:`Codex API 金鑰數`,anthropicEntries:`Anthropic 金鑰數`,geminiEntries:`Gemini 金鑰數`,protocols:{anthropic:`Anthropic`,openai:`OpenAI 相容`,gemini:`Gemini`,codexResponses:`Codex API (Responses)`}},status:{active:`活躍`,disabled:`已停用`,notSet:`未設定`,none:`無`,notConfigured:`未設定`,defaultSuffix:`(預設)`},detail:{title:`詳情`,metadataTitle:`元資料`,fields:{identifier:`識別碼`,baseUrl:`服務位址`,proxyUrl:`代理 URL`,prefix:`前綴`,models:`模型數`,headers:`請求標頭數`,authIndex:`Auth Index`,excludedModels:`排除模型數`,apiKeyEntries:`金鑰條目數`}},form:{createEyebrow:`新增`,editEyebrow:`編輯`,name:`名稱`,apiKey:`API 金鑰`,apiKeyCreatePlaceholder:`輸入 API 金鑰`,apiKeyEditPlaceholder:`留空表示不修改`,baseUrl:`服務位址`,baseUrlRequiredHint:`此提供商需要填寫服務位址`,proxyUrl:`代理 URL`,prefix:`前綴`,priority:`優先級`,weight:`調度權重`,weightHint:`預設 1 · ≤ 0 時不參與 · 最大 1,000,000`,disabled:`停用此條目`,disabledHint:`停用後不會被閘道使用`,websockets:`啟用 WebSockets`,testModel:`測試模型`,testModelClaudeHint:`僅用於連通性測試,不會被儲存`,testModelAutoWith:`自動 · {{name}}`,testModelAutoEmpty:`自動(尚未新增模型)`,testModelCustom:`{{name}}(自訂)`,modelsSection:`自訂模型`,addModel:`新增模型`,headersSection:`請求標頭`,addHeader:`新增請求標頭`,excludedSection:`排除模型`,excludedDisabledNote:`「*」表示整個 provider 已停用,請改用上方的「已停用」開關。`,cloakSection:`Cloak 設定`,cloakMode:`模式`,cloakStrict:`嚴格模式`,cloakSensitiveWords:`敏感詞(每行一個)`,apiKeyEntriesSection:`API 金鑰條目`,apiKeyEntry:`金鑰 #{{index}}`,addApiKeyEntry:`新增金鑰條目`,showApiKey:`顯示金鑰`,hideApiKey:`隱藏金鑰`,disableCooling:`停用冷卻調度`,disableCoolingHint:`僅對目前憑證或提供商停用失敗後的冷卻視窗`,modelImage:`允許圖片端點`,modelImageHint:`允許該模型用於 /v1/images/generations 和 /v1/images/edits`,showAllEntries:`顯示全部({{count}}`,showFewerEntries:`收起`,proxyBadge:`代理`,modelBadgeImage:`圖片`,modelBadgeThinking:`Thinking`,thinkingConfig:`允許的思考檔位`,thinkingExistingHint:`目前後端設定會保持不變;修改選項後將替換為所選標準檔位。`,thinkingLevels:{none:`關閉思考`,minimal:`最少`,low:`低`,medium:`中`,high:`高`,xhigh:`超高`,max:`最大`,auto:`自動`},cloakCacheUserId:`快取 user_id`,cloakCacheUserIdHint:`按 API key 複用 Claude cloak 產生的 user_id`,experimentalCchSigning:`實驗性 CCH 簽名`,experimentalCchSigningHint:`對 cloaked Claude /v1/messages 最終請求體啟用 CCH 簽名`,validation:{nameRequired:`名稱必填`,apiKeyRequired:`至少填寫一個 API 金鑰`,baseUrlRequired:`服務位址必填`,weightInteger:`調度權重必須是整數`,weightMax:`調度權重不能超過 {{max}}`}},delete:{title:`刪除資源`,confirm:`確定要刪除 {{name}} 嗎?此操作不可復原。`},toast:{created:`建立成功`,updated:`更新成功`,deleted:`刪除成功`,enabled:`已啟用`,disabled:`已停用`,toggleFailed:`更新狀態失敗`},unsavedChanges:{title:`確定捨棄未儲存的變更嗎?`,message:`目前表單還有尚未儲存的變更,關閉後會遺失。`,discard:`捨棄變更`,keepEditing:`繼續編輯`},connectivity:{test:`測試`,testAll:`全部測試`,success:`連通`,baseUrlRequired:`服務位址必填`,endpointInvalid:`服務位址不合法`,apiKeyRequired:`API 金鑰必填`,modelRequired:`測試模型必填`,timeout:`請求超過 {{seconds}} 秒`,requestFailed:`請求失敗`},discovery:{openButton:`從端點拉取`,searchPlaceholder:`搜尋模型`,reload:`重新載入`,loading:`正在載入模型…`,empty:`端點未回傳任何模型`,notLoaded:`點擊重新載入以取得模型`,selectAll:`全選`,clearAll:`清空選擇`,selectedCount:`{{selected}} / {{total}}`,alreadyAdded:`已新增`,close:`關閉`,apply:`套用 ({{count}})`},toolbar:{sortBy:`排序`,sort:{name:`名稱`,priority:`優先級`,recentSuccess:`近期成功數`,directionAsc:`升序`,directionDesc:`降序`},filter:{allModels:`全部模型`,selectedModels:`{{selected}}/{{total}} 個模型`,selectAll:`全選`,clear:`清空`,empty:`尚無已設定模型`}},modelCatalog:{notLoaded:`未載入`}}},il={common:{login:`Login`,logout:`Logout`,back:`Back`,cancel:`Cancel`,confirm:`Confirm`,leave:`Leave`,stay:`Stay`,save:`Save`,delete:`Delete`,edit:`Edit`,add:`Add`,update:`Update`,refresh:`Refresh`,close:`Close`,success:`Success`,error:`Error`,info:`Info`,warning:`Warning`,loading:`Loading...`,connecting:`Connecting...`,connected:`Connected`,disconnected:`Disconnected`,connecting_status:`Connecting`,connected_status:`Connected`,disconnected_status:`Disconnected`,yes:`Yes`,no:`No`,not_set:`Not set`,optional:`Optional`,required:`Required`,api_key:`Key`,base_url:`Address`,prefix:`Prefix`,proxy_url:`Proxy`,priority:`Priority`,alias:`Alias`,failure:`Failure`,unknown_error:`Unknown error`,quota_update_required:`Please update the CPA version or check for updates`,quota_check_credential:`Please check the credential status`,copy:`Copy`,expand:`Expand`,collapse:`Collapse`,status:`Status`,action:`Action`,custom_headers_label:`Custom Headers`,custom_headers_hint:`Optional HTTP headers to send with the request. Leave blank to remove.`,custom_headers_add:`Add Header`,custom_headers_key_placeholder:`Header name, e.g. X-Custom-Header`,custom_headers_value_placeholder:`Header value`,model_name_placeholder:`Model name, e.g. claude-3-5-sonnet-20241022`,model_alias_placeholder:`Model alias (optional)`,invalid_provider_index:`Invalid provider index.`,unsaved_changes_title:`Unsaved changes`,unsaved_changes_message:`You have unsaved changes. Leaving now will discard them. Do you want to leave?`},title:{login:`CLI Proxy API Management Center`,abbr:`CPAMC`},splash:{title:`CLI Proxy API`,subtitle:`Management Center`},login:{subtitle:`Please enter connection information to access the management interface`,connection_current:`Current URL`,connection_auto_hint:`The system will automatically use the current URL for connection`,custom_connection_label:`Custom Connection URL:`,custom_connection_placeholder:`Eg: https://example.com:8317`,custom_connection_hint:`By default the current URL is used. Override it here if needed.`,remember_password_label:`Remember password`,management_key_label:`Management Key:`,management_key_placeholder:`Enter the management key`,submit_button:`Login`,submitting:`Connecting...`,error_backend_detail:`Backend response`,error_required:`Please fill in complete connection information`,error_invalid:`Connection failed, please check the server address, Management API, and management key`,error_network:`Network connection failed, please check your network or server address`,error_timeout:`Connection timed out, server not responding`,error_unauthorized:`Authentication failed, management key is missing or invalid`,error_forbidden:`Access denied, remote management is disabled, the management key is not configured, or this IP is temporarily banned`,error_not_found:`Management API not found, confirm the server address points to the CLIProxyAPI backend`,error_server:`Backend failed while handling the management request, check the server logs`,error_cors:`Cross-origin request blocked, please check server configuration`,error_ssl:`SSL/TLS certificate verification failed`},header:{refresh_all:`Refresh All`,logout:`Logout`},connection:{status:`Connection Status:`},nav:{dashboard:`Dashboard`,quick_start:`Quick Start`,ai_providers:`AI Providers`,auth_files:`Auth Files`,oauth:`OAuth Login`,quota_management:`Quota Management`,plugins:`Plugins`,plugin_store:`Plugin Store`,config_management:`Config Panel`,logs:`Logs Viewer`,system_info:`Management Center Info`},nav_groups:{operate:`Operate`,gateway:`Gateway`,observe:`Observe`,plugin_pages:`Plugins`,control:`Control`},nav_meta:{dashboard:`Operations overview`,quick_start:`APIKEY.FUN setup`,ai_providers:`Upstream model routing`,auth_files:`Auth files & credentials`,oauth:`OAuth authorization`,quota_management:`API keys & limits`,plugins:`Plugin toggles & config`,plugin_store:`Discover & install plugins`,logs:`Request tracing`,config_management:`Gateway configuration`,system_info:`Runtime & diagnostics`},dashboard:{hero_verdict_good:`All systems steady`,hero_verdict_warning:`Minor turbulence`,hero_verdict_critical:`Needs attention`,hero_verdict_idle:`Quiet for now`,hero_verdict_offline:`Waiting to connect`,hero_verdict_connecting:`Connecting`,hero_period:`.`,hero_requests_label:`Requests handled`,hero_live:`Live`,hero_window_meta:`Rolling {{window}} window · 10-minute buckets`,hero_spark_label:`Request volume over the last {{window}}`,cta_manage_providers:`Manage providers`,cta_inspect_logs:`Inspect logs`,stats_aria:`Key metrics`,success_rate:`Success rate`,stat_success_hint:`Across {{total}} requests in the window`,stat_credentials:`Credentials`,stat_credentials_hint:`{{active}} active · {{disabled}} not serving`,stat_credentials_empty:`No credential files found`,stat_provider_keys:`Provider keys`,stat_provider_keys_hint:`API keys configured across all brands`,stat_models:`Models`,stat_models_hint:`Served through the proxy endpoint`,traffic_eyebrow:`Live traffic`,traffic_title:`Throughput, ten minutes at a time`,traffic_description:`Success and failure counts per 10-minute bucket across the last {{window}}. Hover a column for its exact split.`,traffic_table:`Data table`,traffic_table_window:`Window`,traffic_chart_summary:`{{total}} requests over the last {{minutes}} minutes: {{success}} succeeded, {{failed}} failed.`,traffic_unavailable:`No traffic recorded yet`,traffic_unavailable_hint:`Counters appear once the proxy has served its first request.`,fleet_eyebrow:`Fleet`,fleet_title:`Every provider, side by side`,fleet_description:`Volume and success rate per provider over the same window.`,fleet_empty:`No provider traffic recorded yet.`,fleet_credentials:`Credentials: {{value}}`,fleet_spark_label:`{{provider}} request volume`,fleet_requests:`requests`,provider_unknown:`Unattributed`,health_eyebrow:`Health`,health_title:`Credential status`,health_active:`Active`,health_unavailable:`Unavailable`,health_disabled:`Disabled`,health_by_type:`By provider`,health_empty:`No credential files found.`,health_link:`Open auth files`,runtime_eyebrow:`Runtime`,runtime_title:`Configuration at a glance`,runtime_routing:`Routing strategy`,runtime_retry:`Request retry`,runtime_management_keys:`Management keys`,runtime_version:`Server version`,runtime_build:`Build date`,runtime_proxy:`Upstream proxy`,runtime_debug:`Debug`,runtime_file_logging:`File logging`,runtime_request_log:`Request log`,runtime_ws_auth:`WebSocket auth`,runtime_model_prefix:`Model prefix`,runtime_link:`Edit configuration`,cta_eyebrow:`Next`,cta_title:`Where to go from here`,cta_providers_desc:`Add API keys, set priorities, and test brands.`,cta_auth_files_desc:`Upload, refresh, and disable OAuth credentials.`,cta_config_desc:`Tune routing, retries, logging, and access.`,cta_quota_desc:`Check remaining quota per credential.`,cta_logs_desc:`Tail requests and download error reports.`,cta_system_desc:`Version details and management center info.`,window_m:`{{minutes}}m`,window_h:`{{hours}}h`,window_hm:`{{hours}}h {{minutes}}m`},basic_settings:{debug_enable:`Enable Debug Mode`,proxy_url_label:`Proxy URL:`,retry_count_label:`Retry Count:`,logging_to_file_enable:`Enable logging to file`,request_log_title:`Request Logging`,request_log_enable:`Enable request logging`,request_log_warning:`Keep this off unless you need detailed troubleshooting.`,ws_auth_enable:`Require auth for /ws/*`,routing_strategy_round_robin:`round-robin (cycle)`,routing_strategy_weighted_round_robin:`weighted-round-robin (weighted cycle)`,routing_strategy_fill_first:`fill-first (prioritize)`},auth_files:{title:`Auth Files Management`,meta_total:`{{count}} credentials`,meta_active:`{{count}} active`,meta_problem:`{{count}} problem`,empty_title:`No credentials yet`,empty_desc:`Upload an auth file or connect a provider with OAuth to get started.`,empty_oauth_link:`Connect via OAuth`,no_results_clear:`Clear filters`,title_section:`Auth Files`,upload_button:`Upload File`,delete_all_button:`Delete All`,search_empty_title:`No matching files`,search_empty_desc:`Try changing the filters or clearing the search box.`,file_size:`Size`,file_modified:`Modified`,health_status_label:`Health`,health_status_healthy:`Healthy`,health_status_warning:`Warning`,health_status_disabled:`Disabled`,download_button:`Download`,manual_refresh_button:`Refresh OAuth credential`,manual_refresh_requested:`Credential refresh requested for "{{name}}"`,manual_refresh_failed:`Failed to request credential refresh for "{{name}}": {{message}}`,delete_button:`Delete`,delete_confirm:`Are you sure you want to delete file`,delete_all_confirm:`Are you sure you want to delete all auth files? This operation cannot be undone!`,delete_filtered_confirm:`Are you sure you want to delete all {{type}} auth files? This operation cannot be undone!`,delete_problem_button:`Delete Problem Files`,delete_problem_button_with_type:`Delete Problematic {{type}} Files`,delete_problem_confirm:`Are you sure you want to delete all problematic auth files? This operation cannot be undone!`,delete_problem_filtered_confirm:`Are you sure you want to delete all problematic {{type}} auth files? This operation cannot be undone!`,delete_filtered_result_button:`Delete filtered results`,delete_filtered_result_confirm:`Are you sure you want to delete auth files in the current filtered results? This operation cannot be undone!`,upload_error_json:`Only JSON files are allowed`,upload_error_size:`File size cannot exceed {{maxSize}}`,upload_success:`File uploaded successfully`,download_success:`File downloaded successfully`,delete_success:`File deleted successfully`,delete_all_success:`Successfully deleted`,delete_filtered_success:`Deleted {{count}} {{type}} auth files successfully`,delete_filtered_partial:`{{type}} auth files deletion finished: {{success}} succeeded, {{failed}} failed`,delete_filtered_none:`No deletable auth files under the current filter ({{type}})`,delete_problem_success:`Deleted {{count}} problematic auth files successfully`,delete_problem_filtered_success:`Deleted {{count}} problematic {{type}} auth files successfully`,delete_problem_partial:`Problematic auth files deletion finished: {{success}} succeeded, {{failed}} failed`,delete_problem_filtered_partial:`Problematic {{type}} auth files deletion finished: {{success}} succeeded, {{failed}} failed`,delete_problem_none:`No deletable problematic auth files under the current filter`,delete_problem_filtered_none:`No deletable problematic {{type}} auth files under the current filter`,delete_filtered_result_success:`Deleted {{count}} auth files from the filtered results successfully`,delete_filtered_result_partial:`Filtered result deletion finished: {{success}} succeeded, {{failed}} failed`,delete_filtered_result_none:`No deletable auth files in the current filtered results`,pagination_prev:`Previous`,pagination_next:`Next`,pagination_info:`Page {{current}} / {{total}} · {{count}} files`,search_label:`Search configs`,search_placeholder:`Filter by name, account, type, or provider. Use * as a wildcard`,problem_filter_label:`Status Filter`,problem_filter_all:`All`,problem_filter_enabled:`Enabled`,problem_filter_problem:`Problem`,problem_filter_disabled:`Disabled`,display_options_label:`Display options`,compact_mode_label:`Compact mode`,sort_label:`Sort`,sort_default:`Default`,sort_az:`A-Z Name`,sort_priority:`Priority`,priority_display:`Priority`,weight_display:`WRR weight`,page_size_label:`Per page`,filter_all:`All`,filter_qwen:`Qwen`,filter_gemini:`Gemini`,filter_kimi:`Kimi`,filter_aistudio:`AIStudio`,filter_claude:`Claude`,filter_codex:`Codex`,filter_antigravity:`Antigravity`,filter_xai:`xAI`,filter_iflow:`iFlow`,filter_vertex:`Vertex`,filter_empty:`Empty`,filter_unknown:`Other`,type_virtual:`Virtual auth file`,models_button:`Models`,models_title:`Supported models`,models_loading:`Loading model list...`,models_empty:`No available models for this credential`,models_empty_desc:`This credential may not be loaded by the server yet, or no models are bound to it.`,models_unsupported:`This feature is not supported in the current version`,models_unsupported_desc:`Please update CLI Proxy API to the latest version and try again`,models_excluded_badge:`Disabled`,models_excluded_hint:`This OAuth model is disabled`,status_toggle_label:`Enabled`,status_enabled_success:`"{{name}}" enabled`,status_disabled_success:`"{{name}}" disabled`,batch_status_success:`{{count}} files updated successfully`,batch_status_partial:`{{success}} updated, {{failed}} failed`,batch_delete_title:`Delete Selected Files`,batch_delete_confirm:`Are you sure you want to delete {{count}} files?`,batch_selected:`{{count}} selected`,batch_toolbar_label:`Batch actions`,batch_select_all:`Select All`,batch_select_page:`Select page`,batch_select_filtered:`Select filtered`,batch_invert_page:`Invert page`,batch_deselect:`Deselect`,batch_download:`Download selected`,batch_download_success:`Started downloading {{count}} files`,batch_download_partial:`Download finished: {{success}} succeeded, {{failed}} failed`,batch_enable:`Enable`,batch_disable:`Disable`,prefix_proxy_button:`Auth File Details / Edit`,prefix_proxy_loading:`Loading auth file...`,prefix_proxy_info_label:`Auth file info (info)`,prefix_proxy_source_label:`Auth file JSON (preview)`,prefix_proxy_invalid_content_label:`Downloaded content (truncated)`,prefix_label:`Prefix (prefix)`,proxy_url_label:`Proxy URL (proxy_url)`,proxy_url_placeholder:`socks5://username:password@proxy_ip:port/`,priority_label:`Priority (priority)`,priority_placeholder:`e.g. 10 or -1`,priority_hint:`Integers only. Invalid values are ignored. Larger value means higher priority.`,weight_label:`Scheduling weight (weight)`,weight_hint:`Defaults to 1. Values at or below 0 exclude this credential from weighted scheduling; maximum 1,000,000.`,weight_invalid_integer:`Weight must be an integer.`,weight_invalid_max:`Weight cannot exceed 1,000,000.`,disable_cooling_label:`Disable exponential cooldown (disable_cooling)`,disable_cooling_hint:`Skip failure cooldown and exponential backoff only for this credential; other credentials are unaffected.`,websockets_label:`WebSockets (websockets)`,websockets_hint:`Enable Responses API websocket transport for this credential.`,using_api_label:`Use official API (using_api)`,using_api_hint:`Use the official xAI API when enabled; use Grok CLI chat-proxy when disabled.`,note_label:`Note`,note_placeholder:`Enter a note, e.g.: John's account`,note_hint:`Optional. Used to describe the purpose or owner of this credential; leave empty to omit.`,excluded_models_label:`Excluded models (excluded_models)`,headers_label:`Custom Headers (headers)`,headers_placeholder:`{
"Header-Name": "value"
}`,headers_hint:`Enter custom HTTP headers as a JSON object, e.g., {"X-My-Header": "value"}`,headers_invalid_json:`Custom headers must be valid JSON.`,headers_invalid_object:`Custom headers must be a JSON object.`,headers_invalid_value:`Each custom header value must be a string.`,prefix_proxy_invalid_json:`This auth file is not a JSON object, so fields cannot be edited.`,prefix_proxy_html_challenge:`Downloaded content is an HTML challenge page, not an auth JSON object. Re-authenticate or replace this auth file before editing fields.`,prefix_proxy_saved_success:`Updated auth file "{{name}}" successfully`,quota_refresh_single:`Refresh quota`,quota_refresh_hint:`Refresh quota only for this credential`,quota_refresh_success:`Quota refreshed for "{{name}}"`,quota_refresh_failed:`Failed to refresh quota for "{{name}}": {{message}}`},antigravity_subscription:{plan_unknown:`Unknown`,plan_free:`Free`,plan_pro:`Pro`,plan_ultra:`Ultra`,plan_ultra_lite:`Ultra Lite`},antigravity_quota:{title:`Antigravity Quota`,empty_title:`No Antigravity Auth Files`,empty_desc:`Upload an Antigravity credential to view remaining quota.`,idle:`Click here to refresh quota`,loading:`Loading quota...`,load_failed:`Failed to load quota: {{message}}`,missing_auth_index:`Auth file missing auth_index`,missing_project_id:`Antigravity credential missing project_id. Re-login or refresh the credential to discover the project.`,empty_models:`No quota data available`,plan_label:`Plan`,group_gemini_models:`Gemini models`,group_claude_gpt_models:`Claude and GPT models`,group_models_description:`Models in this group: {{models}}`,weekly_limit:`Weekly limit`,daily_limit:`Daily limit`,five_hour_limit:`5-hour limit`,monthly_limit:`Monthly limit`,quota_available:`Quota available`,remaining_percent:`{{percent}}% remaining`,refreshes_in:`Refreshes in {{duration}}`,refresh_available:`Refresh available`,duration_day_hour:`{{days}}d {{hours}}h`,duration_hour_minute:`{{hours}}h {{minutes}}m`,duration_minute:`{{minutes}}m`,duration_less_than_minute:`<1m`,refresh_button:`Refresh Quota`,fetch_all:`Fetch All`},claude_quota:{title:`Claude Quota`,empty_title:`No Claude OAuth Files`,empty_desc:`Log in with Claude OAuth to view quota.`,idle:`Click here to refresh quota`,loading:`Loading quota...`,load_failed:`Failed to load quota: {{message}}`,missing_auth_index:`Auth file missing auth_index`,empty_windows:`No quota data available`,refresh_button:`Refresh Quota`,fetch_all:`Fetch All`,five_hour:`5-hour limit`,seven_day:`7-day limit`,seven_day_oauth_apps:`7-day OAuth apps`,seven_day_opus:`7-day Opus`,seven_day_sonnet:`7-day Sonnet`,seven_day_cowork:`7-day Cowork`,iguana_necktie:`Iguana Necktie`,seven_day_fable:`7-day Fable 5`,extra_usage_label:`Extra Usage`,plan_label:`Plan`,plan_unknown:`Unknown`,plan_free:`Free`,plan_pro:`Pro`,plan_max:`Max`,plan_max5:`Max 5x`,plan_max20:`Max 20x`,plan_team:`Team`},codex_quota:{title:`Codex Quota`,empty_title:`No Codex Auth Files`,empty_desc:`Upload a Codex credential to view quota.`,idle:`Click here to refresh quota`,loading:`Loading quota...`,load_failed:`Failed to load quota: {{message}}`,missing_auth_index:`Auth file missing auth_index`,missing_account_id:`Codex credential missing ChatGPT account ID`,empty_windows:`No quota data available`,no_access:`This credential has no Codex access (plan: free).`,refresh_button:`Refresh Quota`,fetch_all:`Fetch All`,primary_window:`5-hour limit`,secondary_window:`Weekly limit`,team_secondary_window:`Monthly limit`,code_review_primary_window:`Code review 5-hour limit`,code_review_secondary_window:`Code review weekly limit`,code_review_team_secondary_window:`Code review monthly limit`,additional_primary_window:`{{name}} 5-hour limit`,additional_secondary_window:`{{name}} weekly limit`,additional_team_secondary_window:`{{name}} monthly limit`,plan_label:`Plan`,expires_label:`Renewal time`,reset_credits_label:`Manual resets`,reset_credits_expiry_label:`Manual reset expiry (GMT+8)`,reset_credit_number:`Reset {{index}}`,reset_credits_expiry_failed:`Failed to load manual reset expiry: {{message}}`,reset_credits_invalid_payload:`Invalid manual reset expiry response`,reset_button:`Reset quota`,reset_confirm_title:`Reset Codex quota`,reset_confirm_message:`This will consume 1 manual reset to reset the Codex quota for "{{name}}". Continue?`,reset_confirm_button:`Reset quota`,reset_success:`Reset Codex quota for "{{name}}"`,reset_failed:`Failed to reset Codex quota for "{{name}}": {{message}}`,plan_plus:`Plus`,plan_team:`Team`,plan_free:`Free`,plan_pro:`Pro 20x`,plan_prolite:`Pro 5x`},kimi_quota:{title:`Kimi Quota`,empty_title:`No Kimi Auth Files`,empty_desc:`Upload a Kimi credential to view remaining quota.`,idle:`Click here to refresh quota`,loading:`Loading quota...`,load_failed:`Failed to load quota: {{message}}`,missing_auth_index:`Auth file missing auth_index`,empty_data:`No quota data available`,refresh_button:`Refresh Quota`,fetch_all:`Fetch All`,weekly_limit:`Weekly limit`,limit_window:`{{duration}} limit`,limit_index:`Limit #{{index}}`,reset_hint:`resets in {{hint}}`},xai_quota:{title:`Grok Quota`,empty_title:`No xAI/Grok Auth Files`,empty_desc:`Log in with xAI OAuth to view Grok quota.`,idle:`Click here to refresh quota`,loading:`Loading quota...`,load_failed:`Failed to load quota: {{message}}`,missing_auth_index:`Auth file missing auth_index`,empty_data:`No quota data available`,refresh_button:`Refresh Quota`,fetch_all:`Fetch All`,weekly_limit:`Weekly limit`,monthly_credits:`Monthly credits`,used_percent:`Used {{percent}}`,reset_at:`Resets {{time}}`,product_usage:`{{product}} usage`,plan_label:`Plan`,plan_supergrok:`SuperGrok`,plan_supergrok_heavy:`SuperGrok Heavy`,plan_paid:`Paid`,paid_health:`Paid API chat is available. xAI does not expose quota totals for this OAuth credential.`,pay_as_you_go_label:`Pay as you go`,pay_as_you_go_enabled:`Enabled, cap {{cap}}`,pay_as_you_go_disabled:`Disabled`},vertex_import:{title:`Vertex JSON Login`,description:`Upload a Google service account JSON to store it as auth-dir/vertex-<project>.json using the same rules as the CLI vertex-import helper.`,location_label:`Region (optional)`,location_placeholder:`us-central1`,location_hint:`Leave empty to use the default region us-central1.`,file_label:`Service account key JSON`,file_hint:`Only Google Cloud service account key JSON files are accepted.`,file_placeholder:`No file selected`,choose_file:`Choose File`,import_button:`Import Vertex Credential`,file_required:`Select a .json credential file first`,success:`Vertex credential imported successfully`,result_title:`Credential saved`,result_project:`Project ID`,result_email:`Service account`,result_location:`Region`,result_file:`Persisted file`},oauth_excluded:{title:`OAuth Model Disablement`,description:`Per-provider model disablement is shown as cards; click a card to edit or delete. Wildcards * are supported and the scope follows the auth file filter.`,add:`Add Disablement`,add_title:`Add provider model disablement`,edit_title:`Edit model disablement for {{provider}}`,provider_label:`Provider`,provider_placeholder:`e.g. codex / openai`,provider_hint:`Defaults to the current filter; pick an existing provider or type a new name.`,models_label:`Models to disable`,save:`Save/Update`,save_success:`Model disablement updated`,save_failed:`Failed to update model disablement`,delete:`Delete Provider`,delete_confirm:`Delete model disablement for {{provider}}?`,delete_success:`Provider model disablement removed`,delete_failed:`Failed to delete model disablement`,no_models:`No disabled models configured`,model_count:`{{count}} models disabled`,list_empty_all:`No provider model disablement yet; click “Add Disablement” to create one.`,provider_required:`Please enter a provider first`,upgrade_required:`Current CPA version does not support OAuth model disablement. Please upgrade.`,upgrade_required_title:`Please upgrade CLI Proxy API`,upgrade_required_desc:`The current server version does not support fetching OAuth model disablement. Please upgrade to the latest CPA (CLI Proxy API) version and try again.`},excluded_models:{trigger_summary:`{{excluded}} excluded · {{available}} available`,trigger_summary_rules:`{{n}} rules`,trigger_empty:`No models excluded`,meter_aria:`{{excluded}} of {{total}} models excluded`,search_placeholder:`Search models…`,search_aria:`Search models to exclude`,list_aria:`Models`,no_results:`No model matches “{{query}}”`,catalog_loading:`Loading models…`,catalog_unavailable:`Model list unavailable — rules still apply.`,catalog_error:`Could not load models.`,catalog_retry:`Retry`,catalog_empty:`No models to list.`,footer_count:`{{excluded}} / {{total}} excluded`,select_all:`Exclude all`,clear:`Clear`,clear_aria:`Clear selected models (wildcard rules are kept)`,badge_wildcard:`By rule`,badge_unknown:`Not in list`,wildcard_reason:`Matched by rule {{rule}}`,wildcard_locked:`Excluded by rule {{rule}} — edit the rule below`,also_wildcard:`Also matched by {{rule}}`,chips_more:`+{{n}} more`,chip_remove:`Stop excluding {{rule}}`,rules_label:`Wildcard rules`,rules_placeholder:`One rule per line, e.g. gpt-5-*`,rules_hint:`* matches any characters. Matching is case-insensitive.`,rules_match_count:`matches {{n}} models`,rules_match_none:`matches no model in the list`,rules_reserved:`“*” disables the whole provider — use the Disabled switch instead`},oauth_model_alias:{title:`OAuth Model Aliases`,add:`Add Alias`,add_title:`Add provider model aliases`,provider_label:`Provider`,provider_placeholder:`e.g. codex / vertex`,provider_hint:`Defaults to the current filter; pick an existing provider or type a new name.`,model_source_loading:`Loading models...`,model_source_unsupported:`The current CPA version does not support fetching model lists (manual input still works).`,model_source_loaded:`{{count}} models loaded. Use the dropdown in 'Source model name', or type custom values. Saving an empty list removes that provider. Enable 'Keep original' to keep the original name while adding the alias.`,alias_label:`Model aliases`,alias_name_placeholder:`Source model name`,alias_placeholder:`Alias (required)`,duplicate_alias:`Each alias must be unique for this provider.`,alias_fork_label:`Keep original`,add_alias:`Add alias`,save:`Save/Update`,save_success:`Model aliases updated`,save_failed:`Failed to update model aliases`,delete:`Delete Provider`,delete_confirm:`Delete model aliases for {{provider}}?`,delete_link_title:`Unlink mapping`,delete_link_confirm:`Unlink mapping from <code>{{sourceModel}}</code> ({{provider}}) to alias <code>{{alias}}</code>?`,delete_alias_title:`Delete Alias`,delete_alias_confirm:`Delete alias <code>{{alias}}</code> and unmap all associated models?`,delete_success:`Model aliases removed`,delete_failed:`Failed to delete model aliases`,no_models:`No model aliases`,model_count:`{{count}} aliases`,list_empty_all:`No model aliases yet—use “Add Alias” to create one.`,chart_title:`All mappings overview`,diagram_providers:`Providers`,diagram_source_models:`Source Models`,diagram_aliases:`Aliases`,diagram_expand:`Expand`,diagram_collapse:`Collapse`,diagram_add_alias:`Add Alias`,diagram_rename:`Rename`,diagram_rename_alias_title:`Rename alias`,diagram_rename_alias_label:`New alias name`,diagram_rename_placeholder:`Enter alias name...`,diagram_delete_link:`Unlink from {{provider}} / {{name}}`,diagram_delete_alias:`Delete alias`,diagram_please_enter_alias:`Please enter an alias name.`,diagram_alias_exists:`This alias already exists.`,diagram_add_alias_title:`Add alias`,diagram_add_alias_label:`Alias name`,diagram_add_placeholder:`Enter new alias name...`,diagram_rename_btn:`Rename`,diagram_add_btn:`Add`,diagram_settings:`Settings`,diagram_settings_title:`Alias settings — {{alias}}`,diagram_settings_source_title:`Source model settings`,diagram_settings_empty:`No mappings for this alias yet.`,diagram_tap_hint:`On touch devices: tap a source model, then tap an alias to link.`,view_mode_diagram:`Diagram`,view_mode_list:`List`,provider_required:`Please enter a provider first`,upgrade_required:`This feature requires a newer CLI Proxy API (CPA) version. Please upgrade.`,upgrade_required_title:`Please upgrade CLI Proxy API`,upgrade_required_desc:`The current server does not support the OAuth model aliases API. Please upgrade to the latest CLI Proxy API (CPA) version.`},auth_login:{recommended_provider_section:`Recommended provider`,recommended_provider_badge:`Recommended provider`,other_oauth_providers:`Other OAuth providers`,other_login_methods:`Other login methods`,codex_oauth_title:`Codex OAuth`,codex_oauth_button:`Start Codex Login`,codex_oauth_hint:`Login to Codex service through OAuth flow, automatically obtain and save authentication files.`,codex_oauth_url_label:`Authorization URL:`,codex_open_link:`Open Link`,codex_copy_link:`Copy Link`,codex_oauth_status_waiting:`Waiting for authentication...`,codex_oauth_status_success:`Authentication successful!`,codex_oauth_status_error:`Authentication failed:`,codex_oauth_start_error:`Failed to start Codex OAuth:`,codex_oauth_polling_error:`Failed to check authentication status:`,anthropic_oauth_title:`Anthropic OAuth`,anthropic_oauth_button:`Start Anthropic Login`,anthropic_oauth_hint:`Login to Anthropic (Claude) service through OAuth flow, automatically obtain and save authentication files.`,anthropic_oauth_url_label:`Authorization URL:`,anthropic_open_link:`Open Link`,anthropic_copy_link:`Copy Link`,anthropic_oauth_status_waiting:`Waiting for authentication...`,anthropic_oauth_status_success:`Authentication successful!`,anthropic_oauth_status_error:`Authentication failed:`,anthropic_oauth_start_error:`Failed to start Anthropic OAuth:`,anthropic_oauth_polling_error:`Failed to check authentication status:`,antigravity_oauth_title:`Antigravity OAuth`,antigravity_oauth_button:`Start Antigravity Login`,antigravity_oauth_hint:`Login to Antigravity service (Google account) through OAuth flow, automatically obtain and save authentication files.`,antigravity_oauth_url_label:`Authorization URL:`,antigravity_open_link:`Open Link`,antigravity_copy_link:`Copy Link`,antigravity_oauth_status_waiting:`Waiting for authentication...`,antigravity_oauth_status_success:`Authentication successful!`,antigravity_oauth_status_error:`Authentication failed:`,antigravity_oauth_start_error:`Failed to start Antigravity OAuth:`,antigravity_oauth_polling_error:`Failed to check authentication status:`,kimi_oauth_title:`Kimi OAuth`,kimi_oauth_button:`Log in with Kimi`,kimi_sign_up_button:`Sign Up Now`,kimi_oauth_hint:`Quickly log in to Kimi through device authorization. Authentication files are obtained and saved automatically.`,kimi_oauth_url_label:`Authorization URL:`,kimi_open_link:`Open Link`,kimi_copy_link:`Copy Link`,kimi_oauth_status_waiting:`Waiting for authentication...`,kimi_oauth_status_success:`Authentication successful!`,kimi_oauth_status_error:`Authentication failed:`,kimi_oauth_start_error:`Failed to start Kimi OAuth:`,kimi_oauth_polling_error:`Failed to check authentication status:`,xai_oauth_title:`xAI OAuth`,xai_oauth_button:`Start xAI Login`,xai_oauth_hint:`Login to xAI Grok through OAuth flow, automatically obtain and save authentication files.`,xai_oauth_url_label:`Authorization URL:`,xai_open_link:`Open Link`,xai_copy_link:`Copy Link`,xai_oauth_status_waiting:`Waiting for authentication...`,xai_oauth_status_success:`Authentication successful!`,xai_oauth_status_error:`Authentication failed:`,xai_oauth_start_error:`Failed to start xAI OAuth:`,xai_oauth_polling_error:`Failed to check authentication status:`,plugin_oauth_title:`{{name}} OAuth`,plugin_oauth_button:`Start {{name}} Login`,plugin_oauth_hint:`Log in to {{name}} through the plugin OAuth flow, automatically obtain and save authentication files.`,plugin_oauth_url_label:`Authorization URL:`,plugin_open_link:`Open Link`,plugin_copy_link:`Copy Link`,plugin_oauth_status_waiting:`Waiting for authentication...`,plugin_oauth_status_success:`Authentication successful!`,plugin_oauth_status_error:`Authentication failed:`,plugin_oauth_start_error:`Failed to start plugin OAuth:`,xai_callback_label:`Callback URL or code`,xai_callback_placeholder:`Paste the code shown by Grok, or the full callback URL`,xai_callback_hint:`Grok may only show a code on the page. Paste that code directly and the app will submit it as http://127.0.0.1:56121/callback?... automatically.`,xai_callback_required:`Please paste the code shown by Grok or the full callback URL first.`,xai_callback_state_missing:`Missing the state for this xAI login. Start xAI login again, then submit the code.`,oauth_callback_label:`Callback URL`,oauth_callback_placeholder:`http://localhost:1455/auth/callback?code=...&state=...`,oauth_callback_hint:`Remote browser mode: after the provider redirects to http://localhost:..., copy the full URL and submit it here.`,oauth_callback_button:`Submit Callback URL`,oauth_callback_required:`Please paste the full redirect URL first.`,oauth_callback_success:`Callback URL submitted. Continue waiting for authentication.`,oauth_callback_error:`Failed to submit callback URL:`,oauth_callback_upgrade_hint:`Please update CLI Proxy API or check the connection.`,oauth_callback_status_success:`Callback URL submitted, waiting for authentication...`,oauth_callback_status_error:`Callback URL submission failed:`,missing_state:`Unable to retrieve authentication state parameter`,login_another_account:`Log in another account`,view_auth_files:`View auth files`,iflow_oauth_title:`iFlow OAuth`,iflow_oauth_button:`Start iFlow Login`,iflow_oauth_hint:`Login to iFlow service through OAuth flow, automatically obtain and save authentication files.`,iflow_oauth_url_label:`Authorization URL:`,iflow_open_link:`Open Link`,iflow_copy_link:`Copy Link`,iflow_oauth_status_waiting:`Waiting for authentication...`,iflow_oauth_status_success:`Authentication successful!`,iflow_oauth_status_error:`Authentication failed:`,iflow_oauth_start_error:`Failed to start iFlow OAuth:`,iflow_oauth_polling_error:`Failed to check authentication status:`,remote_access_disabled:`This login method is not available for remote access. Please access from localhost.`},stats:{success:`Success`,failure:`Failure`},status_bar:{success_short:`✓`,failure_short:`✗`,no_requests:`No requests`},logs:{title:`Logs Viewer`,refresh_button:`Refresh Logs`,clear_button:`Clear Logs`,fullscreen_button:`Full Screen`,exit_fullscreen_button:`Exit Full Screen`,download_button:`Download Logs`,error_logs_modal_title:`Error Request Logs`,error_logs_description:`Pick an error request log file to open or download (only generated when request logging is off).`,error_logs_request_log_enabled:`Request logging is enabled, so this list will always be empty. Disable request logging and refresh to view error logs.`,error_logs_empty:`No error request log files found`,error_logs_load_error:`Failed to load error log list`,error_logs_size:`Size`,error_logs_modified:`Last modified`,error_logs_open:`Open`,error_logs_download:`Download`,error_log_view_title:`Error Request Log Details`,error_log_open_failed:`Failed to open error log`,error_log_empty_content:`This error log is empty`,error_log_copy_success:`Error log content copied`,error_log_download_success:`Error log downloaded successfully`,request_log_download_title:`Download Request Log`,request_log_download_confirm:`Download request log for ID {{id}}?`,request_log_download_success:`Request log downloaded successfully`,empty_title:`No Logs Available`,empty_desc:`When "Enable logging to file" is enabled, logs will be displayed here`,cpa_file_logging_required:`The connected runtime is CPA. Log viewing requires logging to file to be enabled first.`,cpa_file_logging_required_title:`File logging is required`,cpa_file_logging_required_desc:`CPA reads this log view from local log files. Enable logging-to-file in the config, then refresh.`,file_logging_required:`This logs endpoint requires logging to file before file logs can be read.`,file_logging_required_title:`File logging is required`,file_logging_required_desc:`This logs endpoint reads local log files. Enable logging-to-file in the config, then refresh.`,log_content:`Log Content`,loading:`Loading logs...`,load_error:`Failed to load logs`,clear_confirm:`Are you sure you want to clear all logs? This action cannot be undone!`,clear_success:`Logs cleared successfully`,download_success:`Logs downloaded successfully`,auto_refresh:`Auto Refresh`,load_more_hint:`Scroll up to load more`,hidden_lines:`Hidden: {{count}} lines`,loaded_lines:`Loaded: {{count}} lines`,filtered_lines:`Filtered: {{count}} lines`,hide_management_logs:`Hide {{prefix}} logs`,show_raw_logs:`Show Raw Logs`,show_raw_logs_hint:`Show original log text for easier multi-line copy`,search_placeholder:`Search logs by content or keyword`,filter_panel_title:`Structured Filters`,filter_panel_expand:`Expand structured filters`,filter_panel_collapse:`Collapse structured filters`,filter_panel_active_count:`{{count}} active`,filter_method:`Method`,filter_status:`Status`,filter_path:`Path`,filter_path_empty:`No path candidates`,filter_status_2xx:`2xx`,filter_status_3xx:`3xx`,filter_status_4xx:`4xx`,filter_status_5xx:`5xx`,clear_filters:`Clear Filters`,search_empty_title:`No matching logs found`,search_empty_desc:`Try a different keyword or clear the filters.`,double_click_copy_hint:`Double-click to copy raw log line`,copy_success:`Log copied to clipboard`,copy_failed:`Copy failed`},config_management:JSON.parse(`{"title":"Config Panel","reload":"Reload","reload_confirm_message":"Reloading will discard your unsaved changes. Do you want to continue?","save":"Save","status_loading":"Loading configuration...","status_loading_short":"Loading","status_loaded":"Configuration loaded","status_loaded_short":"Loaded","status_dirty":"Unsaved changes","status_dirty_short":"Unsaved","status_disconnected":"Connect to the server to load the configuration","status_disconnected_short":"Disconnected","status_load_failed":"Load failed","status_load_failed_short":"Failed","status_saving":"Saving configuration...","status_saving_short":"Saving","save_success":"Configuration saved successfully","visual_mode_unavailable":"Visual editor unavailable until YAML syntax is fixed","visual_mode_unavailable_short":"YAML issue","validation_blocked_short":"Fix errors","visual_mode_unavailable_detail":"Visual editor is unavailable because the configuration contains invalid YAML: {{message}}","visual_mode_save_blocked":"Cannot save from visual mode until the YAML syntax is fixed","visual_mode_latest_yaml_invalid":"The latest server configuration contains invalid YAML. Review it in source mode before saving visual changes: {{message}}","editor_placeholder":"key: value","search_placeholder":"Search config...","search_button":"Search","search_no_results":"No results","search_prev":"Previous","search_next":"Next","diff":{"title":"Review Changes","confirm":"Confirm Save","no_changes":"No changes detected"},"tabs":{"visual":"Visual Editor","source":"Source File Editor"},"visual":{"notice":"Visual mode covers common fields. Review or edit unsupported config.yaml entries in source mode.","quick_jump":"Quick Jump","mode":{"simple":"Simple","full":"Full","label":"Editor mode","more_settings":"Switch to full mode to see all {{total}} sections","validation_banner":"Some advanced settings have validation errors and are blocking save. Switch to full mode to fix them.","switch_to_full":"Switch to full mode"},"search":{"placeholder":"Search settings (label or YAML key)","no_results":"No matching settings"},"sections":{"connectivity":{"title":"Access & Authentication","description":"Server address, port, auth directory, and API keys"},"logging":{"title":"Logging & Diagnostics","description":"Debug, log output, and usage statistics"},"advanced":{"title":"Advanced & Experimental","description":"Header spoofing, signature cache, plugin sources, and other rarely changed settings","plugins_title":"Plugins","signature_title":"Antigravity Signature"},"server":{"title":"Server Configuration","description":"Basic server settings","host":"Host Address","port":"Port"},"tls":{"title":"TLS/SSL Configuration","description":"HTTPS secure connection settings","enable":"Enable TLS","enable_desc":"Enable HTTPS secure connection","cert":"Certificate File Path","key":"Private Key File Path"},"remote":{"title":"Remote Management","description":"Remote access and control panel settings","allow_remote":"Allow Remote Access","allow_remote_desc":"Allow management access from other hosts","disable_panel":"Disable Control Panel","disable_panel_desc":"Disable the built-in web control panel","disable_auto_update_panel":"Disable Panel Auto Updates","disable_auto_update_panel_desc":"Download the panel when first missing, but never auto-update it from GitHub","secret_key":"Management Key","secret_key_placeholder":"Set management key","panel_repo":"Panel Repository"},"auth":{"title":"Authentication Configuration","description":"API keys and authentication directory settings","auth_dir":"Auth Directory (auth-dir)","auth_dir_hint":"Directory path for authentication files (supports ~)"},"system":{"title":"System Configuration","description":"Debug, logging, statistics, and performance settings","debug":"Debug Mode","debug_desc":"Enable verbose debug logging","commercial_mode":"Commercial Mode","commercial_mode_desc":"Disable high-overhead middleware to support high concurrency","logging_to_file":"Log to File","logging_to_file_desc":"Save logs to files","plugins_enabled":"Enable Plugin System","plugins_enabled_desc":"Enable standard dynamic-library plugin loading; individual plugin instances are still managed on the Plugins page","plugin_store_sources":"Third-party Plugin Sources","plugin_store_sources_desc":"Append plugin-store registry sources; the built-in official source is always kept","plugin_store_sources_label":"Plugin source registry URL (plugins.store-sources)","plugin_store_sources_placeholder":"https://example.com/cliproxy-plugins/registry.json","plugin_store_sources_hint":"One registry.json URL per row. Empty rows are filtered on save","plugin_store_auth":"Plugin Store Auth Rules","plugin_store_auth_desc":"Configure auth headers for private registries, GitHub Release metadata, or artifact downloads","plugin_store_auth_hint":"Enter environment variable names only, not actual tokens. The backend reads the values from its runtime environment.","store_auth_empty":"No auth rules are configured. Public plugin sources do not need one.","store_auth_rule":"Auth rule","store_auth_add":"Add auth rule","store_auth_match":"Matching URL prefix","store_auth_type":"Auth type","store_auth_apply_to":"Apply to","store_auth_apply_to_hint":"When nothing is selected, the rule applies to all request types.","store_auth_apply_registry":"Registry","store_auth_apply_metadata":"Metadata","store_auth_apply_artifact":"Artifact","store_auth_type_none":"None","store_auth_type_bearer":"Bearer","store_auth_type_basic":"Basic","store_auth_type_header":"Custom header","store_auth_type_github_token":"GitHub token","store_auth_token_env":"Token env var","store_auth_username_env":"Username env var","store_auth_password_env":"Password env var","store_auth_header_name":"Header name","store_auth_header_value_env":"Header value env var","store_auth_allow_insecure":"Allow insecure HTTP URLs","logs_max_size":"Log File Size Limit (MB)","error_logs_max_files":"Retained Error Log Files","usage_statistics_enabled":"Enable In-memory Usage Statistics","usage_statistics_enabled_desc":"Aggregate request usage statistics in memory","redis_usage_retention":"Redis Usage Queue Retention (seconds)","redis_usage_retention_hint":"In-memory retention for RESP LPOP/RPOP usage output, max 3600 seconds","antigravity_signature_cache":"Enable Antigravity Signature Cache","antigravity_signature_cache_desc":"Prefer and validate cached thinking-block signatures","antigravity_signature_strict":"Strict Bypass Signature Validation","antigravity_signature_strict_desc":"Only applies when the signature cache is disabled; validates the full Claude protobuf tree"},"headers":{"title":"Header Defaults","description":"Default headers for Claude and Codex OAuth requests when the client omits them","claude_title":"Claude Header Defaults","codex_title":"Codex Header Defaults","user_agent":"User-Agent","package_version":"Package Version","runtime_version":"Runtime Version","os":"OS","arch":"Arch","timeout":"Timeout","stabilize_device":"Stabilize Device Profile","stabilize_device_desc":"Pin OS/Arch and stabilize the software fingerprint per credential/API key","beta_features":"Beta Features"},"network":{"title":"Network Configuration","description":"Proxy, retry, and routing settings","proxy_url":"Proxy URL","request_retry":"Request Retry Count","max_retry_credentials":"Max Retry Credentials","max_retry_credentials_hint":"Leave empty to keep it unset. Set to 0 to preserve legacy behavior and try all available credentials.","max_retry_interval":"Max Retry Interval (seconds)","auth_auto_refresh_workers":"Auth Auto-refresh Workers","auth_auto_refresh_workers_hint":"When greater than 0, overrides the default worker count (16)","disable_image_generation":"Disable Image Generation","disable_image_generation_hint":"false enables it; true disables all image generation; chat disables non-image endpoint injection; passthrough preserves the client tool list without injecting one","disable_image_generation_false":"false (enabled)","disable_image_generation_true":"true (disabled everywhere)","disable_image_generation_chat":"chat (disable chat injection only)","disable_image_generation_passthrough":"passthrough (preserve the client tool list)","gpt_image_2_base_model":"GPT Image 2 Base Model","gpt_image_2_base_model_hint":"Mainline model used when proxying gpt-image-2 image requests; backend uses its default when empty or invalid","routing_strategy":"Routing Strategy","routing_strategy_hint":"Select credential selection strategy","strategy_round_robin":"Round Robin","strategy_weighted_round_robin":"Weighted Round Robin","strategy_fill_first":"Fill First","session_affinity_ttl":"Session Affinity TTL","force_model_prefix":"Force Model Prefix","force_model_prefix_desc":"Unprefixed model requests only use credentials without prefix","passthrough_headers":"Pass Through Upstream Headers","passthrough_headers_desc":"Forward filtered upstream response headers to downstream clients","disable_cooling":"Disable Cooling","disable_cooling_desc":"Globally disable auth/model cooldown windows after failures","session_affinity":"Session Affinity Routing","ws_auth":"WebSocket Authentication","ws_auth_desc":"Enable WebSocket authentication (/v1/ws)"},"quota":{"title":"Quota Fallback","description":"Fallback strategy when quota is exceeded","switch_project":"Switch Project","switch_project_desc":"Automatically switch to another project when quota is exceeded","switch_preview_model":"Switch to Preview Model","switch_preview_model_desc":"Switch to preview model version when quota is exceeded","antigravity_credits":"Use Antigravity Credits"},"streaming":{"title":"Streaming Configuration","description":"Keepalive and bootstrap retry settings","keepalive_seconds":"Keepalive Seconds","keepalive_hint":"Set to 0 or leave empty to disable keepalive","bootstrap_retries":"Bootstrap Retries","bootstrap_hint":"Number of retries during stream startup (before first byte)","nonstream_keepalive":"Non-stream Keepalive Interval (seconds)","nonstream_keepalive_hint":"Send blank lines every N seconds for non-streaming responses to prevent idle timeout, set to 0 or leave empty to disable","disabled":"Disabled"},"payload":{"title":"Payload Configuration","description":"Default values, raw JSON rules, override rules, and filter rules","default_rules":"Default Rules","default_rules_desc":"Use these default values when parameters are not specified in the request","default_raw_rules":"Default Raw Rules","default_raw_rules_desc":"When parameters are missing, write these values as raw JSON fragments such as true, 123, \\"high\\", or {\\"type\\":\\"object\\"}","override_rules":"Override Rules","override_rules_desc":"Force override parameter values in the request","override_raw_rules":"Override Raw Rules","override_raw_rules_desc":"Always overwrite parameter values as raw JSON fragments, useful for response_format, schemas, and other complex fields","filter_rules":"Filter Rules","filter_rules_desc":"Pre-filter upstream request body via JSON Path, automatically remove non-compliant/redundant parameters (Request Sanitization)"}},"api_keys":{"label":"API Keys List (api-keys)","add":"Add API Key","generate":"Generate","empty":"No API keys","hint":"Each entry represents an API key (consistent with 'API Key Management' page style)","edit_title":"Edit API Key","add_title":"Add API Key","input_label":"API Key","input_placeholder":"Paste your API key","input_hint":"This only modifies the local config file content, it will not sync to the API Key Management interface","error_empty":"Please enter an API key","error_invalid":"API key contains invalid characters"},"payload_rules":{"rule":"Rule","models":"Applicable Models","model_name":"Model Name","provider_type":"Provider Type","add_model":"Add Model","params":"Parameter Settings","remove_params":"Remove Parameters","json_path":"JSON Path (e.g., temperature)","json_path_filter":"JSON Path (gjson/sjson), e.g., generationConfig.thinkingConfig.thinkingBudget","param_type":"Parameter Type","param_value":"Parameter Value","add_param":"Add Parameter","no_rules":"No rules","add_rule":"Add Rule","provider_default":"Default","provider_openai":"OpenAI","provider_openai_response":"OpenAI Response","provider_responses":"Responses","provider_gemini":"Gemini","provider_claude":"Claude","provider_codex":"Codex","provider_antigravity":"Antigravity","advanced":"Advanced","hide_advanced":"Hide Advanced","from_protocol":"Source Protocol (from-protocol)","headers":"Request Header Matches","header_name":"Header Name","header_value":"Header Value","add_header":"Add Header","match":"Required Matches (match)","notMatch":"Forbidden Matches (not-match)","exist":"Required Paths (exist)","notExist":"Forbidden Paths (not-exist)","condition_path":"Match Path","condition_value":"Match Value","add_condition":"Add Condition","value_type_string":"String","value_type_number":"Number","value_type_boolean":"Boolean","value_type_json":"JSON","value_string":"String value","value_number":"Number value (e.g., 0.7)","value_boolean":"true or false","value_json":"JSON value","value_raw_json":"Raw JSON fragment, e.g. true, 123, \\"high\\", or {\\"type\\":\\"object\\"}","value_default":"Value","boolean_true":"true","boolean_false":"false"},"validation":{"validation_blocked":"Fix validation errors before saving","port_range":"Enter a valid port between 1 and 65535","non_negative_integer":"Enter a non-negative whole number","integer_range_1_3600":"Enter a whole number between 1 and 3600","payload_invalid_number":"Enter a valid number","payload_invalid_boolean":"Choose true or false","payload_invalid_json":"Enter valid JSON"},"common":{"edit":"Edit","delete":"Delete","cancel":"Cancel","update":"Update","add":"Add"}}}`),quota_management:{title:`Quota Management`,description:`Monitor OAuth quota status for Antigravity, Codex, Claude, Kimi, and xAI credentials.`,refresh_all_credentials:`Refresh all credentials`,meta_credentials:`{{count}} credentials`,meta_loaded:`{{count}} loaded`,meta_attention:`{{count}} need attention`,empty_title:`No quota-capable credentials`,empty_desc:`Connect an Antigravity, Claude, Codex, xAI, or Kimi credential to track its quota here.`,windows_title:`Quota windows`,windows_span_weekly:`two weeks`,windows_span_session:`three days`,windows_current:`current`,windows_today:`Today`,windows_prev:`Previous`,windows_next:`Next`,windows_mode_weekly:`Weekly`,windows_mode_session:`5-hour`,windows_credential:`Credential`,windows_idle:`no window counting down`,windows_empty_session:`No credentials on this page report a 5-hour quota window.`,windows_legend_current:`current window`,windows_legend_upcoming:`upcoming`,windows_legend_elapsed:`elapsed`,windows_note_weekly:`Each bar is one full quota window, drawn from when it opened to when it resets. Lanes ending together compete for the same days.`,windows_note_session:`Each bar is one 5-hour window. Only credentials with a window counting down can be projected; the rest stay empty rather than invented.`,weekday_sun:`Sun`,weekday_mon:`Mon`,weekday_tue:`Tue`,weekday_wed:`Wed`,weekday_thu:`Thu`,weekday_fri:`Fri`,weekday_sat:`Sat`},plugin_management:{title:`Plugin Management`,description:`Review discovered and registered plugins, then manage instance toggles, config fields, and resource links.`,refresh:`Refresh`,load_failed:`Failed to load plugins`,config_load_failed:`Failed to read plugin config`,config_not_found:`Unable to read plugin config because the backend could not find this plugin.`,unsupported_backend:`The current backend does not expose the plugin management API. Use a newer backend build that includes plugin management endpoints, then restart the service.`,global_status:`Global status`,global_enabled:`Enabled`,global_disabled:`Disabled`,global_disabled_hint:`plugins.enabled is false, so enabled plugin instances will not become effective.`,plugins_dir:`Plugin directory`,discovered:`Discovered`,effective:`Effective`,search_placeholder:`Search plugin ID, name, author, or resource...`,search_label:`Search plugins`,no_plugins:`No plugins`,no_plugins_desc:`No plugins were found in the plugin directory or runtime registry.`,configured:`Configured`,not_configured:`Not configured`,registered:`Registered`,not_registered:`Not registered`,oauth:`OAuth`,status_effective:`Effective`,status_inactive:`Inactive`,edit_config:`Edit config`,open_repository:`Open repository`,config_title:`Configure {{name}}`,base_settings:`Base settings`,enabled:`Enabled`,enabled_hint:`Controls the enabled field for this plugin instance under plugins.configs.`,priority:`Priority`,config_fields:`Config fields`,no_config_fields:`This plugin does not declare visual config fields.`,select_placeholder:`Select`,array_item_placeholder:`Enter array item`,add_array_item:`Add array item`,remove_array_item:`Remove array item`,delete_plugin:`Delete`,delete_confirm_title:`Delete plugin`,delete_confirm_message:`Delete {{name}} ({{id}})? This removes the local plugin file and saved config.`,delete_success:`Plugin deleted`,delete_failed:`Failed to delete plugin`,delete_restart_required:`The loaded plugin cannot be removed until the backend restarts.`,toggle_success:`Plugin status updated`,toggle_failed:`Failed to update plugin status`,runtime_pending:`Plugin change was saved, but the runtime state is still pending. Refresh later or check backend logs.`,save_success:`Plugin config saved`,save_failed:`Failed to save plugin config`,validation_failed:`Fix plugin config form errors first`,invalid_priority:`Enter an integer priority`,invalid_number:`Enter a valid number`,invalid_integer:`Enter a valid integer`,invalid_json:`Enter valid JSON`,expected_array:`Enter a JSON array`,expected_object:`Enter a JSON object`,invalid_enum:`Choose one of the declared enum values`},plugin_store:{title:`Plugin Store`,description:`Browse the plugin registry, then install or update plugins for the current backend.`,description_show_more:`Show more`,description_show_less:`Show less`,source_name:`Source: {{source}}`,cli_proxy_api_source:`CLIProxyAPI source`,refresh:`Refresh`,retry:`Retry`,load_failed:`Failed to load the plugin store`,unsupported_backend:`The current backend does not expose the plugin store API. Use a newer backend build that includes plugin store endpoints, then restart the service.`,registry_failed:`Failed to reach the plugin registry`,global_status:`Global status`,global_enabled:`Enabled`,global_disabled:`Disabled`,global_disabled_hint:`plugins.enabled is false, so installed plugins will not become effective.`,plugins_dir:`Plugin directory`,stat_available:`Available`,search_placeholder:`Search plugin ID, name, author, or tag...`,search_label:`Search plugin store`,filter_label:`Filter by install status`,filter_all:`All`,filter_installed:`Installed`,filter_not_installed:`Not installed`,filter_updates:`Updates`,badge_installed:`Installed`,badge_update:`Update available`,badge_effective:`Effective`,version_arrow:`v{{from}} → v{{to}}`,install_type:`Install: {{type}}`,platforms:`Platforms: {{platforms}}`,auth_required:`Auth required`,auth_configured:`Auth configured`,auth_required_hint:`Configure plugins.store-auth before installing from this source or artifact URL`,source_errors_title:`Some plugin sources failed to load`,install:`Install`,update:`Update`,manage:`Manage`,install_confirm_title:`Install plugin`,install_confirm_message:`Download {{target}} from the plugin registry and install it into the local plugin directory?`,update_confirm_title:`Update plugin`,update_confirm_message:`Download and install {{target}}?`,install_version_label:`Version`,install_version_latest:`latest`,install_version_latest_mode:`Latest stable`,install_version_latest_hint:`Resolved by the backend during install. Current listed version: {{version}}.`,install_version_release_mode:`Choose release`,install_version_release_hint:`Read installable tags from GitHub Releases.`,install_version_manual_mode:`Manual release tag`,install_version_manual_hint:`Use only when automatic release loading is unavailable.`,install_versions_loading:`Loading GitHub Releases...`,install_versions_load_failed:`Failed to load release versions`,install_version_non_github:`This plugin repository is not a GitHub repository`,install_versions_empty:`No selectable releases were found.`,install_versions_only_prerelease:`Only prerelease versions are available. Show prereleases to choose one.`,install_version_release_select:`Choose release version`,install_version_release_placeholder:`Choose release version`,install_version_prerelease_badge:`prerelease`,install_version_assets_count:`{{count}} assets`,install_version_show_prerelease:`Show prerelease versions`,install_version_manual_placeholder:`For example v0.1.4`,install_version_manual_error:`Release tags can only contain letters, numbers, dots, underscores, plus signs, and hyphens; spaces and slashes are not allowed.`,install_version_current_selected:`{{version}} is already installed. Choose another version.`,install_version_releases_link:`View GitHub Releases`,install_success:`Plugin installed`,update_success:`Plugin updated`,install_failed:`Failed to install plugin`,update_failed:`Failed to update plugin`,status_pending:`Plugin files were updated, but the local status has not refreshed yet. Refresh later or check backend logs.`,registration_pending:`Plugin files were updated, but registration is still pending. Refresh later or check backend logs.`,restart_required_notice:`Restart the service to load the new plugin version`,restart_required_banner:`Restart the service to apply the new version of: {{plugins}}`,open_repository:`Open repository`,open_homepage:`Open homepage`,no_plugins:`Registry is empty`,no_plugins_desc:`The plugin registry did not return any plugins.`,no_matches:`No matching plugins`,no_matches_desc:`No plugins match the current search or filter.`,clear_filters:`Clear filters`,security_banner_title:`Third-party plugins run with full backend access`,security_banner_text:`Plugins execute code inside the proxy service and can read your credentials and traffic. Only install plugins you trust — be especially careful with any plugin not published by the official router-for-me organization.`,badge_untrusted:`Third-party`,gate_title:`Install {{name}}`,gate_title_update:`Update {{name}}`,gate_warning:`Unexpected and harmful things can happen if you don't read this.`,gate_effect_runs_code:`This plugin will run uncertified third-party code inside your proxy backend. The system cannot isolate or audit its behavior, and it may have access to your sensitive credentials, network requests, and response data.`,gate_effect_no_review:`This plugin is not published or reviewed by the official router-for-me organization. The official organization makes no express or implied warranty for this plugin's stability, security, compliance, or any behavior changes in future versions.`,gate_effect_restart:`Installing it changes the local plugin directory and may require a service restart to take effect.`,gate_untrusted_alert:`This plugin is not from the official router-for-me organization. Only continue if you fully trust its author and source.`,gate_repository_label:`Repository`,gate_source_label:`Source`,gate_step1_action:`I want to install this plugin`,gate_step2_action:`I have read and understand these risks`,gate_step3_prompt:`To confirm, type "{{token}}" in the box below`,gate_step3_action:`Install this plugin`,gate_step3_hint:`Enter the exact identifier shown above to enable installation.`},plugin_resource:{page_count:`{{count}} pages`,load_failed:`Failed to load plugin page`,unavailable:`Plugin page unavailable`,not_found:`Plugin page not found`,not_found_desc:`This plugin page is not declared by the current backend plugin list.`,empty_src:`Plugin page URL is empty`,empty_src_desc:`This plugin menu does not provide an embeddable page URL.`},system_info:{title:`Management Center Info`,about_title:`CLI Proxy API Management Center`,models_title:`Available Models`,models_desc:`Shows the /models response and uses saved API keys for auth automatically.`,models_loading:`Loading available models...`,models_empty:`No models returned by /models`,models_error:`Failed to load model list`,models_count:`{{count}} available models`,version_check_button:`Check for updates`,version_update_available:`An update is available: {{version}}`,version_is_latest:`You are on the latest version`,version_check_error:`Update check failed`,version_current_missing:`Server version is unavailable; cannot compare`,version_unknown:`Unknown`,quick_links_title:`Quick Links`,quick_links_desc:`Access project repositories and documentation for help and updates.`,link_main_repo:`Main Repository`,link_main_repo_desc:`CLI Proxy API core program source code`,link_webui_repo:`WebUI Repository`,link_webui_repo_desc:`Management Center frontend source code`,link_docs:`Documentation`,link_docs_desc:`Configuration tutorials and guides`,clear_login_title:`Local Login Data`,clear_login_desc:`Clear locally saved login data and sign out.`,clear_login_button:`Clear login data`,clear_login_confirm:`Clear local login data and sign out now?`},notification:{request_log_updated:`Request logging setting updated`,login_storage_cleared:`Local login data cleared`,data_refreshed:`Data refreshed successfully`,connection_required:`Please establish connection first`,refresh_failed:`Refresh failed`,update_failed:`Update failed`,add_failed:`Add failed`,delete_failed:`Delete failed`,upload_failed:`Upload failed`,download_failed:`Download failed`,login_failed:`Login failed`,commercial_mode_restart_required:`Commercial mode setting changed. Please restart the service for it to take effect`,copy_failed:`Copy failed`,link_copied:`Link copied to clipboard`},language:{switch:`Language`,chinese:`中文`,chinese_tw:`Traditional Chinese (Taiwan)`,english:`English`,russian:`Русский`},theme:{switch:`Theme`,light:`Wool Paper`,white:`Pure White`,dark:`Dark`,auto:`Follow system`},sidebar:{toggle_expand:`Expand sidebar`,toggle_collapse:`Collapse sidebar`,expand:`Expand`,collapse:`Collapse`,subtitle:`CLI Proxy API Console`,auth_files_count:`Authentication files: {{count}}`},footer:{api_version:`CLI Proxy API Version`,build_date:`Build Time`,version:`Management UI Version`},providersPage:{header:{title:`AI Providers`,activeResources:`{{active}}/{{total}} active resources`,providerFamilies:`{{count}} provider families`,updatedAt:`Updated {{time}}`},actions:{refresh:`Refresh`,syncing:`Syncing`,new:`New`,edit:`Edit`,view:`View`,delete:`Delete`,cancel:`Cancel`,save:`Save`,create:`Create`,enable:`Enable`,disable:`Disable`},categories:{title:`Providers`,quickFill:`Quick Fill`,activeCount:`{{active}}/{{total}} active`},providerNames:{gemini:`Gemini`,interactions:`Interactions API`,codex:`Codex`,xai:`xAI`,claude:`Claude`,claudeApi:`ClaudeAPI`,vertex:`Vertex`,openaiCompatibility:`OpenAI Compatible`,apikeyFun:`APIKEY.FUN`,code0:`Code0`,fennoAI:`FennoAI`,qiniuCloud:`Qiniu Cloud`,lmuAI:`LMU AI (Lingmou AI)`,kimi:`Kimi`},table:{key:`Key`,baseUrl:`Base URL`,prefix:`Prefix`,models:`Models/Headers`,status:`Status`,actions:`Actions`,metrics:{models:`Models`,keys:`Keys`,headers:`Headers`},websocketsTag:`WebSockets`,cloakTag:`Cloak`,empty:`No resources yet, click "New" to add.`,filterPlaceholder:`Search keys, URLs, prefixes…`,description:`Manage resources under {{route}}`},sponsor:{protocolSummary:`Anthropic / OpenAI / Gemini / Codex API (Responses)`,detailHint:`{{provider}} is persisted into the matching API key configs by protocol; this view manages them together.`,registerLink:`Register here`,registerNow:`Register now`,dashboardLink:`Dashboard`,emptyRegisterHint:`No configuration yet.`,apiKeyHint:`This key is only written to the selected group/protocol config.`,usageCheck:`Check usage`,usageChecking:`Checking`,usageRemaining:`Remaining: {{amount}} {{unit}}`,usageBreakdown:`Used {{used}} / Limit {{limit}}`,usageStatus:`Status: {{status}}`,usageInvalid:`Invalid key`,usageEmpty:`The endpoint returned no usage data.`,usageApiKeyRequired:`API key is required`,aggregationConflict:`This grouped provider contains multiple backend configs or OpenAI keys. Edit it in the source configuration to avoid data loss.`,partialMutationWarning:`The operation failed after one or more protocols may have been updated. The latest configuration was reloaded; review it before retrying.`,groupedKeysTitle:`Grouped keys`,groupedKeysHint:`Platform keys may be bound to a group when created. Each grouped key here manages one protocol, and model discovery only uses that protocol.`,groupedKey:`Grouped key #{{index}}`,addGroupedKey:`Add grouped key`,removeGroupedKey:`Remove grouped key`,protocol:`Group/protocol`,protocolHint:`Select the group/protocol for this key.`,protocolEndpoint:`Current protocol endpoint`,urlMode:`{{provider}} URL`,urlHint:`All URLs use the same API conventions. Saving writes only the endpoint for the current grouped protocol.`,urlOptions:{standard:`Standard URL`,direct:`Direct URL`,domestic:`China mainland route`,overseas:`Overseas route`},urlOptionDescriptions:{domestic:`For users and workloads in mainland China; usually lower latency in mainland networks.`,overseas:`For overseas deployments, cross-border access, or workloads that need overseas models.`},modelsTitle:`Protocol model settings`,modelsHint:`Configure model allowlists or aliases separately for Codex API, Anthropic, Gemini, and OpenAI-compatible routes.`,protocolModels:{codex:`Codex API models`,anthropic:`Anthropic models`,gemini:`Gemini models`,openai:`OpenAI-compatible models`},protocolModelHints:{codex:`Writes to the Codex API config models. Fetch from /v1/models and set aliases if needed.`,anthropic:`Writes to the Anthropic config models. Fetch from /v1/models and set aliases if needed.`,gemini:`Writes to the Gemini config models. Fetch from /v1beta/models and set aliases if needed.`,openai:`Writes to the OpenAI-compatible config models. Fetch from /models and set aliases if needed.`},validation:{keyRequired:`Enter an API key for every grouped key.`,protocolDuplicate:`Each protocol can only have one grouped key.`},openaiEntries:`OpenAI-compatible keys`,codexEntries:`Codex API keys`,anthropicEntries:`Anthropic keys`,geminiEntries:`Gemini keys`,protocols:{anthropic:`Anthropic`,openai:`OpenAI Compatible`,gemini:`Gemini`,codexResponses:`Codex API (Responses)`}},status:{active:`Active`,disabled:`Disabled`,notSet:`Not set`,none:`None`,notConfigured:`Not configured`,defaultSuffix:`(default)`},detail:{title:`Details`,metadataTitle:`Metadata`,fields:{identifier:`Identifier`,baseUrl:`Base URL`,proxyUrl:`Proxy URL`,prefix:`Prefix`,models:`Models`,headers:`Headers`,authIndex:`Auth Index`,excludedModels:`Excluded models`,apiKeyEntries:`API key entries`}},form:{createEyebrow:`New`,editEyebrow:`Edit`,name:`Name`,apiKey:`API key`,apiKeyCreatePlaceholder:`Enter API key`,apiKeyEditPlaceholder:`Leave empty to keep unchanged`,baseUrl:`Base URL`,baseUrlRequiredHint:`Required for this provider`,proxyUrl:`Proxy URL`,prefix:`Prefix`,priority:`Priority`,weight:`Scheduling weight`,weightHint:`Default 1 · ≤ 0 is excluded · maximum 1,000,000`,disabled:`Disable this entry`,disabledHint:`Disabled entries won't be used by the gateway`,websockets:`Enable WebSockets`,testModel:`Test model`,testModelClaudeHint:`Used for connectivity testing only; not saved`,testModelAutoWith:`Auto · {{name}}`,testModelAutoEmpty:`Auto (no models added yet)`,testModelCustom:`{{name}} (custom)`,modelsSection:`Custom models`,addModel:`Add model`,headersSection:`Request headers`,addHeader:`Add header`,excludedSection:`Excluded models`,excludedDisabledNote:`“*” means the whole provider is disabled — use the Disabled switch above instead.`,cloakSection:`Cloak settings`,cloakMode:`Mode`,cloakStrict:`Strict mode`,cloakSensitiveWords:`Sensitive words (one per line)`,apiKeyEntriesSection:`API key entries`,apiKeyEntry:`Key #{{index}}`,addApiKeyEntry:`Add key entry`,showApiKey:`Show API key`,hideApiKey:`Hide API key`,disableCooling:`Disable cooling`,disableCoolingHint:`Disable failure cooldown windows only for this credential or provider`,modelImage:`Allow image endpoints`,modelImageHint:`Allow this model on /v1/images/generations and /v1/images/edits`,showAllEntries:`Show all ({{count}})`,showFewerEntries:`Show fewer`,proxyBadge:`Proxy`,modelBadgeImage:`Image`,modelBadgeThinking:`Thinking`,thinkingConfig:`Allowed thinking levels`,thinkingExistingHint:`The current backend config remains unchanged until you change a selection; then it will be replaced by the selected standard levels.`,thinkingLevels:{none:`Disable thinking`,minimal:`Minimal`,low:`Low`,medium:`Medium`,high:`High`,xhigh:`Extra high`,max:`Maximum`,auto:`Automatic`},cloakCacheUserId:`Cache user_id`,cloakCacheUserIdHint:`Reuse the Claude cloak user_id per API key`,experimentalCchSigning:`Experimental CCH signing`,experimentalCchSigningHint:`Sign the final cloaked Claude /v1/messages body with CCH`,validation:{nameRequired:`Name is required`,apiKeyRequired:`At least one API key is required`,baseUrlRequired:`Base URL is required`,weightInteger:`Scheduling weight must be an integer`,weightMax:`Scheduling weight cannot exceed {{max}}`}},delete:{title:`Delete resource`,confirm:`Delete {{name}}? This action cannot be undone.`},toast:{created:`Created`,updated:`Updated`,deleted:`Deleted`,enabled:`Enabled`,disabled:`Disabled`,toggleFailed:`Failed to update status`},unsavedChanges:{title:`Discard unsaved changes?`,message:`You have unsaved edits in this form. Closing will discard them.`,discard:`Discard changes`,keepEditing:`Keep editing`},connectivity:{test:`Test`,testAll:`Test all`,success:`Reachable`,baseUrlRequired:`Base URL is required`,endpointInvalid:`Endpoint URL is invalid`,apiKeyRequired:`API key is required`,modelRequired:`Test model is required`,timeout:`Timed out after {{seconds}}s`,requestFailed:`Request failed`},discovery:{openButton:`Fetch from endpoint`,searchPlaceholder:`Search models`,reload:`Reload`,loading:`Loading models…`,empty:`No models returned by the endpoint`,notLoaded:`Click Reload to fetch models`,selectAll:`Select all`,clearAll:`Clear selection`,selectedCount:`{{selected}} / {{total}}`,alreadyAdded:`Already added`,close:`Close`,apply:`Apply ({{count}})`},toolbar:{sortBy:`Sort by`,sort:{name:`Name`,priority:`Priority`,recentSuccess:`Recent success`,directionAsc:`Ascending`,directionDesc:`Descending`},filter:{allModels:`All models`,selectedModels:`{{selected}}/{{total}} models`,selectAll:`Select all`,clear:`Clear`,empty:`No models configured yet`}},modelCatalog:{notLoaded:`Not loaded`}}},al={common:{login:`Войти`,logout:`Выйти`,back:`Назад`,cancel:`Отмена`,confirm:`Подтвердить`,leave:`Уйти`,stay:`Остаться`,save:`Сохранить`,delete:`Удалить`,edit:`Редактировать`,add:`Добавить`,update:`Обновить`,refresh:`Обновить`,close:`Закрыть`,success:`Успешно`,error:`Ошибка`,info:`Информация`,warning:`Внимание`,loading:`Загрузка...`,connecting:`Подключение...`,connected:`Подключено`,disconnected:`Отключено`,connecting_status:`Подключение`,connected_status:`Подключено`,disconnected_status:`Отключено`,yes:`Да`,no:`Нет`,not_set:`Не задано`,optional:`Необязательно`,required:`Обязательно`,api_key:`Ключ`,base_url:`Адрес`,prefix:`Префикс`,proxy_url:`Прокси`,priority:`Приоритет`,alias:`Псевдоним`,failure:`Сбой`,unknown_error:`Неизвестная ошибка`,quota_update_required:`Пожалуйста, обновите CPA или проверьте наличие обновлений`,quota_check_credential:`Пожалуйста, проверьте статус учётных данных`,copy:`Копировать`,expand:`Развернуть`,collapse:`Свернуть`,status:`Статус`,action:`Действие`,custom_headers_label:`Пользовательские заголовки`,custom_headers_hint:`Необязательно — HTTP-заголовки для отправки с запросом. Оставьте пустым для удаления.`,custom_headers_add:`Добавить заголовок`,custom_headers_key_placeholder:`Имя заголовка, например X-Custom-Header`,custom_headers_value_placeholder:`Значение заголовка`,model_name_placeholder:`Имя модели, напр. claude-3-5-sonnet-20241022`,model_alias_placeholder:`Псевдоним модели (необязательно)`,invalid_provider_index:`Неверный индекс провайдера.`,unsaved_changes_title:`Несохранённые изменения`,unsaved_changes_message:`У вас есть несохранённые изменения. Если вы уйдёте, они будут потеряны. Выйти?`},title:{login:`Центр управления CLI Proxy API`,abbr:`CPAMC`},splash:{title:`CLI Proxy API`,subtitle:`Центр управления`},login:{subtitle:`Введите данные подключения, чтобы получить доступ к панели управления`,connection_current:`Текущий URL`,connection_auto_hint:`Система автоматически использует текущий URL для подключения`,custom_connection_label:`Пользовательский URL подключения:`,custom_connection_placeholder:`Напр.: https://example.com:8317`,custom_connection_hint:`По умолчанию используется текущий URL. При необходимости замените его.`,remember_password_label:`Запомнить пароль`,management_key_label:`Ключ управления:`,management_key_placeholder:`Введите ключ управления`,submit_button:`Войти`,submitting:`Подключение...`,error_backend_detail:`Ответ сервера`,error_required:`Пожалуйста, заполните все данные подключения`,error_invalid:`Подключение не удалось, проверьте адрес сервера, Management API и ключ управления`,error_network:`Сетевая ошибка, проверьте подключение или адрес сервера`,error_timeout:`Время ожидания истекло, сервер не отвечает`,error_unauthorized:`Аутентификация не удалась, ключ управления отсутствует или неверен`,error_forbidden:`Доступ запрещён: удалённое управление отключено, ключ управления не настроен или IP временно заблокирован`,error_not_found:`Management API не найден, проверьте, что адрес указывает на backend CLIProxyAPI`,error_server:`Backend не смог обработать запрос управления, проверьте журналы сервера`,error_cors:`Блокировка CORS, проверьте конфигурацию сервера`,error_ssl:`Ошибка проверки SSL/TLS сертификата`},header:{refresh_all:`Обновить всё`,logout:`Выйти`},connection:{status:`Статус подключения:`},nav:{dashboard:`Панель`,quick_start:`Быстрый старт`,ai_providers:`Поставщики AI`,auth_files:`Файлы аутентификации`,oauth:`OAuth вход`,quota_management:`Управление квотами`,plugins:`Плагины`,plugin_store:`Магазин плагинов`,config_management:`Панель конфигурации`,logs:`Просмотр логов`,system_info:`Информация системы`},nav_groups:{operate:`Работа`,gateway:`Шлюз`,observe:`Наблюдение`,control:`Управление`},nav_meta:{dashboard:`Обзор работы`,quick_start:`Настройка APIKEY.FUN`,ai_providers:`Маршрутизация моделей`,auth_files:`Файлы и учётные данные`,oauth:`Авторизация OAuth`,quota_management:`API ключи и лимиты`,plugins:`Переключатели и ресурсы плагинов`,plugin_store:`Поиск и установка плагинов`,logs:`Трассировка запросов`,config_management:`Базовая конфигурация шлюза`,system_info:`Состояние и диагностика`},dashboard:{hero_verdict_good:`Всё стабильно`,hero_verdict_warning:`Небольшие сбои`,hero_verdict_critical:`Требует внимания`,hero_verdict_idle:`Пока тихо`,hero_verdict_offline:`Ожидает подключения`,hero_verdict_connecting:`Подключение`,hero_period:`.`,hero_requests_label:`Обработано запросов`,hero_live:`Live`,hero_window_meta:`Скользящее окно {{window}} · интервалы по 10 минут`,hero_spark_label:`Объём запросов за последние {{window}}`,cta_manage_providers:`Управлять провайдерами`,cta_inspect_logs:`Смотреть логи`,stats_aria:`Ключевые метрики`,success_rate:`Доля успешных`,stat_success_hint:`Из {{total}} запросов в окне`,stat_credentials:`Учётные данные`,stat_credentials_hint:`{{active}} активны · {{disabled}} не используются`,stat_credentials_empty:`Файлы учётных данных не найдены`,stat_provider_keys:`Ключи провайдеров`,stat_provider_keys_hint:`Всего настроенных API-ключей по всем брендам`,stat_models:`Модели`,stat_models_hint:`Доступны через эндпоинт прокси`,traffic_eyebrow:`Живой трафик`,traffic_title:`Пропускная способность по 10 минут`,traffic_description:`Успешные и неудачные запросы по 10-минутным интервалам за последние {{window}}. Наведите на столбец, чтобы увидеть точное распределение.`,traffic_table:`Таблица данных`,traffic_table_window:`Интервал`,traffic_chart_summary:`{{total}} запросов за последние {{minutes}} минут: успешно {{success}}, с ошибкой {{failed}}.`,traffic_unavailable:`Данных о трафике пока нет`,traffic_unavailable_hint:`Счётчики появятся после первого обработанного запроса.`,fleet_eyebrow:`Провайдеры`,fleet_title:`Все провайдеры рядом`,fleet_description:`Объём и доля успешных запросов по каждому провайдеру за то же окно.`,fleet_empty:`Трафик провайдеров пока не зафиксирован.`,fleet_credentials:`Учётных данных: {{value}}`,fleet_spark_label:`Объём запросов {{provider}}`,fleet_requests:`запросов`,provider_unknown:`Без привязки`,health_eyebrow:`Состояние`,health_title:`Статус учётных данных`,health_active:`Активны`,health_unavailable:`Недоступны`,health_disabled:`Отключены`,health_by_type:`По провайдерам`,health_empty:`Файлы учётных данных не найдены.`,health_link:`Открыть файлы авторизации`,runtime_eyebrow:`Среда`,runtime_title:`Конфигурация целиком`,runtime_routing:`Стратегия маршрутизации`,runtime_retry:`Повторы запросов`,runtime_management_keys:`Ключи управления`,runtime_version:`Версия сервера`,runtime_build:`Дата сборки`,runtime_proxy:`Внешний прокси`,runtime_debug:`Отладка`,runtime_file_logging:`Логи в файл`,runtime_request_log:`Лог запросов`,runtime_ws_auth:`Авторизация WebSocket`,runtime_model_prefix:`Префикс модели`,runtime_link:`Изменить конфигурацию`,cta_eyebrow:`Далее`,cta_title:`Куда двигаться дальше`,cta_providers_desc:`Добавляйте API-ключи, задавайте приоритеты и проверяйте бренды.`,cta_auth_files_desc:`Загрузка, обновление и отключение OAuth-данных.`,cta_config_desc:`Настройка маршрутизации, повторов, логов и доступа.`,cta_quota_desc:`Проверка остатка квоты по каждым учётным данным.`,cta_logs_desc:`Следите за запросами и скачивайте отчёты об ошибках.`,cta_system_desc:`Информация о версии и центре управления.`,window_m:`{{minutes}} мин`,window_h:`{{hours}} ч`,window_hm:`{{hours}} ч {{minutes}} мин`},basic_settings:{debug_enable:`Включить режим отладки`,proxy_url_label:`URL прокси:`,retry_count_label:`Количество повторов:`,logging_to_file_enable:`Включить журналирование в файл`,request_log_title:`Журналирование запросов`,request_log_enable:`Включить журналирование запросов`,request_log_warning:`Оставьте выключенным, если подробная диагностика не нужна.`,ws_auth_enable:`Требовать аутентификацию для /ws/*`,routing_strategy_round_robin:`round-robin (цикл)`,routing_strategy_weighted_round_robin:`weighted-round-robin (взвешенный цикл)`,routing_strategy_fill_first:`fill-first (приоритет)`},auth_files:JSON.parse(`{"title":"Управление файлами авторизации","meta_total":"{{count}} учётных данных","meta_active":"{{count}} активно","meta_problem":"{{count}} с проблемами","empty_title":"Учётных данных пока нет","empty_desc":"Загрузите файл аутентификации или подключите провайдера через OAuth.","empty_oauth_link":"Подключить через OAuth","no_results_clear":"Сбросить фильтры","title_section":"Файлы авторизации","upload_button":"Загрузить файл","delete_all_button":"Удалить всё","search_empty_title":"Файлы не найдены","search_empty_desc":"Попробуйте изменить фильтры или очистить строку поиска.","file_size":"Размер","file_modified":"Изменён","health_status_label":"Состояние","health_status_healthy":"Нормально","health_status_warning":"Предупреждение","health_status_disabled":"Отключено","download_button":"Скачать","manual_refresh_button":"Обновить учётные данные OAuth","manual_refresh_requested":"Запрошено обновление учётных данных для \\"{{name}}\\"","manual_refresh_failed":"Не удалось запросить обновление учётных данных для \\"{{name}}\\": {{message}}","delete_button":"Удалить","delete_confirm":"Удалить файл","delete_all_confirm":"Удалить все файлы авторизации? Это действие нельзя отменить!","delete_filtered_confirm":"Удалить все файлы авторизации {{type}}? Это действие нельзя отменить!","delete_problem_button":"Удалить проблемные","delete_problem_button_with_type":"Удалить проблемные файлы {{type}}","delete_problem_confirm":"Удалить все проблемные файлы авторизации? Это действие нельзя отменить!","delete_problem_filtered_confirm":"Удалить все проблемные файлы авторизации {{type}}? Это действие нельзя отменить!","delete_filtered_result_button":"Удалить результаты фильтра","delete_filtered_result_confirm":"Удалить файлы авторизации из текущих результатов фильтра? Это действие нельзя отменить!","upload_error_json":"Допустимы только файлы JSON","upload_error_size":"Размер файла не может превышать {{maxSize}}","upload_success":"Файл успешно загружен","download_success":"Файл успешно скачан","delete_success":"Файл успешно удалён","delete_all_success":"Удаление завершено","delete_filtered_success":"Удалено файлов {{type}}: {{count}}","delete_filtered_partial":"Удаление файлов {{type}} завершено: успешных {{success}}, ошибок {{failed}}","delete_filtered_none":"Нет файлов {{type}} для удаления при текущем фильтре","delete_problem_success":"Удалено проблемных файлов авторизации: {{count}}","delete_problem_filtered_success":"Удалено проблемных файлов авторизации {{type}}: {{count}}","delete_problem_partial":"Удаление проблемных файлов авторизации завершено: успешных {{success}}, ошибок {{failed}}","delete_problem_filtered_partial":"Удаление проблемных файлов авторизации {{type}} завершено: успешных {{success}}, ошибок {{failed}}","delete_problem_none":"Нет проблемных файлов авторизации для удаления при текущем фильтре","delete_problem_filtered_none":"Нет проблемных файлов авторизации {{type}} для удаления при текущем фильтре","delete_filtered_result_success":"Удалено файлов авторизации из результатов фильтра: {{count}}","delete_filtered_result_partial":"Удаление результатов фильтра завершено: успешных {{success}}, ошибок {{failed}}","delete_filtered_result_none":"Нет файлов авторизации для удаления в текущих результатах фильтра","pagination_prev":"Предыдущая","pagination_next":"Следующая","pagination_info":"Страница {{current}} / {{total}} · {{count}} файлов","search_label":"Поиск конфигов","search_placeholder":"Фильтр по имени, аккаунту, типу или провайдеру, поддерживается wildcard *","problem_filter_label":"Фильтр статуса","problem_filter_all":"Все","problem_filter_enabled":"Вкл.","problem_filter_problem":"Пробл.","problem_filter_disabled":"Откл.","display_options_label":"Параметры отображения","compact_mode_label":"Компактный режим","sort_label":"Сортировка","sort_default":"По умолчанию","sort_az":"A-Z Имя","sort_priority":"Приоритет","priority_display":"Приоритет","weight_display":"Вес WRR","page_size_label":"На странице","filter_all":"Все","filter_qwen":"Qwen","filter_gemini":"Gemini","filter_kimi":"Kimi","filter_aistudio":"AIStudio","filter_claude":"Claude","filter_codex":"Codex","filter_antigravity":"Antigravity","filter_xai":"xAI","filter_iflow":"iFlow","filter_vertex":"Vertex","filter_empty":"Пусто","filter_unknown":"Другое","type_virtual":"Виртуальный файл авторизации","models_button":"Модели","models_title":"Поддерживаемые модели","models_loading":"Загрузка списка моделей...","models_empty":"Для этих учётных данных нет доступных моделей","models_empty_desc":"Возможно, учётные данные ещё не загружены сервером или к ним не привязаны модели.","models_unsupported":"Функция не поддерживается в текущей версии","models_unsupported_desc":"Обновите CLI Proxy API до последней версии и повторите попытку","models_excluded_badge":"Отключена","models_excluded_hint":"Эта OAuth-модель отключена","status_toggle_label":"Включено","status_enabled_success":"\\"{{name}}\\" включён","status_disabled_success":"\\"{{name}}\\" отключён","batch_status_success":"{{count}} файлов обновлено","batch_status_partial":"{{success}} обновлено, {{failed}} не удалось","batch_delete_title":"Удалить выбранные файлы","batch_delete_confirm":"Удалить {{count}} файлов?","batch_selected":"{{count}} выбрано","batch_toolbar_label":"Групповые действия","batch_select_all":"Выбрать все","batch_select_page":"Выбрать страницу","batch_select_filtered":"Выбрать по фильтру","batch_invert_page":"Инвертировать страницу","batch_deselect":"Отменить","batch_download":"Скачать выбранные","batch_download_success":"Запущена загрузка {{count}} файлов","batch_download_partial":"Загрузка завершена: успешно {{success}}, ошибок {{failed}}","batch_enable":"Включить","batch_disable":"Отключить","prefix_proxy_button":"Просмотр / редактирование файла авторизации","prefix_proxy_loading":"Загрузка файла авторизации...","prefix_proxy_info_label":"Информация о файле авторизации (info)","prefix_proxy_source_label":"JSON файла авторизации (предпросмотр)","prefix_proxy_invalid_content_label":"Скачанное содержимое (сокращено)","prefix_label":"Префикс (prefix)","proxy_url_label":"URL прокси (proxy_url)","proxy_url_placeholder":"socks5://username:password@proxy_ip:port/","priority_label":"Приоритет (priority)","priority_placeholder":"например: 10 или -1","priority_hint":"Только целые числа. Некорректные значения игнорируются. Чем больше число, тем выше приоритет.","weight_label":"Вес планирования (weight)","weight_hint":"По умолчанию 1. Значения ≤ 0 исключают эти учётные данные из взвешенного планирования; максимум 1 000 000.","weight_invalid_integer":"Вес должен быть целым числом.","weight_invalid_max":"Вес не может превышать 1 000 000.","disable_cooling_label":"Отключить экспоненциальный cooldown (disable_cooling)","disable_cooling_hint":"Отключает cooldown после ошибок и экспоненциальную задержку только для этих учётных данных; остальные не затрагиваются.","websockets_label":"WebSockets (websockets)","websockets_hint":"Включает websocket-транспорт Responses API для этих учётных данных.","using_api_label":"Использовать официальный API (using_api)","using_api_hint":"Если включено, используется официальный API xAI; если выключено — Grok CLI chat-proxy.","note_label":"Заметка (note)","note_placeholder":"Введите заметку, например: аккаунт Ивана","note_hint":"Необязательно. Используется для описания назначения или владельца учётных данных; оставьте пустым, чтобы не записывать.","excluded_models_label":"Исключённые модели (excluded_models)","prefix_proxy_invalid_json":"Этот файл авторизации не является JSON-объектом, поэтому поля нельзя редактировать.","prefix_proxy_html_challenge":"Скачанное содержимое является HTML-страницей проверки, а не JSON-объектом авторизации. Повторно авторизуйтесь или замените файл перед редактированием полей.","prefix_proxy_saved_success":"Файл авторизации \\"{{name}}\\" успешно обновлён","quota_refresh_single":"Обновить квоту","quota_refresh_hint":"Обновить квоту только для этих учётных данных","quota_refresh_success":"Квота для \\"{{name}}\\" обновлена","quota_refresh_failed":"Не удалось обновить квоту для \\"{{name}}\\": {{message}}"}`),antigravity_subscription:{plan_unknown:`Неизвестно`,plan_free:`Free`,plan_pro:`Pro`,plan_ultra:`Ultra`,plan_ultra_lite:`Ultra Lite`},antigravity_quota:{title:`Квота Antigravity`,empty_title:`Файлы авторизации Antigravity отсутствуют`,empty_desc:`Загрузите учётные данные Antigravity, чтобы увидеть оставшуюся квоту.`,idle:`Не загружено. Нажмите "Обновить квоту".`,loading:`Загрузка квоты...`,load_failed:`Не удалось загрузить квоту: {{message}}`,missing_auth_index:`В файле авторизации отсутствует auth_index`,missing_project_id:`В учётных данных Antigravity отсутствует project_id. Войдите заново или обновите учётные данные, чтобы определить проект.`,empty_models:`Данные по квоте отсутствуют`,plan_label:`План`,group_gemini_models:`Модели Gemini`,group_claude_gpt_models:`Модели Claude и GPT`,group_models_description:`Модели в этой группе: {{models}}`,weekly_limit:`Недельный лимит`,daily_limit:`Дневной лимит`,five_hour_limit:`Лимит на 5 часов`,monthly_limit:`Месячный лимит`,quota_available:`Квота доступна`,remaining_percent:`Осталось {{percent}}%`,refreshes_in:`Обновится через {{duration}}`,refresh_available:`Можно обновить`,duration_day_hour:`{{days}} д {{hours}} ч`,duration_hour_minute:`{{hours}} ч {{minutes}} мин`,duration_minute:`{{minutes}} мин`,duration_less_than_minute:`<1 мин`,refresh_button:`Обновить квоту`,fetch_all:`Получить все`},claude_quota:{title:`Квота Claude`,empty_title:`Файлы авторизации Claude OAuth отсутствуют`,empty_desc:`Войдите через Claude OAuth, чтобы увидеть квоту.`,idle:`Не загружено. Нажмите "Обновить квоту".`,loading:`Загрузка квоты...`,load_failed:`Не удалось загрузить квоту: {{message}}`,missing_auth_index:`В файле авторизации отсутствует auth_index`,empty_windows:`Данные по квоте отсутствуют`,refresh_button:`Обновить квоту`,fetch_all:`Получить все`,five_hour:`Лимит на 5 часов`,seven_day:`Лимит на 7 дней`,seven_day_oauth_apps:`7 дней OAuth приложения`,seven_day_opus:`7 дней Opus`,seven_day_sonnet:`7 дней Sonnet`,seven_day_cowork:`7 дней Cowork`,iguana_necktie:`Iguana Necktie`,seven_day_fable:`7 дней Fable 5`,extra_usage_label:`Дополнительное использование`,plan_label:`План`,plan_unknown:`Неизвестно`,plan_free:`Free`,plan_pro:`Pro`,plan_max:`Max`,plan_max5:`Max 5x`,plan_max20:`Max 20x`,plan_team:`Team`},codex_quota:{title:`Квота Codex`,empty_title:`Файлы авторизации Codex отсутствуют`,empty_desc:`Загрузите учётные данные Codex, чтобы увидеть квоту.`,idle:`Не загружено. Нажмите "Обновить квоту".`,loading:`Загрузка квоты...`,load_failed:`Не удалось загрузить квоту: {{message}}`,missing_auth_index:`В файле авторизации отсутствует auth_index`,missing_account_id:`В учётных данных Codex отсутствует идентификатор аккаунта ChatGPT`,empty_windows:`Данные по квоте отсутствуют`,no_access:`У этих учётных данных нет доступа Codex (план: free).`,refresh_button:`Обновить квоту`,fetch_all:`Получить все`,primary_window:`Лимит на 5 часов`,secondary_window:`Недельный лимит`,team_secondary_window:`Месячный лимит`,code_review_primary_window:`Лимит code review на 5 часов`,code_review_secondary_window:`Недельный лимит code review`,code_review_team_secondary_window:`Месячный лимит code review`,additional_primary_window:`{{name}}: лимит на 5 часов`,additional_secondary_window:`{{name}}: недельный лимит`,additional_team_secondary_window:`{{name}}: месячный лимит`,plan_label:`Тариф`,expires_label:`Истекает`,reset_credits_label:`Ручные сбросы`,reset_credits_expiry_label:`Срок действия ручных сбросов (GMT+8)`,reset_credit_number:`Сброс {{index}}`,reset_credits_expiry_failed:`Не удалось загрузить срок действия ручных сбросов: {{message}}`,reset_credits_invalid_payload:`Недопустимый ответ о сроке действия ручных сбросов`,plan_plus:`Plus`,plan_team:`Team`,plan_free:`Free`,plan_pro:`Pro 20x`,plan_prolite:`Pro 5x`},kimi_quota:{title:`Квота Kimi`,empty_title:`Файлы авторизации Kimi отсутствуют`,empty_desc:`Загрузите учётные данные Kimi, чтобы увидеть оставшуюся квоту.`,idle:`Не загружено. Нажмите "Обновить квоту".`,loading:`Загрузка квоты...`,load_failed:`Не удалось загрузить квоту: {{message}}`,missing_auth_index:`В файле авторизации отсутствует auth_index`,empty_data:`Данные по квоте отсутствуют`,refresh_button:`Обновить квоту`,fetch_all:`Получить все`,weekly_limit:`Недельный лимит`,limit_window:`Лимит {{duration}}`,limit_index:`Лимит #{{index}}`,reset_hint:`сброс через {{hint}}`},xai_quota:{title:`Квота Grok`,empty_title:`Файлы авторизации xAI/Grok отсутствуют`,empty_desc:`Войдите через xAI OAuth, чтобы увидеть квоту Grok.`,idle:`Не загружено. Нажмите "Обновить квоту".`,loading:`Загрузка квоты...`,load_failed:`Не удалось загрузить квоту: {{message}}`,missing_auth_index:`В файле авторизации отсутствует auth_index`,empty_data:`Данные по квоте отсутствуют`,refresh_button:`Обновить квоту`,fetch_all:`Получить все`,weekly_limit:`Недельный лимит`,monthly_credits:`Месячные кредиты`,used_percent:`Использовано {{percent}}`,reset_at:`Сброс {{time}}`,product_usage:`Использование {{product}}`,plan_label:`План`,plan_supergrok:`SuperGrok`,plan_supergrok_heavy:`SuperGrok Heavy`,plan_paid:`Платный`,paid_health:`Чат платного API доступен. xAI не предоставляет данные об общей квоте для этих учётных данных OAuth.`,pay_as_you_go_label:`Оплата по факту`,pay_as_you_go_enabled:`Включено, лимит {{cap}}`,pay_as_you_go_disabled:`Отключено`},vertex_import:{title:`Вход с Vertex JSON`,description:`Загрузите JSON ключа сервисного аккаунта Google, чтобы сохранить его как auth-dir/vertex-<project>.json по тем же правилам, что и помощник CLI vertex-import.`,location_label:`Регион (необязательно)`,location_placeholder:`us-central1`,location_hint:`Оставьте пустым, чтобы использовать регион us-central1 по умолчанию.`,file_label:`JSON ключ сервисного аккаунта`,file_hint:`Принимаются только JSON-файлы ключей сервисных аккаунтов Google Cloud.`,file_placeholder:`Файл не выбран`,choose_file:`Выбрать файл`,import_button:`Импортировать учётные данные Vertex`,file_required:`Сначала выберите файл учётных данных .json`,success:`Учётные данные Vertex успешно импортированы`,result_title:`Учётные данные сохранены`,result_project:`ID проекта`,result_email:`Сервисный аккаунт`,result_location:`Регион`,result_file:`Сохранённый файл`},oauth_excluded:{title:`Отключение OAuth-моделей`,description:`Отключения моделей по провайдерам отображаются карточками; нажмите карточку, чтобы изменить или удалить. Поддерживаются шаблоны *. Область зависит от фильтра файлов авторизации.`,add:`Добавить отключение`,add_title:`Добавление отключения моделей для провайдера`,edit_title:`Редактирование отключения моделей для {{provider}}`,provider_label:`Провайдер`,provider_placeholder:`например: codex / openai`,provider_hint:`По умолчанию используется текущий фильтр; выберите существующего провайдера или введите новое имя.`,models_label:`Отключаемые модели`,save:`Сохранить/обновить`,save_success:`Отключение моделей обновлено`,save_failed:`Не удалось обновить отключение моделей`,delete:`Удалить провайдера`,delete_confirm:`Удалить отключение моделей для {{provider}}?`,delete_success:`Отключение моделей провайдера удалено`,delete_failed:`Не удалось удалить отключение моделей`,no_models:`Отключаемые модели не настроены`,model_count:`Отключено моделей: {{count}}`,list_empty_all:`Отключений моделей пока нет — используйте "Добавить отключение".`,provider_required:`Сначала укажите провайдера`,upgrade_required:`Текущая версия CPA не поддерживает отключение OAuth-моделей. Пожалуйста, обновите систему.`,upgrade_required_title:`Пожалуйста, обновите CLI Proxy API`,upgrade_required_desc:`Текущая версия сервера не поддерживает получение отключения OAuth-моделей. Обновите CPA (CLI Proxy API) до последней версии и повторите попытку.`},excluded_models:{trigger_summary:`Исключено: {{excluded}} · доступно: {{available}}`,trigger_summary_rules:`Правил: {{n}}`,trigger_empty:`Нет исключённых моделей`,meter_aria:`Исключено {{excluded}} из {{total}} моделей`,search_placeholder:`Поиск моделей…`,search_aria:`Поиск моделей для исключения`,list_aria:`Модели`,no_results:`Нет моделей по запросу «{{query}}»`,catalog_loading:`Загрузка моделей…`,catalog_unavailable:`Список моделей недоступен — правила всё равно применяются.`,catalog_error:`Не удалось загрузить модели.`,catalog_retry:`Повторить`,catalog_empty:`Нет моделей для отображения.`,footer_count:`Исключено {{excluded}} / {{total}}`,select_all:`Исключить все`,clear:`Очистить`,clear_aria:`Очистить выбранные модели (правила с подстановкой останутся)`,badge_wildcard:`По правилу`,badge_unknown:`Нет в списке`,wildcard_reason:`Соответствует правилу {{rule}}`,wildcard_locked:`Исключено правилом {{rule}} — измените правило ниже`,also_wildcard:`Также соответствует {{rule}}`,chips_more:`+{{n}}`,chip_remove:`Не исключать {{rule}}`,rules_label:`Правила с подстановкой`,rules_placeholder:`По одному правилу в строке, например gpt-5-*`,rules_hint:`* соответствует любым символам. Регистр не учитывается.`,rules_match_count:`соответствует моделям: {{n}}`,rules_match_none:`не соответствует ни одной модели из списка`,rules_reserved:`«*» отключает провайдера целиком — используйте переключатель «Отключено»`},oauth_model_alias:{title:`Псевдонимы моделей OAuth`,add:`Добавить псевдоним`,add_title:`Добавление псевдонимов моделей провайдера`,provider_label:`Провайдер`,provider_placeholder:`например: codex / vertex`,provider_hint:`По умолчанию используется текущий фильтр; выберите существующего провайдера или введите новое имя.`,model_source_loading:`Загрузка моделей...`,model_source_unsupported:`Текущая версия CPA не поддерживает загрузку списка моделей (ручной ввод остаётся доступным).`,model_source_loaded:`Загружено моделей: {{count}}. Используйте выпадающий список "Исходная модель" или введите своё значение. Сохранение пустого списка удаляет провайдера. Включите "Сохранить оригинал", чтобы оставить исходное имя вместе с псевдонимом.`,alias_label:`Псевдонимы моделей`,alias_name_placeholder:`Исходное имя модели`,alias_placeholder:`Псевдоним (обязательно)`,duplicate_alias:`Каждый псевдоним этого провайдера должен быть уникальным.`,alias_fork_label:`Сохранить оригинал`,add_alias:`Добавить псевдоним`,save:`Сохранить/обновить`,save_success:`Псевдонимы моделей обновлены`,save_failed:`Не удалось обновить псевдонимы моделей`,delete:`Удалить провайдера`,delete_confirm:`Удалить псевдонимы моделей для {{provider}}?`,delete_link_title:`Убрать сопоставление`,delete_link_confirm:`Удалить сопоставление из <code>{{sourceModel}}</code> ({{provider}}) к псевдониму <code>{{alias}}</code>?`,delete_alias_title:`Удалить псевдоним`,delete_alias_confirm:`Удалить псевдоним <code>{{alias}}</code> и все связанные сопоставления?`,delete_success:`Псевдонимы моделей удалены`,delete_failed:`Не удалось удалить псевдонимы моделей`,no_models:`Псевдонимов нет`,model_count:`Количество псевдонимов: {{count}}`,list_empty_all:`Псевдонимы ещё не созданы — используйте "Добавить псевдоним".`,chart_title:`Обзор всех сопоставлений`,diagram_providers:`Провайдеры`,diagram_source_models:`Исходные модели`,diagram_aliases:`Псевдонимы`,diagram_expand:`Развернуть`,diagram_collapse:`Свернуть`,diagram_add_alias:`Добавить псевдоним`,diagram_rename:`Переименовать`,diagram_rename_alias_title:`Переименование псевдонима`,diagram_rename_alias_label:`Новое имя псевдонима`,diagram_rename_placeholder:`Введите имя псевдонима...`,diagram_delete_link:`Убрать связь {{provider}} / {{name}}`,diagram_delete_alias:`Удалить псевдоним`,diagram_please_enter_alias:`Введите имя псевдонима.`,diagram_alias_exists:`Этот псевдоним уже существует.`,diagram_add_alias_title:`Добавление псевдонима`,diagram_add_alias_label:`Имя псевдонима`,diagram_add_placeholder:`Введите новое имя псевдонима...`,diagram_rename_btn:`Переименовать`,diagram_add_btn:`Добавить`,diagram_settings:`Настройки`,diagram_settings_title:`Настройки псевдонима — {{alias}}`,diagram_settings_source_title:`Настройки исходной модели`,diagram_settings_empty:`Для этого псевдонима ещё нет сопоставлений.`,diagram_tap_hint:`На сенсорных устройствах: коснитесь исходной модели, затем псевдонима для связывания.`,view_mode_diagram:`Диаграмма`,view_mode_list:`Список`,provider_required:`Сначала укажите провайдера`,upgrade_required:`Эта функция требует более новой версии CLI Proxy API (CPA). Обновите систему.`,upgrade_required_title:`Пожалуйста, обновите CLI Proxy API`,upgrade_required_desc:`Текущая версия сервера не поддерживает API псевдонимов моделей OAuth. Обновите CLI Proxy API (CPA) до последней версии.`},auth_login:{recommended_provider_section:`Рекомендуемый провайдер`,recommended_provider_badge:`Рекомендуемый провайдер`,other_oauth_providers:`Другие провайдеры OAuth`,other_login_methods:`Другие способы входа`,codex_oauth_title:`Codex OAuth`,codex_oauth_button:`Начать вход Codex`,codex_oauth_hint:`Выполните вход в сервис Codex через OAuth и автоматически получите/сохраните файлы авторизации.`,codex_oauth_url_label:`URL авторизации:`,codex_open_link:`Открыть ссылку`,codex_copy_link:`Скопировать ссылку`,codex_oauth_status_waiting:`Ожидание аутентификации...`,codex_oauth_status_success:`Аутентификация успешна!`,codex_oauth_status_error:`Ошибка аутентификации:`,codex_oauth_start_error:`Не удалось запустить Codex OAuth:`,codex_oauth_polling_error:`Не удалось проверить статус аутентификации:`,anthropic_oauth_title:`Anthropic OAuth`,anthropic_oauth_button:`Начать вход Anthropic`,anthropic_oauth_hint:`Выполните вход в сервис Anthropic (Claude) через OAuth и автоматически получите/сохраните файлы авторизации.`,anthropic_oauth_url_label:`URL авторизации:`,anthropic_open_link:`Открыть ссылку`,anthropic_copy_link:`Скопировать ссылку`,anthropic_oauth_status_waiting:`Ожидание аутентификации...`,anthropic_oauth_status_success:`Аутентификация успешна!`,anthropic_oauth_status_error:`Ошибка аутентификации:`,anthropic_oauth_start_error:`Не удалось запустить Anthropic OAuth:`,anthropic_oauth_polling_error:`Не удалось проверить статус аутентификации:`,antigravity_oauth_title:`Antigravity OAuth`,antigravity_oauth_button:`Начать вход Antigravity`,antigravity_oauth_hint:`Выполните вход в сервис Antigravity (Google) через OAuth и автоматически получите/сохраните файлы авторизации.`,antigravity_oauth_url_label:`URL авторизации:`,antigravity_open_link:`Открыть ссылку`,antigravity_copy_link:`Скопировать ссылку`,antigravity_oauth_status_waiting:`Ожидание аутентификации...`,antigravity_oauth_status_success:`Аутентификация успешна!`,antigravity_oauth_status_error:`Ошибка аутентификации:`,antigravity_oauth_start_error:`Не удалось запустить Antigravity OAuth:`,antigravity_oauth_polling_error:`Не удалось проверить статус аутентификации:`,kimi_oauth_title:`Kimi OAuth`,kimi_oauth_button:`Войти через Kimi`,kimi_sign_up_button:`Зарегистрироваться сейчас`,kimi_oauth_hint:`Быстро войдите в Kimi через авторизацию устройства. Файлы авторизации будут получены и сохранены автоматически.`,kimi_oauth_url_label:`URL авторизации:`,kimi_open_link:`Открыть ссылку`,kimi_copy_link:`Скопировать ссылку`,kimi_oauth_status_waiting:`Ожидание аутентификации...`,kimi_oauth_status_success:`Аутентификация успешна!`,kimi_oauth_status_error:`Ошибка аутентификации:`,kimi_oauth_start_error:`Не удалось запустить Kimi OAuth:`,kimi_oauth_polling_error:`Не удалось проверить статус аутентификации:`,xai_oauth_title:`xAI OAuth`,xai_oauth_button:`Начать вход xAI`,xai_oauth_hint:`Выполните вход в xAI Grok через OAuth и автоматически получите/сохраните файлы авторизации.`,xai_oauth_url_label:`URL авторизации:`,xai_open_link:`Открыть ссылку`,xai_copy_link:`Скопировать ссылку`,xai_oauth_status_waiting:`Ожидание аутентификации...`,xai_oauth_status_success:`Аутентификация успешна!`,xai_oauth_status_error:`Ошибка аутентификации:`,xai_oauth_start_error:`Не удалось запустить xAI OAuth:`,xai_oauth_polling_error:`Не удалось проверить статус аутентификации:`,plugin_oauth_title:`{{name}} OAuth`,plugin_oauth_button:`Начать вход {{name}}`,plugin_oauth_hint:`Выполните вход в {{name}} через OAuth-поток плагина и автоматически получите/сохраните файлы авторизации.`,plugin_oauth_url_label:`URL авторизации:`,plugin_open_link:`Открыть ссылку`,plugin_copy_link:`Скопировать ссылку`,plugin_oauth_status_waiting:`Ожидание аутентификации...`,plugin_oauth_status_success:`Аутентификация успешна!`,plugin_oauth_status_error:`Ошибка аутентификации:`,plugin_oauth_start_error:`Не удалось запустить OAuth плагина:`,xai_callback_label:`Callback URL или код`,xai_callback_placeholder:`Вставьте код со страницы Grok или полный callback URL`,xai_callback_hint:`Grok иногда показывает только код на странице. Вставьте этот код напрямую, приложение автоматически отправит его как http://127.0.0.1:56121/callback?...`,xai_callback_required:`Сначала вставьте код со страницы Grok или полный callback URL.`,xai_callback_state_missing:`Отсутствует state для этого входа xAI. Запустите вход xAI заново и затем отправьте код.`,oauth_callback_label:`Callback URL`,oauth_callback_placeholder:`http://localhost:1455/auth/callback?code=...&state=...`,oauth_callback_hint:`Режим удалённого браузера: после перенаправления провайдера на http://localhost:... скопируйте полный URL и отправьте его здесь.`,oauth_callback_button:`Отправить Callback URL`,oauth_callback_required:`Сначала вставьте полный URL перенаправления.`,oauth_callback_success:`Callback URL отправлен. Продолжайте ожидать аутентификацию.`,oauth_callback_error:`Не удалось отправить Callback URL:`,oauth_callback_upgrade_hint:`Обновите CLI Proxy API или проверьте подключение.`,oauth_callback_status_success:`Callback URL отправлен, ожидаем аутентификацию...`,oauth_callback_status_error:`Не удалось отправить Callback URL:`,missing_state:`Не удалось получить параметр состояния аутентификации`,login_another_account:`Войти в другой аккаунт`,view_auth_files:`Открыть файлы авторизации`,iflow_oauth_title:`iFlow OAuth`,iflow_oauth_button:`Начать вход iFlow`,iflow_oauth_hint:`Выполните вход в сервис iFlow через OAuth и автоматически получите/сохраните файлы авторизации.`,iflow_oauth_url_label:`URL авторизации:`,iflow_open_link:`Открыть ссылку`,iflow_copy_link:`Скопировать ссылку`,iflow_oauth_status_waiting:`Ожидание аутентификации...`,iflow_oauth_status_success:`Аутентификация успешна!`,iflow_oauth_status_error:`Ошибка аутентификации:`,iflow_oauth_start_error:`Не удалось запустить iFlow OAuth:`,iflow_oauth_polling_error:`Не удалось проверить статус аутентификации:`,remote_access_disabled:`Этот способ входа недоступен при удалённом доступе. Подключитесь с localhost.`},stats:{success:`Успех`,failure:`Сбой`},status_bar:{success_short:`✓`,failure_short:`✗`,no_requests:`Нет запросов`},logs:{title:`Просмотр журналов`,refresh_button:`Обновить журналы`,clear_button:`Очистить журналы`,fullscreen_button:`На весь экран`,exit_fullscreen_button:`Выйти из полноэкранного режима`,download_button:`Скачать журналы`,error_logs_modal_title:`Журналы ошибок запросов`,error_logs_description:`Выберите файл журнала ошибок запроса, чтобы открыть или скачать его (создаётся только при отключённом журналировании запросов).`,error_logs_request_log_enabled:`Журналирование запросов включено, поэтому этот список всегда будет пустым. Отключите журналирование запросов и обновите список, чтобы просмотреть журналы ошибок.`,error_logs_empty:`Файлы журнала ошибок запросов не найдены`,error_logs_load_error:`Не удалось загрузить список журналов ошибок`,error_logs_size:`Размер`,error_logs_modified:`Изменён`,error_logs_open:`Открыть`,error_logs_download:`Скачать`,error_log_view_title:`Подробности журнала ошибок запроса`,error_log_open_failed:`Не удалось открыть журнал ошибок`,error_log_empty_content:`Этот журнал ошибок пуст`,error_log_copy_success:`Содержимое журнала ошибок скопировано`,error_log_download_success:`Журнал ошибок успешно скачан`,request_log_download_title:`Скачать журнал запросов`,request_log_download_confirm:`Скачать журнал запросов с идентификатором {{id}}?`,request_log_download_success:`Журнал запросов успешно скачан`,empty_title:`Журналы недоступны`,empty_desc:`Когда включена опция "Включить журналирование в файл", журналы появятся здесь`,cpa_file_logging_required:`Подключён режим CPA. Для просмотра журналов сначала включите запись журналов в файл.`,cpa_file_logging_required_title:`Требуется файловое журналирование`,cpa_file_logging_required_desc:`CPA читает этот журнал из локальных файлов. Включите logging-to-file в конфигурации и обновите страницу.`,file_logging_required:`Этот endpoint журналов требует включить запись журналов в файл перед чтением файловых журналов.`,file_logging_required_title:`Требуется файловое журналирование`,file_logging_required_desc:`Этот endpoint журналов читает локальные файлы. Включите logging-to-file в конфигурации и обновите страницу.`,log_content:`Содержимое журнала`,loading:`Загрузка журналов...`,load_error:`Не удалось загрузить журналы`,clear_confirm:`Очистить все журналы? Действие нельзя отменить!`,clear_success:`Журналы успешно очищены`,download_success:`Журналы успешно скачаны`,auto_refresh:`Автообновление`,load_more_hint:`Прокрутите вверх, чтобы загрузить ещё`,hidden_lines:`Скрыто: {{count}} строк`,loaded_lines:`Загружено: {{count}} строк`,filtered_lines:`Отфильтровано: {{count}} строк`,hide_management_logs:`Скрыть журналы {{prefix}}`,show_raw_logs:`Показать исходные журналы`,show_raw_logs_hint:`Показать текст журнала без обработки для удобного копирования в несколько строк`,search_placeholder:`Искать по содержимому или ключевым словам`,filter_panel_title:`Структурные фильтры`,filter_panel_expand:`Развернуть структурные фильтры`,filter_panel_collapse:`Свернуть структурные фильтры`,filter_panel_active_count:`Активно: {{count}}`,filter_method:`Метод`,filter_status:`Статус`,filter_path:`Путь`,filter_path_empty:`Нет доступных путей`,filter_status_2xx:`2xx`,filter_status_3xx:`3xx`,filter_status_4xx:`4xx`,filter_status_5xx:`5xx`,clear_filters:`Очистить фильтры`,search_empty_title:`Подходящих журналов не найдено`,search_empty_desc:`Попробуйте другой запрос или сбросьте фильтры.`,double_click_copy_hint:`Дважды нажмите, чтобы скопировать строку журнала`,copy_success:`Строка журнала скопирована`,copy_failed:`Не удалось скопировать`},config_management:JSON.parse(`{"title":"Панель конфигурации","reload":"Перезагрузить","reload_confirm_message":"Перезагрузка отбросит ваши несохранённые изменения. Продолжить?","save":"Сохранить","status_loading":"Загрузка конфигурации...","status_loading_short":"Загрузка","status_loaded":"Конфигурация загружена","status_loaded_short":"Загружено","status_dirty":"Есть несохранённые изменения","status_dirty_short":"Несохранено","status_disconnected":"Подключитесь к серверу, чтобы загрузить конфигурацию","status_disconnected_short":"Нет связи","status_load_failed":"Не удалось загрузить","status_load_failed_short":"Ошибка","status_saving":"Сохранение конфигурации...","status_saving_short":"Сохранение","save_success":"Конфигурация успешно сохранена","visual_mode_unavailable":"Визуальный редактор недоступен, пока не исправлен синтаксис YAML","visual_mode_unavailable_short":"Ошибка YAML","validation_blocked_short":"Есть ошибки","visual_mode_unavailable_detail":"Визуальный редактор недоступен, потому что в конфигурации есть некорректный YAML: {{message}}","visual_mode_save_blocked":"Нельзя сохранять из визуального режима, пока не исправлен синтаксис YAML","visual_mode_latest_yaml_invalid":"Последняя конфигурация на сервере содержит некорректный YAML. Проверьте её в режиме исходника перед сохранением визуальных изменений: {{message}}","editor_placeholder":"key: value","search_placeholder":"Поиск по конфигурации...","search_button":"Поиск","search_no_results":"Нет результатов","search_prev":"Назад","search_next":"Вперёд","diff":{"title":"Обзор изменений","confirm":"Подтвердить","no_changes":"Изменений не обнаружено"},"tabs":{"visual":"Визуальный редактор","source":"Редактор файла"},"visual":{"notice":"Визуальный режим охватывает основные поля. Остальные параметры config.yaml по-прежнему нужно проверять или редактировать в режиме исходника.","quick_jump":"Быстрый переход","mode":{"simple":"Простой","full":"Полный","label":"Режим редактора","more_settings":"Переключитесь в полный режим, чтобы увидеть все разделы ({{total}})","validation_banner":"В некоторых дополнительных параметрах есть ошибки проверки, сохранение заблокировано. Переключитесь в полный режим, чтобы исправить их.","switch_to_full":"Перейти в полный режим"},"search":{"placeholder":"Поиск настроек (по названию или ключу YAML)","no_results":"Нет подходящих настроек"},"sections":{"connectivity":{"title":"Доступ и аутентификация","description":"Адрес сервера, порт, каталог аутентификации и ключи API"},"logging":{"title":"Логи и диагностика","description":"Отладка, вывод логов и статистика использования"},"advanced":{"title":"Дополнительно и эксперименты","description":"Подмена заголовков, кэш подписей, источники плагинов и другие редко изменяемые настройки","plugins_title":"Плагины","signature_title":"Подпись Antigravity"},"server":{"title":"Настройки сервера","description":"Базовые параметры сервера","host":"Адрес хоста","port":"Порт"},"tls":{"title":"Настройка TLS/SSL","description":"Параметры безопасного HTTPS-соединения","enable":"Включить TLS","enable_desc":"Включить безопасное HTTPS-соединение","cert":"Путь к сертификату","key":"Путь к закрытому ключу"},"remote":{"title":"Удалённое управление","description":"Настройки удалённого доступа и панели управления","allow_remote":"Разрешить удалённый доступ","allow_remote_desc":"Разрешить управление с других хостов","disable_panel":"Отключить панель","disable_panel_desc":"Отключить встроенную веб-панель управления","disable_auto_update_panel":"Отключить автообновление панели","disable_auto_update_panel_desc":"Скачивать панель при первом отсутствии, но не обновлять её автоматически с GitHub","secret_key":"Ключ управления","secret_key_placeholder":"Задайте ключ управления","panel_repo":"Репозиторий панели"},"auth":{"title":"Настройки аутентификации","description":"API-ключи и каталог аутентификации","auth_dir":"Каталог auth-dir","auth_dir_hint":"Путь к каталогу с файлами аутентификации (поддерживает ~)"},"system":{"title":"Системные настройки","description":"Отладка, журналирование, статистика и производительность","debug":"Режим отладки","debug_desc":"Включить подробные отладочные журналы","commercial_mode":"Коммерческий режим","commercial_mode_desc":"Отключить тяжёлое промежуточное ПО для поддержки высокой нагрузки","logging_to_file":"Журналировать в файл","logging_to_file_desc":"Сохранять журналы в файлы","plugins_enabled":"Включить систему плагинов","plugins_enabled_desc":"Включает загрузку стандартных dynamic-library плагинов; отдельные экземпляры управляются на странице плагинов","plugin_store_sources":"Сторонние источники плагинов","plugin_store_sources_desc":"Добавляет registry-источники магазина плагинов; встроенный официальный источник всегда сохраняется","plugin_store_sources_label":"URL registry источника плагинов (plugins.store-sources)","plugin_store_sources_placeholder":"https://example.com/cliproxy-plugins/registry.json","plugin_store_sources_hint":"Один URL registry.json в строке. Пустые строки отфильтровываются при сохранении","plugin_store_auth":"Правила авторизации магазина плагинов","plugin_store_auth_desc":"Настраивает заголовки авторизации для приватных registry, метаданных GitHub Release или скачивания артефактов","plugin_store_auth_hint":"Указывайте только имена переменных окружения, не реальные token. Backend читает значения из своей среды выполнения.","store_auth_empty":"Правила авторизации не настроены. Публичным источникам плагинов они не нужны.","store_auth_rule":"Правило авторизации","store_auth_add":"Добавить правило","store_auth_match":"Совпадающий URL-префикс","store_auth_type":"Тип авторизации","store_auth_apply_to":"Применять к","store_auth_apply_to_hint":"Если ничего не выбрано, правило применяется ко всем типам запросов.","store_auth_apply_registry":"Registry","store_auth_apply_metadata":"Metadata","store_auth_apply_artifact":"Artifact","store_auth_type_none":"Нет","store_auth_type_bearer":"Bearer","store_auth_type_basic":"Basic","store_auth_type_header":"Свой Header","store_auth_type_github_token":"GitHub token","store_auth_token_env":"Переменная token","store_auth_username_env":"Переменная username","store_auth_password_env":"Переменная password","store_auth_header_name":"Имя Header","store_auth_header_value_env":"Переменная значения Header","store_auth_allow_insecure":"Разрешить небезопасные HTTP URL","logs_max_size":"Максимальный размер файла журнала (МБ)","error_logs_max_files":"Файлов журнала ошибок","usage_statistics_enabled":"Включить статистику использования в памяти","usage_statistics_enabled_desc":"Агрегировать статистику использования запросов в памяти","redis_usage_retention":"Хранение очереди Redis usage (сек)","redis_usage_retention_hint":"Время хранения вывода RESP LPOP/RPOP в памяти, максимум 3600 секунд","antigravity_signature_cache":"Включить кэш подписей Antigravity","antigravity_signature_cache_desc":"Предпочитать и проверять кэшированные подписи thinking-блоков","antigravity_signature_strict":"Строгая проверка bypass-подписи","antigravity_signature_strict_desc":"Применяется только при отключённом кэше подписей; проверяет полное дерево Claude protobuf"},"headers":{"title":"Заголовки по умолчанию","description":"Заголовки по умолчанию для OAuth-запросов Claude и Codex, когда клиент их не отправил","claude_title":"Claude Header Defaults","codex_title":"Codex Header Defaults","user_agent":"User-Agent","package_version":"Package Version","runtime_version":"Runtime Version","os":"OS","arch":"Arch","timeout":"Timeout","stabilize_device":"Стабилизировать профиль устройства","stabilize_device_desc":"Фиксировать OS/Arch и стабилизировать программный отпечаток для учётных данных/API-ключа","beta_features":"Beta Features"},"network":{"title":"Сетевые настройки","description":"Параметры прокси, повторов и маршрутизации","proxy_url":"URL прокси","request_retry":"Количество повторов запросов","max_retry_credentials":"Максимум учётных данных для повторов","max_retry_credentials_hint":"Оставьте пустым, чтобы не задавать поле. Значение 0 сохраняет legacy-поведение и позволяет перебрать все доступные учётные данные.","max_retry_interval":"Максимальный интервал повтора (сек)","auth_auto_refresh_workers":"Workers автообновления auth","auth_auto_refresh_workers_hint":"Если больше 0, переопределяет число workers по умолчанию (16)","disable_image_generation":"Отключить генерацию изображений","disable_image_generation_hint":"false включает; true отключает везде; chat отключает инъекцию на не-image endpoints; passthrough сохраняет список инструментов клиента без инъекции","disable_image_generation_false":"false (включено)","disable_image_generation_true":"true (отключено везде)","disable_image_generation_chat":"chat (только отключить chat-инъекцию)","disable_image_generation_passthrough":"passthrough (сохранить список инструментов клиента)","gpt_image_2_base_model":"Базовая модель GPT Image 2","gpt_image_2_base_model_hint":"Основная модель для проксирования gpt-image-2 image-запросов; если пусто или неверно, backend использует значение по умолчанию","routing_strategy":"Стратегия маршрутизации","routing_strategy_hint":"Выберите стратегию подбора учётных данных","strategy_round_robin":"По кругу","strategy_weighted_round_robin":"Взвешенный круговой алгоритм","strategy_fill_first":"Сначала заполнить","session_affinity_ttl":"TTL привязки сессии","force_model_prefix":"Принудительный префикс модели","force_model_prefix_desc":"Запросы к моделям без префикса используют только учётные данные без префикса","passthrough_headers":"Передавать upstream-заголовки","passthrough_headers_desc":"Передавать отфильтрованные upstream-заголовки ответа downstream-клиентам","disable_cooling":"Отключить cooldown","disable_cooling_desc":"Глобально отключить окна охлаждения auth/model после ошибок","session_affinity":"Маршрутизация с привязкой к сессии","ws_auth":"Аутентификация WebSocket","ws_auth_desc":"Включить аутентификацию WebSocket (/v1/ws)"},"quota":{"title":"Резерв по квоте","description":"Стратегия при превышении квоты","switch_project":"Переключить проект","switch_project_desc":"Автоматически переходить на другой проект при превышении квоты","switch_preview_model":"Переключить на preview-модель","switch_preview_model_desc":"Переключаться на preview-версию модели при превышении квоты","antigravity_credits":"Использовать Antigravity Credits"},"streaming":{"title":"Настройки стриминга","description":"Параметры keepalive и повторов запуска","keepalive_seconds":"Период keepalive (сек)","keepalive_hint":"Установите 0 или оставьте поле пустым, чтобы отключить keepalive","bootstrap_retries":"Повторы запуска","bootstrap_hint":"Количество попыток при запуске стрима (до первого байта)","nonstream_keepalive":"Интервал keepalive для нестиминговых ответов (сек)","nonstream_keepalive_hint":"Отправлять пустые строки каждые N секунд для нестиминговых ответов, чтобы избежать простоя; установите 0 или оставьте пустым для отключения","disabled":"Отключено"},"payload":{"title":"Настройки полезной нагрузки","description":"Значения по умолчанию, raw JSON-правила, правила переопределения и фильтрации","default_rules":"Правила по умолчанию","default_rules_desc":"Использовать эти значения, если параметр не указан в запросе","default_raw_rules":"Raw-правила по умолчанию","default_raw_rules_desc":"Если параметр отсутствует, записывать эти значения как raw JSON-фрагменты, например true, 123, \\"high\\" или {\\"type\\":\\"object\\"}","override_rules":"Правила переопределения","override_rules_desc":"Принудительно задавать значения параметров в запросе","override_raw_rules":"Raw-правила переопределения","override_raw_rules_desc":"Всегда перезаписывать значения как raw JSON-фрагменты; полезно для response_format, схем и других сложных полей","filter_rules":"Правила фильтрации","filter_rules_desc":"Предварительно фильтровать тело исходящего запроса через JSON Path, автоматически удалять несоответствующие или лишние параметры (санитизация запроса)"}},"api_keys":{"label":"Список API-ключей (api-keys)","add":"Добавить API-ключ","generate":"Сгенерировать","empty":"API-ключи отсутствуют","hint":"Каждая запись — это API-ключ (в том же стиле, что и на странице управления API-ключами)","edit_title":"Редактирование API-ключа","add_title":"Добавление API-ключа","input_label":"API-ключ","input_placeholder":"Вставьте API-ключ","input_hint":"Меняет только содержимое локального файла конфигурации, не синхронизируется с интерфейсом управления API-ключами","error_empty":"Введите API-ключ","error_invalid":"API-ключ содержит недопустимые символы"},"payload_rules":{"rule":"Правило","models":"Применимые модели","model_name":"Название модели","provider_type":"Тип провайдера","add_model":"Добавить модель","params":"Настройки параметров","remove_params":"Удалить параметры","json_path":"JSON Path (например, temperature)","json_path_filter":"JSON Path (gjson/sjson), например generationConfig.thinkingConfig.thinkingBudget","param_type":"Тип параметра","param_value":"Значение параметра","add_param":"Добавить параметр","no_rules":"Правил нет","add_rule":"Добавить правило","provider_default":"По умолчанию","provider_openai":"OpenAI","provider_openai_response":"OpenAI Response","provider_responses":"Responses","provider_gemini":"Gemini","provider_claude":"Claude","provider_codex":"Codex","provider_antigravity":"Antigravity","advanced":"Дополнительно","hide_advanced":"Скрыть дополнительно","from_protocol":"Исходный протокол (from-protocol)","headers":"Совпадения заголовков запроса","header_name":"Имя заголовка","header_value":"Значение заголовка","add_header":"Добавить заголовок","match":"Обязательные совпадения (match)","notMatch":"Запрещённые совпадения (not-match)","exist":"Обязательные пути (exist)","notExist":"Запрещённые пути (not-exist)","condition_path":"Путь условия","condition_value":"Значение условия","add_condition":"Добавить условие","value_type_string":"Строка","value_type_number":"Число","value_type_boolean":"Булево","value_type_json":"JSON","value_string":"Строковое значение","value_number":"Числовое значение (например, 0.7)","value_boolean":"true или false","value_json":"Значение JSON","value_raw_json":"Raw JSON-фрагмент, например true, 123, \\"high\\" или {\\"type\\":\\"object\\"}","value_default":"Значение","boolean_true":"true","boolean_false":"false"},"validation":{"validation_blocked":"Исправьте ошибки валидации перед сохранением","port_range":"Введите корректный порт от 1 до 65535","non_negative_integer":"Введите неотрицательное целое число","integer_range_1_3600":"Введите целое число от 1 до 3600","payload_invalid_number":"Введите корректное число","payload_invalid_boolean":"Выберите true или false","payload_invalid_json":"Введите корректный JSON"},"common":{"edit":"Изменить","delete":"Удалить","cancel":"Отменить","update":"Обновить","add":"Добавить"}}}`),quota_management:{title:`Управление квотами`,description:`Следите за статусом квот OAuth для учётных данных Antigravity, Codex, Claude, Kimi и xAI.`,refresh_all_credentials:`Обновить все учётные данные`,meta_credentials:`{{count}} учётных данных`,meta_loaded:`{{count}} загружено`,meta_attention:`{{count}} требуют внимания`,empty_title:`Нет учётных данных с квотами`,empty_desc:`Подключите учётные данные Antigravity, Claude, Codex, xAI или Kimi, чтобы отслеживать квоту здесь.`,windows_title:`Окна квот`,windows_span_weekly:`две недели`,windows_span_session:`три дня`,windows_current:`текущий`,windows_today:`Сегодня`,windows_prev:`Назад`,windows_next:`Вперёд`,windows_mode_weekly:`Неделя`,windows_mode_session:`5 часов`,windows_credential:`Учётные данные`,windows_idle:`нет активного окна`,windows_empty_session:`Ни одни учётные данные на этой странице не предоставляют 5-часовое окно квоты.`,windows_legend_current:`текущее окно`,windows_legend_upcoming:`предстоящее`,windows_legend_elapsed:`прошедшее`,windows_note_weekly:`Каждая полоса — одно окно квоты, от открытия до сброса. Окна, заканчивающиеся вместе, конкурируют за одни и те же дни.`,windows_note_session:`Каждая полоса — одно 5-часовое окно. Показаны только учётные данные с активным окном; остальные остаются пустыми.`,weekday_sun:`Вс`,weekday_mon:`Пн`,weekday_tue:`Вт`,weekday_wed:`Ср`,weekday_thu:`Чт`,weekday_fri:`Пт`,weekday_sat:`Сб`},plugin_management:{title:`Управление плагинами`,description:`Просматривайте найденные и зарегистрированные плагины, управляйте переключателями экземпляров, полями конфигурации и ссылками на ресурсы.`,refresh:`Обновить`,load_failed:`Не удалось загрузить плагины`,config_load_failed:`Не удалось прочитать конфигурацию плагина`,config_not_found:`Не удалось прочитать конфигурацию плагина: backend не нашёл этот плагин.`,unsupported_backend:`Текущий backend не предоставляет API управления плагинами. Используйте более новую сборку backend с эндпоинтами управления плагинами и перезапустите сервис.`,global_status:`Глобальный статус`,global_enabled:`Включено`,global_disabled:`Отключено`,global_disabled_hint:`plugins.enabled имеет значение false, поэтому включённые экземпляры плагинов не станут активными.`,plugins_dir:`Каталог плагинов`,discovered:`Найдено`,effective:`Активно`,search_placeholder:`Искать ID, имя, автора или ресурс плагина...`,search_label:`Поиск плагинов`,no_plugins:`Плагинов нет`,no_plugins_desc:`В каталоге плагинов и реестре времени выполнения плагины не найдены.`,configured:`Настроен`,not_configured:`Не настроен`,registered:`Зарегистрирован`,not_registered:`Не зарегистрирован`,oauth:`OAuth`,status_effective:`Активен`,status_inactive:`Неактивен`,edit_config:`Изменить конфиг`,open_repository:`Открыть репозиторий`,config_title:`Настроить {{name}}`,base_settings:`Базовые настройки`,enabled:`Включено`,enabled_hint:`Управляет полем enabled для этого экземпляра плагина в plugins.configs.`,priority:`Приоритет`,config_fields:`Поля конфигурации`,no_config_fields:`Этот плагин не объявляет визуальные поля конфигурации.`,select_placeholder:`Выберите`,array_item_placeholder:`Введите элемент массива`,add_array_item:`Добавить элемент массива`,remove_array_item:`Удалить элемент массива`,delete_plugin:`Удалить`,delete_confirm_title:`Удалить плагин`,delete_confirm_message:`Удалить {{name}} ({{id}})? Будут удалены локальный файл плагина и сохранённая конфигурация.`,delete_success:`Плагин удалён`,delete_failed:`Не удалось удалить плагин`,delete_restart_required:`Загруженный плагин можно удалить только после перезапуска backend.`,toggle_success:`Статус плагина обновлён`,toggle_failed:`Не удалось обновить статус плагина`,runtime_pending:`Изменение плагина сохранено, но состояние runtime ещё обновляется. Обновите страницу позже или проверьте логи backend.`,save_success:`Конфигурация плагина сохранена`,save_failed:`Не удалось сохранить конфигурацию плагина`,validation_failed:`Сначала исправьте ошибки формы конфигурации плагина`,invalid_priority:`Введите целочисленный приоритет`,invalid_number:`Введите корректное число`,invalid_integer:`Введите корректное целое число`,invalid_json:`Введите корректный JSON`,expected_array:`Введите JSON-массив`,expected_object:`Введите JSON-объект`,invalid_enum:`Выберите одно из объявленных значений enum`},plugin_store:{title:`Магазин плагинов`,description:`Просматривайте реестр плагинов, устанавливайте и обновляйте плагины для текущего бэкенда.`,description_show_more:`Показать больше`,description_show_less:`Свернуть`,source_name:`Источник: {{source}}`,cli_proxy_api_source:`Источник CLIProxyAPI`,refresh:`Обновить`,retry:`Повторить`,load_failed:`Не удалось загрузить магазин плагинов`,unsupported_backend:`Текущий бэкенд не предоставляет API магазина плагинов. Используйте новую сборку бэкенда с поддержкой магазина плагинов и перезапустите службу.`,registry_failed:`Не удалось обратиться к реестру плагинов`,global_status:`Глобальный статус`,global_enabled:`Включено`,global_disabled:`Отключено`,global_disabled_hint:`Параметр plugins.enabled выключен, поэтому установленные плагины не будут работать.`,plugins_dir:`Каталог плагинов`,stat_available:`Доступно`,search_placeholder:`Поиск по ID, названию, автору или тегу...`,search_label:`Поиск в магазине плагинов`,filter_label:`Фильтр по статусу установки`,filter_all:`Все`,filter_installed:`Установленные`,filter_not_installed:`Не установленные`,filter_updates:`Обновления`,badge_installed:`Установлен`,badge_update:`Доступно обновление`,badge_effective:`Активен`,version_arrow:`v{{from}} → v{{to}}`,install_type:`Установка: {{type}}`,platforms:`Платформы: {{platforms}}`,auth_required:`Нужна авторизация`,auth_configured:`Авторизация настроена`,auth_required_hint:`Перед установкой из этого источника или URL артефакта настройте plugins.store-auth`,source_errors_title:`Некоторые источники плагинов не загрузились`,install:`Установить`,update:`Обновить`,manage:`Управлять`,install_confirm_title:`Установка плагина`,install_confirm_message:`Скачать {{target}} из реестра плагинов и установить в локальный каталог плагинов?`,update_confirm_title:`Обновление плагина`,update_confirm_message:`Скачать и установить {{target}}?`,install_version_label:`Версия`,install_version_latest:`последняя`,install_version_latest_mode:`Последняя стабильная`,install_version_latest_hint:`Определяется backend во время установки. Версия в списке: {{version}}.`,install_version_release_mode:`Выбрать релиз`,install_version_release_hint:`Загрузить доступные теги из GitHub Releases.`,install_version_manual_mode:`Ручной тег релиза`,install_version_manual_hint:`Используйте только если автоматическая загрузка недоступна.`,install_versions_loading:`Загрузка GitHub Releases...`,install_versions_load_failed:`Не удалось загрузить версии релизов`,install_version_non_github:`Репозиторий этого плагина не является репозиторием GitHub`,install_versions_empty:`Доступные релизы не найдены.`,install_versions_only_prerelease:`Доступны только prerelease-версии. Включите их отображение, чтобы выбрать версию.`,install_version_release_select:`Выберите версию релиза`,install_version_release_placeholder:`Выберите версию релиза`,install_version_prerelease_badge:`prerelease`,install_version_assets_count:`{{count}} assets`,install_version_show_prerelease:`Показать prerelease-версии`,install_version_manual_placeholder:`Например v0.1.4`,install_version_manual_error:`Тег релиза может содержать только буквы, цифры, точки, подчеркивания, плюсы и дефисы; пробелы и слеши не допускаются.`,install_version_current_selected:`{{version}} уже установлена. Выберите другую версию.`,install_version_releases_link:`Открыть GitHub Releases`,install_success:`Плагин установлен`,update_success:`Плагин обновлён`,install_failed:`Не удалось установить плагин`,update_failed:`Не удалось обновить плагин`,status_pending:`Файлы плагина обновлены, но локальный статус ещё не обновился. Обновите страницу позже или проверьте логи backend.`,registration_pending:`Файлы плагина обновлены, но регистрация ещё выполняется. Обновите страницу позже или проверьте логи backend.`,restart_required_notice:`Перезапустите службу, чтобы загрузить новую версию плагина`,restart_required_banner:`Перезапустите службу, чтобы применить новую версию: {{plugins}}`,open_repository:`Открыть репозиторий`,open_homepage:`Открыть сайт`,no_plugins:`Реестр пуст`,no_plugins_desc:`Реестр плагинов не вернул ни одного плагина.`,no_matches:`Нет подходящих плагинов`,no_matches_desc:`Нет плагинов, соответствующих текущему поиску или фильтру.`,clear_filters:`Сбросить фильтры`,security_banner_title:`Сторонние плагины работают с полным доступом к бэкенду`,security_banner_text:`Плагины выполняют код внутри прокси-сервиса и могут читать ваши учётные данные и трафик. Устанавливайте только плагины, которым доверяете, — особенно осторожно относитесь к плагинам, не опубликованным официальной организацией router-for-me.`,badge_untrusted:`Сторонний`,gate_title:`Установка {{name}}`,gate_title_update:`Обновление {{name}}`,gate_warning:`Если вы не прочитаете это, могут произойти неожиданные и опасные последствия.`,gate_effect_runs_code:`Этот плагин будет выполнять несертифицированный сторонний код внутри вашего прокси-бэкенда. Система не может изолировать или аудировать его поведение, и он может получить доступ к вашим конфиденциальным учётным данным, сетевым запросам и данным ответов.`,gate_effect_no_review:`Этот плагин не опубликован и не проверен официальной организацией router-for-me. Официальная организация не предоставляет никаких явных или подразумеваемых гарантий стабильности, безопасности, соответствия требованиям или любых изменений поведения в последующих версиях этого плагина.`,gate_effect_restart:`Установка изменяет локальный каталог плагинов и может потребовать перезапуска сервиса.`,gate_untrusted_alert:`Этот плагин не от официальной организации router-for-me. Продолжайте, только если полностью доверяете его автору и источнику.`,gate_repository_label:`Репозиторий`,gate_source_label:`Источник`,gate_step1_action:`Я хочу установить этот плагин`,gate_step2_action:`Я прочитал и понимаю эти риски`,gate_step3_prompt:`Для подтверждения введите «{{token}}» в поле ниже`,gate_step3_action:`Установить этот плагин`,gate_step3_hint:`Введите точный идентификатор, показанный выше, чтобы включить установку.`},system_info:{title:`Информация о центре управления`,about_title:`CLI Proxy API Management Center`,models_title:`Доступные модели`,models_desc:`Показывает ответ /models и автоматически использует сохранённые API-ключи для авторизации.`,models_loading:`Загрузка доступных моделей...`,models_empty:`Сервис /models не вернул модели`,models_error:`Не удалось загрузить список моделей`,models_count:`Доступно моделей: {{count}}`,version_check_button:`Проверить обновления`,version_update_available:`Доступно обновление: {{version}}`,version_is_latest:`Установлена последняя версия`,version_check_error:`Не удалось проверить обновление`,version_current_missing:`Версия сервера недоступна; сравнение невозможно`,version_unknown:`Неизвестно`,quick_links_title:`Быстрые ссылки`,quick_links_desc:`Доступ к репозиториям проекта и документации для помощи и обновлений.`,link_main_repo:`Основной репозиторий`,link_main_repo_desc:`Исходный код основной программы CLI Proxy API`,link_webui_repo:`Репозиторий WebUI`,link_webui_repo_desc:`Исходный код фронтенда центра управления`,link_docs:`Документация`,link_docs_desc:`Учебные пособия и руководства по настройке`,clear_login_title:`Локальные данные входа`,clear_login_desc:`Очистите локально сохранённые данные входа и выполните выход.`,clear_login_button:`Очистить данные входа`,clear_login_confirm:`Очистить локальные данные входа и выйти?`},notification:{request_log_updated:`Настройка журналирования запросов обновлена`,login_storage_cleared:`Локальные данные входа очищены`,data_refreshed:`Данные успешно обновлены`,connection_required:`Сначала установите подключение`,refresh_failed:`Не удалось обновить`,update_failed:`Не удалось обновить`,add_failed:`Не удалось добавить`,delete_failed:`Не удалось удалить`,upload_failed:`Не удалось загрузить`,download_failed:`Не удалось скачать`,login_failed:`Вход не выполнен`,commercial_mode_restart_required:`Режим коммерческого использования изменён. Перезапустите сервис, чтобы применить изменения`,copy_failed:`Не удалось скопировать`,link_copied:`Ссылка скопирована в буфер обмена`},language:{switch:`Язык`,chinese:`中文`,chinese_tw:`繁體中文(台灣)`,english:`English`,russian:`Русский`},theme:{switch:`Тема`,light:`Шерстяная бумага`,white:`Чисто-белая`,dark:`Тёмная`,auto:`Следовать системе`},sidebar:{toggle_expand:`Развернуть боковую панель`,toggle_collapse:`Свернуть боковую панель`,expand:`Развернуть`,collapse:`Свернуть`,subtitle:`Консоль управления CLI Proxy API`,auth_files_count:`Файлов аутентификации: {{count}}`},footer:{api_version:`Версия CLI Proxy API`,build_date:`Время сборки`,version:`Версия интерфейса управления`},providersPage:JSON.parse(`{"header":{"title":"AI Провайдеры","activeResources":"{{active}}/{{total}} активных","providerFamilies":"{{count}} семейств","updatedAt":"Обновлено {{time}}"},"actions":{"refresh":"Обновить","syncing":"Синхронизация","new":"Создать","edit":"Изменить","view":"Просмотр","delete":"Удалить","cancel":"Отмена","save":"Сохранить","create":"Создать","enable":"Включить","disable":"Отключить"},"categories":{"title":"Провайдеры","quickFill":"Быстрое заполнение","activeCount":"{{active}}/{{total}} активных"},"providerNames":{"gemini":"Gemini","interactions":"Interactions API","codex":"Codex","xai":"xAI","claude":"Claude","claudeApi":"ClaudeAPI","vertex":"Vertex","openaiCompatibility":"OpenAI-совместимый","apikeyFun":"APIKEY.FUN","code0":"Code0","fennoAI":"FennoAI","qiniuCloud":"Qiniu Cloud","lmuAI":"LMU AI (Lingmou AI)","kimi":"Kimi"},"table":{"key":"Ключ","baseUrl":"Base URL","prefix":"Префикс","models":"Модели/Заголовки","status":"Статус","actions":"Действия","metrics":{"models":"Модели","keys":"Ключи","headers":"Заголовки"},"websocketsTag":"WebSockets","cloakTag":"Cloak","empty":"Нет ресурсов, нажмите \\"Создать\\".","filterPlaceholder":"Поиск по ключам, URL, префиксам…","description":"Управление ресурсами {{route}}"},"sponsor":{"protocolSummary":"Anthropic / OpenAI / Gemini / Codex API (Responses)","detailHint":"{{provider}} сохраняется в соответствующие конфигурации API key по протоколам; здесь они управляются вместе.","registerLink":"Зарегистрироваться","registerNow":"Зарегистрироваться сейчас","dashboardLink":"Панель управления","emptyRegisterHint":"Конфигурации пока нет.","apiKeyHint":"Этот ключ записывается только в выбранную группу/протокол.","usageCheck":"Проверить квоту","usageChecking":"Проверка","usageRemaining":"Остаток: {{amount}} {{unit}}","usageBreakdown":"Использовано {{used}} / Лимит {{limit}}","usageStatus":"Статус: {{status}}","usageInvalid":"Недействительный ключ","usageEmpty":"Endpoint не вернул данные квоты.","usageApiKeyRequired":"Требуется API key","aggregationConflict":"Этот объединённый провайдер содержит несколько серверных конфигураций или ключей OpenAI. Чтобы избежать потери данных, измените исходную конфигурацию.","partialMutationWarning":"Операция завершилась ошибкой, но один или несколько протоколов могли обновиться. Последняя конфигурация загружена повторно; проверьте её перед повторной попыткой.","groupedKeysTitle":"Групповые ключи","groupedKeysHint":"Ключи платформы могут привязываться к группе при создании. Каждый групповой ключ здесь управляет одним протоколом, а модели загружаются только из этого протокола.","groupedKey":"Групповой ключ #{{index}}","addGroupedKey":"Добавить групповой ключ","removeGroupedKey":"Удалить групповой ключ","protocol":"Группа/протокол","protocolHint":"Выберите группу/протокол для этого ключа.","protocolEndpoint":"Текущий endpoint протокола","urlMode":"{{provider}} URL","urlHint":"Все URL используют одинаковые правила API. При сохранении записывается только endpoint текущего группового протокола.","urlOptions":{"standard":"Обычный URL","direct":"Прямой URL","domestic":"Маршрут для материкового Китая","overseas":"Зарубежный маршрут"},"urlOptionDescriptions":{"domestic":"Для пользователей и нагрузок в материковом Китае; обычно дает меньшую задержку в сетях материкового Китая.","overseas":"Для зарубежных развертываний, трансграничного доступа или задач, которым нужны зарубежные модели."},"modelsTitle":"Настройки моделей по протоколам","modelsHint":"Настраивайте allowlist моделей и алиасы отдельно для маршрутов Codex API, Anthropic, Gemini и OpenAI-compatible.","protocolModels":{"codex":"Модели Codex API","anthropic":"Модели Anthropic","gemini":"Модели Gemini","openai":"Модели OpenAI-compatible"},"protocolModelHints":{"codex":"Записывается в models конфигурации Codex API. Можно загрузить из /v1/models и задать алиасы.","anthropic":"Записывается в models конфигурации Anthropic. Можно загрузить из /v1/models и задать алиасы.","gemini":"Записывается в models конфигурации Gemini. Можно загрузить из /v1beta/models и задать алиасы.","openai":"Записывается в models конфигурации OpenAI-compatible. Можно загрузить из /models и задать алиасы."},"validation":{"keyRequired":"Введите API key для каждого группового ключа.","protocolDuplicate":"Для каждого протокола можно добавить только один групповой ключ."},"openaiEntries":"Ключей OpenAI-compatible","codexEntries":"Ключей Codex API","anthropicEntries":"Ключей Anthropic","geminiEntries":"Ключей Gemini","protocols":{"anthropic":"Anthropic","openai":"OpenAI-compatible","gemini":"Gemini","codexResponses":"Codex API (Responses)"}},"status":{"active":"Активен","disabled":"Отключён","notSet":"Не задано","none":"Нет","notConfigured":"Не настроено","defaultSuffix":"(по умолчанию)"},"detail":{"title":"Подробности","metadataTitle":"Метаданные","fields":{"identifier":"Идентификатор","baseUrl":"Base URL","proxyUrl":"Proxy URL","prefix":"Префикс","models":"Моделей","headers":"Заголовков","authIndex":"Auth Index","excludedModels":"Исключённых моделей","apiKeyEntries":"API-ключей"}},"form":{"createEyebrow":"Создать","editEyebrow":"Изменить","name":"Название","apiKey":"API-ключ","apiKeyCreatePlaceholder":"Введите API-ключ","apiKeyEditPlaceholder":"Оставьте пустым, чтобы не менять","baseUrl":"Base URL","baseUrlRequiredHint":"Обязательно для этого провайдера","proxyUrl":"Proxy URL","prefix":"Префикс","priority":"Приоритет","weight":"Вес планирования","weightHint":"По умолчанию 1 · ≤ 0 исключает запись · максимум 1 000 000","disabled":"Отключить эту запись","disabledHint":"Отключённые записи не используются шлюзом","websockets":"Включить WebSockets","testModel":"Тестовая модель","testModelClaudeHint":"Используется только для проверки соединения; не сохраняется","testModelAutoWith":"Авто · {{name}}","testModelAutoEmpty":"Авто (модели ещё не добавлены)","testModelCustom":"{{name}} (своя)","modelsSection":"Пользовательские модели","addModel":"Добавить модель","headersSection":"Заголовки запроса","addHeader":"Добавить заголовок","excludedSection":"Исключённые модели","excludedDisabledNote":"«*» означает, что провайдер отключён целиком — используйте переключатель «Отключено» выше.","cloakSection":"Настройки Cloak","cloakMode":"Режим","cloakStrict":"Строгий режим","cloakSensitiveWords":"Стоп-слова (по одному в строке)","apiKeyEntriesSection":"API-ключи","apiKeyEntry":"Ключ #{{index}}","addApiKeyEntry":"Добавить ключ","showApiKey":"Показать ключ API","hideApiKey":"Скрыть ключ API","disableCooling":"Отключить cooldown","disableCoolingHint":"Отключает окна охлаждения после ошибок только для этой записи","modelImage":"Разрешить image endpoints","modelImageHint":"Разрешить модель для /v1/images/generations и /v1/images/edits","showAllEntries":"Показать все ({{count}})","showFewerEntries":"Показать меньше","proxyBadge":"Прокси","modelBadgeImage":"Image","modelBadgeThinking":"Thinking","thinkingConfig":"Допустимые уровни thinking","thinkingExistingHint":"Текущая серверная конфигурация сохранится до изменения выбора, после чего будет заменена выбранными стандартными уровнями.","thinkingLevels":{"none":"Отключить thinking","minimal":"Минимальный","low":"Низкий","medium":"Средний","high":"Высокий","xhigh":"Очень высокий","max":"Максимальный","auto":"Автоматический"},"cloakCacheUserId":"Кэшировать user_id","cloakCacheUserIdHint":"Переиспользовать Claude cloak user_id для каждого API-ключа","experimentalCchSigning":"Экспериментальная CCH-подпись","experimentalCchSigningHint":"Подписывать финальное тело cloaked Claude /v1/messages через CCH","validation":{"nameRequired":"Название обязательно","apiKeyRequired":"Нужен хотя бы один API-ключ","baseUrlRequired":"Base URL обязателен","weightInteger":"Вес планирования должен быть целым числом","weightMax":"Вес планирования не может превышать {{max}}"}},"delete":{"title":"Удалить ресурс","confirm":"Удалить {{name}}? Действие необратимо."},"toast":{"created":"Создано","updated":"Обновлено","deleted":"Удалено","enabled":"Включено","disabled":"Отключено","toggleFailed":"Не удалось обновить статус"},"unsavedChanges":{"title":"Отменить несохранённые изменения?","message":"В форме есть несохранённые изменения. При закрытии они будут потеряны.","discard":"Отменить изменения","keepEditing":"Продолжить"},"connectivity":{"test":"Проверить","testAll":"Проверить все","success":"Доступно","baseUrlRequired":"Base URL обязателен","endpointInvalid":"Некорректный адрес","apiKeyRequired":"API-ключ обязателен","modelRequired":"Нужна тестовая модель","timeout":"Таймаут после {{seconds}} с","requestFailed":"Запрос не выполнен"},"discovery":{"openButton":"Получить с конечной точки","searchPlaceholder":"Поиск моделей","reload":"Обновить","loading":"Загрузка моделей…","empty":"Конечная точка не вернула моделей","notLoaded":"Нажмите Обновить, чтобы загрузить модели","selectAll":"Выбрать все","clearAll":"Снять выбор","selectedCount":"{{selected}} / {{total}}","alreadyAdded":"Уже добавлено","close":"Закрыть","apply":"Применить ({{count}})"},"toolbar":{"sortBy":"Сортировка","sort":{"name":"Имя","priority":"Приоритет","recentSuccess":"Недавние успехи","directionAsc":"По возрастанию","directionDesc":"По убыванию"},"filter":{"allModels":"Все модели","selectedModels":"{{selected}}/{{total}} моделей","selectAll":"Выбрать все","clear":"Очистить","empty":"Модели ещё не настроены"}},"modelCatalog":{"notLoaded":"Не загружено"}}`)},ol=[`zh-tw`,`zh-hk`,`zh-mo`,`zh-hant`],sl=e=>Wc.includes(e),cl=e=>{try{let t=JSON.parse(e),n=t?.state?.language??t?.language??t;if(typeof n==`string`&&sl(n))return n}catch{if(sl(e))return e}return null},ll=()=>{if(typeof window>`u`)return null;try{let e=localStorage.getItem(Vc);return e?cl(e):null}catch{return null}},ul=()=>{if(typeof navigator>`u`)return`zh-CN`;let e=(navigator.languages?.[0]||navigator.language||`zh-CN`).toLowerCase();return ol.some(t=>e.startsWith(t))?`zh-TW`:e.startsWith(`zh`)?`zh-CN`:e.startsWith(`ru`)?`ru`:`en`},dl=()=>ll()??ul();lo.use($o).init({resources:{"zh-CN":{translation:nl},"zh-TW":{translation:rl},en:{translation:il},ru:{translation:al}},lng:dl(),fallbackLng:`zh-CN`,interpolation:{escapeValue:!1},react:{useSuspense:!1}});var fl=lo,pl=Cc()(Yc(e=>({language:dl(),setLanguage:t=>{sl(t)&&(fl.changeLanguage(t),e({language:t}))}}),{name:Vc,merge:(e,t)=>{let n=e?.language;return typeof n==`string`&&sl(n)?{...t,...e,language:n}:t}})),ml=`enc::v1::`,hl=`cli-proxy-api-webui::secure-storage`,gl=null;function _l(e){return new TextEncoder().encode(e)}function vl(e){return new TextDecoder().decode(e)}function yl(){if(gl)return gl;try{let e=window.location.host,t=navigator.userAgent;gl=_l(`${hl}|${e}|${t}`)}catch(e){console.warn(`Obfuscation fallback to simple key:`,e),gl=_l(hl)}return gl}function bl(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r%t.length];return n}function xl(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Sl(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Cl(e){if(!e)return e;try{let t=yl();return`${ml}${xl(bl(_l(e),t))}`}catch(t){return console.warn(`Obfuscation failed, fallback to plaintext:`,t),e}}function wl(e){if(!e||!e.startsWith(ml))return e;try{return vl(bl(Sl(e.slice(9)),yl()))}catch(t){return console.warn(`Deobfuscation failed, return as-is:`,t),e}}function Tl(e){return e?.startsWith(ml)||!1}var El=new class{setItem(e,t,n={}){let r=n.obfuscate??n.encrypt??!0;if(t==null){this.removeItem(e);return}let i=JSON.stringify(t),a=r?Cl(i):i;localStorage.setItem(e,a)}getItem(e,t={}){let n=t.obfuscate??t.encrypt??!0,r=localStorage.getItem(e);if(r===null)return null;try{let e=n?wl(r):r;return JSON.parse(e)}catch{try{return n&&Tl(r)?wl(r):r}catch{return null}}}removeItem(e){localStorage.removeItem(e)}migratePlaintextKeys(e){e.forEach(e=>{let t=localStorage.getItem(e);if(!t||Tl(t))return;let n;try{n=JSON.parse(t)}catch{n=t}try{this.setItem(e,n)}catch(t){console.warn(`Failed to migrate key "${e}":`,t)}})}};function Dl(e,t){return function(){return e.apply(t,arguments)}}var{toString:Ol}=Object.prototype,{getPrototypeOf:kl}=Object,{iterator:Al,toStringTag:jl}=Symbol,Ml=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Nl=(e,t)=>{let n=e,r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),Ml(n,t))return!0;n=kl(n)}return!1},Pl=(e,t)=>e!=null&&Nl(e,t)?e[t]:void 0,Fl=(e=>t=>{let n=Ol.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Il=e=>(e=e.toLowerCase(),t=>Fl(t)===e),Ll=e=>t=>typeof t===e,{isArray:Rl}=Array,zl=Ll(`undefined`);function Bl(e){return e!==null&&!zl(e)&&e.constructor!==null&&!zl(e.constructor)&&Wl(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Vl=Il(`ArrayBuffer`);function Hl(e){let t;return t=typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&Vl(e.buffer),t}var Ul=Ll(`string`),Wl=Ll(`function`),Gl=Ll(`number`),Kl=e=>typeof e==`object`&&!!e,ql=e=>e===!0||e===!1,Jl=e=>{if(!Kl(e))return!1;let t=kl(e);return(t===null||t===Object.prototype||kl(t)===null)&&!Nl(e,jl)&&!Nl(e,Al)},Yl=e=>{if(!Kl(e)||Bl(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Xl=Il(`Date`),Zl=Il(`File`),Ql=e=>!!(e&&e.uri!==void 0),$l=e=>e&&e.getParts!==void 0,eu=Il(`Blob`),tu=Il(`FileList`),nu=e=>Kl(e)&&Wl(e.pipe);function ru(){return typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{}}var iu=ru(),au=iu.FormData===void 0?void 0:iu.FormData,ou=e=>{if(!e)return!1;if(au&&e instanceof au)return!0;let t=kl(e);if(!t||t===Object.prototype||!Wl(e.append))return!1;let n=Fl(e);return n===`formdata`||n===`object`&&Wl(e.toString)&&e.toString()===`[object FormData]`},su=Il(`URLSearchParams`),[cu,lu,uu,du]=[`ReadableStream`,`Request`,`Response`,`Headers`].map(Il),fu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``);function pu(e,t,{allOwnKeys:n=!1}={}){if(e==null)return;let r,i;if(typeof e!=`object`&&(e=[e]),Rl(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{if(Bl(e))return;let i=n?Object.getOwnPropertyNames(e):Object.keys(e),a=i.length,o;for(r=0;r<a;r++)o=i[r],t.call(null,e[o],o,e)}}function mu(e,t){if(Bl(e))return null;t=t.toLowerCase();let n=Object.keys(e),r=n.length,i;for(;r-->0;)if(i=n[r],t===i.toLowerCase())return i;return null}var hu=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,gu=e=>!zl(e)&&e!==hu;function _u(...e){let{caseless:t,skipUndefined:n}=gu(this)&&this||{},r={},i=(e,i)=>{if(i===`__proto__`||i===`constructor`||i===`prototype`)return;let a=t&&typeof i==`string`&&mu(r,i)||i,o=Ml(r,a)?r[a]:void 0;Jl(o)&&Jl(e)?r[a]=_u(o,e):Jl(e)?r[a]=_u({},e):Rl(e)?r[a]=e.slice():(!n||!zl(e))&&(r[a]=e)};for(let t=0,n=e.length;t<n;t++){let n=e[t];if(!n||Bl(n)||(pu(n,i),typeof n!=`object`||Rl(n)))continue;let r=Object.getOwnPropertySymbols(n);for(let e=0;e<r.length;e++){let t=r[e];ku.call(n,t)&&i(n[t],t)}}return r}var vu=(e,t,n,{allOwnKeys:r}={})=>(pu(t,(t,r)=>{n&&Wl(t)?Object.defineProperty(e,r,{__proto__:null,value:Dl(t,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,r,{__proto__:null,value:t,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),yu=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),bu=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},xu=(e,t,n,r)=>{let i,a,o,s={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-->0;)o=i[a],(!r||r(o,e,t))&&!s[o]&&(t[o]=e[o],s[o]=!0);e=n!==!1&&kl(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Su=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;let r=e.indexOf(t,n);return r!==-1&&r===n},Cu=e=>{if(!e)return null;if(Rl(e))return e;let t=e.length;if(!Gl(t))return null;let n=Array(t);for(;t-->0;)n[t]=e[t];return n},wu=(e=>t=>e&&t instanceof e)(typeof Uint8Array<`u`&&kl(Uint8Array)),Tu=(e,t)=>{let n=(e&&e[Al]).call(e),r;for(;(r=n.next())&&!r.done;){let n=r.value;t.call(e,n[0],n[1])}},Eu=(e,t)=>{let n,r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Du=Il(`HTMLFormElement`),Ou=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),{propertyIsEnumerable:ku}=Object.prototype,Au=Il(`RegExp`),ju=(e,t)=>{let n=Object.getOwnPropertyDescriptors(e),r={};pu(n,(n,i)=>{let a;(a=t(n,i,e))!==!1&&(r[i]=a||n)}),Object.defineProperties(e,r)},Mu=e=>{ju(e,(t,n)=>{if(Wl(e)&&[`arguments`,`caller`,`callee`].includes(n))return!1;let r=e[n];if(Wl(r)){if(t.enumerable=!1,`writable`in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error(`Can not rewrite read-only method '`+n+`'`)})}})},Nu=(e,t)=>{let n={},r=e=>{e.forEach(e=>{n[e]=!0})};return Rl(e)?r(e):r(String(e).split(t)),n},Pu=()=>{},Fu=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Iu(e){return!!(e&&Wl(e.append)&&e[jl]===`FormData`&&e[Al])}var Lu=e=>{let t=new WeakSet,n=e=>{if(Kl(e)){if(t.has(e))return;if(Bl(e))return e;if(!(`toJSON`in e)){t.add(e);let r=Rl(e)?[]:{};return pu(e,(e,t)=>{let i=n(e);!zl(i)&&(r[t]=i)}),t.delete(e),r}}return e};return n(e)},Ru=Il(`AsyncFunction`),zu=e=>e&&(Kl(e)||Wl(e))&&Wl(e.then)&&Wl(e.catch),Bu=((e,t)=>e?setImmediate:t?((e,t)=>(hu.addEventListener(`message`,({source:n,data:r})=>{n===hu&&r===e&&t.length&&t.shift()()},!1),n=>{t.push(n),hu.postMessage(e,`*`)}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate==`function`,Wl(hu.postMessage)),Vu=typeof queueMicrotask<`u`?queueMicrotask.bind(hu):typeof process<`u`&&process.nextTick||Bu,Hu=e=>e!=null&&Wl(e[Al]),W={isArray:Rl,isArrayBuffer:Vl,isBuffer:Bl,isFormData:ou,isArrayBufferView:Hl,isString:Ul,isNumber:Gl,isBoolean:ql,isObject:Kl,isPlainObject:Jl,isEmptyObject:Yl,isReadableStream:cu,isRequest:lu,isResponse:uu,isHeaders:du,isUndefined:zl,isDate:Xl,isFile:Zl,isReactNativeBlob:Ql,isReactNative:$l,isBlob:eu,isRegExp:Au,isFunction:Wl,isStream:nu,isURLSearchParams:su,isTypedArray:wu,isFileList:tu,forEach:pu,merge:_u,extend:vu,trim:fu,stripBOM:yu,inherits:bu,toFlatObject:xu,kindOf:Fl,kindOfTest:Il,endsWith:Su,toArray:Cu,forEachEntry:Tu,matchAll:Eu,isHTMLForm:Du,hasOwnProperty:Ml,hasOwnProp:Ml,hasOwnInPrototypeChain:Nl,getSafeProp:Pl,reduceDescriptors:ju,freezeMethods:Mu,toObjectSet:Nu,toCamelCase:Ou,noop:Pu,toFiniteNumber:Fu,findKey:mu,global:hu,isContextDefined:gu,isSpecCompliantForm:Iu,toJSONObject:Lu,isAsyncFn:Ru,isThenable:zu,setImmediate:Bu,asap:Vu,isIterable:Hu,isSafeIterable:e=>e!=null&&Nl(e,Al)&&Hu(e)},Uu=W.toObjectSet([`age`,`authorization`,`content-length`,`content-type`,`etag`,`expires`,`from`,`host`,`if-modified-since`,`if-unmodified-since`,`last-modified`,`location`,`max-forwards`,`proxy-authorization`,`referer`,`retry-after`,`user-agent`]),Wu=e=>{let t={},n,r,i;return e&&e.split(`
`).forEach(function(e){i=e.indexOf(`:`),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!(!n||t[n]&&Uu[n])&&(n===`set-cookie`?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+`, `+r:r)}),t};function Gu(e){let t=0,n=e.length;for(;t<n;){let n=e.charCodeAt(t);if(n!==9&&n!==32)break;t+=1}for(;n>t;){let t=e.charCodeAt(n-1);if(t!==9&&t!==32)break;--n}return t===0&&n===e.length?e:e.slice(t,n)}var Ku=RegExp(`[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+`,`g`),qu=RegExp(`[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+`,`g`);function Ju(e,t){return W.isArray(e)?e.map(e=>Ju(e,t)):Gu(String(e).replace(t,``))}var Yu=e=>Ju(e,Ku),Xu=e=>Ju(e,qu);function Zu(e){let t=Object.create(null);return W.forEach(e.toJSON(),(e,n)=>{t[n]=Xu(e)}),t}var Qu=Symbol(`internals`);function $u(e){return e&&String(e).trim().toLowerCase()}function ed(e){return e===!1||e==null?e:W.isArray(e)?e.map(ed):Yu(String(e))}function td(e){let t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}var nd=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function rd(e,t,n,r,i){if(W.isFunction(r))return r.call(this,t,n);if(i&&(t=n),W.isString(t)){if(W.isString(r))return t.indexOf(r)!==-1;if(W.isRegExp(r))return r.test(t)}}function id(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}function ad(e,t){let n=W.toCamelCase(` `+t);[`get`,`set`,`has`].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}var od=class{constructor(e){e&&this.set(e)}set(e,t,n){let r=this;function i(e,t,n){let i=$u(t);if(!i)return;let a=W.findKey(r,i);(!a||r[a]===void 0||n===!0||n===void 0&&r[a]!==!1)&&(r[a||t]=ed(e))}let a=(e,t)=>W.forEach(e,(e,n)=>i(e,n,t));if(W.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(W.isString(e)&&(e=e.trim())&&!nd(e))a(Wu(e),t);else if(W.isObject(e)&&W.isSafeIterable(e)){let n=Object.create(null),r,i;for(let t of e){if(!W.isArray(t))throw TypeError(`Object iterator must return a key-value pair`);i=t[0],W.hasOwnProp(n,i)?(r=n[i],n[i]=W.isArray(r)?[...r,t[1]]:[r,t[1]]):n[i]=t[1]}a(n,t)}else e!=null&&i(t,e,n);return this}get(e,t){if(e=$u(e),e){let n=W.findKey(this,e);if(n){let e=this[n];if(!t)return e;if(t===!0)return td(e);if(W.isFunction(t))return t.call(this,e,n);if(W.isRegExp(t))return t.exec(e);throw TypeError(`parser must be boolean|regexp|function`)}}}has(e,t){if(e=$u(e),e){let n=W.findKey(this,e);return!!(n&&this[n]!==void 0&&(!t||rd(this,this[n],n,t)))}return!1}delete(e,t){let n=this,r=!1;function i(e){if(e=$u(e),e){let i=W.findKey(n,e);i&&(!t||rd(n,n[i],i,t))&&(delete n[i],r=!0)}}return W.isArray(e)?e.forEach(i):i(e),r}clear(e){let t=Object.keys(this),n=t.length,r=!1;for(;n--;){let i=t[n];(!e||rd(this,this[i],i,e,!0))&&(delete this[i],r=!0)}return r}normalize(e){let t=this,n={};return W.forEach(this,(r,i)=>{let a=W.findKey(n,i);if(a){t[a]=ed(r),delete t[i];return}let o=e?id(i):String(i).trim();o!==i&&delete t[i],t[o]=ed(r),n[o]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return W.forEach(this,(n,r)=>{n!=null&&n!==!1&&(t[r]=e&&W.isArray(n)?n.join(`, `):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+`: `+t).join(`
`)}getSetCookie(){return this.get(`set-cookie`)||[]}get[Symbol.toStringTag](){return`AxiosHeaders`}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){let t=(this[Qu]=this[Qu]={accessors:{}}).accessors,n=this.prototype;function r(e){let r=$u(e);t[r]||(ad(n,e),t[r]=!0)}return W.isArray(e)?e.forEach(r):r(e),this}};od.accessor([`Content-Type`,`Content-Length`,`Accept`,`Accept-Encoding`,`User-Agent`,`Authorization`]),W.reduceDescriptors(od.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),W.freezeMethods(od);var sd=`[REDACTED ****]`;function cd(e){if(W.hasOwnProp(e,`toJSON`))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(W.hasOwnProp(t,`toJSON`))return!0;t=Object.getPrototypeOf(t)}return!1}function ld(e,t){let n=new Set(t.map(e=>String(e).toLowerCase())),r=[],i=e=>{if(typeof e!=`object`||!e||W.isBuffer(e))return e;if(r.indexOf(e)!==-1)return;e instanceof od&&(e=e.toJSON()),r.push(e);let t;if(W.isArray(e))t=[],e.forEach((e,n)=>{let r=i(e);W.isUndefined(r)||(t[n]=r)});else{if(!W.isPlainObject(e)&&cd(e))return r.pop(),e;t=Object.create(null);for(let[r,a]of Object.entries(e)){let e=n.has(r.toLowerCase())?sd:i(a);W.isUndefined(e)||(t[r]=e)}}return r.pop(),t};return i(e)}var G=class e extends Error{static from(t,n,r,i,a,o){let s=new e(t.message,n||t.code,r,i,a);return Object.defineProperty(s,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),s.name=t.name,t.status!=null&&s.status==null&&(s.status=t.status),o&&Object.assign(s,o),s}constructor(e,t,n,r,i){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name=`AxiosError`,this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status)}toJSON(){let e=this.config,t=e&&W.hasOwnProp(e,`redact`)?e.redact:void 0,n=W.isArray(t)&&t.length>0?ld(e,t):W.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:n,code:this.code,status:this.status}}};G.ERR_BAD_OPTION_VALUE=`ERR_BAD_OPTION_VALUE`,G.ERR_BAD_OPTION=`ERR_BAD_OPTION`,G.ECONNABORTED=`ECONNABORTED`,G.ETIMEDOUT=`ETIMEDOUT`,G.ECONNREFUSED=`ECONNREFUSED`,G.ERR_NETWORK=`ERR_NETWORK`,G.ERR_FR_TOO_MANY_REDIRECTS=`ERR_FR_TOO_MANY_REDIRECTS`,G.ERR_DEPRECATED=`ERR_DEPRECATED`,G.ERR_BAD_RESPONSE=`ERR_BAD_RESPONSE`,G.ERR_BAD_REQUEST=`ERR_BAD_REQUEST`,G.ERR_CANCELED=`ERR_CANCELED`,G.ERR_NOT_SUPPORT=`ERR_NOT_SUPPORT`,G.ERR_INVALID_URL=`ERR_INVALID_URL`,G.ERR_FORM_DATA_DEPTH_EXCEEDED=`ERR_FORM_DATA_DEPTH_EXCEEDED`;function ud(e){return W.isPlainObject(e)||W.isArray(e)}function dd(e){return W.endsWith(e,`[]`)?e.slice(0,-2):e}function fd(e,t,n){return e?e.concat(t).map(function(e,t){return e=dd(e),!n&&t?`[`+e+`]`:e}).join(n?`.`:``):t}function pd(e){return W.isArray(e)&&!e.some(ud)}var md=W.toFlatObject(W,{},null,function(e){return/^is[A-Z]/.test(e)});function hd(e,t,n){if(!W.isObject(e))throw TypeError(`target must be an object`);t=t||new FormData,n=W.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!W.isUndefined(t[e])});let r=n.metaTokens,i=n.visitor||m,a=n.dots,o=n.indexes,s=n.Blob||typeof Blob<`u`&&Blob,c=n.maxDepth===void 0?100:n.maxDepth,l=s&&W.isSpecCompliantForm(t),u=[];if(!W.isFunction(i))throw TypeError(`visitor must be a function`);function d(e){if(e===null)return``;if(W.isDate(e))return e.toISOString();if(W.isBoolean(e))return e.toString();if(!l&&W.isBlob(e))throw new G(`Blob is not supported. Use a Buffer instead.`);if(W.isArrayBuffer(e)||W.isTypedArray(e)){if(l&&typeof s==`function`)return new s([e]);if(typeof Buffer<`u`)return Buffer.from(e);throw new G(`Blob is not supported. Use a Buffer instead.`,G.ERR_NOT_SUPPORT)}return e}function f(e){if(e>c)throw new G(`Object is too deeply nested (`+e+` levels). Max depth: `+c,G.ERR_FORM_DATA_DEPTH_EXCEEDED)}function p(e,t){if(c===1/0)return JSON.stringify(e);let n=[];return JSON.stringify(e,function(e,r){if(!W.isObject(r))return r;for(;n.length&&n[n.length-1]!==this;)n.pop();return n.push(r),f(t+n.length-1),r})}function m(e,n,i){let s=e;if(W.isReactNative(t)&&W.isReactNativeBlob(e))return t.append(fd(i,n,a),d(e)),!1;if(e&&!i&&typeof e==`object`){if(W.endsWith(n,`{}`))n=r?n:n.slice(0,-2),e=p(e,1);else if(W.isArray(e)&&pd(e)||(W.isFileList(e)||W.endsWith(n,`[]`))&&(s=W.toArray(e)))return n=dd(n),s.forEach(function(e,r){!(W.isUndefined(e)||e===null)&&t.append(o===!0?fd([n],r,a):o===null?n:n+`[]`,d(e))}),!1}return ud(e)?!0:(t.append(fd(i,n,a),d(e)),!1)}let h=Object.assign(md,{defaultVisitor:m,convertValue:d,isVisitable:ud});function g(e,n,r=0){if(!W.isUndefined(e)){if(f(r),u.indexOf(e)!==-1)throw Error(`Circular reference detected in `+n.join(`.`));u.push(e),W.forEach(e,function(e,a){(!(W.isUndefined(e)||e===null)&&i.call(t,e,W.isString(a)?a.trim():a,n,h))===!0&&g(e,n?n.concat(a):[a],r+1)}),u.pop()}}if(!W.isObject(e))throw TypeError(`data must be an object`);return g(e),t}function gd(e){let t={"!":`%21`,"'":`%27`,"(":`%28`,")":`%29`,"~":`%7E`,"%20":`+`};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(e){return t[e]})}function _d(e,t){this._pairs=[],e&&hd(e,this,t)}var vd=_d.prototype;vd.append=function(e,t){this._pairs.push([e,t])},vd.toString=function(e){let t=e?t=>e.call(this,t,gd):gd;return this._pairs.map(function(e){return t(e[0])+`=`+t(e[1])},``).join(`&`)};function yd(e){return encodeURIComponent(e).replace(/%3A/gi,`:`).replace(/%24/g,`$`).replace(/%2C/gi,`,`).replace(/%20/g,`+`)}function bd(e,t,n){if(!t)return e;e=e||``;let r=W.isFunction(n)?{serialize:n}:n,i=W.getSafeProp(r,`encode`)||yd,a=W.getSafeProp(r,`serialize`),o;if(o=a?a(t,r):W.isURLSearchParams(t)?t.toString():new _d(t,r).toString(i),o){let t=e.indexOf(`#`);t!==-1&&(e=e.slice(0,t)),e+=(e.indexOf(`?`)===-1?`?`:`&`)+o}return e}var xd=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){W.forEach(this.handlers,function(t){t!==null&&e(t)})}},Sd={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Cd={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<`u`?URLSearchParams:_d,FormData:typeof FormData<`u`?FormData:null,Blob:typeof Blob<`u`?Blob:null},protocols:[`http`,`https`,`file`,`blob`,`url`,`data`]},wd=c({hasBrowserEnv:()=>Td,hasStandardBrowserEnv:()=>Dd,hasStandardBrowserWebWorkerEnv:()=>Od,navigator:()=>Ed,origin:()=>kd}),Td=typeof window<`u`&&typeof document<`u`,Ed=typeof navigator==`object`&&navigator||void 0,Dd=Td&&(!Ed||[`ReactNative`,`NativeScript`,`NS`].indexOf(Ed.product)<0),Od=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope&&typeof self.importScripts==`function`,kd=Td&&window.location.href||`http://localhost`,Ad={...wd,...Cd};function jd(e,t){return hd(e,new Ad.classes.URLSearchParams,{visitor:function(e,t,n,r){return Ad.isNode&&W.isBuffer(e)?(this.append(t,e.toString(`base64`)),!1):r.defaultVisitor.apply(this,arguments)},...t})}var Md=100;function Nd(e){if(e>Md)throw new G(`FormData field is too deeply nested (`+e+` levels). Max depth: `+Md,G.ERR_FORM_DATA_DEPTH_EXCEEDED)}function Pd(e){let t=[],n=/\w+|\[(\w*)]/g,r;for(;(r=n.exec(e))!==null;)Nd(t.length),t.push(r[0]===`[]`?``:r[1]||r[0]);return t}function Fd(e){let t={},n=Object.keys(e),r,i=n.length,a;for(r=0;r<i;r++)a=n[r],t[a]=e[a];return t}function Id(e){function t(e,n,r,i){Nd(i);let a=e[i++];if(a===`__proto__`)return!0;let o=Number.isFinite(+a),s=i>=e.length;return a=!a&&W.isArray(r)?r.length:a,s?(W.hasOwnProp(r,a)?r[a]=W.isArray(r[a])?r[a].concat(n):[r[a],n]:r[a]=n,!o):((!W.hasOwnProp(r,a)||!W.isObject(r[a]))&&(r[a]=[]),t(e,n,r[a],i)&&W.isArray(r[a])&&(r[a]=Fd(r[a])),!o)}if(W.isFormData(e)&&W.isFunction(e.entries)){let n={};return W.forEachEntry(e,(e,r)=>{t(Pd(e),r,n,0)}),n}return null}var Ld=(e,t)=>e!=null&&W.hasOwnProp(e,t)?e[t]:void 0;function Rd(e,t,n){if(W.isString(e))try{return(t||JSON.parse)(e),W.trim(e)}catch(e){if(e.name!==`SyntaxError`)throw e}return(n||JSON.stringify)(e)}var zd={transitional:Sd,adapter:[`xhr`,`http`,`fetch`],transformRequest:[function(e,t){let n=t.getContentType()||``,r=n.indexOf(`application/json`)>-1,i=W.isObject(e);if(i&&W.isHTMLForm(e)&&(e=new FormData(e)),W.isFormData(e))return r?JSON.stringify(Id(e)):e;if(W.isArrayBuffer(e)||W.isBuffer(e)||W.isStream(e)||W.isFile(e)||W.isBlob(e)||W.isReadableStream(e))return e;if(W.isArrayBufferView(e))return e.buffer;if(W.isURLSearchParams(e))return t.setContentType(`application/x-www-form-urlencoded;charset=utf-8`,!1),e.toString();let a;if(i){let t=Ld(this,`formSerializer`);if(n.indexOf(`application/x-www-form-urlencoded`)>-1)return jd(e,t).toString();if((a=W.isFileList(e))||n.indexOf(`multipart/form-data`)>-1){let n=Ld(this,`env`),r=n&&n.FormData;return hd(a?{"files[]":e}:e,r&&new r,t)}}return i||r?(t.setContentType(`application/json`,!1),Rd(e)):e}],transformResponse:[function(e){let t=Ld(this,`transitional`)||zd.transitional,n=t&&t.forcedJSONParsing,r=Ld(this,`responseType`),i=r===`json`;if(W.isResponse(e)||W.isReadableStream(e))return e;if(e&&W.isString(e)&&(n&&!r||i)){let n=!(t&&t.silentJSONParsing)&&i;try{return JSON.parse(e,Ld(this,`parseReviver`))}catch(e){if(n)throw e.name===`SyntaxError`?G.from(e,G.ERR_BAD_RESPONSE,this,null,Ld(this,`response`)):e}}return e}],timeout:0,xsrfCookieName:`XSRF-TOKEN`,xsrfHeaderName:`X-XSRF-TOKEN`,maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ad.classes.FormData,Blob:Ad.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:`application/json, text/plain, */*`,"Content-Type":void 0}}};W.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`query`],e=>{zd.headers[e]={}});function Bd(e,t){let n=this||zd,r=t||n,i=od.from(r.headers),a=r.data;return W.forEach(e,function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function Vd(e){return!!(e&&e.__CANCEL__)}var Hd=class extends G{constructor(e,t,n){super(e??`canceled`,G.ERR_CANCELED,t,n),this.name=`CanceledError`,this.__CANCEL__=!0}};function Ud(e,t,n){let r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new G(`Request failed with status code `+n.status,n.status>=400&&n.status<500?G.ERR_BAD_REQUEST:G.ERR_BAD_RESPONSE,n.config,n.request,n))}function Wd(e){let t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||``}function Gd(e,t){e=e||10;let n=Array(e),r=Array(e),i=0,a=0,o;return t=t===void 0?1e3:t,function(s){let c=Date.now(),l=r[a];o||(o=c),n[i]=s,r[i]=c;let u=a,d=0;for(;u!==i;)d+=n[u++],u%=e;if(i=(i+1)%e,i===a&&(a=(a+1)%e),c-o<t)return;let f=l&&c-l;return f?Math.round(d*1e3/f):void 0}}function Kd(e,t){let n=0,r=1e3/t,i,a,o=(t,r=Date.now())=>{n=r,i=null,a&&(clearTimeout(a),a=null),e(...t)};return[(...e)=>{let t=Date.now(),s=t-n;s>=r?o(e,t):(i=e,a||(a=setTimeout(()=>{a=null,o(i)},r-s)))},()=>i&&o(i)]}var qd=(e,t,n=3)=>{let r=0,i=Gd(50,250);return Kd(n=>{if(!n||typeof n.loaded!=`number`)return;let a=n.loaded,o=n.lengthComputable?n.total:void 0,s=o==null?a:Math.min(a,o),c=Math.max(0,s-r),l=i(c);r=Math.max(r,s),e({loaded:s,total:o,progress:o?s/o:void 0,bytes:c,rate:l||void 0,estimated:l&&o?(o-s)/l:void 0,event:n,lengthComputable:o!=null,[t?`download`:`upload`]:!0})},n)},Jd=(e,t)=>{let n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Yd=e=>(...t)=>W.asap(()=>e(...t)),Xd=Ad.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Ad.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Ad.origin),Ad.navigator&&/(msie|trident)/i.test(Ad.navigator.userAgent)):()=>!0,Zd=Ad.hasStandardBrowserEnv?{write(e,t,n,r,i,a,o){if(typeof document>`u`)return;let s=[`${e}=${encodeURIComponent(t)}`];W.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),W.isString(r)&&s.push(`path=${r}`),W.isString(i)&&s.push(`domain=${i}`),a===!0&&s.push(`secure`),W.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join(`; `)},read(e){if(typeof document>`u`)return null;let t=document.cookie.split(`;`);for(let n=0;n<t.length;n++){let r=t[n].replace(/^\s+/,``),i=r.indexOf(`=`);if(i!==-1&&r.slice(0,i)===e)try{return decodeURIComponent(r.slice(i+1))}catch{return r.slice(i+1)}}return null},remove(e){this.write(e,``,Date.now()-864e5,`/`)}}:{write(){},read(){return null},remove(){}};function Qd(e){return typeof e==`string`&&/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function $d(e,t){return t?e.replace(/\/?\/$/,``)+`/`+t.replace(/^\/+/,``):e}var ef=/^https?:(?!\/\/)/i,tf=/[\t\n\r]/g;function nf(e){let t=0;for(;t<e.length&&e.charCodeAt(t)<=32;)t++;return e.slice(t)}function rf(e){return nf(e).replace(tf,``)}function af(e,t){if(typeof e==`string`&&ef.test(rf(e)))throw new G(`Invalid URL: missing "//" after protocol`,G.ERR_INVALID_URL,t)}function of(e,t,n,r){af(t,r);let i=!Qd(t);return e&&(i||n===!1)?(af(e,r),$d(e,t)):t}var sf=e=>e instanceof od?{...e}:e;function cf(e,t){e=e||{},t=t||{};let n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(e,t,n,r){return W.isPlainObject(e)&&W.isPlainObject(t)?W.merge.call({caseless:r},e,t):W.isPlainObject(t)?W.merge({},t):W.isArray(t)?t.slice():t}function i(e,t,n,i){if(!W.isUndefined(t))return r(e,t,n,i);if(!W.isUndefined(e))return r(void 0,e,n,i)}function a(e,t){if(!W.isUndefined(t))return r(void 0,t)}function o(e,t){if(!W.isUndefined(t))return r(void 0,t);if(!W.isUndefined(e))return r(void 0,e)}function s(n){let r=W.hasOwnProp(t,`transitional`)?t.transitional:void 0;if(!W.isUndefined(r))if(W.isPlainObject(r)){if(W.hasOwnProp(r,n))return r[n]}else return;let i=W.hasOwnProp(e,`transitional`)?e.transitional:void 0;if(W.isPlainObject(i)&&W.hasOwnProp(i,n))return i[n]}function c(n,i,a){if(W.hasOwnProp(t,a))return r(n,i);if(W.hasOwnProp(e,a))return r(void 0,n)}let l={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,allowedSocketPaths:o,responseEncoding:o,validateStatus:c,headers:(e,t,n)=>i(sf(e),sf(t),n,!0)};return W.forEach(Object.keys({...e,...t}),function(r){if(r===`__proto__`||r===`constructor`||r===`prototype`)return;let a=W.hasOwnProp(l,r)?l[r]:i,o=a(W.hasOwnProp(e,r)?e[r]:void 0,W.hasOwnProp(t,r)?t[r]:void 0,r);W.isUndefined(o)&&a!==c||(n[r]=o)}),W.hasOwnProp(t,`validateStatus`)&&W.isUndefined(t.validateStatus)&&s(`validateStatusUndefinedResolves`)===!1&&(W.hasOwnProp(e,`validateStatus`)?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}var lf=[`content-type`,`content-length`];function uf(e,t,n){if(n!==`content-only`){e.set(t);return}Object.entries(t||{}).forEach(([t,n])=>{lf.includes(t.toLowerCase())&&e.set(t,n)})}var df=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(e,t)=>String.fromCharCode(parseInt(t,16)));function ff(e){let t=cf({},e),n=e=>W.hasOwnProp(t,e)?t[e]:void 0,r=n(`data`),i=n(`withXSRFToken`),a=n(`xsrfHeaderName`),o=n(`xsrfCookieName`),s=n(`headers`),c=n(`auth`),l=n(`baseURL`),u=n(`allowAbsoluteUrls`),d=n(`url`);if(t.headers=s=od.from(s),t.url=bd(of(l,d,u,t),n(`params`),n(`paramsSerializer`)),c){let t=W.getSafeProp(c,`username`)||``,n=W.getSafeProp(c,`password`)||``;try{s.set(`Authorization`,`Basic `+btoa(t+`:`+(n?df(n):``)))}catch(t){throw G.from(t,G.ERR_BAD_OPTION_VALUE,e)}}if(W.isFormData(r)&&(Ad.hasStandardBrowserEnv||Ad.hasStandardBrowserWebWorkerEnv||W.isReactNative(r)?s.setContentType(void 0):W.isFunction(r.getHeaders)&&uf(s,r.getHeaders(),n(`formDataHeaderPolicy`))),Ad.hasStandardBrowserEnv&&(W.isFunction(i)&&(i=i(t)),i===!0||i==null&&Xd(t.url))){let e=a&&o&&Zd.read(o);e&&s.set(a,e)}return t}var pf=typeof XMLHttpRequest<`u`&&function(e){return new Promise(function(t,n){let r=ff(e),i=r.data,a=od.from(r.headers).normalize(),{responseType:o,onUploadProgress:s,onDownloadProgress:c}=r,l,u,d,f,p;function m(){f&&f(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener(`abort`,l)}let h=new XMLHttpRequest;h.open(r.method.toUpperCase(),r.url,!0),h.timeout=r.timeout;function g(){if(!h)return;let r=od.from(`getAllResponseHeaders`in h&&h.getAllResponseHeaders());Ud(function(e){t(e),m()},function(e){n(e),m()},{data:!o||o===`text`||o===`json`?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:r,config:e,request:h}),h=null}`onloadend`in h?h.onloadend=g:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.startsWith(`file:`))||setTimeout(g)},h.onabort=function(){h&&(n(new G(`Request aborted`,G.ECONNABORTED,e,h)),m(),h=null)},h.onerror=function(t){let r=new G(t&&t.message?t.message:`Network Error`,G.ERR_NETWORK,e,h);r.event=t||null,n(r),m(),h=null},h.ontimeout=function(){let t=r.timeout?`timeout of `+r.timeout+`ms exceeded`:`timeout exceeded`,i=r.transitional||Sd;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new G(t,i.clarifyTimeoutError?G.ETIMEDOUT:G.ECONNABORTED,e,h)),m(),h=null},i===void 0&&a.setContentType(null),`setRequestHeader`in h&&W.forEach(Zu(a),function(e,t){h.setRequestHeader(t,e)}),W.isUndefined(r.withCredentials)||(h.withCredentials=!!r.withCredentials),o&&o!==`json`&&(h.responseType=r.responseType),c&&([d,p]=qd(c,!0),h.addEventListener(`progress`,d)),s&&h.upload&&([u,f]=qd(s),h.upload.addEventListener(`progress`,u),h.upload.addEventListener(`loadend`,f)),(r.cancelToken||r.signal)&&(l=t=>{h&&(n(!t||t.type?new Hd(null,e,h):t),h.abort(),m(),h=null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener(`abort`,l)));let _=Wd(r.url);if(_&&!Ad.protocols.includes(_)){n(new G(`Unsupported protocol `+_+`:`,G.ERR_BAD_REQUEST,e)),m();return}h.send(i||null)})},mf=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;let n=new AbortController,r=!1,i=function(e){if(!r){r=!0,o();let t=e instanceof Error?e:this.reason;n.abort(t instanceof G?t:new Hd(t instanceof Error?t.message:t))}},a=t&&setTimeout(()=>{a=null,i(new G(`timeout of ${t}ms exceeded`,G.ETIMEDOUT))},t),o=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(i):e.removeEventListener(`abort`,i)}),e=null)};e.forEach(e=>e.addEventListener(`abort`,i,{once:!0}));let{signal:s}=n;return s.unsubscribe=()=>W.asap(o),s},hf=function*(e,t){let n=e.byteLength;if(!t||n<t){yield e;return}let r=0,i;for(;r<n;)i=r+t,yield e.slice(r,i),r=i},gf=async function*(e,t){for await(let n of _f(e))yield*hf(n,t)},_f=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}},vf=(e,t,n,r)=>{let i=gf(e,t),a=0,o,s=e=>{o||(o=!0,r&&r(e))};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await i.next();if(t){s(),e.close();return}let o=r.byteLength;n&&n(a+=o),e.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel(e){return s(e),i.return()}},{highWaterMark:2})},yf=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,bf=(e,t,n)=>t+2<n&&yf(e.charCodeAt(t+1))&&yf(e.charCodeAt(t+2));function xf(e){if(!e||typeof e!=`string`||!e.startsWith(`data:`))return 0;let t=e.indexOf(`,`);if(t<0)return 0;let n=e.slice(5,t),r=e.slice(t+1);if(/;base64/i.test(n)){let e=r.length,t=r.length;for(let n=0;n<t;n++)if(r.charCodeAt(n)===37&&n+2<t){let t=r.charCodeAt(n+1),i=r.charCodeAt(n+2);yf(t)&&yf(i)&&(e-=2,n+=2)}let n=0,i=t-1,a=e=>e>=2&&r.charCodeAt(e-2)===37&&r.charCodeAt(e-1)===51&&(r.charCodeAt(e)===68||r.charCodeAt(e)===100);i>=0&&(r.charCodeAt(i)===61?(n++,i--):a(i)&&(n++,i-=3)),n===1&&i>=0&&(r.charCodeAt(i)===61||a(i))&&n++;let o=Math.floor(e/4)*3-(n||0);return o>0?o:0}let i=0;for(let e=0,t=r.length;e<t;e++){let n=r.charCodeAt(e);if(n===37&&bf(r,e,t))i+=1,e+=2;else if(n<128)i+=1;else if(n<2048)i+=2;else if(n>=55296&&n<=56319&&e+1<t){let t=r.charCodeAt(e+1);t>=56320&&t<=57343?(i+=4,e++):i+=3}else i+=3}return i}var Sf=`1.18.1`,Cf=64*1024,{isFunction:wf}=W,Tf=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(e,t)=>String.fromCharCode(parseInt(t,16))),Ef=e=>{if(!W.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Df=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Of=e=>{let t=e.indexOf(`://`),n=e;return t!==-1&&(n=n.slice(t+3)),n.includes(`@`)||n.includes(`:`)},kf=e=>{let t=W.global!==void 0&&W.global!==null?W.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=W.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);let{fetch:i,Request:a,Response:o}=e,s=i?wf(i):typeof fetch==`function`,c=wf(a),l=wf(o);if(!s)return!1;let u=s&&wf(n),d=s&&(typeof r==`function`?(e=>t=>e.encode(t))(new r):async e=>new Uint8Array(await new a(e).arrayBuffer())),f=c&&u&&Df(()=>{let e=!1,t=new a(Ad.origin,{body:new n,method:`POST`,get duplex(){return e=!0,`half`}}),r=t.headers.has(`Content-Type`);return t.body!=null&&t.body.cancel(),e&&!r}),p=l&&u&&Df(()=>W.isReadableStream(new o(``).body)),m={stream:p&&(e=>e.body)};s&&[`text`,`arrayBuffer`,`blob`,`formData`,`stream`].forEach(e=>{!m[e]&&(m[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new G(`Response type '${e}' is not supported`,G.ERR_NOT_SUPPORT,n)})});let h=async e=>{if(e==null)return 0;if(W.isBlob(e))return e.size;if(W.isSpecCompliantForm(e))return(await new a(Ad.origin,{method:`POST`,body:e}).arrayBuffer()).byteLength;if(W.isArrayBufferView(e)||W.isArrayBuffer(e))return e.byteLength;if(W.isURLSearchParams(e)&&(e+=``),W.isString(e))return(await d(e)).byteLength},g=async(e,t)=>W.toFiniteNumber(e.getContentLength())??h(t);return async e=>{let{url:t,method:n,data:s,signal:l,cancelToken:d,timeout:_,onDownloadProgress:v,onUploadProgress:y,responseType:b,headers:x,withCredentials:S=`same-origin`,fetchOptions:C,maxContentLength:w,maxBodyLength:T}=ff(e),E=W.isNumber(w)&&w>-1,D=W.isNumber(T)&&T>-1,O=t=>W.hasOwnProp(e,t)?e[t]:void 0,k=i||fetch;b=b?(b+``).toLowerCase():`text`;let A=mf([l,d&&d.toAbortSignal()],_),j=null,M=A&&A.unsubscribe&&(()=>{A.unsubscribe()}),N,ee=null,P=()=>new G(`Request body larger than maxBodyLength limit`,G.ERR_BAD_REQUEST,e,j);try{let i,l=O(`auth`);if(l&&(i={username:W.getSafeProp(l,`username`)||``,password:W.getSafeProp(l,`password`)||``}),Of(t)){let e=new URL(t,Ad.origin);!i&&(e.username||e.password)&&(i={username:Ef(e.username),password:Ef(e.password)}),(e.username||e.password)&&(e.username=``,e.password=``,t=e.href)}if(i&&(x.delete(`authorization`),x.set(`Authorization`,`Basic `+btoa(Tf((i.username||``)+`:`+(i.password||``))))),E&&typeof t==`string`&&t.startsWith(`data:`)&&xf(t)>w)throw new G(`maxContentLength size of `+w+` exceeded`,G.ERR_BAD_RESPONSE,e,j);if(D&&n!==`get`&&n!==`head`){let e=await h(s);if(typeof e==`number`&&isFinite(e)&&(N=e,e>T))throw P()}let d=D&&(W.isReadableStream(s)||W.isStream(s)),_=(e,t,n)=>vf(e,Cf,e=>{if(D&&e>T)throw ee=P();t&&t(e)},n);if(f&&n!==`get`&&n!==`head`&&(y||d)){if(N=N??await g(x,s),N!==0||d){let e=new a(t,{method:`POST`,body:s,duplex:`half`}),n;if(W.isFormData(s)&&(n=e.headers.get(`content-type`))&&x.setContentType(n),e.body){let[t,n]=y&&Jd(N,qd(Yd(y)))||[];s=_(e.body,t,n)}}}else if(d&&!c&&u&&n!==`get`&&n!==`head`)s=_(s);else if(d&&c&&!f&&n!==`get`&&n!==`head`)throw new G(`Stream request bodies are not supported by the current fetch implementation`,G.ERR_NOT_SUPPORT,e,j);W.isString(S)||(S=S?`include`:`omit`);let F=c&&`credentials`in a.prototype;if(W.isFormData(s)){let e=x.getContentType();e&&/^multipart\/form-data/i.test(e)&&!/boundary=/i.test(e)&&x.delete(`content-type`)}x.set(`User-Agent`,`axios/`+Sf,!1);let I={...C,signal:A,method:n.toUpperCase(),headers:Zu(x.normalize()),body:s,duplex:`half`,credentials:F?S:void 0};j=c&&new a(t,I);let L=await(c?k(j,C):k(t,I)),R=od.from(L.headers);if(E){let t=W.toFiniteNumber(R.getContentLength());if(t!=null&&t>w)throw new G(`maxContentLength size of `+w+` exceeded`,G.ERR_BAD_RESPONSE,e,j)}let z=p&&(b===`stream`||b===`response`);if(p&&L.body&&(v||E||z&&M)){let t={};[`status`,`statusText`,`headers`].forEach(e=>{t[e]=L[e]});let n=W.toFiniteNumber(R.getContentLength()),[r,i]=v&&Jd(n,qd(Yd(v),!0))||[],a=0;L=new o(vf(L.body,Cf,t=>{if(E&&(a=t,a>w))throw new G(`maxContentLength size of `+w+` exceeded`,G.ERR_BAD_RESPONSE,e,j);r&&r(t)},()=>{i&&i(),M&&M()}),t)}b=b||`text`;let te=await m[W.findKey(m,b)||`text`](L,e);if(E&&!p&&!z){let t;if(te!=null&&(typeof te.byteLength==`number`?t=te.byteLength:typeof te.size==`number`?t=te.size:typeof te==`string`&&(t=typeof r==`function`?new r().encode(te).byteLength:te.length)),typeof t==`number`&&t>w)throw new G(`maxContentLength size of `+w+` exceeded`,G.ERR_BAD_RESPONSE,e,j)}return!z&&M&&M(),await new Promise((t,n)=>{Ud(t,n,{data:te,headers:od.from(L.headers),status:L.status,statusText:L.statusText,config:e,request:j})})}catch(t){if(M&&M(),A&&A.aborted&&A.reason instanceof G){let n=A.reason;throw n.config=e,j&&(n.request=j),t!==n&&Object.defineProperty(n,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),n}if(ee)throw j&&!ee.request&&(ee.request=j),ee;if(t instanceof G)throw j&&!t.request&&(t.request=j),t;if(t&&t.name===`TypeError`&&/Load failed|fetch/i.test(t.message)){let n=new G(`Network Error`,G.ERR_NETWORK,e,j,t&&t.response);throw Object.defineProperty(n,"cause",{__proto__:null,value:t.cause||t,writable:!0,enumerable:!1,configurable:!0}),n}throw G.from(t,t&&t.code,e,j,t&&t.response)}}},Af=new Map,jf=e=>{let t=e&&e.env||{},{fetch:n,Request:r,Response:i}=t,a=[r,i,n],o=a.length,s,c,l=Af;for(;o--;)s=a[o],c=l.get(s),c===void 0&&l.set(s,c=o?new Map:kf(t)),l=c;return c};jf();var Mf={http:null,xhr:pf,fetch:{get:jf}};W.forEach(Mf,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});var Nf=e=>`- ${e}`,Pf=e=>W.isFunction(e)||e===null||e===!1;function Ff(e,t){e=W.isArray(e)?e:[e];let{length:n}=e,r,i,a={};for(let o=0;o<n;o++){r=e[o];let n;if(i=r,!Pf(r)&&(i=Mf[(n=String(r)).toLowerCase()],i===void 0))throw new G(`Unknown adapter '${n}'`);if(i&&(W.isFunction(i)||(i=i.get(t))))break;a[n||`#`+o]=i}if(!i){let e=Object.entries(a).map(([e,t])=>`adapter ${e} `+(t===!1?`is not supported by the environment`:`is not available in the build`));throw new G(`There is no suitable adapter to dispatch the request `+(n?e.length>1?`since :
`+e.map(Nf).join(`
`):` `+Nf(e[0]):`as no adapter specified`),G.ERR_NOT_SUPPORT)}return i}var If={getAdapter:Ff,adapters:Mf};function Lf(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Hd(null,e)}function Rf(e){return Lf(e),e.headers=od.from(e.headers),e.data=Bd.call(e,e.transformRequest),[`post`,`put`,`patch`].indexOf(e.method)!==-1&&e.headers.setContentType(`application/x-www-form-urlencoded`,!1),If.getAdapter(e.adapter||zd.adapter,e)(e).then(function(t){Lf(e),e.response=t;try{t.data=Bd.call(e,e.transformResponse,t)}finally{delete e.response}return t.headers=od.from(t.headers),t},function(t){if(!Vd(t)&&(Lf(e),t&&t.response)){e.response=t.response;try{t.response.data=Bd.call(e,e.transformResponse,t.response)}finally{delete e.response}t.response.headers=od.from(t.response.headers)}return Promise.reject(t)})}var zf={};[`object`,`boolean`,`number`,`function`,`string`,`symbol`].forEach((e,t)=>{zf[e]=function(n){return typeof n===e||`a`+(t<1?`n `:` `)+e}});var Bf={};zf.transitional=function(e,t,n){function r(e,t){return`[Axios v`+Sf+`] Transitional option '`+e+`'`+t+(n?`. `+n:``)}return(n,i,a)=>{if(e===!1)throw new G(r(i,` has been removed`+(t?` in `+t:``)),G.ERR_DEPRECATED);return t&&!Bf[i]&&(Bf[i]=!0,console.warn(r(i,` has been deprecated since v`+t+` and will be removed in the near future`))),!e||e(n,i,a)}},zf.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function Vf(e,t,n){if(typeof e!=`object`||!e)throw new G(`options must be an object`,G.ERR_BAD_OPTION_VALUE);let r=Object.keys(e),i=r.length;for(;i-->0;){let a=r[i],o=Object.prototype.hasOwnProperty.call(t,a)?t[a]:void 0;if(o){let t=e[a],n=t===void 0||o(t,a,e);if(n!==!0)throw new G(`option `+a+` must be `+n,G.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new G(`Unknown option `+a,G.ERR_BAD_OPTION)}}var Hf={assertOptions:Vf,validators:zf},Uf=Hf.validators,Wf=class{constructor(e){this.defaults=e||{},this.interceptors={request:new xd,response:new xd}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=Error();let n=(()=>{if(!t.stack)return``;let e=t.stack.indexOf(`
`);return e===-1?``:t.stack.slice(e+1)})();try{if(!e.stack)e.stack=n;else if(n){let t=n.indexOf(`
`),r=t===-1?-1:n.indexOf(`
`,t+1),i=r===-1?``:n.slice(r+1);String(e.stack).endsWith(i)||(e.stack+=`
`+n)}}catch{}}throw e}}_request(e,t){typeof e==`string`?(t=t||{},t.url=e):t=e||{},t=cf(this.defaults,t);let{transitional:n,paramsSerializer:r,headers:i}=t;n!==void 0&&Hf.assertOptions(n,{silentJSONParsing:Uf.transitional(Uf.boolean),forcedJSONParsing:Uf.transitional(Uf.boolean),clarifyTimeoutError:Uf.transitional(Uf.boolean),legacyInterceptorReqResOrdering:Uf.transitional(Uf.boolean),advertiseZstdAcceptEncoding:Uf.transitional(Uf.boolean),validateStatusUndefinedResolves:Uf.transitional(Uf.boolean)},!1),r!=null&&(W.isFunction(r)?t.paramsSerializer={serialize:r}:Hf.assertOptions(r,{encode:Uf.function,serialize:Uf.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls===void 0?t.allowAbsoluteUrls=!0:t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls),Hf.assertOptions(t,{baseUrl:Uf.spelling(`baseURL`),withXsrfToken:Uf.spelling(`withXSRFToken`)},!0),t.method=(t.method||this.defaults.method||`get`).toLowerCase();let a=i&&W.merge(i.common,i[t.method]);i&&W.forEach([`delete`,`get`,`head`,`post`,`put`,`patch`,`query`,`common`],e=>{delete i[e]}),t.headers=od.concat(a,i);let o=[],s=!0;this.interceptors.request.forEach(function(e){if(typeof e.runWhen==`function`&&e.runWhen(t)===!1)return;s=s&&e.synchronous;let n=t.transitional||Sd;n&&n.legacyInterceptorReqResOrdering?o.unshift(e.fulfilled,e.rejected):o.push(e.fulfilled,e.rejected)});let c=[];this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,u=0,d;if(!s){let e=[Rf.bind(this),void 0];for(e.unshift(...o),e.push(...c),d=e.length,l=Promise.resolve(t);u<d;)l=l.then(e[u++],e[u++]);return l}d=o.length;let f=t;for(;u<d;){let e=o[u++],t=o[u++];try{f=e(f)}catch(e){t.call(this,e);break}}try{l=Rf.call(this,f)}catch(e){return Promise.reject(e)}for(u=0,d=c.length;u<d;)l=l.then(c[u++],c[u++]);return l}getUri(e){return e=cf(this.defaults,e),bd(of(e.baseURL,e.url,e.allowAbsoluteUrls,e),e.params,e.paramsSerializer)}};W.forEach([`delete`,`get`,`head`,`options`],function(e){Wf.prototype[e]=function(t,n){return this.request(cf(n||{},{method:e,url:t,data:n&&W.hasOwnProp(n,`data`)?n.data:void 0}))}}),W.forEach([`post`,`put`,`patch`,`query`],function(e){function t(t){return function(n,r,i){return this.request(cf(i||{},{method:e,headers:t?{"Content-Type":`multipart/form-data`}:{},url:n,data:r}))}}Wf.prototype[e]=t(),e!==`query`&&(Wf.prototype[e+`Form`]=t(!0))});var Gf=class e{constructor(e){if(typeof e!=`function`)throw TypeError(`executor must be a function.`);let t;this.promise=new Promise(function(e){t=e});let n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-->0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t,r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,i){n.reason||(n.reason=new Hd(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}};function Kf(e){return function(t){return e.apply(null,t)}}function qf(e){return W.isObject(e)&&e.isAxiosError===!0}var Jf={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Jf).forEach(([e,t])=>{Jf[t]=e});function Yf(e){let t=new Wf(e),n=Dl(Wf.prototype.request,t);return W.extend(n,Wf.prototype,t,{allOwnKeys:!0}),W.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Yf(cf(e,t))},n}var Xf=Yf(zd);Xf.Axios=Wf,Xf.CanceledError=Hd,Xf.CancelToken=Gf,Xf.isCancel=Vd,Xf.VERSION=Sf,Xf.toFormData=hd,Xf.AxiosError=G,Xf.Cancel=Xf.CanceledError,Xf.all=function(e){return Promise.all(e)},Xf.spread=Kf,Xf.isAxiosError=qf,Xf.mergeConfig=cf,Xf.AxiosHeaders=od,Xf.formToJSON=e=>Id(W.isHTMLForm(e)?new FormData(e):e),Xf.getAdapter=If.getAdapter,Xf.HttpStatusCode=Jf,Xf.default=Xf;var Zf=e=>{let t=(e||``).trim();return t?(t=t.replace(/\/?v0\/management\/?$/i,``),t=t.replace(/\/+$/i,``),/^https?:\/\//i.test(t)||(t=`http://${t}`),t):``},Qf=e=>{let t=Zf(e);return t?`${t}${Ac}`:``},$f=()=>{try{let{protocol:e,hostname:t,port:n}=window.location;return Zf(`${e}//${t}${n?`:${n}`:``}`)}catch(e){return console.warn(`Failed to detect api base from location, fallback to default`,e),Zf(`http://localhost:${kc}`)}},ep=e=>typeof e==`string`?e.trim():``,tp=(e,t)=>{if(!Tc(e))return{message:ep(e)||ep(t)||`Request failed`};let n=e.error,r=Tc(n)?n:null,i=ep(n),a=i||ep(r?.code)||void 0;return{message:ep(e.message)||ep(r?.message)||i||ep(t)||`Request failed`,apiCode:a}};function np(e){"@babel/helpers - typeof";return np=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},np(e)}function rp(e,t){if(np(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(np(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ip(e){var t=rp(e,`string`);return np(t)==`symbol`?t:t+``}function ap(e,t,n){return(t=ip(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var op=new class{constructor(){ap(this,`instance`,void 0),ap(this,`apiBase`,``),ap(this,`managementKey`,``),this.instance=Xf.create({timeout:jc,headers:{"Content-Type":`application/json`}}),this.setupInterceptors()}setConfig(e){this.apiBase=Qf(e.apiBase),this.managementKey=e.managementKey,e.timeout?this.instance.defaults.timeout=e.timeout:this.instance.defaults.timeout=jc}readHeader(e,t){if(!e)return null;let n=e=>{if(e==null)return null;if(Array.isArray(e)){let t=e.find(e=>e!=null&&String(e).trim());return t===void 0?null:String(t)}return String(e)||null},r=e.get;if(typeof r==`function`)for(let i of t){let t=n(r.call(e,i));if(t)return t}let i=typeof e.entries==`function`?Array.from(e.entries()):Object.entries(e),a=Object.fromEntries(i.map(([e,t])=>[String(e).toLowerCase(),t]));for(let e of t){let t=n(a[e.toLowerCase()]);if(t)return t}return null}readBooleanHeader(e,t){let n=this.readHeader(e,t);if(n===null)return null;let r=n.trim().toLowerCase();return[`1`,`true`,`yes`,`on`].includes(r)?!0:![`0`,`false`,`no`,`off`].includes(r)&&null}setupInterceptors(){this.instance.interceptors.request.use(e=>(e.baseURL=this.apiBase,this.managementKey&&(e.headers.Authorization=`Bearer ${this.managementKey}`),e),e=>Promise.reject(this.handleError(e))),this.instance.interceptors.response.use(e=>{let t=e.headers,n=this.readHeader(t,Mc),r=this.readHeader(t,Nc),i=n||this.readHeader(t,Fc),a=r||this.readHeader(t,Ic),o=this.readBooleanHeader(t,Pc);return(i||a)&&window.dispatchEvent(new CustomEvent(`server-version-update`,{detail:{version:i||null,buildDate:a||null}})),o!==null&&window.dispatchEvent(new CustomEvent(`server-plugin-support-update`,{detail:{supportsPlugin:o}})),e},e=>Promise.reject(this.handleError(e)))}handleError(e){if(Xf.isAxiosError(e)){let t=e.response?.data,n=tp(t,e.message),r=Error(n.message);return r.name=`ApiError`,r.status=e.response?.status,r.code=e.code,r.apiCode=n.apiCode,r.details=t,r.data=t,e.response?.status===401&&window.dispatchEvent(new Event(`unauthorized`)),r}let t=e instanceof Error?e.message:typeof e==`string`?e:`Unknown error occurred`,n=Error(t);return n.name=`ApiError`,n}async get(e,t){return(await this.instance.get(e,t)).data}async post(e,t,n){return(await this.instance.post(e,t,n)).data}async put(e,t,n){return(await this.instance.put(e,t,n)).data}async patch(e,t,n){return(await this.instance.patch(e,t,n)).data}async delete(e,t){return(await this.instance.delete(e,t)).data}async getRaw(e,t){return this.instance.get(e,t)}async postForm(e,t,n){return(await this.instance.post(e,t,{...n,headers:{...n?.headers||{},"Content-Type":`multipart/form-data`}})).data}};function sp(e){return e?Array.isArray(e)?e.reduce((e,t)=>{let n=t?.key?.trim(),r=t?.value?.trim();return n&&r!=null&&r!==``&&(e[n]=r),e},{}):Object.entries(e).reduce((e,[t,n])=>{let r=t?.trim(),i=typeof n==`string`?n.trim():n;return r&&i!=null&&i!==``&&(e[r]=String(i)),e},{}):{}}function cp(e,t){if(!e)return!1;let n=t.toLowerCase();return Object.keys(e).some(e=>e.toLowerCase()===n)}var lp=1e6,up=e=>{let t=typeof e==`number`?e:typeof e==`string`&&/^[+-]?\d+$/.test(e.trim())?Number(e.trim()):void 0;if(!(t===void 0||!Number.isSafeInteger(t)||t>1e6))return t},dp=e=>{let t=e.trim();if(!t)return null;if(!/^[+-]?\d+$/.test(t))return`integer`;let n=Number(t);return Number.isSafeInteger(n)?n>1e6?`max`:null:`integer`},fp=e=>{if(dp(e))return;let t=e.trim();return t?Number(t):void 0},pp=e=>typeof e==`boolean`?e:void 0,mp=e=>Tc(e)?e:void 0,hp=e=>Array.isArray(e)?e.map(e=>{if(e==null)return null;if(typeof e==`string`){let t=e.trim();return t?{name:t}:null}if(!Tc(e))return null;let t=e.name;if(!t)return null;let n=e.alias,r=e.priority,i=e[`test-model`],a=pp(e.image),o=mp(e.thinking),s={name:String(t)};if(n&&n!==t&&(s.alias=String(n)),r!==void 0){let e=Number(r);Number.isFinite(e)&&(s.priority=e)}return i&&(s.testModel=String(i)),a!==void 0&&(s.image=a),o&&(s.thinking=o),s}).filter(Boolean):[],gp=e=>{if(!e||typeof e!=`object`)return;let t=sp(e);return Object.keys(t).length?t:void 0},_p=e=>{let t=Array.isArray(e)?e:typeof e==`string`?e.split(/[\n,]/):[],n=new Set,r=[];return t.forEach(e=>{let t=String(e??``).trim();if(!t)return;let i=t.toLowerCase();n.has(i)||(n.add(i),r.push(t))}),r},vp=e=>e==null?void 0:String(e).trim()||void 0,yp=e=>e==null?void 0:String(e).trim()||void 0,bp=e=>{if(e==null)return null;let t=Tc(e)?e:null,n=t?.[`api-key`]??(typeof e==`string`?e:``),r=String(n||``).trim();if(!r)return null;let i=t?.[`proxy-url`],a=up(t?.weight),o=yp(t?.[`auth-index`]),s={apiKey:r,proxyUrl:i?String(i):void 0};return a!==void 0&&(s.weight=a),o&&(s.authIndex=o),s},xp=e=>{if(e==null)return null;let t=Tc(e)?e:null,n=t?.[`api-key`]??(typeof e==`string`?e:``),r=String(n||``).trim();if(!r)return null;let i={apiKey:r},a=up(t?.weight);a!==void 0&&(i.weight=a);let o=t?.priority;if(o!=null&&String(o).trim()!==``){let e=Number(o);Number.isFinite(e)&&(i.priority=e)}let s=vp(t?.prefix);s&&(i.prefix=s);let c=t?.[`base-url`],l=t?.[`proxy-url`];c&&(i.baseUrl=String(c));let u=pp(t?.websockets);u!==void 0&&(i.websockets=u),l&&(i.proxyUrl=String(l));let d=pp(t?.[`disable-cooling`]);d!==void 0&&(i.disableCooling=d);let f=gp(t?.headers);f&&(i.headers=f);let p=hp(t?.models);p.length&&(i.models=p);let m=_p(t?.[`excluded-models`]);m.length&&(i.excludedModels=m);let h=yp(t?.[`auth-index`]);h&&(i.authIndex=h);let g=t?.cloak;if(Tc(g)){let e={},t=g.mode;typeof t==`string`&&t.trim()&&(e.mode=t.trim());let n=pp(g[`strict-mode`]);n!==void 0&&(e.strictMode=n);let r=_p(g[`sensitive-words`]);r.length&&(e.sensitiveWords=r);let a=pp(g[`cache-user-id`]);a!==void 0&&(e.cacheUserId=a),Object.keys(e).length&&(i.cloak=e)}let _=pp(t?.[`experimental-cch-signing`]);return _!==void 0&&(i.experimentalCchSigning=_),i},Sp=e=>{if(e==null)return null;let t=Tc(e)?e:null,n=t?.[`api-key`];!n&&typeof e==`string`&&(n=e);let r=String(n||``).trim();if(!r)return null;let i={apiKey:r},a=up(t?.weight);a!==void 0&&(i.weight=a);let o=t?.priority;if(o!=null&&String(o).trim()!==``){let e=Number(o);Number.isFinite(e)&&(i.priority=e)}let s=vp(t?.prefix);s&&(i.prefix=s);let c=t?.[`base-url`];c&&(i.baseUrl=String(c));let l=t?.[`proxy-url`];l&&(i.proxyUrl=String(l));let u=pp(t?.[`disable-cooling`]);u!==void 0&&(i.disableCooling=u);let d=hp(t?.models);d.length&&(i.models=d);let f=gp(t?.headers);f&&(i.headers=f);let p=_p(t?.[`excluded-models`]);p.length&&(i.excludedModels=p);let m=yp(t?.[`auth-index`]);return m&&(i.authIndex=m),i},Cp=(e,t)=>{if(!Tc(e))return null;let n=e.name,r=e[`base-url`];if(!n||!r)return null;let i=Array.isArray(e[`api-key-entries`])?e[`api-key-entries`].map(e=>bp(e)).filter(Boolean):[],a=gp(e.headers),o=hp(e.models),s=e.priority,c=e[`test-model`],l={name:String(n),baseUrl:String(r),apiKeyEntries:i},u=pp(e.disabled);u!==void 0&&(l.disabled=u);let d=pp(e[`disable-cooling`]);d!==void 0&&(l.disableCooling=d);let f=vp(e.prefix);f&&(l.prefix=f),a&&(l.headers=a),o.length&&(l.models=o),s!==void 0&&(l.priority=Number(s)),c&&(l.testModel=String(c));let p=yp(e[`auth-index`]);return p&&(l.authIndex=p),t!==void 0&&(l.sourceIndex=t),l},wp=e=>{if(!Tc(e))return;let t=e[`oauth-excluded-models`]??e.items??e;if(!Tc(t))return;let n={};return Object.entries(t).forEach(([e,t])=>{let r=String(e||``).trim();if(!r)return;let i=_p(t);n[r.toLowerCase()]=i}),n},Tp=e=>{let t={raw:Tc(e)?e:{}};if(!Tc(e))return t;t.debug=pp(e.debug);let n=e[`proxy-url`];t.proxyUrl=typeof n==`string`?n:n==null?void 0:String(n);let r=e[`request-retry`];if(typeof r==`number`&&Number.isFinite(r))t.requestRetry=r;else if(typeof r==`string`&&r.trim()!==``){let e=Number(r);Number.isFinite(e)&&(t.requestRetry=e)}let i=e[`quota-exceeded`];Tc(i)&&(t.quotaExceeded={switchProject:pp(i[`switch-project`]),switchPreviewModel:pp(i[`switch-preview-model`]),antigravityCredits:pp(i[`antigravity-credits`])}),t.requestLog=pp(e[`request-log`]),t.loggingToFile=pp(e[`logging-to-file`]);let a=e[`logs-max-total-size-mb`];if(typeof a==`number`&&Number.isFinite(a))t.logsMaxTotalSizeMb=a;else if(typeof a==`string`&&a.trim()!==``){let e=Number(a);Number.isFinite(e)&&(t.logsMaxTotalSizeMb=e)}t.wsAuth=pp(e[`ws-auth`]),t.forceModelPrefix=pp(e[`force-model-prefix`]);let o=e.routing,s=Tc(o)?o.strategy:void 0;s!=null&&(t.routingStrategy=String(s));let c=e[`api-keys`];Array.isArray(c)&&(t.apiKeys=c.map(e=>String(e)).filter(e=>e.trim()!==``));let l=e[`gemini-api-key`];Array.isArray(l)&&(t.geminiApiKeys=l.map(e=>Sp(e)).filter(Boolean));let u=e[`interactions-api-key`];Array.isArray(u)&&(t.interactionsApiKeys=u.map(e=>Sp(e)).filter(Boolean));let d=e[`codex-api-key`];Array.isArray(d)&&(t.codexApiKeys=d.map(e=>xp(e)).filter(Boolean));let f=e[`xai-api-key`];Array.isArray(f)&&(t.xaiApiKeys=f.map(e=>xp(e)).filter(Boolean));let p=e[`claude-api-key`];Array.isArray(p)&&(t.claudeApiKeys=p.map(e=>xp(e)).filter(Boolean));let m=e[`vertex-api-key`];Array.isArray(m)&&(t.vertexApiKeys=m.map(e=>xp(e)).filter(Boolean));let h=e[`openai-compatibility`];Array.isArray(h)&&(t.openaiCompatibility=h.map((e,t)=>Cp(e,t)).filter(Boolean));let g=wp(e[`oauth-excluded-models`]);return g&&(t.oauthExcludedModels=g),t},Ep={async getConfig(){return Tp(await op.get(`/config`))},updateRequestLog:e=>op.put(`/request-log`,{value:e})},Dp=0,Op=null,kp=null,Ap=()=>kp!==null&&Date.now()-kp.timestamp<3e4,jp=Cc((e,t)=>({config:null,fetchConfig:async(t=!1)=>{if(!t&&kp&&Ap())return kp.data;if(Op)return Op.promise;let n=Dp+=1;try{let t=Ep.getConfig();Op={id:n,promise:t};let r=await t;return n===Dp?(kp={data:r,timestamp:Date.now()},e({config:r}),r):r}finally{Op?.id===n&&(Op=null)}},updateConfigValue:(n,r)=>{e(e=>{let t={...e.config?.raw||{}};t[n]=r;let i={...e.config||{},raw:t};switch(n){case`debug`:i.debug=r;break;case`proxy-url`:i.proxyUrl=r;break;case`request-retry`:i.requestRetry=r;break;case`quota-exceeded`:i.quotaExceeded=r;break;case`request-log`:i.requestLog=r;break;case`logging-to-file`:i.loggingToFile=r;break;case`logs-max-total-size-mb`:i.logsMaxTotalSizeMb=r;break;case`ws-auth`:i.wsAuth=r;break;case`force-model-prefix`:i.forceModelPrefix=r;break;case`routing/strategy`:i.routingStrategy=r;break;case`api-keys`:i.apiKeys=r;break;case`gemini-api-key`:i.geminiApiKeys=r;break;case`interactions-api-key`:i.interactionsApiKeys=r;break;case`codex-api-key`:i.codexApiKeys=r;break;case`xai-api-key`:i.xaiApiKeys=r;break;case`claude-api-key`:i.claudeApiKeys=r;break;case`vertex-api-key`:i.vertexApiKeys=r;break;case`openai-compatibility`:i.openaiCompatibility=r;break;case`oauth-excluded-models`:i.oauthExcludedModels=r;break;default:break}return{config:i}}),t().clearCache(n)},clearCache:t=>{kp=null,Dp+=1,Op=null,t||e({config:null})},isCacheValid:()=>Ap()})),Mp=[{id:`gpt`,label:`GPT`,patterns:[/gpt/i,/\bo\d\b/i,/\bo\d+\.?/i,/\bchatgpt/i]},{id:`claude`,label:`Claude`,patterns:[/claude/i]},{id:`gemini`,label:`Gemini`,patterns:[/gemini/i,/\bgai\b/i]},{id:`kimi`,label:`Kimi`,patterns:[/kimi/i]},{id:`qwen`,label:`Qwen`,patterns:[/qwen/i]},{id:`glm`,label:`GLM`,patterns:[/glm/i,/chatglm/i]},{id:`grok`,label:`Grok`,patterns:[/grok/i]},{id:`deepseek`,label:`DeepSeek`,patterns:[/deepseek/i]},{id:`minimax`,label:`MiniMax`,patterns:[/minimax/i,/abab/i]}],Np=e=>{for(let t of Mp)if(t.patterns.some(t=>t.test(e)))return t.id;return null};function Pp(e,{dedupe:t=!1}={}){let n=e=>{if(typeof e==`string`)return{name:e};if(!Tc(e))return null;let t=e.id||e.name||e.model||e.value;if(!t)return null;let n=e.alias||e.display_name||e.displayName,r=e.description||e.note||e.comment,i={name:String(t)};return n&&n!==t&&(i.alias=String(n)),r&&(i.description=String(r)),i},r=[];Array.isArray(e)?r=e.map(n):Tc(e)&&(Array.isArray(e.data)?r=e.data.map(n):Array.isArray(e.models)&&(r=e.models.map(n)));let i=r.filter(Boolean);if(!t)return i;let a=new Set;return i.filter(e=>{let t=(e?.name||``).toLowerCase();return!t||a.has(t)?!1:(a.add(t),!0)})}function Fp(e=[],{otherLabel:t=`Other`}={}){let n=Mp.map(e=>({id:e.id,label:e.label,items:[]})),r={id:`other`,label:t,items:[]};e.forEach(e=>{let t=Np(`${(e?.name||``).toString()} ${(e?.alias||``).toString()}`.toLowerCase()),i=t?n.find(e=>e.id===t):null;i?i.items.push(e):r.items.push(e)});let i=n.filter(e=>e.items.length>0);return r.items.length&&i.push(r),i}var Ip=e=>{if(e==null)return{bodyText:``,body:null};if(typeof e==`string`){let t=e,n=t.trim();if(!n)return{bodyText:t,body:null};try{return{bodyText:t,body:JSON.parse(n)}}catch{return{bodyText:t,body:t}}}try{return{bodyText:JSON.stringify(e),body:e}}catch{return{bodyText:String(e),body:e}}},Lp=e=>{let t=e.statusCode,n=e.body,r=e.bodyText,i=``;if(Tc(n)){let e=n.error;Tc(e)&&typeof e.message==`string`?i=e.message:typeof e==`string`&&(i=e),!i&&typeof n.message==`string`&&(i=n.message)}else typeof n==`string`&&(i=n);return!i&&r&&(i=r),t&&i?`${t} ${i}`.trim():t?`HTTP ${t}`:i||`Request failed`},Rp={request:async(e,t)=>{let n=await op.post(`/api-call`,e,t),r=Number(n?.status_code??0),i=n?.header??{},{bodyText:a,body:o}=Ip(n?.body);return{statusCode:r,header:i,bodyText:a,body:o}}},zp=`https://api.anthropic.com`,Bp=`https://generativelanguage.googleapis.com`,Vp=`2023-06-01`,Hp=new Map,Up=new Map,Wp=(e,t,n)=>`${e}||${Object.entries(t).sort(([e],[t])=>e.toLowerCase().localeCompare(t.toLowerCase())).map(([e,t])=>`${e}:${t}`).join(`|`)}||auth=${n??``}`,Gp=e=>{let t=Zf(e);if(!t)return``;let n=t.replace(/\/+$/g,``);return/\/models$/i.test(n)?n:`${n}/models`},Kp=e=>{let t=Zf(e);if(!t)return``;let n=t.replace(/\/+$/g,``);return/\/v1\/models$/i.test(n)?n:/\/v1$/i.test(n)?`${n}/models`:`${n}/v1/models`},qp=e=>{let t=(Zf(e)||zp).replace(/\/+$/g,``);return t=t.replace(/\/v1\/models$/i,``),t=t.replace(/\/v1(?:\/.*)?$/i,``),`${t}/v1/models`},Jp=e=>{let t=(Zf(e)||Bp).replace(/\/+$/g,``);return t=t.replace(/\/v1beta\/models$/i,``),t=t.replace(/\/v1beta(?:\/.*)?$/i,``),`${t}/v1beta/models`},Yp=e=>{let t=String(e??``).trim();return t?t.replace(/^\/?models\//i,``):``},Xp=(e,t)=>{let n=t.toLowerCase();return Object.keys(e).some(e=>e.toLowerCase()===n)},Zp=e=>{let t=Object.entries(e).find(([e])=>e.toLowerCase()===`authorization`);if(!t)return``;let n=String(t[1]??``).trim();return n&&n.match(/^Bearer\s+(.+)$/i)?.[1]?.trim()||``},Qp={async fetchModels(e,t,n={}){let r=Kp(e);if(!r)throw Error(`Invalid base url`);let i={...n};t&&!Xp(i,`authorization`)&&(i.Authorization=`Bearer ${t}`);let a=await Xf.get(r,{headers:Object.keys(i).length?i:void 0});return Pp(a.data?.data??a.data?.models??a.data,{dedupe:!0})},async fetchV1ModelsViaApiCall(e,t,n={},r){let i=Kp(e);if(!i)throw Error(`Invalid base url`);let a=r?.trim()||void 0,o={...n};t&&!Xp(o,`authorization`)?o.Authorization=`Bearer ${t}`:a&&!Xp(o,`authorization`)&&(o.Authorization=`Bearer $TOKEN$`);let s=await Rp.request({authIndex:a,method:`GET`,url:i,header:Object.keys(o).length?o:void 0});if(s.statusCode<200||s.statusCode>=300)throw Error(Lp(s));return Pp(s.body??s.bodyText,{dedupe:!0})},async fetchModelsViaApiCall(e,t,n={},r){let i=Gp(e);if(!i)throw Error(`Invalid base url`);let a=r?.trim()||void 0,o={...n};t&&!Xp(o,`authorization`)?o.Authorization=`Bearer ${t}`:a&&!Xp(o,`authorization`)&&(o.Authorization=`Bearer $TOKEN$`);let s=await Rp.request({authIndex:a,method:`GET`,url:i,header:Object.keys(o).length?o:void 0});if(s.statusCode<200||s.statusCode>=300)throw Error(Lp(s));return Pp(s.body??s.bodyText,{dedupe:!0})},async fetchClaudeModelsViaApiCall(e,t,n={},r){let i=qp(e);if(!i)throw Error(`Invalid base url`);let a=r?.trim()||void 0,o={...n},s=String(t??``).trim();!s&&!Xp(o,`x-api-key`)&&(s=Zp(o)),s&&!Xp(o,`x-api-key`)?o[`x-api-key`]=s:a&&!Xp(o,`x-api-key`)&&(o[`x-api-key`]=`$TOKEN$`),Xp(o,`anthropic-version`)||(o[`anthropic-version`]=Vp);let c=Wp(i,o,a),l=Hp.get(c);if(l)return l;let u=(async()=>{let e=await Rp.request({authIndex:a,method:`GET`,url:i,header:Object.keys(o).length?o:void 0});if(e.statusCode<200||e.statusCode>=300)throw Error(Lp(e));return Pp(e.body??e.bodyText,{dedupe:!0})})();Hp.set(c,u);try{return await u}finally{Hp.delete(c)}},async fetchGeminiModelsViaApiCall(e,t,n={},r){let i=Jp(e);if(!i)throw Error(`Invalid base url`);let a=r?.trim()||void 0,o={...n},s=String(t??``).trim();s&&!Xp(o,`x-goog-api-key`)?o[`x-goog-api-key`]=s:a&&!Xp(o,`x-goog-api-key`)&&(o[`x-goog-api-key`]=`$TOKEN$`);let c=Wp(i,o,a),l=Up.get(c);if(l)return l;let u=(async()=>{let e=new Set,t=[],n=``;for(let r=0;r<20;r+=1){let r=new URL(i);n&&r.searchParams.set(`pageToken`,n);let s=await Rp.request({authIndex:a,method:`GET`,url:r.toString(),header:Object.keys(o).length?o:void 0});if(s.statusCode<200||s.statusCode>=300)throw Error(Lp(s));let c=s.body??s.bodyText;Pp(c,{dedupe:!1}).forEach(n=>{let r=Yp(n.name),i=(r||``).toLowerCase();if(!i||e.has(i))return;e.add(i);let a={...n,name:r};a.alias&&a.alias.trim()===r&&(a.alias=void 0),t.push(a)});let l=Tc(c)&&typeof c.nextPageToken==`string`?c.nextPageToken:``;if(!l)break;n=l}return t})();Up.set(c,u);try{return await u}finally{Up.delete(c)}}},$p=Cc((e,t)=>({models:[],loading:!1,error:null,cache:null,fetchModels:async(n,r,i=!1)=>{let{cache:a,isCacheValid:o}=t(),s=r?.trim()||``;if(!i&&o(n,s)&&a)return e({models:a.data,error:null}),a.data;e({loading:!0,error:null});try{let t=await Qp.fetchModels(n,s||void 0);return e({models:t,loading:!1,cache:{data:t,timestamp:Date.now(),apiBase:n,apiKey:s}}),t}catch(t){throw e({error:t instanceof Error?t.message:typeof t==`string`?t:`Failed to fetch models`,loading:!1,models:[]}),t}},clearCache:()=>{e({cache:null,models:[]})},isCacheValid:(e,n)=>{let{cache:r}=t();if(!r||r.apiBase!==e)return!1;let i=n?.trim()||``;return(r.apiKey||``)===i&&Date.now()-r.timestamp<Oc}})),em=(e,t)=>typeof e==`function`?e(t):e,tm=Cc(e=>({cacheGeneration:0,antigravityQuota:{},claudeQuota:{},codexQuota:{},kimiQuota:{},xaiQuota:{},setAntigravityQuota:t=>e(e=>({antigravityQuota:em(t,e.antigravityQuota)})),setClaudeQuota:t=>e(e=>({claudeQuota:em(t,e.claudeQuota)})),setCodexQuota:t=>e(e=>({codexQuota:em(t,e.codexQuota)})),setKimiQuota:t=>e(e=>({kimiQuota:em(t,e.kimiQuota)})),setXaiQuota:t=>e(e=>({xaiQuota:em(t,e.xaiQuota)})),clearQuotaCache:()=>e(e=>({cacheGeneration:e.cacheGeneration+1,antigravityQuota:{},claudeQuota:{},codexQuota:{},kimiQuota:{},xaiQuota:{}}))})),nm=()=>tm.getState().cacheGeneration,rm=(e,t)=>tm.getState().cacheGeneration===e?(t(),!0):!1,im=null,am=Cc()(Yc((e,t)=>({isAuthenticated:!1,apiBase:``,managementKey:``,rememberPassword:!1,serverVersion:null,serverBuildDate:null,supportsPlugin:!1,connectionStatus:`disconnected`,restoreSession:()=>im||(im=(async()=>{El.migratePlaintextKeys([`apiBase`,`apiUrl`,`managementKey`]);let n=localStorage.getItem(`isLoggedIn`)===`true`,r=El.getItem(`apiBase`)||El.getItem(`apiUrl`,{encrypt:!0}),i=El.getItem(`managementKey`),{apiBase:a,managementKey:o,rememberPassword:s}=t(),c=Zf(a||r||$f()),l=o||i||``,u=s||!!o||!!i;if(e({apiBase:c,managementKey:l,rememberPassword:u}),op.setConfig({apiBase:c,managementKey:l}),n&&c&&l)try{return await t().login({apiBase:c,managementKey:l,rememberPassword:u}),!0}catch(e){return console.warn(`Auto login failed:`,e),!1}return!1})(),im),login:async n=>{let r=Zf(n.apiBase),i=n.managementKey.trim(),a=n.rememberPassword??t().rememberPassword??!1;try{e({connectionStatus:`connecting`,serverVersion:null,serverBuildDate:null,supportsPlugin:!1}),$p.getState().clearCache(),tm.getState().clearQuotaCache(),op.setConfig({apiBase:r,managementKey:i}),await jp.getState().fetchConfig(!0),e({isAuthenticated:!0,apiBase:r,managementKey:i,rememberPassword:a,connectionStatus:`connected`}),a?localStorage.setItem(`isLoggedIn`,`true`):localStorage.removeItem(`isLoggedIn`)}catch(t){throw e({connectionStatus:`error`}),t}},logout:()=>{im=null,jp.getState().clearCache(),$p.getState().clearCache(),tm.getState().clearQuotaCache(),e({isAuthenticated:!1,apiBase:``,managementKey:``,serverVersion:null,serverBuildDate:null,supportsPlugin:!1,connectionStatus:`disconnected`}),localStorage.removeItem(`isLoggedIn`)},checkAuth:async()=>{let{managementKey:n,apiBase:r}=t();if(!n||!r)return!1;try{return op.setConfig({apiBase:r,managementKey:n}),e({supportsPlugin:!1}),await jp.getState().fetchConfig(),e({isAuthenticated:!0,connectionStatus:`connected`}),!0}catch{return e({isAuthenticated:!1,connectionStatus:`error`,supportsPlugin:!1}),!1}},updateServerVersion:(t,n)=>{e({serverVersion:t||null,serverBuildDate:n||null})},updateServerPluginSupport:t=>{e({supportsPlugin:t})}}),{name:zc,storage:qc(()=>({getItem:e=>{let t=El.getItem(e);return t?JSON.stringify(t):null},setItem:(e,t)=>{El.setItem(e,JSON.parse(t))},removeItem:e=>{El.removeItem(e)}})),partialize:e=>({apiBase:e.apiBase,...e.rememberPassword?{managementKey:e.managementKey}:{},rememberPassword:e.rememberPassword,serverVersion:e.serverVersion,serverBuildDate:e.serverBuildDate})}));typeof window<`u`&&(window.addEventListener(`unauthorized`,()=>{am.getState().logout()}),window.addEventListener(`server-version-update`,(e=>{let t=e.detail||{};am.getState().updateServerVersion(t.version||null,t.buildDate||null)})),window.addEventListener(`server-plugin-support-update`,(e=>{am.getState().updateServerPluginSupport(e.detail?.supportsPlugin===!0)})));var om={container:`LoginPage-module__container___bHtIX`,brandPanel:`LoginPage-module__brandPanel___kKUR5`,brandContent:`LoginPage-module__brandContent___ZEhbk`,brandWord:`LoginPage-module__brandWord___3DkwD`,brandFadeIn:`LoginPage-module__brandFadeIn___tpmGl`,formPanel:`LoginPage-module__formPanel___Nrtrt`,formContent:`LoginPage-module__formContent___H8fD-`,logo:`LoginPage-module__logo___ASmao`,loginCard:`LoginPage-module__loginCard___OgP-R`,loginHeader:`LoginPage-module__loginHeader___3kAvs`,titleRow:`LoginPage-module__titleRow___9h914`,title:`LoginPage-module__title___I-LuY`,subtitle:`LoginPage-module__subtitle___Q41SH`,languageSelect:`LoginPage-module__languageSelect___KUNwV`,connectionBox:`LoginPage-module__connectionBox___B5--X`,label:`LoginPage-module__label___2fkY-`,value:`LoginPage-module__value___JFrYC`,hint:`LoginPage-module__hint___bcz4d`,toggleAdvanced:`LoginPage-module__toggleAdvanced___4aKnv`,toggleLabel:`LoginPage-module__toggleLabel___C3t9M`,errorBox:`LoginPage-module__errorBox___wX1tT`,splashContent:`LoginPage-module__splashContent___Cc3DZ`,splashEnter:`LoginPage-module__splashEnter___K-Jk9`,splashLogo:`LoginPage-module__splashLogo___yzbbw`,splashLogoPulse:`LoginPage-module__splashLogoPulse___DIteW`,splashTitle:`LoginPage-module__splashTitle___G-HEP`,splashSubtitle:`LoginPage-module__splashSubtitle___BYSQi`,splashLoader:`LoginPage-module__splashLoader___SdvUl`,splashLoaderBar:`LoginPage-module__splashLoaderBar___lyVXw`,splashLoading:`LoginPage-module__splashLoading___jAaFC`};function sm(e,t){let n=e,r=typeof n.status==`number`?n.status:void 0,i=typeof n.code==`string`?n.code:void 0,a=e instanceof Error?e.message:typeof n.message==`string`?n.message:typeof e==`string`?e:``,o=e=>{if(!r)return e;let n=`Request failed with status code ${r}`,i=a.trim(),o=i&&i!==n?` (${t(`login.error_backend_detail`)}: ${i})`:``;return`HTTP ${r}: ${e}${o}`};return r===401?o(t(`login.error_unauthorized`)):r===403?o(t(`login.error_forbidden`)):r===404?o(t(`login.error_not_found`)):r&&r>=500?o(t(`login.error_server`)):i===`ECONNABORTED`||a.toLowerCase().includes(`timeout`)?t(`login.error_timeout`):i===`ERR_NETWORK`||a.toLowerCase().includes(`network error`)?t(`login.error_network`):i===`ERR_CERT_AUTHORITY_INVALID`||a.toLowerCase().includes(`certificate`)?t(`login.error_ssl`):a.toLowerCase().includes(`cors`)||a.toLowerCase().includes(`cross-origin`)?t(`login.error_cors`):o(t(`login.error_invalid`))}function cm(){let{t:e}=ss(),t=pr(),n=ur(),{showNotification:r}=Kc(),i=pl(e=>e.language),a=pl(e=>e.setLanguage),o=am(e=>e.isAuthenticated),s=am(e=>e.login),c=am(e=>e.restoreSession),l=am(e=>e.apiBase),u=am(e=>e.managementKey),d=am(e=>e.rememberPassword),[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)(``),[g,_]=(0,y.useState)(!1),[v,b]=(0,y.useState)(!1),[S,C]=(0,y.useState)(!1),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(!0),[O,k]=(0,y.useState)(!1),[A,j]=(0,y.useState)(``),M=(0,y.useMemo)(()=>$f(),[]),N=(0,y.useMemo)(()=>Hc.map(t=>({value:t,label:e(Uc[t])})),[e]),ee=(0,y.useCallback)(e=>{sl(e)&&a(e)},[a]);(0,y.useEffect)(()=>{(async()=>{try{await c()?(k(!0),setTimeout(()=>{let e=n.state?.from?.pathname||`/`;t(e,{replace:!0})},1500)):(p(l||M),h(u||``),C(d||!!u))}finally{D(!1)}})()},[]);let P=(0,y.useCallback)(async()=>{if(!m.trim()){j(e(`login.error_required`));return}let n=f?Zf(f):M;T(!0),j(``);try{await s({apiBase:n,managementKey:m.trim(),rememberPassword:S}),r(e(`common.connected_status`),`success`),t(`/`,{replace:!0})}catch(t){let n=sm(t,e);j(n),r(`${e(`notification.login_failed`)}: ${n}`,`error`)}finally{T(!1)}},[f,M,s,m,t,S,r,e]),F=(0,y.useCallback)(e=>{e.key===`Enter`&&!w&&(e.preventDefault(),P())},[w,P]);if(o&&!E&&!O)return(0,H.jsx)(ei,{to:n.state?.from?.pathname||`/`,replace:!0});let I=E||O;return(0,H.jsxs)(`div`,{className:om.container,children:[(0,H.jsx)(`div`,{className:om.brandPanel,children:(0,H.jsxs)(`div`,{className:om.brandContent,children:[(0,H.jsx)(`span`,{className:om.brandWord,children:`CLI`}),(0,H.jsx)(`span`,{className:om.brandWord,children:`PROXY`}),(0,H.jsx)(`span`,{className:om.brandWord,children:`API`})]})}),(0,H.jsx)(`div`,{className:om.formPanel,children:I?(0,H.jsxs)(`div`,{className:om.splashContent,children:[(0,H.jsx)(`img`,{src:x,alt:`CPAMC`,className:om.splashLogo}),(0,H.jsx)(`h1`,{className:om.splashTitle,children:e(`splash.title`)}),(0,H.jsx)(`p`,{className:om.splashSubtitle,children:e(`splash.subtitle`)}),(0,H.jsx)(`div`,{className:om.splashLoader,children:(0,H.jsx)(`div`,{className:om.splashLoaderBar})})]}):(0,H.jsxs)(`div`,{className:om.formContent,children:[(0,H.jsx)(`img`,{src:x,alt:`Logo`,className:om.logo}),(0,H.jsxs)(`div`,{className:om.loginCard,children:[(0,H.jsxs)(`div`,{className:om.loginHeader,children:[(0,H.jsxs)(`div`,{className:om.titleRow,children:[(0,H.jsx)(`div`,{className:om.title,children:e(`title.login`)}),(0,H.jsx)(hc,{className:om.languageSelect,value:i,options:N,onChange:ee,fullWidth:!1,ariaLabel:e(`language.switch`)})]}),(0,H.jsx)(`div`,{className:om.subtitle,children:e(`login.subtitle`)})]}),(0,H.jsxs)(`div`,{className:om.connectionBox,children:[(0,H.jsx)(`div`,{className:om.label,children:e(`login.connection_current`)}),(0,H.jsx)(`div`,{className:om.value,children:f||M}),(0,H.jsx)(`div`,{className:om.hint,children:e(`login.connection_auto_hint`)})]}),(0,H.jsx)(`div`,{className:om.toggleAdvanced,children:(0,H.jsx)(_c,{checked:g,onChange:_,ariaLabel:e(`login.custom_connection_label`),label:e(`login.custom_connection_label`),labelClassName:om.toggleLabel})}),g&&(0,H.jsx)(us,{label:e(`login.custom_connection_label`),placeholder:e(`login.custom_connection_placeholder`),value:f,onChange:e=>p(e.target.value),hint:e(`login.custom_connection_hint`)}),(0,H.jsx)(us,{autoFocus:!0,label:e(`login.management_key_label`),placeholder:e(`login.management_key_placeholder`),type:v?`text`:`password`,name:`cpa-management-key`,autoComplete:`current-password`,value:m,onChange:e=>h(e.target.value),onKeyDown:F,rightElement:(0,H.jsx)(`button`,{type:`button`,className:`btn btn-ghost btn-sm`,onClick:()=>b(e=>!e),"aria-label":v?e(`login.hide_key`,{defaultValue:`隐藏密钥`}):e(`login.show_key`,{defaultValue:`显示密钥`}),title:v?e(`login.hide_key`,{defaultValue:`隐藏密钥`}):e(`login.show_key`,{defaultValue:`显示密钥`}),children:v?(0,H.jsx)(Hs,{size:16}):(0,H.jsx)(Vs,{size:16})})}),(0,H.jsx)(`div`,{className:om.toggleAdvanced,children:(0,H.jsx)(_c,{checked:S,onChange:C,ariaLabel:e(`login.remember_password_label`),label:e(`login.remember_password_label`),labelClassName:om.toggleLabel})}),(0,H.jsx)(U,{fullWidth:!0,onClick:P,loading:w,children:e(w?`login.submitting`:`login.submit_button`)}),A&&(0,H.jsx)(`div`,{className:om.errorBox,children:A})]})]})})]})}var lm=300;function um(){let{t:e}=ss(),{notifications:t,removeNotification:n}=Kc(),[r,i]=(0,y.useState)([]),a=(0,y.useRef)([]);(0,y.useEffect)(()=>{let e=a.current,n=new Set(e.map(e=>e.id)),r=new Set(t.map(e=>e.id)),o=t.filter(e=>!n.has(e.id)),s=new Set(e.filter(e=>!r.has(e.id)).map(e=>e.id));i(e=>{let t=e.map(e=>s.has(e.id)?{...e,isExiting:!0}:e);return o.forEach(e=>{t.find(t=>t.id===e.id)||t.push({...e,isExiting:!1})}),t=t.filter(e=>r.has(e.id)||e.isExiting),t}),s.size>0&&setTimeout(()=>{i(e=>e.filter(e=>!s.has(e.id)))},lm),a.current=t},[t]);let o=e=>{i(t=>t.map(t=>t.id===e?{...t,isExiting:!0}:t)),setTimeout(()=>{n(e)},lm)};return r.length?(0,H.jsx)(`div`,{className:`notification-container`,children:r.map(t=>(0,H.jsxs)(`div`,{className:`notification ${t.type} ${t.isExiting?`exiting`:`entering`}`,children:[(0,H.jsx)(`div`,{className:`message`,children:t.message}),(0,H.jsx)(`button`,{type:`button`,className:`close-btn`,onClick:()=>o(t.id),"aria-label":e(`common.close`),children:(0,H.jsx)(zs,{size:16})})]},t.id))}):null}var dm=`modal-open`,fm=0,pm={scrollY:0,contentScrollTop:0,contentEl:null,bodyPosition:``,bodyTop:``,bodyLeft:``,bodyRight:``,bodyWidth:``,bodyOverflow:``,htmlOverflow:``},mm=()=>{if(typeof document>`u`)return null;let e=document.querySelector(`.content`);return e instanceof HTMLElement?e:null};function hm(){if(!(typeof document>`u`)){if(fm===0){let e=document.body,t=document.documentElement,n=mm();pm.scrollY=window.scrollY||window.pageYOffset||t.scrollTop||0,pm.contentEl=n,pm.contentScrollTop=n?.scrollTop??0,pm.bodyPosition=e.style.position,pm.bodyTop=e.style.top,pm.bodyLeft=e.style.left,pm.bodyRight=e.style.right,pm.bodyWidth=e.style.width,pm.bodyOverflow=e.style.overflow,pm.htmlOverflow=t.style.overflow,e.classList.add(dm),t.classList.add(dm),e.style.position=`fixed`,e.style.top=`-${pm.scrollY}px`,e.style.left=`0`,e.style.right=`0`,e.style.width=`100%`,e.style.overflow=`hidden`,t.style.overflow=`hidden`}fm+=1}}function gm(){if(!(typeof document>`u`)&&(fm=Math.max(0,fm-1),fm===0)){let e=document.body,t=document.documentElement,n=pm.scrollY,r=pm.contentScrollTop,i=pm.contentEl;e.classList.remove(dm),t.classList.remove(dm),e.style.position=pm.bodyPosition,e.style.top=pm.bodyTop,e.style.left=pm.bodyLeft,e.style.right=pm.bodyRight,e.style.width=pm.bodyWidth,e.style.overflow=pm.bodyOverflow,t.style.overflow=pm.htmlOverflow,i&&i.scrollTo({top:r,left:0,behavior:`auto`}),window.scrollTo({top:n,left:0,behavior:`auto`}),pm.scrollY=0,pm.contentScrollTop=0,pm.contentEl=null}}var _m=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`),vm=350;function ym({open:e,title:t,onClose:n,footer:r,width:i=520,className:a,closeDisabled:o=!1,children:s}){let{t:c}=ss(),l=(0,y.useId)(),[u,d]=(0,y.useState)(!1),[f,p]=(0,y.useState)(!1),m=(0,y.useRef)(null),h=(0,y.useRef)(null),g=(0,y.useRef)(null),_=(0,y.useRef)(null),v=(0,y.useCallback)(()=>h.current?Array.from(h.current.querySelectorAll(_m)).filter(e=>!e.hasAttribute(`disabled`)&&e.tabIndex!==-1):[],[]),b=(0,y.useCallback)(e=>{m.current===null&&(p(!0),m.current=window.setTimeout(()=>{d(!1),p(!1),m.current=null,e&&n()},vm))},[n]);(0,y.useEffect)(()=>{let t=!1;return e?(m.current!==null&&(window.clearTimeout(m.current),m.current=null),queueMicrotask(()=>{t||(d(!0),p(!1))})):u&&queueMicrotask(()=>{t||b(!1)}),()=>{t=!0}},[e,u,b]);let x=(0,y.useCallback)(()=>{b(!0)},[b]);(0,y.useEffect)(()=>()=>{m.current!==null&&window.clearTimeout(m.current)},[]);let C=e||u;if((0,y.useEffect)(()=>{if(C)return hm(),()=>gm()},[C]),(0,y.useEffect)(()=>{if(!e)return;_.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let t=window.setTimeout(()=>{(v()[0]??g.current??h.current)?.focus()},0);return()=>{window.clearTimeout(t)}},[v,e]),(0,y.useEffect)(()=>{e||u||(_.current?.focus(),_.current=null)},[u,e]),(0,y.useEffect)(()=>{if(!e)return;let t=e=>{if(e.key===`Escape`){if(o)return;e.preventDefault(),x();return}if(e.key!==`Tab`)return;let t=v();if(t.length===0){e.preventDefault(),h.current?.focus();return}let n=t[0],r=t[t.length-1],i=document.activeElement;if(e.shiftKey){(i===n||i===h.current)&&(e.preventDefault(),r.focus());return}i===r&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[o,v,x,e]),!e&&!u)return null;let w=(0,H.jsx)(`div`,{className:`modal-overlay ${f?`modal-overlay-closing`:`modal-overlay-entering`}`,children:(0,H.jsxs)(`div`,{ref:h,className:`modal ${f?`modal-closing`:`modal-entering`}${a?` ${a}`:``}`,style:{width:i,maxWidth:`100%`},role:`dialog`,"aria-modal":`true`,"aria-labelledby":t?l:void 0,tabIndex:-1,children:[(0,H.jsx)(`button`,{ref:g,type:`button`,className:`modal-close-floating`,onClick:o?void 0:x,"aria-label":c(`common.close`),disabled:o,children:(0,H.jsx)(zs,{size:20})}),(0,H.jsx)(`div`,{className:`modal-header`,children:(0,H.jsx)(`div`,{className:`modal-title`,id:t?l:void 0,children:t})}),(0,H.jsx)(`div`,{className:`modal-body`,children:s}),r&&(0,H.jsx)(`div`,{className:`modal-footer`,children:r})]})});return typeof document>`u`?w:(0,S.createPortal)(w,document.body)}function bm(){let{t:e}=ss(),t=Kc(e=>e.confirmation),n=Kc(e=>e.hideConfirmation),r=Kc(e=>e.setConfirmationLoading),{isOpen:i,isLoading:a,options:o}=t;if(!i||!o)return null;let{title:s,message:c,onConfirm:l,onCancel:u,confirmText:d,cancelText:f,variant:p=`primary`}=o,m=async()=>{try{r(!0),await l(),n()}catch(e){console.error(`Confirmation action failed:`,e)}finally{r(!1)}},h=()=>{a||(u&&u(),n())};return(0,H.jsxs)(ym,{open:i,onClose:h,title:s,closeDisabled:a,children:[typeof c==`string`?(0,H.jsx)(`p`,{style:{margin:`1rem 0`},children:c}):(0,H.jsx)(`div`,{style:{margin:`1rem 0`},children:c}),(0,H.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:`1rem`,marginTop:`2rem`},children:[(0,H.jsx)(U,{variant:`ghost`,onClick:h,disabled:a,children:f||e(`common.cancel`)}),(0,H.jsx)(U,{variant:p,onClick:m,loading:a,children:d||e(`common.confirm`)})]})]})}function xm(e){let t;return()=>(t===void 0&&(t=e()),t)}var Sm=e=>e,Cm=e=>e*1e3,wm=e=>e/1e3,Tm=e=>Array.isArray(e)&&typeof e[0]==`number`,Em=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},Dm=e=>e!==null;function Om(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Dm),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var km=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}};function Am(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var jm=e=>e.startsWith(`--`);function Mm(e,t,n){jm(t)?e.style.setProperty(t,n):e.style[t]=n}var Nm={};function Pm(e,t){let n=xm(e);return()=>Nm[t]??n()}var Fm=Pm(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),Im=Pm(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Lm=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Rm={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Lm([0,.65,.55,1]),circOut:Lm([.55,0,1,.45]),backIn:Lm([.31,.01,.66,-.59]),backOut:Lm([.33,1.53,.69,.99])};function zm(e,t){if(e)return typeof e==`function`?Im()?Em(e,t):`ease-out`:Tm(e)?Lm(e):Array.isArray(e)?e.map(e=>zm(e,t)||Rm.easeOut):Rm[e]}function Bm(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=zm(s,i);Array.isArray(d)&&(u.easing=d);let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};return l&&(f.pseudoElement=l),e.animate(u,f)}function Vm(e){return typeof e==`function`&&`applyToOptions`in e}function Hm({type:e,...t}){return Vm(e)&&Im()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease=`easeOut`),t)}var Um=class extends km{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=Hm(e);this.animation=Bm(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=Om(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),Mm(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return wm(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+wm(e)}get time(){return wm(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Cm(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Fm()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),Sm):r(this)}},Wm=class{constructor(e){this.stop=()=>this.runAll(`stop`),this.animations=e.filter(Boolean)}get finished(){return Promise.all(this.animations.map(e=>e.finished))}getAll(e){return this.animations[0][e]}setAll(e,t){for(let n=0;n<this.animations.length;n++)this.animations[n][e]=t}attachTimeline(e){let t=this.animations.map(t=>t.attachTimeline(e));return()=>{t.forEach((e,t)=>{e&&e(),this.animations[t].stop()})}}get time(){return this.getAll(`time`)}set time(e){this.setAll(`time`,e)}get speed(){return this.getAll(`speed`)}set speed(e){this.setAll(`speed`,e)}get state(){return this.getAll(`state`)}get startTime(){return this.getAll(`startTime`)}get duration(){return Gm(this.animations,`duration`)}get iterationDuration(){return Gm(this.animations,`iterationDuration`)}runAll(e){this.animations.forEach(t=>t[e]())}play(){this.runAll(`play`)}pause(){this.runAll(`pause`)}cancel(){this.runAll(`cancel`)}complete(){this.runAll(`complete`)}};function Gm(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e[r][t];i!==null&&i>n&&(n=i)}return n}var Km=class extends Wm{then(e,t){return this.finished.finally(e).then(()=>{})}},qm=new WeakMap,Jm=(e,t=``)=>`${e}:${t}`;function Ym(e){let t=qm.get(e);return t||(t=new Map,qm.set(e,t)),t}function Xm(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function Zm(e,t){let n=e?.[t]??e?.default??e;return n===e?n:Xm(n,e)}var Qm=new Set(`borderWidth.borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderRadius.borderTopLeftRadius.borderTopRightRadius.borderBottomRightRadius.borderBottomLeftRadius.width.maxWidth.height.maxHeight.top.right.bottom.left.inset.insetBlock.insetBlockStart.insetBlockEnd.insetInline.insetInlineStart.insetInlineEnd.padding.paddingTop.paddingRight.paddingBottom.paddingLeft.paddingBlock.paddingBlockStart.paddingBlockEnd.paddingInline.paddingInlineStart.paddingInlineEnd.margin.marginTop.marginRight.marginBottom.marginLeft.marginBlock.marginBlockStart.marginBlockEnd.marginInline.marginInlineStart.marginInlineEnd.fontSize.backgroundPositionX.backgroundPositionY`.split(`.`));function $m(e,t){for(let n=0;n<e.length;n++)typeof e[n]==`number`&&Qm.has(t)&&(e[n]=e[n]+`px`)}function eh(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(e=>e!=null)}function th(e,t){let n=window.getComputedStyle(e);return jm(t)?n.getPropertyValue(t):n[t]}function nh(e,t,n,r){if(e==null)return[];let i=eh(e,r),a=i.length,o=[];for(let e=0;e<a;e++){let r=i[e],s={...n};typeof s.delay==`function`&&(s.delay=s.delay(e,a));for(let e in t){let n=t[e];Array.isArray(n)||(n=[n]);let i={...Zm(s,e)};i.duration&&(i.duration=Cm(i.duration)),i.delay&&(i.delay=Cm(i.delay));let a=Ym(r),c=Jm(e,i.pseudoElement||``),l=a.get(c);l&&l.stop(),o.push({map:a,key:c,unresolvedKeyframes:n,options:{...i,element:r,name:e,allowFlatten:!s.type&&!s.ease}})}}for(let e=0;e<o.length;e++){let{unresolvedKeyframes:t,options:n}=o[e],{element:r,name:i,pseudoElement:a}=n;!a&&t[0]===null&&(t[0]=th(r,i)),Am(t),$m(t,i),!a&&t.length<2&&t.unshift(th(r,i)),n.keyframes=t}let s=[];for(let e=0;e<o.length;e++){let{map:t,key:n,options:r}=o[e],i=new Um(r);t.set(n,i),i.finished.finally(()=>t.delete(n)),s.push(i)}return s}var rh=(e=>{function t(t,n,r){return new Km(nh(t,n,r,e))}return t})(),ih=(0,y.createContext)(null),ah={current:{status:`current`,isCurrentLayer:!0,isAnimating:!1},stacked:{status:`stacked`,isCurrentLayer:!1,isAnimating:!1},exiting:{status:`exiting`,isCurrentLayer:!1,isAnimating:!1}};function oh(){return(0,y.useContext)(ih)}var sh=.36,ch=.22,lh=28,uh=12,dh=.15,fh=.44,ph=100,mh=-22,hh=100,gh=-22,_h=.96,vh=.5,yh=`-20px 0 36px rgba(0, 0, 0, 0.20)`,bh=e=>1-(1-e)**4,xh=e=>e*e,Sh=e=>1-(1-e)**3,Ch=()=>typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches,wh=e=>`translate3d(0px, ${e}px, 0px)`,Th=(e,t,n=1)=>n===1?`translate3d(${e}%, ${t}px, 0px)`:`translate3d(${e}%, ${t}px, 0px) scale(${n})`,Eh=e=>{e&&(e.style.removeProperty(`transform`),e.style.removeProperty(`opacity`),e.style.removeProperty(`box-shadow`))};function Dh({render:e,getRouteOrder:t,getTransitionVariant:n,scrollContainerRef:r}){let i=ur(),a=(0,y.useRef)(null),o=(0,y.useRef)(null),s=(0,y.useRef)(`forward`),c=(0,y.useRef)(`vertical`),l=(0,y.useRef)(0),u=(0,y.useRef)(0),d=(0,y.useRef)(new Map),f=(0,y.useRef)(null),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(()=>[{key:i.key,location:i,status:`current`}]),_=h.find(e=>e.status===`current`)??h[h.length-1],v=_?.key??i.key,b=_?.location.pathname,x=(0,y.useCallback)(()=>r?.current?r.current:typeof document>`u`?null:document.scrollingElement,[r]);return(0,y.useLayoutEffect)(()=>{if(p||i.key===v||b===i.pathname)return;let e=x()?.scrollTop??0;l.current=e,d.current.set(v,e),u.current=d.current.get(i.key)??0;let r=e=>{if(!t||!e)return null;let n=t(e);return typeof n==`number`&&n>=0?n:null},a=r(b),o=r(i.pathname),_=n?n(b??``,i.pathname):`vertical`,y=a===null||o===null||a===o||o>a?`forward`:`backward`;_===`ios`&&h.some(e=>e.key===i.key)&&(y=`backward`),s.current=y,c.current=_;let S=(()=>{if(_!==`ios`||y!==`backward`)return!1;let e=e=>e.split(`/`).filter(Boolean).filter(e=>e.length>0),t=e(b??``),n=e(i.pathname);return!t.length||!n.length?!1:t[0]===n[0]&&n.length===1})();g(e=>{let t=c.current,n=s.current,r=e.findIndex(e=>e.status===`current`),a=r>=0?r:e.length-1,o=e[a],l=e.filter((e,t)=>t!==a).map(e=>({...e,status:`stacked`})),u={key:i.key,location:i,status:`current`};if(!o)return f.current=[u],[u];if(t===`ios`){if(n===`forward`){let e={...o,status:`exiting`},t={...o,status:`stacked`};return f.current=[...l,t,u],[...l,e,u]}let t=e.findIndex(e=>e.key===i.key);if(t!==-1){let n=e.slice(0,t+1).map((e,n)=>{let r=n===t;return{...e,location:r?i:e.location,status:r?`current`:`stacked`}});if(S)return f.current=n,n;let r={...o,status:`exiting`};return f.current=n,[...n,r]}}if(S)return f.current=[u],[u];let d={...o,status:`exiting`};return f.current=[u],[d,u]}),m(!0)},[p,i,v,b,t,n,x,h]),(0,y.useLayoutEffect)(()=>{if(!p||!a.current)return;let e=a.current,t=o.current,n=c.current;Eh(e),Eh(t);let r=x(),i=l.current,d=u.current;r&&i!==d&&r.scrollTo({top:d,left:0,behavior:`auto`});let h=s.current===`forward`,_=h?lh:-28,v=h?-12:uh,y=d-i,b=Ch(),S=[],C=!1,w=!1,T=()=>{if(w)return;w=!0;let n=f.current;f.current=null,g(e=>n??e.filter(e=>e.status!==`exiting`)),m(!1),Eh(e),Eh(t)};if(b)t&&(t.style.transform=n===`ios`?Th(0,y):wh(y),S.push(rh(t,{opacity:[1,0]},{duration:dh,ease:Sh}))),e.style.opacity=`0`,S.push(rh(e,{opacity:[0,1]},{duration:dh,ease:Sh}));else if(n===`ios`){let n=h?mh:hh,r=h?ph:gh,i=h?_h:1,a=h?vh:1,o=h?1:_h,s=h?1:vh;t&&(t.style.transform=Th(0,y,1),t.style.opacity=`1`),e.style.transform=Th(r,0,o),e.style.opacity=String(s);let c=h?e:t;c&&(c.style.boxShadow=yh),t&&S.push(rh(t,{transform:[Th(0,y,1),Th(n,y,i)],opacity:[1,a]},{duration:fh,ease:Sh})),S.push(rh(e,{transform:[Th(r,0,o),Th(0,0,1)],opacity:[s,1]},{duration:fh,ease:Sh}))}else t&&(t.style.transform=wh(y),S.push(rh(t,{transform:[wh(y),wh(y+v)],opacity:[1,0]},{duration:ch,ease:xh}))),e.style.transform=wh(_),e.style.opacity=`0`,S.push(rh(e,{transform:[wh(_),wh(0)],opacity:[0,1]},{duration:sh,ease:bh}));return S.length?Promise.all(S.map(e=>e.finished.catch(()=>void 0))).then(()=>{C||T()}):T(),()=>{C=!0,S.forEach(e=>e.stop())}},[p,x]),(0,H.jsx)(`div`,{className:`page-transition${p?` page-transition--animating`:``}`,children:(()=>{let t=h.findIndex(e=>e.status===`current`),n=t===-1?h.length-1:t,r=h.slice(0,n).map((e,t)=>({layer:e,index:t})).reverse().find(({layer:e})=>e.status===`stacked`)?.index;return h.map((t,n)=>{let i=t.status===`stacked`&&n===r;return(0,H.jsx)(`div`,{className:[`page-transition__layer`,t.status===`exiting`?`page-transition__layer--exit`:``,t.status===`stacked`?`page-transition__layer--stacked`:``,i?`page-transition__layer--stacked-keep`:``].filter(Boolean).join(` `),"aria-hidden":t.status!==`current`,inert:t.status!==`current`,ref:t.status===`exiting`?o:t.status===`current`?a:void 0,children:(0,H.jsx)(ih.Provider,{value:{...ah[t.status],isAnimating:p},children:e(t.location)})},t.key)})})()})}var Oh=null,kh=async()=>{Oh&&await Oh()},Ah=(e,t=!0)=>{let n=(0,y.useRef)(null);(0,y.useEffect)(()=>{let r=n.current;if(n.current=e??null,!t||!e){r&&Oh===r&&(Oh=null);return}return Oh=e,()=>{Oh===e&&(Oh=null)}},[t,e])},jh=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})(\.(\d+))?(Z|[+-]\d{2}:\d{2})?$/i;function Mh(e){let t=e.trim();if(!t)return``;let n=t.match(jh);if(!n)return t;let[,r,,i=``,a=``]=n;return i.length<=3?t:`${r}.${i.slice(0,3)}${a}`}function Nh(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(e instanceof Date)return e.getTime();if(typeof e!=`string`)return NaN;let t=e.trim();if(!t)return NaN;let n=Mh(t),r=Date.parse(n);if(!Number.isNaN(r))return r;if(n!==t){let e=Date.parse(t);if(!Number.isNaN(e))return e}return NaN}function Ph(e){let t=Nh(e);return Number.isFinite(t)?new Date(t):null}function Fh(e){let t=String(e||``).trim();if(!t)return``;let n=t.length<4?1:2,r=t.slice(0,n),i=t.slice(-n),a=Math.max(10-n*2,1);return`${r}${`*`.repeat(a)}${i}`}function Ih(e){if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=1024,r=Math.floor(Math.log(e)/Math.log(n));return`${(e/n**r).toFixed(2)} ${t[r]}`}var Lh=[``,`K`,`M`,`B`,`T`];function Rh(e){if(!Number.isFinite(e))return`0`;let t=e<0?`-`:``,n=Math.abs(e),r=0;for(;n>=1e3&&r<Lh.length-1;)n/=1e3,r+=1;let i=r===0?Math.round(n):Number(n.toFixed(+(n<100)));return i>=1e3&&r<Lh.length-1&&(i=1,r+=1),`${t}${i}${Lh[r]}`}function zh(e,t=1){return Number.isFinite(e)?`${e.toFixed(t).replace(/\.0+$/,``)}%`:`—`}function Bh(e,t){if(e==null||e===``)return``;let n=typeof e==`number`?e:Number(e),r=(()=>{if(!Number.isFinite(n)||Number.isNaN(n))return Ph(e)??new Date(String(e));let t=Math.abs(n);return t<1e11?new Date(n*1e3):t<0x5af3107a4000?new Date(n):t<0x16345785d8a0000?new Date(Math.round(n/1e3)):new Date(Math.round(n/1e6))})();return Number.isNaN(r.getTime())?``:t?r.toLocaleString(t):r.toLocaleString()}function Vh(e){if(e==null||e===``)return null;let t=typeof e==`number`?new Date(e<0xe8d4a51000?e*1e3:e):Ph(e)??new Date(String(e));return Number.isNaN(t.getTime())?null:t}function Hh(e,t){let n=Vh(e);return n?t?n.toLocaleDateString(t):n.toLocaleDateString():``}function Uh(e,t){let n=Vh(e);return n?t?n.toLocaleString(t):n.toLocaleString():``}var Wh={qwen:{light:{bg:`#ede5fd`,text:`#5530c7`},dark:{bg:`#36208a`,text:`#b5a3f0`}},gemini:{light:{bg:`#e3f2fd`,text:`#1565c0`},dark:{bg:`#0d47a1`,text:`#64b5f6`}},aistudio:{light:{bg:`#f0f2f5`,text:`#2f343c`},dark:{bg:`#373c42`,text:`#cfd3db`}},claude:{light:{bg:`#fbece4`,text:`#c05621`},dark:{bg:`#5e2c14`,text:`#e8a882`}},codex:{light:{bg:`#eae7ff`,text:`#3538d4`},dark:{bg:`#262395`,text:`#b5b0ff`}},kimi:{light:{bg:`#dce8ff`,text:`#0560cf`},dark:{bg:`#003880`,text:`#70b5ff`}},antigravity:{light:{bg:`#e0f7fa`,text:`#006064`},dark:{bg:`#004d40`,text:`#80deea`}},xai:{light:{bg:`#f3f4f6`,text:`#111827`,border:`1px solid #d1d5db`},dark:{bg:`#111827`,text:`#f9fafb`,border:`1px solid #374151`}},iflow:{light:{bg:`#f5e3fc`,text:`#9025c8`},dark:{bg:`#521490`,text:`#d49cf5`}},vertex:{light:{bg:`#e4edfd`,text:`#2b5fbc`},dark:{bg:`#1a3d80`,text:`#89b3f7`}},empty:{light:{bg:`#f5f5f5`,text:`#616161`},dark:{bg:`#424242`,text:`#bdbdbd`}},unknown:{light:{bg:`#f0f0f0`,text:`#666666`,border:`1px dashed #999999`},dark:{bg:`#3a3a3a`,text:`#aaaaaa`,border:`1px dashed #666666`}}},Gh=[`https://daily-cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary`,`https://daily-cloudcode-pa.sandbox.googleapis.com/v1internal:retrieveUserQuotaSummary`,`https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary`],Kh=`https://daily-cloudcode-pa.googleapis.com/v1internal:loadCodeAssist`,qh=`1.0.13`,Jh=`aidev_client`,Yh={osType:`darwin`,arch:`arm64`},Xh={Authorization:`Bearer $TOKEN$`,"Content-Type":`application/json`,"User-Agent":(({version:e=qh,clientName:t=Jh,osType:n=Yh.osType,arch:r=Yh.arch}={})=>`antigravity/cli/${e} (${t}; os_type=${n}; arch=${r})`)()},Zh=`https://api.anthropic.com/api/oauth/profile`,Qh=`https://api.anthropic.com/api/oauth/usage`,$h={Authorization:`Bearer $TOKEN$`,"Content-Type":`application/json`,"anthropic-beta":`oauth-2025-04-20`},eg=[{key:`five_hour`,id:`five-hour`,labelKey:`claude_quota.five_hour`},{key:`seven_day`,id:`seven-day`,labelKey:`claude_quota.seven_day`},{key:`seven_day_oauth_apps`,id:`seven-day-oauth-apps`,labelKey:`claude_quota.seven_day_oauth_apps`},{key:`seven_day_opus`,id:`seven-day-opus`,labelKey:`claude_quota.seven_day_opus`},{key:`seven_day_sonnet`,id:`seven-day-sonnet`,labelKey:`claude_quota.seven_day_sonnet`},{key:`seven_day_cowork`,id:`seven-day-cowork`,labelKey:`claude_quota.seven_day_cowork`},{key:`iguana_necktie`,id:`seven-day-fable`,labelKey:`claude_quota.seven_day_fable`}],tg=`https://chatgpt.com/backend-api/wham/usage`,ng=`https://chatgpt.com/backend-api/wham/rate-limit-reset-credits`,rg=`https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume`,ig={Authorization:`Bearer $TOKEN$`,"Content-Type":`application/json`,"User-Agent":`codex_cli_rs/0.76.0 (Debian 13.0.0; x86_64) WindowsTerminal`},ag=`https://api.kimi.com/coding/v1/usages`,og={Authorization:`Bearer $TOKEN$`},sg=`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,cg=`https://cli-chat-proxy.grok.com/v1/billing`,lg=`https://api.x.ai/v1/me`,ug=`https://api.x.ai/v1/chat/completions`,dg=`grok-4.5`,fg={Authorization:`Bearer $TOKEN$`,"x-xai-token-auth":`xai-grok-cli`,"x-grok-client-version":`0.2.91`,accept:`*/*`,"user-agent":`grok-pager/0.2.91 grok-shell/0.2.91 (macos; aarch64)`},pg={Authorization:`Bearer $TOKEN$`,accept:`application/json`},mg=(e,t,n)=>t===404?e(`common.quota_update_required`):t===403?e(`common.quota_check_credential`):n,hg=36e5;function gg(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let n=t.replace(/(\.\d{6})\d+/,`$1`),r=new Date(n).getTime();return Number.isFinite(r)?r:null}function _g(e){let t=typeof e==`number`?e:typeof e==`string`?Number(e.trim()):NaN;return!Number.isFinite(t)||t<=0?null:t<1e11?t*1e3:t}function vg(e,t){let n=typeof e==`number`?e:typeof e==`string`?Number(e.trim()):NaN;return!Number.isFinite(n)||n<=0?null:t+n*1e3}function yg(e){for(let t of e){let e=gg(t);if(e!==null)return e;let n=_g(t);if(n!==null)return n}return null}function bg(e){let t=typeof e==`number`?e:typeof e==`string`?Number(e.trim()):NaN;return!Number.isFinite(t)||t<=0?null:t*1e3/hg}function xg(e){return e===`five_hour`?5:168}var Sg=e=>typeof e==`number`&&Number.isFinite(e)?e.toString():typeof e==`string`&&e.trim()||null;function Cg(e){return typeof e==`string`?e.trim()||null:typeof e==`number`&&Number.isFinite(e)?e.toString():null}function wg(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=e.trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null}return null}function Tg(e){let t=wg(e);if(t!==null)return t;if(typeof e==`string`){let t=e.trim();if(!t)return null;if(t.endsWith(`%`)){let e=Number(t.slice(0,-1));return Number.isFinite(e)?e/100:null}}return null}function Eg(e){let t=Cg(e);return t?t.toLowerCase():null}function Dg(e){let t=e.trim();if(!t)return null;try{let e=t.replace(/-/g,`+`).replace(/_/g,`/`),n=e.padEnd(Math.ceil(e.length/4)*4,`=`);if(typeof window<`u`&&typeof window.atob==`function`)return window.atob(n);if(typeof atob==`function`)return atob(n)}catch{return null}return null}function Og(e){if(!e)return null;if(typeof e==`object`)return Array.isArray(e)?null:e;if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`)return e}catch{}let n=t.split(`.`);if(n.length<2)return null;let r=Dg(n[1]);if(!r)return null;try{let e=JSON.parse(r);if(e&&typeof e==`object`)return e}catch{return null}return null}function kg(e){let t=e=>{if(e==null)return null;if(typeof e==`string`){let t=e.trim();if(!t)return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`&&!Array.isArray(e))return e}catch{return null}return null}return typeof e==`object`&&!Array.isArray(e)?e:null},n=t(e);return n?`models`in n?n:t(n.body)||n:null}function Ag(e){if(e==null)return null;if(typeof e==`string`){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return null}}return typeof e==`object`?e:null}function jg(e){if(e==null)return null;if(typeof e==`string`){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return null}}return typeof e==`object`?e:null}function Mg(e){if(e==null)return null;if(typeof e==`string`){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return null}}return typeof e==`object`?e:null}function Ng(e){if(e==null)return null;if(typeof e==`string`){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return null}}return typeof e==`object`?e:null}var Pg=new Set([`pro`,`prolite`,`pro-lite`,`pro_lite`]);function Fg(e){let t=Eg(e);return t?t===`pro`?`elite`:Pg.has(t)?`premium`:`plain`:`plain`}var Ig=e=>!e||typeof e!=`object`||Array.isArray(e)?null:e,Lg=e=>{let t=Og(e);return t?Ig(t[`https://api.openai.com/auth`])??t:null};function Rg(e){let t=Og(e);return t?Cg(t.chatgpt_account_id??t.chatgptAccountId):null}function zg(e){let t=e&&typeof e.metadata==`object`&&e.metadata!==null?e.metadata:null,n=e&&typeof e.attributes==`object`&&e.attributes!==null?e.attributes:null,r=[e.id_token,t?.id_token,n?.id_token];for(let e of r){let t=Rg(e);if(t)return t}return null}function Bg(e){let t=e&&typeof e.metadata==`object`&&e.metadata!==null?e.metadata:null,n=e&&typeof e.attributes==`object`&&e.attributes!==null?e.attributes:null,r=e&&typeof e.id_token==`object`&&e.id_token!==null?e.id_token:null,i=t&&typeof t.id_token==`object`&&t.id_token!==null?t.id_token:null,a=[e.plan_type,e.planType,e.plan_type,e.planType,e.id_token,r?.plan_type,r?.planType,t?.plan_type,t?.planType,t?.id_token,i?.plan_type,i?.planType,n?.plan_type,n?.planType,n?.id_token];for(let e of a){let t=Eg(e);if(t)return t}return null}var Vg=e=>{let t=wg(e);if(t===0)return null;if(t!==null)return t;let n=Cg(e);return!n||n===`0`?null:n};function Hg(e){let t=Ig(e.metadata),n=Ig(e.attributes),r=Lg(e.id_token),i=Lg(t?.id_token),a=Lg(n?.id_token),o=Ig(e.subscription),s=Ig(t?.subscription),c=Ig(n?.subscription),l=[e.chatgpt_subscription_active_until,e.chatgptSubscriptionActiveUntil,e.subscription_active_until,e.subscriptionActiveUntil,o?.active_until,o?.activeUntil,r?.chatgpt_subscription_active_until,r?.chatgptSubscriptionActiveUntil,t?.chatgpt_subscription_active_until,t?.chatgptSubscriptionActiveUntil,t?.subscription_active_until,t?.subscriptionActiveUntil,s?.active_until,s?.activeUntil,i?.chatgpt_subscription_active_until,i?.chatgptSubscriptionActiveUntil,n?.chatgpt_subscription_active_until,n?.chatgptSubscriptionActiveUntil,n?.subscription_active_until,n?.subscriptionActiveUntil,c?.active_until,c?.activeUntil,a?.chatgpt_subscription_active_until,a?.chatgptSubscriptionActiveUntil];for(let e of l){let t=Vg(e);if(t!==null)return t}return null}function Ug(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:t.toLocaleString(void 0,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1})}function Wg(e){if(!e)return`-`;let t=new Date(e*1e3);return Number.isNaN(t.getTime())?`-`:t.toLocaleString(void 0,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hour12:!1})}function Gg(e){if(!e)return`-`;let t=wg(e.reset_at??e.resetAt);if(t!==null&&t>0)return Wg(t);let n=wg(e.reset_after_seconds??e.resetAfterSeconds);return n!==null&&n>0?Wg(Math.floor(Date.now()/1e3+n)):`-`}function Kg(e,t){let n=Error(e);return t!==void 0&&(n.status=t),n}function qg(e){if(typeof e==`object`&&e&&`status`in e){let t=e.status;if(typeof t==`number`&&Number.isFinite(t))return t;let n=Number(t);if(Number.isFinite(n)&&n>0)return n}}function Jg(e,t){return t?e(`kimi_quota.reset_hint`,{hint:t}):``}function Yg(e){let t=e.provider??e.type??``,n=String(t).trim().toLowerCase().replace(/_/g,`-`);return n===`x-ai`||n===`grok`?`xai`:n}function Xg(e){return Yg(e)===`antigravity`}function Zg(e){return Yg(e)===`claude`}function Qg(e){return Yg(e)===`codex`}function $g(e){return Yg(e)===`kimi`}function e_(e){return Yg(e)===`xai`}function t_(e){let t=e.disabled;return typeof t==`boolean`?t:typeof t==`number`?t!==0:typeof t==`string`&&t.trim().toLowerCase()===`true`}var n_=new Map([[`5h`,0],[`five-hour`,0],[`five_hour`,0],[`weekly`,1],[`week`,1]]);function r_(e,t){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||t}function i_(e){let t=e.window?.toLowerCase();return t?n_.get(t)??2**53-1:2**53-1}function a_(e){switch((e??``).trim().toLowerCase()){case`5h`:case`five-hour`:case`five_hour`:return 5;case`weekly`:case`week`:return 168;default:return null}}function o_(e){return(Array.isArray(e.groups)?e.groups:[]).map((e,t)=>{let n=Cg(e.displayName??e.display_name)??`Quota Group ${t+1}`,r=r_(n,`quota-group-${t+1}`),i=(Array.isArray(e.buckets)?e.buckets:[]).map((e,t)=>{let n=Tg(e.remainingFraction??e.remaining_fraction);if(n===null)return null;let i=Cg(e.window)??void 0,a=Cg(e.bucketId??e.bucket_id)??`${r}-${i??`bucket-${t+1}`}`,o=Cg(e.displayName??e.display_name)??a,s=Cg(e.resetTime??e.reset_time)??void 0;return{id:a,label:o,window:i,remainingFraction:n,resetTime:s,description:Cg(e.description)??void 0,resetAtMs:yg([s]),periodHours:a_(i)}}).filter(e=>e!==null).sort((e,t)=>{let n=i_(e)-i_(t);return n===0?e.label.localeCompare(t.label):n});return i.length===0?null:{id:r,label:n,description:Cg(e.description)??void 0,buckets:i}}).filter(e=>e!==null)}function s_(e){if(typeof e==`number`&&Number.isFinite(e))return Math.floor(e);if(typeof e==`string`){let t=Number(e.trim());return Number.isFinite(t)?Math.floor(t):null}return null}function c_(e){let t=Math.floor(e/1440),n=Math.floor(e%1440/60),r=e%60;return t>0?`${t}d ${n}h`:n>0&&r>0?`${n}h ${r}m`:n>0?`${n}h`:r>0?`${r}m`:`<1m`}function l_(e){for(let t of[`reset_at`,`resetAt`,`reset_time`,`resetTime`]){let n=e[t];if(typeof n==`string`&&n.trim())try{let e=n.replace(/(\.\d{6})\d+/,`$1`),t=new Date(e);if(Number.isNaN(t.getTime()))continue;let r=Date.now(),i=t.getTime()-r;return i<=0?void 0:c_(Math.floor(i/6e4))}catch{continue}}for(let t of[`reset_in`,`resetIn`,`ttl`]){let n=s_(e[t]);if(n!==null&&n>0)return c_(Math.floor(n/60))}}function u_(e){let t=typeof e==`string`?e.trim().toUpperCase().replace(/^TIME_UNIT_/,``):``;return t===`SECONDS`||t===`SECOND`?`second`:!t||t===`MINUTES`||t===`MINUTE`?`minute`:t===`HOURS`||t===`HOUR`?`hour`:t===`DAYS`||t===`DAY`?`day`:t===`WEEKS`||t===`WEEK`?`week`:null}function d_(e,t){let n=u_(t);return n===`second`?`${e}s`:n===`hour`?`${e}h`:n===`day`?`${e}d`:n===`week`?`${e}w`:e%60==0?`${e/60}h`:`${e}m`}function f_(e,t,n,r){for(let n of[`name`,`title`,`scope`]){let r=e[n]??t[n];if(typeof r==`string`&&r.trim())return{label:r.trim()}}let i=s_(n.duration)??s_(e.duration)??s_(t.duration),a=n.timeUnit??e.timeUnit??t.timeUnit;return i!==null&&i>0?{labelKey:`kimi_quota.limit_window`,labelParams:{duration:d_(i,a)}}:{labelKey:`kimi_quota.limit_index`,labelParams:{index:r+1}}}function p_(e){let t=yg([e.reset_at,e.resetAt,e.reset_time,e.resetTime]);if(t!==null)return t;let n=Date.now();for(let t of[`reset_in`,`resetIn`,`ttl`]){let r=vg(e[t],n);if(r!==null)return r}return null}function m_(e,t=null,n){if(t!==null&&t>0){let e=u_(n);return e===`second`?t/3600:e===`hour`?t:e===`day`?t*24:e===`week`?t*7*24:t/60}let r=(e??``).toLowerCase();return r.includes(`daily`)||r.includes(`day`)?24:r.includes(`weekly`)||r.includes(`week`)?168:r.includes(`monthly`)||r.includes(`month`)?720:r.includes(`5h`)||r.includes(`hour`)?5:null}function h_(e,t,n=null,r){let i=s_(e.limit),a=s_(e.used);if(a===null){let t=s_(e.remaining);t!==null&&i!==null&&(a=i-t)}if(a===null&&i===null)return null;let o=typeof e.name==`string`&&e.name.trim()||typeof e.title==`string`&&e.title.trim();return{...o?{label:o}:t,used:a??0,limit:i??0,resetHint:l_(e),resetAtMs:p_(e),periodHours:m_(o||t.label||t.labelKey,n,r)}}function g_(e){let t=[],n=e.limits;Array.isArray(n)&&n.forEach((e,n)=>{let r=e.detail&&typeof e.detail==`object`?e.detail:e,i=e.window&&typeof e.window==`object`?e.window:{},a=h_(r,f_(e,r,i,n),s_(i.duration)??s_(e.duration)??s_(r.duration),i.timeUnit??e.timeUnit??r.timeUnit);a&&t.push({id:`limit-${n}`,...a})});let r=e.usage;if(r&&typeof r==`object`){let e=h_(r,{labelKey:`kimi_quota.weekly_limit`});e&&t.push({id:`summary`,...e})}return t}function __(e){return e==null?null:wg(typeof e==`object`&&!Array.isArray(e)?e.val:e)}function v_(e){let t=Cg(e?.type)?.toLowerCase()??``;return t.includes(`weekly`)?`weekly`:t.includes(`monthly`)?`monthly`:`unknown`}function y_(e,t){return Array.isArray(e)?e.map((e,n)=>!e||typeof e!=`object`?null:{product:Cg(e.product)??`${t} ${n+1}`,usagePercent:wg(e.usagePercent??e.usage_percent)}).filter(e=>e!==null):[]}var b_=()=>({mode:`billing`,source:`cli-chat-proxy`,periodType:`unknown`,usagePercent:null,productUsage:[],monthlyLimitCents:null,usedCents:null,includedUsedCents:null,onDemandCapCents:null,onDemandUsedCents:null,onDemandUsedPercent:null,usedPercent:null});function x_(e,t){let n=yg([t]),r=yg([e]);return{resetAtMs:n,periodHours:n!==null&&r!==null&&n>r?(n-r)/36e5:null}}function S_(e){if(!e||typeof e!=`object`)return null;let t=b_(),n=e.currentPeriod??e.current_period??null,r=v_(n),i=wg(e.creditUsagePercent??e.credit_usage_percent),a=Cg(n?.start)??Cg(e.billingPeriodStart??e.billing_period_start)??void 0,o=Cg(n?.end)??Cg(e.billingPeriodEnd??e.billing_period_end)??void 0,s=y_(e.productUsage??e.product_usage,`Product`),c=__(e.monthlyLimit??e.monthly_limit),l=__(e.used),u=__(e.onDemandCap??e.on_demand_cap),d=__(e.onDemandUsed??e.on_demand_used),f=Cg(e.billingPeriodStart??e.billing_period_start)??void 0,p=Cg(e.billingPeriodEnd??e.billing_period_end)??void 0,m=l===null?null:c!==null&&c>0?Math.min(l,c):l,h=l!==null&&c!==null?Math.max(0,l-c):null,g=d??h,_=c!==null&&c>0&&m!==null?m/c*100:null,v=u!==null&&u>0&&g!==null?g/u*100:null,y=i!==null||r===`weekly`||s.length>0,b=c!==null||l!==null||!y&&(u!==null||!!p);if(!y&&!b)return null;t.periodType=y?r===`unknown`?`weekly`:r:`monthly`,t.usagePercent=y?i:_,t.periodStart=y?a:f,t.periodEnd=y?o:p,t.productUsage=s,t.monthlyLimitCents=c,t.usedCents=l,t.includedUsedCents=m,t.onDemandCapCents=u,t.onDemandUsedCents=g,t.onDemandUsedPercent=v,t.billingPeriodStart=b?f:void 0,t.billingPeriodEnd=b?p:void 0,t.usedPercent=_;let x=x_(t.periodStart,t.periodEnd);return t.resetAtMs=x.resetAtMs,t.periodHours=x.periodHours,t}function C_(e,t){if(!e)return t;if(!t)return e;let n=e.periodType===`unknown`?t.periodType===`unknown`?e:t:e,r=n.periodStart,i=n.periodEnd,a=x_(r,i);return{mode:`billing`,source:`cli-chat-proxy`,periodType:n.periodType,usagePercent:e.usagePercent??t.usagePercent,periodStart:r,periodEnd:i,resetAtMs:a.resetAtMs,periodHours:a.periodHours,productUsage:e.productUsage.length>0?e.productUsage:t.productUsage,monthlyLimitCents:e.monthlyLimitCents??t.monthlyLimitCents,usedCents:e.usedCents??t.usedCents,includedUsedCents:e.includedUsedCents??t.includedUsedCents,onDemandCapCents:e.onDemandCapCents??t.onDemandCapCents,onDemandUsedCents:e.onDemandUsedCents??t.onDemandUsedCents,onDemandUsedPercent:e.onDemandUsedPercent??t.onDemandUsedPercent,billingPeriodStart:e.billingPeriodStart??t.billingPeriodStart,billingPeriodEnd:e.billingPeriodEnd??t.billingPeriodEnd,usedPercent:e.usedPercent??t.usedPercent}}var w_=new Intl.DateTimeFormat(`en-CA`,{timeZone:`Asia/Shanghai`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}),T_=e=>e&&typeof e==`object`&&!Array.isArray(e)?e:null,E_=e=>typeof e==`string`?e.trim()||null:typeof e==`number`&&Number.isFinite(e)?e.toString():null,D_=e=>{if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=e.trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null}return null},O_=e=>{let t=T_(e);if(!t||E_(t.reset_type??t.resetType)!==`codex_rate_limits`||E_(t.status)!==`available`)return null;let n=E_(t.expires_at??t.expiresAt);return n?{id:E_(t.id)??``,status:E_(t.status)??``,grantedAt:E_(t.granted_at??t.grantedAt)??``,expiresAt:n}:null},k_=e=>{let t=e;if(typeof e==`string`){let n=e.trim();if(!n)return{availableCount:null,applicableAvailableCount:null,credits:[],invalidPayload:!0};try{t=JSON.parse(n)}catch{return{availableCount:null,applicableAvailableCount:null,credits:[],invalidPayload:!0}}}let n=T_(t);if(!n)return{availableCount:null,applicableAvailableCount:null,credits:[],invalidPayload:!0};let r=`credits`in n||`available_count`in n||`availableCount`in n||`applicable_available_count`in n||`applicableAvailableCount`in n,i=Array.isArray(n.credits)?n.credits.map(e=>O_(e)).filter(e=>!!e):[];return{availableCount:D_(n.available_count??n.availableCount),applicableAvailableCount:D_(n.applicable_available_count??n.applicableAvailableCount),credits:i,invalidPayload:!r}},A_=e=>{let t=new Date(e);return Number.isNaN(t.getTime())?``:w_.format(t).replace(`,`,``)},j_=`paid`,M_=[`metadata`,`attributes`,`oauth`,`raw`,`credential`,`auth`],N_=e=>e&&typeof e==`object`&&!Array.isArray(e)?e:null,P_=e=>typeof e==`string`&&e.trim()||null,F_=e=>{let t=[],n=new Set,r=(e,i)=>{let a=N_(e);!a||n.has(a)||i>2||(n.add(a),t.push(a),M_.forEach(e=>r(a[e],i+1)))};return r(e,0),t},I_=(e,t)=>{let n=[];return e.forEach(e=>{t.forEach(t=>{let r=P_(e[t]);r&&n.push(r)})}),n},L_=e=>e===!0?!0:typeof e==`number`?e===1:typeof e==`string`&&[`true`,`1`,`yes`,`y`,`on`].includes(e.trim().toLowerCase()),R_=e=>{let t=e.split(`.`)[1];if(!t)return null;try{let e=t.replace(/-/g,`+`).replace(/_/g,`/`),n=e.padEnd(Math.ceil(e.length/4)*4,`=`),r=globalThis.atob(n),i=Uint8Array.from(r,e=>e.charCodeAt(0));return N_(JSON.parse(new TextDecoder().decode(i)))}catch{return null}},z_=e=>{let t=R_(e);if(!t)return null;let n=Object.entries(t).find(([e])=>{let t=e.toLowerCase();return t===`tier`||t.endsWith(`/tier`)||t.endsWith(`:tier`)}),r=Number(n?.[1]);return Number.isFinite(r)?r:null},B_=e=>{let t=F_(e),n=t.some(e=>L_(e.using_api??e.usingApi)),r=I_(t,[`prefix`]).some(e=>e.toLowerCase()===j_);return n&&r?!0:I_(t,[`access_token`,`accessToken`,`id_token`,`idToken`,`token`]).some(e=>(z_(e)??0)>=1)},V_=e=>{let t=N_(e);return{mode:`paid-health`,source:`api.x.ai-fallback`,planType:`paid`,healthStatus:`chat-ok`,userId:P_(t?.user_id??t?.userId)??void 0,teamId:P_(t?.team_id??t?.teamId)??void 0,periodType:`unknown`,usagePercent:null,productUsage:[],monthlyLimitCents:null,usedCents:null,includedUsedCents:null,onDemandCapCents:null,onDemandUsedCents:null,onDemandUsedPercent:null,usedPercent:null}},H_=JSON.stringify({metadata:{ideType:`ANTIGRAVITY`}}),U_=new Map([[`free-tier`,`free`],[`g1-pro-tier`,`pro`],[`g1-ultra-tier`,`ultra`],[`g1-ultra-lite-tier`,`ultra-lite`]]),W_=e=>typeof e==`object`&&!!e&&!Array.isArray(e),G_=e=>{if(!W_(e))return null;let t=e;return{id:Cg(t.id),name:Cg(t.name)}},K_=e=>e?U_.get(e)??`unknown`:`unknown`,q_=e=>{let t=kg(e);if(!t)return null;let n=G_(t.currentTier??t.current_tier),r=G_(t.paidTier??t.paid_tier),i=r?.id?r:n;return!i?.id&&!i?.name?null:{plan:K_(i.id),tierId:i.id,tierName:i.name}},J_={async get(e){let t=await Rp.request({authIndex:e,method:`POST`,url:Kh,header:{...Xh},data:H_});if(t.statusCode<200||t.statusCode>=300)throw Kg(Lp(t),t.statusCode);return q_(t.body??t.bodyText)}},Y_=15*1e3,X_={getUsage:()=>op.get(`/api-key-usage`,{timeout:Y_})},Z_={async fetchConfigYaml(){let e=(await op.getRaw(`/config.yaml`,{responseType:`text`,headers:{Accept:`application/yaml, text/yaml, text/plain`}})).data;return typeof e==`string`?e:e==null?``:String(e)},async saveConfigYaml(e){await op.put(`/config.yaml`,e,{headers:{"Content-Type":`application/yaml`,Accept:`application/json, text/plain, */*`}})}},Q_={async list(){let e=await op.get(`/api-keys`),t=e[`api-keys`]??e.apiKeys;return Array.isArray(t)?t.map(e=>String(e)):[]},replace:e=>op.put(`/api-keys`,e),update:(e,t)=>op.patch(`/api-keys`,{index:e,value:t}),delete:e=>op.delete(`/api-keys?index=${e}`)},$_=e=>e&&Object.keys(e).length?e:void 0,ev=[`auth-index`],tv=[`api-key`,`priority`,`weight`,`prefix`,`base-url`,`proxy-url`,`headers`,`models`,`excluded-models`,`disable-cooling`],nv=tv,rv=tv,iv=[...tv,`websockets`],av=iv,ov=[...tv,`cloak`,`experimental-cch-signing`],sv=[`api-key`,`priority`,`weight`,`prefix`,`base-url`,`proxy-url`,`headers`,`models`,`excluded-models`],cv=[`name`,`priority`,`disabled`,`prefix`,`base-url`,`api-key-entries`,`headers`,`models`,`test-model`,`disable-cooling`],lv=[`name`,`alias`,`priority`,`test-model`,`thinking`],uv=[...lv,`image`],dv=[`api-key`,`proxy-url`,`weight`],fv=[`mode`,`strict-mode`,`sensitive-words`,`cache-user-id`],pv=(e,t)=>{for(let n of t){let t=e[n];if(t==null)continue;let r=String(t).trim();if(r)return r}return``},mv=e=>pv(e,[`name`]),hv=e=>pv(e,[`name`]),gv=e=>pv(e,[`api-key`]),_v=(e,t)=>{let n=Tc(e)?{...e}:{};return[...t,...ev].forEach(e=>{delete n[e]}),n},vv=(e,t,n)=>{let r=_v(e,n);return Object.entries(t).forEach(([e,t])=>{t!==void 0&&(r[e]=t)}),r},yv=(e,t,n,r,i,a=!0)=>{let o=i(n);if(o)for(let n=0;n<e.length;n+=1){let r=e[n];if(!(!r||t.has(n))&&i(r)===o)return t.add(n),r}if(a){let n=e[r];if(n&&!t.has(r))return t.add(r),n}},bv=(e,t,n,r,i=!0)=>{let a=Array.isArray(e)?e.map(e=>Tc(e)?e:void 0):[],o=new Set;return t.map((e,t)=>vv(yv(a,o,e,t,r,i),e,n))},xv=(e,t)=>{if(!Tc(e))return[];let n=e[t];return Array.isArray(n)?n:[]};function Sv(e,t,n){return[...e,n(void 0,t)]}function Cv(e,t,n,r){let i=e.findIndex((e,n)=>Tc(e)&&t(e,n));if(i<0)throw Error(`Provider configuration changed; refresh and try again.`);return e.map((e,t)=>t===i?r(e,n):e)}var wv=async(e,t)=>{let n=xv(await op.get(`/config`),e);await op.put(`/${e}`,t(n))},Tv=(e,t,n)=>pv(e,[`api-key`])===t.trim()&&pv(e,[`base-url`])===(n??``).trim(),Ev=(e,t)=>mv(e)===t.trim(),Dv=(e,t,n=lv)=>Array.isArray(t)?bv(Tc(e)?e.models:void 0,t.filter(Tc),n,hv,!1):void 0,Ov=(e,t,n)=>{let r=vv(e,t,n),i=Dv(e,t.models);return i&&(r.models=i),Tc(t.cloak)&&(r.cloak=vv(Tc(e)?e.cloak:void 0,t.cloak,fv)),r},kv=(e,t)=>{let n=vv(e,t,cv),r=Tc(e)?e[`api-key-entries`]:void 0,i=t[`api-key-entries`];Array.isArray(i)&&(n[`api-key-entries`]=bv(r,i.filter(Tc),dv,gv));let a=Dv(e,t.models,uv);return a&&(n.models=a),n},Av=(e,t)=>{if(!Tc(e))return[];let n=e[t];return Array.isArray(n)?n:[]},jv=(e,t)=>{let n=new URLSearchParams;return n.set(`api-key`,e.trim()),n.set(`base-url`,(t??``).trim()),`?${n.toString()}`},Mv=(e,t=!1)=>Array.isArray(e)?e.map(e=>{if(!e?.name)return null;let n={name:e.name};return e.alias&&e.alias!==e.name&&(n.alias=e.alias),e.priority!==void 0&&(n.priority=e.priority),e.testModel&&(n[`test-model`]=e.testModel),t&&e.image&&(n.image=!0),e.thinking&&(n.thinking=e.thinking),n}).filter(Boolean):void 0,Nv=e=>{let t={"api-key":e.apiKey};return e.proxyUrl&&(t[`proxy-url`]=e.proxyUrl),e.weight!==void 0&&(t.weight=e.weight),t},Pv=e=>{let t={"api-key":e.apiKey};e.priority!==void 0&&(t.priority=e.priority),e.weight!==void 0&&(t.weight=e.weight),e.prefix?.trim()&&(t.prefix=e.prefix.trim()),e.baseUrl&&(t[`base-url`]=e.baseUrl),e.websockets!==void 0&&(t.websockets=e.websockets),e.proxyUrl&&(t[`proxy-url`]=e.proxyUrl),e.disableCooling&&(t[`disable-cooling`]=!0);let n=$_(e.headers);n&&(t.headers=n);let r=Mv(e.models);if(r&&r.length&&(t.models=r),e.excludedModels&&e.excludedModels.length&&(t[`excluded-models`]=e.excludedModels),e.cloak){let n={},r=e.cloak.mode?.trim();r&&(n.mode=r),e.cloak.strictMode!==void 0&&(n[`strict-mode`]=e.cloak.strictMode),e.cloak.sensitiveWords&&e.cloak.sensitiveWords.length&&(n[`sensitive-words`]=e.cloak.sensitiveWords),e.cloak.cacheUserId&&(n[`cache-user-id`]=!0),Object.keys(n).length&&(t.cloak=n)}return e.experimentalCchSigning&&(t[`experimental-cch-signing`]=!0),t},Fv=e=>Array.isArray(e)?e.map(e=>{let t=typeof e?.name==`string`?e.name.trim():``,n=typeof e?.alias==`string`?e.alias.trim():``;return!t||!n?null:{name:t,alias:n,...e.thinking?{thinking:e.thinking}:{}}}).filter(Boolean):void 0,Iv=e=>{let t={"api-key":e.apiKey};e.priority!==void 0&&(t.priority=e.priority),e.weight!==void 0&&(t.weight=e.weight),e.prefix?.trim()&&(t.prefix=e.prefix.trim()),e.baseUrl&&(t[`base-url`]=e.baseUrl),e.proxyUrl&&(t[`proxy-url`]=e.proxyUrl);let n=$_(e.headers);n&&(t.headers=n);let r=Fv(e.models);return r&&r.length&&(t.models=r),e.excludedModels&&e.excludedModels.length&&(t[`excluded-models`]=e.excludedModels),t},Lv=e=>{let t={"api-key":e.apiKey};e.priority!==void 0&&(t.priority=e.priority),e.weight!==void 0&&(t.weight=e.weight),e.prefix?.trim()&&(t.prefix=e.prefix.trim()),e.baseUrl&&(t[`base-url`]=e.baseUrl),e.proxyUrl&&(t[`proxy-url`]=e.proxyUrl),e.disableCooling&&(t[`disable-cooling`]=!0);let n=$_(e.headers);n&&(t.headers=n);let r=Mv(e.models);return r&&r.length&&(t.models=r),e.excludedModels&&e.excludedModels.length&&(t[`excluded-models`]=e.excludedModels),t},Rv=e=>{let t={name:e.name,"base-url":e.baseUrl,"api-key-entries":Array.isArray(e.apiKeyEntries)?e.apiKeyEntries.map(e=>Nv(e)):[]};e.prefix?.trim()&&(t.prefix=e.prefix.trim()),e.disabled!==void 0&&(t.disabled=e.disabled);let n=$_(e.headers);n&&(t.headers=n);let r=Mv(e.models,!0);return r&&r.length&&(t.models=r),e.priority!==void 0&&(t.priority=e.priority),e.testModel&&(t[`test-model`]=e.testModel),e.disableCooling&&(t[`disable-cooling`]=!0),t},zv={createGeminiKey:e=>wv(`gemini-api-key`,t=>Sv(t,Lv(e),(e,t)=>Ov(e,t,nv))),updateGeminiKey:(e,t,n)=>wv(`gemini-api-key`,r=>Cv(r,n=>Tv(n,e,t),Lv(n),(e,t)=>Ov(e,t,nv))),deleteGeminiKey:(e,t)=>op.delete(`/gemini-api-key${jv(e,t)}`),createInteractionsKey:e=>wv(`interactions-api-key`,t=>Sv(t,Lv(e),(e,t)=>Ov(e,t,rv))),updateInteractionsKey:(e,t,n)=>wv(`interactions-api-key`,r=>Cv(r,n=>Tv(n,e,t),Lv(n),(e,t)=>Ov(e,t,rv))),deleteInteractionsKey:(e,t)=>op.delete(`/interactions-api-key${jv(e,t)}`),createCodexConfig:e=>wv(`codex-api-key`,t=>Sv(t,Pv(e),(e,t)=>Ov(e,t,iv))),updateCodexConfig:(e,t,n)=>wv(`codex-api-key`,r=>Cv(r,n=>Tv(n,e,t),Pv(n),(e,t)=>Ov(e,t,iv))),deleteCodexConfig:(e,t)=>op.delete(`/codex-api-key${jv(e,t)}`),createXAIConfig:e=>wv(`xai-api-key`,t=>Sv(t,Pv(e),(e,t)=>Ov(e,t,av))),updateXAIConfig:(e,t,n)=>wv(`xai-api-key`,r=>Cv(r,n=>Tv(n,e,t),Pv(n),(e,t)=>Ov(e,t,av))),deleteXAIConfig:(e,t)=>op.delete(`/xai-api-key${jv(e,t)}`),createClaudeConfig:e=>wv(`claude-api-key`,t=>Sv(t,Pv(e),(e,t)=>Ov(e,t,ov))),updateClaudeConfig:(e,t,n)=>wv(`claude-api-key`,r=>Cv(r,n=>Tv(n,e,t),Pv(n),(e,t)=>Ov(e,t,ov))),deleteClaudeConfig:(e,t)=>op.delete(`/claude-api-key${jv(e,t)}`),async getVertexConfigs(){return Av(await op.get(`/vertex-api-key`),`vertex-api-key`).map(e=>xp(e)).filter(Boolean)},createVertexConfig:e=>wv(`vertex-api-key`,t=>Sv(t,Iv(e),(e,t)=>Ov(e,t,sv))),updateVertexConfig:(e,t,n)=>wv(`vertex-api-key`,r=>Cv(r,n=>Tv(n,e,t),Iv(n),(e,t)=>Ov(e,t,sv))),deleteVertexConfig:(e,t)=>op.delete(`/vertex-api-key${jv(e,t)}`),async getOpenAIProviders(){return Av(await op.get(`/openai-compatibility`),`openai-compatibility`).map((e,t)=>Cp(e,t)).filter(Boolean)},createOpenAIProvider:e=>wv(`openai-compatibility`,t=>Sv(t,Rv(e),kv)),updateOpenAIProvider:(e,t,n)=>wv(`openai-compatibility`,r=>Cv(r,(n,r)=>r===t&&Ev(n,e),Rv(n),kv)),updateOpenAIProviderDisabled:(e,t)=>op.patch(`/openai-compatibility`,{index:e,value:{disabled:t}}),deleteOpenAIProvider:e=>op.delete(`/openai-compatibility?index=${encodeURIComponent(String(e))}`)},Bv={"anti-gravity":`antigravity`,grok:`xai`,"x-ai":`xai`,"x.ai":`xai`},Vv=/^[a-z0-9-]+$/,Hv=e=>{let t=e.trim().toLowerCase().replace(/_/g,`-`);return Bv[t]??t},Uv=e=>e.trim().toLowerCase(),Wv=e=>Vv.test(e),Gv=20,Kv=600*1e3,qv=e=>{let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:0};function Jv(e){if(typeof e==`number`)return Number.isFinite(e)?e:0;if(typeof e==`string`){let t=e.trim();if(!t)return 0;let n=Number(t);return Number.isFinite(n)?n:0}return 0}function Yv(e,t){return`${String(e??``).trim()}|${String(t??``).trim()}`}function Xv(e){return typeof e==`number`&&Number.isFinite(e)?e.toString():typeof e==`string`&&e.trim()||null}function Zv(e){return Array.isArray(e)?e.slice(-20).map(e=>{let t=e&&typeof e==`object`?e:{},n=typeof t.time==`string`?t.time:void 0;return{...n?{time:n}:{},success:qv(t.success),failed:qv(t.failed)}}):[]}function Qv(e){if(!e||typeof e!=`object`||Array.isArray(e))return{success:0,failed:0,recentRequests:[]};let t=e;return{success:Jv(t.success),failed:Jv(t.failed),recentRequests:Zv(t.recent_requests??t.recentRequests)}}function $v(e){let t=e.map(e=>Zv(e)).filter(e=>e.length>0);if(t.length===0)return[];let n=Math.min(Gv,Math.max(...t.map(e=>e.length))),r=Array.from({length:n},()=>({success:0,failed:0}));return t.forEach(e=>{let t=e.slice(-n),i=n-t.length;t.forEach((e,t)=>{let n=r[i+t];n.success+=e.success,n.failed+=e.failed,!n.time&&e.time&&(n.time=e.time)})}),r}function ey(e){return Zv(e).reduce((e,t)=>({success:e.success+t.success,failure:e.failure+t.failed}),{success:0,failure:0})}function ty(e){let t=Zv(e),n=Math.max(0,Gv-t.length),r=[...Array.from({length:n},()=>({success:0,failed:0})),...t.slice(-20)],i=Date.now()-Gv*Kv,a=[],o=[],s=0,c=0;r.forEach((e,t)=>{let n=e.success,r=e.failed,l=n+r;s+=n,c+=r,l===0?a.push(`idle`):r===0?a.push(`success`):n===0?a.push(`failure`):a.push(`mixed`);let u=i+t*Kv;o.push({success:n,failure:r,rate:l>0?n/l:-1,startTime:u,endTime:u+Kv})});let l=s+c;return{blocks:a,blockDetails:o,successRate:l>0?s/l*100:100,totalSuccess:s,totalFailure:c}}var ny=e=>{if(!(!e||typeof e!=`object`)&&`status`in e)return e.status},ry=e=>{let t=new Set,n=[];return e.forEach(e=>{let r=String(e??``).trim();!r||t.has(r)||(t.add(r),n.push(r))}),n},iy=e=>Array.isArray(e)?ry(e.map(e=>String(e??``))):[],ay=e=>Array.isArray(e)?e.reduce((e,t)=>{if(!t||typeof t!=`object`)return e;let n=t,r=String(n.name??``).trim(),i=typeof n.error==`string`?n.error.trim():typeof n.message==`string`?n.message.trim():``;return!r&&!i||e.push({name:r,error:i||`Unknown error`}),e},[]):[],oy=(e,t)=>{let n=ay(e?.failed),r=iy(e?.files),i=e?.uploaded===void 0&&n.length===0;return{status:e?.status??(n.length>0?`partial`:`ok`),uploaded:e?.uploaded??(i?t.length:0),files:r.length?r:i?[...t]:[],failed:n}},sy=(e,t)=>{let n=ay(e?.failed),r=iy(e?.files),i=e?.deleted===void 0&&n.length===0;return{status:e?.status??(n.length>0?`partial`:`ok`),deleted:e?.deleted??(i?t.length:0),files:r.length?r:i?[...t]:[],failed:n}},cy=(e,t)=>{let n=e[t];return typeof n==`string`?n.trim():``},ly=e=>{let t=[e.modtime,e.updated_at,e.last_refresh];for(let e of t){if(typeof e==`number`&&Number.isFinite(e))return e<0xe8d4a51000?e*1e3:e;if(typeof e==`string`){let t=e.trim();if(!t)continue;let n=Number(t);if(Number.isFinite(n))return n<0xe8d4a51000?n*1e3:n;let r=Nh(t);if(!Number.isNaN(r))return r}}return 0},uy=e=>e.runtime_only===!0,dy=e=>e==null?!1:typeof e==`string`?e.trim().length>0:!Array.isArray(e)||e.length>0,fy=e=>Object.values(e).reduce((e,t)=>e+ +!!dy(t),0),py=e=>{let t=0;return cy(e,`source`).toLowerCase()===`file`&&(t+=32),cy(e,`path`)&&(t+=16),uy(e)||(t+=8),e.disabled!==!0&&(t+=4),ly(e)>0&&(t+=2),t},my=(e,t)=>{let n=py(t)-py(e);if(n!==0)return n;let r=ly(t)-ly(e);if(r!==0)return r;let i=fy(t)-fy(e);return i===0?0:i},hy=e=>{let[t,...n]=[...e].sort(my),r={...t};return n.forEach(e=>{Object.entries(e).forEach(([e,t])=>{!dy(r[e])&&dy(t)&&(r[e]=t)})}),r},gy=/^[+-]?\d+$/,_y=e=>{if(typeof e==`number`)return Number.isSafeInteger(e)?e:void 0;if(typeof e!=`string`)return;let t=e.trim();if(!t||!gy.test(t))return;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)?n:void 0},vy=e=>{let t=e.runtime_only??e.runtimeOnly;return typeof t==`boolean`?t:typeof t==`string`&&t.trim().toLowerCase()===`true`},yy=e=>{let t=typeof e.statusMessage==`string`?e.statusMessage.trim():``,n=cy(e,`status_message`)||t,r=cy(e,`note`),i=cy(e,`email`),a=cy(e,`project_id`),o=ly(e),s=_y(e.priority),c=_y(e.weight);return{...e,runtimeOnly:vy(e),authIndex:Xv(e.auth_index??e.authIndex),recentRequests:Zv(e.recent_requests??e.recentRequests),successCount:Jv(e.success),failureCount:Jv(e.failed),...n?{statusMessage:n}:{},...o>0?{modified:o}:{},priority:s,weight:c,...r?{note:r}:{},...i?{email:i}:{},...a?{projectId:a}:{}}},by=e=>{let t=Array.isArray(e?.files)?e.files:[],n=new Map;t.forEach(e=>{let t=cy(e,`name`)||JSON.stringify(e),r=n.get(t);if(r){r.push(e);return}n.set(t,[e])});let r=Array.from(n.values()).map(e=>yy(hy(e)));return r.sort((e,t)=>cy(e,`name`).localeCompare(cy(t,`name`),void 0,{sensitivity:`accent`})),{...e,files:r,total:r.length}},xy=e=>{if(!e||typeof e!=`object`)return{};let t=e,n=t[`oauth-excluded-models`]??t.items??e;if(!n||typeof n!=`object`)return{};let r={};return Object.entries(n).forEach(([e,t])=>{let n=Hv(String(e??``));if(!n)return;let i=Array.isArray(t)?t:typeof t==`string`?t.split(/[\n,]+/):[],a=r[n]??[],o=new Set(a.map(e=>e.toLowerCase()));i.forEach(e=>{let t=String(e??``).trim();if(!t)return;let n=t.toLowerCase();o.has(n)||(o.add(n),a.push(t))}),r[n]=a}),r},Sy=e=>{if(!e||typeof e!=`object`)return{};let t=e,n=t[`oauth-model-alias`]??t.items??e;if(!n||typeof n!=`object`)return{};let r={};return Object.entries(n).forEach(([e,t])=>{let n=Hv(String(e??``));if(!n||!Array.isArray(t))return;let i=r[n]??[],a=new Set(i.map(e=>e.alias.toLowerCase()));t.map(e=>{if(!e||typeof e!=`object`)return null;let t=e,n=String(t.name??t.id??t.model??``).trim(),r=String(t.alias??``).trim();if(!n||!r)return null;let i=t.fork===!0,a=t[`force-mapping`]??t.forceMapping,o={name:n,alias:r};return i&&(o.fork=!0),typeof a==`boolean`&&(o.forceMapping=a),o}).filter(Boolean).forEach(e=>{let t=e,n=t.alias.toLowerCase();a.has(n)||(a.add(n),i.push(t))}),i.length&&(r[n]=i)}),r},Cy=e=>e.map(e=>{let t={name:e.name,alias:e.alias};return e.fork&&(t.fork=!0),typeof e.forceMapping==`boolean`&&(t[`force-mapping`]=e.forceMapping),t}),wy=`/oauth-model-alias`,Ty=6e4,Ey=(e=Date.now())=>new Date(e-Ty).toISOString(),Dy={list:async()=>by(await op.get(`/auth-files`)),setStatus:(e,t)=>op.patch(`/auth-files/status`,{name:e,disabled:t}),patchFields:(e,t)=>op.patch(`/auth-files/fields`,{name:e,...t}),requestManualRefresh:e=>op.patch(`/auth-files/fields`,{name:e,expired:Ey()}),uploadFiles:async e=>{let t=e.map(e=>e.name);if(t.length===0)return{status:`ok`,uploaded:0,files:[],failed:[]};let n=new FormData;return e.forEach(e=>{n.append(`file`,e,e.name)}),oy(await op.postForm(`/auth-files`,n),t)},deleteFiles:async e=>{let t=ry(e);return t.length===0?{status:`ok`,deleted:0,files:[],failed:[]}:sy(await op.delete(`/auth-files`,{data:{names:t}}),t)},deleteFile:e=>Dy.deleteFiles([e]),deleteAll:()=>op.delete(`/auth-files`,{params:{all:!0}}),download:async e=>(await op.getRaw(`/auth-files/download?name=${encodeURIComponent(e)}`,{responseType:`blob`})).data,downloadText:async e=>(await Dy.download(e)).text(),async getOauthExcludedModels(){return xy(await op.get(`/oauth-excluded-models`))},saveOauthExcludedModels:(e,t)=>op.patch(`/oauth-excluded-models`,{provider:Hv(e),models:t}),deleteOauthExcludedEntry:e=>op.delete(`/oauth-excluded-models?provider=${encodeURIComponent(Hv(e))}`),replaceOauthExcludedModels:e=>op.put(`/oauth-excluded-models`,xy(e)),async getOauthModelAlias(){return Sy(await op.get(wy))},saveOauthModelAlias:async(e,t)=>{let n=Hv(String(e??``)),r=Sy({[n]:t})[n]??[];await op.patch(wy,{channel:n,aliases:Cy(r)})},deleteOauthModelAlias:async e=>{let t=Hv(String(e??``));try{await op.patch(wy,{channel:t,aliases:[]})}catch(e){if(ny(e)!==405)throw e;await op.delete(`${wy}?channel=${encodeURIComponent(t)}`)}},async getModelsForAuthFile(e){let t=await op.get(`/auth-files/models?name=${encodeURIComponent(e)}`),n=t.models??t.models;return Array.isArray(n)?n:[]},async getModelDefinitions(e){let t=Hv(String(e??``));if(!t)return[];let n=await op.get(`/model-definitions/${encodeURIComponent(t)}`),r=n.models??n.models;return Array.isArray(r)?r:[]}},Oy=new Set([`codex`,`anthropic`,`antigravity`,`xai`]),ky=e=>{let t=Uv(e);if(!Wv(t))throw Error(`Invalid OAuth provider`);return t},Ay={startAuth:e=>{let t=ky(e),n={};return Oy.has(t)&&(n.is_webui=!0),op.get(`/${t}-auth-url`,{params:Object.keys(n).length?n:void 0})},getAuthStatus:e=>op.get(`/get-auth-status`,{params:{state:e}}),submitCallback:(e,t)=>{let n=ky(e);return op.post(`/oauth-callback`,{provider:n,redirect_url:t})}},jy=e=>typeof e==`string`?e.trim():``,My=e=>e===!0||typeof e==`string`&&e.trim().toLowerCase()===`true`,Ny=e=>{if(typeof e==`number`&&Number.isFinite(e))return e;let t=jy(e);if(!t)return 0;let n=Number(t);if(Number.isFinite(n))return n;let r=Date.parse(t);return Number.isFinite(r)?Math.floor(r/1e3):0},Py=e=>{if(!Tc(e))return{lines:[]};let t=Array.isArray(e.lines)?e.lines.filter(e=>typeof e==`string`):[],n=Ny(e[`latest-timestamp`]);return{lines:t,latestAfter:n>0?n:void 0,nextCursor:jy(e[`next-cursor`])||void 0,cursorReset:My(e[`cursor-reset`])}},Fy={async fetchLogs(e={}){return Py(await op.get(`/logs`,{params:e,timeout:Lc}))},clearLogs:()=>op.delete(`/logs`),fetchErrorLogs:()=>op.get(`/request-error-logs`,{timeout:Lc}),downloadErrorLog:e=>op.getRaw(`/request-error-logs/${encodeURIComponent(e)}`,{responseType:`blob`,timeout:Lc}),downloadRequestLogById:e=>op.getRaw(`/request-log-by-id/${encodeURIComponent(e)}`,{responseType:`blob`,timeout:Lc})},Iy={checkLatest:()=>op.get(`/latest-version`)},Ly=e=>e==null?``:String(e),Ry=e=>e===!0,zy=e=>{let t=Uv(Ly(e));return Wv(t)?t:void 0},By=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Vy=e=>{if(!Tc(e))return null;let t=Ly(e.name).trim();if(!t)return null;let n=Array.isArray(e.enum_values)?e.enum_values.map(e=>Ly(e)).filter(Boolean):[];return{name:t,type:Ly(e.type).trim()||`string`,enumValues:n,description:Ly(e.description).trim()}},Hy=e=>Array.isArray(e)?e.map(e=>Vy(e)).filter(Boolean):[],Uy=e=>{if(!Tc(e))return null;let t=Ly(e.name).trim(),n=Ly(e.version).trim(),r=Ly(e.author).trim(),i=Ly(e.github_repository).trim(),a=Ly(e.logo).trim(),o=Hy(e.config_fields);return!t&&!n&&!r&&!i&&!a&&o.length===0?null:{name:t,version:n,author:r,githubRepository:i,logo:a,configFields:o}},Wy=e=>{if(!Tc(e))return null;let t=Ly(e.path).trim(),n=Ly(e.menu).trim();return!t&&!n?null:{path:t,menu:n,description:Ly(e.description).trim()}},Gy=e=>Array.isArray(e)?e.map(e=>Wy(e)).filter(Boolean):[],Ky=e=>{if(!Tc(e))return null;let t=Ly(e.id).trim();if(!t)return null;let n=Uy(e.metadata),r=Hy(e.config_fields),i=Ry(e.supports_oauth),a=zy(e.oauth_provider),o=i&&!By(e,`oauth_provider`)?zy(t):void 0;return{id:t,path:Ly(e.path).trim(),configured:Ry(e.configured),registered:Ry(e.registered),enabled:e.enabled!==!1,effectiveEnabled:Ry(e.effective_enabled),supportsOAuth:i,oauthProvider:a??o,logo:Ly(e.logo||n?.logo).trim(),configFields:r.length>0?r:n?.configFields??[],menus:Gy(e.menus),metadata:n}},qy=e=>{let t=Tc(e)?e:{},n=Array.isArray(t.plugins)?t.plugins.map(e=>Ky(e)).filter(Boolean):[];return{pluginsEnabled:Ry(t.plugins_enabled),pluginsDir:Ly(t.plugins_dir).trim()||`plugins`,plugins:n}},Jy=e=>Tc(e)?{...e}:{},Yy=e=>{let t=Tc(e)?e:{};return{status:Ly(t.status).trim(),id:Ly(t.id).trim(),path:Ly(t.path).trim(),fileDeleted:Ry(t.file_deleted),configuredRemoved:Ry(t.configured_removed),restartRequired:Ry(t.restart_required)}},Xy=e=>{if(!Tc(e))return null;let t=Ly(e.id).trim();if(!t)return null;let n=Ly(e.source_id).trim(),r=Ly(e.store_id).trim()||(n?`${n}/${t}`:t),i=Array.isArray(e.tags)?e.tags.map(e=>Ly(e).trim()).filter(Boolean):[],a=Array.isArray(e.platforms)?e.platforms.map(e=>{if(!Tc(e))return null;let t=Ly(e.goos).trim(),n=Ly(e.goarch).trim();return t||n?{goos:t,goarch:n}:null}).filter(Boolean):[];return{storeId:r,sourceId:n,sourceName:Ly(e.source_name).trim(),sourceUrl:Ly(e.source_url).trim(),id:t,name:Ly(e.name).trim(),description:Ly(e.description).trim(),author:Ly(e.author).trim(),version:Ly(e.version).trim(),repository:Ly(e.repository).trim(),installType:Ly(e.install_type).trim(),authRequired:Ry(e.auth_required),authConfigured:Ry(e.auth_configured),platforms:a,logo:Ly(e.logo).trim(),homepage:Ly(e.homepage).trim(),license:Ly(e.license).trim(),tags:i,installed:Ry(e.installed),installedVersion:Ly(e.installed_version).trim(),path:Ly(e.path).trim(),configured:Ry(e.configured),registered:Ry(e.registered),enabled:Ry(e.enabled),effectiveEnabled:Ry(e.effective_enabled),updateAvailable:Ry(e.update_available)}},Zy=e=>{if(!Tc(e))return null;let t=Ly(e.source_id).trim(),n=Ly(e.source_url).trim(),r=Ly(e.message).trim();return!t&&!n&&!r?null:{sourceId:t,sourceName:Ly(e.source_name).trim(),sourceUrl:n,message:r}},Qy=e=>{let t=Tc(e)?e:{},n=Array.isArray(t.plugins)?t.plugins.map(e=>Xy(e)).filter(Boolean):[],r=Array.isArray(t.source_errors)?t.source_errors.map(e=>Zy(e)).filter(Boolean):[];return{pluginsEnabled:Ry(t.plugins_enabled),pluginsDir:Ly(t.plugins_dir).trim()||`plugins`,sourceErrors:r,plugins:n}},$y=e=>{let t=Tc(e)?e:{};return{status:Ly(t.status).trim(),sourceId:Ly(t.source_id).trim(),sourceName:Ly(t.source_name).trim(),sourceUrl:Ly(t.source_url).trim(),id:Ly(t.id).trim(),version:Ly(t.version).trim(),installType:Ly(t.install_type).trim(),path:Ly(t.path).trim(),pluginsEnabled:Ry(t.plugins_enabled),restartRequired:Ry(t.restart_required)}},eb={async list(){return qy(await op.get(`/plugins`))},updateEnabled:(e,t)=>op.patch(`/plugins/${encodeURIComponent(e)}/enabled`,{enabled:t}),async deletePlugin(e){return Yy(await op.delete(`/plugins/${encodeURIComponent(e)}`))},async getConfig(e){return Jy(await op.get(`/plugins/${encodeURIComponent(e)}/config`))},patchConfig:(e,t)=>op.patch(`/plugins/${encodeURIComponent(e)}/config`,t)},tb={async list(){return Qy(await op.get(`/plugin-store`))},async install(e,t={}){let n=`/plugin-store/${encodeURIComponent(e)}/install`,r=new URLSearchParams,i=t.sourceId?.trim(),a=t.version?.trim();i&&r.set(`source`,i),a&&r.set(`version`,a);let o=r.size>0?`?${r.toString()}`:``;return $y(await op.post(`${n}${o}`,a?{version:a}:void 0))}},nb={importCredential:(e,t)=>{let n=new FormData;return n.append(`file`,e),t&&n.append(`location`,t),op.postForm(`/vertex/import`,n)}},rb=e=>{if(!Array.isArray(e))return[];let t=new Set,n=[];return e.forEach(e=>{let r=typeof e==`object`&&e&&!Array.isArray(e)?e:null,i=typeof e==`string`?e:r?r[`api-key`]??r.apiKey??r.key??r.Key:``,a=String(i??``).trim();!a||t.has(a)||(t.add(a),n.push(a))}),n};function ib(){let e=am(e=>e.apiBase),t=jp(e=>e.config?.apiKeys),n=(0,y.useRef)([]);return(0,y.useEffect)(()=>{n.current=[]},[e,t]),(0,y.useCallback)(async({force:e=!1}={})=>{if(e&&(n.current=[]),n.current.length)return n.current;let r=rb(t);if(r.length)return n.current=r,r;try{let e=rb(await Q_.list());return e.length&&(n.current=e),e}catch{return[]}},[t])}function ab(e,t){let n=(0,y.useRef)(null);(0,y.useEffect)(()=>{n.current=e},[e]),(0,y.useEffect)(()=>{if(t===null)return;let e=setInterval(()=>{n.current?.()},t);return()=>clearInterval(e)},[t])}var ob=24e4,sb=new Map,cb=()=>({cachedUsageByProvider:sb,cachedAt:0,inFlightRequest:null}),lb=(()=>{let e=``,t=``,n=cb();return{forScope(r,i){return(r!==e||i!==t)&&(e=r,t=i,n=cb()),n}}})(),ub=e=>String(e??``).trim().toLowerCase(),db=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return sb;let t=new Map;return Object.entries(e).forEach(([e,n])=>{let r=ub(e);if(!r||!n||typeof n!=`object`||Array.isArray(n))return;let i=new Map;Object.entries(n).forEach(([e,t])=>{i.set(e,Qv(t))}),t.set(r,i)}),t},fb=async e=>{if(!e.inFlightRequest){let t=X_.getUsage().then(t=>{let n=db(t);return e.cachedUsageByProvider=n,e.cachedAt=Date.now(),n}).finally(()=>{e.inFlightRequest===t&&(e.inFlightRequest=null)});e.inFlightRequest=t}return e.inFlightRequest};function pb(e={}){let t=e.enabled??!0,n=am(e=>e.apiBase),r=am(e=>e.managementKey),i=(0,y.useMemo)(()=>lb.forScope(n,r),[n,r]),[a,o]=(0,y.useState)(()=>({cache:i,value:i.cachedUsageByProvider})),[s,c]=(0,y.useState)(()=>({cache:i,value:!1})),l=(0,y.useCallback)(e=>o({cache:i,value:e}),[i]),u=(0,y.useCallback)(e=>c({cache:i,value:e}),[i]),d=(0,y.useCallback)(async(e={})=>{if(!t)return sb;let n=i.cachedAt>0&&Date.now()-i.cachedAt<ob;if(!e.force&&n)return l(i.cachedUsageByProvider),i.cachedUsageByProvider;u(!0);try{let e=await fb(i);return l(e),e}catch{return i.cachedAt>0&&l(i.cachedUsageByProvider),i.cachedUsageByProvider}finally{u(!1)}},[i,t,u,l]),f=(0,y.useCallback)(async()=>d({force:!0}),[d]);(0,y.useEffect)(()=>{if(!t){l(sb);return}d().catch(()=>{})},[t,d,l]),ab(()=>{f().catch(()=>{})},t?ob:null);let p=a.cache===i?a.value:i.cachedUsageByProvider,m=s.cache===i?s.value:i.inFlightRequest!==null;return{usageByProvider:t?p:sb,isLoading:t?m:!1,loadRecentRequests:d,refreshRecentRequests:f}}var mb={buckets:[],totalSuccess:0,totalFailure:0,total:0,successRate:null,peakTotal:0,peakIndex:-1,activeBuckets:0,windowMinutes:0},hb=e=>{let t=e.indexOf(`|`);return t<0?``:e.slice(t+1).trim()},gb=e=>{let t=String(e.type??e.provider??``).trim().toLowerCase();return t&&t!==`empty`?t:`unknown`},_b=e=>{let t=$v(e);if(t.length===0)return mb;let n=0,r=0,i=0,a=-1,o=0;t.forEach((e,t)=>{let s=e.success+e.failed;n+=e.success,r+=e.failed,s>0&&(o+=1),s>i&&(i=s,a=t)});let s=n+r;return{buckets:t,totalSuccess:n,totalFailure:r,total:s,successRate:s>0?n/s*100:null,peakTotal:i,peakIndex:a,activeBuckets:o,windowMinutes:t.length*10}},vb=()=>({credentials:0,success:0,failure:0,bucketGroups:[]}),yb=e=>({gemini:e.geminiApiKeys?.length??0,interactions:e.interactionsApiKeys?.length??0,codex:e.codexApiKeys?.length??0,xai:e.xaiApiKeys?.length??0,claude:e.claudeApiKeys?.length??0,vertex:e.vertexApiKeys?.length??0,openai:e.openaiCompatibility?.length??0});function bb(){let e=am(e=>e.connectionStatus),t=am(e=>e.apiBase),n=jp(e=>e.config),r=jp(e=>e.fetchConfig),i=$p(e=>e.models),a=$p(e=>e.loading),o=$p(e=>e.error),s=$p(e=>e.fetchModels),c=e===`connected`,l=ib(),{usageByProvider:u,refreshRecentRequests:d}=pb({enabled:c}),[f,p]=(0,y.useState)(null),[m,h]=(0,y.useState)(!1),g=(0,y.useCallback)(async()=>{if(c){h(!0);try{let e=await Dy.list();p(e.files)}catch{p(null)}finally{h(!1)}}},[c]),_=(0,y.useCallback)(async()=>{if(!(!c||!t))try{let e=await l();await s(t,e[0])}catch{}},[c,t,l,s]);(0,y.useEffect)(()=>{c&&(r().catch(()=>void 0),g(),_())},[c,r,g,_]);let v=(0,y.useCallback)(async()=>{c&&await Promise.allSettled([r(!0),g(),_(),d()])},[c,r,g,_,d]),b=(0,y.useMemo)(()=>n?yb(n):null,[n]),{traffic:x,providers:S}=(0,y.useMemo)(()=>{let e=new Map,t=[],n=new Set,r=t=>{let n=e.get(t);if(n)return n;let r=vb();return e.set(t,r),r};u.forEach((e,i)=>{let a=r(i);e.forEach((e,r)=>{let i=hb(r);i&&n.add(i),a.credentials+=1,a.success+=e.success,a.failure+=e.failed,e.recentRequests.length>0&&(a.bucketGroups.push(e.recentRequests),t.push(e.recentRequests))})}),(f??[]).forEach(e=>{let i=String(e.account_type??``).trim().toLowerCase(),a=String(e.account??``).trim();if(i===`api_key`&&a&&n.has(a))return;let o=r(gb(e)),s=Qv(e);o.credentials+=1,o.success+=s.success,o.failure+=s.failed,s.recentRequests.length>0&&(o.bucketGroups.push(s.recentRequests),t.push(s.recentRequests))});let i=Array.from(e.entries()).map(([e,t])=>{let n=t.success+t.failure;return{id:e,credentials:t.credentials,success:t.success,failure:t.failure,total:n,successRate:n>0?t.success/n*100:null,buckets:$v(t.bucketGroups)}}).sort((e,t)=>t.total-e.total||t.credentials-e.credentials||e.id.localeCompare(t.id));return{traffic:_b(t),providers:i}},[u,f]),C=(0,y.useMemo)(()=>{if(!f)return null;let e=0,t=0,n=new Map;return f.forEach(r=>{r.disabled?e+=1:r.unavailable&&(t+=1);let i=gb(r);n.set(i,(n.get(i)??0)+1)}),{total:f.length,active:f.length-e-t,disabled:e,unavailable:t,byType:Array.from(n.entries()).map(([e,t])=>({type:e,count:t})).sort((e,t)=>t.count-e.count||e.type.localeCompare(t.type))}},[f]);return{connectionStatus:e,connected:c,config:n,counts:(0,y.useMemo)(()=>({managementKeys:n?n.apiKeys?.length??0:null,providerKeys:b?Object.values(b).reduce((e,t)=>e+t,0):null,credentials:f?f.length:null,models:a||o?null:i.length}),[n,b,f,i.length,a,o]),providerKeyCounts:b,traffic:x,providers:S,credentials:C,initialLoading:c&&!n&&f===null,authFilesLoading:m,refresh:v}}function xb(e,t,n){if(e.length===0)return``;if(e.length===1)return`M${e[0].x.toFixed(2)} ${e[0].y.toFixed(2)}`;let r=e=>Math.max(t,Math.min(n,e)),i=`M${e[0].x.toFixed(2)} ${e[0].y.toFixed(2)}`;for(let t=0;t<e.length-1;t+=1){let n=e[Math.max(0,t-1)],a=e[t],o=e[t+1],s=e[Math.min(e.length-1,t+2)],c=a.x+(o.x-n.x)/6,l=r(a.y+(o.y-n.y)/6),u=o.x-(s.x-a.x)/6,d=r(o.y-(s.y-a.y)/6);i+=` C${c.toFixed(2)} ${l.toFixed(2)}, ${u.toFixed(2)} ${d.toFixed(2)}, ${o.x.toFixed(2)} ${o.y.toFixed(2)}`}return i}var Sb={wire:`LiveWire-module__wire___VqROJ`,canvas:`LiveWire-module__canvas___J0D-f`,line:`LiveWire-module__line___d269h`,wireDraw:`LiveWire-module__wireDraw___iIgfV`,area:`LiveWire-module__area___5UlLy`,wireFade:`LiveWire-module__wireFade___vggde`,idleLine:`LiveWire-module__idleLine___nQIzF`,pulse:`LiveWire-module__pulse___eS-2V`,wirePulse:`LiveWire-module__wirePulse___Sazgz`},Cb=100,wb=40,Tb=6;function Eb({points:e,ariaLabel:t,className:n}){let r=(0,y.useId)(),i=(0,y.useMemo)(()=>{let t=e.filter(e=>Number.isFinite(e));if(t.length<2)return null;let n=Math.max(...t),r=wb-Tb,i=Cb/(t.length-1),a=t.map((e,t)=>({x:t*i,y:wb-(n>0?e/n:0)*r})),o=xb(a,Tb,wb),s=a[a.length-1];return{line:o,area:`${o} L${Cb} ${wb} L0 ${wb} Z`,isFlat:n<=0,lastYRatio:s.y/wb}},[e]),a=!i||i.isFlat;return(0,H.jsx)(`div`,{className:[Sb.wire,n].filter(Boolean).join(` `),children:a?(0,H.jsx)(`svg`,{className:Sb.canvas,viewBox:`0 0 ${Cb} ${wb}`,preserveAspectRatio:`none`,role:`img`,"aria-label":t,children:(0,H.jsx)(`path`,{className:Sb.idleLine,d:`M0 ${wb-1} L${Cb} ${wb-1}`,pathLength:1,vectorEffect:`non-scaling-stroke`})}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`svg`,{className:Sb.canvas,viewBox:`0 0 ${Cb} ${wb}`,preserveAspectRatio:`none`,role:`img`,"aria-label":t,children:[(0,H.jsx)(`defs`,{children:(0,H.jsxs)(`linearGradient`,{id:r,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,H.jsx)(`stop`,{offset:`0%`,stopColor:`var(--wire-color)`,stopOpacity:`0.2`}),(0,H.jsx)(`stop`,{offset:`100%`,stopColor:`var(--wire-color)`,stopOpacity:`0`})]})}),(0,H.jsx)(`path`,{className:Sb.area,d:i.area,fill:`url(#${r})`}),(0,H.jsx)(`path`,{className:Sb.line,d:i.line,pathLength:1,fill:`none`,vectorEffect:`non-scaling-stroke`})]}),(0,H.jsx)(`span`,{className:Sb.pulse,style:{top:`${(i.lastYRatio*100).toFixed(2)}%`},"aria-hidden":`true`})]})})}var Db={gemini:`Gemini`,"gemini-interactions":`Interactions API`,aistudio:`AI Studio`,codex:`Codex`,claude:`Claude`,xai:`xAI`,vertex:`Vertex AI`,openai:`OpenAI Compatible`,"openai-compatibility":`OpenAI Compatible`,qwen:`Qwen`,kimi:`Kimi`,iflow:`iFlow`,antigravity:`Antigravity`};function Ob(e,t){return e===`unknown`||!e?t:Db[e]??e.charAt(0).toUpperCase()+e.slice(1)}function kb(e){let t=Math.max(0,Math.round(e));return{hours:Math.floor(t/60),minutes:t%60}}function Ab(e){return e===null?`idle`:e>=95?`good`:e>=80?`warning`:`critical`}var jb=[1,1.5,2,2.5,3,4,5,6,8,10];function Mb(e){if(e<=0)return 1;let t=10**Math.floor(Math.log10(e)),n=e/t;return(jb.find(e=>n<=e)??10)*t}function Nb(e,t){return e<=0||t<=0?Math.max(1,t):Math.max(1,Math.ceil(Mb(e/t)))*t}var Pb={track:`Meter-module__track___TZ2y-`,fill:`Meter-module__fill___agcj5`},Fb={good:`var(--viz-success, #10b981)`,warning:`var(--amber-color)`,critical:`var(--viz-failure, #c65746)`,idle:`var(--text-quaternary)`};function Ib({value:e,tone:t,ariaLabel:n,className:r}){let i=t??Ab(e),a=e===null?0:Math.max(0,Math.min(100,e));return(0,H.jsx)(`div`,{className:[Pb.track,r].filter(Boolean).join(` `),style:{"--meter-fill":Fb[i]},role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e===null?void 0:Math.round(a),"aria-label":n,children:(0,H.jsx)(`div`,{className:Pb.fill,style:{width:`${a}%`}})})}var Lb={sparkline:`Sparkline-module__sparkline___74Npe`,empty:`Sparkline-module__empty___-fTgh`},Rb=100,zb=32,Bb=3;function Vb({points:e,color:t,ariaLabel:n,className:r}){let i=(0,y.useId)(),a=(0,y.useMemo)(()=>{let t=e.filter(e=>Number.isFinite(e));if(t.length===0)return null;let n=Math.max(...t),r=zb-Bb,i=t.length>1?Rb/(t.length-1):0,a=t.map((e,a)=>({x:t.length>1?a*i:Rb/2,y:zb-(n>0?e/n:0)*r})),o=xb(a,Bb,zb),s=a[0];return{line:o,area:`${o} L${a[a.length-1].x.toFixed(2)} ${zb} L${s.x.toFixed(2)} ${zb} Z`,isFlat:n<=0}},[e]);if(!a)return(0,H.jsx)(`div`,{className:[Lb.empty,r].filter(Boolean).join(` `),"aria-hidden":`true`});let o=a.isFlat?`var(--text-quaternary)`:t??`var(--primary-color)`;return(0,H.jsxs)(`svg`,{className:[Lb.sparkline,r].filter(Boolean).join(` `),viewBox:`0 0 ${Rb} ${zb}`,preserveAspectRatio:`none`,role:`img`,"aria-label":n,children:[(0,H.jsx)(`defs`,{children:(0,H.jsxs)(`linearGradient`,{id:i,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,H.jsx)(`stop`,{offset:`0%`,stopColor:o,stopOpacity:`0.16`}),(0,H.jsx)(`stop`,{offset:`100%`,stopColor:o,stopOpacity:`0.01`})]})}),!a.isFlat&&(0,H.jsx)(`path`,{d:a.area,fill:`url(#${i})`,stroke:`none`}),(0,H.jsx)(`path`,{d:a.line,fill:`none`,stroke:o,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]})}var Hb={root:`Collapsible-module__root___pblku`,summary:`Collapsible-module__summary___9zX-c`,summaryLabel:`Collapsible-module__summaryLabel___G6Rv3`,summaryHint:`Collapsible-module__summaryHint___zzQq-`,chevron:`Collapsible-module__chevron___L6d3B`,content:`Collapsible-module__content___rwqsf`,contentFlush:`Collapsible-module__contentFlush___WXXdd`};function Ub({label:e,hint:t,defaultOpen:n=!1,open:r,onToggle:i,flush:a,children:o,className:s,...c}){let[l,u]=(0,y.useState)(n),d=r??l,f=[Hb.root,s].filter(Boolean).join(` `),p=a?Hb.contentFlush:Hb.content;return(0,H.jsxs)(`details`,{className:f,open:d,onToggle:e=>{r===void 0&&u(e.currentTarget.open),i?.(e)},...c,children:[(0,H.jsxs)(`summary`,{className:Hb.summary,children:[(0,H.jsxs)(`span`,{className:Hb.summaryLabel,children:[(0,H.jsx)(`span`,{children:e}),t?(0,H.jsx)(`span`,{className:Hb.summaryHint,children:t}):null]}),(0,H.jsx)(`span`,{className:Hb.chevron,"aria-hidden":`true`,children:(0,H.jsx)(Is,{size:16})})]}),(0,H.jsx)(`div`,{className:p,children:o})]})}var Wb={chart:`ThroughputChart-module__chart___-FaCM`,legend:`ThroughputChart-module__legend___5JQlE`,legendItem:`ThroughputChart-module__legendItem___QsoEr`,legendValue:`ThroughputChart-module__legendValue___E-KrF`,legendSwatch:`ThroughputChart-module__legendSwatch___vKp8w`,swatchSuccess:`ThroughputChart-module__swatchSuccess___71fp7`,swatchFailure:`ThroughputChart-module__swatchFailure___4NtxJ`,plot:`ThroughputChart-module__plot___vHBTu`,yAxis:`ThroughputChart-module__yAxis___95MPg`,yTick:`ThroughputChart-module__yTick___-qXXk`,canvas:`ThroughputChart-module__canvas___0f37X`,gridlines:`ThroughputChart-module__gridlines___wwLsr`,gridline:`ThroughputChart-module__gridline___qENb3`,columns:`ThroughputChart-module__columns___fD5i7`,column:`ThroughputChart-module__column___RaitD`,stack:`ThroughputChart-module__stack___-YquN`,barGrow:`ThroughputChart-module__barGrow___65yaS`,columnActive:`ThroughputChart-module__columnActive___cFDyr`,segment:`ThroughputChart-module__segment___ijOMN`,segmentSuccess:`ThroughputChart-module__segmentSuccess___OqHlT`,segmentFailure:`ThroughputChart-module__segmentFailure___2ajQl`,segmentGap:`ThroughputChart-module__segmentGap___kXfwL`,segmentSquareTop:`ThroughputChart-module__segmentSquareTop___L2fgA`,idleTick:`ThroughputChart-module__idleTick___kZ-JF`,peakLabel:`ThroughputChart-module__peakLabel___J0i8w`,peakFade:`ThroughputChart-module__peakFade___9U9Rk`,noRequests:`ThroughputChart-module__noRequests___BJa6D`,tooltip:`ThroughputChart-module__tooltip___S9UYJ`,tooltipTime:`ThroughputChart-module__tooltipTime___GZtRW`,tooltipRow:`ThroughputChart-module__tooltipRow___aF9iN`,tooltipRate:`ThroughputChart-module__tooltipRate___fpdoz`,xAxis:`ThroughputChart-module__xAxis___etggi`,xTick:`ThroughputChart-module__xTick___IRup4`,tableToggle:`ThroughputChart-module__tableToggle___xSkCt`,table:`ThroughputChart-module__table___qvr48`,placeholder:`ThroughputChart-module__placeholder___CdaMa`,placeholderTitle:`ThroughputChart-module__placeholderTitle___--Mu2`,placeholderHint:`ThroughputChart-module__placeholderHint___NIiCf`},Gb=5;function Kb(e,t,n){return e||`-${(n-t)*10}m`}function qb(e,t,n){if(!e)return Kb(e,t,n);let[r]=e.split(`-`);return r?.trim()||e}function Jb({traffic:e}){let{t}=ss(),[n,r]=(0,y.useState)(null),{buckets:i,totalSuccess:a,totalFailure:o,total:s,peakIndex:c,peakTotal:l}=e,u=(0,y.useMemo)(()=>Nb(l,Gb-1),[l]),d=(0,y.useMemo)(()=>Array.from({length:Gb},(e,t)=>{let n=1-t/(Gb-1);return{ratio:n,value:Math.round(u*n)}}),[u]),f=(0,y.useMemo)(()=>{if(i.length===0)return[];let e=[0,Math.floor((i.length-1)/2),i.length-1];return Array.from(new Set(e)).map(e=>({index:e,label:qb(i[e]?.time,e,i.length)}))},[i]),p=t(`dashboard.traffic_chart_summary`,{total:s,success:a,failed:o,minutes:e.windowMinutes}),m=n===null?null:i[n],h=m?m.success+m.failed:0;return i.length===0?(0,H.jsxs)(`div`,{className:Wb.placeholder,children:[(0,H.jsx)(`p`,{className:Wb.placeholderTitle,children:t(`dashboard.traffic_unavailable`)}),(0,H.jsx)(`p`,{className:Wb.placeholderHint,children:t(`dashboard.traffic_unavailable_hint`)})]}):(0,H.jsxs)(`figure`,{className:Wb.chart,children:[(0,H.jsxs)(`figcaption`,{className:Wb.legend,children:[(0,H.jsxs)(`span`,{className:Wb.legendItem,children:[(0,H.jsx)(`span`,{className:`${Wb.legendSwatch} ${Wb.swatchSuccess}`,"aria-hidden":`true`}),t(`stats.success`),(0,H.jsx)(`b`,{className:Wb.legendValue,children:a.toLocaleString()})]}),(0,H.jsxs)(`span`,{className:Wb.legendItem,children:[(0,H.jsx)(`span`,{className:`${Wb.legendSwatch} ${Wb.swatchFailure}`,"aria-hidden":`true`}),t(`stats.failure`),(0,H.jsx)(`b`,{className:Wb.legendValue,children:o.toLocaleString()})]})]}),(0,H.jsxs)(`div`,{className:Wb.plot,children:[(0,H.jsx)(`div`,{className:Wb.yAxis,"aria-hidden":`true`,children:d.map(e=>(0,H.jsx)(`span`,{className:Wb.yTick,style:{top:`${(1-e.ratio)*100}%`},children:e.value.toLocaleString()},e.ratio))}),(0,H.jsxs)(`div`,{className:Wb.canvas,children:[(0,H.jsx)(`div`,{className:Wb.gridlines,"aria-hidden":`true`,children:d.map(e=>(0,H.jsx)(`span`,{className:Wb.gridline,style:{top:`${(1-e.ratio)*100}%`}},e.ratio))}),(0,H.jsx)(`div`,{className:Wb.columns,role:`img`,"aria-label":p,onMouseLeave:()=>r(null),children:i.map((e,t)=>{let a=e.success+e.failed,o=e.success/u*100,s=e.failed/u*100,d=e.success>0&&e.failed>0,f=i.length>1?Math.round(t/(i.length-1)*360):0;return(0,H.jsxs)(`div`,{className:`${Wb.column} ${n===t?Wb.columnActive:``}`,onMouseEnter:()=>r(t),onClick:()=>r(e=>e===t?null:t),children:[t===c&&l>0&&(0,H.jsx)(`span`,{className:Wb.peakLabel,style:{bottom:`${Math.min(100,a/u*100)}%`},children:l.toLocaleString()}),(0,H.jsxs)(`div`,{className:Wb.stack,style:{"--bar-delay":`${f}ms`},children:[e.failed>0&&(0,H.jsx)(`span`,{className:`${Wb.segment} ${Wb.segmentFailure} ${d?Wb.segmentGap:``}`,style:{height:`${s}%`}}),e.success>0&&(0,H.jsx)(`span`,{className:`${Wb.segment} ${Wb.segmentSuccess} ${e.failed>0?Wb.segmentSquareTop:``}`,style:{height:`${o}%`}}),a===0&&(0,H.jsx)(`span`,{className:Wb.idleTick})]})]},e.time??t)})}),s===0&&(0,H.jsx)(`p`,{className:Wb.noRequests,children:t(`status_bar.no_requests`)}),m&&(0,H.jsxs)(`div`,{className:Wb.tooltip,style:{left:`${(n+.5)/i.length*100}%`,transform:n<i.length*.15?`translateX(-12%)`:n>i.length*.85?`translateX(-88%)`:`translateX(-50%)`},role:`status`,children:[(0,H.jsx)(`span`,{className:Wb.tooltipTime,children:Kb(m.time,n,i.length)}),(0,H.jsxs)(`span`,{className:Wb.tooltipRow,children:[(0,H.jsx)(`span`,{className:`${Wb.legendSwatch} ${Wb.swatchSuccess}`,"aria-hidden":`true`}),t(`stats.success`),(0,H.jsx)(`b`,{children:m.success.toLocaleString()})]}),(0,H.jsxs)(`span`,{className:Wb.tooltipRow,children:[(0,H.jsx)(`span`,{className:`${Wb.legendSwatch} ${Wb.swatchFailure}`,"aria-hidden":`true`}),t(`stats.failure`),(0,H.jsx)(`b`,{children:m.failed.toLocaleString()})]}),(0,H.jsx)(`span`,{className:Wb.tooltipRate,children:h>0?zh(m.success/h*100):t(`status_bar.no_requests`)})]})]})]}),(0,H.jsx)(`div`,{className:Wb.xAxis,"aria-hidden":`true`,children:f.map(e=>(0,H.jsx)(`span`,{className:Wb.xTick,style:{left:`${(e.index+.5)/i.length*100}%`},children:e.label},e.index))}),(0,H.jsx)(Ub,{className:Wb.tableToggle,label:t(`dashboard.traffic_table`),children:(0,H.jsxs)(`table`,{className:Wb.table,children:[(0,H.jsx)(`thead`,{children:(0,H.jsxs)(`tr`,{children:[(0,H.jsx)(`th`,{scope:`col`,children:t(`dashboard.traffic_table_window`)}),(0,H.jsx)(`th`,{scope:`col`,children:t(`stats.success`)}),(0,H.jsx)(`th`,{scope:`col`,children:t(`stats.failure`)}),(0,H.jsx)(`th`,{scope:`col`,children:t(`dashboard.success_rate`)})]})}),(0,H.jsx)(`tbody`,{children:i.map((e,t)=>{let n=e.success+e.failed;return(0,H.jsxs)(`tr`,{children:[(0,H.jsx)(`th`,{scope:`row`,children:Kb(e.time,t,i.length)}),(0,H.jsx)(`td`,{children:e.success.toLocaleString()}),(0,H.jsx)(`td`,{children:e.failed.toLocaleString()}),(0,H.jsx)(`td`,{children:n>0?zh(e.success/n*100):`—`})]},e.time??t)})})]})})]})}var Yb=24,Xb=.45,Zb=900,Qb=.07,$b=.36,ex=e=>1-(1-e)**4,tx=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;function nx(e=0){let t=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{let n=t.current;if(!n)return;let r=()=>{n.style.removeProperty(`opacity`),n.style.removeProperty(`transform`),n.style.removeProperty(`will-change`)};if(tx()||typeof IntersectionObserver>`u`){r();return}n.style.opacity=`0`,n.style.transform=`translate3d(0, ${Yb}px, 0)`,n.style.willChange=`opacity, transform`;let i=null,a=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(a.unobserve(t.target),i=rh(n,{opacity:[0,1],transform:[`translate3d(0, ${Yb}px, 0)`,`translate3d(0, 0, 0)`]},{duration:Xb,delay:e,ease:ex}),i.finished.then(r).catch(()=>void 0))})},{rootMargin:`0px 0px -12% 0px`,threshold:.05});return a.observe(n),()=>{a.disconnect(),i?.stop(),r()}},[e]),t}function rx(e=0){let t=(0,y.useRef)(null);return(0,y.useLayoutEffect)(()=>{let n=t.current;if(!n)return;let r=Array.from(n.querySelectorAll(`[data-reveal]`));if(r.length===0)return;let i=e=>e.dataset.reveal===`scale`?`translate3d(0, ${Yb}px, 0) scale(0.97)`:`translate3d(0, ${Yb}px, 0)`,a=e=>e.dataset.reveal===`scale`?`translate3d(0, 0, 0) scale(1)`:`translate3d(0, 0, 0)`,o=e=>{e.style.removeProperty(`opacity`),e.style.removeProperty(`transform`),e.style.removeProperty(`will-change`)},s=()=>r.forEach(o);if(tx()||typeof IntersectionObserver>`u`){s();return}r.forEach(e=>{e.style.opacity=`0`,e.style.transform=i(e),e.style.willChange=`opacity, transform`});let c=r.length>1?Math.min(Qb,$b/(r.length-1)):Qb,l=[],u=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(u.unobserve(t.target),r.forEach((t,n)=>{let r=rh(t,{opacity:[0,1],transform:[i(t),a(t)]},{duration:Xb,delay:e+n*c,ease:ex});l.push(r),r.finished.then(()=>o(t)).catch(()=>void 0)}))})},{rootMargin:`0px 0px -12% 0px`,threshold:.05});return u.observe(n),()=>{u.disconnect(),l.forEach(e=>e.stop()),s()}},[e]),t}function ix(e,t=!0){let[n,r]=(0,y.useState)(e),i=(0,y.useRef)(e);return(0,y.useEffect)(()=>{let n=i.current;if(!t||tx()||n===e){i.current=e,r(e);return}let a=0,o=null,s=t=>{o===null&&(o=t);let c=Math.min(1,(t-o)/Zb),l=ex(c);r(Math.round(n+(e-n)*l)),c<1?a=requestAnimationFrame(s):i.current=e};return a=requestAnimationFrame(s),()=>{cancelAnimationFrame(a),i.current=e}},[e,t]),n}var K={page:`dashboard-module__page___UF6ee`,ambient:`dashboard-module__ambient___25f--`,washTop:`dashboard-module__washTop___2D-R1`,gridWash:`dashboard-module__gridWash___IJsAj`,hero:`dashboard-module__hero___MkU3k`,heroWire:`dashboard-module__heroWire___CyDZk`,heroCopy:`dashboard-module__heroCopy___7eu3Y`,heroTitle:`dashboard-module__heroTitle___bjdUU`,heroPeriod:`dashboard-module__heroPeriod___pihps`,heroPeriodLive:`dashboard-module__heroPeriodLive___rE5lR`,periodBreath:`dashboard-module__periodBreath___NC0oZ`,heroMeta:`dashboard-module__heroMeta___SsmPi`,heroActions:`dashboard-module__heroActions___nMO4M`,primaryAction:`dashboard-module__primaryAction___9gfgH`,ghostAction:`dashboard-module__ghostAction___N9jjF`,linkArrow:`dashboard-module__linkArrow___vWko7`,heroPanel:`dashboard-module__heroPanel___sFbi-`,heroPanelTop:`dashboard-module__heroPanelTop___sNg4k`,heroPanelLabel:`dashboard-module__heroPanelLabel___jUpVi`,liveBadge:`dashboard-module__liveBadge___9fdYq`,liveDot:`dashboard-module__liveDot___VGdIG`,livePing:`dashboard-module__livePing___3wKU9`,heroFigure:`dashboard-module__heroFigure___wRcDD`,heroPanelMeta:`dashboard-module__heroPanelMeta___LTO6H`,ratioBar:`dashboard-module__ratioBar___QbYaG`,ratioSegment:`dashboard-module__ratioSegment___QPj4X`,heroSplit:`dashboard-module__heroSplit___iBb4m`,heroSplitItem:`dashboard-module__heroSplitItem___9Xb7t`,splitSwatch:`dashboard-module__splitSwatch___T1BAm`,splitSuccess:`dashboard-module__splitSuccess___YzZ3r`,splitFailure:`dashboard-module__splitFailure___uod1c`,statsRow:`dashboard-module__statsRow___N02MY`,statTile:`dashboard-module__statTile___pRszo`,statLabel:`dashboard-module__statLabel___vBc52`,statValue:`dashboard-module__statValue___HlP6a`,statMeter:`dashboard-module__statMeter___iqQ0d`,statHint:`dashboard-module__statHint___jA1Lx`,section:`dashboard-module__section___SU27P`,sectionHead:`dashboard-module__sectionHead___HiDgg`,eyebrow:`dashboard-module__eyebrow___9pOzG`,sectionTitle:`dashboard-module__sectionTitle___mdUFh`,sectionDescription:`dashboard-module__sectionDescription___njtD8`,panel:`dashboard-module__panel___yFev0`,panelHead:`dashboard-module__panelHead___JCcHO`,panelTitle:`dashboard-module__panelTitle___DPM1j`,panelLink:`dashboard-module__panelLink___b7hxz`,emptyNote:`dashboard-module__emptyNote___ZPLt3`,fleetList:`dashboard-module__fleetList___znqyo`,fleetRow:`dashboard-module__fleetRow___CMqRX`,fleetRank:`dashboard-module__fleetRank___Ll1Rd`,fleetIdentity:`dashboard-module__fleetIdentity___Ly9vN`,fleetName:`dashboard-module__fleetName___RORQt`,fleetMeta:`dashboard-module__fleetMeta___xo-1P`,fleetSpark:`dashboard-module__fleetSpark___Ya30N`,fleetNumbers:`dashboard-module__fleetNumbers___aQeog`,fleetTotal:`dashboard-module__fleetTotal___MadmX`,fleetTotalLabel:`dashboard-module__fleetTotalLabel___RhSuG`,fleetRate:`dashboard-module__fleetRate___jYvLy`,fleetRateValue:`dashboard-module__fleetRateValue___Tj2Kl`,fleetMeter:`dashboard-module__fleetMeter___l-m4d`,detailGrid:`dashboard-module__detailGrid___Zr06g`,healthBar:`dashboard-module__healthBar___XMGkG`,healthSegment:`dashboard-module__healthSegment___vawrq`,healthActive:`dashboard-module__healthActive___zZV8L`,healthUnavailable:`dashboard-module__healthUnavailable___F49dV`,healthDisabled:`dashboard-module__healthDisabled___guPq-`,healthLegend:`dashboard-module__healthLegend___3ewIe`,healthKey:`dashboard-module__healthKey___2cAw2`,typeBreakdown:`dashboard-module__typeBreakdown___Pa2Q3`,typeBreakdownLabel:`dashboard-module__typeBreakdownLabel___jt9VW`,typeList:`dashboard-module__typeList___edMu9`,typeChip:`dashboard-module__typeChip___-twi3`,specList:`dashboard-module__specList___naEGe`,specRow:`dashboard-module__specRow___IH1wt`,specLabel:`dashboard-module__specLabel___QxD73`,specValue:`dashboard-module__specValue___eI8Ot`,specMono:`dashboard-module__specMono___5y8cr`,toggleList:`dashboard-module__toggleList___Krb90`,togglePill:`dashboard-module__togglePill___QJYAj`,toggleOn:`dashboard-module__toggleOn___VmR3w`,toggleOff:`dashboard-module__toggleOff___XWtlD`,ctaGrid:`dashboard-module__ctaGrid___OQEZ7`,ctaCard:`dashboard-module__ctaCard___-fF7e`,ctaArrow:`dashboard-module__ctaArrow___IBWKn`,ctaIcon:`dashboard-module__ctaIcon___ulbkn`,ctaTitle:`dashboard-module__ctaTitle___5vVvg`,ctaDescription:`dashboard-module__ctaDescription___rSwmK`},ax=`—`,ox={good:`var(--viz-success)`,warning:`var(--amber-color)`,critical:`var(--viz-failure)`,idle:`var(--text-quaternary)`},sx=e=>e<1e5?e.toLocaleString():Rh(e);function cx(){let{t:e,i18n:t}=ss(),n=am(e=>e.serverVersion),r=am(e=>e.serverBuildDate),{connectionStatus:i,connected:a,config:o,counts:s,traffic:c,providers:l,credentials:u,refresh:d}=bb();Ah(d,a);let f=rx(),p=rx(.12),m=nx(),h=nx(),g=rx(),_=rx(),v=ix(c.total,a),b=(0,y.useMemo)(()=>{if(c.windowMinutes<=0)return ax;let{hours:t,minutes:n}=kb(c.windowMinutes);return t===0?e(`dashboard.window_m`,{minutes:n}):n===0?e(`dashboard.window_h`,{hours:t}):e(`dashboard.window_hm`,{hours:t,minutes:n})},[c.windowMinutes,e]),x=(0,y.useMemo)(()=>c.buckets.map(e=>e.success+e.failed),[c.buckets]),S=(0,y.useMemo)(()=>{let t=o?.routingStrategy?.trim()??``;return t?t===`round-robin`?e(`basic_settings.routing_strategy_round_robin`):t===`weighted-round-robin`?e(`basic_settings.routing_strategy_weighted_round_robin`):t===`fill-first`?e(`basic_settings.routing_strategy_fill_first`):t:ax},[o?.routingStrategy,e]),C=e(`dashboard.provider_unknown`),w=Ab(c.successRate),T=(0,y.useMemo)(()=>a?c.total===0||c.successRate===null?{key:`hero_verdict_idle`,accent:`var(--text-quaternary)`}:{key:{good:`hero_verdict_good`,warning:`hero_verdict_warning`,critical:`hero_verdict_critical`,idle:`hero_verdict_idle`}[w],accent:ox[w]}:i===`connecting`?{key:`hero_verdict_connecting`,accent:`var(--amber-color)`}:{key:`hero_verdict_offline`,accent:`var(--text-quaternary)`},[a,i,c.total,c.successRate,w]),E=a&&c.total>0,D=e(i===`connected`?`common.connected`:i===`connecting`?`common.connecting`:`common.disconnected`),O=[n?`v${n.trim().replace(/^[vV]+/,``)}`:null,D].filter(Boolean).join(` · `),k=[{key:`success`,label:e(`dashboard.success_rate`),value:c.successRate===null?ax:zh(c.successRate),hint:e(`dashboard.stat_success_hint`,{total:c.total.toLocaleString()}),meter:c.successRate,tone:w},{key:`credentials`,label:e(`dashboard.stat_credentials`),value:u?u.total.toLocaleString():ax,hint:u?e(`dashboard.stat_credentials_hint`,{active:u.active,disabled:u.disabled+u.unavailable}):e(`dashboard.stat_credentials_empty`),meter:u&&u.total>0?u.active/u.total*100:null,tone:void 0},{key:`providerKeys`,label:e(`dashboard.stat_provider_keys`),value:s.providerKeys===null?ax:s.providerKeys.toLocaleString(),hint:e(`dashboard.stat_provider_keys_hint`),meter:null,tone:void 0},{key:`models`,label:e(`dashboard.stat_models`),value:s.models===null?ax:s.models.toLocaleString(),hint:e(`dashboard.stat_models_hint`),meter:null,tone:void 0}],A=[{label:e(`dashboard.runtime_routing`),value:S},{label:e(`dashboard.runtime_retry`),value:String(o?.requestRetry??0)},{label:e(`dashboard.runtime_management_keys`),value:s.managementKeys===null?ax:String(s.managementKeys)},{label:e(`dashboard.runtime_version`),value:n?.trim()||ax},{label:e(`dashboard.runtime_build`),value:Hh(r,t.language)||ax},{label:e(`dashboard.runtime_proxy`),value:o?.proxyUrl?.trim()||ax,mono:!0}],j=o?[{label:e(`dashboard.runtime_debug`),on:!!o.debug},{label:e(`dashboard.runtime_file_logging`),on:!!o.loggingToFile},{label:e(`dashboard.runtime_request_log`),on:!!o.requestLog},{label:e(`dashboard.runtime_ws_auth`),on:!!o.wsAuth},{label:e(`dashboard.runtime_model_prefix`),on:!!o.forceModelPrefix}]:[],M=[{to:`/ai-providers`,icon:(0,H.jsx)(ms,{size:20}),title:e(`nav.ai_providers`),description:e(`dashboard.cta_providers_desc`)},{to:`/auth-files`,icon:(0,H.jsx)(_s,{size:20}),title:e(`nav.auth_files`),description:e(`dashboard.cta_auth_files_desc`)},{to:`/config`,icon:(0,H.jsx)($s,{size:20}),title:e(`nav.config_management`),description:e(`dashboard.cta_config_desc`)},{to:`/quota`,icon:(0,H.jsx)(ac,{size:20}),title:e(`nav.quota_management`),description:e(`dashboard.cta_quota_desc`)},{to:`/logs`,icon:(0,H.jsx)(oc,{size:20}),title:e(`nav.logs`),description:e(`dashboard.cta_logs_desc`)},{to:`/system`,icon:(0,H.jsx)(sc,{size:20}),title:e(`nav.system_info`),description:e(`dashboard.cta_system_desc`)}];return(0,H.jsxs)(`div`,{className:K.page,children:[(0,H.jsxs)(`div`,{className:K.ambient,"aria-hidden":`true`,children:[(0,H.jsx)(`span`,{className:K.washTop}),(0,H.jsx)(`span`,{className:K.gridWash})]}),(0,H.jsxs)(`section`,{className:K.hero,ref:f,children:[(0,H.jsxs)(`div`,{className:K.heroCopy,children:[(0,H.jsxs)(`h1`,{className:K.heroTitle,"data-reveal":!0,children:[e(`dashboard.${T.key}`),(0,H.jsx)(`span`,{className:`${K.heroPeriod} ${E?K.heroPeriodLive:``}`,style:{color:T.accent},children:e(`dashboard.hero_period`)})]}),(0,H.jsx)(`p`,{className:K.heroMeta,"data-reveal":!0,children:O}),(0,H.jsxs)(`div`,{className:K.heroActions,"data-reveal":!0,children:[(0,H.jsx)(Ji,{to:`/ai-providers`,className:K.primaryAction,children:e(`dashboard.cta_manage_providers`)}),(0,H.jsxs)(Ji,{to:`/logs`,className:K.ghostAction,children:[e(`dashboard.cta_inspect_logs`),` `,(0,H.jsx)(`span`,{className:K.linkArrow,"aria-hidden":`true`,children:`→`})]})]})]}),(0,H.jsxs)(`div`,{className:K.heroPanel,"data-reveal":`scale`,children:[(0,H.jsxs)(`div`,{className:K.heroPanelTop,children:[(0,H.jsx)(`span`,{className:K.heroPanelLabel,children:e(`dashboard.hero_requests_label`)}),a&&(0,H.jsxs)(`span`,{className:K.liveBadge,children:[(0,H.jsx)(`i`,{className:K.liveDot,"aria-hidden":`true`}),e(`dashboard.hero_live`)]})]}),(0,H.jsx)(`strong`,{className:K.heroFigure,children:a?sx(v):ax}),(0,H.jsx)(`span`,{className:K.heroPanelMeta,children:e(`dashboard.hero_window_meta`,{window:b})}),c.total>0&&(0,H.jsxs)(`div`,{className:K.ratioBar,"aria-hidden":`true`,children:[c.totalSuccess>0&&(0,H.jsx)(`span`,{className:`${K.ratioSegment} ${K.splitSuccess}`,style:{flexGrow:c.totalSuccess}}),c.totalFailure>0&&(0,H.jsx)(`span`,{className:`${K.ratioSegment} ${K.splitFailure}`,style:{flexGrow:c.totalFailure}})]}),(0,H.jsxs)(`div`,{className:K.heroSplit,children:[(0,H.jsxs)(`span`,{className:K.heroSplitItem,children:[(0,H.jsx)(`i`,{className:`${K.splitSwatch} ${K.splitSuccess}`,"aria-hidden":`true`}),e(`stats.success`),(0,H.jsx)(`b`,{children:c.totalSuccess.toLocaleString()})]}),(0,H.jsxs)(`span`,{className:K.heroSplitItem,children:[(0,H.jsx)(`i`,{className:`${K.splitSwatch} ${K.splitFailure}`,"aria-hidden":`true`}),e(`stats.failure`),(0,H.jsx)(`b`,{children:c.totalFailure.toLocaleString()})]})]})]}),(0,H.jsx)(`div`,{className:K.heroWire,children:(0,H.jsx)(Eb,{points:x,ariaLabel:e(`dashboard.hero_spark_label`,{window:b})})})]}),(0,H.jsx)(`section`,{className:K.statsRow,ref:p,"aria-label":e(`dashboard.stats_aria`),children:k.map(e=>(0,H.jsxs)(`article`,{className:K.statTile,"data-reveal":!0,style:{"--tile-accent":e.tone?ox[e.tone]:`var(--border-hover)`},children:[(0,H.jsx)(`span`,{className:K.statLabel,children:e.label}),(0,H.jsx)(`strong`,{className:K.statValue,children:e.value}),e.meter!==null&&e.meter!==void 0&&(0,H.jsx)(Ib,{value:e.meter,tone:e.tone,ariaLabel:e.label,className:K.statMeter}),(0,H.jsx)(`span`,{className:K.statHint,children:e.hint})]},e.key))}),(0,H.jsxs)(`section`,{className:K.section,ref:m,children:[(0,H.jsxs)(`header`,{className:K.sectionHead,children:[(0,H.jsx)(`span`,{className:K.eyebrow,children:e(`dashboard.traffic_eyebrow`)}),(0,H.jsx)(`h2`,{className:K.sectionTitle,children:e(`dashboard.traffic_title`)}),(0,H.jsx)(`p`,{className:K.sectionDescription,children:e(`dashboard.traffic_description`,{window:b})})]}),(0,H.jsx)(`div`,{className:K.panel,children:(0,H.jsx)(Jb,{traffic:c})})]}),(0,H.jsxs)(`section`,{className:K.section,ref:h,children:[(0,H.jsxs)(`header`,{className:K.sectionHead,children:[(0,H.jsx)(`span`,{className:K.eyebrow,children:e(`dashboard.fleet_eyebrow`)}),(0,H.jsx)(`h2`,{className:K.sectionTitle,children:e(`dashboard.fleet_title`)}),(0,H.jsx)(`p`,{className:K.sectionDescription,children:e(`dashboard.fleet_description`)})]}),(0,H.jsx)(`div`,{className:K.panel,children:l.length===0?(0,H.jsx)(`p`,{className:K.emptyNote,children:e(`dashboard.fleet_empty`)}):(0,H.jsx)(`ul`,{className:K.fleetList,children:l.map((t,n)=>(0,H.jsxs)(`li`,{className:K.fleetRow,children:[(0,H.jsx)(`span`,{className:K.fleetRank,"aria-hidden":`true`,children:String(n+1).padStart(2,`0`)}),(0,H.jsxs)(`div`,{className:K.fleetIdentity,children:[(0,H.jsx)(`span`,{className:K.fleetName,children:Ob(t.id,C)}),(0,H.jsx)(`span`,{className:K.fleetMeta,children:e(`dashboard.fleet_credentials`,{value:t.credentials})})]}),(0,H.jsx)(Vb,{points:t.buckets.map(e=>e.success+e.failed),ariaLabel:e(`dashboard.fleet_spark_label`,{provider:Ob(t.id,C)}),className:K.fleetSpark}),(0,H.jsxs)(`div`,{className:K.fleetNumbers,children:[(0,H.jsx)(`span`,{className:K.fleetTotal,children:t.total.toLocaleString()}),(0,H.jsx)(`span`,{className:K.fleetTotalLabel,children:e(`dashboard.fleet_requests`)})]}),(0,H.jsxs)(`div`,{className:K.fleetRate,children:[(0,H.jsx)(`span`,{className:K.fleetRateValue,children:t.successRate===null?ax:zh(t.successRate)}),(0,H.jsx)(Ib,{value:t.successRate,ariaLabel:e(`dashboard.success_rate`),className:K.fleetMeter})]})]},t.id))})})]}),(0,H.jsxs)(`section`,{className:K.detailGrid,ref:g,children:[(0,H.jsxs)(`div`,{className:K.panel,"data-reveal":!0,children:[(0,H.jsxs)(`header`,{className:K.panelHead,children:[(0,H.jsx)(`span`,{className:K.eyebrow,children:e(`dashboard.health_eyebrow`)}),(0,H.jsx)(`h2`,{className:K.panelTitle,children:e(`dashboard.health_title`)})]}),!u||u.total===0?(0,H.jsx)(`p`,{className:K.emptyNote,children:e(`dashboard.health_empty`)}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:K.healthBar,children:[u.active>0&&(0,H.jsx)(`span`,{className:`${K.healthSegment} ${K.healthActive}`,style:{flexGrow:u.active}}),u.unavailable>0&&(0,H.jsx)(`span`,{className:`${K.healthSegment} ${K.healthUnavailable}`,style:{flexGrow:u.unavailable}}),u.disabled>0&&(0,H.jsx)(`span`,{className:`${K.healthSegment} ${K.healthDisabled}`,style:{flexGrow:u.disabled}})]}),(0,H.jsxs)(`ul`,{className:K.healthLegend,children:[(0,H.jsxs)(`li`,{children:[(0,H.jsx)(`i`,{className:`${K.healthKey} ${K.healthActive}`,"aria-hidden":`true`}),e(`dashboard.health_active`),(0,H.jsx)(`b`,{children:u.active.toLocaleString()})]}),(0,H.jsxs)(`li`,{children:[(0,H.jsx)(`i`,{className:`${K.healthKey} ${K.healthUnavailable}`,"aria-hidden":`true`}),e(`dashboard.health_unavailable`),(0,H.jsx)(`b`,{children:u.unavailable.toLocaleString()})]}),(0,H.jsxs)(`li`,{children:[(0,H.jsx)(`i`,{className:`${K.healthKey} ${K.healthDisabled}`,"aria-hidden":`true`}),e(`dashboard.health_disabled`),(0,H.jsx)(`b`,{children:u.disabled.toLocaleString()})]})]}),(0,H.jsxs)(`div`,{className:K.typeBreakdown,children:[(0,H.jsx)(`span`,{className:K.typeBreakdownLabel,children:e(`dashboard.health_by_type`)}),(0,H.jsx)(`ul`,{className:K.typeList,children:u.byType.map(e=>(0,H.jsxs)(`li`,{className:K.typeChip,children:[Ob(e.type,C),(0,H.jsx)(`b`,{children:e.count.toLocaleString()})]},e.type))})]}),(0,H.jsxs)(Ji,{to:`/auth-files`,className:K.panelLink,children:[e(`dashboard.health_link`),` `,(0,H.jsx)(`span`,{className:K.linkArrow,"aria-hidden":`true`,children:`→`})]})]})]}),(0,H.jsxs)(`div`,{className:K.panel,"data-reveal":!0,children:[(0,H.jsxs)(`header`,{className:K.panelHead,children:[(0,H.jsx)(`span`,{className:K.eyebrow,children:e(`dashboard.runtime_eyebrow`)}),(0,H.jsx)(`h2`,{className:K.panelTitle,children:e(`dashboard.runtime_title`)})]}),(0,H.jsx)(`dl`,{className:K.specList,children:A.map(e=>(0,H.jsxs)(`div`,{className:K.specRow,children:[(0,H.jsx)(`dt`,{className:K.specLabel,children:e.label}),(0,H.jsx)(`dd`,{className:`${K.specValue} ${e.mono?K.specMono:``}`,children:e.value})]},e.label))}),j.length>0&&(0,H.jsx)(`ul`,{className:K.toggleList,children:j.map(t=>(0,H.jsxs)(`li`,{className:`${K.togglePill} ${t.on?K.toggleOn:K.toggleOff}`,children:[t.label,(0,H.jsx)(`b`,{children:t.on?e(`common.yes`):e(`common.no`)})]},t.label))}),(0,H.jsxs)(Ji,{to:`/config`,className:K.panelLink,children:[e(`dashboard.runtime_link`),` `,(0,H.jsx)(`span`,{className:K.linkArrow,"aria-hidden":`true`,children:`→`})]})]})]}),(0,H.jsxs)(`section`,{className:K.section,ref:_,children:[(0,H.jsxs)(`header`,{className:K.sectionHead,"data-reveal":!0,children:[(0,H.jsx)(`span`,{className:K.eyebrow,children:e(`dashboard.cta_eyebrow`)}),(0,H.jsx)(`h2`,{className:K.sectionTitle,children:e(`dashboard.cta_title`)})]}),(0,H.jsx)(`div`,{className:K.ctaGrid,children:M.map(e=>(0,H.jsxs)(Ji,{to:e.to,className:K.ctaCard,"data-reveal":!0,children:[(0,H.jsx)(`span`,{className:K.ctaIcon,children:e.icon}),(0,H.jsx)(`span`,{className:K.ctaTitle,children:e.title}),(0,H.jsx)(`span`,{className:K.ctaDescription,children:e.description}),(0,H.jsx)(`span`,{className:K.ctaArrow,"aria-hidden":`true`,children:`→`})]},e.to))})]})]})}var lx={skeleton:`Skeleton-module__skeleton___XePp7`,shimmer:`Skeleton-module__shimmer___vu211`};function ux({width:e,height:t,rounded:n,className:r,style:i,...a}){let o={...i,width:e??i?.width,height:t??i?.height,borderRadius:n??i?.borderRadius};return(0,H.jsx)(`div`,{className:[lx.skeleton,r].filter(Boolean).join(` `),style:o,"aria-hidden":`true`,...a})}var dx=`*`,fx=`https://generativelanguage.googleapis.com`,px=e=>Array.isArray(e)&&e.some(e=>String(e??``).trim()===dx),mx=e=>Array.isArray(e)?e.filter(e=>String(e??``).trim()!==dx):[],hx=e=>[...mx(e),dx],gx=e=>mx(e),_x=(e,t=``)=>{let n=String(e||``).trim();return n?(n=n.replace(/\/?v0\/management\/?$/i,``),n=n.replace(/\/+$/g,``),/^https?:\/\//i.test(n)||(n=`http://${n}`),n):t},vx=e=>{let t=String(e||``).trim().replace(/^\/+/g,``).replace(/:generateContent$/i,``);return t?/^(models|tunedModels)\//i.test(t)?t.split(`/`).map(encodeURIComponent).join(`/`):`models/${encodeURIComponent(t)}`:``},yx=e=>{let t=_x(e);return t?t.endsWith(`/chat/completions`)?t:`${t}/chat/completions`:``},bx=e=>{let t=_x(e);return t?/\/v1\/responses$/i.test(t)?t:/\/v1\/models$/i.test(t)?t.replace(/\/models$/i,`/responses`):/\/v1$/i.test(t)?`${t}/responses`:`${t}/v1/responses`:``},xx=e=>{let t=_x(e,`https://api.anthropic.com`);return t?t.endsWith(`/v1/messages`)?t:t.endsWith(`/v1`)?`${t}/messages`:`${t}/v1/messages`:``},Sx=`2026-05-20`,Cx=e=>({model:e,input:`Hi`}),wx=e=>{let t=_x(e,fx);if(!t)return``;if(/\/v1beta\/interactions$/i.test(t))return t;let n=t.replace(/\/+$/g,``);return n=n.replace(/\/v1beta\/models$/i,``),/\/v1beta$/i.test(n)?`${n}/interactions`:(n=n.replace(/\/v1beta(?:\/.*)?$/i,``),`${n}/v1beta/interactions`)},Tx=(e,t)=>{let n=vx(t);if(!n)return``;let r=_x(e,fx);if(!r)return``;if(/:generateContent$/i.test(r))return r;let i=r.replace(/\/+$/g,``);return/\/v1beta\/models$/i.test(i)?i=i.replace(/\/models$/i,``):/\/v1beta$/i.test(i)||(i=i.replace(/\/v1beta(?:\/.*)?$/i,``),i=`${i}/v1beta`),`${i}/${n}:generateContent`},Ex=e=>e===`claudeApi`?`claude`:e===`interactions`?`gemini-interactions`:e,Dx={success:0,failed:0,recentRequests:[]},Ox=e=>String(e??``).trim().toLowerCase(),kx=(e,t,n,r)=>{if(!String(n??``).trim())return Dx;let i=Ox(t),a=Yv(r,n);return e.get(i)?.get(a)??Dx},Ax=(e,t,n,r)=>kx(e,t,n,r).recentRequests;function jx(e,t,n,r){return ty(Ax(e,t,n,r))}function Mx(e,t,n,r){let i=kx(e,t,n,r);return{success:i.success,failure:i.failed}}function Nx(e,t,n,r){return ey(Ax(e,t,n,r))}var Px=(e,t)=>e.apiKeyEntries?.length?$v(e.apiKeyEntries.map(n=>Ax(t,e.name,n.apiKey,e.baseUrl))):[];function Fx(e,t){return ey(Px(e,t))}function Ix(e,t){return(e.apiKeyEntries||[]).reduce((n,r)=>{let i=kx(t,e.name,r.apiKey,e.baseUrl);return{success:n.success+i.success,failure:n.failure+i.failed}},{success:0,failure:0})}function Lx(e,t){return ty(Px(e,t))}var Rx={card:`ProviderHeaderCard-module__card___-vito`,row:`ProviderHeaderCard-module__row___8x7Kv`,titleArea:`ProviderHeaderCard-module__titleArea___wB2EB`,title:`ProviderHeaderCard-module__title___gZU4U`,quickStartCard:`ProviderHeaderCard-module__quickStartCard___R5pLj`,btn:`ProviderHeaderCard-module__btn___V-Ldg`,subtitle:`ProviderHeaderCard-module__subtitle___ahXHM`,actions:`ProviderHeaderCard-module__actions___mjRJJ`,btnOutline:`ProviderHeaderCard-module__btnOutline___P7piG`,btnPrimary:`ProviderHeaderCard-module__btnPrimary___-U6YA`,chips:`ProviderHeaderCard-module__chips___kt9b-`,chip:`ProviderHeaderCard-module__chip___U2QSK`,chipPrimary:`ProviderHeaderCard-module__chipPrimary___u8TVQ`,chipAmber:`ProviderHeaderCard-module__chipAmber___1vTiO`,spin:`ProviderHeaderCard-module__spin___JVOx1`,"pwc-spin":`ProviderHeaderCard-module__pwc-spin___Ehj71`,pwcSpin:`ProviderHeaderCard-module__pwc-spin___Ehj71`,btnIcon:`ProviderHeaderCard-module__btnIcon___zQlLw`};function zx({title:e,totalActive:t,totalResources:n,providerFamilies:r,updatedAtLabel:i,isFetching:a=!1,isNewDisabled:o=!1,showNewAction:s=!0,showSummary:c=!0,newLabel:l,variant:u,onRefresh:d,onNew:f}){let{t:p}=ss();return(0,H.jsxs)(`section`,{className:[Rx.card,u===`quickStart`?Rx.quickStartCard:``].filter(Boolean).join(` `),children:[(0,H.jsxs)(`div`,{className:Rx.row,children:[(0,H.jsx)(`div`,{className:Rx.titleArea,children:(0,H.jsx)(`h1`,{className:Rx.title,children:e??p(`providersPage.header.title`)})}),(0,H.jsxs)(`div`,{className:Rx.actions,children:[(0,H.jsxs)(`button`,{type:`button`,className:`${Rx.btn} ${Rx.btnOutline}`,onClick:d,disabled:a,"aria-label":p(a?`providersPage.actions.syncing`:`providersPage.actions.refresh`),children:[(0,H.jsx)(`span`,{className:`${Rx.btnIcon} ${a?Rx.spin:``}`.trim(),children:a?(0,H.jsx)(Ps,{size:16}):(0,H.jsx)(Cs,{size:16})}),(0,H.jsx)(`span`,{children:p(a?`providersPage.actions.syncing`:`providersPage.actions.refresh`)})]}),s?(0,H.jsxs)(`button`,{type:`button`,className:`${Rx.btn} ${Rx.btnPrimary}`,onClick:f,disabled:o,children:[(0,H.jsx)(ks,{size:16}),(0,H.jsx)(`span`,{children:l??p(`providersPage.actions.new`)})]}):null]})]}),c?(0,H.jsxs)(`div`,{className:Rx.chips,children:[(0,H.jsx)(`span`,{className:`${Rx.chip} ${Rx.chipPrimary}`,children:p(`providersPage.header.activeResources`,{active:t,total:n})}),(0,H.jsx)(`span`,{className:Rx.chip,children:p(`providersPage.header.providerFamilies`,{count:r})}),(0,H.jsx)(`span`,{className:Rx.chip,children:p(`providersPage.header.updatedAt`,{time:i})})]}):null]})}var Bx=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eClaude%3c/title%3e%3cpath%20d='M4.709%2015.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0%2011.784l.055-.352.48-.321.686.06%201.52.103%202.278.158%201.652.097%202.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686%201.908%201.476%202.491%201.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97%202.97%200%2001-.104-.729L6.283.134%206.696%200l.996.134.42.364.62%201.414%201.002%202.229%201.555%203.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286%201.851-.559%202.903-.364%201.942h.212l.243-.242.985-1.306%201.652-2.064.73-.82.85-.904.547-.431h1.033l.76%201.129-.34%201.166-1.064%201.347-.881%201.142-1.264%201.7-.79%201.36.073.11.188-.02%202.856-.606%201.543-.28%201.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061%201.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093%201.068%202.006%201.81%202.509%202.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649%202.345%203.521.122%201.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674%207.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434%201.967-2.18%202.945-1.726%201.845-.414.164-.717-.37.067-.662.401-.589%202.388-3.036%201.44-1.882.93-1.086-.006-.158h-.055L4.132%2018.56l-1.13.146-.487-.456.061-.746.231-.243%201.908-1.312-.006.006z'%20fill='%23D97757'%20fill-rule='nonzero'%3e%3c/path%3e%3c/svg%3e`,Vx=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eCodex%3c/title%3e%3cpath%20d='M19.503%200H4.496A4.496%204.496%200%20000%204.496v15.007A4.496%204.496%200%20004.496%2024h15.007A4.496%204.496%200%200024%2019.503V4.496A4.496%204.496%200%200019.503%200z'%20fill='%23fff'%3e%3c/path%3e%3cpath%20d='M9.064%203.344a4.578%204.578%200%20012.285-.312c1%20.115%201.891.54%202.673%201.275.01.01.024.017.037.021a.09.09%200%2000.043%200%204.55%204.55%200%20013.046.275l.047.022.116.057a4.581%204.581%200%20012.188%202.399c.209.51.313%201.041.315%201.595a4.24%204.24%200%2001-.134%201.223.123.123%200%2000.03.115c.594.607.988%201.33%201.183%202.17.289%201.425-.007%202.71-.887%203.854l-.136.166a4.548%204.548%200%2001-2.201%201.388.123.123%200%2000-.081.076c-.191.551-.383%201.023-.74%201.494-.9%201.187-2.222%201.846-3.711%201.838-1.187-.006-2.239-.44-3.157-1.302a.107.107%200%2000-.105-.024c-.388.125-.78.143-1.204.138a4.441%204.441%200%2001-1.945-.466%204.544%204.544%200%2001-1.61-1.335c-.152-.202-.303-.392-.414-.617a5.81%205.81%200%2001-.37-.961%204.582%204.582%200%2001-.014-2.298.124.124%200%2000.006-.056.085.085%200%2000-.027-.048%204.467%204.467%200%2001-1.034-1.651%203.896%203.896%200%2001-.251-1.192%205.189%205.189%200%2001.141-1.6c.337-1.112.982-1.985%201.933-2.618.212-.141.413-.251.601-.33.215-.089.43-.164.646-.227a.098.098%200%2000.065-.066%204.51%204.51%200%2001.829-1.615%204.535%204.535%200%20011.837-1.388zm3.482%2010.565a.637.637%200%20000%201.272h3.636a.637.637%200%20100-1.272h-3.636zM8.462%209.23a.637.637%200%2000-1.106.631l1.272%202.224-1.266%202.136a.636.636%200%20101.095.649l1.454-2.455a.636.636%200%2000.005-.64L8.462%209.23z'%20fill='url(%23lobe-icons-codex-fill)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-codex-fill'%20x1='12'%20x2='12'%20y1='3'%20y2='21'%3e%3cstop%20stop-color='%23B1A7FF'%3e%3c/stop%3e%3cstop%20offset='.5'%20stop-color='%237A9DFF'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%233941FF'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e`,Hx=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGemini%3c/title%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='%233186FF'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-fill-0)'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-fill-1)'%3e%3c/path%3e%3cpath%20d='M20.616%2010.835a14.147%2014.147%200%2001-4.45-3.001%2014.111%2014.111%200%2001-3.678-6.452.503.503%200%2000-.975%200%2014.134%2014.134%200%2001-3.679%206.452%2014.155%2014.155%200%2001-4.45%203.001c-.65.28-1.318.505-2.002.678a.502.502%200%20000%20.975c.684.172%201.35.397%202.002.677a14.147%2014.147%200%20014.45%203.001%2014.112%2014.112%200%20013.679%206.453.502.502%200%2000.975%200c.172-.685.397-1.351.677-2.003a14.145%2014.145%200%20013.001-4.45%2014.113%2014.113%200%20016.453-3.678.503.503%200%20000-.975%2013.245%2013.245%200%2001-2.003-.678z'%20fill='url(%23lobe-icons-gemini-fill-2)'%3e%3c/path%3e%3cdefs%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-fill-0'%20x1='7'%20x2='11'%20y1='15.5'%20y2='12'%3e%3cstop%20stop-color='%2308B962'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%2308B962'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-fill-1'%20x1='8'%20x2='11.5'%20y1='5.5'%20y2='11'%3e%3cstop%20stop-color='%23F94543'%3e%3c/stop%3e%3cstop%20offset='1'%20stop-color='%23F94543'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3clinearGradient%20gradientUnits='userSpaceOnUse'%20id='lobe-icons-gemini-fill-2'%20x1='3.5'%20x2='17.5'%20y1='13.5'%20y2='12'%3e%3cstop%20stop-color='%23FABC12'%3e%3c/stop%3e%3cstop%20offset='.46'%20stop-color='%23FABC12'%20stop-opacity='0'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e`,Ux=`data:image/svg+xml,%3csvg%20fill='%23000000'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M21.55%2010.004a5.416%205.416%200%2000-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59%205.59%200%200010.831%201C8.39.995%206.224%202.546%205.473%204.838A5.553%205.553%200%20001.76%207.496a5.487%205.487%200%2000.691%206.5%205.416%205.416%200%2000.477%204.502c1.217%202.09%203.662%203.165%206.05%202.66A5.586%205.586%200%200013.168%2023c2.443.006%204.61-1.546%205.361-3.84a5.553%205.553%200%20003.715-2.66%205.488%205.488%200%2000-.693-6.497v.001zm-8.381%2011.558a4.199%204.199%200%2001-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71%200%2000.364-.623v-6.176l1.877%201.069c.02.01.033.029.036.05v5.115c-.003%202.274-1.87%204.118-4.174%204.123zM4.192%2017.78a4.059%204.059%200%2001-.498-2.763c.032.02.09.055.131.078l4.44%202.53c.225.13.504.13.73%200l5.42-3.088v2.138a.068.068%200%2001-.027.057L9.9%2019.288c-1.999%201.136-4.552.46-5.707-1.51h-.001zM3.023%208.216A4.15%204.15%200%20015.198%206.41l-.002.151v5.06a.711.711%200%2000.364.624l5.42%203.087-1.876%201.07a.067.067%200%2001-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417%203.54l-5.42-3.088L14.896%207.6a.067.067%200%2001.063-.006l4.489%202.557c1.998%201.14%202.683%203.662%201.529%205.633a4.163%204.163%200%2001-2.174%201.807V12.38a.71.71%200%2000-.363-.623zm1.867-2.773a6.04%206.04%200%2000-.132-.078l-4.44-2.53a.731.731%200%2000-.729%200l-5.42%203.088V7.325a.068.068%200%2001.027-.057L14.1%204.713c2-1.137%204.555-.46%205.707%201.513.487.833.664%201.809.499%202.757h.001zm-11.741%203.81l-1.877-1.068a.065.065%200%2001-.036-.051V6.559c.001-2.277%201.873-4.122%204.181-4.12.976%200%201.92.338%202.671.954-.034.018-.092.05-.131.073l-4.44%202.53a.71.71%200%2000-.365.623l-.003%206.173v.002zm1.02-2.168L12%209.25l2.414%201.375v2.75L12%2014.75l-2.415-1.375v-2.75z'%3e%3c/path%3e%3c/svg%3e`,Wx=`data:image/svg+xml,%3csvg%20fill='%23ffffff'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M21.55%2010.004a5.416%205.416%200%2000-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59%205.59%200%200010.831%201C8.39.995%206.224%202.546%205.473%204.838A5.553%205.553%200%20001.76%207.496a5.487%205.487%200%2000.691%206.5%205.416%205.416%200%2000.477%204.502c1.217%202.09%203.662%203.165%206.05%202.66A5.586%205.586%200%200013.168%2023c2.443.006%204.61-1.546%205.361-3.84a5.553%205.553%200%20003.715-2.66%205.488%205.488%200%2000-.693-6.497v.001zm-8.381%2011.558a4.199%204.199%200%2001-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71%200%2000.364-.623v-6.176l1.877%201.069c.02.01.033.029.036.05v5.115c-.003%202.274-1.87%204.118-4.174%204.123zM4.192%2017.78a4.059%204.059%200%2001-.498-2.763c.032.02.09.055.131.078l4.44%202.53c.225.13.504.13.73%200l5.42-3.088v2.138a.068.068%200%2001-.027.057L9.9%2019.288c-1.999%201.136-4.552.46-5.707-1.51h-.001zM3.023%208.216A4.15%204.15%200%20015.198%206.41l-.002.151v5.06a.711.711%200%2000.364.624l5.42%203.087-1.876%201.07a.067.067%200%2001-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417%203.54l-5.42-3.088L14.896%207.6a.067.067%200%2001.063-.006l4.489%202.557c1.998%201.14%202.683%203.662%201.529%205.633a4.163%204.163%200%2001-2.174%201.807V12.38a.71.71%200%2000-.363-.623zm1.867-2.773a6.04%206.04%200%2000-.132-.078l-4.44-2.53a.731.731%200%2000-.729%200l-5.42%203.088V7.325a.068.068%200%2001.027-.057L14.1%204.713c2-1.137%204.555-.46%205.707%201.513.487.833.664%201.809.499%202.757h.001zm-11.741%203.81l-1.877-1.068a.065.065%200%2001-.036-.051V6.559c.001-2.277%201.873-4.122%204.181-4.12.976%200%201.92.338%202.671.954-.034.018-.092.05-.131.073l-4.44%202.53a.71.71%200%2000-.365.623l-.003%206.173v.002zm1.02-2.168L12%209.25l2.414%201.375v2.75L12%2014.75l-2.415-1.375v-2.75z'%3e%3c/path%3e%3c/svg%3e`,Gx=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20width='24px'%20height='24px'%3e%3cpath%20d='M20,13.89A.77.77,0,0,0,19,13.73l-7,5.14v.22a.72.72,0,1,1,0,1.43v0a.74.74,0,0,0,.45-.15l7.41-5.47A.76.76,0,0,0,20,13.89Z'%20style='fill:%23669df6'/%3e%3cpath%20d='M12,20.52a.72.72,0,0,1,0-1.43h0v-.22L5,13.73a.76.76,0,0,0-1,.16.74.74,0,0,0,.16,1l7.41,5.47a.73.73,0,0,0,.44.15v0Z'%20style='fill:%23aecbfa'/%3e%3cpath%20d='M12,18.34a1.47,1.47,0,1,0,1.47,1.47A1.47,1.47,0,0,0,12,18.34Zm0,2.18a.72.72,0,1,1,.72-.71A.71.71,0,0,1,12,20.52Z'%20style='fill:%234285f4'/%3e%3cpath%20d='M6,6.11a.76.76,0,0,1-.75-.75V3.48a.76.76,0,1,1,1.51,0V5.36A.76.76,0,0,1,6,6.11Z'%20style='fill:%23aecbfa'/%3e%3ccircle%20cx='5.98'%20cy='12'%20r='0.76'%20style='fill:%23aecbfa'/%3e%3ccircle%20cx='5.98'%20cy='9.79'%20r='0.76'%20style='fill:%23aecbfa'/%3e%3ccircle%20cx='5.98'%20cy='7.57'%20r='0.76'%20style='fill:%23aecbfa'/%3e%3cpath%20d='M18,8.31a.76.76,0,0,1-.75-.76V5.67a.75.75,0,1,1,1.5,0V7.55A.75.75,0,0,1,18,8.31Z'%20style='fill:%234285f4'/%3e%3ccircle%20cx='18.02'%20cy='12.01'%20r='0.76'%20style='fill:%234285f4'/%3e%3ccircle%20cx='18.02'%20cy='9.76'%20r='0.76'%20style='fill:%234285f4'/%3e%3ccircle%20cx='18.02'%20cy='3.48'%20r='0.76'%20style='fill:%234285f4'/%3e%3cpath%20d='M12,15a.76.76,0,0,1-.75-.75V12.34a.76.76,0,0,1,1.51,0v1.89A.76.76,0,0,1,12,15Z'%20style='fill:%23669df6'/%3e%3ccircle%20cx='12'%20cy='16.45'%20r='0.76'%20style='fill:%23669df6'/%3e%3ccircle%20cx='12'%20cy='10.14'%20r='0.76'%20style='fill:%23669df6'/%3e%3ccircle%20cx='12'%20cy='7.92'%20r='0.76'%20style='fill:%23669df6'/%3e%3cpath%20d='M15,10.54a.76.76,0,0,1-.75-.75V7.91a.76.76,0,1,1,1.51,0V9.79A.76.76,0,0,1,15,10.54Z'%20style='fill:%234285f4'/%3e%3ccircle%20cx='15.01'%20cy='5.69'%20r='0.76'%20style='fill:%234285f4'/%3e%3ccircle%20cx='15.01'%20cy='14.19'%20r='0.76'%20style='fill:%234285f4'/%3e%3ccircle%20cx='15.01'%20cy='11.97'%20r='0.76'%20style='fill:%234285f4'/%3e%3ccircle%20cx='8.99'%20cy='14.19'%20r='0.76'%20style='fill:%23aecbfa'/%3e%3ccircle%20cx='8.99'%20cy='7.92'%20r='0.76'%20style='fill:%23aecbfa'/%3e%3ccircle%20cx='8.99'%20cy='5.69'%20r='0.76'%20style='fill:%23aecbfa'/%3e%3cpath%20d='M9,12.73A.76.76,0,0,1,8.24,12V10.1a.75.75,0,1,1,1.5,0V12A.75.75,0,0,1,9,12.73Z'%20style='fill:%23aecbfa'/%3e%3c/svg%3e`,Kx=`data:image/png;base64,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`,qx=`data:image/png;base64,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`,Jx=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABb0AAAW1CAYAAAAp6324AAAACXBIWXMAAGunAABrpwHCCSECAAAgAElEQVR4nOzcAW2jRxhF0S+VAQTCMrABWMouBwMohDLoLoNAMABzaCoZQMwgEJbBX5VBlG2izs05EOZ5ZOnamrtt2wYAAAAAAAp+syIAAAAAABWiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZ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GaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AAAAAAAZojcAAAAAABmiNwAAAAAAGaI3AADAP9uxAxoAAACEQfZPbY8PYgAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAADKkNwAAAAAAGdIbAAAAAIAM6Q0AAAAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAADKkNwAAAAAAGdIbAAAAAIAM6Q0AAAAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAADKkNwAAAAAAGdIbAAAAAIAM6Q0AAAAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAADKkNwAAAAAAGdIbAAAAAIAM6Q0AAAAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAADKkNwAAAAAAGdIbAAAAAIAM6Q0AAAAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAADKkNwAAAAAAGdIbAAAAAIAM6Q0AAAAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAADKkNwAAAAAAGdIbAAAAAIAM6Q0AAAAAQIb0BgAAAAAgQ3oDAAAAAJAhvQEAAAAAyJDeAAAAAABkSG8AAAAAABq2HVN85TlnCz/bAAAAAElFTkSuQmCC`,Yx=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAHM20lEQVR42uydh3dd1bWv9S+98e599yaBFJIQCCSAuyFwk5sQegcDBlwx2FaXLfduuchWL+699yrJvfeucsree5Xfm2utvY/OkWVZkguQzIzxjSPLxGgfIf++Nddcc2UByGIYhmEY5t8LfhMYhmEYhgWAYRiGYRgWAIZhGIZhWAAYhmEYhmEBYBiGYRiGBYBhGIZhGBYAhmEYhmFYABiGYRiGYQFgGIZhGIYFgGEYhmEYFgCGYRiGYVgAGIZhGIZhAWAYhmEYhgWAYRiGYRgWAIZhGIZhWAAYhmEYhmEBYBiGYRiGBYBhGIZhWAAYhmEYhmEBYBiGYRiGBYBhGIZhGBYAhmEYhmFYABiGYRiGYQFgGIZhGIYFgGEYhmEYFgCGYRiGYVgAGIZhGIZhAWAYhmEYhgWAYRiGYRgWAIZhGIZhWAAYhmEYhmEBYBiGYRiGBYBhGIZhGBYAhmEYhmFYABiGYRiGBYBhGObHgNaa3weGYQFgGOZfPvDTPlZKZwWByJJSZoFFgGFYABiG+ddEUcgrek1I4HorcOGGxPXbPrxkEkpJfo8YhgWAYZh/KTSyJK32pUJWw6UkVhxow/LDGnWHJXafTOBWcxzCT4K3AxiGBYBhmH+FFb9SFPoqK6Dgv5ZUqNnZgm/mn8HcPUlUNknUNARY1eTh5JU4fN+D0lwFYBgWAIZhfrKrfRP8Sd9HPOnjWquPbacCjCu/g/cnX8asbQlUNwlUNPqoPBJH9REfO87EkZASmgWAYVgAGIb5aXb0SyGzEvEkWoiTNyRKN7Xhqzm38PakO5i4TqDyEK38D/moORygpsFHdaPEyhMemgNN7sBbAAzDAsAwzE+OQIisWCyBO20C2475+La0BW9OieP1KTeQvyKOZYeBmoMS1YcC1B4WFiMAy455uJ6UkOEpAc3vJcOwADAM89MhFovhyi1a3e/28cn0Vvy1KI7Xpnj4psZH2SGFqn0SVQfp1Ya/tFQ3KtQ2eTjb7MOFP1cBGIYFgGGYn8S5fq1Vlic19p/3ULDcrPpjeKNY4B+TE/hsaRzzKfQrDyuU02vFIScANRT+NfS5qiaN6qYkTt32nABofk8ZhgWAYZgfMdru+ZvAbgm0XcW/X9KGlycHeHWSxj+KFT6Y2YZZuxXKKOTLKPANpgfACEB1A63+D2sSAKCyMYEj1xNQ/L4yDAsAwzA//iN+5vVas8bk1W34+8wWDJgU4GUK/79S+L85KYYpm2nVT+G/lIK//JATgAojAYdd+FcfBqoagYqGJPZdjNkeAPAWAMOwADAM8+M85qeVzvKUxsGLAUbPv41B+Un8TzGt/CcKvFpEq/+iBHJXeFjaoFB6QNjgzxQAsw0AKwDVJADlhz1sPRtDAL4bgGFYABiG+dEd8bOjfBWybrdpLDvo471pdzCYwn9QEfBakcT/Fgq8npfEiFIPpRT4FY2eDfzyUAAqrAAolJMYVBBVhBMAH+tPxeHB/I8FgGFYABiG+fEIgNR2nO/ZmwLFy9rw+mQfgyZqDC4mJmj8T5HC3wva8MWcFpTs1hT+CpVNAQW9sKFvqAxfyxrM1oBEVaNEdZMmIRBYc8pDTLEAMAwLAMMwP4JVfzjcR0v7euxygBHzb6JfQQL9KfwHTiKKgZcnAq8VSvy96DomrvOw5BBQRpQ3kAg0uD3/KtP9fygUgEYnAJUkALWNGlX0uVUnBFqELQHwe88wLAAMw/xg5X6l3Cx/+th0+a9qSOKtyZcxoPAWBk6UeHUC8EqxwIApHl4upl+TAGSvlFhKK/pSE/IHSQAOoVsCUHNYY/lRgRtxzRcCMQwLAMMwPyhKZ8UTCscvC0xf6+MfE+MYXCQwaKKPV4oUXivSeLU4iYFTWjF4Sgxf10osphV/OYX60kP0SgJQQQJQaUv/RgDcEUDbE0BSYASgwoR/I0gAgOVNAa60CJhRwiwBDMMCwDDMD7D6NyV/0/DXcNrHd4tv43+KPAzOV3i5QOPlQlr5FxETFP5CAvDypFa8XxrDXAr/pUYAaJVfRgJQQav6SksoAIcFvTpsX0CjEwDTBFhLAlDf4OPszQSEECwADMMCwDDMD1L+h87ac0Hhg+m38FpeEq8WagwugCUlAEUKrxQn8MbMNkzZJlFK4e/K/joUABWGvwqP/WUKQCX981UNsBWAenqtPZDEiasx+EHA2wAMwwLAMMzjOduv7Qx+pVVWzNNYsT+Ot4qvUOB7+IsJ/DD4U5AA/GWiwmuTPHy/Qrlyvz3u59l9/+4IgAn/SADqiOqDCRy70gpfCBYAhmEBYBjm0Yd/1O2vsq43ayxYF8frRc14mcJ/cBGt/Aszw9987uUJGq9NlPiyIkBJONGv5qC2TX6VpvHvcHQCQKWoDCcARkQCUNvgBKDyUBKNl1uR4AoAw7AAMAzzeEr+ZrLfuRsSheVJ/D0viVcKFQZR2A+klf+gDgJgKZB4f34Ss/ZrlDUpO9a35pBZxVOopwmAGfgTUdmxIpASAE0CYCoGHg5ebkPcDxCNGWYYhgWAYZhHgDniJ6CzGs/5GDqtBYOyhQ39Afk6hfl1ehXglQKFN6YmMGWHxJJGYaf8mdBPp6JD+HcmANXhKOAacxLAXhbkYc/5NsQ8QQLAFQCGYQFgGObRrPwpZH2psPWkhw+m3cGAAh8DJ5rQJwHIu1sATCXAvP51kofctQFKzV6/ueb3oE6t/A2VPRSAaiMAR0gAGnwSgATavABKSv4eMQwLAMMwDzX4YW7y01ktcY26PT7enNKKfvke+hcFhET/Qo3+BRr9iP4U+APMVkAkAPT7H5bGsGBv2PhHVB5I46BOXfpTdthcAhTYCkHH8E/fAqgykwBJAJY0COw8ZwRAQCoWAIZhAWAY5uEd77PT/XTW5VaB6ata8L+FSfQpkOg7QaFfIQlAoXKkCYCVgCKFQfkab89SKN5B4Z4W+hVEefhacZcAiPsKQCUJQKUVAIltp0kAEqYCwD0ADMMCwDDMg+/1U+gnkh6UH+DSrQBjlt7EgNw2vGqCngK/T5FPgS/C0I9w4W8+17dQ2FMB+Ws0lh6k1f8+jYr97RJgqgGOdAFw3FcAjkhUHDX9BAobj8fRGvchuQmQYVgAGIZ5MMyqP+H5uNWWxKmrAqMXXcOAvFZ7ha8p7w/Kl4SgVb8kGXDBP8gO/VEYGFYBBuYJfFEa2Bn/FfuEDf9IACoOaBf8ET0WABEKgCQBiCGW5FMADMMCwDDMA6KzTDm9zVfYdi6JT2bfppV/DIMKpd3Tj4762c7/qNxPH/8lT+PVXEUiQBJAq/8hswOU7ARK9yuU7pNYut9RYTigMgXgoOnoVz0QgAAVxwIsaTIC0AZPaPCVwAzDAsAwTG/RpvQvs2JCYd3RBN6afRN9ipLob4b7ULAPDs/4Dwob/QYUOUzD3+ACiVfM7P/8AH+f0oqJ6wUW74OllFhKIrB0PwX3AVq9H5B3C4C9D8BR3kn431MATpAAKCMA/P1jGBYAhmF60fCnsrTw0SbNdL4Y3px0G68UBug7UVkBeDkt/G0VoCgdjYETfAwu1BiUHcd39T5KKPAX7SUB2OuqAEv3i/sIQDvmboD7bQGUhwKw4USMBAAsAAzDAsAwTM9X/jpLS5EVBDKrep+Hv+S3YlCej1fzBK3uJQYUmI7+9tK/pTANEoAXi5Lom+/ho3lJlJiV/wHtwn+vxpL9ng1/IwHlJvytAKgM7Mo/DP+KbghA2TESikYSgJNxKwBmNDF/LxmGBYBhmO42/JnJfkpm3WgTqNqSwF/zWzAgT+Hl3PbQt8N9wgE/nVIEvJifxGtTb2H6Lgr+/Sb4Xfl/Cb0uSesBKDugHAeFxTQARlTco/SfLgBmEFBVE/3/j9Gf16hIAJJcAWAYFgCGYXoc/vR6oVVg8qoW/K0wgT4FAn1p1T+YJGBgXjjlLz8a9atSmG5/JwDu83+dGEfOOh8lhwQW0qq/dK+TACcAZgtAZwrAAfr4oOylAGiUH6U/o4EE4ISHJD2E5u8nw7AAMAzTjT1/5biRUChY3oxXJyQxODdc6ecLS/p8/3YBkI5o6p/55/MCjCwTtPJXKNmXxKJ9AUop9JdkCIDqIADKjgXuvgBIVNGKv5pC31QAlh4FyhuBDSd9xANuAmQYFgCGYe6L1MgSxIW4RHb1HQzKSaBvvk+rfomXc7Rd/Q8oCMKw1x1W/04AzOQ/O/KXROGd2QnM2Krtfv/ivRKL9hoBEBT+2pESANVLATDHAgUJgCQBEOEWAFB1BFh3IoFWX7EAMAwLAMMwXZX8zcAck5dHrwh8tfg6BubE0Z9Cv18Y9gPzYEv/A1OBr9tX/VH454eNgSQBrxW12ot+Fpp9/z0GkgDCVgDScFsAuhcC4MK/8nBAAhCQAPgkAPTPHwVqiLVH42j1FG8BMAwLAMMwnYY/BX/cSyIpAzRdEBg1vxkDs5MYkAsMyKHQJwaZj/PQSelf3sXAfA+Dc1rwTVkcc/eEHf+hABiW3FMAInooAA2RAHhOAGj1X3dUY93RGFo83gJgGBYAhmE6Df9kMok7LS1ovCAxdGozXs320SfPQ99ciUHZwOBsjcG5sBWAzgRgoCHVGKgwOC+J92bcwpzdGoso4F3wd0cA0HMBMGX/RpEhABVGAJoENhxrQzMJgOLvM8OwADAMk9bsJ3WWnxCItXrYekbh7SmtGDTex0AK+76mnG/O+udoDMpRGJCr6Nch+e6GP4dyAhBtEeQn8EbxNUzfLOyUv8W7M1f/9xcApLYBylMSIEgARLjiNx3/OkTZvX8jAJVNBp/C3wlALQnBxuOtuJNUMNsb/P1mGBYAhmGi1T8JQJICcktjEm9Pb7Wr/v55br+/v1nN50oHfa5/rrS/ZyEB6Bde8duvQKf6AQaZI38TmvF9TRsW7qDV/y4K/gcSAJ0mAEG4398+9Md0/jukvQXQjgE2r01A3eEkNh2/gxsxCSFZABiGBYBhGItQOiugYFzfmMCH027Rqt8PA15gQAGRK1ICEAV/P1sVIDlI2wIwAvBSobniF3i5wMeQBTHMofAv2a6x+KEJgNkCiC4B0u0C0OAEoLpJdRAAjfpDMWw54QQgEHwbIMOwADAMk6W1tsf9Vh+J481pt/FqfgIDsk24g8LdCICRgcBVA9IEoG8nAmA+ftGM+52g8drEGArXSczbpe1tf4v2OBY/FAFQmQLQGJX/7xaAiiMatSQAW0/exs24QCAlf98ZhgWAYf6NMXP9tY+kCLD8sMD/FIdX+RaosMO/vckvVe63+/46Dfe59CZAUzXok92CEfUB5uwD5u3WmL9bYQG9LjSNgBT6i/aGRwB7KgBWAlTYAyDCpj+Z2vs3VDdJIrDYy4COmpkACWw51UwCEJAAcAWAYVgAGObfOPyhVVYsKVGzN4ZXC29hYAGFf6EOZ/o7oqDvZ1H2tSsBMA2Ag/MCfDg/gRkU9nN2GwFQmLdHYP4eiRJi4R71EAQgOvKXHv5BhgDUElVHAnsXQGWjh60nW3ErLiC4AsAwLAAM8+9c9vcDjYrtCfytuAV9cpLob/b5UwN9nAD0y6XQz1HoS699QxFIF4ABuYQZBpRC4vXJASZs1Ji9Xdm9/5KdJAC7A8v83QILrARIEgDVOwE4aG4BDLcAuiUAAhX0e1tIAO4kAkgWAIZhAWCYf9fwN2fhq3b4eCW/Ff3yzRn/JIV7Wmd/tPLPcQLQp0sBcLJgVv+vFHr4rk5h9jZgPgnAwm0SC0gC5u804f8oBEDdXwCOkwDQx5tIAFqSggWg438PGR9r+2uelsiwADDMv1TZX1H4y6xkQIFK4T8oz6cVvrbB3idXoo/Zu89zQZ8irAD0v6v0nyYBRgwKNV6aEMe7C9swYycF/nZQ8IeYUwA7JUp2KSwgFnboBWhvCJSWlAwc0CHSsvSgspQd0mlNgNHs/yBDAGqOKNQ1KVTT6r/8RIDKoyQAp+JoSbAApI590n8PQoosoYR7tUiLtK/CvprhUPx+MSwADPMTRdJf5kr6uBOnFfimJP5SmEB/Cv9+dmUPEgCSAFr5m5V+Ot0RgOi44F8nxzFujcCsHUBJRvgry4Jd+vELwFESgOPCNgNuPp0gAQig/s0FIFrh+1rijpfEjUQSV9qI1gSuNMdxmbhKH9+K+2hN+ghEwBUBhgWAYX5auIE3ZkXXFo+hzQ+wYGMCr03w8JKZ5JcDCni0C0CH8O9KAGzpP8Q0AQ7MjmNMZYBZ24A5pvy/zZ39dwKgQwHofgWgtBsCUNHQtQDUpgsAvW4+awTAx7/bilZrt+0TBb8kEkLjYluAQ9di2HMlgW2XPWy94mPbFQ87rySx+5qHA7cCnGvx4QUBNE9PZFgAGOantdcvApEVjydxq1Vi9ppmDMxtxgs5tNLPBgW7tlsA/fKMCLhyf2fcWwCMRAg7NOizEoG5W+Aw4b/NNABS4O9QrvxPdEcAFhsJoPBf3IUALCUBKCcBKG8wEtC1AFQdpd8/JlF9JMDOc3G0xr1/eQEwgQ/dvqdv+j3i9IvrnsKFVh9HbnrYdr4Na8/GsOqch1Xnfay5EGDtxQAbLklsuiSw7arEDuL4LR9J32cBYFgAGOans98fXezj4/JtgVmrkugzNoEXxnnoM16gb9jcZySgf24oA6nP3U1nK/9B9OtBuR5eL25B8XqJuTvd6n+uafrbHgmA7JEALNorbfh3FIClhGkEtAJwWKOs4f4CYKg6ZvoASAAaPRy55FGYiX/JuwDM99ru1xvpk8iirEdcalylDxruCGy6GMeqUzEsO9GK5SfjWH7Gx/LzCssvgtBYTcG/5qLA+ssKGy9LbL4ssP2awDGShYTHAsCwADDMT2v1L33cSggs3BpgYEHMHvEz5Xp7tC/E9AH0RADs/z+cBzCAXl8rjGF4uY8ZW5Eq/5sKwLztEvN3CJQYdooeC8Ci/d0TgHISgPIGgcp7CcBRjeqjZjpgEsevJCHVv+B+PsmeVDqrLVC43CJw/IbCvksK6896qD0VR/WJGGpOxFFHH9ed9lB/WmDZWY3l54AVFwgSgFUXJVZT8K8jAdhwxUnA1stJnL7j0XumuAeAYQFgmJ/KkB+zIjSBMH9LDP8zNY4XCzx7aU90sU8GPRQAMwK4bwF9Llvio9k+ijdozNgCzCRmbzUSoEkCZLsE9KIC8LAEoPoIHE0eztz08a8S+G5PnySPPm71Jc43e9hz2cOK4wnUHQ1QQ9JTecxH+QkfFSd9VJ4SqDotUU3UnNaoOwuSAOIcicAFhVUXSAAuCaw1EkDysOGywLZLcVyJC3D4MywADPNTWfkrkeVTSpRu9zC4oAX9JvjoX+iHE/467+SPBv7cjaTfk3a/3+EuAeqXJ/Aq/Znj6jWmbhIkAJoEQJMAaCsAc7YrzDUCEErAPUWAgn/x3ggzIdCU/7XFhb9K6wEgDhGHo/B3AlBxWKTGAJuZAOYugJQA2AoAUNmUwLnbAX6a39MQ07uglW3uTNJvXI5r7L2UwMqjLahoaEZpQwxLmnxUHRMkAIF9LTuhUHZSoeKUJgmg94LCv+YMCcAZuCrAeSMAEisvSqwy2wAkAeuMBFwMsPtKAncCzQLAsAAwzE8iLJTOaqWVf+n2GIV/HIMnaAwqhA3/3gtA+02AqRsBcz18siiO4s0a07coCn9BqE4EQFH436cSsDeTxftguVsABAkAhdphmRKA9h4AmXYZkM4QgCoSgIqmOC60/IQEwN7ToNJAli81bnoaR25JrD3VRu/JbZTsb8OCRh+LjkgsbhJYfERgib3/IEDFcXqfjtN7dMKEv0IliUDNaYU6op4kwK7+TR/ABYEVJAAraeVvBYBEYMMlHweuJRGX5i3j/X+GBYBhftSlYUXh3+wpLN3h4ZUJtzFogrQCMLBAp8K/9wKgwvA3Hwf45/QA49cKTNkiMX2TKf9LzLpLABTmpQRAPgQBkL0WgKpjCVxxafajr+CYmQ2el0QyCBCTCjeSCqduS2w6m8RSWuHPofdgweEkFh32UBqGfjpGAMrs8UeVEoAqCv+qdAE4q+4SgFVWAEguiPWXPJxsE7CbJvzzxbAAMMyPOPxplRYTGmW7Evj79DYMLPbc6r+Igr9AZ8z3740A2GZBex1wgNcmBhizRmMiBf3kzYoEQFP4Swp/ZXEC4Ji7I5QAcypgR08EIAp/lXkMsIcCUHOEwu8IUHPCs0H64+3i11lCmOD3kEgkca01jlPNAbZTENecSGIJBf78/UnMJgma0UDC1QTMbwQW0TMbCSjtjgCckk4AzshOBWD1RWVPA6y+bE4DxHE9UFD888WwADDMj3jKn0ZWQK8VeyVem9CG/kUBBk4QGEzhn1n+v7cAuGbAzjCTAt20QPPPvFyUxCdLkpiwHSjeBkwNtwBmUPDPfCgCoDo5BuhEwM0BkKEAyG4KgELlUY360x5uBT8+ATDNmiLw4ScSSHoC19sUDl70seK4jyUNPmbv9TBjv8SsA8Iy+yDJ1mFgFknAXKKkkYSpkYK/KcAi4m4BkCQAKq0CoFFHtG8BuCbAqAKw6rLCmmsCW661okUq3v9nWAAY5sdcMjZT3WoOxTGooM2O5I1K/ib8eyQA96BvvkYf8/81N/1NjyF7ncCkLcBkYtoWIwDaCsCMhyIA5hQAsV+mVQCcCKQmAR5W3RcAMwjoiMTysx6a5Y9HAJRUWb7vIxFPINYWw1XTxX8uiZqGOGbvSmDaHo1pe4Hp+4j9wAx6/hkHpBWAuYc05h2i95REYEEDvWcNAosaA4sRgKUU/uYK5LJjkQBIu/qvOinTegDMCQCQACAlACutAGisvpzA4ea4Lf9r3v9nWAAY5sdU8jf7xMoS92gldyCJV/Jvo1+uTwEvbLk/EoAo/B9EANwAINC/I4ZhFb4N/ynEVGL6Zm1PANxbAMxMAN0LARBh6T9dAHSvBMA0xK067yGmftj9bLe/L7OCIMjyEjG0UPAfv57ElnM+PVMCs3bHMXW3jykU/lOj8O9EAOakBIDeP4t0AtAUoJSed6kN/44CICw1p2WXArDC7P9faMVVMzIZfCsgwwLAMD+yJjGZFYslkPACrD4QwztTmjFwvLArdFMBGBCe90/f90+nN+E/eLzCu9Pj9sy/KftP26xIAHQ3BABpAqAeUADQcwEgjACsPU+rbfxwHe2mi9/s8ceTPprbEjh2LYF1p+JYcjhOAR9g8h6FyXsVptB74ATAVAB05wJw0AmAYQGxkJ5/4cMSgMsSe0hKPKEQjRNmGBYAhvmR7BnHkoENkXX0l/0/Jt7B4DwfL1PoD8qPbuYLg/sBgz/VF5Ct8fcCD3krJCZv9jBtU4ApJACG6eYUQBrmKOCsrdoOBJptJgMaCdimwsFA0VaAuyCoowgs3CMJYSVg0b7ASkCp3QpIFwCd0QSYagZs1IRCpSHs/q8xA4COGgHwseF8gIR6PALQPjZX22OZSplJfchqTmjsvxSg/FACE7fHULDLRzE960QK/km04p9MGAGYSjIwlT5vXq0E7DfIe1cAGkwFQLRvAdxPANKbAO0kQIWVFPyrr0isueLhaGsM0jyD4p83hgWAYX4UK38729+jFWQ8wK5jAq8X3sGAAoHBBRID82V4xE/1LugzUBl/zoA8D18vFJi8QaF4YxJTNvmYvEneWwC2PIgABL0UAFgBqEgJANIEwMPmi4Gdja+1eiyrfbvip+9ZUmnbfHjwmo+yg7TS3xJHAb0X+buBgj1AETGBQr44FIDJ9LGpBEzdky4A9D7Te3F3D4ATgEUdBODuJsCuBEDbsv/Ky8IKwKZrSVz1PKi0C4UYhgWAYX7o0r+Z9+4r7Dnp48tpLXg5J4HBhYoEQGNgnn7IAuCO/vXLDfC36a3IX60wca3GpPWKRIBkYGNAIiDtVsC0zRT+m4VlxuZ2CbCVgG1mS0BZCYgEYH53BGCvsFsBpftVjyoAdwsAicFRHzuMAAQSSslH15eh3P6+uYCpjSTt7J0ktp5rxaJDt1G4pQW59L4UbgcK6fmL6PmLdhH03BNIAor30Hsb4gTAMW2fSgnATBIAW/4/2DsBqD4pUHuqowDQ6t9eBqSw6orAjpsebiU8mP4S/rljWAAY5kdS+qeFZNb+cwJfzWzGa7ltGFjgEcp2/bcP+XkYAhBuJWRrvDLBx1f1HgrXByheBxIAWqVuoNX/Rse0TRRSm8wwIGGJBMBJQGZPgDkRYE8FmMZACsD5FP4lu0kCOhUAdydA9wXAIDsVgKpjAfZdCRDzBKQQD/8YppR2cE8sHsedtiTOXolha1ML5u71ULwtjqKtCRRt8elVopBEqIDei8KdJAK7QBIATNjtBKC4UwGQKQGYRQIw90BHAVAkAOqBBWDNJeKqRENzgLZE8l/+ymSGBYBhfhrhr2WWJo7dkfhk7mX0Hx9Hn/wAfQoC9CMB6EcCYOh6RS/vwd3CMCAPGJgP9BsXx4dzkihYJ1C0VmDCWgoqYtI6hcnrHdNIBqaRCEzfqCzdEoCd7QIw/y4BkHYWwP0FQGRgw7+JXpvcsT9T+neXAdHrMQ+HryRhGvCUfIgVALPi9wJ4sQT8pIfzNyXWHfEwfUsc3631MIaeeyyt+LN3ADn0vDkkPvn0cQHRUQAmWYwAuGbAaWET4Ax6D2bt1zb8Z9vg1zb459N7UGKDX2ExPXtqCBA9t+0BoPCvPK5RRQJQRQJQc8pRe9qFfyQAy8wWQCgAG68GONdCz2Ov/2UBYFgAGOaHH/JD4X+Owv/TaVfQd+wd9M/10TfXnc3vE4a/oW+eo9PVfE8EgP7swbnmqt8WjFtmSv8UUmuVpXgdhRQx2VQCuikAsygIZ5EAzKbwn72ThGAXyQAxb7cTgBJa9RoeSACaghCRIQA1ZgjQCR/Hr3tI+P5DWtnqLGiR5dlmzMAG//oTHqZuTWLcmji+p/fkuy3A91uBcdso/Cnwcy2KBEChkD4u2tlOVwIw8y4BMCt/ZQVggRWA9jsAIgEwzX/tAkASdEKlBKCuowBcND0A5jZAH3uv+rjVGsD3Ax4AxLAAMMwPu/JHVoIM4MT1AKPm3cRLo2Loky3QL9vDgGxzfS8JQH578D+IAJj/X7+w639QDglAjochi30UbYAVgInrDNoKwGRiCv16Kr1O2+BICcAm9RAEIBoJrEkAdOYgoEOq2wJQa04CHNNYfjLAmRtutn57h34vgx+KpExmxeibc/yWxIpjAabvjFPw38ao9RJjNlHwbwbGkgCMI8ZvpZU/vQd5203pX6Bwu8SEHdL1AFD4TzTs6pkAlBw2x/+kK/9bAQgrAEcllhy7twDUnqTwTwmAIAGgr9/cBHhZYs2FJE5f8+AlfEgp+eePYQFgmB+s6c8cHRPIOn3Lw5jSG3gtO4m+ORIv0Oq/X06AAeONAHQI/1zH3eN8ZRdEAqCsAJgz/4NIMl6f7GH8agopCncnAPS6zlQAKKCIKfRrKwDrQwmg8DdMJwGYscUxyx4JlCQAql0AiDkUfnOjLQDbB6AtXQuA6iAAEZEAOCopDKuiY4BELYXhytM+LtxOwn8AATBd/aYaY65ZvhhXWHHaQ/FOD+M2JPDdhiS+2+gTCmOJ7zdpkgCNsWEFYDwJUA49v5MAFTYBhqv/UACKTR9ATwUgqgAckWnlf23Dv7wTAag71UEAzpuz/9Ke/d94KY4bt30Ij94jxdP/GBYAhvnBwh8BsppjtHIsv4MB4xK08pd4icL/xVxhqwDm131zFAW+Qp+Qzi/zuT997bx/aSViAEnFq/lJjKih1epGCqn1bvVfvJZW/2slJq1zRD0AU0kGptLrFJIAg2kKnB7eD2COBc7YKjBzmyQo/Gn1O4eIegHmh7cDlkSnAe4SgGgLIP0yINWhCVDa/f/KJgq8JnPxj3YNgMccdSc0VlNYX2xOIhAyq2cCoN2RPvp+KJIxcjFsPOtj0vYEhq/1MXSNxEh69jEbBL6l4B9jwt+U/83H9D7YSsBWjXEkAtkkArkkAnlEJAFWBHa40wATditLMT1/1AR4bwEIm//MPQD03KUkAGYAUGkoAOUU/OXmAqAToPAnETqp3fCf0xT6Z4iz0q7+l9Pqf/kV+vwVif03EmiJeZCCV/8MCwDDPH60O+6nhc5q8ShwaxMYPCqG/rTafyEHeJHC+qUcmaJPWvg/uABoe+HPQBKM92Z7yKXAL6DgL1oXCYCyPAoBWNAjAZB3nQJwAqA7FYBaCsP1Zz1cafUQSNEjAbBHL+l7Yr4XB+jPmLYtga9XxfHNGh/frNMYRhgBGL0+wOgNiiRAkwToHglAYUcB2N1TAdAU/Dpt9Q8b/uYGwMpIAE51EAAT/rT6N9P/7OjfKwJnWjwkvCQkd/8zLAAM88Oc9Tfl19ttFADL43jhuza8NFajz1jghfHAn60EaAp/R59cWPrS5/tZei8AfcJ+gb8WU5jVSeSuppBaA0xYQ+FkV/+RAOgMAZicFv5OAHSPBGB+jysAokcCUHdcYdM5DzdIAIQRgC4mAUa/54YuyazbSYXtF3zM2dGKUfVt+HI5rfrXSgp/ReGvMJzeh5HEqPUiJQBWAjalCwA6CEC0DRCyU5EAqG4KgEptAXQuAKqDANB7YW4APKVc89/pIBQAYY//GVZfFDhwTeJmWwJCeA/YI8GwADAM0/PwlzLLlF/vxCRmrYnhlRwPf8rx8Xx2QAKg8SIJwAsm+HOVC/9sbYM/ojsC0Pl1v2bYD2FmCOR6+GShQPZqgbxVAoWraHVq+gBIAiauUZb7iUBXAjCLwn/2DpIA2wdAErBLYt6urgRAhwKQdh3woczrgDME4IgKBcA1/9XQ6r/uuMTW80ncjiXvKQCKPucLASUp+OnXt5IaB88n6GttxjdrE/hyhYdvVlLo03syfE2AYWskhq01AqAwYr3GKHrtWgA0CYAmAZAkADIUAGkpIgGaQO/FxF2OSADcPQAkABT+sw30/HPo2d3xP7f/b8P/iAl/7Zr/zN7/CeXC/yTJ0Eltw78mPPu/7IwTgBUkAOb4X/0lYP0lgdO3fLQlElBK8M8iwwLAMI8PU/KXWbFbrUiIAEu2N1OgX8fz42lVPlbgpbHKCsBL44CXxutU+EcC0C+D+whAlzP/A7xW3IxvlynkrqJVKmEEwEkAMNFMAiSK12QKQLoEdEcAZlHomZMAszsIQEmnAgASAHR5HfDdAmBOAEgSAIVqKwABdp5LoDnhWwHobMBS3EugNZ5EmwQOXw8we+sdjKyNYWidxOfLJQmAxtBVwFf0PnxNQvQNCdEwYvhaYMQ6IwD6PgKgSABUmgDIlACYEwET6b0o3uWYRM8/hYJ/2j5tLwGaFYb/7IMyJQALovP/TSb8YVf+9uz/CXpPTtJ7cdJd/Rut/qOz/8vO0KqfXleeFxT+TgC2XApwpbntgRokGYYFgGF61fCn7OjYm16A2oYkXsmm8B8bx0vfUyiPAfrQ60tj4QSA6DMeD18AsiUG5rRiSFmA8ask8lfqVPg/DgGYHx4HfKgCQCt/s/9tBGD/RR8xen9l2hjg6FZFP7yd7/BVkhAK2G9WtGHosji+Wh7gi2UCny/LFICvHkgABPK2B+44YCcCYI4BmrsApobhbwWAntvs/VsBOCw6nP9X7QJwXJAACCcA4dz/anv2X6CWVv22659el9OrEQBz/n/VRYVD15Jojicy3huGYQFgmEe83+9WoDorLmhldiSBwXm38KfvBf40TuPPZtX/fSQAOlMAQvpmO/oR/bPvLwKdXvVrzv+PFXhvnsDYNRI5a3wUrL5bAIoo+IvsNgAengBEEwG7LQDouQCc8NF0TSCQKiuabqe0m9vvCYHLLRIrGn2MWZ3Ah7U+PqkHPlmu8dkKgSHLTQVAWQH4cqWTgKH0fpgqwLBQAnorAEVp4R8JwJS9oPBHKAAKM2jlP+ugCgWA3q9w+t+DCYAkATBNgBqbL3q45Skoel80ePXPsAAwzGOVADPff9NRD3/LbcbzowO8MFaRBGg8R6v+P9HHL9LHL45tJxIBsx2QqgRk0MXef1rw26E/eXAT//I9DK/RGLc2IAGggKKQK1gJS+EqtPcCrNZWACaGEwGL17cLwL2bAF34OwFwzN5BgUbBbwYCzdvVLgAL9hhIAij8F+6jkNtPEkCUUhCWUgAuOUQicIjCjoKwrIECj0LQUG5mAFDwV1DwVxJVtvyv7Bn4uhNJHL8d2NvtdBj+htuexrZzAgXr4xhSHeCDaoGPagJ8UqvxyTKFjyn8P1tBArDCCcDQlXBVAHovvlkdVQCUE4D1OvMUAIX/d2YOwGYzCAjI3qpdAyAJUH64+i9KhT+9j7vcHQBTw9L/NHP9LwnPjHD1b27/mxtOADThv9A0/zUqu/+/9KhGme3+p/fhBL0HJ+m5Kfhd+Jvyv3D7/2cdy+mZzfCf5ecFDt6S8B7TFckMCwDDMGnhT2uvrN1nPfy18CaFv0CfkcCLY2j1/12Ewp9JAF6wKIsVgXH0Ok6SBKgMzGwAw/1W/v1SEwOBV3J9fDjHxzha5Y9bZfb/3RZAJABOAsIqwGpzKsCNBbaDgbolACpNAKKJgCABQGoi4PyMiYAkAPuMAEgSAJIACv/FB6WllEKw9JDAEgr/pY0BQRJA4V9+JLDhH1F5zIS/G4JTe8LD6RYBU2kx99v7WuHgDUXB34yPlrbgvQqJdyuB96qAD0iCPiQB+LjeSIDGZ7T6H0J8sQLh6t8IANq3AEwTIDFqg8oQADMIyIS/IZsEIMeGv7Z7/1H5f8JOaYO/eBfC0j9CAVA2+A0zDwJzDwDzw/n/JQ1Idf4vIQFYegQoOxqe+zeDf8zZfxKA6lPu6F+tPf5n9v/Dc//nTfc/CcBFgbUXA5yOKUj+WWRYABjmcZ7311mSwv/ITYG3prbimTE+/vgthf8oCvpvJf48RqV44XvcLQCmMjCWBGBc7wXAVQAC/O+kGEbVKIynkMumsM+z4d9dAVDhxUD6AQXA0XsBEBT86i4BME2Atcd9nLgj4dNK92aMgvGQj4/KbuFvpTG8XeHjrXIjADoUAJAA0Oq/TuPTlADoH0QAZtrGP2Ae4S7/aReA0sbeCoAb/rPynIftl+O47gme+c+wADDMY1v52+lyOuvclQAfF1/Fn4Z5eG6kxnOjJf70rcCfxohHKAAqDY2B+XF8WprEOAr5HAq5XHrNTwW/TmF7AdY4itamCUDaxUA9FwDdLgAh3RaAwxJLrQSYbQASgCYK/iM6JQHpAmCaAHdf9rD6eALfL0vgzRIP/yiJ4++lHv6+VOCNMoF3KpQVgA9rND6qMQKg8Gk9CQBJwOfEl+kCYJsAFQmAeqQCkHn5TyQAuv3sPwnAkrsEQIUCEHb/m/P/ZyTqzkrbA2DP/l9UWH/Rx7GbCSR8Af6ZZFgAGOaxhL+bJ3+GVv7DZ93GH75sxXMjNJ4fqUgAAjxH4f/8mEdRAci8DnhAriB8/G1yEiPrle38zyFyKejzUuGvCAos+nyhGQq01lG01g0Gii4HSlUANiqLmwQobfjfJQD2UiB116VAPdsCUKEAELYHQJEAaCcAVgJ0xhZA1bEAs/c0Y2jVHbyxwMc/5wd4Y5GPvy8R+Fu5whvlkgRA4r1KiQ+qJUmAxMe1Cp/VA0OWoYMAKBIASQIg7SyAXgnADhKAnYIEQKQ6/6fQs0/dG+797zerf22b/+YcIgE4rGzjn23+o/Bf1OT2/ksp/E0DYDT4x+z/V6ZW/2bv3wz/IQE6q1FLK//68z5WXiIuJ7H9egJX23we+8uwADDM49z3v35HY9yCBJ4d1oanKfT/QCv/Z79V+ONokgAKf8OfHroAROEfWAZS+A/Oi9HqX2HsagopCvnsVUFKAFwPgHDQ5wtXBx0EAGkCEPYAbJSWaZvE/QXAngIQJAASc3fLXgiACgVAkQBQ+DWhXQCOGAHQoQDQx6coGGnlO59CcjKF64iVcby7qA3/XOjhn0sl3ioD3i0H3q8SFP4+YRoBFYaQAHy+HPiCSAkAhf9Xq0WaAAgSANljASjaFQkAvXe726f+mWN/M8zUv4Owq/85hxCu/EMBMLf+hZP/FpPkLKHnKztBAkDBX35KoPK0QPVpGYa/Gf3bLgDLzgusOx9g88U2NNxpwy3P41v/GBYAhnkce/460FltSfpLflmAviN8PD1K4ZnRAs9Q+D87OhIA9cgFYECej0E5FH5TzchfhHv/GuNpxZ+zsqMABKEAiC4EIOoBUKEAyMckANrSlQCYPfHyk9oF5EkKxnPKXpAzd7/Ed2s8fFzu4Z0lCu+UK3xoV/8BPq4R+LRGY0idWf13qABYAQhIAESaAIiHKgB28t+B7ggAvR/3E4Az9HqWMAJwQWMtidCei6240hZDUgRQPPefYQFgmEe98kdWTADzNrWgz5gYfv+tj6dM8I8Chb9OEwD96AWAVv+vFgh8SSvf72l1O5ZCbvxyJwI5tgkwEgAZVgDMFoDsQgCiHoCeCoB8AAEw4Q9LWSPuKQAVJ1RqJK65FKieVs3LjwHLToGCkkKW5GEshfGXaxK06k/g4+oAn1UrfFajOgiAmQEgSQCCHgnAuEcqAN2oAFgBkCQAgZ38t+aixJEbrYglk3b1z5P/GBYAhnlEI37d7X7IigfAgi1xvDDmBn4/KsBToyV+9y0F/yiHDX8DScHzVgBMQ2DYCxAdBwxxEhBhjgTqNAFwdNYD0C/fCcCgfIF350p8S8H2Xb3GOCMAoQRkRxJAgZe/UiF/lUwJQMEah7kXoGiNkwArAiQEk9aTBGxwfQBTKfymbqZAy2gC1JZZ2xE2AeqwB8BMA1S9FACiMaoAqLQmQBX2ABika4o74W4FrCeWmVczIMh0yZ+l8DxH/y5aTU/Z3YbvV7fi61qBz2t8DLFNgGYbwAgAScIqD1+t8QknAMPtXQACI9fTe7nBXAlsbgGk8Kf3YBy9B4bxmzVyrAAoEgBlGwC7FoBw9v8BCv8D7vx/hgA0RvP/YSVgKclM+XFY0ak4GQ7/IQmIzv4bzAmA+nMC9Zc11l+WON/q8dhfhgWAYR5lyd/cJmfwA/qLeksr+o64gz+PFHh6uMTvR2j8YQTwh5HKCcAo6QSAMMGfTnpDYLsAdBwOFAmAGwx01xRAc+7fCEC+h79O8vB1FQUVBdv3dQpjzTZAXVQFoMAicom8VRRaVgCEFYD8kEI7EbBdAAzFRgA2OqYYAdhiMBKQLgAIBQDhKYAHaQI0AqDCHgB1j1MA0lJN4Whm4tu5+CfNXADiZHRFLmyj3LKzGsvPadtEN4X+/aNXmUpAkiRA4AszCGhlQAKQzBSAde0CYMN/gwl/YCwJwHgT/psUsq0AEOYOgPAEwP0FwE3+m3ug/QRAehPgYtsEaAQAGQJQmRKAwE7+qzsTDgA6p7DsvMTKCxK7rwW4kRQIBF/6w7AAMMwjweytJr0AcSGxfn8S/UffwrPDfTw/lIL/G/2YBKB9JPAAUwGg1X+//Da8NTeBkfVm9a/wfS2tVmso+GuBcfXEcgqt5RI59Jq7Ulry7VaA6kIAVCgAsLQLgCYB0JixBZhJq+CuBGDeYxKAlAicyhSA+rNGApSVALNfXnpKoXC3wLDVSRKABL4wArDS7P8rEgCRIQCj7isAKhQA8fgEwJz9P6PCs/8Kqy5pbDzXhnMtCcQDcycC7/0zLAAM84gEQGcllcK+4wH+kX0bfxjmU+grG/7PDNN4enimADxLAvDHsA/goQlAOBrYjQIOMLgowP/OFPiqlla4ywUJgMRY+nhcrbYVgIcqAJvTJIDCf8a2+wgABaAhEoAFPRaAzrYAuhIAhz0mlyEAplveR92FAOWXBGYdJ0na6uGb1fS+Ldf4xo4Blvh6LUkACcAwcwSwowBsUjb8rQBsofDfKrsQANWFAKhQANqPAS6k51x8xF0BXHrU3ABIz5zqdUjfAmgXgBUXBFadT6LxZhyeNHP/ufTPsAAwzKMJf62yJAlA0zmBN3Ju49dDk3jqG4Wnhin8bhiF/jfEcOCZNAF4ZvTDF4D+ORoDckAEeG2ih/dLFD6v1BhGq/9RdQrf1Ul8XydIACis6jQJgO62ABSu1ShaB0s0FGjSBhIAYkq4DTCFJGBKKAHTt+oOvQDEDhIAeyMghd1uJwDzKQRL9kqUkACU7O9JE2DHOQDtxwDN/n+KDAHQoQCYZjltsRJgZOCcRu0F+mcvkmDQr+fSv6+AAt70TYxYKW0F4Bt69uHhHQBu7z/q/Hd7/9HqPze6Bpie190AaARAYmI0A8DcAUDP3D4BMJr/H63+SYgapW0AXHRE2eBfEl3/S4JSEU7/c+EvUWMa/+yzwK7+V170sP1qM27Syt/0pPDPKMMCwDCPrONfZZ25JvBe7nX8ZmgbfjUswK9p5W8kwAjA74mnSQCevYcAmFMAzz+gAPQ3FYDxPgZme3hrlsYXS2nlWgUMqwZG1AKjazTGWAHwMbYuIAGQ3RaAgi4EwGAnAm4iGaAAnEwrYFcFoBUuBeGMDAGQqSrAnN0Sc/Y6AZjfKwG49xyAzgVAWupS3fJGAGBZds5RR+FZd8FDLQVo/SX6+CIwa7/AmBVxjFwlMGJtgJHrBUZvNAIA2/znOv/Nyl9aUgKwnd6/SAB2SkzYnSYAZgAQPXPq9r8D9F4cUhnlfxP+TgAECYCw4R8JgJ3+R8/SLgAkNeY5jABckFh7MY5jzW3wtWYBYFgAGOZRIQKVdfmGwPCp1/Hbz9vw25Em/H385uvHIwD9xlP40+uA8R4GZbfhzek+vi4HRlY5RlRrjCSMAHxbK/BdbWAxlYCxZktgmcB4InuZk4AIcz+AaQjsjgC4RkAjAI5oG6B9K+BuAZjdmQAQi/aDBEB3UwDQtQBkbAF0LQD153UoAIGVgLpLAsuuACuvAouPkhhtSODbNTGMXu+HFYDHKQBBBwGQnQqAeRYz+3/L1STP/GdYABjm0ZX93Xz/WzGNwrJm/GnoHfz+6wC//drDU18bAZB3CcAzXQjAc9+2S0BnAtBRAl4KjwL2tQIg8XJeAm/NEPi6gkK/ksKfGFWlUzgBUE4AKPzTBWBcRwFYYaoB7lRAuwAoCn9tiQSgmMK/mFb/k8xpgE06FICOvQC6fSZAKAAWIwB2C8ARCcDC/dpdCRxWAboUgLQqQOXR6BigOQKoHSkBkPcWgLOw5f962wzYTv1FjeWXSQAuaSyjVfXS4wJTdvkYu17g2/UKY+h5x2xStvw/brPMEIA8ewRQpgSgyAjALun2/2353wgAhT8JgLkAaNbBdgEws//N0b9IABbT6n/JMXFfATDHG83zrCQBONQskLRX/vLPKcMCwDAPf+WvKPwTGgU1rXjmmxYKf4HffhVCHz9lfv21suH/+/s0AT6XxvO2J0ATKqMi8EKHSkAfou9YoO84YFC+xDtzFIYsVfi6UmM4MTIkXQBG1yhbBRhjBUA5Aag3WwGKJEBj/AplcQIgw2OBkQS0DwYqXCswYZ3ChPXmdkAjAgrFFIiGSbYXQKUkwPUCSBIAYrtIqwK4gUBRM6ATAWm3ARZSKJqtgMUHdacC4OYBKCsBphnQNgTaRkBByPZmQBv+ogsBMM2AygpARP055QTgAq2mLwKrLpqu+gD1FKyVFLCz6WvJ3ujju40S35EAfL+F3rPNJFBbAuQQeVsF8reFzX/hJUBFO8zqX9rV/9Q9wPS9JEb7KPj3u71/82fOTbv9z3T+Lzyi7P7/4jD4o/DvXACUqwCc1th0UeCSpyD4Z5RhAWCYR9TxT3/DFi9rxpOf3cHTX0kK/kye+lrid70QgOe6IwDfm/A3SPTP9vH6dI1PS4EvyhS+qpD4xkqAqwRkCECtJAGQYS9AuwCM7YUAFIUCMKGXAmCmAnYuALT6tQKgeykAohMBEN0UAPr8OWmPBdZf0CQAGito9b/CXqlLv2du1rtEX9tRWt1T0I/f6Fb/3REAd/yvXQBmpgQAbvXfkCkAi7ojAKfpuU7L1MmGurMBDl0L7Oqfy/8MCwDDPIIRv4mAQmljM54dch2/+wJ46guNp4beLQGPQgBeovDvQ/QjARiYQ+E/zcMnpRqfLwWGlmlC4muSgGEVOtwKUGkCYCoAGt+SAIwxMwHuEgCkyF6puy0AEzf2RgBEBwHQ7kTAPk0CoB+gAtC5AHSUgEwBcMfn0jHd9PYq3TScDARYaU4KnKTn3uEjm8L/cQhAGWGu/y2PBOCkawQ0FYBqswVwRmHdeQ/XEwqaG/8YFgCGedj7/sgKhM5acyiJAaNv4Lef+vjdkMcnAC9+L1MC0H+covDX+LhUYkiZIAGQ+LJMOQEodwLgqgChAFRHWwAqrAIoNxcgJQC0+l+uU9MBjQDkPkQBmEECMJ0CcQaF4axd9xcAUwVYSAKwOBSAUgrHJQ36PgIgwy2AsBcg3P93PAQBMAN2zDl783uX6Os5FWDSAQ/Z25JWAFwPgEBeZ1sA9LxTdpu9/0gANGYdUOH8/1AATPMfvS5sMgKg3fn/6PhfmgBU0HNVnoK99bCKgr/qrLbz/w/eEvBo7a/BQ38YFgCGeXgrf6WzhNZZ248n8Nq46/j1kAR+84UkFJ76UpIAiEcqAC+SALz0nUCfsYoEQOHVQomPSoBPlkh8tsTD50t8EgCBoUsDfEWv31QoJwEV0lUBqokaaSVgdI2wEhA1A0YNgaYKYDFHA40AhNsADyQAVgJM+EtM20ECsNMJwKxdwh4F7EwASmhlXELhuOAgScAhiUWGw6EERCLQqQBEA4HC0wAZw4AeXAAilhkuKtReolC+Ss/VlEDe9iRytgjkUvjnb08TANMAuNM1AE6h1f80u/+PcPWvbPjPpWeb36jTJv/BTf47Ajv4Jyr9pwtABQlA+WmNSgr/arP6vxjgcqARmPsowIN/GBYAhnloZX/DsasKg0ZfwVOfePj15xK//sLxm8cmAJLCX2BwnsDbszU+W0yUChIAnwQgwJcU/kOXCicA5UYA1CMSAPlQBGB2VwJwMBKAUAJ6JQAdTwJE0wB7LwD1Icsu0esV+vOuAlVXaDXfGKBwWxwF2zxa9dPHJvwJdwJAYdIe3UEAzOpfYs5hSQIgSQBUtwXAzAEwFYCyM0CFudPgrMDBGwHaFCA5/BkWAIZ5GMGvs8wMdSF01vkbEh/m3MKv36fA/1Tgl0MkfvW5sjgJCKwERDwaAQjQd6yHN2ea4Nf4dLHEkNLA8gWJwJfE0CXS8nUZCUC5EQDVCwEwWwBA7op7bQG4I4GPRQAO6t4LwF2zAKL7AB5MAJaZI4K0+l9+BVhBArCcqL0MzGnwMWF7K5EgAkywpX96byj4JxNmAqAZ/zuDnm/WfpkmAKJLAShPC39DFUlMtVn9kwCUn5HYcC6OG0kJyXv/DAsAwzyssr/KSiR8nL1OQTqvDb/+II7ffkyhHwrALz83EhBVATLD3wqAuQQoFIDfD1N42lwIRALwzCiDtBcC3VsAHH8mXhgDEgBJAuDjtQkKHyxw4f/pYkXhL9oFYEkoAEsVvqLw/6ZcWwEYYY4EVpmBQEYCQhEITwMYCbAjgusVxlL4G8at0Bi/UtvTAHmrNAkAScAahYK1GoXrDCQA6+8tAGYWwJTN0eVAKjUVcBpJgOkBmGklQFoBmEvhb5hHwWiYv89RkuoDcFWARcTiUAJKKSiXmDsBmmh13KQs5UckKo4ZSAIo/A1V4cjcqBKQWQFQHU4BZIpA5wIgbenfnARYcdmgscrMCiBWkAyYyYHzG31M3hnDxO0eJpLwFO+GPf43eY9+YAGosKt/90y19By1p835f4UDV5Nopf9OpZT8c8uwADDMA2Ou96W/UK/dFshe2ozffZnALyj4n/hMWp6k4P/lF8Lya7sFoO5R/k8TgOGaJEA6CRgpbBXg2bRbAe8SgNHAnwkrAGMCDM4VeG8+8PFijU8o/J0AuCrA5xT+X5pGQGKoPQ6o8TUxLGQ4CcBwEgAzGXAECcDIWpU6FmhOBXxHwW/4fjkw1pwEWBk1AgJ5a0gC1sJSsI6g0C/c0LkAWAkIBwK1VwIiCRCpRsCZYSXASEA0FdAwl8J/3r72SoCRACsCRgIOu0qAFYEGaSVgSRO9NgksPSJso1xGs9wJHc7NR7hqdl3zKQE4q+6aAxBJwN0CYI4CCrfyT6Gw8hIsRgYMNRdMF3+AybsSmLDDDy//0fbyn+gCoN4IQMVxFVY1nMzUn6J//2mz+pc4S/+NJpI+zEhq/tllWAAY5kFL/0Lapr8JtbfxxMfXKPwDG/y/iARgiMIvPye+VCQAKhSAiO4JwB9HSseoTJ4PBwI9P1pbAfjzt6bxL4l/TFX4aDGINAGwSBIAE/7KYo4DtgsALD0WgFV4TAKg7iMA+iEJgLZl8+r7DALqmQDINAFQWHGFfv+yu0NgAX1NxdsTmLJbuct/bPhLzKBntEcADwQ9E4ATmdsay0ho1p7y0HDFw+1YAN8XPPefYQFgmAcXAJXlSwqWnT7++71b+NVnmkJf2fDvWgB07wSgA+1TAV0FwJT//2eSxHsLFT5YKPDRQpkmANry+RIT/toytAyPWADQLQGY3C0B0PcRADwkAUAoAPoRCkDguGxuFgTm0dc7ZZdb9U8lCZhOAjBzn6NrAdB3CYAt/RvMc5g+hpMSe69KtHgCnudBKV79MywADPNA3f5SmUE/QOWBVjz91XX8/AOFJz/xbfk/JQBDzBaASNsCMEcBdZoAqE4F4A+2EVBS+HdXALRd/ffLFnhzjiYBCEgAfHxoBGCRJiIBUPi8VOGLJe4WQFsBKCcBKE8TADMdsMoIgMEJwKguBGDcSicAOas08lYbAdDtAmD6ACj4i9IEIKMPgARgEgnAJAp+cz3wFHNDYEoATB8ArYJ3mkZAHQoAhT8F5CMVAIu24en6AEIBOEOBf7a7AuDK/o6OWwCmJ8AIgI/llwWWGQm4CMw9JDBtT0CQAOxRTgD2CxIAYQXAnACY12AEQKKEnsfMADDn/5cchaXMCoAObwCk5zoDe/Rv9akErrUJCCmzhBD888uwADDMg2A6/k0ldVODj4Hjr+FnH8XwxEcaPycB+PmnASFCAQhIAAIKf4N0PQBfRhUAx+++1hkC8DQJwDP0+sxwiWdHKOL+AvDcaIE/j/Fp9a/wznwSgAUC7xMfLlD4eKHjs0UO0wtgqgBRJcD2AZS5RkDDsEqFYVXSSsDwKoGRYTPgt+ZEQGcCEE4DtFWA1cpWAdorAcpKgDkKaI8DbpApCUiJAK3+iyn4J23VmEzhP2UbSQCt/l0joMZMYtZOhAKgH7kAVBLRx6aEXhtuBUTVgPsLQMglHSLtayQAK40MUPC7KoDA8ivmNkESjov0PPTf0/Q9Pmbslfb4n7n9b3Z0ARCt+uc1CpQciW7/o2c7quzK3x0BpK+bMAJQcYqe8yxQQ1+jGfkbSJ0lpbJbVvzzy7AAMMwDhL/QKquBVnH/zL6NX37o44mPNX5BAvCLjxWFv+xEADo0AQ5FtwXgj8TzI7TluVFphE2Az1P4/2FEK/rnBnhrNvDOPOA9koD3SzQ+KFEkARofLZD4lGTg04UyJQGGL4wElMkMCehcABQJAFFH4V//AAKwXj2AAOAuAbASQOE//6FXABzmKGBtND+/1wKgOxWAFCQAK64qrLhmTgdQyB9M0uo/sOF/fwGQnQpA+Wl6Nvpa117wcT0hwcHPsAAwzAN3/CPLXJ5yvlnhzdzbePKDGIW+T+EvbPj/4hPxiAUAIaEAjKaPRwd4bkwr/jZN2fB/1wgA8f58WAnoSgA+v68AyEwBqH0IArDhhxQA2WMBqDmNLgVg2UMQgJXXiOv0z5AEVFB4zz2QxGwb/qrHAmCfhb7WqpMBDt5IwteaZ/4zLAAM82Dz/V23/6mbAkPn3MIv3vfx8w8lBb9HBIR0r58G4UkAgSeHiLQeADMHQOE3thEwXQBUSgKepuD/Q0oANAmADiVAOyj8/5gSAANs+X9QYYC356JdACj8PyA+LDHhr0IBkKEAyA4CEPYCRAJgGgIr3XFA0wg4skaTAIQXBNVpjKmH2wYgAWjvA3DzALJJAHLXqFAAtBOAtZkCkC4Brhfg3gIwncJ/RiQAu0IBsBIQCQCF4n7lJOBANBaYAvKQxMLDykrAIgrOxY0apSQBpU0kAhSgZUcVCYC6SwAqwy2ASABMH4DtBThtUPYinTpzDTAJQJ29EZA4Hw79uaAzuK8AXEnjqhMAWwW4rO3FPvMOCcw56CTAjAA2AjA/FICFXQhAGX3dS+lr3XCmGbc8YSf+6fDECv8cMywADNMj6C9QCn9z1v/sbVoZL26hgI7jiQ8D/OoDCviPKOwtAk+QADzxqW958jNa/X9mBgEJOwTITgIkfmMuBPoSJAE6dSQwagT8wzfahX/IsyMQ9gGEUPD/kUI/xShz7a/E36cDb8/TKQF4v8QJwEclbvVvBWChsHy2SHQQALjTAKEAmIuBIpwAAKNo5T+Kwn808S0JwJhlhqgSoEkAlCV7lbRVgMxKgE6bChiOBd7Q3g9gBGDSZkXh30EAdpiJgCqjCtD5cUAZioCRAImSgwbRLgEN7ric6Zi3XfMm/I9qS/mxzMl5VgIyKgHKScBpNxug5oxE7TmDstSd1ynqLyCDLgXAhr5MQ2HVNScAy68DtZfMvH8Pcw8F4eof9g4A2wB4RKZuAOxcAEhmTiZw8k6Cwt9VrPhnmGEBYJherfy1nfTX2qYwuqwFT32bwM+GtOHJ95L41bsaT3xAK37TB2AkoFMBSBsF3CsBSGNkVAGg15FmS8DDoAIP/5ylUxUAU/63q/9UBaCjAMheCIBjdB26FIDxRE4HCchfo+8eC3w/AbDTADWB+wrAnP0kAPvTBUC58cCHQAKg7yMAaKdbAkDBf9ZM1aOQPocuBaA+vAioJwJgMNsAK0kCqs+b436+PR3gVv+qWwJQeczHlgutrvTP8/4ZFgCGeYBBP8RNn1a/ZTE8NaIVvxjp4T8/bMHPP4jhvz6O4+cfJnsuAENViq4E4BlzJ0AaGQJAq/8/f5fAX6cGeGue2/+PKgCdCcDHtPI3dL4FgLQtgAcRAH2XALgqgLIYASjqoQBMo/CfvvNeAkCv+7oWgIWdCEAqNDsRgHKzgj4FixEAeyQwTQBqeiAA9Rd6IQDX6dfXlZUA0w8w77Dnjv81SSLcAsgQAEdZuP+/6pSPS3EJI67gsj/DAsAwvej2FzIrGU/i4s0AeTWt+A2F/29HmCE/Hv77gwQJQBI/+zBB4d8dAUi/CyAKf2mJhgGZ+wCe/kaRBDiejgYCpZGqAoxUJAAB+ucJ/INW//+cG+CNuRJvz9V4Z254CiDkQ3MSoMT1AdjBQCQBZjDQZ+F44C+ioUBLw4uBMsYCq5QERCIQbQN8W2/6AVRKAsauMHcDkASsUHYmQKYISEuB6QlYL1FIFK0XoQRIkgBpZwEYjAhM2SqtBEzdpjF1h3JbASQB5oKgmbsNArP3SMc+kZIAKwIHlBWBBQc1SYCy2wCLjQTQCnoRsZgC1ATnEiMCYSXAEq6iy0wX/clQBE5IVJ505+rdiGDlJOCMdiIQbgV03A5wQtA7AXAS4DCXCJUep/Bv8FHSJKwAGKImwMVGAOj3y49LOwK4+pTAnoseWmIJCBHwzzHDAsAwven2T8Z9XLjlYeKKGH436jaeHEPhTSH9xEc+hb+XwoT//QVAWH79hUhdCdzxNkBDugBEEwF/P6JdAEwVwAwHenZkgOfHJPHaFI035gD/nB3gn3MCvDVXpQTgvQ4CYIYCGT4OBcBKQKnC55EALLm/AFgJuIcA2EpAKAD2VECaAORQ+OeulcgnjAA4CeggAJvbBSC9EmAEYMpOVwWYTgIwY7fB3RBoBGAWCYCVgP2SIAnoUgBMcDoBMJWAJVEl4Gh7GX1pmgCUn6RgtVUAR7sAmEqACX7dSwGQXQuA2QYgVtmjgRqLjnooafQo/J0ImCZAOwTomCJhCSzlx32sOefhzG0f8XiCJ/4xLAAM06vSv0BWS4wCZnMbnvsuhidHKzxBK++fUYj/zKz830/+IAJgtgTM3v+zwxPoMy6J12cCb84G3pgtCdE9AVgo0wRA4/NS4MslIAFQD0EA9N0CsIYEgII/p0cCoFMCMGUHfbwDPRAAsxXgrghecEi7PoBGbVf/TgBUanyumaC39FhEdwRAtwvAmWgrQPdcAC6rLgVg1VWkMNcIV50x0//iVgIWHBFY3KTC8b/0tZ4QJAACVacCHLoe4HYsCd/3wT/HDAsAw/R40I/MEgpZKw/4eP772/jNCGFH8/5iiML/fT+G/3yv7QEEQHYQANnjCsCzIySeGxnHqxMVhT6t/mcZAVBpAqDvIwDqngLwVZnGNx1uBuyZAIAEQHcqAKkKwLp0AVChAIiUAEza0kEAtqcLgMKMXe0CMMsIwN6uBWDBYWQKQJPZBuhcAJaGAlDWhQBU91AAIlZcoDC/qHssAKYKsMJuBVD4NyWx8EiQugOgzJ5eMHMNfKy7LHA1JhBLxPm6X4YFgGF6c9wvkCprY0MSgwua8ZtRkgIY+C2F8399YMK/Bf+PBOC/341ZCegoAmZ74BefeHjis3s0Ado5ALJDE6CZBYAQnZKB9jsC3P0Avw/nAzw7XKLP2AD/O03jjZmwvDVT461ZCm/OUXh7jsa785TlPeKD9B6ABaEALILFCMAQCv/PieiCIHM3gLkgyF4SVElCUAUMr3YiYGUgPBI4qk5hdJ0kEVCZ44FDEbBNgaYXYHX7gCBzJNAMBjK3BBasV/aioKKNCkWbFCZs1pgYDgUq3kpCsE1a2psCYXsBjAS4SoDATBKAmXsUCYDKEIB5FP7zDjnmHzYSoCz2Ep0mleqiN3vo5sx9afR6XFuWnIDFBqxtDFROBk5JVJ5xmFV5zdnMY4GZIiBT1GcMBnL3A5gxwCvu0wuQkoDrQM150/TnU/gL29S4xGxbmPAnMag7lcDxOx5a40kEIuAz/wwLAMP0qOxvRvwGFP6NCfyl8CZ++W2AX42i8KcQfuJTD//xbgsJQCv+KyUA3g8iAGYy4MuFGq/PoNX/jI4CoJ0AzE0TgPkkAPMzBcBcEPQpkS4A5oKgnguAspWAhy8AJvyVpfsCoLoQAH0PASCOqUcuAJEEuGOBkQA4uhQAYvU1YDUJwEoSgYqTAqUkAK78b74+gcoTCey8ksTNRBKen3Td//zzzLAAMEx3w19aAdh3msI/7zqeHCnwCwr/J2n1/yQFtgn///t2M/7z3Vb8v3diJABx/Ow9/wcQAIkXxkj8dQrwDwr+f840VQAK/5mKBEDbfgAjAO/MkaEESLxPfEB8WCIskQS4rYC0KoDZCliKHghA+2Cghy4A4WTASdt05rHATgVAYrY5ErhP31MAShpA6NQ1uu0CoB3HuisACpWn0wTAzgVQ3RYAVwlw1wO7a4HVfQXAbQO4V/Pnlh0T7sTCUdj9/9UXBS60eogn2iCl4ME/DAsAw/TkrL8WKuvsrQBvTbmKXw9PEMCvQv7rMw//5507JACt+A8K//sKwMfevecApHoAeikAIwT6jFf421QSAFr9vz5DkQCo3gvAorsFwI4F7koAah5EAFTvBSA8DtgzAdAdBED/9ATAomwvwMqrGlX07y874c79158SOHBToDkWg6DVP5f+GRYAhul2+JvVP7JOXZd4Z+Yd/GpYzJ71f4qC3/DLrxT+44M4/s/bLfi/FPz/8U6cBCBh+e93k5afvde+FfCLD0kGPkq6KkBaM6AZB2xEIGoINBIQEUlA+70AHQUgwp39H1zkBMCM//3HNIV/zpB4wzCTmEUiMFvh7dnCSsA7cwXeI4wAfDA/IAEIOhWAqBnwC9MMWKZSfFWhrAQMsxcDqcxTAaYSYO4HMIOBUs2AHQVAkgCYo4DCzgHIXxedAlD3EABN4Y9QAMIegO0ibTSwsOHvBEBZZu7RllkkAVYEwqOARgScDMBKQISVgCZ3oU40UGfREWFxIqBSItAuANGAIP0DCYDG6utuO6D+gqSvJbDbAfuuSPx/9s77T4oya/v8B8/7ecOz+2zedYNxXZckmYHJZBARAwYUAQkqOc0wDElBFFBEEcwJswICYljd1VXXtCZEyWly7lh11/Wec+67qqt7uicgsIb64fpUT2Do7unp63ufWFMXRSQSgQoK/wIFABAoUFt7/XlHukPmTwa5qQrdF0TQZ7Ejef8sMtx+C4AeZOB/vaFB1CkJACKnGQA4CmBhyLI4riTz5wLAsfcC121gAFAEADoScGIAoNVuAOBIwEtmNwCvCd6GDABg+wDAagcAuDUAdhsBwDlNAKBEz5uZAKcLABIpAQcvHY5j14EIDtVa4HkVQdV/oAAAAgVqy6lf5qPr5T7H6m3MfKQafUt42I+FPiUOepUQAHD4n4y585QmdOTT/0Q/AERI0dMDAAt8KYAFMVx0G53+7/UDgEMA4BAA6FqAtgOA2w1Ap3+uA3jiRADATAYUAACW0nXZtlYA4NX2RAB8KQABANUKAOA0AADI/B3R82YmwGkHAF4adMzGZ7U26kNxWHEr+LsOFABAoEBtnu9vx1ATsbFiexP6lpLI+PsSAPRdpJC10CEB3WfE0HFCHf46oUHUaWK6CEA4BQBiBAC8HpjMf1ocvUi9pxNYzCCx+RsA6DvbTqoHSF0N7MoFgGwy/9yFEYxe4+CaDX4AQBoAcAgAyPwfUAIBk6UOQJEIBLgOwHQD3CRRAEdHAR7XAKAhwEkBAIUiUvFzzQHALQhMBYDlHgAokwKwEwDwmgsAdjMAEAj4u5MAAB4KJLMALJkIeA9HAd7V2kDmz7qPzJ+1kQBA0gDcDfCxTVKiBz8hCPiUpUQPf6bwCJk/61Ey/8dElkjaAnczAGg9LXI0BHxtdgQYAHjOzAR44QCBABm/JzL/lwQAlFEqAGgJABwzUwE9KTnht2T+r5B2VTj4sjGKxjCP/A0AIFAAAIECtZrv5zfLSCiM6voY1u1qQN7iRjrxK5KD3otIpZAUQO8iHvpDxj++Hhdc34ALxjcSDDSh88SQKFEDEEqaB+AfCtTrZjr1k/pMI7OfTppB5j/DzjAZ0A8B8MQAkFtsEwQ0YdCyCK64GyYCgMwAsImLAI18Q4EmP2yLpjyiMPVRh0DAIQhwTEsgMPMJR+S2A8p44GcYAmwseNZMCHwuMR1Q9KLSg4G2mCiAfyiQKQJcsVMl7QSQxUCvuekAjgIQCPzNFghoHglwvHkAd7+jcPc/Lax/l0cDExC8RyDwngGBfxEIfEAg8IGNjR/Z2PRx3MjC/Z/YslL3gU9tPPgpb9azzWY9DQKP+iTRAGkN1EWBejqg8qSjAMqTRAIIAp4/kNALBgRSIwGpkwGTIgHH/EDgNIMAbgN0tUuuCu/VhVBrW0HbX6AAAAIFas38Od8fDlmoro1h81sNdKKuRlZRDFklZMoCABAxAPSYZ+G88TW4YFwd/koA8NfrG9FpfBO6TPADQPg0AYCi+xrCxattXHUPRFffwxEAB9eSxnEawNQCcFvg+I0cAVAijgJ4Q4F8AMC60UDAzY+7UQAGAJwYALzktAAAjg8AlLcZ8HYTCVj9hlbzVICJBJh5AMkAYBMAKAIA9T0GAH17+zGnXQAgqnTwRnUEeyNxxB39+g7+zgMFABAoUFoAUB2i4ShqK+PY8WYjhpeUI5uMv0+xg75FZPolWr0Xshx0vLEJ542rQsdxtehIANBxfAM6j29E1/EMANwKGBLzbwsA9Cbz7z3D9lIA7QUALv4rXBzF6DsdjFkPKQJkALjmXiUAIIWASQCgPACY2C4AQEYA4DTAgucyA4C/HTAdAHAaYGUzAEjUAaSvBTDtgG/rWoBkAFAEAA4BgHNKAWDzHp62d2IA8NJhR5QZAJx2AoDuBNhJ5v9KFanSxvt1MTTZDhAAQKAAAAIFSq+4sjvUNUXx9qdRXLW8Cv0X2XTy10V/fcn0+5L5y7UY6D7Xwjnjq3D+9WT+4+rRiQCg0/h6AwCcBmj0ZgG0BgAiAoBe5uTf+wQAIHtBHENXWLhsHXD53YoAwGkRAGQuwP2mGDADAEw9AQDQMwFMQSCZf7EPABalAYDlPgBYQea/QvYCOFj1KotggADgdq4FSAGANaYWID0A2Fj/z7YCgEWyCQCUDwDsdgGAWwvwlBHvCHj6m5YB4PkDNkGALXUAWrZoC5n/FpkG6HhqGwAoz/w59L+T9EoVqVLhzcoIjkVtWKa2JfhbDxQAQKBAKUV/MTolfbTPxqT1lehf2oQ+pYl8f19u+yP1YwCYB3S9OYI/j6/FBWT+fx1H5k/XztfXoQtBQNcJDa0DwE0JAOg5jdRGAEgHAToFEMfw22xcTqf/K9ZbBAA2riLzzwgAZicAawIXAqYAQGI3gCOa1g4AmE8AsOAFhaIXHZEfAKQbgAcCbddatlMDwK2vsOi2LAVycNtrINGVzH/VGwQBf3NwB2k1mf/qtwgA/u6I7kwHAO+Y7YCtAoA2/00fKwIARwMA6UEuBPxMtRkAHufrHgYBrc1fEwh8Y8tQoNTBQN6I4AOWiCMBEg04ZIleOmyL/AuC9GhgJ6kugAGAuwF2lLsdAbYY/ysVtqddVVqvVUTwaX0UTYqDAMHfeqAAAAIF8rX8aQDYX0en3k216LOwDr2WhNBrkZKiv74uAJQA/RkAyIS53e8v4+p0/v+6eokCdL6+Fp0JCrpMqENXAoCuE9sBAGT+Pcn0e83Sag8A9J+nkLcwhpGrHVxKp//L1sUxZr2NK0lXEwiMvUdhLIHAdffaBAK2TAYcx/MAZD2wTRDArYC2LwrAuwGcdgIAicx/3vOZAaBkK0HAtswAcAuZ/y1JAKC16nUHt7+RCQAcUwSYBgBICQAgcSdAiwCgpQHAIfPXag0AHmMIaDcAGB1Sohfp9J8eABJRgDYBQCVdKy2RCwC7quJ4qyqKY1EHKkgDBAoAIFCghLhCujrKa24r0Lu4Bt1L4+i5OEIAYAsEuLl/BoAsGfwTx/nX1pBqcQHpr9fWoeN1dRoArtcAcCEBwIWnDQAsDFpmY/RdjtQAXL7Oxpi7CQBIVxMEXHMPRwJsXGukBwPZshqYNZ40kSHgAdsAgEMAgCQAkOVAjzkeAMziqYCblWju07ZuB0wCAOckAgBaAABIJ0BzAIAoAQAgAEArAIAUAIDokc/VKQAAkwpwAcBEAZoDALCN1DoAqBYAwMarlXF8UhdHTNErPkgDBAoAIFAgMn/ldGigk9GdO2qQVdqArCWOPvlz8R+d/sX8uejPvc530GlyE84bW4W/XFdD5k8AQObvTwF0Gc/mHxJ1uyEs6j45KuoxhYx/ajypDqDHzaTpFnq4EOClABJyFwQlg4CGgZwiGyNXkfmvpdM/QcAVBABXrLNwJetuRRDAg4EUxm7QYgjQqQAeC6zFUYCJD/prARxMYRB4BDodYKYCTnvcxvQnFGaS8c98Sms2mf+cZwgEeDfAc1oLBAKAIq4BeInMfwt8KQDSywwAEAhYvgNYvhMmDeBgxS4HK1mvspSkAhgAbhcA0FrzFkRryfzv/AeJzP8uhoB/sggC3nVE699XuId0L53+WRs+VCQb9xEAbCTjd+VCgBsJeJBnAngQwFEApfUlGT6Z/2O7deif9dgeiwDA8gDAhYCnjVwIeNZMB5QJgfvdYkBHpOcDsPkrAYAtR5SRg61cC3DUp2MEAceB7WWOpx1c+Ce5f1uLQaBKJVSt8I+qCOpsZXYBBBAQKACAQD/yqv9YXOHJfzRiwBICgMUKfRfDC/mzBACKdOU/b/3rSQb853E1+PO1DADVCQC4ngGAzb/BBwBs/hFR90kxUc8p8RYBgNXLawNUSWoOALZAAM8AuJjD/3cqXM4AcJeNMXdpABhDAHAVAcBVHAXY4BgAUDIXYJzZC6ABQGHCg46XCnDnAkwhAJBugMds3Ejmf/PjFqY9YWPGkySCANZMAoDZz2gImCfpAL0ciMUAUOwDgMUuAGxLAMAyBgCSRAKkGNAFAI4G2AIAbh3A6jch8gPAWgMAAgF06r+LAGAdA8B7igDAFt3zLwKBDwgEyPxZGz5SuO9jR6QBwPYAwIWAZAAwIgB4lADg0d365C/aE28OAG5XgB8ATEGgLgp0BABePAgjx9cVoHwAoLWVjN8TAcA2AoCXyfhf9gGAli3aWal0F4DRziobb1bGcChkS0tg8PcfKACAQD/qnn8QALz+eRgX3V6HPovJXMn8s0oT5t/PhP152x8DQM8FdPq/MYw/8+l/LJk/RwBEfgBoJDWdWgCY4/gAgNv/FEatgZz+WZffpQgAFK5kEOCOgPWODwDMXIAkAFAYf7+DCQ9ABgNN4sFAD6E5ADxmAOBxAwBGEgV4xsEc3hCYAQAWvoSkToDFWx0DAUpDwPZES+CtbkfALptAgAFA4bbXbYIAW9IAd/hBwKQCGAJcEGAA0LIJAiwDAe0FACSnAb5ACgCoBACkpADaDgDwAQCS2wKPwOjkAADrdfrcxzUKtZYuBgwKAgMFABDoxyczFOW9bxoxZPkR9FoaQx9SVqnjAQAbfz+jviYF0HOBwtnjKnH+NVW4IAkAatMAQFgDAOf/J3EKICLqOSVKABBLAwCkGfS5NOuBMwLAfAvZRXEMW+Hgkjt1BEAAgGcB3OkCgC0AcOW97QEAtAAAdgYAQJsBoFQAQAkALHnZNgCgBADc0cAuAKzYZekogAGA2/0A4KsFWPsPltKRgHdsMf+7/ml9ZwHgOTJ/1gsnAQBebgUAdrnXSuDNcuBQE2A7AQAECgAg0I9xxr9Ch6+PkCneQSf/RXH0W+Kgb6lb7Gd6/lNFX+s8M4wzx5brCICBgAvG1pBq0ZE7Aa5rEAhgdZ3QKJJCQJIGgZAGAVMMmNgLQB9Po4+nx0SJ5UCpbYEGBGY7Jg0QQ05xDCNuIwBYy1IYfSdwKV0vv9MWXcHRgHXKdASYWgC6ciGgLgZ0dEeAQADMZEANAYlUQGIugN4PYEsagGsBWDM225hF5j+bQGDuU7Z0BUg7oNQCcDeA7ggoeUmJ9FAgWyBg8TaLIEBJJGD5druNAKCaFQOy+Z8KAEiGAJ0GePRLtB0A6PbTX1sCAU/tpdv7lOiZ/RoC3DoAFwJeOoQ2A8C243xVopfLWDZeLrewvSJOEGAJBCSBAAHA62XA53UKEcsJigEDBQAQ6McjK2Yh1NiEr4/EMHdTCP140M+SRNi/z0JHlGr+vPSnT5GD8ybV4qxrK/Dna1oDgIYEANyg1W1Sk6j75DABQLg5ANxMmk6aEUHPGS0BAN2f2SDz51qACPJKorjodmDUGgej1iYiAc0AgIsBkwDA+XYA8Ph3AQBsMn8lah0AdB2ABgB1kgDAVesA8HQGAHjuIHcBpAIAUgDASQsAW48RGByzDQDYLQLAzhqFXVVKAOBfVXFUNEYRj8URjAcOFABAoB+++dtWh7raRhyoDGPl8w0YWBoW4+/ty/m7ht+vWJu+/+Nus2I4a1wFzhlLAHB1ZQsA0ChKAECDqNukRlH3yaG0ANDj5ih6uuuB2woA88IYuCwuADByNWQOAEcCNADoVIAGAIcAgCcDmv0AzQDASQDAJk4DQOoAMgLAowwA6jsAABaZvy1qMwB84BAAOAQAIPPX2kgQ4E4D1NIA8OCnBAGkhz9LBwAg42c56QHga5Wkp75RLQKA2w3QHABwQgCwPTUCUM3tgBZeqwDeqrSwvzaKcDgGpVTw/hAoAIBAP1zZtt2hqSmEajr9P/BuBAWLG5G9MI4+JWSoLgCUZAaALDr9d7k5hDPHluGcaxgAKk4RAOjwf8spALpPsx1kzYkjpziKEbeR8d+RAIBRAgBOWgC4aj1BwHoGAEc2BJ5aAEBiLLCZB8BrgRMAoAwA2AYAHB8AJMYCewDwWmoNgBsB+PYAIFEAmQvgyvHNBeBIQEsAgDYCgJMRAAQCzFwAiQSYNIA/FZAeABwBAA0BLEurPE4gEE8DAHGpB9hVaePTqhjqQxb4byMYDxwoAIBAP0zzV3aHUFMMtXVRbPt3BLkLj6FbqSLFZcVvn5Lm+X4GAL/6zFf4y6R6AoAKnDu2CuddU43zr6khCNDmz9LDgBo8CNDtgA1pawG4DqDb1OS9AD1ujiUiAD4I6JWmKFDPBIghvySOEau0+V+8GtIJwBq9FgIBXlfAOp4NwBAAEwXgVcEEAvdBayPBwP0K1/nHAz9oy3hgGRH8iJOyGAhk/A6mP0nm/6QjAMCFgAwBruY8qzWXIwEvsKCHAr0EkTsUqPRlR7RkB6QdcJmZCXDLLpYjo4FX8DyA1xRWvs7dAA5ue8PBqjdZBARvKdwhdQB2BgBQph3QEUk7oAGBDR9CQGDDR05KSsDBpk+A+z/VeuAzR/TgFyApPPSlg4d223j4KyV6dLeVVA+ggYD3AzgiFwA27yUI2AeSg6cPaD27P1EQ6EYDeDDQC2T+no44ePEokvTSMQIDhgFTH7DtmDL1ABoEOBrgFgburIQBARYIABy8VxHH8fooYvE4AgAIFABAoB+kwrEQaurCeO3zEK5aVSNLc3pxRT+d+nuZPv/WAKDHrLjk/s+ik/+517gAUJ0EABoCdBSg07j2A0BPngx4c6wdABBFngsAJgJwsQ8ARptIgAsAl69TGHO3o1sCORJAAHCNCwD3ObiWzJ8hILEfwMZEDwBUcwDg0cB8+n9SS4YC+QBA2gJTAGCBBwB05Y6AbY4HAIt5JoAHAA6Wy2TABACsOCEAsA0AOCkA4CQDwIeOVxfgikFg078dAwEnBgBP+ABgcyoA7E8AgKcDtokIWN6EwNYAwCsSNOmArccsEYOACwG8GVBE5i8AQPpbeQxf14QQisbgBGmAQAEABPohVvzXNNbhw4NNuPmBamQvjCKn2EH/Im30vUrSA0BWcUL96Hu7TA2R+Zfh7KvKce5VlfjzVVU4/+pq0V98kQCOAjAEdBrXIIWAqQDQ9QYDABk3A5rtgNPirQCAhX5zoyhcbAsAXHS7g4vucLxIwCVrHB8EcGugEgC4ggBA5gJIQSCkLVAkAGCL9Hhg24sCTORIwMMKkx/xpQEec3Q7oNsJYCIBSdMBnzHDgZ7V44FZui0QKBYQUCYKoESLt/vGA+/QALD8FUWyNQQIANhi/ukAYDWnAt72A4CeBXD3u0gBAIju/UAbvwcAH7QEABwFQLsB4PGvHTxBevIbkPnDBwAgACDRqf/kA4CdVBewvVkkAAYELHxSE0FDOArbsoP3i0ABAAT6YS34AewOZY1xLH2xFnlLeLtfHP1LeHSu6e3PEAHQcmTtb78FCudfX4NzrqrAOVdWEABUtAIAdc0AoMsEvRjI3Q7YbXK45dXArQAA7wfoNy+GwcsdAYARqxIAMDIFAPR44AQAXJERAJRIRgN7AKDFUQAXAKaY/QB6HoDSqYAn0gFAchTADwBFpwAA7viHHwBUCgAgBQDcCIDjpQDc1sAWAeBzHwB8SQCwW4laA4AnCACeTAcAJK4FSMgPALbITQO8eAQJZQQA1QwABALKVTMA4MmA79VGUB2KwY5bHYKWwEABAAT64eT+HbuDpdDhiX80IGdJJfoscbzpfrzRL8uc/tOJAUAKBAkWes9TOHdsJc4eQ+Y/phLnXZk5ApCoBUiMBWYAcFcDe+uBDQB0S5kHwBAgagEA9DVOEGNh6K10+pcIAL4dAPBwoI1a3mAgMxpYxgOnAwCzHGi61AOkAwDo4UCnGQDWvuOI7vwn6d1MANC8BiATACRDgIMHPrcFAh78whIIeEgGA2UGAFcCAV4kAAkQMEWBWpZEAZ49EBcIaBYJSKkJeOmI03xOAEPA8ZYBQKcBbPy9KoRDDSFEozEoJ0gDBAoAINAPYtKfQwCgOry7O44xyyqQuziG/kuA7FIyf5YZ8du3BQjoTQDQlwCg28wYzr6aTv9XVOA8AoA/uwBwVfsBoPOkJnSdHCKdOAC4KYCCUgfDVyIpBXDRake3Aq5xDARoANBpAFsXA5otgVwHwIWAGgAUxt6nkgDgeqkH8AHAw8oDgBsNAOjlQCkRAAMBug4gAQBSC+ACgDsdcEsCAKQQcLsW1wIs3UkgQACwjACANwTeSgCwggBgJZn/yr8RBLzJsrHKAMDtb9u44x0/AIAAwME6AwB3k/mz1jMAyEAgkpi9I9d0ALDx31qnFgAcIz8AsPnbohMDAP9wIEUA4KQFgNerwvi0LoSGcEy6AYL3jkABAAT63os3/H1xNI4p66pRuCiCvFILOWSY2YsMAJhIgLfsp5kcrWIHF9xQS6f/cjL/KvyZAYB0/pUnBgAnIwKgAcBGIT2eYSuA4bdxGkBhxO1KQwBp1B0Ko1ZrXbLGJgiwcakAgJJVwbIp0GwIdMUAMNZsCHRHBLsFgVwHMMksB+KWQN0OqFsCNQQoDwJ0V4C/GJAhQIOAbgs0I4K9KIAtcosB3YLAJTsVycbSVyws22Vj+Ws2bn2DIIDMn7WSAGDlWzZu+7vC7f/IAAC8GOg9rXXvk8j87/4AWE8AcA/n/en0r9U8ArDhEwf3/Vtr0ykFAFd+ALAT7YHtBQCvTVAldgWkAAAXAb5apbCrOo5/1kVQ0RRD3LKC945AAQAE+n4v+FGW6nCs0casx6vpxB+mk3+MzD9O5m975t/fpAHcZT9J8hUBdp8TxVnXlBkAqNQyEQBX/lSAHwB0HYDeC9BlAmliiECATv83hAkCwhoCjPk3AwAuBiQI6D3dMiLzn+FbDTw3jsIlDoYSAAxd6XgQMPJ2R3Tx7QwBRgIBytsTcIW0BKqkwUBXS0ugFs8E0JMBHZkLIDsCTB3AJC8S4OgVwV46wOwIIAiY9qQpCnxKa6aBABavC+YowHxOB/BsgJccFG9RWEgq2eaLBmwnCNjB0hCwbJcSALjldYcgAKKVb5LecrCKT/+cAnjbwWoxf2iR+a99NxMAOAYAHNMCaNoAP9Jrgjd8TPpE+QDA8ToB0gHAI1+5UqJH9zh4TASRHwCe9EDAdAW42q9INp45oDQEkOlrEQywDitPz7sQQMb/4hGbQIB0VHnacoxk0gCs7RIFUF4xoI4AKOyssfBmXQzHCACisaAdMFAAAIG+xwt++OTfZCnc+48I+i1pRNYinvFvo1+pIuNXaQEgVfz5/gu4+A/odFMj/jjmCM4hAOD8/7lpAMCFgFQASMwDaDIQoAGgS1sAwBQE9plma02nU/8MXfzXZ3YM2cU2Bi4HhqzUGsYAcBsBwCpHdPHtdPq/Az4AcGsBDADwpkDfTICr74U3E0ADAKcCYAAAXhrghqQ1wdwRoNsCeUnQTY9buPkJAgEyf9b0p7RmEADMJPOfZaIA8wgAuB5g/osKCwgAisj8WQv9APCyEvPXsrD0FRcAdBTg1jdMBIAgYNVbIAAAVv8DWPO2Nv81rHcdrHlPkfk7WOcBgGMAAAYAkiv/N35kEQBYBACkT2wfACgCAJURANxuAK8rgEzfVWsA4IGAAIAy8wEIBMj8tSwSAQEZvyuBgCMMAYpki14k4/dEAPCSDwB0LYBK6gZ4pZI+rlF4oyaGg41RROMW/RkFABAoAIBA37uQv+oQi8bQELHwwidRDFnRgOzFNp36DQCQ+fej2yLX5NMAgDcDgMw/a76D8ydU44zRB3HW5cdwzhXlUgegIaD9ANCVAKBLWyMALQBAXwKAvBKFwbcCg24BBq/gSIDC8JUKF5FGCgjYAgECAj4A4LkAGgD0UKCr1rsAoGsBBADuc7zpgOMlCqDrACa6tQAPJQBAIOBRZQDA1gBgIGDa5mQAYM2WegDookCeDfBiAgCKtzoo2WYiAS+TthMIMADstLBkl41lr9pY/rqFW94gCHjTltP/bX/XEQDW6rfJ8Elr/+lo839XYe17Nu56X2ENzwR438FdBADrPjBRgA8JAj5yfIOAHGz8UGWMAGxqIQJw8gFA+QDANgDgnFQA2F7FAOAQCMSwuyGGiHIQbAcMFABAoO9drz+bf1NjE97dE8OolXVk5Nr8+eSftSgFAEjcCsjym78s/Cl2kFVEtwkAepPZnn31cfzx0sM467JjOPvyMlJ6CDg9AKCr/zUA2GL+HAUYdKvCkFttDFtpY/gKWyDgotssgQABgTvsZmmAy00k4CozFOiqe3zdAFwMKLUAvo4AEwXQkQBeEgRJBXgjgn0QwJGAmwgCpm12DARAIGDGMzZmPaswm8x/DhcFPm8g4CVFsrGAAKB4m9bC7UDJTgIA0mI6/S95FSil6yICgpLtWot2WAQIcQKFOEpejmHh1hiKt0SxcFuUPhfDklfiWPZaXMMBQcE6Mvx1ZPZ3f5zQPSyvDkBhA9cBfJgMABv/IwDg+ACA5ZwQAGwl099W1hwAdlQB28j8t9c40g74QW0UDbYDRX9LQRogUAAAgb43vf62ZXWIhJuwtzyOqfdUoW8x9/orZJfoFb996XbWQjJ7EYEAwYG+qmQA8EcA5gPdbgzjzMsP44+jD+PMS4/i7EuP4+zLkiHATQmcf3VzCHBHAzMEdLq+CZ0maOk6ABLPA0gZCJQWAKbTdbpNAKBP/7wCOJce04BlIDkYeIuNwbdYGLrCwjDS8JU8HMjCiNttUxiocLF0BSQAQFIBPBToHq0ruQ5ggxsFSHQEXHe/1vgHkgHghoch44FZkx91MIUBgIsCHyM9rgQAbn6SAOBJaBB4WmHaM3GCAAszn7Ux8xkHMxkCXiQYIAhYsBUoJtNfsAXy8c2bbfmZ1663MWZNFKNXRTBqRRgX3RLGiKVhDF8SxtDSRgxeVI/BJfUYtLAeA4vrMKioFoPpyhpSWo+hixswekUEV66JYdy9UUy4L4YpDynMfc7Gstct3Mn7AXgXAOf4v7Rw/2cKG9n4P9Itghvpa/ez/q2VAAD71APAQYjk44OOQIALBM+alMDzxvwzAcAWo61lFokXBSnRjkoHL1exIOOB3ypvRHnMgkXmrwQAAggIFABAoO9B6D8aCqG8NoKVW6qRs7geuYsdOf1nm1N+VjMAsBIQ4EsLpAJA5xsa8PvRB/CHSw7hzNFHcNboYwQAx71IQHsAoCNDAJl/R4YALgZsNwCQ+c/UANB/QRx5dJ/z6XEOWKaSAEAggCMBSQDgyIhgPwBcylGATACwUYmu3cTmD9H1PgCY+LAfAEAAAAMAjg8AWGzkOgow7WlLAGA6m/+zDmY8p3XjE7rL4Iq7yOBXNeGiFU0YcUsTBpbWYeCiMAYU2yiYr5A3VyF/Lj3muUD+PK2C+Q4KFuivFyxwRIULCIrodzeAvl5I10K+zgHyZhEQ0nOYS89h3iz63U8L0b9rwpCSBlxC/99190Qx7fEoSl+Oy0RBnhGw8RM69X8EbCIAkFkArM+0HnABYDddd58uAEhOC7QFAF402iIAwEuCbBFHAbYTBGw3xYBvVoSwP2whQn9UQRQgUAAAgb4HS34UnfyjaKyP4bl3whh2awWyF0fI/JUAQCLMr4z5tx0AsuYo/HlsFZn/QfzxksMJALj0eJpUQDsBgMy/86SQHgucMhGwRQCYEUefWfT4iuIoWEIGuMQAwHJLAGDIrSQXAG5zAcBOjAg2UYDRZP6XcBRgHZn/ekUAoMWtgAwAV5P5X20g4DqGgE3AOAIAiQI84GA8mf+Ehx1pC3QjAJMf5TSAg6kEAFMfZxEMPKVw81OORAKmEgyMf1DJFsIr19L9WRnDsOVRDCyJYwD9Pgr5MRXF5FpYHKfP2yR6bPR7Kiyykb+AAIAMPp8MXjTflY28eTZy5+prPsFA4Tz6PtZ8Lf64gAFiDsECfV/hPAKK2fRvCAT603Pan57b7Bn08cwYCubVY9jSGly5OoKJ90Uw/9kYbnk1jrve44JAG5vI+Dd9ybJE95P5P7DbTAQ8jREAFwCecwHgaDoAUD4AsCUCsI1O/9tMS6BAAEcACATeKI/hi0YLTQ5gqQAAAgUAEOg7nvePRqNoagzjg6/juPqOGuSWhOlkHG0GAP3bAwCcDih20Gt6HGeNKZPT/584BXCJBoCzCADOMlGA1FqAbwMALG8roG8scDIA0HVWFLl0Ki70AcCAZXEMYgi4lRXXUYDb4hIF0JEAEwUwA4JG30lXjgSs01MBr+AwO4HAVWYewFUb6Hqf7aUBWOPuT3QEjH+QAOAhTgXwjgBbQ4DZFjiF0wGPA1PI8Cc/buP6B+K4fG0MF5HhD1lC97OI7rMYNJ/ayaz54+KECouUGP6AYiUS8zcmn8fGTf9WC+ZKxj2HTvZzbC0y+HyGgbn6tnw8p7ny5tDzOCeEbO6omOUgZ7b+ebnz6GfNj9C/j9H3xTC4KIKRS8K4ek0Mkx8Mo3hrBGvft3DvZxY2kvFv2kMi838wJQ3wbQDADwF+ZQKA54+mAQBuBzzm+ABA6XoAMn/WdjMbgAFgRyXwankc71dHUWM7iBNYO8FUwEABAAT6Lho/Xy3L7hAKhXGwQWHCfSHklNKb9mJ68y61kc0pgFIuAIQ5/WeW2w2gOwL08J9+dLvbTRH8gYxfAGDUEZEbATiHdO5lZTi3HQDQiSHADwA36HZAXRAYwYWTo+g+Ja41NY6eN1pJuwF6CwjE0HdWDLl0vwsWk5baooG36DTAoFttLw0w9DYbw1a5tQB+AFC4ZG1iXbAeDKQhgAcD6S2BGgSuvZdO/xt0ayBHATgVMM5tDeQJgQ/FMfGhqAEBPv0DNz5B30//dtTtUQxd1kSn+wiZuOWd4CVEX0TwQle+zQDgGr6+nSyGBD7Va/M3mkvGPxdk7kqbPAPAbItMXCt3lvKUMzuT+Hvj9D3m++fon5U31yLF6f+hK0cT5mtgKRRFMWhBEy5aHMLYu5qw4IWYzBF4jMz7EQIBWQ4k6QBb5gA8+lXbAODJb5Ro8z5b1BIEPH3Q9rUGWgQBLgjookBXL8qgIA0BouPK1AJoENhqQOBljgKQdlVYeKssgmMxBzFbIQCAQAEABPrOTvmLhCxU1dtY+kIFesyvR84SS7f9kTEyAPQv5dw/aWH7AKD3Qvo3dBL968QG/O7ig/jDqJMDAJ1bA4BJyQDQIxUAOBowXXcA5NJ9bA4AKgkAhrQXAO5uGQCu3aghIAEAOh0g64IfBK6/38GlayJk+vXIL2pA7oIG5BdHUUDPZUGRDtfnzU+E7vkEr0P05sQvZq+/VmBUuEBDAH9Pru9EL2Y9h07tdJLPMebPyp4VF+XMtD1lz0ooHQh4sDBbRwYK+Gpu589NQEe+USHBxwD6vwfPt1A4pwnDShpx00MWbnszjo2fEQR8ZREEkPnvxgkDQGYQUJkB4HAyALzQCgC8VE4fVyipB2AI2FFpYRcBwJeNcYQtG1YwFTBQAACBvouKxeKorrXw1D/ryPiOIncZvbkvoTf0JY4AgAz84ZO/5P/9qYA0Wpg8E4DHAPcj0znv6iqcMeIQ/njx4dMIADEfAMQzAACdTjMCgG4HHEpqKwBc5o0HVt6aYG4J5OmA19yjIcCdD8AQcK2ZETCRAGAcwcGYNQ5GraD/jyMw85uQPbcROfPDyKHTcs48MmMyTFb2HK1cLuSbbwr5DAy4xXsFPjjgE77IGDAbfw4Zv8iYt2fsRtkzOZdPJ3sjvt2fP2eU4/teTwYUuB4gnyAifxYXCVpyW6cR9H3OlfuhoaCQPj9gAQEAQUDBXLrOi2FoaT3GrA5h1tMx3PF2HA/uVnicTP7Rr3kaIN0mCEgFgCdTAYA/bjMA2EnDgdIDgJMAANIW2RHgiAQApB7ApAUq6fPlMbxTHUV1TCEWs4KpgIECAAj03UsBNNXX4197I3RiLUf/ZSHkLCVDWEpGI8t+lK4BKFEtG38mAOAIAL3Zn3nZcfz+PwEA3kyAFACYpkcC9+HT7kLuAEgHAHQyXaFELgD4awB4SdDFLQAARwHGsNyuAAIAXhbkTgnkCACPCr6SvnfUqjgGLYqS6cfQb2YUWTMi6DsjSpASpfsZofvMipJiop430WMi9aHPiSnLiVzn7Tmk7576XQDInQM55XthfhcAZqcBAPe0b0w/d3oKAJjb/shAqhgA3EgCK88FAL4PvvuRiAboAkPpRJjPaQoCMwKfwgUhAqIQpjwSwsq/xWRewBN7bTy2FwQEZPR0m/XEXqW1r70AoJK6AVoGAKQAAJs/EhGAcuV1BWytVHixIo5dZVEcaLQRiVpQAQAE+g+8vwdPRKAWwv8xVIciKH2uFn2WNSBLTv2OnP7zCAByF0MW/uSQckv0NbsFJQEADwKi038PMrQzLj5IAHAAf7iIIGDkYQKBIzjzkqO6ENAFASkETLQDph8I1EYAmBz2zN/fEcDm35PMv9c0WxYC9ePiObrfBQQ6hYstkRQCLicRBAzmlkCOAnAngHQD6GLAEXfoeQAXrbZNN4B/U6DjrQt2VwZLUaDRles1BFx2l4XBSyN0oo+h981h9Lw5RPcxjB5T6b5PIdFj6DGF7vvkKLrxY+LHxsuPRI3oOrGBrg30tUb63ib63kZRzylNBAZcjEfGLgV5TgIAfOLPc7GeKy7eS4iAgIzcb/ipagkAclwAkPvAKQFljN9OktQGMADMd7wUhtQoSIeCklTGAAK0AYtiGFQawpjVcRlY9PA3ZPR0Yn/sQKPo0f1hPLYvLgDwOMHBE3sTEQEXBNLXAujOgFQAeP5whmVBfgA4rhI1AF5RoAEAMn+OALxcFsbH5SHUNUURt4LtgIFOr/kHABAogxwyf7uDpawOL70bwoD5tei7hAxxsS76yyGx+bNySk8QAIqBvqQLJtXiNyO+wR9G7vcBwOHTAADcDhgWpQJATwKAnnyi5Zz4YgYAOxkAlmkA4DoAXQuQHgBG3qEBYBSZ/yUpAHCZAYDL1tu4nEx/zN3AFeuAi2+j53d+lAyfjPtGMvCpTXQNoQed5rvfRPf9Rp5oqLsZGAB6MgTQ4+o+gTSxSXQhmX/XifUpqhN1mVBHzw/BwcRGggMCg8kh9L4pKoYueXoxfpVk/s0BwCHz/3YAoAsDffUBGQHA8ow/IVO3wAWO9FriTY0DFnGng4WCojDG3NmIxa9FsOHLKB4+EMYjB+IEAQqP7Qce+wYCAd8OAJw2AIBbA2B5cgFgW7mFl8vjBABRvHU0hCONcUQsnQYIxgMHOl3mHwBAoLQvjngsioYovTntjWL0smrk0hurXu3LEQAO/SdMnY0/VTklrYCA2Q/AY4DPvbYCvx7+NX4/Yh8BwEEPADgNcOYlPgC4rH0A4J8E6C4FamsEgAGgF5tbsYM8Ov0XlMbTAIAjaQANAArDVjokRRDAq4IdXxoAGMWDgdZC2gF5LsBoMxzoUjr9X7aeP6cwdDkBxxzeSMjmz22KBCisqSG6hsX8Pd1oZhmQ+XefTLfp8QkAGHWjx91tYmNzCJjQIOK1yVq8RrkOna6vla/3mBJCn5ti6DeN8/gqxfAV+s9IKIsjJNLXn6ycaVqcGkhVTgogZC4a1ICQAAF37oCdDABcyEivo/wSArUSjtY4BAQEEgsiBAR1uPKuMEp3hbHhCxsPk7k/fNDGo3uVjgLs87UG7svQEugNBLKlCPC5Qw4JeJ7UdgBoHgGQYkCBABs7j8Wwp8lGWJH1O8H7T6DTY/wBAARKP/DHtjuEG5uw+1gUU+6vRNbCUNLJ3rtdwtP/tNmnU6sAwLMA6IT9u0sPCACcMXwfQcBBAwGHDADoKMDZMhXQBYCKZgDA8q8F5jbATuO/BQCQWfWaRUZFgJJLJ8t8AoACMn9WIZl/oRcBSADAUAEAxwOAEQQAFxkAEAgQAHDE7EUcCaBT/7CVdPouaqD/v0mKEjnMz+H+HjeR6OTvRim6kemz/BEAnmvAIf9u9Pi6TQjhwvGumnDhBAKACfV04q+XU7+c/MXwk9VpXB3+el01PX9Vos7jaujnNaDPjVFkTbfRbzoX/EFMv990rf5ytUT9U5RNz19OOvHXprsA4HYNqPQAIEWDiXkDeW7LoAcCekARdzLk0WuICzV5YRPXa+QWa+UV2fR1HnIUwtXrQ1jyWhz3f2XjyYNKogA6DYAUALB17t8DAJUEALwumCHgedZhVyp9EaCkAJwUAPAVArIqQHLwfq0NYgAEI4EDnU7z58muwZMTyPciQYd4JIKqmjA2bW+kN9UG3ea3KCXXz6I32+yFyUV+2a2kAFIBoAed8n458mv8etjX+B0BwBlSB3BQUgF/MnUAHgTIXoAyb0uguyY4XRSgI0FAx5QoQFcp/tPqNpkLAHkIULTZMCCpAeA9AFwEV8yPk0xoEZlPqS1yiwEHLEsUBA4mEBhyqxIQ0AWBCsPvIBBYzXUAwEUuBHAk4E6Q+evCwIFL42T0jcbkIz4goStrKg8t4hHGCWBxBxmxeLxxZznps9knJOY/PnHS95s9q2OKOl1bk6TO19WiK31/NwKJ7jeE0Hcqne6nkfFPc3yyT0wMFDPcdIBDUrowUKYFmnkCXrGgkloB3SZoJ9oEuXhxgVZ+kYYA1/hZOQxuXCfALZHS9WBjSEkTxt8Txrr3FTYf0ADwuLQHAk99Q2a/j9VyG6AGAd4N4FsWxMOBeDrgMZXUCugvAtyaMhiI5wJsKQe2lJEIAv5WaaMq6vBc4OB9KNBpM/8AAAIlKR6Pd2hqrMeHX4Qw5tZaZJXGyPwTAKDNW8/9/1YAsFBDxAWT6/HfQz6XGoDfDtuLM4YfMMWAOhWQFAXwJgKmBwA3CuBBgA8AurQKAPFmANBvvn6MLgDkLsoMANIR4AGA0gBwuwEAMv2LVicAYOQdWgWlFp3m6+U0749GpMpv+HLiJ9N3xdMNGQC6GADo4jP9rtcnG3/HcQRI17mqSVIqAHS6tpYgoA5dxtXLz+k6vhG9JkeRdZPdJgDoR89jv5vjPlnNAEBDgA8AZmUAALdgcI7ldQbIVMIF8En55CTBAauQQG4I/Q4L5tVi0MJaTHsihA2fcpEg8CQZ/2YCgacIBJ7eB8n7twYAz6QAwHNHrBMAAAMBdH2l3MYXdVHEgjRAoAAAAv2nQv9NoRAO1Tbh1idqUFDSiP4y5c9n3ubk78oFAA8IStoGAG4E4cyxx/GTwZ/h18M1APxu+P6TBgCpq4G73pACAFPo9G2GAKUDgCwymexiRbLo/sYNBNBpdImWhgBlFgS56QDHtAU6GEoQMMykAkYQAIwk8x+2Chi8nE+pFrrfHEPXKTEy9liyyacoyfAncSqjSYz/wola/pN/6wBQk1bNIgBjSSYS4KoL/QyuNeg9hUEg1eCbK+umWJJSYSB7Oj23M5SBAa4JsNK0Czq+4UEtAYB/X4FfZmlREY86tkgxmZRYUBTCJatrUPpqFI/vJqPnSAAXAh6Iifk/JWIAsHzm3z4AeMkFAKMtZXoegKstFY6n7RUKb1VFUR5XJg0QRAICnToAcM2f3/ODJyiQvChi0QgaQ3E88nYYQ5fWIH9RXML9zQzcGL4nAwLtBYCs+TZ+d/lB/GzoF5IC+M1QhoD9OMODgEO+YkCCgEuPeXsB3O2AfghgJdIA9V4xoEDAhOQagG7cOjfFPWUn7wToSSblAUARQwAZVElMIICVt9gmAOAogIVCgoBCXyTASwesdCMBDobfro1/6EpgwFIHWXPJ8G8M0ck/TvfBovsSl/vSGgB04ytvNWTT95m/mL2RhPvH10txXxc2fzfk7578r2VIqkbHFHUaS1ef+OPmUQEdGeCoAINAH3ru0hl9JrUNAJLlTg3U8hcFEgDMTyOzuyAZAJQAgExJLNZdAwULCSIWEgwsimDSfRGs/YeNzXTaf/JQEykitzcfVHiKAODpw7Y3COgZrgkwi4KePQwPAvSOAKUhwKctxx2tY/r6YpktSgWArZXAy1UWPm+IIu5YHRSClsBAp874XfMPACCQnDYsK94hTgDw+eE4hi+vQR4P+1mUvpgvKeRf4iRHBNoKAPQm3HNWDL8dvQ+/HLabzD8BABwFcGsB/ABwZhIAJC8H8gNAuo4AgYCJYYEA1oWyFMjNuydvB+xBZtVrRtwAAHQUYGE8AQBcCyAQYCXSActT0wF00l8BuQ68BQQKSloJ+80l4LiZTutTGQD0MCIXRtoCAN0IANyTvx8A/Ln+jmT+nVh82+T4XfO/YGy1qGOq4V+jr381X+drxwwAICkBUveJjejLhYInFQDiPlnJA4Pm+AFAtSAnKQqgIwA6DcAqMMoj5RMUDCIYuOiWBizaHsJj3CVwuAmPH4oSCMTwFF0ZAJ52hwEdTGwN1ACgIcAbDESmz3rB6EU2/eNuRCCxLTAtAJDeKQ+hxorBAr1JB+9NgU4iAPjN3wUA3vESPFE/9hcJvRjC4RCOV8Yw96FaMv6IbOzLXMD37QGAIwsX3hTC70YRAAz9Cr8e8jV++x8BAFc+ALg5ht4zdQSg/wKlIwCshXYCAEj5i/31AA4GLocGADL8QWz89DHPEMhdpKMI/ebTz55OJ/ipjbjQy/tH5H7w/UkrX67/whuah/w9ALg+AQBs/h1deQBQ0y4AuCADAHBdgAsAXcfXSbdAb3oM3DHAagkImgOA3QoAxJOmBZ44AJhFSEYuAEjxoAwUot9hURQDimox5eEo7v1C4bHDFp48HMHmw7H0AHAoPQA8d1yJnj8BANheAbxWFsdX9VGE4CAAgECnCgDc038AAMELREL/dQ1NePKdejqp1kmff7+S9H3+OSUtA0Bb5gDw4KA8+nrnSbX4OZn/L4cQAAz+Gr8ZwgCwr90AkJoCaDsARNK2AvacpgGg71wlaYp+ZBD9iiypBWBxWyArr1SPCJYxwUvolLkUBAJkMqR8up2z2HQ7kNnwQKG+s22CHjrRT3Fb+CI6rG8MPlVdjPxFfv4Tf1eT5+eQPKvzuHqd5/crxfj/ck2V6K8p6ni1vl5gvi7f48KBrzPALQyU4kACgAsn1KPHDVwgGEYvelx+GPArFQySCwMtmR+QPESo/QDAewMKRLxJEJ4GzNfXAgMG/uJAgQBOExTHMWAhiUBgzJo6LHsjgke+4ZZBh8zfzAMQ43dSagBOLgDsqHTwelkMx2IKFoKhQIFOHQCw+QcA8GN+cXDVvxXvEGlswmf7wrhmXTn6l0bIpJMr+3N8yk4z399fD+DBQEl6yfctciQFcN61lfjpoC8IAPbg14MYAPZ6hYBpAWD0sSQIaL0Y0MwEGMd5cd88AOkISECAHwQEAnim/ow4+syx0XeeLRCQtcASCOhfxAWBZELcc17qQoAjAKDFgOOI8fOkQx501J9FxsN1BRdO1YN7tPmbHn4Z4csQwPn9VHH9QoOWL8zfxSi1tc9f2HeByfezkbtGf4GR9/HVlT6lfE9rAED/94UTdCqgJ0EMQwAXCPaeGkOfFPW9kWsFkuVCQL9pcQMBaaYJpiwT0nMB2OwdIyXtgXLl+QAiJWbviQ3eAECB2SnArYEFPOWxSI8ULpAiQRuDCewGEwxcfEsY85+P4dFvHGw+Ajx5wCIQsBK1AN5UQCdpN8BzZPLPHuN6AC2vJuCoWyCo9KbAMke0tRwingXwcoVOA2wvt/FhXRx1SsFGsCY40Mmr+HdP/i4AxONWAAA/3jn/qkNTqAH1TWHcsbkWuUU1yF4YIvOy27bYJx0MLEyOCCTLlp/dzywA+tOYY/jpwN34+eCvCAD2tggAAgEGABIQUJ6UBmAIcAEgaSYARwLGN3oAIDMBpBgwLG11fgiQYsCbouhJJ9Lesyz0IWPpO88iCIgLALD4cejWQA0AiUgAQ44i46fHWOyI+febr8Xm3+1GneeXyX1mgA+H9LvdEBFdODGcJOlc4BbG8Q3N8vwJ1SWd+C9gwyfxVcL4fLof2/zEr82fnq+rKj25AOBFBVoFgAaZN8CSSYT0WHgkca/JMQIBAqipCWkAsHyKN08LTG99nLDbEZA/2zFSeq0wQ4AZG6yHBaVJC5gIgTtOuNAFgGJ9LSQoHUC/s4ELSPQ7HFTSgEkPNOIRHhR0xMYTB6MEAXE8c5hA4HBiM6AfAJ4l02c95wOAF5IAoHl3wNYySGugAIBAgI3tlTF8GY4jAgeOCt6rAp1cAHDNPwCAH3PPv2V1aCDz3/lJCCMWHkP/hQ2kmKz2bZPZp1MbAKB/MZnqbAu/H31YA8DAr/CrQd/g14P34TdD9yW3ArYIAGVtAIB6PR3QTAZMmgroRgEmtwAAc6wEAMwnAFjAAKA0ANDzlLfIEeXKY1eSLsgqstGXTpRZZCT9SL3JpDj033Wq+X+4C8Gc+i/kCX7tAIDO4xukuM+VhPyN6YvxX+MTh/2vrmpR3xoAxmsA6GZ2EGgI4FbB2AkCgO3VBLQPAHQEIM9T5hRBMwAwkp0CxWz+JPp9DuHajpImXLG2CaveieGR/QpPkvE/dURDwLOH7VMDABU2QUAcb9RGUB5TcCwEqYBA3xoA0p3+edV78KT9SF8kNr0o6uoUpq6vQZ/5ETqZx5DlmnQrEJCa+2+b9M/NpjfaXtOj+NWI/fifAXvwswFf4ZcDGQA4CrBPCgFPFAD8aYDUNcGdrm9KmgyoIcDMBjAQwJX5PUwNAANA7zlkZHPjBgJ0OkDPBlCJwke63a9IG3+/BUrMv2+xBoC+dPLsOdOS8b1dudiP8/83hJuZfcLwQz7jb2x24vdX9rvV/Rf4Cvfc/L0b5vcbfGs6EQBIjgL4ISCcBAFtAoBpblGgvzCwPQCgWiwOzDcQ4AJAwYI0AMCbBek1OpCgbkCpwuDFDt22MWpVI5b+LYJHDjh48mgcTxMEPCsQcDIAwJHxwC9LGoBFtystbCO9V8nbOG3wGzW/iQfvXYG+beFfAACBpPI/Zjt46NVGOtnWoxebFr0JZrGZlVhpAcDt989e2H7z1xECJT9XOgCmhvDzwd/gZ3T6//mA3fjFwD34FX38m6F7pRCQUwACASPNLICLCQJGHxW5AOCmAXg3ANcBZKoF0FGA9ADQhcy/62StCxkAOAJAp/9es2zZBdB7dpwggFMBuh6ApYsCCWbY8Iu0+fddQIZWZInxi7joj0//cxS6TYuiy9Qm+j+aZJAPn/rTG79r+gnj9/L71xmlDvO5ttozfCngu7oS5/tM/fwrK9osDQEJpQcBDQHJxYA6EtBtgpYfAnh6YCoIJBRtXhQ43Z0U2HIEIM8vgQC3FsBO1ATMzQQDltknoCT/L6LfY34xy0YhAXDhIkUgwBAADFhCELBYYeSqMGa+2IBHDyk8xYV/h7T0HIATAADfnoBkADAQQNcdZTY+qgmhujGEeDQWQECgk1L455p/NACAH2Hu36z6/Wh/FMOXlNHJnwxLQtdKCtf443Sn/pyFJy63eLCfAYBOE+rx08LddPr/kgDgC9KXBAB7JAXgdgJ4w4Dc7YCXHG0GAWe3sCI4AQANLQJAl8laXbnnnsyo+ww/AGjpgkCVFAnImm/J88bqXUQGRwDQh0yExfn/rPlADzr9s/l3mUKmPklX9XfNAAB6aqEb7mfjryXDT5na56vod0/855NZs/G31/DTAUC6iMC3iQT0nNQcArRietlQSmeAOy7YXRqUCQBS5UYCXBWYcL/f+HPnG82NN18zLIWAZPy8QIhe/4X0Oi2kk//AxQ4GuWIQWBLCxEfq8dg+PvUjsRToiNNOAHDN3/bWBLum76kccn29rAlfVtShvjGMqBWHCqYEBgoAINCJvjgsMv/KqELpM/XoN5c0P3ZCAOBfvuItYWkJAhYyAOjNbX8ZW4X/zv0M/1PwhQGALwgAvvoOAoAtYgBIRAESEJAAAG3+cvIX0emfDKjbzRF0ntxIakoLAH7z1y2L/g19bjW/Keq7Vt92w/z8HLL5//mqChGb+J/HlIvOJ/3F3G5JpxIAuBZAKwEBCUWlZbCvaRF0owF6hwCnA+LNWgP9QNAcAEw6wEQD0gGABwLpAEBqAhIA4ELAgEVk+qUQDSh1MGAxkLcoiokPNWLTF7Z0AbxwBD4AUCKJCBxVbQAADQGJCICuA9hmtJ0g4FX6njfLwthT34DqaAi2CqYEBmofAPhD/y4ARAMA+LG1/ZmJf/QC2PFZBIOWVyNrYRMZPwOAOuUA4EJALv0/5115HD8j8/9ZoY4A/GKgCwB7TwAAKr41AHT1AUAPAgDO27MYBLiITwAgTRQgAQD0dUmj6Na/vgscAQee+NfphgZ0npTo688EANyumJzfNwDgnvivSc7zu6f/jABwxakFgKRlQW5B4HhdENgtBQIYAJIhIJp2gJBbE3BiAGA0xzkhAChoBgCOaMAiiAp5fsVircLSGCY8EMGmz7nnPwEAzwkE6OvzdG0bACSWBPkBYEulBoBXynRh4N/r63Ao3ICoZSF4Pwt0MgAgEo0FT9iPQlz0Z1sdQpEGVIQVZj1EJ//iMBl7BP0IAHROm4y/ODnXny7vn2r6eQvhKR0U5ErVvEJ2ia2vdIo+c/Qh/KpwN3454Ev8gk//A7/Er7kdcMjeRB2AQMBBAwGHdDHgJVpcEMi7AXhB0LlcB5AyFKgZAJj1wB3HNzYrAuxKxnQhGRL36F/I2wHJfHqS2fTkSACZTW+WmwrgKICvHiCLjKMvqc8CFp3850NrnoMe02NS+Nd5UqMe6HNDkzeHwFXnCU3ewiIBgOvqyfTrvD7+pBO/z/Q9sflfWa4lpl6G864ow5+NzsugdCCQMP7kgsBmUwMz1QKkRAL8ENCTnmcXAjQItAwAPBtA5gNMt1K2BypRiwBgIMDTXHqNsjwIcDsFfLUA/nqAYtMaWEIgIKkAAgpSfin9X4vp/19CP2sJfX5pDGM3NOGejzncTxBwGJIWeJZuP2eA4AUDAakA4O0I4JkAx+0kCPA2BlboK0PAlkq6XR3D2zVhlMdtWGZ1d/DeFqitAOBv/QsA4Ef4ogiHI2iIx/DQmyE67TToiX1szmT82UWqWXV7Jp0YABBg8HIhup01M4Y/XbyfAIDMv/BzggANAL8aZCYCNosCaAiQQkC3I8BsCDznUgKAy8jULj8xANDbAaPoNjUm5i8AwMuAyHi4FZAHAjEAuPUAyZEABgBHxCf+PmT8vedp9Zqt0GVqGF0mh7zQv38OActbVZwEAA26c+G65tP7kozfnPz1qb/M03lXHG+TWgOAdN0AqZEA/3hg3hSYBALjNQi4RYEaAsIJCGgNALxIgJ3UHaDXBzutA4BPBXNAEACzKCi1GDARBXDXCbuzAfLI/AUC2Pxl5oNNAGALBOQuoesyCwOWN+HKdfW4+4M4nj2ixPw1AMAAANICQEI8GMgWbfFFBBJAoNMDW92tgeVRvF8bQiW5f1wFkwIDnRgAuPn/AAB+LIV/lkUAEMa/9tsYtrgGfYv1ND6t9hX0nSgA5PA6XbrdY2ojfjdsD36R/wV+UfC5SEPA7m8BAOUnGQBssxZYQ0AvLx3gA4G5LggoAYAsOfmTyGy60em18+Swri/gNAP9X6kA0MWYP+f+O41rlMmFfH/1OOMa8xiqkwzfky/c7zf2cy8/1qJOFQA0iwS0BgD0vLijg131SbNHIAkEpvtBIHNxYF4KEDAAFMyFjAhOpAXs1gGAXs/5vDmQQDl/EWTgk0QACAJyGACW0s9YFkchQcCYu+uw/mMbz/BkwCNuYSDaAACOLyrgaw087iQBAN/eIhEBCzvLIvi4yUaDcqCCKECgAAACtVr4Fw2jurYJyx+vRrf5IfRaYntFedyadzoAILdET9DrPrUBvxz4BX6e9zl+nn9yAcBdDPSfAAAO/WcRAPQh0+lyY6SdANDgA4Aac/JPVPlza18yALjmX5Zk8OdcdjStvgsAkJwKON0A4K8LSJi/CwCu+Yv4Ne0DgPwSLvyj1zYBQI4PAHKWWci+JY480qAVEVyzoQlr/xXDUxwJOHIiAOB45r/1OJ36kwBAeZGArfS5Vyos7GmMocFmCAi6AgK1HwDY/MORAAB+8OLCv2i4Ca9/1IShi6rRl97E+pRySJ7Mv9TM5jerf3Va4CQDgK84MJd04eQ6/KzgM/wijyMAX5w8AMiwHEiH1Mlc2WR5N8B4E3p3FwNNSqkBOEEA6DOPRCfNnmRInaeS4ZPRdZ4UQ+cbNAB08Vr9jPEb83eLFF3zTzJ+/8k/xbTdE7/f6M++9Ag9L8niz2UCAQ0DZUkFgX+5KrkgsNnioDRAkLYwkCDAPxegmwcCYR0NOEUAkKTZtp4R4GsR9Jt/7nwr2fxJ/td1rjH/vJQIgJsCyL6FdCuBxkoHhbdauGRdCCvejWAzmf0zRywCAG38XjHgMcdbEJSQXhLEOwISoo/LFLbw0iBpFbQNDNjYUkEfEwC8UhnHe7VRVNg24rI4KJgRECgAgEBJ8/6dDtFIAw5VNGDGfeV0suF1tnRS5Y1/dO1f2nzr36kEAH4j7TyxGv+T/2+TAvjypAHAOW0EAI4ENJsGOPlkAACf/oHu0xkAIhoAbogKAPhP/B4AmE2FGgDq5b7qkD/d/2vI5K8mY766XMz/PHPaT4jMO82pP9X8ExCQGQDciECmjoBMEwKbdwekAYCJjZ75JxcFhvXyoFMOAGTwYvx00p8TF6UDAK6DceW9bksSAMAbLHN8EQCpBVhK//dyEgFAzgr63tsIAm6LY/jaWix7O0wQYOtWQP88gOOZASBVDAAveQBgeQCwrSIuALClgtMBIXxQ1YBqW8n6YEcF0YAAAAIACOSG/umX3RgK4dn3whi8rEnCmGz2bP79SpPX9J5SADAQwOHUv1xbJgDwy/wvv4cAoNIDwHx4ANCVjKvTlCg6TSLznxjRmhAh00+OAHRhAPCd/nXawm3tK5NWyXNF3Op43GfeJuR/2bFmpn/mJYfTKlMkwA8EbiSgeUrg5AJAAgJCEgVwlW6VcPr1wXablwYlAKD9EYBkAHB8ABAn86d/R6f/XDr1565UYv55t9P33mFj4OooLr67Hiv+GdUAcNjSQ4HSmn9bAMAtCrRTZGFHWRxvHA3h4+oYjscdhOkPXw8KCkAgAIAAAH704l98WaPCzAcakF1CJ6lSC/3oTYxP/v195p9zigFAQ4BusTrzsgP4Se4nJvzvBwBuBdxjAGBv8lKgVgDg3AwAkFgNXJcEAB3d7YAMAJwGmGyW9fAcADIbNn/RdBcAbB8A2IluANkW6HgA0GumQmcys0708zrR6b/TxLCo84SwBwDuyb8zpyO80H+t3Fdt/pU4jwDgXAMA54whXZGS5+cTPZt6ykm/RQAgnXNp2wEgMR74BAHAtyzowmZjgpsEAHpOdgHARALSAkA8DQD4IcBuAQDsEwIAeT3z34MJ/+cu5tY/SPtfPp38828h3Uo/awV9TOafvwrIv4Oua2wUrlUYstbG6PWNWP5WAzbzqODjStIBWzgFQHq+jEVQUOYHAOVTcwDYWp4OAmxsZxAoj+PvNXHsi1iojUURt2NwgtqAAAACAPhxvxA4LPj0u00oXNokoct+iyyjxLAfN/ffVvkNP1XpjD9Plq1A72AvBn4/ag9+kvexl//3A8BvBn+F3w35Gr8b+g1+P3wv/jBiH5n/gSQAYPNnne0HgMv0QCCWuxPA3Q4oVfVsstexdCQgEwB0NwDgSkOAhR5kMiw9IdAPApz3d6Tyv+8coOfNNjpPCmvRz5VIg1fslzB/rvrvOK7BgxM/ALAYAM4ZQ4/viqPNCvw4nM8SU7+ENOpwqzqHvo+BQXTpEZxL//7clJRAOgBo34CgDMWAPgho3hkQ0ZocSRoU5I4M1kuDeDqgLeo/zREllgYltwdqqeYwQL8rjgaI5toid2tgPsFb3gLo12gRfADgrnqmzy2h1/JS+rnLuPKf/s0tJDL/vJXG/EmFq+n1vcZC4Z0WBt1pY8CdcQzd1IBpr4Tw0H6eDGhhy1Ey+mPAc2T8z5FxcwTAKwTk22UgOZ75v0QGr0UgUKFMJ4ABAb7N8wEqIdcdlTb+XhHC1/VNqAlFpMqb3/wDEAgAIACAH93gHz0o5FAjcOmqw+i7MITsUnfTX/LGv9MFAAULNAT8avjn+En+x/g5FwL6AODXg74kaQA441sAgBsFSAaA2mQA8KUBut4QkdXAPLSHAUDkBwBSj+ktAICr2Q79G8sHAKEUAGj0Kv512N/f9tc2AHCN/ywehkTGflYbzL8ZAIw+jQDganxD80iAHwAmZQIAywcA6sQBYFY6AFBpAYA7APJdAFisASBvKb2W2fzJ+AtuJaNfQa9nY/4Fd2gxAAyk0//AO1kEAOtIGwgG1tuY8nwMDx9UeKHCwnPHbDx/nCMASs8B8AAABgAMBAgAWD4AcFsB3e2BelfADp4PQBCwk/Q6/fx/MgTUhFHdEEUoRBBgB8WBAQAEAPAjGvnLxX/oEKLj/12vN6HbvAZkL0oYf3ZK21/uaQKAQlIOvQH/fODH+Gnex/hZ/r/x8/zPRDwQSFIAg3bjt4P34Ixh/xkA4HHA/ihAMwAgg0kHAL1n0+l/uiNTBdsDAMnmXy2T/c4jcd7/7CuO4exU43fD/Gz+Fx9qVf9JAEhVKgx0S9kX4J8W2BIICARMt9sJAD7NaQ4AIgMAshbY9P7nL6GPSfnLHDH//FsVCkkFtxEErKLrHQ4Zvzb/wjUEAHe6UhhwF33P3fS19Q4G32Ph2s1x3LfHwbNluhtgy9GUVsC0AJDQFp4FUE6nfZGTBAA7KjQA7KoiCKhUeLsijk8rIjhcG0NTXBcIBu+NAQAEAPBjAQA6/X9UFseI1TzvX6/iTShltK8Yu9Mm8akof2Fm5aUBABmrSm+sA4qBrBkR/LTgA/wk7yP8T94nBAGfCgD8stDUAAz6Cr91UwDD9hIEEACMYAA4SACg1wKfOeqoVwNwNgHAOS4ApNQBfBsAENNvAwD0JfPvSyf/3rMgp3/p93fF0/5Mu59/4I9b9Z8c+tc1C5z/P5dMl/P+DABnXZ586j9LzP+Q1sUH0yojAPgkAHBpuvkAZW0CAD8EJO8IqD0NAKDMxkDlqb0AkMNRALMdkE//oiIjMX8T/l9CWkqfW64BII/Mn4v+8lfR529XOu9PAJBP5l+w1hHT1zIRgPUEDPfaGLjRwaB747j2sShW/8uSNcLbpCZARwAk788RgSQAcHzmrwFga4Xj2xvgSBrA3R64ncx/h9Er1QQCVXG8UxPGV/Qm30AnAicoDAwAIACAHwcA1MUU1u6oRk5pSI/7TVnI059OOdlmCqAAwCI9+rQ1yWjUhZklEJASFZBpamT+g+ja++ZG/L/c9/H/cj7AT3M/Jv3bAMBu/GrAV/j1wD34zeBvCAL24oyh+wgC9uMPww/gDwwBI/ViIH8kwIUABgD/YqDTAQB9CACyyPxZfRgAbop7I37dq/w/LYT+3YFF2vyrpH5BIhkEAGz+Z7p9/ZfoE/+ZpD+NPCD640X7k+R+PhUC/CDgAYGpBfB3BSTaAssyLgzyA0FqUWBrkYCTBQAaApLVPCXQHAByZmtlk/mzcsj8Wbmc9ze5f/l7kLG/uuc/bymJTv+5BAA5ZP4iAoC8VVz1T1cCgLw19Do3AFBI5l+4jmXTyZ+M/14LA++LY9BGG4M3KQy7z8GVm2JYvDOKx7+x8HwZwcBxR2oCXmCzL3N8EICULgCtl01HAJv+1kpdB/Ayi4z/ZTL+7TWkWgKBOhs76yJ4vb4JXzaG0CStggwBQUogAIAAAH6gv3w+/Tsd/n3UwpVrq+iNLaIn8TVb8pMYA3w6AaD7lDr8n5z38N+5H6YAwJffewDofmMcnSY2nTAA8BRDvu86lUEAcFkCAPwn/j+NJLNn05f0yL60AJAaDfhOAYDpDuhGz08Pep5E7nCgDADQ98ZUALC+NQBkk/mzcjg1VeTrfmEAkKU/POzHNX/6m1nB/f5c+KcBIJcAIHc1vd7X0uuczD//ToKAdRz2JwC4W2HAPWT6BACDCQCGbLQwaBNf4xh5r4PL7olj6jMh3LtH4Vky66eruCgQyeYvAOCkAQA7CQA8CPABwI4ahwBAkeKkKF6vjeOTRoUqgoA4bHqPCCAgAIAAAH5whX+siOVg46shDCqOSPg9t1ibPZt+4uR/mgGANIiHAI2vwv/p7wIApwE+xc8L/i0FgZwG+M8DgC4E7NmGGoA+JBcAepHpdJ0cbrbspy0A4J7+tfmzyuWx8MrjP5mc/5/E+N2TP6dFvsGfhn9DV10noWslkkGAdSoBoLVagFSlwgBDQPcJIa2UroB0IND3Rn9HwMkHgFzzt5DNALCEzH4Zn/45/E9fM8N+clbS65vb/qTnX5/+813zvwsCAIWS9zcAsCEBAIM3RTFkUwRDNwAj7gOGbVAYdX8Tln8cxWNk5s+Wp9YBaG0pM6uDvX0AehrgthQA4BSApAGqXQBwIUDJ7Z01Cm9WRvBlxEK9zSmB4D0zAIAAAH44U/9IMfqz3lerMOGuJgwsspFH5p9dklD/kswA4OX4jdFnUksAULBQV1D7JUVVHAGg/6fjdeX43wQAPyHz1xGAT0wx4KemDuArAoA9+O1g7gTYSwBA5jacIGDEfqkDaAkAzjkhAGDpkcBdGALIxLvfGJNwfveb4pLXZ7kQwEYvK4LJUFic/+9r8v/+03/nCTr/LzMH0uT+0wGADv8bAKDHw+uOz2wGAPxckOmT+f9h2Nf6KhDgFkzu0xECo4wAYIoC3ZbC9LUAWudf2XJNQOZIQG0GAOAoQCO6ShQgJOpuIgEcBdCRgEhibXBSJMCFgBQA8NUDJAAgeXVwziwycfp95cxVotx5dKpf4CRO/1znYob+cNU/A0Cu5P4NAKzU0/4k/38HAQCf/tdo88+/SwOANn9g4D2c81cEAEoggAFgyMYYAUBUUgGD73cw+AFFn3MwcmMU07bGsOELS+YCsMm/WB7XJ/9jZjkQg4B0ASjZBeAHgG0pALBTAIAkaQBHX73bSkDg33U2qsJ6o2Dw3hkAQKAfwtAfOv030Y1Nfw+hcGFUjJdP4DklyRP/slOG/aRW+ReY/eeZVFjSXukCwME8BfDqY/jf/d4nAPgYP8n52EQBNAT8ovAzrxPAnQfgdgNIRwB3AxAAiC4+7AGAOxDIDwD+pUDpAMC/E4CN290LwDMBuk8h459qoTsZTo8byfxvsj0I4AmBrN4zHPQmc+HQf5+ZkO/zfp4RG783fChD25+/ANDL/7sAQI/rzEv8AMAQxM/H16Izhu3xbrP+MOIb+vpeT38aua/lWoBLEgOEUocDpdsVkCkiwMuD/MOCkhcG1aYAQAOpUdT1+iZcOD4k6jbeQIC3NChzTYA/FZA6H0B3CDhpOgNIs7gLhV7jc8i459J1njn5c4SM22EX6Wl/udL2R59frsT48+jkn2fMP48r/28nrXak8M87+RvzH7DeEQ28BwYAyOg32GT0bPY2Bm+MY9AmWwMAacgmYDhp9CYL128OYeGbYTy8nwy+JoZtZRZePkrGThDA0hsBbU/u6T+1CPAVNwpQm1mvVjl4p8LC3qY4Qt70QPe9JICCAAACfe8K/zj//021wkXLq5E9P+6F4L8LADCQAYB0zuWH8F99/4n/zvkI/539EUHAh/ip6Qj4ReGn+OUA3Q7IrYCnDQB8Y4FZ3SbHNABMaQ0AHA8A+Hu/DQDoFEAFzr5ch//Posdz5iUEAKPIoEcd8kL/rvGfMewr0e+H7/mPAUDy2GAXBFIjAgwBdSINAakAEBa1FwBSIeDbAoAb+hcA4Il/y+hry7nq3wUApwUAcLzQf0sAMJiMfxAZ/SCGATb/+4EhDzgYTteLSSMedjDskQiuf6YWaz+MyejgHdzffwTYdQh4mQsEK23RlspkANheob/3FW4F5H/D0QC3ILBGRwR2Gm2vo59VB4kGvF4TxYcEATWWA1uZNGIQFQgAIND37ZeuOoSUg/U7GuhNLkrGrzfvfZcAYBC92Z45ei/+q887BAAfEgB8aADgAwKAjw0AcBTgi+8VAPBt3ifgN//2AgCf/tn8z7rsuIhD/38apfv9uZiPc/ts8r8T42cA2C36rgBA5uJAAoCxdV4k4LsAADkEALmpEYBFGgCyed4/AUAuAUDuLQkAcOf95xIASPvfCQOA7QMAJQAw9AGIBj9M/+YxgoCHYxj5QBPGv1iP2z+Ny2rhnZwKKHfwogGAl1IAgGcBvCKzAOh7q7gg0EwINIWBfgDgCABDAEvSAjUK/6hQ2N/oIErvIVY8Bt4gGkwQDAAg0Pdk418sGsWnh2O45NZaZBfrXn9vvW9Jysz/haceAAb4xQWA9CY7cIGDP47ag//KepsA4AMx/5/kugDwiRQDagD4HL9pNg9gb1Ih4HcCAESKPm+jy8RwKwCQnPv3AwDfVwn90/0/+zJ+PEcJAA4TABzC7+XUv1eeg98N3XOSAeBwm7YF+usB/DUBmQGgmlQj5p8AAI4A1CelAbgO4MLxOg3QzVcIeCoAIHsWicxfNJc+R+afPZ9UZApkF/FmTPq7WZwAgJxblFT/50rxn5Liv1xu/5OZ//R3ssZX+d8WACANMtIAYGMo6wH6+oMKQx8iPWxrPWrRNYyLHqnHhJdCWPauwsPfKDxPIPBShQaBLZWKAIAnAioCAJsAQBEAKGkJ3FqlRNsYBqp1SsAFgFdSYGAnaVeNgzcqLXxYF8feSBwhy4Kt7CAdEABAoO+64jELtfUxbNpSi4KFIfRf4qDfIifJ9HMMCIjJp0zsS63aP1kAMHBhQoPo/xkwX+GMkbvxv/q9Q+bPcwA+EPP/ad6HzQBA1wHsSYwFZggYsR9/+E4BgJLb3DXQ5YYWAOC6lnP/uvq/nAz4uGzs0wt8DpL578VvhpjdCAJDJxcAzmq2LfBo2m2BzVcHp48IeABwdY2o4zW1Ig0A9QYA6pp1AqTuBziZACDGT+rPIvPvN4eMnov/yPz7s4p0UawfALKX0t8KAUA2AUC2W/1/myLzp7+b2zUAFBAAFK41hX/r3Px/ewBACQAMuT+OIQ/EMfRBC8NYD2kNJwhgXfSIjREPWxj9uI3xT4dR9EYEa76I4eGjuiuAQ//b5LRvYycBwC7+HE8KlAJBDQCJ7gBHzH+XgQAxfxcGah2SwivVNt6oiWN/UxhhFXQKBAAQ6Dv/yw6Ho9hzyMaU1fVk7iEy/5jM+W+26jfDyN7TBQCF8yycMeIL/N/+nAJ4XyBAogCcBsj9t0wFdOsAeCJgewDg7EuPeW2AeiHQqQeAXtOVSOb/m7a/EwEANtFzed0vr/cdzWZ8mB7nXvx2KEPQl/jtkN1k/l8Z7fnOAAC3C+qPGQT8XQLVuOCqGgMCDAH1vjSAmwpI3RqohwP51wVnagtM6ga40cpQFKg7A/rP0Oo3UyGLIIABoN9c+ng+3V5At4tJJXo1dtZi+jzBc38CgOzlBAS36ggAV/9nMwDcfrIBwBIAGPqAJVGAdAAw4hGFix5zMOoJhUs2xzBqcxMufSaE67bEsOhvcWz43MIzxxzJ6b/CJ3kyeQaBbWVxbK2wCAw4IkBmz6kBur2LgIC1k75vO7cKVhvVKJItAPBqlYW3yxtwqCkKywneYwMACPTdDf87qkN9QxTPv9FIJltDp5kIskssWfKTCgB5/3EAsOkE+7kGgOz3SP/KAACfNYsASC0AtwK2GQASa4HFcMe2BwCiYv5tiQCwLpyaJv8/PhH+bwsAnMdmK+N5D9PJfz9+Tab/m0FfeACQkAsCX7YRAA6eQgA4nhEANAS4IFCnIwJSEFjttQimmw7YFgAQCGAAuLFlAOB9Af1YDAAzWgaArP8QALgpgEwAMPxRhREEACMed3DRExZGbo6THIx8UuHiR8O4+JF6XPdCGLPfjGL15zbu32fhWR4UVK2wpdrWUYBKt0iQTvhk/qwdHBmo1tohMKABYGc1i0CBvvfD6ojUBCCoBQgAIND/Z+8toKM61/dt1u+/vnNOT1vcHQoVKlDcLbjEiJEEKe60tKVo8FIoNepG3U7l1E5b3GlxCMHdPQmxmdl2f8/zvnvP7JlMQqBQKOy1eq89GZI0M8nMfb2P3qStf/TLPUov2qc/yKE3NDL/qQraTdEkAAiZIf+peUcAcvXt/0kACDR/Vij9fzpPUMjQU1CyzTqUYfMnlW1H5k8AUI7nAXTYIVoB5WZA2QooFgPZAKCmmAVgDgQSswBMAGBxCF1AwFnvLAAvAPQj4x1gAYBtFsAQfwBoFAgAoy+fAqg33Pd9xHWIPf9/KU8AqPMY/3wXRE79oUQy3p7HhHFXJaOv3H0niUGIoyG7hKqG7iIA2CXMv3p4XhGAA34AcH/MkXwnAjIEcC1ALTEYyDT/AqcAzphDg7ge4Dw9DtYF1OlzUcoLAGnelEB9evwiEkDPR8OBGeZMgAyzHkDWBPCEQO9cgGEEAMNtADDSg9YjFbQe7QOAtnkBwJNk+k+x+RtoM5bnNRhiZXObiRYA0P30d9lmOpu/4QOA2aQ5hgAAMf3PBID2YvqfrQaAAeA1wwsAl28D1OUMgAWyBiD8Q4NMX0f4R5pQxMe6UCTrU0PqM0MCwOcMAFJs/tFfaUI9SBH/oa/7UkHct270/SEbI37NxjMrFEzfqGPONhWv7lHx4VEVXxxT8dVxDV+f0PDNSV1EDljfnDTw1SkdXx/X8eVhjT5Xw1t7crDouBsund5lnKmBDgA4ujkH/ygGCv2wOQtdZ2TTaUYX5t92qlzz67fwJ3BDn31SHxf+2fUnAKBrwKnfUhhHAMYrdKpNRomWa1E2ZLNQOQKAcu22onz77ajAAGCuBrZvBvRGASIP0en4qICAmuZ2QGszIBfOPWACAEvWAfggoDafuL1pgHR/ABjmA4DGdNpsPMIt0gB+UQAyleApAA31h8sTf72hmd7BP5b5e/9/eQAA58xFCoBMlw2c6x+EGAC67UAlkqyJIAggAKhKAFUtbCeqCQiw6gH2eWcC8PewJCHAfz9AnuuCe9oWBJEeTih4DQCbvwSAC1K96bnuw2IQuCAjAY/ZUwKyLqDBAF9HQK65AENz0JTUjACA1XyEBy1IrUaQ+Y+kUz8BQFsLAEghT2i5IIDVhiCg9VNk/GOBVgwAE4DWBABtCADaJNG/0Wul9XRp/q1n0f3PEhjM1r0AEDKPXkd+AKALdbyKLoCwBVbeXzPNH2T4hs/4PzGEuB2wx6cg85eKIPOP/EJGAWQkQCfjp88nsflHfqMj6lu6/zuCg//qiP1WQ89vdSSSEr5W0Pt7Dwb8z40hv7kwdKEbwxZ5MGqJiseXaniCNGqpiqHLFAxbrGD4bx4MXZyJGavPY/t5AgAOADiFgA4AOLrZ+v4NAQBpHmDMe6n0ppaDEDJdNv+2U/yr/K8VAFzulB8oOwB0n0xvoE9mo2bELjr1byQxALD5bxMq334HKnRMuXoA4J75+FPeNrpaAZsBa/cjCOhfUACQEOAPAP67ASwQ4PvqDcuQADDEHwA42nA5ABBh896nxWm9Mqc/Om/3pkEqdU32imGgSneCgVC6hqagaujOgPqAfQGDgSwI8I0Hvj86/90A1xQABATIj610gL0w0AsBAzOEfJ0BWX4g0NQGAs2HudFyuISAViPdaEO/m7YkCwas4kB7SqD1kyQCtVwAMNkHAK3ob5vNXwAAnf5bP0dXAoC2HAG43gBgU+THuQEg/HP6NzJ9li8SEAAAX9PH3xhCUd+BIMBADCmObsd+Q/oWiOOPfzTQ80edZCD+BwMJPwC9fwR6/URft5D+H4vo/kU6Ri45jxWnXPDoKjQ6/TuFgA4AOLoJf8m89GfzPgUdxqeR6Rsyn2nqigFgev4n/y5/EgC6TiSzHHYBD8UdJJPbhjJtN9kAgCMAyQQAO64fADx2fQCAOwAYAKy8/5UCAEcA7o85TI+X4KfTtrwBgFSlmw8AquQCgL15TAa8EgA4cW0AIEAFAQAJAQUFANJIF1qPJggQ8oh0wOUAoOU4CQAtCQBaJ9Ft+rtsPU1GAFrPLDgAdDQBwLsAyAsAhhcAupL5d31XR7f36LXwnuz9Dy0gAMjQvwUAug8AvtCE8gYAeAEg+r8aor+nz/2vhIIoMvuon+jzflIR/RP9288aYn/WEf+zIfWrB3G/qBj4UwZ+PJpNJ38dhuG0AToA4Ojm/CXrWqFMxcDz32Si3dM5osXvqgCAZ/8XMNTP4X1LuQ2f3uym+av7VFNTdBEBaD4sDbViDqJ8hy0o3WYTQcAWAQEyFUAQ0GGbWQhoh4C9XgioHvHXAoA3DcAjgZ9QrjkA8Phc7vWv0HkHPe7tqEAAwBAgAIBUmUcjiyuZPt2uSlBQlUChqlkXcC0AwPtxnG8/gBUNCFYQ6AMCOwScM4sAfXUA1wMAmg3nVIAbLUZwMaALrUa5pQgCWj/uEZ0BliwQaE0Q0OopLgCkk/94OvVPpKs4/dOV/v5l+B8i9C/D/wgOAC/S7Zfo9ss6OrxsbQG0AcCbOjq/paPL21Jd39EIADRh/pcDgHDWxyQxCZAlw/4sHwDo+QAAAcPXkBDwrWn4BABR36skvupCMT+S+ZP4GkMwEEuKIyX8rKLvT5l4cmE6/rvfg4sKm7918ncAwAEARzchAOiFdp1SkTArDZ14oxlv+iNjt1RwANBNAKA3sOmaqeAAkP+Jn01f81P3qVKhJgA0IwB4IPogyrXfglIEAKXbbkYZrgVot0nWAnTY6t0JIBcD+fYCVAvbFwQAjv8lAMARgKZ5AEATAoD6wzJNAMgqMADUpp+Jp/yVJeDhpUg8CbFCx60EAFvlPAQvAKQI85cAsBPVWN12XXsAiL1SADgdEAUI3BFw/qoAILAeQJp/tl9XAC8KEp0Ao1Qyf9W7KChwYVAb+p21HqOi5VO8uZFO/hPodD8pbwBo+yzyBYAQAoAQMv/2DADz6XVFANAxFwBoQp3fVdHlPRVdGQDeJ5H5d88TAAyE0emfASCcACBcnPyl+Yd/rpH5k77UEPmFVI9cAAAfAJCivwWiv9NFPYCIBJBiCARif1C9ivlRAkBPgoH473MwbXka1hzLxrmMbGS7Faf/3wEARzfvLxiF3Crw6aoMdJ+UJSr3xfQ/m64nAPjl9oV0r9kHAwArAtByZDruj9ov8v8lW28gCNhIEMAgsMHXDcBGSAYYmAoQy4HCD+KeHkdQgxUlpwJyJ4DsBjhx/SIALDph8mm/mW1NMF8b0Um0/nALALLpe2blCwAy9J+KB+ln5UgHL0QSbZD82NtvJgjYIqIBFRkCOu8QEuZvAkDVmxgA6vQ+hzoFBoBU0REgjN92+hemT6d9VpOhdCU1GZZjDgy6RLfT0XR4BpqOyCIYICjggUHcISDaAxkANAIAjcxfDgdqN9YwT/9AK87/T4aZ/79KAHiJXluvaAQApNf0ywMAmX/X/ACAjf9jul9MAZQAICIAn1kAoHoBwFKkaf65AYBO/qQYAoCYywBAJEcGvs1B/6/P4M0tWdiXriEty42cHBfYMJzWPwcAHN2MMn+xx8+pGPX6eXSaoqIDTzNL+rMAoOULAHlV9+cFAN0DIgBhSfRzPJWNGuG7yfA35gYATgO0lxGAvACgmh0AeCxw1JUCQOo1B4CGI3NEFwB/fSAABHYB1O0vIYDD5RXY/M2NiBIA+PFvEgDgnYqYDwBULTAAHPICgF1BBwTZAOBBe1tgAQCgTq8zqNubdU5U/j9iU52+qaIdsB4BQP3H+OTPg4EyhLgToD5vCxyQikYDL6LxoHNoNvQMWg8/jZBRp9H5yQsIG38R0ZPPIX7aefR+9iIem5uGfs+nkviajj6z05E4Ix09p6bT56UjYnw6uo9LRyf62vZjzqPt2FS0HX8JbcZnkzxoNVlBa/qbtPL/bWaR6ZP5t+b8/xyCgecMGwCYui4AYAQAgH5NASDGNH9/AFAQTdee37vw+C/p+O2wCxc9OnKys6GQIUjjgLMHwAEARzdl3z/9Ij05Hize5EbUs1n05qX79pnblKsNMGAQkB0ApDSSKpRXyD+X8U/VEUpfF0ZfHyauqnnVhcKn+hTJuwDGK6gZsRslWq0jAFhvQsB6AQBlQjaK2oCKnUzjs1IAoXtQJWw/6QCqRRxC9cjDQvdEWjMB5HKg+8i87jNbAYMBwCM8cKe/bAVkBc4BCBwG1MiEAQsCmoz2BwCWGAE8ggEgGw3opFp/SI5XDALeQUB0uq03kNSf1C8dVcP3o0QID0AytyFyCqS9VPkOMgog0wHbvIWBlbtsRxUuBCRV7bZDqHoowYCYDbAnTwCwtwRaswHEgKBYhoAjwYcExR33AwF7YSDrkcTTUvbwf+/TZP6n8WifM/R8X8SD9Hw/2O8CHhKbDtNRp/dFNKDfR9N+ZPBk8q2HnEWXx88icuJp9H/5Ip558xJmf5SOt/6Xik9Xp+G3zRexOjkN6/e5sOukguPn3TiT6saFDA8uZCq4mEXKlDp/ScFZOsGevqjh2BkVe46p2HJQxZodWVi5LR0/b0nDx6tS8eb/MjD782yMei8NfV9NRezcC4icnYZOs7Po5E9gMEdFy7kaQp6VbYBtyfhDXlDJ/BWSKsxf1gDQ64QgoOOrKjq9RtfXNXR60/ADgK7vkPkTBOSuATDMGQAQMwCsFkDZBmgO//lUDgCKIAAI/YK+5kv6/C8NbzFg5Jf0tV/51OM/UtFfG4j+xhAAEPetgp7fuQkCuA7AEDn/mO+zkPDdBYxenIn/7MrBoVQVdOgn49eh0/uKc+p3AMDRTb30Ry/kynEjLVXDnC9cZOB0kpnlQfvppKn+p/52VwUAUlcPAFoeAGCgBw8DmqiSae1A0earCAJ+JzEE/OEFADa+ip12BAWAqjctAHAKICc4AIhIAJn+oCwCABKdeGvFnUapdttIW8U2xNLcDtluYxAA2HJdAMA3H4BB4HDei4JsKYG8AMAqBmQxANTuQ5/T+zge7mNGCXoex6OJR9Bk8BF0G3Mcw2adxMwF5/H2Lxn4ecMlbNqTg93HPThO5p2aBWTlkBlpKJTt0pBNf+culws5brp6PPCQVEUppKmqeDPThXR5pdcFn1p1XS7GkidYn7hbRqH7XaqODBdwMtWDfQQVW/fnYPnWLHz+ezZeX5qDKd9kY8T7WXjstTSEzruANnPS0WxuFlq84EablzwIeZleZ6SO8xV0mn8tAUATuhYAEEMAEPsttwDKU3/UD/T/49v/zcaTiy/iy90ZOJyuIpueC52fHx1Om58DAI7+HgCgFcrOVrD7gIG+9KbUisOYM9wImZEjAKBDkOK/ggOAT1cGALqf8YdPN7yKmOZTj2kSAKoRABRpthLFWqwVkQCWFQWQEYAAABDh//30dQdECuCmAoDHFQIAN+oPc5kAYIkhINssCqTroGzUH5iJWvFnUa7jTjL9bcL4S4n0x0bx2MsRBJRvd+0BIBgM+CDgcP6tgfScPpQXANBz/LBIB9DHJgQ8yIuMeuzBw1Fb0W7wLgyafgCvfHUey+gkfuCMB2kZZOxuA1y/ohpaIW4zE+atm0ZkmTaZNZs7X8Vt3bjikLQBf2OzA4FHVenNT6E3Pw1Z9HrKynEh3ZWDM9kuHE3zYO9pD1YQnCxYnY1pP2Zh0EdZ6D4/Da2fT0WLedkEAyrav6ISAJDxv06vGd4G+JYFAGT8VwQAWu75/+YOgEAAsGQ3/0AAiP2aT//0evuOXm/fKoj5Ig1P/5aJL/cp2JNFj5coSePn3qnudwDAAYC/V+GfonjoNKTg66V0+k/KRBse+jNVo9O+ds0AoJMJAF0L0t+fDwDYzT9iuo4oui9skorqYcko3HQ5irdYkwcAWCmAnTYA2CdaAQMBQBYCXgEA9PMHgPz2AeQGADeaPJ4bABoMtwDAOv37AEBAAAFAg0FZeLRfGip23UOmvxWlQkzjNx936ZA/CADo8TME/KUAcMgPAAIh4KHYY3g47hge4nHL8fycnsSDiQQEJDb/B8j8709gQNiHxn13IGxkMsa9cgTfrEink70LWS4DOaobKtRCfNrUyMhZhu1N6obO0eCfRzUKqfTmqKhqIZdKgKK4obgUDkUUMtwa3TZwJsPArvMKftrjwYvLPHjiq3T0ez8V8W+kImJ+Krq/mokur7vR+U0CgnfoNfSOhi5s/gQB1hCg7gsUAgDF3AGQFwCofgDAUQD7HICIAADo8SVHA3RE0zXma3qNfcO7AnLQ6+tsjPgxAy+ty8Zv+904my23+nnoTcTDs/2d9j4HABwA+PvN/M92uUX4cvQ7WQiZ5Eb7KWqQIj+YMvJd+JMbBOgEQ4bOshu9dVtEBMzivlAzxO8N9Qcx/Uhx6tdJmrhG8f1JOmpEEAA0W4biLVeT1gqVbP27gABZBZ/shQDR/ibG4Mp5AFXD9qNaxEGRCmBxQWBNsy2QlwPVjJWFgFYxYC37emCCgIfNKMAjZjEgF+lZbXvcw29BgKWGNghoPMqNxo+7yfRVrxqPVkT4v574uizT9CUINGAJ85dT7u6JOozibTaieOuNKNH6D3q8vxMArEPZtr8LlWu3ngBgAyq234hKHbkYcPNlAaBa9xSxH8BeDBg4Gjg/AOACQXthoN/OANJDMYcIAg7hQfG8nsb9vY6T4dPnxR1GncRDaDF0PxKnH8KcT49h4foLOHI6E+nZ9KbikSdsN73BuOmNRrfNkjeMm++NMvBj8abJb5gEAR56LJrGVfEQEKNCL3SJQIHTFjtPubBqXw6+3uTCy8uzMf6nHAz+8hL6fHYJse9dQtSbWQh/243u73jQZQHpAw+6cwHgAnrNfCB3AISR6YeTIlifEgCwPiN9rpnSvSOAI7k1kK7hX9HXfOUhOMgmiEhFn68yMei7dDy1MBXz1qXj+wMu7ExVcSlHRbZLhaJoIj1igZfzfuoAgAMAfzMpilIoi95Ul+zMQYdJJ9GBTv7tk7Qgxo+gEPBnAaDrND04AEz3B4DI6RDqQYoSJ39L9G/0fQQANF1aYAAQle/dfABQPfwAqpsQcPMAgPx8OwAICKDv24i+L4fIS7ffghJtNpD5/06Pdx1KtllLALCWzH+dUPl2f6DCdQAAefWHAR4TbAGAvUPg/sDNgaQHY4/j4fiTuD/2GD3H+9Fs8H70n3UUr3+TitXbsnDsnIKMrBy46dQs3lgUOu/TG40m8vLGLfJmCgEALJFWsKUqNJ3eVHWGAuBMlo6DFzzYymCw242fNimYvyIH0xdm4RmCg2HfZKDXZ2no/WkaEsi4Yz66hPCPcxD6UQ66fpBFgJCFzh9mo8tHLnT7REHoJy4ChGwCAjd6kKI+y0Gfr7Mw6udLGLvwIqavSMM7my/hh73ZWHs0B3suenAyU0FajhvZbjc89H7BEOOYvgMADgD8zeWh0//5Sx7M+i4bLSamowMZavsk3Wb01xcA7O19YZcBgB5eADB8ADDDQDTdd3/0LtzVZDEZ/yrSmiAAsJ1MbzuZXrIYglO1C7e+mWOBw+RmwPwA4L6eeQBAn+sEAMPcBAAuCQBDfQDAUFBvMLe6pYpURonWG8TJX3ZA0GNus8aMAPzhBYCK1wkAAqMB/i2CR8n8j+YGADL8++NPoGb0OYK2E2g5dB+mvHcGGw94cD6TTpY5LlKOOOVzYZ5+ixj+lcvwLubSzfHc/Hx4CIqUS26kX9JwIdMQcLDrgorfTylYe1LB0iMe/HZIwXf7dXy9V8UHm7Pw+to0vLH2El5fl4m31mdjwaZMfLwlDd/t9uDHfQoWH1ax4ZyKXfQ9D2d6cCpLQTqd8j30u/BkZ9ObOZm+R4KYdtv+Phw5AHAL/kKVnGzsPkYngbkX0Wa6mdvn3noe+zvFfpUqCADI9b+GV13I/Fnd2PinWACge6f8hXJPPwOAMH3SNHmNYPOfLsP+EgAMocAIQOxMoHbCQfy74SIUbbE6KADwOGAJAfYogCwIrBrqDwDVI20AEH3MBICTAQAgVwMLCDDrAFiPDpC9+fWsYsDB+QEAmT+pySgPmo5WvWoySqHPcdPnMgCQ8Vt1AEPNqMDQTDLQQ/RY14luh5Kt6PTPNQ82ACgjAIBTAH+IFEAFBoAOm1CxAwPAFjEZkAFAQkDeAGBBwJUAQE2epdDjpOwGINWKPoFa9Fw+JD4+hFrxu9FuzD7M/ToNKefJaDh7TG8mnCNXVUWMo3ZyyXm169JrVqHnyq0RJKnIylGQSUad6cpClisTOe4segPOJsN2QTOUoJs+jaCwoYuaBas7giODoiuC0yw8vtdwjN/xCwcAbrnefx7U8dO6LIRMS0VrMmEx8EcMALLJNgioIDUADADWqZ/VdYpUtyQpWehnDvSh/2f4NJUMnzSDbk/XyPQ1MnwdPWboiJxhyJM/X2fI+4IBQL2+RwkAFqNYizVBUwDlO2wlAJAQwAAgRuEG7AWoRhBQ1SwItIYC1Yw+jpoxJ3BvXN5pAO9AIBIP5BHDeQZcQv1BJgAMCQ4AFgT4DQbiwkCODNC/NRruQsNhJggMdaEeXevTlZf9lA7ZKECnZEsyfiEy/lZrBQSUIgAoRebPEFAuZL2QVQdgRQIqXSYSUMXcC2BNBrSGAuVXD+AtEOTnrccJASn3xhAARJ3EwxEH0KLvLgyedRgfLkrFvgv0JgGN/gw1GfZ2CsiucHCXvbZAo9cyR0tUcVu32hnN03pwydoD33Aew8/oHbN35ADALb32F4W4B/p8qgezPs5EG1H970ZI0rUGAC1fAODTfzhrmjR+S5EEA5bhs/n7m77P/DkFEEcA0LD/CQKAJQQAqyUEkErRqbg0nZDLhsg1wbwrwIoEVOqUjMqdU8RUQGs7YFAAiDqGGperA+DJdCYEiGU8JgTUG5jhiwTYOgJY3A3QaESOmAxoTQf0yU3/ZgLAcLeUmRJ4dHA2qpCZ8um/VGvT+En+AMDg88cNAwBp/AxPR3BP5EE07b8PY187isVbM3EylU78qlgGT6dR1a9tzDEdR44cAHD0Fy394eE/KQc86DcvDW2muAgAFDJ5XAcA0C4DADLsL0/+pvwAQM8DAHQvADQbcgp3NlqCIi1WCQgo3ny1OBmXbvU7yrXdaG4GJABov9WWCpDLgf4MALAsAGD5ACBNRAEEBNgAIFdboDcS4AMABgLr370AYKpWn/MoTo+lGEc4WrD5ryKtDgCAP0Tk43oCQA261gjfTwZP6uEDgHujDuDe2IOoHLELtSI34plXj2PdXjdSc3QonMfWpek7Q2IcOXIAwNEN+kVyC1JOZia+W+dB5+mZaEvmH0ImHCJy/vDP/V9m9r893y9y/lNYuldBIwBT5DpfCwAivABAhm8z9x4z5SnfrmgCAp8M9HwWaDXyHO5qIiMAxVusRAmOAJgAUJYH4oRI8+cIgFUHwGkAKwLAOwGq2kYD32PNBOhxFDWiJQRwHYB/LUDATIDrBACNhrFcQpXJdIu0/B0lTAAoZZq/BQClW3MXALcC/iEKAa8eAFJQmSCAVcWcCWCpBqlmGAPAAXqO6PmK2kenfTr50/NXg+5/JCYFvcYlY2VyFtw62b1GbxiqOUnPCfM7cuQAgKMbmz/U6U05M0vBtK9daJnkRttpmgQAHvc7FWINcNDBP3kAgD3nbzf9rnkCgJQEAMMLANZpP3o6Gz0QNVOKb3tFUBA9kz5npoaYWRp6Pkc/25hUMQegWHMLAHwRgLJtCADabiYT3OI9/VcWhYA7/QAg2G4AEQmIPpoHAJz5ywCg8TCZ+y9Fj6Foi9/pMa4zAWBNLgAow0WAbX7/cwDQjQCg204hKwrgLQgkkxdmz9GAHntQPWoX7ovchYd77EJi0gF8vTwdFzIMuDUu6lPF35pj/I4cOQDg6GYpINKNQjx0ZOBrmWidRKf/KRoZvy7m/Lebms/kv6sCAEMoOADoZgRATvbzVfkb/qYfFABUxJISCAC6jMtE0eYrCQDWoHjzFSjRfBVKtSBDJAgo23o9QcAmlA/Z4isE7JRsRgDkZMCq3f0jAAUHAO4G4DTA+aB1AHUHXpLjgYf4WgK9EDBMTgaU0wF9tQB2AOCJgI1IjelrOPRejB6PmHZIKtli9fUDgO476PSfIlQldKcfAIhUQASnAg6I1Mk9oTsQOWY3Pl2UikPn6A1ABzSDJ+Hpon3Nec05cuQAgKObJv8v35QXp7jRZeoFOfY3j3W/1wYAIOQzfQNh02AqYLb/FQAAn/5jZ2qIn20gPMktqv6LNuX8/0qUbEYA0JwMkSCgTKs/BACIKIBfDcAOVOxCRifW4F4+AhDYDmhBAAOALAY87wcAQmI8cN5zASyjb2yLBOQCAPq4br/zKN6SHl/zNSYArPbq+gGAqbAUGwAQKEXsQbWYXahM5v9g7HZM/+I0jl9Q4NE4z6+JVjOnot+RIwcAHN2UEQBDtADN/DEDzSZcotM/nfqTpETuf2rAwB/eB2CqUy4F5PunGt5+/0CF0r+HTZFb/OzyTfnTbUN+jCCmbyBmJrf9WdIRR1cGgKhpmph5X6SxLAAs0WKV94Qs6wA2khFuIgDYLHYDVOi0FRU7JxMApEgA4BoAMjReEFRd5LYPCdU0lwNxO+C9DADcDsi7AQgCHow/jQcJAjgKIFMB5/yiAAIECAAeFVEAHwT4A4BLyBcBUOjqkXMAhntQn9SAPr9q+B7c3XQFivHGQ3pcJW0q1WKVEBcDlm5Fj7f1GgEBchiQnANwZQAgVYXnAhAAVKETfpWwXajRbT/uC6XnJvwQqnXdhdhxe7ByVwY8Bp34eSys4YT6HTlyAMABgJu6/Y/fpI+n6+j54lm0nKwgZLKv9S84AGhe2U/6wU78Qbf7mQo3W/4iOORvaZphm/Dn3+IX7NRvmT6r50yg5yzSswYSZgM1QlNMAPCdkEsJQ1wn6wBCNhIA2DbjkfF5IwChvuVADAA1Ig6iRuRBAoBD3oFA93EagLsB4ggAep4inUYthoBEfwDgvfXC/BkCCADqBEwHtM8FaGi2+jUa4RHG32SkSlceBETGP1xBA7r9SL8LKNFmvUxxiPoGNnx6bNzpwKkOur8U3V+aIaAVQUDr1QQAa/8EAGw3IWCHuFYjCKjZ7SDu6XYYVcP2osXQHXj1i2M4mWpA5TcEc+MeDOf15ciRAwAOANzEv0SppbsUtJuUirZ88p9E5j+ZjD8pj5G/U33tf8EBwPCG+fMHAFu+3y/sj6AT/i4LAGT+8UIaes0x8FDMPtzdcKUAgOJkjKySHB5vtRZleB6AuR63nBcCzI6Arilmy5uEgOph+8VkQK5yZwioYY4GvjfKHwLu926zO5NrP0DtvhwBSEed/nJLoBwRnGFbFyzH+/KAH1ZDM9TPEMAwIAYAMQAQENSIOyonHLZYIVSihTR8Nv6SzVegtAUALa8lAJjqvh3VQ+m+LrtRM3w3hrx0DKv2ZMJFx35p/M6J35EjBwAcAPjbAECODrz8iwctxrqF8TMAtJ8s1SHpJgMAUeznU+wMOwDoIvyfMFtHn+eBer2PoHDjVSjWbLUXAGSO3AcAPBTIBwBbJQDwVMDuvu2A1UwAuMeKBPQ4bBsNbAcAGQmolXDGhICz3sFAAgAeS0ftfnYAuGQDgJxcAMAS4f8RbrELgMP/j9LnlumcjGJk8sVbLCUt9wFACwkA1u1rFQGo0nUbqnTbQs/FVjJ/ur/LBtSN3oAPfjmL89kasnXO9etOL78jRw4AOADwd+sA4D3k/eanoeU4FR0mmQCQZI8AGHlKmj5f4VUX0/yvHQBoZP6aLPQLMP141izu/ddF+188KeE5CQBNB51C0aYr/QCgpAkAXAdQRnQD2FMBZlsgzwToJmsB5G6AvSIKYEUCqkcesg0G8kGANx0QzwWBZ0g8GOgCQcBFgoBU1GZ5AYBP/1lC9QZn55oMKAr+RuSg4UiXmBDYaFgWmpAeSDiJwq3WomgzOv03XUaPbbnocrCiAaySnBZoSTDQapUw/6sDgG3C/BkEKnXZStctqMTh/9DNiBm3Axt3Z0PMj9Cdyn5HjhwAcADgbyne373xkBuRz56nE79GAKD7IgBJ+Zv/jQEAjQBAI/PXcwMAnfzj5+gSAOYBHcdcFPnxYs1WXR4A2gUAQNf8AeCeAAC4N8YHALIrwAcAEgIkADzyWBoe6Z+GOgMueQGAxXUAfgAwTAJAg5EEASOyCQAy0WToJTLhnbi7KT2mpstRrElwAGDz//MAsN0HAJ2TUanTDjwQtQ1j3jyI5GM5uJThFitgndeQI0cOADgA8DdVjmbgkzU56DzlAjol5RAASAjoQADQUaQALgcACJBhKwLkLX+4xgCgEgCoQQEgfrZG5i/z/wwAkZMzxQrcggBABQKACu23eJcD8XbAKvkAQOB4YAkBZjpAtAaeJp1FrUSGgPN4kKMApEf68pbAdNQmAKgzMAOPDsz0RgHqDfGPBNQfThrJrX9ZaMy3+11ESfqZi9oAoAQBQAkCgJJi1sGVAUAFCwA6+ACgkgCAbbYIQDLKdVyDpoM34f2FF3DkbA7SM7Pgdrnh5PsdOXIAwAGAv3H+/0IOMP1bF0KmZpKhZ6LjJFUAQMc/AQBdrycAzMgfABLp9N/7eQO95vL9HjK5P8w0wEobBKwJCgAVrxoAzChAdAAA9LxCAOBUwBB/AKjHADAsC01H5OD+6MMoIsyfHk8THwCUvEIAsM8CsCIBFTpuQvkuW82lSNtQscsmVO6+DeU7rkLoxPVYeywDF3OykJmZQyd/3jLnmL8jRw4AOADwt/3l8fz/o+c0jHg1He2mK2iXlGMDAKmCAIAM+Ru5RvwGTvm7EgCImi6r/WNIsTN8Pf49edBPgBJmkfE/y+avInGuJgFgjkEfK6jadRPubrRUAABLzANomT8AWKOBK3e1jwbeZ3YEEABE5AMAtjXBLGs6IENAXtMB6w/KQIPBmWjI7YBDcwNAQzL/psMy6efajsKNVxDQkNGz+QcAgCVvEaBYDLQKZVqtlgoYCGQHgLIdN6J0ly2o3GEbKnUk4w/lnP9S9J+zHjvPZolTvysnB/wCd07+jhw5cgDgb376d7vdWLfPg55zGAB46p+HTF8jGV4A6EgA0DEP8+94HQAg8goBIGGW7gcAvUwA6D2XpeHhuL1kmHRabrbCGwWwFgMxAJRps95bA1DBXA8spwImewHAigJYLYHVxIZAXyEgLwi610wD3GebDmgBgNUSeLUAIFYBD0yjn38tCjdchmKNWUt9ABAAAQUBAF8kwISAdmT4pKodNqBShzV4oMdqzP30MM6me+BWPFBU59TvyJEjBwBumV9eVlYWPl2diS6zMtCeTLb9NDL8KRo6kfF3IuO31DEpt/Fb/3bFADDVPgEwOABEBQOAGYYfAEjjl0p8Vkev2Tp6P0fmP1dH3+chagD6Egg0GXBCGL4VAbAAoKS5GMg7D0BAAI8GNncDdJbrgSt2kbsBOAogWgJDJQBY44HvMSMBsi3wmKgDuDfupHdPgP+OgPPeRUF2CKg3UC4JYghoEJACqD+CxwLnoGbkAdxVfxmKNFiCYg1Zi1HchICSBDhCAgSWk/mvKAAA/I5y7dajfAibv6kOm+j6B5rFrcGXC8/gkgdQ2fSdE78jR44cALiFqv81vVDGJTdmf52KNlOz0WEapKaap35LNtO3KzgA+C/5sQAg1Bz7KzSVzV8TsgNApHX6FwBgIHq6NP+Y6YZs+yP1nKlfFgD60Mm/71xOARAIvEA/65PnUJLMr+AAsFUMBPIBgOwGkDMB9uQCgOp+AGCmAmKDAwCnAYIBgLUlsMGg3ABQj9RgaCbKtNuEO+ouJABYjKINWYtQrPESFG9CENB0mVQzgoHmy8j8JQSUbrlSqEyrVTYAkCOBy7Sla7t1qECPvRJ9XKn9OlHs17zfGizdcgEuTQf9V0h3Rvk6cuTIAYBb7Jen6oVOnFEx6o00tJ2s5Lvgp4PN8AMV2PaXFwBYpm+XBQCW8QvzJ8VM08n4Zb+/MP/pGnrOUIOE/oMBgC4goNfzKga+qhFIpKJ0m1Uib86SELA6DwDwjQUW1fBdks3RwDvNyYC7/1IAaDA8hyAgB7X7n0dh+tnvbrhQqEgjn4o2IRBouphEMEAq0WypgAAfCCw3QWCVWAwklwP9jtJt6RoiH3t5ulYOWYXW8UuwYvsFeAwd3B5qjYp2Xi+OHDlyAOBW+cXxVdMLbdmvIWrmBbRLUvPc/JcXAHQ21SUXAICM3/AqNwCoCJ+iCFnz/3tMlcYfFQQA2PzjpqsEAFpQAEh81pAA8JyZApijoO88DQPmGxj2NoNAFip3/iMXAJRoIVsBSzMAtNkgjZAAgKcCMgBU5OVAJgBU6uqLAvBugKphB1A13AYAYkHQEe+SIN4SaKUB7FsCrdHAweoAOA1Qf5DcC2DvBOBJgPfGHcG/GyxC0caLUbjhb5cBgMVk/kvzAYB1AnrKsdqsRyl6zKXbrUXXEX9g655MMctfDPZx5vg7cuTIAYBbEQA4rKsX+s8aOvlPySRpl133G2j+XUx1DTB/CQA+BQOACDZ/UiRBByuK/j/RNjEAxE5j8w8OAP6nfzL52QYZP4trABT0f0nHkDdAAAD0e0XBA1HJQQGglDcKsD7XXoCKHbeK5UAVOiebAGCrBQjbTwAgowDVgnQE1IyxIOCEd1VwrcTTYjRwfsWAdbkWYJBvQ2A9AoGGQ3JQsesu3FmfAIBO/38GAEoRAJQyIwDl6VohhB4/nfwjx27F+v0Z8GganO19jhw5cgDglh7/qxfi/ewzPstEywme4LP+TXWcImsCOttP/Uk6uk42NcXwO/FLkfFPJtFVmD/dF56kkenziV8j01el+DYpiv4/0TbFCmkEAVIiBUAwED9DKmEmnfpnkfGzCAB6EwD0eY6lo/8LGoa9Dgx/iwFAx9A3dTQZsJeMcpnony/OEoOB1qKkFwL+EN0AZUM2oGy7jWJFcMWO21ChEwGA2A2wA1UIArwtgWEcBfBBgB8ARB9DjRhp/lY3QGAhoNgNQOZviQHAGwng3QDcFTBERgPqDsxEyZDNEgDqk/k3+BVFCAKKmirWeCGKEwQUb7JYqARBQElOA5BKMQSQSvN4YAKA4m3WoGSb1QIAKoasR4XmK9Bj9EZs3J+N1HQXVN2Z7OfIkSMHAG5xADAKXXIZGPziRbTi+f9BAUCu+2UA6GQ78XfxAoAmFVD1L/L+k+nUTwAQSgAQxu1+9DURSZo88dP37EHm30MAgFQU3Rdtkw8AVBMAdBMADKGEmRDm39tUHwKAvgQA/ecaGPKKgRFvMAAYJB1PvE8AMuGYmJvP5l/CBgAcBfDWArRZ76sFMOcBWLIGA1XqutOcCSBbAoMDwPE/BQAyCmC2BQ7Oos+/gCItfsdd9RahMAFA4foEAA3I/E0Va0QA0HiRKQKAJgQATZcKlWq2TKi02RlQutVKkQYoG7IW5dqsROf+65ByyIX0DBdy3G7n9O/IkSMHAG71/D+/0W8/oZI5n0aHJD03AEwxT/5TfO2AVwMAYQQA4VPY/IMDQJSp6Ck+84+5DAAkBALAswwAOh6bY2DQi2T8dPof+SaZ/9sqScfo93g7YJpojythRQCarhIrggUABKkFKGfrBvAOBmIAsLUECgiwpQHuibRHAHx1AMEBwJcCsNIALAYAsSVQ1ANkiLkANQgo/t14FRn/YhS5IgBY5gcAZei0X4HAp2yr1ajQfiHCHl+DrUddyHC56cXpAi/1cdr9HDly5ADArdz+Z0j9uktB6wnn0XVqkHW/QYr+8gKAQPOXAKATANDJe7Jl/sEBIDpJKoYAwK7LAUBiAAD0fU7DQDb/19j8WboAgBHvaBj5jo7Br6mo3HED7mrAufJVZi2ADwK8aQBzMmDZEC4G3IryHbbaBgPtQMXOKd7BQLIW4IBfFEBEAqKO4p4YHwTkjgL4CgEt2WsB6pirgrkrgAsDK3XfizsaLEPhBlcGAHJCIKcAlgoAKNlyJcq1WI2SbRYi8pk12H4oA+k5LrjpxckvXOe14ciRIwcAbgMAUHQUemdJNlpMuoROotAPZPJ2BRq+QWYfXFa+P1Sc+tn4NVM6AYAuzD9yMouMn+Cgx5QrA4A4AoD4aWT+BAAJ0+0AABMAVPR7XsOQ+b7T/8g3NTMCYELAuwYa9ttNRvqbmKVfhOfoe9cErwkoCOQe+Y0o224LyrXbIiCAIwEMARU67RAFedcLAFi1TQioOzAN9QakojQByL8aLMHdDRaRFuLuer8ICLAkIKDhQgECFgyUaMKgs0xMP5S1AMtRnLsAmi1E64SlWJuSjvTMHHg8HmehjyNHjhwAuF2k0S8r020g6aNUtJnsFmH+aw4ASVJhXPh33QCAIwA6+s3VMOxVQ5j/iNel+VsRACECgFHv08858RTuaPQb7ibzL9x0OYo0W4miBQCAcqIewA4AO687ANQWAEAfP3YOxdv8gX/T6V+YP+mu+r/g7ssBQOPFKNl4GUo2WYNSTXj/wVIUabUUD3X9Bb+sOIWsHB2KqhcynNG+jhw5cgDg9pGqKYWOnndj8Ctn0Z5MmXv4O5I6J/mroADQPSgAqELheQCAN/cfBABiSXEEAHEEAHEEAD0DACCRAKDXTNkB0Ge2isEvW+YPDH+DjJ8AYIQNAEa8TQDwroF+L7tQuPkS3NloGUHAUtzddAWKNF0togD2YkBOBZRusxFlQjZLADCjABXNjgBfGoAAIFR2AlQ1dwN4ASD6KAHAMds8gFNiO6BvINA5UdzHxYDBAYDrAVLxcK+TKNJ8Ne68CgAo1XgJSjdegTL0OLk1sHLHX/DJwlNw6Wz+mjPgx5EjRw4A3G6/MMXjwtb9LkTPPCMKALuYp/8uk4MrL+O3JKr9AwAgbLIqFD45OABYxp8XAPQkAOg5la+quDIAJEyj0/90IJEgoPcMHX2e1UXof+h8YNhrXPlPIEDGP+wtTVT/WwAwkgBgBBcDvg/UjNiGOziczgAgIgG8WldGAUraogCl22wQAFDWlCwIlB0BFTvvEN0AHAWo3H2fXxRAFAP2OILq0UcIAi5fDBisIPARgoBH+qei3sBUPNDzKO5qvFy0AN5dbyEZfgEBoMliOv0vQSlRC7AEFVv9hvn/OYxsnSf8GWIRlPN6cOTIkQMAt1P+n978FZcLv210od2E8+g4Q0OnKf6DfQJP/N0m6eg+SfNKmry/wgIUTl8TYYrNv8ckA1GT2fh1Um4AiKX74myyA0A8XROn0sl/GtCLRRDQZ6aGx57TMehlCAAY+pqOoa+T+RME8OmfUwAj31KFRr2tYMQ7KkZ/ALR54iDubrQERRovE3UARZvkBgC5JVCOyJVtgZvEhMCKHbagPKcCuiR7JwNWDuU0ALcD7ifzPyAAQLQDiqmAvu2A9xMAPNDzFGrFn8aDCf7tgLkjAFL1B6XhvuhD+HfDpbizHuf+fxO6q+7/RB2AJXtRYDFScYKBEo1kUWCxJgQNzRfiidd3Ij1bg6qqYv6D81pw5MiRAwC3W/5f0wvl5Ljx0aJstJuciS4zVXQkA+5Mpv33AQADfWbpGDgPGEwAMPgVHUNe1QQADBUAYAQFgMcJAOKe45W6dPJvdCUAsNELAKItsIttMqAXAPZdEQDwREA7ALD8AKDfRdQlVQ3djX/WW4x/16WTf91frwgAOA1Qhh5rt5FrkXLKBbemw3kNOHLkyAGA2zX/TyfAtAwPnv8qDe0nedBtqhtdJiukfIr88gCAsHxkAUAkSZh/vgCgEQDoPvMnxU/RSXxVkTAlAABm6HhsNp3+X9QJADQCAM0LAEOCAMDotxSCALr9LkHDfA+qdNyIuxsQADReGQAAa7wAYI0Htg8Hqth+M8ozBHTyRQEqdd9NELCXIIBnAshUAK8HvkcMBfKtBw6EAHsxIKcA7IOBBATwcCC6n1MP/3x0EZn+IhSu+5tQQQGgTNOlqBe+CKu2pcKj69DgLPZx5MiRAwC3rRTFgxPnXRj/7jl05B5+Mv9u1xkAoi4DADECAAw/AOjJAEAn/wQbALD5i/z/LA39niczf0kl85eyA8DwPABAFAS+paNh70MEAPL07wOA1QQAq8n8CQJa8WAgGQXw7gjwAsBmAoCtAQCwxw8AqnsB4Ih3O+B9MXkDQOBkQBEJoGtdAoDSbTfiXwQAdxMAFCHzL1IgAKDTf6PFKNv4J3zw/RG4VUPk/Z2/f0eOHDkAcNv+slDI7XZj93E3Hn/lNJm4ik5i2p9KAKBfFgBCJ0qFXSbkb1deABBDt2Pp6yzFTWYAkLKKAO0AkGB2ASTOUNF3jo7+dPofQMY/4BUFg+YTBIgaAIgaAFEA+JZ/CoABYNTbcihQxMQLKNlstYgAyCjASrkgqMVKlGi5CiUJAkq34oU56/xWBRcUAKyWwHtsa4LvjT7miwIEFANaIFCbIcAEgTp9OQJwjn6m3/GvOhz+X1ggACjaYBGKN1iBwrV/xVNztsPtoZO/pjub/Rzd1pNPnefBAQCnAJBOgTluFzbtd2PA3LOiRa/zZJ7yp+cbAeh+HQAgNgAAegYBAHsNQAK3Ak5XkUin/8fmGRjwkob+ZP79X9EwcL5eIAAYTeY/8l36mhczUan9OjL/5TYAWEFmu4IAYKWYmFe61ZpcAFAhHwBgcSFgQQDgftESeCoAAM7hEQsAyPw5AlCn1xkUabIKdzAAPCoB4HIpgKINF9PtxejU53fsP+1GjuJ2Bv04uu0BwIEABwAcACAAyMzJxm+bshAzLRWhZOrdJgBdWZPY6IMrdKJuyvACQPhkn8kHA4BI+vwepnIDgO5n/oEAYBUBeiMABAEJZP4Js1Q89rxBBi4BYMDLqogCDJyveQFgaB5dAKPf0QQAjH7PQ/cpqN9rB4o0WoKijVbZAGA5AcAKAQClWq4WS3NEKsCsA+BCQLEquOMWsSa4YpcdYh6ALwqwz1wTfCDXmuDAVIC9JdACgUd4OBCLIKBO3/N4OP4E7m64HHc8+hvurFuQLoBfUbjJQlTv9Au+WXIaaZkZUFTF+dt3dHu+32k6GZFeyEPurzoRMAcAbvsOAPqlZLlz8J+VWQiblEXmr6H7BDL58UC3ibgsAIQRAIRNlOZvB4BwEwAi7QoGAHR/9GSpGFOxk6QEAHAqwCwGFADAoX8WA8AMFX3mcugf/gAwn1MAGoYIADAC2gA1odF0+n+cAODxdw088b4HYxYo6Pb0MRRpuJQAYI2sA2i2nABgWQAArDEBgKMA6wkANgoAqMAA0InnASRLAOB2QIIATgPIjoACAEBPAgCuBeCOAG4LTCQA6EWmb9YDPEoA8FDcUbG7gDsA8m0DbPAz6X8o1ngx7mz4PUa/sA3HL2bC7cqBE/p3dNu2O5P5ZLpVnFFVZOg6nCiAAwC3eQeAUig9Oxvv/pxB5u8m09clAEwg859oymv81omfTH8ShCImmqJ/Dxbq72E3/Qk+RdP38BODwCRNKHaiVBzdFzdJlQWASWz8OhKTpBgAEnnk7wvwA4CBfPp/lQsAdTEHYNjrOoa/YZi7AHQ6+RtCT7ytY8y7LANPvq/iyQ9UDHrZjQpt/yADXYMijQkCmi1DseZLRRSgOENAq1UEABICyrT5nQDgDwKADQICKnbYjIoEARVFN8AOmQoQLYG7zFRA3gAgOgLiAtoCSQ8RBDyceB4P9rog6gE4AvBQ7BHcXX+RMP+76v/mld38765PMNDoOxRp9CN93i9oGfMzdh3KQVZOFnTR8+/83Tu6DYedkQFluBScIu1X3DjHA7Cc58YBgNt7AqAbaRk5ePHzVHQd7xaGzymAbkEAwBfyDwIAAgLyDvlfFgAmXhkAJE7T0HeOYZq/PwAMMgFg2GUBwJAA8J6GJxfoePpDA00H7CMDXYGiTVajaFMbALTgKEA+ANB+s5gJ4A8AKX4AYK8FyAUAsbkB4MF4HwA8aALA/T0O0OmfTD8fAChc7zexJrgwfU6Jep/jq0UnkeVyweVxwXAG/ji63U7+9D6nKlqhLDZ/t4K9igc7NQ9OGlYbrPOacADgth0CxDMAVMx8Lx3dCAB4fK8dAEKFDFM6wicYQn7Gf00AwCgwAPSi231mGug3D3jsJaDfSzr6i/C/BIDB8wsKAFJPvK/hKQIAhoBez6aiWKPFdHpegSJNlkoIaLacQGA5SrRYJVsCuSOg9ToBAeVC1pM2oEK7TajAxYAiCpDshQAxGKjbblQN3Ycq4b5UgNUWyBAQbC6ABQIPJZxDrURSr/OoTRBQg4DiX3X+JwYA3VnvVxMAfvUDgKJ1SfWX4N91fsSwqeuRrRjwkPnrhrPe19HtGfrPVjWcJOPfpylI1lRs1TTsVT3IVBXourMDwwGA21Z6oXNpOh5/IQ1dx3nkaX+CKZHfhzfPH8a5fYaAiYYZ8jds4X/Da/qWAk3/sgDAUQBSrCkJAJoXAKz8f69pOvo9R6f+FxgADBJ9zAAgIgCazP+/aohdACwJAGT+rLcMjGYAeIdO/u9KPfU+nf4X8FXDuA811IrYJGcCkPEXYQBouoIAYAWKN18l5gJYLYEMARwFKNdWAkB5LgYUHQHJohbABwG7USV0LyqLegAuCPTtB5ATAo/ligSwahEEcBRAAEAiAUCvc6jeLYUA4CfcWfd/QnfVk7LM/y4GgHo/0+n/RzSNX4aUQ9kQ2/2cvL+j29SMVLqe1VXs0dxIMRRsJwDYrOnYQQBw0ZMDPgQ5AOAAwG35iwK0Qkcu6ug75xI6j1Pp5M81AFJ86g+fwIav5ZL3pD/RKFDOv2AAIBVrSgKALAYUEMBLgKYpdPoHBjxPJ/8XZQSAAeAxEQUwCAB0oSHz2fwhNPx1CQCj2fzf4tM/8OQ7wFNk/k+TxhIAPEMA8AxdJ34EhI89LyIAhZstJQBYIQGAZwIQAJRosVqoVKs1oiOAAUAUA4bIYkABALwcSECAmQroukusCfYBgH8qQKYDjvkXBJqRgAfNosAHCAAeYQDouhN3PPIz7nyUIODRH3FX3Z+E7rZBQNG6v6Jc0+/x5n8OQVENsd7XWfTj6HZs9VPo7z7d0HBIc2Gn4UIyrAiABIAL7mxwHZTTFusAwG05BIiOh4X2ntIRPzMDXQgAuo8PAIAg5u8HAAUM+V8dABg2AFARN1VBwgwNj80lAJhnAsCLEgD6vqyj38sGBjAAzC8YADwdAADjF9D1XRWjXnWhcqfVuKvRIgEARS0AaJY3AJQLBgCdzLkAZNpVbG2BBQWA++NsAJBwHg8nnkXVLsn4d202/Z9xlx0A6v8sIYC3AhIgdOyzBPtPZEHRNZEDdf7eHd2O5p9JH5zUPdivMwC4sRMe7CAA2M4AoCk453GJtlgHABwAuE0jAEahLQc1RE3OkqY/wUAYQUDo+IIBQI8rMP0rBwB4ASAuSSEAcIuhP5z75/D/1QOAHhwAOAXwnoIJH6poNWSn3A7onQzI44FlFMBKBXAtANcBWKOBy7azIGCrXBAkQGCHSAVYtQAcCagSepnpgAQBnAqQ6YBTuL/nadwXf06kAyp33CoAoPCjZPiP0rWulACA+v8T/f9lGn+Dj78/AkWjF6BT4OToNjR/Lu7LhEHmr5D5u7GbIGAXabeuYRcDgKphh6rgtAMADgDcztWxDABLNikIG+dG2AQgXIggwJRIAQSRCP2TIif4q8d4FsHAeIIKUrRXup9iJthlIGaiT3ETpHpOBMlAvAUA0zzo/ZwuAIDb/x57wQIAWQfQnyBg4MuyBmAoQcCwV3UMf83AiNd1jHpDw+MEAawx7xh46h3T/N8j83/fwLj3ZQRgwgIF4z/Q0XvOGTL3JSjSZIUUmX9RMw1QvIVvR4AsBpRRgLIhG1COIKB8+y1iQRCvCebZABU621YFCwjYRxCwH9XCDqA61wKIbYGHbZEA/6LA+wgC7ut5BrXiT6FSBwkAbP53PfoDXX8gGPhRzgFo+CvuePgHhA9dhjOpisz9O3/njm4n0amfW/tc9MFpMvu9ZPopBAGsXVwHQNqpaUgmpVgAoDgA4ADAbRsBQKGvF3nQ9UlFFPSFT7DLyFMR43MrcrwFAIYEgHFk/KZi2PTzUOwE36mf1XOCVDz9PKyESTIFkDBTQx/O/ZMeIwjo+6Jh1gDITgDuAhjES4DmqwQAGoaTRrymY+TrGkaTnnhTSpz+39Yx9l0NzxAAjDMBYMIHIADgSADPBnChduJ6Mn+CgKbLUbjZijwAQO4HkKkA35pgKx1QvvM2lBddASnmgCACADMSUC10H+4J248aEQdQI/KQNwogxUWBJ8R8gHtjT+HeuNOo1fMkAcAW3FH7R2H+d9b5L13/i7vr/CBTAfV+RbFHvsQva85CN+Dk/R3ddid/Nn8PfXCeDP4waRdBwHYy/WRSCt1OYQDQdfpYE1BwigDArSjOaGwHAG7TGgC6vvvNJXR6wiVO9FcKAJE2sfFHeXVtAYBHAPd+ziDTJ+OfZ+qqAcAIDgALIMQAMO4jA92ePo4ijZaiWPOVVw0A5TpuQbkO20RBYIUush7AlwrYi+oMAOEHRBSgeqQdAI7i3iiZDqgRexI1uSiQYIBnDdzxCBl+7e9xZ+3vBADcVed7Mv8fccdDX6D3k+vgpl+q84bm6HZ7L9PMk/8FQ8cRzYN9ZPYCAMwT/w4yfgkBOnaJNkCOAJAJkRmJ5VjO8+gAwO0IAK9/mYrOYwgAyPQjxkvlBQCBp/4eNkVxeH+cJc1PVwcAhpkC0NFrBpk/nfz7EAD0foGuLxhXCACqCQAqAYAeAAC6CQCmPjAw/iNg5GseVO+0CYUbLUOR5ivzAYDfzcFAvjXBvnqAzaImgAsCK3TxRQIq+0UBDqC6uTLYKgq0DwqqEXOSIOAE7o89LpYP/evh/wrz//cj3+LOOt+Rvhc9/9XafoFlm8+T+etOSNPR7WX+pBz64CyZ/0E62e8VOX8+7Uvjt8TmzxGAfWT+R0jn6PSfpapQdec181cDgNuEAOdJu8EA8OLH6ej8hEfUAMi+f5j1AMFD/bkBQBcSOf9xwVUwAJD9/z0nSMVPlHMA4qfp6DMbEgDI+KV0CQAv6qIGQAKAgUEvcwGgjmHzDQx/VScA0DDqDR2j32Dz1zHmrcAIgEbmLzXhA92nDw0kfWqg25gTuKvBIjkToPlKv3bAkt5ugHXeWgBrSVBZ7gqwIKD9VlELUF7sCuCiwJ1eCKjafS+qh+4nAJADgu6xFQUKCIima8xR3BNzDPfHHEfF9hwB+N4LAAICHv0vAcB36PXUGlzMVKAbzrhfR7fRlD8ymBwy9XNk9mz+O0Xe3yNO/1z0t9MM/9sBYL+m4BgBwHkyfwYAxQEABwBuPxmFXDqQ9NpFdCEA6O43/U8OACoYAGhm0Z+K6PGK1FUBgJwA2HOCVDxPBZysIGGmPP33nkuaJ82/zwsaAYBGAKCZg4C4/x8mABgY9iow4lV5+h9Fp/7Rb8oIwJi3zA6Atw0TAFSMW6CQVDJ+nyZ+oCHpEy4Q1FClgzkVsPkyGQWwQYAVBRCRgNZ/+DoCzEgAA0C5dlwQaAOAzgQAXawowF5UMwsCra4Av86AaLrG0H3RR3Ff9AlUar8Nd4jwvzT/fz30tYCBso0/x5e/HYHGbX/O37aj26DYj4tc2VSyVTJ/RcUhjxu7NDeSzcI/OwDsEIWAulf7yfyP0un/HF0z6SoAwHlerzsAWGIIcADghhfNaIUyPHQanneOAEBBdzJz0QbIkQBx1RE+zl+RXplh/3EBADDOUm4AiLUpGADEWcY/3oQAHgM8VUGv2ab5P28I9ZlnRQD0ywCAkQ8AAGPf0W0AoEjjXyA1iQBg8gc6pn8JdH3yIIo2XXhZACjd6neSjAJYkQCOApQN4TTANtkayKmATikSAkQUYA+qdt+HqqG+AUECBMxoQI2oQ6gRTbejGABOEgBsxz8e/g53PPKNAIB/PvQV7iS1j/8BB45eAr0XOn/bjm59g9Hlcp9Mj4ozbhUHycR3q24yeo+IAFjm7wMA1S8NwCOBD9PJ/7Sq4ZITAfhLAMAOAQ4A3AQVs6ruxtl0HcOmn0FXBoBx3P/PcwAIAMbLeQC5AOAZqR4mAET7AUD+KYDLAUDPAACIJwDoNZNO+88Bveaw+cMEAKBvAAD0twHAUD8A0AsEAOPNCIAdACYRAEz6UBMdATVDV4u5AEWbrZYA0GIlAcDKIAAg5wJYkQBRD0AAUI7TAAICAgHAKgjc77cx0DsoiAEgiscGH8X9USdRpWMK/vHQf3HHw9/gXw9/K0L/dz/4Iea+vgVZWQoBgPMm5uhWP/0bhTT6O89UNJzyeLCPzH+n6kEynf53kHaZ+f9deQAApwD2aAQNpFOahixeCuR0zPzlAGClAZwn7Qbl/z1qDk6mqug/6Sy6PalI4x8HMnp/AIh4xqcelmwAEDVOFwWAFgRIEJDFgDHPmKLP85Nl/pYm6Ijj3D/djmcRACRO0YT59ybz7zVXFwAgT/+c+zfQ70WZ+5f9/zoGv2JgyCtW/p8A4DUDo97g4T/c/6/5AOBtA0+/Y9hqAMj8F2hk/D7x6X/yh5wKUDDxEx1hzxxHyearUazpWrMQcDlKtjQBoFXeACAhYBPKt9tMALBVDAfiKEClzimo1CUFVQgCqnbbJWoBqobtR7XwA6IeoLroDDiIGpEHZYtg5FHcxwBAX/dPLgIk87/jke9wR+2vUbXRm9i4+QQ8LhXO1D9Ht/rBhZVDb2CnycD3kcRkP52n+ymizU9W+mvein+Z//cvBtxNn8d1AMc5BQAdTvj/+gJAYBrAAYCb4IXEAHAqTUO/pPPo/pSK8PHS/KUkAFgnfktRphgAokwAsGRFAnoIACCTfyYPmQAQG0Q9xzEAGAIA+kwns58jT/+95vIMAF/4nwGAVwD3N4v/eADQEAKAoa9w9b9Op3+u4mcAgJj+9/hbujB/IT8A0AUATFygezWJlLRAAsCkjxRM+Eijr8/B/WGbUbzpGtEWyBEAXg/sXQzUKj8AkK2BohiQAYBUqfMOVCYAqNp1J6qRqoqNgbIt0NI94QckAERYAHCCPncX/ln7JzJ+AoC63+P/ar6L3mN+RXq6iwBAgfO37ehWn/CXTR+cIfM+qMq1vmz8otdfk4a/owDiCMFejTsB3Mg0NAcA/mIAYDEAeBwAuHERAIX++I+fJWOdcAHdn1Rt5i8BIND87QBgmT4bunU7EAjyA4Bg5h9H5p9A3zuR/j1hooa+sxgAyPzn6NcMAJ4SIvO3AcB4AgA2/cnv+zTFBICJDAAf0ud8ZCD06VMo1ngJQcAKFOdUQPM1shuAIKCkWBO8lrQuz1RAuXayJdBqC/RCgBkJ4FQArw1mcXugBQH3hBMEhBMARB5HdYKEfzz6K/7xyA/4R53/4p/3vob/rqDTv0eDRi8q52/b0a064IfnW6TSG9cRXutL5r9b84gT/w7u8dc0b4FfQQCA0wK7CQD20/e6ZDgRgL8KAOypACsK4DxpNwgAVHoBHTlLpjvhoowAkPFaABCRBwD0uM4AEC8AQEPiZDL8Z3UR+mfzDw4AcgPgAHME8J8BAGn8mldTuAvgQw8mEwBM/EjHhE9UjHnbjdo9tqB44xUyEtBsjd+GwJItJASUbrXOBABbV4CYDVAQANgbFABqhh8mADiCe8L24Z/1FuH/1f4V//fgN6gX9iNOpnoIAFToTv7f0a3Y6mdO90ujN61DZNg7FbcI+8u8fsFO/Sm5JKcC7iGQYKhwAOD6AEB+tQAOANzo4RkEAHtP8pz+i+j6lIKwZ3SvIoKYvx8IBDH8YKYfOzZvAIgzQ/7+0hA/QUXiVAV9ZrPx0+3nVRMAdAIA2QLI/f8CAMj4eQBQIACMJAAYRQDw+OvAE28Y5gwAHwA8QwAw7h0N494lc3/fLPwTICCV9IGCKR95MOVjBUkfExx87EYSQcCA5y6hQus1ckUwm7+5HMiSFREoJeoCeD7A7yjbhlMBZjEgtwSaqQBrZXBlAQC2CYG2SED1cCmeFnhvxAHUjNiLf9Vfiv97aCH+v1rfYvL8vVAM+UJy3sQc3XLGT3/UGfQB9/gfVRXsJfNPUTnsz+N99QKf+nN/jkEQoYvvdU5zUgA3CgBYzpN2gwBApz/+Xcc1MvNUdHtaRehY7YoAoMdlAIDNP18AGJcbAGLHK+g5WUHvWbyQh83fjYTnFR8AkPn3eUEV1f/9X1JJeQPA6AIAwHgGgPdMAFigYPICjxCf/qeS+U/9RMPUTzVMI03/VMfsLw10GM5tgYvI8FegRFO5JriY1RnQcmVAe+A6mQpouwFlQuRMAJYfAAgI8AcAng8gAWCv0D0CAvbh3sh9uLPRcvzfAz+jYuMfsHxrGjw8yUxzwv+ObgHTN9vxWCp9nEp3HiKDPsDhetIervjX5Erf5CsI+Qf7vGReCUzvgWd0BwD+agCwQ4DzpN0wAFAK7TymkaGnojsBAKcBQp/WBAiEkyLGqnkCQNS43OZvB4C4sVIFAoBngHi6P94EgPgpKvrONsTpn81fAoCK3vOuEgDeNDDmDTL+N/MGAHHy9wMAGQGY9rGK6QQBMz/RMetTYObnvDXQg5rd14k9AUWbLEcxS82WEwSs8JsRILsEficQWI/SZhRAzgWQK4MFBHi7AmRboCUZCdgtVJ1HBpPujdiPIk1W4//V/Aadei7C2TQ3VMXpYXZ0axiHMAUyB7HQhwf2cKie8/tk1rtVnQDAN81vZwHNP68IQLIGAgCNAEDWADgQcGMKAp0n6oYBgFoo5QiZ/dMXCQA0af4FAIAethqAawEA8QQACQwAz2iInaAgcYaBPs/Jyv9EMv/EeRp6P0/GT9e+L0j1IwAY8JIUtwCKAUAEAMNe0TFivoFRDACvMgCQ+RMAPPmG5gUAngI4TgCALgBgogAAjYxfQkASaQoBwNSPSAQAM8j8GQCe/dTAzM8MzPiSfvak0yjbcgWKNVpJILCSAGAZijVdRua/3D8VYAGAGBBEANB2EwHAJrEuuIKoBTAjAZ12EADs9K4M9gGAFANA9e77UDN8P0q0XI+7HvoOk5/bDJdLg6ryFDMHABz9jYv82PzJFLLcHqTykh464R8QVf6yup9P6wwBOzWu4M+d079c3n9H0AgAQQABwGndKQK8UQWBDgDcwF8MRwBSDqsIe+qCBABOATzNQCAVMZbMngw8aixyKfqZyxT65aNYkjfsL4wfSBRXFT3p9N/rOd/kPzZ/MfqXTv+P0e1+L0gNeJFM/yVDaPDLwJCX2fwNDCeNnA8CADL/V3U88bpO5q8LAHj6TbkEiDXuXZinf0P0/SctMETrXxIX/5GmkaZ/qGP6RxpmfGxFAEwA4CjAh2406ZOCIvWWokjD1QIAijdbihLNlvvVA8hIgFkUaO0JaCvbAiu032TOBkj2FgVWMlMBPgAwUwG8L4AAoEbYfvq6bSjT4D/45n8HoPPoX80xf0d/3/chjQzBo2jI9Ci44HHjuOrGPs1FRq8Io+Ztfpb4xL5T1b1AsEuVUJAfAOzIEwDk9z7lAMBflg4IBgHOE3WjXniKBymHTABg8w8KALjOAAAvACRw9T+d/ntz7//zFgDo5ux/BgA1HwBAEADQMOZ1af4FAoAP8gaAWWYEQEKAjhlf6Bj+chbKtVhGAMApADb/ZRIAmuUBAK3/8M4G8AOATjYA6BoMAPZ6AaBm+AFU7rgdD3b5ERt2XIBBAOCE/x39PfP9MuTvcavIcCs4pXBfvhzru1eTA304z79Ds630tQOAenUAkGxet9PXbaXveZp+GAcA/hoQcADgZgIAVS20eR8DwHkR+mfDtyvyaT2o+VsAcFmjH+tLBfjJBABu+Uvg8D99v0S6n0cAJ84ybGN/zdG/AgDUq4gA+ADgKRMAnnmL9DaH/i8HALoXAGYSADz7sY7ZnxgyDUDXGZ8ZmP4FEPHMaRSu+xtKNCYAIAjgSECJZiu8WwMlCKy1QYCcDeAbDsSLgrZ5JwRWNGsB/MYE89rg7vtRrdt+3BtxmEAgBd1GrMHxC27o9AIynPY/R38n4zd4jr9ayEXGf8ml4hxdj9Hpf5/Kvfky18+mnmwzbTZrUbRnuzIA7DQ/N6UAAOD9fppp/qoEgJN0n7NA68ZEAhwAuIE1ADxTO+WI7gWAyADzj3yKAOBpI7fyAYBYu/IAgJ5mwV+CAABDQAAXAfacqCFhFsEAmX4vGwCIuf/z8gMAgwBAJwDQCAD0AgHABAKACSL/b2ASAcAUAgAe/sP9/1P59G8DAG8EgIx/9qdSHAmQEGCgSa8UFGuwGCVELcBSFG+2iABgmWgTtACgJAFAKQsA2qw3BwNtQjlRC7DN3BYYDACkqvHa4O7cBXAINUOT8eTLO3EhxwNN08VmNOdv2tHf5uBB4g1+F+k0f5zH+dpG98rTveE1+R020/beZxq4BQXifu+4X3+l2EcA0+dts2kLaTP9/48QfCiq4UTSblBngPME3SAAYO0/BTJ+EwCe1n0i8+/xpIYohoAART9NADA2uPnHjc1bPZ+Wih9rmObvgwCxA2CKjsRnDSTO9QeAx+bJ8H9uAGBpBABcAKhJAJivYeSrXASo5w8A7wAT39Ex6V1DFABOfd/AVAKAqQQDLC8AkPnP+MQfAJ4zr89+Bsz8kocKZeP+rn+gWP3VKN54CZn/byjKACDaA62JgWv9AKAsbwlsLwGgfL4AsEuoWihHAfbgvh4HUStiCz7831FkKIoEAOfv2dFNXuTHRapiARkpw9Dp1M3LeDzYy9P8NLOvX4T4/c3dbt584mdZALBNlxK1AWIngEL/7tMOlqb65fy95k8fbyZtMTQCAA/cHhUOANwYCHCenBuoQ6c4pH8BYU+qwvh7WCogAMReEQDoQvFj9QAA0MUq4MTpOnrPNqf/zQsEAO0yAKDaAEC75gBgdQFYACAggAHgC/qaT1X0mnIO5bkFsNFiFG2yBEWbLhdpgGKiHoBrAXg40DpzOiApZCPKtNtEELCFIGAbynUkCOCOAAsAuCWwqw0ASFVDd+HB2MOoE7MZK1MuIUvxONP/HN3kaUbO8+pihn8WnTjOkukepFP5LjZrTVb5p6j2E7vhPeX7iT4nLwDYpvsAILc8eQCAgU3082yBhqME0i4epOW8lv5yAGA5T84N1JEzQNy4dIQ+oQrTtxt9QQAgbmzeAGCd+KXI/MdqQvGkRIIAS14AmEEnf57+N8fc/DeXZQEAyyDz1/8UAIx7S2riNQKAWV+omPGFgskfamg7aA9KNCbjb7wGRZqsIAiQkvUA3BboWxhUWgwGMvcDtN8q1gUzBFTotEOsChbrgsVcgJ1CvDGwWuhuPBB1CI17bceW41nIUVwOADi6OTuMRGU/5/jdOE/mymt399KJPJlMeRsX9KlmUZ912g9WqS/MH1Jm8V9QAPBGAPyVbN329v0HAgCnAbj+wCO20jkRgBsDAc4TcwN1/DyQMP4cQh9Xchl9MACIJsUQAMSM9eX47Xn/4AAgT/3xpvkn5AIADXGTOP9vIFGM/yUAIOPvY4qN34IABoD+BAADGQBIgwUAaBj6sgSAEaRRBAGPz9fxBEHAmNcIAF4n8ycAGPtG3gAw5X1ZA5ALAGxtgM9+IgsBn/PWAgDPfq4RBCiY8bmOZ953o17PHSjcYDUKN1mNIn4AsErsCihtLQtqQwDAg4HEZEA7AJhpABJPB6zSzVR3goBwORAoZMAO7D+XA5fidt60HN10xi8L/BSkud04SuaarHiwQXNhg+rGZlUVhi2k+tr7LBgIbNOT9QCGSA0I888jAmBvFQxUslkAuN00/61W/t/gr1VxnH5GhhXntXRjQMB5Qm6gzqTRKXvSSYQ97qGT/eUBIOZJHbEEALFP5w7xBwcAefIPDPn7A4CK+Kl0ezaQOEdDbyHdBwDPwwcApP7zNAwgDX7R1EsSAIYTCIxkACA9QQAwhgDgSQaA19j8NTyTDwAkLfAHANkGqAkAmP6RKgsBP9a93QAiEkAAMPtzhgADsz7TMetLHU+948a93TagMBcENl9lpgFW2qYDckcA1wJsIAjYhDIhDADbUL79Nr/JgDweuIq5LphVpTsBQcQeMScgduxenM/QwG+0TvuSo5ultYv/HnPITNPdHpym6yEe5EOGv5FMeJ3mwR8EAJtMANhqAoCl7eawH3vYP9le5BfwcbIfAATX9iCRAkv8/99igscpXkvrAMAN+/txnowbJqPQ2XQyVwKA0NEer+nblRcAxD1FJm+e8PMr+CsIACSOJ00n83/OIABQTQDQ/AHArAWQAKATAOh/DQB8qGMGXWd+pOcGgM8gxBDA6QD+tzlfaRg9Px3lWy9B0cZLyPQZAlbIPQF02w4AZQgAyrYlAGi71X9BUDAACCUACN+LMu02YuQLe5Hh0aBqqvM37OiG9fBrwvR5r7uGbBed+F1unKJT/yFFwR5NESF4NvfNpI1030bFIwBgq2nAwoRVqa2qlqfRJwd0AFwWAEyTT84VKfD/nK1+AOCkAG6UnCfhBgJAZg4w6tnz6DbSg8gA878cAPS8JgDA2/9k/v/mBQAy/48MYfD+ACA1+3MDcz7VMe8zN+Z8omDOF/RzzzyBks0XoWjTZShq7gjwB4D1YktgubabSVtQvl1+AJBCAED3he9HqZDfMe3j/chWNGjOAiBHN8j8uWqeJ/ddzFFwIseDwy4P9roVpCiW8atk7KoI+bMEAJi3twacwi0A8E77C1IEmGxr/duen7GbXQHW9xe384GEFPpZTysOADgAcFu25xiFXCow/qUz6DoyGxFjVESOyQ0A0TYJAODTP91mCQCwlCcAGGa/f24A4Px/wkQNvWZyBIClBwCA7jV/AQDP6yL8P4g05AUSAcAQAoBh1xwAdFEHwOY/MwAARBEgGT6b/pzPdMyl6/OfaHjhUzfmfarSx/S5/z977xkkR5KeaeLnndnZGmnLmeHskLvcH7dmd0a7o53tLs+WQ+5wFLkkbZe3FNMKugW01lprrTVQAEprhdIFUdC6G2gA3ZDd0BqlUkS4+3fv5+4RGZmVpdBAzww72uwxj8wSQGUX8n388889slz62zE36Xf4hkE/bqLf+XNTBfi9vzDLAD/4iZWAn56BAPChQOe6FYA//P+u0/d/foK2FN2muCuJO6zD3+OQbxPu5m+Xip4h7O8h9L/EjP8CxtPxOJ0CZxg92xeY7WPmj6A+zeD6tOPqCsB5vwrg+hLAYmBkwE0q1Xt8GqgaBLmYGvD2OW7uOy/cLj+PvyfvRnjsxPUdNUMBCAXgO3cil1DUZ/7W+/Q3I5rp7yEARgIMLAD/NN6Efiq/sgIQ5FcTEyTvAEgvADy+N4W30CH0FxH1XcykCMBy4W8DHITrweAjKwBDIQBDVxmGrX6zAjAP1/N3K4S/SisAS/eZ4F+WKWj5fsbV4b8Sj1dCClZkSZqbEaeffnSN/rf/2EC/Cwn4XXs0MEsA3yqYJeD3f2ruD8CHAv3orxI3B+q4BAAx+B/X6Ae/OE4ljffJ5a1V4RkAIW8Te8AUn5IXV0TtCM4nLmb7CMwrkXb6NBqhczb4T4DjsTgdAychAKcgAKchqWdcZZG+FHhhzwJwEQHMh/GccRMVgvOdhL2uJogEWiQ8YfCb/Ew1gT9+NvB5F9NUArgx8JqI09N4lBzhhgcBhQLwHTwNEOOavY/p70a20f8cnwj/zgTgV5Z3JnRNRwHg4349VKL7f2pc7//vrwVAWQFQGp79JwTAhQC4EADXF4AhugrgfnMB2EEQANKnAXYQgN1EC8EiiMAiLQEEAaCAALg6/INoCeDrLIcW4uN/+sEl+lf/uZ5+78dH6fdYArQAHDcCwMsAf3mOfqhvEXzOSgBm+/beACwBmr+7RH/A/O1hOv55MwnbeBX+Hoe86cD3JgfI7D5RTPmfxCXd4Vvxxh36NBKhs5EoncLM/1TMRfAzwuLSScYxsAR4nObwd0y5/5yd9Xszc37M4X/aVgfOp8z+gwJwViTwdhR8mqZScC7weV0JwHU8/wxC44TLaaEAfFcFYEv2C/rvwyM68L9tAfjVNAjAfGErAPJbE4BpW5UvADO2E83cCQnYmSIAu1IFgHosAKv2GwlYBglYsN+h//TOOfrenx20AnCUvgcB+D7fHIhvEawF4Cz98Bf2NsF2KSAoAH/0d5fpR397gf7DPx2ky3cjJHUHbfg7HPLNtuxxFYnX9CV+lzBR7xPFTL8Zv1gPhaKbCP7P2zDLbkc4wwTOxiRm/JJOI/hPxRD4eKyJe+D5Tjgdd/XsXzf9iQQc/mdtj8Bp1/GXCM4HegjOB5YJzogEXkPh+YBQeONZt3sB+BR8iedf4uNhP00oAN+99Tz843fxRrCnuI3+fkQcgS/pHzj4wT+O4/AXHUv/vRSA9yzpBcCld2fEqe8CzPwXqQ4CMGCppAHLhF37N+H/IeDw/yRFAIZDAEasRvhDAsZAAMZBAMZDACZAACZu4PC3ArBZaAGYCgGYthUCsA0isF1CACTN2iFpzg5Bc8E8PJ4PFkACFu5WRgD2SEiApCV6GUBAAgQkgHEtZjmAlwBYABhuDGRJmLypjf7ze+fpez9u0kcCGwE4bQXgrK4A6EOBAgKglwL+5rKGlwF++N/O0R+/f4RuPBWkQgEIeY0jeaV3Qp+SfWII41ZH0Yu4ogdRSbeiLl2LYZaP2f2JSJyORlxA1AR4PNFOdArjKVgCc9ITAB/M9OPpORMXCQGw6Bm9a8r/p20FgPsEmDOWs/7nWAICcCbw/FkrC2dTqgSdC4CgS0rQLdCCaxmW/0MB+K7B+3Zj+AdSWBenfxxjtgH+Izf+cfiPE0mBn0pPBEAHvyUR/qRloC8koO9kh/rOEbr0/0EnAjBwmdCNfywAHy7D7B98slxoUgVgJARgNAsAGL8W4Q8JmLg+WQAmb3L9KsBUXQUwSwEzIQGzwBzLfEjAAhYALQESEoDw3yM0izNcWrzX9SVgqS8DpiqwMlPZXgDG0azIwp+/sYX+5H+eod/7syNmG+BPzoCzWgB+XwvAeQ3fGyBYBWD+CBLww786R//X+0fpzktJ3r0cwt/jkHR7q5PP4Q808OGiBQH4lG+9i7A/34ZwBidAU6ugI21xamqL0WGMh/Dc4TalOdIGCWhXdBwCwJxgEPrHo/hayAPLAHMqnp7TgJcAzrkJzurQdyyuXiYwSwbm2ls2YHHwBaETztglgdTwTysAernA1UcP31GS8ONR+G8pFIDvHC7fj1m5fQ6dcRHaLQh8kXa2/6YEoO9EDn4jASwA/aY41H8eQn8JHwKkOvQAJAuAhABICIBMKwAjVrk0atXrCcCMrYTwVzS7xwIgIQCihwJgKgGruCqQC9HYEaE//u8n6Hv/pYm+/xdn6Ht/fkaPP/jLc/QDSIAWAb5F8C8vJB0M9EeQAF4i+JP3j9PdV0Th72+I8rflSb0nX1f0IPW6P4Qb94gb94jgi/TYVfQVwvQKZvnnW6J05lWUjrXE6SBC/xASsKkVM/1WBH2rpMMtLh1uZXCN5xgWgKY2ScfwDY8h/D2O2vGErgiIQD9AMifjXrAnw8/ppYOUfgFvPGMlIKlK0IkAnBXdC8BnXl8BnvtUuXQHz7WzAIS/T6EAfPf288o+USdCl28jYGc0Y9bvvlUBCFYA+uG5/hCAfhCAD9IIQP/eCMDqNAKwrgcCsMUTAEmztyXCv3MBkK8tAGvx3NoskKdo3u44/cd/vkjf/zFE4M9P0/dYBH5yln7w07MBATD8wV9f1DsD/j344c/P0P/zwUm635wQgHDm8t3buqsC91J3HLdPDDP5tmicmsHjtgjdjzh0F7Pxa+0CYY/wfIUQfoHgfoEZfrPQIc+BfhDJ19BOmOFjVt+CIG9hAVB+6AfxBOCoLwBKX3uPT0Q6CoB+HDWcBKcCDYJ+oyA3EcZcOobrY675Og7/k6lC0AMB6IxzwQqA3Wp4VsTpvIzTLSkoSmEFIBSA7+ibSSwWoTv3EZzzntM/j3P09r5fje+etKHP4GPvMRz8ExD8ExICEOwDYAHoZwWAKwAc/v00kvovQfiDQUsZSYOXKR3+QQEYAobyVsAVLg23FYCRtgdgtG0C9HoAJgSaAD0BmLZZ0vQtAuGvtADM3C5oFkJ/tu4DkDRvp9cIaJoBF4JFu00fgBEA7gOQJvj3Gpbvk5pV+xWQFiMAa1gAwJpskEf489vpT9/9jH7w4+O6AvB7fwkR+Nlp+j5LwM/P2YbAM/Sjvzqr+SOIwO//7Az9yfun6O5LFVYAvkOHdemOfA574fbhu9ZFdOA71Nzu0NO2OH39MkrXXkTo01cxOo3r4y8jdPQFZvcvHKp7KajhlaKDrxD0CPkj4DBm+xzoHPyHIABH2jncqdPwT0iAxOcJP/h7IgC8RHAMHI8Ju2OgI8fjJvyZ4xb/sScDwaWCXnI26WwBfhyn0yoGCYjSHQiAE/6ehQLwnRWAaIwePRM0beVT+uexMXPE73jVefBb3p2QnvesAOjQTyMAngT04x4AKwD9rAD010gd/p4ADF7K4U8pAiAhAFILwDAWgJXJAtDVLoCOAsCNgC7NsgIwayeuEf5zrQDM8wWArAAoCICyAqC6EICgBEhazeGfRRAAotVALwdsb6P/OvBL+t6Pj9D3f8J3CDxjBYB3BJyBAJymH/01c4b+3V+f1wLwf793mr5+ES4B/IvfnaMSAhAXiloRos9bHbr3Kk43EPTXXsTo0rM4nX0Sp6OPY9T4xKHa5y7VvnCp4aWLwJfUiNBvgCzyyAJwyIZ/Ery+jxBn9Hp/DwTg2GsIwDG+jpuZ/tE0HAuEfiosBCcR/qdS8PoHzvRQAMxWQv7aOB1XfHOiCN3Hc274OxcKwHf1jSYei9PLdkHzN9+jfxrVjvAmTWcS8O44gxf0nZFOAD7w1/9NBWDANEEDFnjNf90JgEoIAK6HgFQB4CWA1xWA2duElQCzG2DuTtm5AOwhLQHdC0AyLAGrs5SWgLXZLq3Oi9CKApf+fuJ1+h4fE/wTIwA/+BlLwGlIwEn6g1+e0vy7X57VAvAf/uEEffFQEqnkfdshv/1r+cH/n9ywF8f/5hak09cI5quPHfr0AYLroUMHcX3oUZyOPBDUdB/h/BAB/wRh/wxADhuZV8kcak4IAI8GBaSVAOpWAA5xk2ArApsbBm0lgGXANAYqvQvgZIATnQjAMQRyUw8E4GiAYwjuE+C4HRlPCs50iouPJ7YLnrOPj0v8mRCAs06EnklJMvwdDAXgu9oxzE1DLfjHuXb/Q/qnke30/oRvTwAGzkDgz2cBED0QAHptAZiQpgcgrQBsM+E/2xOAnd0IwN7XFQBF67IdWpfbSmvy22ltiaR/nPoV/eEvjulTAX/wc24GPEv/5ucsAMxpLQA//MVF+sO/O0JnbraHuwD+pXTsWwHgEznjEjN9cC9OdA0B/SmC/ti9CDU8iFHD/RgdeoCZ/SNJDU+CKKp/ilk+OAQBOPRc0cEXhkY7+/c4aEWAx4PNJvwPtQgjAd2U/1MFwJOAJgiAJiLpaNQEfpBjAQE4YQWAw/9wNzS5+H4aTwJcLQEsAMc0cX19MlAJ6IhrBSGxRfCkcKgJAnBExei8G6FXoQCEAvCd3gngij6RaIwKDrTQ+6Oj9AGH/1iid8cqP+zTkTb0wQeWvgj+IJ4I+E2BEyX1ny61AHywSABp1v+/oQB0tgtgykZBUzdKzbRNpJnOTYAaIwIzIQGzLfN0I6ACkhbsELQI40K/GTDYC+DS0hQBWGlJhL/wlwGMAEhamy0gAJCAvDityXNpTY5DQ+ffo//jb4/T9/7yJP3w55/RD392mv7NL5sgAqfo3+plgcv0uz+pp/pPH4YC8Ft68A7/e+ODd/j/nYOxBaH0uE3S9ReCPn0q6eQTgRm+oPr74J6g2vsu1T5yqQ40MI8VIJ96CECDFYCDTxH0zw0HX5AvAgdfIuRfyU4QdLjFNAb2VACaLEcgAHrpIIqPRyUdiUAIIq6PF/5BEWBJaAKHIASHHEkHLYdcfI+uwAz+iJtaMXD9qkA6vEbC0972QP58Dn+GYnTRjVKLNP004S6AUAC+s4cBxWIxqj8eQVC30jujBQKeBUB2KwDvp6ErAfhgYoL3IQD9ZkizC2ChS30DAjAQ4T/wjQsAh7/qRAAQ/lsVBMDsBmB6LgACAiAhACb8V/RKAFxanydoQ66gTXmSNuQr/H1f0H965yL94C/O0L/56Tn60S+OgaMQAO4JuEL/y/9bRyVH74YC8FuyH9/r1ncdp0805tDL1jg9Q+A+RIB+8SxCZx610qG7Eaq9E6Gauw7VP1RUC+oeWHBdj1l//SNBDQ/Bo2QBYBqZJ5QkAAbpC0AqQQHQEtDM2/9krwXgMATgUMRwJBD+6QTAC/+mmGsFAH+XeBocIwc+LoAAHEboH0kRgOPdCABz2u4GOK3L/0ILwFEIwKcQgDYVNtSGAvAdf6OKRqN08nKMPpz5QgvAO2MkvTMunj74xxreH5cI+3SkCkAHIUgjAP0XWQFYrDSD0wjAx0ulDv9eCQCYspEQ/tSJACiatYVoFiRg9jbDvG0qSQAWdioAEgKgIAAqKfy7FwCX1uUIWo/w35irIAAY8yWtK+DvF6dfDr1J//rPjtKP/vIC/eHPztK//ekFCMDn9L/+6WHaXnA7FIDf4K21eqYv3D58h7lI3KWWqEuPXsXo5tMIXbjbRiduxejw7TjVfeVQJUK/8p5DNV871PA1ZvJ3ieruYWZ/nwICgMcc/LhueEQdBEDzxNB7AZC6YfBwM0K+pfsKgDkfwJBOAA5b+Ppo6szfPn8o4tBBvCYc9o2dcDBQHdBAAFgCDuE1Pcw9BLhmjguHjork3gC/R8Dej+Akhz9C/xQ+/5hQdFQycfpCudCAsKE2FIDvOFwB+OzLKI2c/xDh7tKvxkICxom3KgB97RKA3gYIAei30ArAIiMAg8CHSwwfLSVLzwVgXLcCgODfnCIAW5IFYJ4VAP9MgO4EYG9vBECkCIBDm/Nd2ppPtCUfn1cg6B+n3Kc/4jMBIAF/8LPP6Ee/vEL/6r8cpamrrpIjVXj3st+k8j4fwoOZfgyBH4nFqTkSp4ev2unLh6104esWarrxihputFP9TUF1tzDLv0N04GtC+BNV3ZWQAYToHYTsVwh7loAHHQWgPs3s3ywD4HMx+69/jQqA3i3QLHVDYNdLANwsKPTpgB6H7e4BTwAOR03A+5UAb8afIgAHI6YCwALQ4KSnEbP+ICwAvgRwNUDiz0OwH7ECcMz2CAQ5rs8aYEkwjX8neBRExyAALAVf4XuEWwBDAQj7AFy3z8OHDs1b+Qgh3w4BYAmgpMBP5ZsKQL8JCPppYB6uFwotAAMWGQYvUpqPIAEfg0+WkEXSJ1YAhoLhywVwaQREYORK2wS4GuNqh8b6EqC0CEzaIGnyBgVML8A0PJ7OVQCNpJmbWQIkzdpq8A8G0vcGcCEDgubvdCEBLi3aJWgxZGDJbkVL9ghaChFglu8VkIAECRlwNSwCq/WhQIZ1kID1OS6QtAESsDkX4Z9HtFXDywMsN8/pj985ST/8xXEIwGX6nb84Sv884xK9aBckw9sB//oO41GY6YO4kBRDQMXikl5FBD1BUH713KHL99rp9O0WOnKjlRqut1PtjRjV3ELQ30ZYI/zr75ixFoFfA6ohAzV3IQaAKwC19xOwCNTw0oAvBBYOfo9eCoAX/JoWfF5LsCkwGT4tsBEcbE/GC35fAGzAswhoGUDIH7ECwCM/dyhqwr/Rhn99JzTgNQ3SiIAP4skAVwOOarzdAh23EB5D+HsclwQJULo58CvIGv+/4/+f4e91KADf3Tc0SX3aYPLrdz+jd8e06tn/O2NVp+H/JgSgPz5n0FRBg+YRDeDZ/wKF0dCVAAwBQ5cqGtYrAVAQAGUFwPQCJAsAwp/REqDsUkAPBWC3pGV7lGZ5hqIVEAFNpwKA2X+mNAKQBQGABGzIlrQxxwjAZoiAFgCuDOTFaW2hQzMyXtF/G/sF/fu/uUC/819P0p9+eJzuPo2R67jhMsC33MTHPTN8IE/MiVN7NKbX9O+9cOjaE0Fnvo7S8VsROnIrRo3XY1R/3aE6zPhrb7rAzPxZAOo7FQA8tksAtfeCAkBaAJg6XQ0w1D2GFICaJxgR/nW8DfCZ6igAL2SCFAFoYBD8jZjlH2QBaEZ4Ax4Ptbh++L+OABzmdX6IEXOQZ/wxV9OA4K0HdZih16YFr5WboN4VXQpAEwuASC8Aejshr/lbATgKYTvGtx8W+P8WiVMUf15YSQsF4Dt/HkDMUbSnuJn+eWQzvccC0MXs/00JwMDJmO1DAAYuJCsApOlOAIaxACztvQBMWm+qALwUkCwAZAWA7FIAdRAAswyQTgA4/ImWayABe1gAVDcCoKwAYOafpWgjk50QAFMJEMChzQUObSpwaR2EYNSK5/R//sMZ+t//xwG6dqeVeOmGO8rD3+G33MjHTXx84yyeMcYUtSD87r9y6cv7UTr/xStq/KyZqj6PU80XmOXfiII4Vd8QVH1TUfUthLelzuIJAIe/JwBMbUAA6roVAEm1j4QvAAwLQH1aAVAJEehGAA4i+A82O3pkCWjspQAcAo0RBzN9xwiAg+/NYMavQx/U9oCgANR1IQDcE3DE9gTwtsHjmsRpgiwFTd4ygeTHCgLATYEOPW6Pk+OGtwEOBSCkj4sgqT0apQ9GPqf3eQvgWNGNACgEvYcX/MKnL57vin74/AEsAHOJBgUEYGCwArBIQgBkQABUsgDYKsCIFRICIGg09wBAABgtAGsgAGuVZtJ6ABGYjHHqBiMA0zaqlApAUAAUzQFzIQF8e2CvGZAlYNFOCMBOCMAuIwBLEf7LfAFQRgAyIAB+T4DQcPivsQKwDqzX4S8N2dKGP4NrFgCE/rY8RdshBDtwvbtU0Ipsh/5+6Ck6+ekTBFGU4piJUjiDefPNfAozfcfR/TGRSDs1t0foyaso3bofowuY5R/6Ikr1n2OWfwUz2mvCzPavI5CvI4yvY0bP3AA3PZSWgNpbduZvqelKAO7ha+6b0n/NQ6mp88r/WgBkWgFoQPg3dCoAllcQhWZ8LtOiEhWAwDLAwZZE+DdoAZABFMI+mcMxqfFm/YfjiSa+BlzXQQJqQY1jqO1AogrQUQCSOSh4Z4CH7QngXQIpBwh5AqAlQNqlAlxzBeBpNE68LTOsAIQCEL7hKepz+Wqcho57TB+MVnobYLcCMI4MvgC4Pn3HyS4wAtBvoqABMxUNXICZ/3wT/oMWSp8PFwlIgNBVAANBABQNtRLAAjBiudQCMAoCMGZVgnGrJY1fLWgCSwCYtI40U9ZJmsoSsJ6XAVRKD0BCAOZsJZq7jWjeduVvCVyAccF2syOAtwUu3qlo8S5KVAI0pKsAphKQWApYBdbsw8wfrNuP8AcbMo0AbMoStCkb5EjNZoQ9CwCzNU9qtuUr2pIvaUcxLxFgpnm8nW49jtFLBBPf212R1MfGhr/Lb6aTvz0SoxctUXrwwqEvH8To/J0IHbveSgevtVIdQr/mc4TYFXAVAf2F1NR8iRk/qApwAEJQpYVAJSoCt5VP1R3lVwE8Aai1vQA19yRV38OfcR/jA0HVDxGODxGIGpm0BFDz1CwDsAB4JJYDpE/ibABzOFAD00JWAJR/OmBS+LdBcEBjGz4nAN9HgDkYwRglhD+eg48edADGhrjS1IM6CEAtqIEMVFtqMBv3qMXMPTX0kwUgtSlQBZAdlgSaAmcGcOA3uXF8DAjDeTdKz1kARFgBCAUgRN9w5N6jOI2feY/6jiJ6d4wEIi1aAMamEwDM/Md5yC7px5WACfi8qQj7uZj9swRwFWABC4GgQQsgACwBC4WuBHh8svj1BGDiWqVhAUhIgK0CbJQ0AyIwAxKgRQDM3qIgAQoSwDsCBM1nCUD4z9/mGgnYbs4GWKQlwKArAjslJID7AowELIcErMxQtGqvotV7IQHASIC0EoDZf6ZXBRA+m3JArqQt3BMAtlkR0DJQKGl3SZSK61vp3OU2ao1IUkroxjQjAaEI9PooXmVeN2RJn1cIvTsPonT5ToxOfIGwv+RQ+WcOVSL4D1yLUxVCv+pzhPnnCLErCLOr4Jqkqi8MB1LQMsAicNPAElB9S2mqbuN7QAJqvCUB7gX4Whru4vveFVoCqh4Yah5AAh4YEeAKQA2ofiwTVYCnjNTUgwYrAg2+ECBAtQAofZ+A+pemCpBoBEwWAA7/BlsB6EoADkaNBByMQSYQ/vWQgdoY/r6gGsHP1OhRGb5FAeDwP6LD36GD0qEjKk6fx6P0CgLAt04O/w2EAhAKAN782vCPcvWWl/TOEBchr7oUAKajAMhugz9ZAPA1k1waMFPqCkC/hUrvBtACMF/Qh1oCXF0FMLxpARBmKcD2A3gCwMzebARgzlYJCbAnA25LCEBSJWCXrQTwsgBYisdLdwu/ErByDwQgIyAAe7kSIE0lAOHPErAhRQA22orA1hyl2QYZYAnQIlAgIAEO7SyQlJEboYZDbfTssSDpcpB51YDwdzr1rnqdnsFvz91/0i7p6teCjn8ao0MXotTwqUNVlwRVIOzLrgAEfSUCv+ZzBPhlxkhANT524JroEPxJAsDcwPVNaQWAwcdZAG7j+7AEeMsBVgA4/KvuukYA7huqEf6+BDxCwIJqxkpA3ROZgCWgQ0VA+hLgCUC9Xg5ILwD1VgB0D0BXAgAaQUOEw590+FfFHDoQgzTFGTzmmT/k4G0KgNcT4NEUEICDEIAGxUcBx+hWLEpt8TjJsPwfCkAI6dBwQX5JK70zuFWv7XcmAElVAI00YOb/wVhDTwSA+QAS0G8qQn+u6QPgLYED50sIgDQCABn4aKH0BeDjRck9AN+4ArAhuCNA0QzLrM1SbwucvVXQHIS+loCtLs0HC7QIWAnYbqoAuhKwQ2iWcRUALN8FIAIrd7MESEgABCvDSICpBEi/ErA+UxkJyBIWVy8LbMkx8K6ArbonAGO+S9shATvyJe3JJ9qdFaeC4jY6dylOLyKSYny+uQjf2DprePVw8Bq9iii681jRqRtxqv2snSrORunAWZeqzoPPXCr/XABJpVfMWOmF/yUEOnPZVAMqIQcsAZUBUgWg+joCEBJQc5M0LABVgMO/Kq0ASH1GQPU9+Y0FoI7H5wj9F1LTaCsAmldKNwM2IvwP8lJAq0xa+29MIwB8NoC+hbCVgAa8jvVRBDmoAdUxpUP/AMxK4+BndJUVAOCotyMAKRzWIsDl/5gWgHoIwHEIwINYnGK8AyCsloUCEOJ1PMs+Z8871G/IM3q/iyWApCrAmABjXZ+eCoA+E2CSooHcCzCflwCkFQCF8FdaAj5aqPwqwMfgzQkAhz8lCQD3A5ieAGnPBRCQAJfmsAhgnLvV0VWAYCVgkVcJ2OFqluGa0QKwS9AKCMAKrgRkCEiA0JUAXQ2AAKzd71UCvOUAhH+mq+HegC3ZqQLg0g4mX2h2Qgh25UnaiY/tKmingvp2unTdoTa8YcMD+nyXzzn3Dughr5ufb34lqE8bAuzRE0GXbkTp6GdRqjuPsDqHgL3gUsVFhyougIsuVX7mUPklDn7M/hH+FeAABKAKAlD1mTKwBLAYcHWghwJQi/CvtQKgJYAF4Ct8nLcDdhAAPH9PvREBqIMA1CP8mYZOBIB7ARoDAtDYhQAcaTPhzzP/2ggHP/4OEfxdIjz7x99ZBz8LAF/jNXMoIAD0xgUgHVoCEPy8/n8IYyPC/1w8Qs8iMd0AGL73hwIQEpgZ3X8oafjEh/Sr4Q69Oxohb3mXjwge7WqCEpAkAHiur0cPBaD/eKIBfCjQZEGDZpng18wj+nA+aQnQAsBVgIWdVQAUBEDRmJUS4S9fQwBU0pkATHoBMBIwz68ASM2iHUpjKgBBAVBaAlYywSqALwAKAqACAqBMP4CWAG4OlLQlS9HWbEXbIAHMdgT9jjwOfpkg34UEQABYAvA5WXkxamhsp+s3IxTBm6/0D6/5Lt10J7FXP4aZaHNE0u1HDuTIpROfYmZ7FgF7BiF6VlAtwr/6PAsAgvuiQPiDT12NFoDLCH/M9Bkd/uDAJZYAwKOtAPRWAGpuJgTgAASg6mvSdKwAsACYKkD1fW4KxN/5geixANT1QAAauxCAg/YwoNQlgMY2fK92E/pVDATAJwbwu8czf08AquPfvgAYCTACwFWAo26UrkUj1BqNkwzX/0MBCEkGYkwL17ykd4bH6L1R0ufdUd0LQF/Qb7ShpwIwAAIwmA8Fmiho4JQ4DWYJmGcaAwfPA7oSQHY5ABKwIL0AjASjVyD8V3oVAAUBkD0UAEo6E4DpXAAEBID7ATj8lWbRDtKkFwBFqyAAq3Yn9wJ0EADdEEhWAKQVAIR/FlkkRMD1RWBHrkyQZwRgN8Y9eVHKyHVpb5ZLmTkvqbr+Ed2+F6G4MDc9kTYg/6VtffJuusNb9/jeFq2xdnoUbaEvn7TSyautdOh8jKrOOFR5CuF8RlHpeZdKL8ao8rxDNecQsucRWBcQ4hcNFZCEck8ALBWXEOiY8RuCAkCvJQC1ryUAUu8KqH0g36oANLS4SQKgtwW2meWBersroKbNpQMRiFKUwc8bVQHMzD8IVwWSJeDbEQCuAByBDDY5UToTi9JXUYdiMZdUKAChAIQkbwXkWeL+gjZ6b1grvT9K0fsjFb3HQAJ0+I9y6b3RjKD3wQeWvqMT4a8Zq9IgffqPM4cBDRiPmT8LwAQIwCSHBkxxqP8Ml/pDBAbMYQQNnovwnycQ/oI+WQgBWEQ0bAnRcEjACDASIjBqOQuAojEaSeNWMQISkCwCk9cKTQcR2Ijg36hohmWmdzYAS8AWSABGDv+5W4UO/yC6D0AjNEstXi/ACkiAxlYBVkMEVmcIWrNX0Np9QvcCrAcbIAEbA2yCEGyGBDBbWABAWgHI5SUAlgAHEhDHyCKgaB+e35fdTll5z+jQ0Wa68RWCEW/Mre0xaoPpOY7oo+Rv564Bb8lKH9LjuHq/fitmdo+b2+nrJw5dvB6jhvPtVHm8jUqPxqn0BEL9FGbxCP+ysxCAcxAAhH8FxgMQgAO8DHAxIQDlFwWVgfLPpKbyM8zyPzMzfx3+l234czXgCj52BYJw1U0irQjwdsAbdksgBOCAbgSEQPC9Ab4yIlDtYQWAOaD7AHg7YAB7NoDmkdLUPg6gdwWQ3h5Y8wwjYAkwIpCQgfqXAhIg/EOBNIHrRn1QkKRDrUYQ6kA1Zv6VkIDSiAUCUBHBc5YK/J5VxhIc4IpATCWIJ7YD6obAFFgIfPgcAUiCDwLfIDSNQlgJSMaU/xMCcDwepYsYHzkQgLgTngAYCkBIkgAI6hN3BF3Am9egcc/ovREI+RFkJGCUWQZ4jwUAvO8JwChDvxQB6D+W0oDQ5/AHA8bx7N8IwEBeAtAC4NIAZkqcBkICBs9SNHiOQvgr+mi+pI8R/kMWKSMAiyEASyAAEIGRS40AjFpONHq5pDFg3EoGArBKJgvAGqGZsrZjJWD6BoT/BqmZuZEFQJpmwM1GAOaCeWkFQPjhbwTA1SzjhsBAJUALAFi9GwKwBwIACVi719USoAVgHwc/+bAAcBWA2ZIJAQDbsiEA2S5t5+UAvSQgMUp9UNAO3Q8gbDVA0l5IQGYe0f58loEI5RS1UE1jlM5ditE9hGQLZm+OwMxZVwR+s6sCwVvrCsHXSt9xj2+x29ws6OuHcTp/s40aL7XSgVNRKj/qUlkTUdlRcAycICo/qaj8lKSy0wh1UHEW4zmE/DllBCBQASi/AAG4wFUAqan4VGk8CaiyywEHuPx/RfZcAAK7AZhKTwBuJwSAKwLpBUAlC8AD6Z8Q6BEUAO+I4BpQ/cxIgFcNSAiA0DRoCbDBD+o9IUiqDJjwr2rDa9IuqAQUt7tUoiUAz3nhz9cQgIoYIzSVMaGrAkYAeHlAaIISUN3JGQFMvUsWXCPc6xHs9cLVNGgBUB3gQ4KMALh6GeCoE6XPIQAvEP7h9r9QAELS3Ro4Fqcn+Mc/ackTendonPoOV/SBloA3IwADxiD00woAmCj0UsCgyQj/KWCaoA9nSvpoDtHHkIBP5isassAwjEVgsYIESCMCLAFLJY1epmgMs5wrAUJLgKkEmJ6ASRgneSJgKwFT1yma7iNoxnphJUAACACYs0nRXMgAM2+LSmLBVkgAxGCRxqUl21gAnIAIQAJ22oZAwEsCLADMWrAuQ9J6Zq/QEpAkAplcCZC0eb9hS6agLVnCLAnwGFwWADuZXLskoHcJKMooELS30KV9hYL24TqzJEIlNRE6ejpKt++51Iw3cMF3F7TbQX9TZMCEPge+2yfOJ/LFotQSjQFJzzArvXk/QuevttHRczGqPhaj4mNtVHgiSiUnMLs/oajkOGlKkwRAUZknAWfw+JzUVJxHeEECKi8YUgXAk4BEFSBVAPBxH/GbJQDPTBXA3C8gVQACSwKvzJbA+lf2hEBQ30KaOkhADcK/slVSKQSguD2ZElAGISj3sBJQHsW1v0SQaA58MwIg9HWDkGkF4KAVAN77z93/TW6Ersdj1I4/N7yHRigAIWn2SvMaagv+gW7OiVDfEa4O/w+GGwHgJYDXFwAb/p4AIPg9PAEYPAGBDz6aJOnDSYIGQwQGTYnThzMw+5+D2f888gWAKwFDEfzDIAAjMI5ckhCA0akCsDJFAFYnCwBjwl9qAdASsEEkC8BGCMCmrgRABgRAgGQBWJYiAKt2u1YAJK1jUgTAlwCvHyAoAJnJAuBJAFcCggKwCwKwK580uwsU7S4i2lPM93yQtLcoRpmgoMyh8rp2OnkhSnceuhRxIAN254CyPQN61o0gfqtNU7z8ZGf43MDHRxyzjEYww29ti9Hzl+1060mETvFpfBejdOBknEqa2qn4SDsVNcWpsElQ0VGE0VFlAp+D/7jyYQEoPQkCAlAWEAAjARz+pCm/IP/FCEB1FwJQB2pfShP6gZ4AHfyt+Jp2CEQbvgcec/iXcfiDonZDsX1c0mYEIIiRACMAWgK4CvAWBEBLgFTUmEYAeBmgUbpUSzE6KtroboyPz4YAhO/3oQCEdITvdubizb7pqEtDRjn03jAWAEXvjei9AAwYwwSCP0UABo4zcA8ANwJ+aAVgMASA+RAC8NEUPMfVgBkOfTQXIrCAlwKUXg74ZJGkoYsFjcA4YrGEBAgtAUYEGKGXA4wIuBAAlyasMhIwhZcBwNS1UpMqADPXI/g3KJqtSRaA+ZsR+gEWbiXNoi1SYwTA6wXoRAB0FUCaCkCPBEDQpn0CEuBqPBEICgEvD+ywsAjs8pcEeKcA0c5CAAlgEdhbpGgfyCwmyoIU7C+MU25JjEorInQaM+o79+L0CrPsCN6k26JxakMQR+IOxRyH4q6rj1B1dTle6nK8VzHoyb5qTy4S+/H5Rjs8w8ef2ebQy3aHHrdE6M6zKF243k6HzrRSdVOESg5GqACpVNAQpcJDCPwjCKEjggqaXCrAdSHCvwjhX3SMZ/8AQuBRfBycUFR8UhogAiUsAWeFjycBTFcCYCTANANWXlJ2h4C0ZwYwCLwrTqdLAQeu4/qGoQKwBFSAyjsGPhzoAI9fCZ+Kr/F5WgQShwKZbYFGBKrAgYcYHwmf4AmBHrVPpQESUPOcwee8EFQHCWh4bs4IqMd1TQuX+vGzQgDKMfMvw+9CaauBA78wEP5aANpVIvQtFVFlMT0BFQj/yqTGQNmNAPAoNF7QdwYLQHrwMeWCGJ10WuhJezsJNyz/hwIQ0nlzFd7Qb950aNzUV/T+cAT8MPkGBACz/bGWcaJnAjDJCIBmmksfznDp47mCPpknaQhEYChEYNhCKwBg5GJFo5Z4AiCMADC2EjAe4Z8qAJ4EpBOAmeuVlYCeCADGXgmA0r0AazwB2GMFYG+KAGDWv9GGv0YLgEgvAFnJApBUCeAKAAMJyAB7wX6IQCbYX4KxxFxnFkIKCuKUXdhOJZVRqj/i0LGzDl24GqdrX7fTnSdt9PBFhJ68iNHLZpdaEdYR3VUNMYi7QOjT1RIH7tjthxZlm00d/I7xHSjbIgrfy6WvH0Xp+lcxunAlRk3n26n+RBuVH2yjwpoIFdY5VFgPGmJU3OhS0UFBhaDosNQSUGBJCAACSSOAqyk6js9H8BeexNeewtedYglAoJ1JLwBldglANwIGJcBvBuyBAFzppQDc/pYE4Bl4bgSgGqFf/ZKrAIrqXihdEah+hb8HBKCkRVBxkFa8hp3AElCargLgwcsBb0sAEPL1qmP4c0WgEWO94j6AKH0abaWXkQiJ8Pz/UABCutpSpfo8w5vCkvWv6N1hMeo7wlQAeAfA+yMNXvD3TgBcHy/80wkALwEYXM3HkwV9rCUA40wIwCxBQ+YIGjYfwb9AGSADIxeyBAhdCRi9lHF9ERi7wjQGjl/h0kRIwORVkiavdn0JmL5G0rS1LAMuRpdm+BIgaRaYs95IgCcC8wJoCdAIDUvAYi0Brr8U4DcEgpU7lWbVLqI1kIC1zB5lJCBDQQSkxoiA0Gzc69LGDMcXAa8nINgbwBKwHRKwPcuFBLhaADR8bkA+HxRkRGBPASQA7Cu0FBtYBPaVSIhBHDLg0P5CRlBWsaCcMsyyIQSlta10oLGZag+30dETcTpzoZ0uXHpBlz5vpstXwbUWunk3RrfvRjV3LLe/itJNcOVGG12+3kbnLr+iE+da6MjxODU2OVTVGKWy2hgVVjuUXxWnghpc1yCsawkCoCAAcQhA1IoAgvwgOMQohL/yBcBIAML9WGL2zyLgCUDRCWlGKwBcBSiBBJSecX0JYMrOC71V0BeBgAyYKgDGy8o/H4DhkwITEiB6LQAHbiu9HJAQAPlGBKD6SeKGQdUIf6bmufKpRvDXvCSIAGb9uK7Av/3iZkgVBI8pRPgXtsgkiphWRvkCwL0A3AzYlQBUxElLQCXCv9K7L4A+JIhPCuylAHhLA5I6FQBeCmiQfHtg/A62t1F7LNz/HwpASLfrsXH8A8qvitL7w9qo30jTA/Der1MAwCdTJX0yHbP/GRCAmQ4NneXQCE8CIAAjFkEC7FLA6CXJAjBmuVkOGL/SLgN0IQBTOxEArgSYaoCguQHmb4QEQAQWbpa+ACzaYvoBFm11AhLQhQDsflMCYCTAVAE8AXDTCsBeKwC8HKCXBCABGSWKMhD4e0scEKO9pXHaVyo1mZCArDKhya2QlF3q0r6iNsosbqHsklY8bqOcinbKgSjsx/X+0lZ8bjvllkcorzxGeRUxyq2MUc6BGGWVR/H75QJBBdUSo6Q8PM6pdim3RlFeDVF+LX4H6xBEdY5Ghz/e8QsbEEiNJvw1h6mDAGgJaBIaloAkAbAS4AvAafktC4DsRADoDQiA7CAAVZ0IAC8DeEsBVS/wMyH8yzn8X+L/ySuX8roQAC0BOvyDAqA6FwB+3pOAwO4Af1sgQv+1BUB0LgDmWtBJJ0qP2qNm62u4/S8UgJCu12gF/pGcvRShj8a0UL9hRgC88DcCIIGCHBj6j6IkTPinF4CBYwUNHqssCP1xCH+IwEcTDJ9MlBpPBD6erOgTCMDQKS4NmQqmuTR0OsYZLAGChs1TNHw+VwKEqQKA0YvAYoT+EoxLJY1ZJmkcC8AKoZm4EhKwMrkSMBUSMN0yY63UEjBjHcuAAxFwafZ6oUVg7gaF4E8wbxNpFrAIbJR+NcCTAL0cAJZtc2n5dkErIAErrAiwBGgRAJ4EJJYEzLKAXhrIgARkBJYCUtiyT9LW/Yq2QQa27Re+BCSWBBD+ucrfHaB3CPDNhAqlLwAeXqMgjywEe0s98LksB0V21KLASPMxS4Z3XaZof7kh05JVSZrsA6BKQQYk5WLM1QKAsRrPWfK0ADACuGaEBBQ0uBotAQERKDqs9JJAcZPSFB4VyUACCk+4CH/hw70AxboaIHQlILgcEFwS0PDuAG854BIBRWWXIAqXzXHBCaQVANMUWHkVM95r+PoviCq+xNdBAJiKG0pTeZM0FVYENJCACghA+Vf4nK+VLwCpcGNgEJYAj0rIwIHHyiK0CFRpCbDbAu0Wwarn+LMhACUviYpeKipgXuF1f4X/N68ERAD/b5rxXKcCYAj2BOidAREIge4NMPh9ATEPmbQcYO4dIPwbB3UUgvTU2sbAdD0ALAaNEIAzTpyeRuLkhuv/oQCE9GwZ4Dn+8c+a/4re/xizfAjAByOF5v2R3mNFfV9DAAaNlT0SgI8npgoAmIrZ/zShJWDIdEczFCIwjKsBcwWNmm8YAwkYkyQAQgvAuOWCJqzg8JcBARA9EoBZuJ4N5lgR8PBEYH6KABgcvTtgCVgKGVgGEVi+nQVA0UqwaqcRgNVaAlSSBOitgQh9ZoNlI2RgUxpYAIwEMBCAzGQJ2Kl3CMiAAAgtAJ4EBEkVgn2Qgddlf6nQZJZxBQECUE6anEqE/QHGBH+QnCorATUIoFpGAMxIMeZpCZBUwDQYASjwKgFaAhA+R1gEEFhNpkHQE4CiY0YCik78pgqA6kIAZO8F4GFAAJ4gWJ/gMQSgCuGvQfhX4rnyZ/j5n+N1fIHX9rmrR339UvgCkP+NBUCmqQqIxDkB3k2D3rAA1EEADruCPm+P0cuoE94kKxSAkB5VASTpG6fkFbTQe/2bqf8IhP0I6fMBNwcC73FqJaCjAEgaCAaNBmN6JgAeQyYpIAMCIDX6egoEYGqchk2P0/CZcRo526ExCxSNZRZJGrtYagkYs9QIwPhlkiYuVzRphUoIAJiyWnUiAMJfDpiFsfcCYHsCtkoIgNAs2yZp+TZFK7aTlgBdCQCrd5JdDpBAJFcD9kAE9ri6CpCOzb4E8OiaKkCmtyQgExLgNQb6IqB+bQJgJEB2IKdKUHa1gASAmgRGBiAMdbYyAAHQHCQQrASQRjcHNvHSgLQCwLsBzA6BYr0M0HsBKEP4l30DASjvQgAqbxmMACgd/uWQACMA+Ly7+PhdlVYADngEBOCAFYBKBgJQgbCv5NC3VEAGSh5Dip5Crp7h9UX4575gAXCTBIArAVwRKOxGAJK2BloB0BIQMUsDfGJg6rKAJwAVCP8KJyAArvSpdjsTAKmpRfjXcSOgnfE32OUAflyDN7Im16Gv2vi+EG54+99QAEJ6fnMg1efmDcy0hz6lfp9w6Bv6Du+5AAyEAHjo8O+1AAgd/kMmBSoAU6WGr3lZYNhUMM2h4dPBDJdGz0Xwzycau1B1EIAJSQLA4a86EQCF4JffQABksgBsSRYALQHblakEBASAewLWdCEAGwLVgCCb97o2/I0AcBVgGwtAZooA5LjmpkG5yUsBQd6eAEiEv9JkVzKklwByDigLh78RAE11Mhz+OSwBCH+WgDyEP5PfCBmwlYCCVAHg3gC7HGAEwEhAbwSg3FLGAnBRaso/w3OXpBEAe8MgvmNgmQ7/hACUswRAACogAOUsAFoCpKbiekIAKkD5LQ98/Da4g6+5w5WA9AJQwT0BCP3KAKkCUP0IgvDIVAE48L3wL+fwhxAUPkHoP3MpJyAA+QEByHsDAmCQ+sTAsqQDgkRAAIDDlQDDgYAAVHUQAJnUH1ArhBEApXx4+99B4VKjcOhUPEqPonGKuSI8/jcUgJCeNwNKfTzwylXN9M6gdnp/qKT3wAfDlJWBrgVg4GhC4Hu8jgDwtavD3wgAgh98ouGmQO4JEDR8mkT4CxoxQ2pGzhA0cpakUfMUjYEEjFnCQACWpQoAhz91LgAa+ZoCoJKaAhdvEbRki6tJqgRst/0AYBVkYDWfDwDW7JJ+JUDLwG4XOFoC0rEpw9ESwJUAUw0QRgK0CHg7A4LLAYFjg/OT6VgREK/NvhJXkyoCmRXcCwAZQPBnV5l+gGyEv575V7kpVQHzHFcBsrkaYCsBufVC44vAQZVUCcg/LDTBSgAvA+gmweNdC0BQBErPJygLnBBY9hmuP3MNthLAlF0WvgCUXUXYcfgH+UJoKr5MVALKbgbB97gFIAFlXAm4Q4FKgNT9AEz5XYz3ZBKVD4RGNwTyPQIeKKp+yFUAorInRCU2+Isfc/jj9XmK1xCwAOS8MAKQxxLwUvgU9FIAfBFIIwClCP8yBH5ZzNWkCoBHJQL+QFoBSAR/qgDU2fCvU6bxr8mN06lYO12LRvXxv44QfcIDgEIBCOnFHdaYA3Ux6jv0Bb0/RGoJ6OsLgOwgAAM4/EfxzD9VADwJAGNUegEYzwIg0wvAZFdXAIZojAgMsQIwDAIwDAIw3ArAiBnCMMuhUXNdGr1A0JhFksYtVjR+KUuAMhKwXNJkiMDklRCAVRAAMG211Ez3ZUDQ9LW2CrDWpVlrTR/AbC0Dhjm8MwDM2yBoPuAdAQlsFQAs3txRAHwJ2G4EYNVOCMBOIwCmEmBYt8tIgKkEdGQTJGBzRlAAZIoAeP0AHP7KLgd4lYBkOlYE5LcnAFWeALg6+PWSAMZsPMdy4AmApi5FAFIqAfmHpaZzAZAdBKD0rCGdAJRcwHjRYHoBeigAVxHqCP7SLzB+kRAADUtAigCUIvxLOwiACgiATBKA8vv4PEvlA8OBh0pTxeH/CN8TFCL08x7jdX2M1+yJoryn0vBM2AqA6FoAmnsvAAnwOJoqAA6VgwrGcbsUgGqRRgAwwzfgGgJQa8OfqVWC6mWMTsci9AjfOyYkSRnO/kMBCOmFAIg+kUg7Xbnt0qgZzfQuNwMOI8gAmSrAMJUkAP3BwJGkGTS6I4NHWfi6gwBICIDSdFUBSMYsCwxLqQD4lYCZ+HvPBnMdGj3fpfGLFE1YTDRxKdEkSMBkMGU50RRIwNSVRNNYACzTA9WA6V4VACIwa62wApDAqwj4AmArAYldAVYANrEEJFcCPAlYAVZqCRCGnUJXAvwtgruMBKyHDKRjEyRgc4Y0pAqALwHecoCy2KUBe15A8ORArz8gXY9Ab6oDXQlAphUAgwRCk80z/soE2d7zEISsaqklQItAndR0rASAQxz+SpMQgMQWQS0AfDJgQACKIQAl5wylnQqA0ngCwLcM7k4ASq/ge14F13ANyq65GhaAsi+FrgKU3giQVgDI7wXwRCCtAHjLAQ+IKh/i6yAAJY/w84NchH02yNIjIfQhAc+kXf/Hx190IgAv8dq9fEsCEDe8lgD4IpAQAL0EII0A1ImIvvkP/niS9hCq8H09FICQXpwK2N7eRs+a47R6YwsNGBLVWwIHDCE9ci9APws3CQ4IMHAUZvrpGGnGwWMQ+mMUQPBDBJiPxxk+4WUAMGQCZvk8TrQ9AJMtUzxc3QcwbKr0JWDkdGmAAIyaKWjULIT/HEjAHIfGzHMhAEozcSkjtQhMWi4gARISkGDaapEEVwISApCMtxQwT8MSILUIaDa6tGCTSwuBFgCwREuAoKVbEP5bUwUgwE5lKgEsAjsNuhIQwBOAjbtdLQEa3RNgdwWAbcz+RD/A9myLlgGZdHJgqggwewpEEskC0DWmFwDhzwcMlZpGQA0LgJYADwQTY0UgOwA/zuSx2hMAQ0IApBUA0CgCApBaAVD6mGCPQl0FUP7BQEWnEVJnDSVnDKVnEaDnLOcR/iwBfEww3y5YNwQKjWkIDKAlgMMfXwMRKGGuWgGADDA9EwAjAWXcD8AS8FVCAsq5D+AeRgR+mYXDvwLhX/6IqPQx6Vk/z/hzHkOyMOvf/9SQBbKtEOTYCkDOcwNXAvJeSJ/8F4Gtgc3K7ghgyKcQjwvbEhQx7ZTASkBJFK9HjMHPCAkoj3uIJCoc/CwBvGbABAK4CTwJ4F4AwQLAdwpspzvSJRm+l4cCEPI6PQBK35ilrbWdDtZHaPiYZoQ9An4o6VHP/K0ADOggABJh3wn42ODRRgA+Ah+PJYDgH2cZLzRGADwQ9p4EcPB7pBGAUUxQAGa7wDHMi9P4xTJZALgSsEJoOhcAGRAAmcSc9QqQFQAOf2UFwIUAOGkEQGqWblFpBEAl4fcE9EYAbDXA3xoYOCNge2YAvxqQ2CGQLAAdewQ6CoDqEr8ZsATBU8rhT4aKVKRdEkhUAoKwAGT6AqA0CQFQAQFwAwKQ2gPgHRVMCQE4gfGENMcDswCcSaaEBcADEuD3A/gCENwVYGAB0JUAXwDwtYwvAHZpoMcCkKgEJAsAxnv4M+/jz7RUsAhg1l/0EOH9CK/dI5eyIQBZEIBM5okh+0kaAQigKwKWPAhAPgSAzwIIko/gD1KA0PcoTBUAoHsCokQlEICSGF7bmOgQ/EEBCFKV0hRY5fJOAdfHE4Bq7gXQ2/9cOi5j9ISUvrlV+H4eCkDI61YBIlH64kaUJs96RX2HIuyHKh36b08ApCZZAERAABIVgGEYh0MAmBEpAjBaC4CrMRIA5sRpzHyXxi0QNH6hoImQgUlLBCTApcnLGaGZstKlqasMry8AXgVAQAAELUonAFtsHwALAFi1PVkA/J6ATgSAlwa0AOB64+5kAdBVAA8tAqYx0MPbJeD1BpjbCbv2BEFhdwtI/9yAdD0CGYWqGwkICEBQAipUCsJKACMMAQHYX9VTAeiuAvCmBED+RghA+b1E+DOlCP+CB3jNHri0/4FD+x86lAkJYAEIkhAAofl1CUBZ3NB7AfAkwOAJQJWSVKO3Agr6HLThTSzs/A8FIOQbEI879ORFHCHTAgGIU38WgGGJ8A8KwMDhhk7Dv1MBoIQAWJIFQBoBAMMmSwvCHwIwYgrCHwIwcpow4W8ZPdNIADMGEqCZ49JY3iY4T9A4iMDERRCAxQh9SMDkZUL3A5iegDdRAUj0BCzcCAGADDDBSsDSLaYhcDlYsdVUAYL4lYAdkIAdwl8KSCwJKM2GnRCAXVJLgFcNMD0BKqkvIIjXIxA8KyD19EDv8KDk/gDlk+4goXQ9AkmVAKZcpuD6EuDhSUBmVU8FANeNCKxDnfcAFCL8C48zvReAYr0MkOgFSBWAMktpJwJQejUR/prXFIDKrxICUILQL36QoOABXqN7Lu2971IGBGAfwn//Q7y2j2QSWY/BE+GTWgnwwj/nBUYO/04EIK/VkN+aXgAKI4aiSHoBKHUMZd0IwIGUnoBUWACqtQBgxJy/CeNdIclR4ft3KAAh3wi+7WtLpJUOnmqlwSOf0aARRP0R8v05+IcZvOD3GSG6ZNBIlwaPEikiwMjOBWCi0gybREBpCRg+WUEASEvAyKmKRk0jhD+jaPQMC0QgIQBCwwJgJEDShIWmCjB5aaIp0PQECJq6SvhVgBncB7DG1RIQREsAmJskAMrvBeiJACxjCcD1im1uEr4IbBO0Go9ZAoIi0FEADJv2yB4LQHCnAG8X1FsGg6cI5rpJdLY8kI6MQleTJAJ8dHAZrsGbEoCcBkhAo/IFIIheCjgCIAEFkADNMVzrkwGlOSJY3yXQhQSIJFgCis4GOCc0xZCAkovC8ClC7DM8RvCXXEbAXeZrV0tAyecBbDNgqdcMiPAvAUnh34UAVPB9Au5gNgwqIQBlEICi+zzjRxiDPJB9H6/TA7xeEIG9D/EaY0wvAF41QHYQgFwrABz+ngBo7NHAmmZctyifPJDfKhOwCLTjOQtf+42BUdMQWBx1IQGG7gSAmwJTOZBGAA4g/GvIofOOQy/xdSoUgFAAQr75MkAk1kZ3HkVpxvzn1PfjNsz27cz/jQqAfIMCQF0LwNyEBIyd59D4BQ5NWOTSxGVSh78WAE8CuBqwSnYpALN/GwRgbxcCsD8R/r4EvC0BKE4vAPu/gQBkWwHIOYjHhw1BAciDAOQdxeNjCKSjTIoAnHA7FYDCs4YCHs8LTVAAiiEAJSwAl40AFEMAii67VPx5sgAUQwCKAwJQ+poCwBWAcghA8T0OfbwGPOt/CDBmBtDh/w0FIPslxldK44c/yG4WOvhzWgMSgODPswKQ1wYQ+nkBASiMSNMM+BoCUIHZfEU3AlAjBVUh/BtkjG7GXXKEPdAsfA8PBSDkm9wcSPVx4nFqbYtSQUkr9f3oIUJevKUKgHq7AjDbCMC4uTKJ8RCBCfNdSIAw1QAWgeUG3RS4StEMSMDM1RAAiEAQXwDAPDB/fVAA7FZAiMCiDa7GCIDpA1iyRRkJ2GIFYAuCf2sArzfAEwCMa7ZDAHZIzbodEICdLABSoyVglxGAhAQwtjEwtS8g2BOwH8Gf6SFMFSDL7hDwegMCJwlq8mSXApDYOZDYGqjvNljmgaAqhwxAAHjc7wuA6Q3gpsDMKtlDASDKPojnD+P6kAoIgPQFIBcCoCXgWEcB0PcHOC0taQTgHAsAPga6E4DCNAIQ3AnAlPRSAPR2QFAGASj+Gj/TPbw2mPHv8/ACP5WHHPrKkk4AvGZAQ+6zRPk/CwKQjfDP7kQAsnsoAFoCOgiA0MsAXi9AVwJQ3pUACAMLQJ2I01EnQk/w2JxmGr5/hwIQ8s0lQIg+8WiUbt6O06hx96n/xzEaOEwh/JUVAPkGBCC5F+BtCMBYCAAzbg5Cf45KMFdoCRi/QJi+gCUuTVmG2f9yUwmYtkLRdIjAjFUCEiATBCoCc9ZCAtayBCT6AUxFQNACsHC9MCIAIWAWb1KJhsDNgpZtdrUEBOG+AN0bsFXQKgjBasgAs2a70qzdQZr1O1gAPBEQtgogOuwMMBUBQ6IikLh/QJAd3CCY2XlvgLnDoOiwayBdhcD0CphKwB4IwJ4ShzJK3IAIsAQEewKsAFRiPKBoP4tAjwSAKOcQQQAI4a+sAKgeC4A5F0D5EhAUgMJzvASgNKkCUPwZuIRgu4SPX0ovALwdUPcEdCsACQnQImBloBSz/+I7+Hm+QvjehRDdg0zdc3323heB4FcpEqA0HQXAbA80AqA0uUxaAZA9EoC8XgmA1HwTAThgBaDWdakB4X/BiVEbpv3hzD8UgJA3uAwQjznUFolTZsYzGjSkGcFPekvggGGuCfaAAHiVgXQVgkGQhcHDBX04Qmo+GgkBGIXwH600n4yR9MlYhD4kYKjHeAT+eEnDIALDJwoaPknSiElCMxIiMBICMAoCMBoCMMYydroyzEDoz0ToaxEwaAmYLZMEYJxtDDQS4OrGwKnLFCTAMB0iMAPMXKmApFmrDLPXKMCj0Mz1RUAllgR4XCdpAWARWGRFgCVAiwBXBDYaCQjiicBKhH9QADqIwHZB6yAB6y1+NWB3cFkgWQS27GXIXxLQywABPAHYlSUSQAB2c/B7EpAr0i4P7AZ7Uk4Z3FWAsVDS7iKXdpewBCDASqShNCED/tJAhaR9lQn2swgkVQISBwJlWQnIAiwBBnwOBCCHlwSOWJoQXCwCR3l0KQ/hz+QzJwQVnLScwmNQcFolOKN8GdB9ALYSUMR8iuD/DOF2iSAA+DwIQdElTwosl/Hc52YZoOga+ALf60t87XV8HSi5QZrim1JTcksh/M3pgHxdCAnIQ/hn3XVpH9gbCP+MexICgNfnXoJ9eMzPZTzA6/oQr+FDoZcDOl0SgARkYvafBbKfK5+cF6Th5YCgEPhiYAUgpw3i1WZEIBcCkIvQ98izAlAYVQkQ/EVxgycCHqVx5VMWtyLgci8AdaBCkBaAOsehI9EI3RCCYqT/C9+7QwEIeVMIIfvE42105bMIjRrfTP15S+CICA0YHocAyG8mACNTBAAMDQrAuBQBmCjevADMdX0BmLDQMRKwWCL8yQjA8q4EICEBngDMXYvrdW6iEhAQgIUpArD4LQjAhm4FgH5tArCzWBgJKBadCsC+3ggA6EoAfAnoRADyUgQgv5cCUMhAAgzSCoBMEoAiKwBFVgA4/D0BKAoIQBHCv8iTgBsYQSGucyEA+7/G63TXoYy7bvLsP40A7A0IgJaAB10LQGY3ApDVCwHI6aUAFHchAKVxrxGQOuUAHwLkxPWNf57hzSo8/CcUgJC3UAVw3Di1tDi0emsbgj9GA0a2mwpASg9AOgEYZBncrQAY3qQAjLMCwCKgZQASwIyfhfCfzQjNhDmY/c+TNBEiMInPCQCTF4HFgqYugQBABGasIM1MBjIwazVpPAmYu1YlSYCuBICEADCKFm1A8G+0AsDjBiMBSzclWLZZalZshgRABFZtkRABDwUJIM0aPF67TdG67RKIxJIANwjuYhlINAlu2qM0/nLAXsPWvfbUQLAd7NinaOd+AAnwyUL4Z+O54HHCOcLHSIHUkrAnVwZuOyx9AdhVhM8rwlgszXJAcaAaUIogA/vKEF6QgL0VHhCDSnDADUiAaySgKwHgnoBDqocCIBH+hvxTsoMAFIIi3hXAnJPfQACkprCTCkARZvxMIXNDUT4EIOcWwhkCsPcrvGZfW+7i9dLLAHhdIAD77nUmADIhAJbeCkB2DwUgBwLAs/8eCQAoihmK/a2BnQtARbrgdzD7d4wANDgxuuI41OKG5/6HAhDydiQA/7AcofocPBdH+Eb1boC+vBTAwR+Y6XcmAIN7JACkSSsA41kA5OsLAFcDZphrRguAJiAAcz0BkBYBXM3UJYqmL4MALA8IwCrSeJWAuWspIAC2JyBJAJQVAEorAEE8AVgOAWAJ0ALgkUYA1m6TuhqQ6AkI9AV0JgAWFgCPbXtZApTG7wWwErArCwKQlXw/gQ5nB+j+AGUFwJwZ4AkAh78WgKKAABQHlgN4m2BpzwUgq1sBoB4LQP5JBO4plVYAtAT4FQClmwGLeigAui8A4V94hQVAaVgAeBmgBBLAAlB8g4OfqOCWIR/XuZCALMz+9yH8M+5ApL5KwBKQoSVA+gLgcz8oACogAKYngEN/v8dj8KSjAGQxL8BLsqQRANsLYARAJtGVABRYimJkQMgnVQJSBKDMVVSOwC8XybAE4NeAqqSgY5j9343GKBJziG9iFr5fhwIQ8jbOBYAEPMabw9LVbTRgqKD3hpI9IVD4gd+fr5khhkH4eAI8HuZqCUgSgVGG5EqAWQ4YMlZ2UgmwvQCTjQiMmqK0CIyZZjACIP0lgK4EYIIVAFMFQODPR/BzP8ACoUVg8iJG0RRIwLSlykiAXg5QVgRUp0sC87gSsNbVoxEBTwJMQ6Ae1wtIgJuELwKbXFoOVlgR0BWBgBCs3uJCAoQWAS0DXAnwlwRYCFwtAckikNwo6N1J0GwZFFoCtAgElgQ6E4DtYBtXATDr90g9RGinrgLgawqFZmeRMP0AoDcCsI+3BdYgtGpcyqw1ApBZL3X4dycAeU3mPIB8HiEA3AiY70mAnv0ri9RLAUWB8M8/o/ROALMbwAgAB3/BRUM6ASi8HCCNABSzAPCSACSg4Dr+fgj8nFv4GRD6WTfws91EcN/C63Qb3MHraNkDWAj2foXXCSKw967QIpDEfUiCj4vHplGQ2fcQ14888FhLgNBkPhVaBPZbMvFvPVOLQEAAmqUO/4QA4HErHre6mpw2kSwDIL9daAnIj+LntBRg5m/ga7w+Fi0Dgd4AfVgQZvYsAloGhGkMLEfwV4JaGacLsQi9jETJiTvh6X+hAIS8vaUA6hPHP77qxggNHhbVFYAPvNAPCsCQbyoAMokuBWBSsgCMnvoaAjArRQDmpQjAQqUFgEVgymKuBgiavkwkBGCl6qInIFUA5DcWgBWpArAlIADbpF4OCAoAj0kCsDt5l4C5iZBIvqXwvtcXgB25b1sAhBYADv+OAqDSLgF0KQBcAThlKgDdCUD+BeUHf4LOBaCAuSK1ABRcU5rCL5UWAK8fIPc6Av86AvlLR7PvBn5WCECGJwC3gwIguxSAPfdTSS8AGWDPYzz3RNK+NAKw9zmeR/gzmR0EAGHf7CD8XY0X/obuBSAXwZ6H2T2T340AlPCJgRCAUgQ/UyYZCIEWAJea4hG60d5GbdG4nv2HOwBCAQh5y7cKfoA3jZnzXtEHH0epH0LdCACX/5PD3xOAwT7pBeDDEembAdMKgLcUoMOfJUBBAChFACSN8ZYBpkvNmOmuJlUExs10IQEOTfTwlgLmSYgAwn8+Zv7zEfwLJE2FCEyFEExdBAFYIgEkYBnCfzlCf4WiOasISJ+5q4Vm3hquBMgUAVB6R4DuC1hrJCBBQgSWsgSA5ZtkEis2KwAJ2OxoCfAwEiD0coDHOr9B0CwNJHYJuB1uJmSaBRVtAYlKgDTnA/BygH8jodcRAMNObgi09EoAqoXGSACoU6CjCGQ1Co1pBhRWApSFr+3WQI/jCKMTpOGGwPwTblJDYO5pfP5Zy3kjAfkXeBQaXwSsABR2EACE/hUOf7JwFQB/FsYcCMD+LxHIEIDdCP89GDNuIOhvGnbfVppdlj0g445KEoB9d9+MAOyHAOzvkQB4FQBpKwBvVgCCpAqAmf3jWvEWQJcutEfoKYg74ew/FICQb6UK4ArqU9/YTv0G3KWBw2IQAEffKpibAgcMdU34f2IFYAiC30MLAMLf8uFwaeAqAPh4lNJ8MlomYAEYqzTDxlkBmGAkYMREKwBg1GSGKwESEiCNBEwNME1oOgqAgAC4CH/LbCsAYBKYPC+NACwUNG2RpGmLIQJLpZYALQArWQBULwRABgRAphEA0YUASCsAbnoBCLDOWxYICoB//wDRvQDsMxKwY78VgKwUAeA+gByZxE4Ofg+9EwDPW1gAdll260ZA6ZMBAcgow1jhgZDSAsDhL40EIPw1PRUAb0cABCDnCI+mHyAnIAC5J1gCGK4IuJSfKgBnrABwFeB8sgDkI/zzrQAUWAHQwX9ZGbQAkKbgKkQDwZ97FWF7BUF8zdHBvwsSsBvhzwKwRwsAXhumBwKwNygAHSQAgmXD3wiA0KX/DMYXAF4GkFoA9iH893UlAK94FJochD+TzVUAjzQCkAcByIcA5FlyWQRiSsMCkI/gL7AUIvQL4ywChmIIQAkLgKXMCkAJ3ojqnTjdbGnXW5TDtf9QAEK+NVSf9jZFS2Y+of4fNkMCXAQ9BAAhr8P/Y0kDLYM+UQmGqEA1AME/TGk+hgQwn4w0DIEEBBnKEgCGjRWQAEHDIQLDxysaAREYOUHQKIjA6EkAAjAaAjBmirLwtdCMhQQw4yAB46Yj9GdInwmQgImzDJMgAJPmmPCfaAVg8nyuBAgtAQkR8CTAiMAMiIAvAStVDwSADHy9zrI+uRKgmwM3dCYAZilgtV4GEEkCkIpXEehQCUjZJhgUAN4yuDWD+wG8ngDTGOgtCXg3EkrcUCilOTDPTYIlwKdABJYDeFcAQo4pQcCVIrTKMPMtRwgi/PdUIiQR/nsPIJCqlGYvJCAD7K2Vmv11MiECDTJZADRCi0A2JCD7MMYjLuU0YTxqOYawOi6SyDvpJjjlagkwIoDgOit1JcCA5yABeRcN+VoC8DmXEG6XSVPwOVkBwHNXEaIQgP0QgN1X8bpcdWjHFxi/FJrdzHUE/w0E/k2iXbeIdjNWBDwByNBLAXgdvsZrdDfBbuae6FAJ8LcEPpQJHkkjAE+VBY8hARz+Qfa/wGsLvF6ArJd87fqVgKwguiKgfHh3QGpjoG4OjJAhqvy+gLyoa0Qg7lJhzDE4LhWxBFj0MoAgzZn2NnrZ2obZvxse/hMKQMi3eUQwj4eqozT44wgN1Ov7LADK0EsB+HCYMBIwwu1eAMamF4BRE3l0adQkYURAI15LACZ3IwAGV0uAZhGuFzk0fYmrlwO8SsDc1bIHAkAJAdASkCIAGJdt+GYCsCZFANbvSBUAmUYAFATAk4DeCIDdGZDbCwEoShaA3d0IQEa1/AYCAI4IXwCyjkorALIXAqC6FID8dAIAcj9HKIJ9VxDK11zadY0FwNUC4ElABwG4+dstAEYC3oQAYNbvEBVz+LuS6vGx6+0Rao9GSQoRvi+HAhDyrfYCuLLPo0cIt+VtEIC4afL7RIBE+PdMAGRAAAQEQHUiAAK4GiMCkACuBowXWgRGTBAaIwSuRfiVgSQRmOZqCfBEIFkAEPhzyDCXaAovAVimQgSCTOMqQBIuTYcMzF6G8F9BNHclBKBDJcA2A9otgVoG1pElUAmw10twvRQs26ASbFS+CKzaJJIwQiCTxMDbJWC2Cyq/STC1EpAQAqWlYMtuQVv2yGQR2Ge2CW7bL1NuKGREYFsWHme5tC3H8dme6yRXBPJd2g4RYDwJ8M4H4EOCdpUiHMtcKwKuloCgCGRUK83eGuqhAPBSAMLoMAFFWZCArCZlOIrnjxFCX1mkFQDpk3sKnFYaIwAIrnOqEwEAn0lfAPJ08OP7XyLKxOMMXO+EBOy4ip/9Cn7Wa/jZv1QWPGZu4LkeCYB3NoB6IwKwFwKQ8awnApBYEshqVmkFIMvyWgIQXBJwJBW5jIIIQKS0AAi6AAF4AVGIxePh2n8oACG/jmbAFhh4WX0LDR3XQoOGccA7vRAA4Yc/89EwrwIg/KUAUw0AoyECoz0JMOFvBIArAdIKgAxUBDx4aUBpzHKAtAIg3owALEhBS4BDMxazBAias0IaCVhtWSPstsBANYBZqyymH2ChfV4LwLo0AgCWbzSs3CiBAK6RgM1BXNskKDReRSB4aNB6e3IgHxikDw3yRUDQ5l1uQgL2mHMCvB0CqXcU3Ibw36oRmm05rs92sCNXGLoSgCLuCcBYihC0VQAtABW9E4DMBlw3uEYEMPvPBFmHEFqHOPwV7T+M547g85qkFgDNcQJKVwOY3BPCJ+eksBIAOTiD8awynBOavAuupuAi41ABJCAPEpANCcgC+3Gd8SnC9DJCnMP/c8jSVQkJkFoAdn2BsP+CR9cIwHUGjwMS8P+zd95tVhTb2+ZrvumohCHMEIcwOeecZ5jAEIYsKoiRJFFQEBAVE4ggiJKZuHdX1Xqftao67dkzwNHfOXpO/3Ff1d279wBel/PcvWpV9ZabOL6pAwlgRt3+AFt5f4Db+M5tz3LHEwkIuAshuGfZ9muESB8As+133PPAEwnw2Q7GHjGeSMDOJ5YxrgI81cLOp7j21LM8txIw5tjFuwP6fQGTEaaMsC+yNHDftAqWBc4lAPuVoQ88j+4ZI6V/L3n6TwQg4d/D1NQU3bw9RbVtT2xjX44RXk4APBf+XgALgD8NEJcAIxIQTgUYIXcdQQAIwW8c0SkBHREACvoCrABohL/5EwTAxPEFoI4lIEWlDWkqYxFo08F0gC8BLADVCHiRAJwH4R+BBaB+TgEgISoAgQQEeLFVAmElQAWbBtlKgAoJJMAKgCBTA+6FQv4ywUj4b96pXPiH8MoAn6HoKgERADWPACDoDuL4kHYCMHsqYF4BEAnwAgEYO+GAAFhwfNITARg7bdnJAnCWhN1nTdATsPtTyy4ez2thz+cI/YvawccI/y882n/JowPMF7YhcA+Cf/uXCGowCiEYvYaghgBscQIwfB1P/N8YEYBRCMAoCwBPC7ipgC1uKiCsBODzG0okwG8IHIEAbPkZ1yAAIwh+H5aAUVcNGIEAjEAAttzzhFEEf5StvCLASUA2AWB2IPx9AeDg3wG2swRI+Osw/MHYMwAJ8BEh8PcHQPDvdvgCsDcmAP7+AHEBOOAxhvbzFACuXcK1KfwC8vAQ4k9HJiQCkPAvJp1O0aOnz+j9j5/SiuVPackSojcW61cTgFyMuWnhnxMA8+oCUJghACVxAdhYYf6AANhpgJJ6KwElLAHNnq0GQAKqmA6EP574qzuJauTJ/wUC0PXPCoASAfBXCgQbBmUKwLCKSYC/TLB/i7L4ArDdUN8OnI9lCMCYFYCB3SGDe+ISwOE/xEAAhvbFBWD4reg0wJ8hAComADsYDv+TWp7+MwVg7GwoAFwF2HUuLgA7zyPELmhhtgC4lQGRfQL2XCbacZVoFOG/5Srg8ZoNfysANvytAJiYAIy8ogAM3+bw/zcIAJ76dzzTQlQAdkAAduCJnxEJwLhzwqPdEQHYNRUXAFkWGBOASBUAYf8mBOBNhad/T9GxqZS88tczZoHm8E9e+5sIQMK/a3tgDQlIL3iEXxqtdb/QooUpWuiC/7Wlml6Phn9EABYvi1YAQuYVAJ4KWKUgAiqLCOiQ/LAfQHoCfBHY5PcCmFm9ANGGwA2lGhKgrQhINUAHFFSyCGCsUkKmEFi8oCegBCJQWu9RWSPDUwKGqtoQ/G2aatodHX7gU2QaIBSCelxrAI2uF6AxoyegpUfFsEKgs0wNRCsBYNAL9wlwDYJBk6DbRrgXMtDHyHJBu19A73ZlJWCHDl4mxEIwsNNQ/y4IgiNWEdjtiQRs3sukaRAS4DP0ZhoSgBESwAy/jTB7B6El0wA6nAo4nA4kYOsHOkMAjLDzKDnsVMDYcfNSAhCtAIQCYBD+lp3nTSgA3AvwuQmnAS66KYFLCLRL+LO/INoGtkAEhq4g7BnIwPCXRCPXMIKha64KAEQCruP+67j2nQqaAUMB4OA32QUADP9snAD4qFcUAPy3/E3/jwvArkkVPP1nEwAff3+AYJ8ALvvz3D84OJOmy5NpepbyKK28BcncfyIACf9ujOXapSnKXfQ7LV6ShgR4EAADASB6A+OipXZqYNFSDn8lAsDjEpaB5aEALM1lEPp5CHyflXjy94EErFjtg+BfAyAAeQKCHwKwMj/CeoQ/WA3WbLSshQSshQCscysC8os0rS92QAA2liL4WQLKLJsgAQWOwgpQqR0IechAJsXVioprLKWQgNI60AARaFC2L6BZU2WLdiJgIAEIfUhAXQcBe1zb7mFUQj3OmQbpBwhp7IYAgGbIQJQWkQKdIQUQNJkOUOG+AZtdRSBj06CwMqCox20j3Bv0BwCuBrAEbLcVgX4nAMJOxggDO1kKlIX7AnZj3OOJAPj4AjA4SwAsYSVAu0oA9wJo2vq+jkiAoR0fMwjzo8bBxwih49rhS4ByUwDKygBLwCncfxrBDXadwXjWCDwVsOtThNV5FgCE3Gc4BrshAbshAdwLYEGwXcTPA9sgAyMQgeEvEP6XiQYBS8DQVcvwl5Yh5ivHN7YXQPhWWwn4niXAk16AkR99CVAhTgJGblkBiEsACwCHvxa2ML8AkQAOfR2C8B9F+G/9jcMfIxh9gP/OD3XANt4TgCVAegF4bwCcM09w/BT/3Z/ivyFkYOyZZQfzHJ89VyIDY8+9mAQwO3mEBOxmEZg2IXjij8kAzvelWQIMvTXt0XFwc9Kj8alpUjqZ+08EIOEv0hCoF6i0WbBz6DEtemOcFi0x9A+E/j/wxP/GMhv+iwUE/lIEPwTAR4QgEAAtLMujGBz+K0DuKgIYIQC5EIC8NSErIQAr11lW5ZuA1bMEAOEPAciHADDriwxtQPj7bCwxDpYBRZvKOPyJCkERBKCo0gchz4GfhZJqIAKgIQCgXokAcBWgvElDAgxVthJVgRpIQG07hzwJfFzb5lkJAHVOAhpcJUAQASChiacHIrR0zyEAwfRAdOMg1xw4qKQiYHEVgSF/G2H3LoHI7oF2+2ANCeApARMKwFhYDQjCH/RBAGRqAAIwsCcVE4BBFoC3MgXACFvewZPxQYPwN04AtCUiAL4EyJJAhL9FCTuO4dpxhgXACyXgpI7gBOCU47QJKgJjEAB++h+7oEQARAJiAoDw/wwBdxFiAoYvaRpE+AeIBIQCMHRVCywBg9ccX+PffR3//utKGP4WI8KfGYYADAcSwKMnAjByU4UC4IhWAbbc5vA3Ib/gv+VdLYz+akLuGysAfviDLQ8wPjQI/5CgITBjdYBsFPTEBJWAOFYAdjy3FQEWgJ0I7zHHToQ/swvBz0hFYNoXAE9WBHBT4H6RAI8OTk3R1Yk0PRpPU2om2fUvEYCEv5QAEKUX3PtV0caCp9IH8A887f9jWfolBUDLKoA/LABrswhAvhbWbFSCCADIL9DC+kIDCaDsAlACASiFAJSRkwATkYAXCEC1EwCRABzXaypr0FTeaKlgEWgyVAUZqG7F074TgZo2BdIxAWBiAsBTAl0kZApAc1AViAqAyhAAFd87YFDF4BcKdQ757xJQGQJg+wHiAhBnIKgAWHwB6N/DVYB0hgAACX+EJxh6G4H2TwmAiQiAFnYcMxEBYHRkKiC7AIxBAMZ8ATiHz1kAzscFYBcEgNkJtuOzLZ/h739J0WYIwACC32ezE4DBK3MLwOavcO0bJasCrABg/F79iwXACP9OAdgNAdiNwN8DAZBKgPQE2H6AAzMpOjY1SfeeT9P0VIpU0vmfCEDCX22LYLUglTb09nvTtDxvhv6xPA1S2QVgaVQAMC43lAOyC4CJCICR4M8mAHlrNFCUt1YFlQBm9ToEP1i9wROkCgDWbTJCfgE5CTCuGjC7IsASIJWAMisBhRVaiFYDogQiUKPCSgAoqzNUziJQr6i8waNKCEElZKASMlDVrKm6RQEPpCEBKcEXAX8qIJgS8EWgU8WIy4CO9AWEDYLt/f4+Adk3D/L3CwhXCehwdcBWt0/ANmMFQKYBKGTMEUwFmEAA+vZoNw0Q6QV4U9HgAYT/AYThWwjFt2l+AXgvmwCQ5YiDJUDCn5wAIJBOGMsnZpYASPA7dkAAdri+gB1nlVQBdnzqROACrl3g0MefDUYR/iMX8G/5HP8uhH9/BiIBX+Dfdhlc0YEADMUEAOM3HP4Y+en/OycAP/xxAdji8wIBGJXwJxn/iABsj4H7IwIwNhGGfzYBsCjandIRiPalFH0wM03XJyfp2fgUeelk7j8RgIS/5uuCIQG3f0tRXctTWpSbki2C33ANgNIHgOBflCEASyICkMONgFIJ8GVAQQAUhIIlQNOKVcqFvyWbAKyEAKxaqwPWrLPYqQCVVQDyIQD+dEAInysrAaUWOx3gowMRKKxQwBNiIlDtTwcYwUqALwCaKiJUNiqqauKNldJU1ZKi6tYZCMCMVAOYunYVQyRA8CJkyoCCBHgZDYIqsl9AOvIuAX+vgOh+AW73QAhA9xYHJKAHEtC7zeJXAXp9EP4Cgr+Xn/4d0iC4W0EClFQC+vd6NLAPYvAmhOAAQhQSMPCWlQCpAvhTAQcxHgIQgJHD4D2E3/uW0Q8hAiwBHzk+Jtp2hMHxUYQ0JMCiIyKgZRrAZzskYMcphLoPwn/7GS1VgB1ntbD9HO79FCEIOPS3fOrR0Lk0DX2aps0X8O/4HP+ei/i3XVIRAcC/DeG/+TL+bQj/zQj+wS+VxQW/z+DXLAEEAWAJwH3fKcGvBAxBAoZ+ZNI0fAPnNyEHP2lhyDH8swq5jf9Od3AtAjcD2j4AHDu23GdwDU/+Ixz+L1EB2PY4wlMjcOBve54JvoPw3/5KAsChb2ISwLsBnsPT/+/Pxyk1M0NGJ+GfCEDCX7QKYBbMqBSdOT9NOcue4Gmf4qsAltrdAhcviwtAji8Ay5Vgw99zpBH+kIBVlhcJwCqwGsHvs2adEYJegA1zC0BcAiICUKJcP4CVAIuKCIAXY1YloDoUAJGAeu0EwMhohcBAAkCTJxJgKwGeE4CwJ0CmBdojzYExAfDiFQEIQBMEoDmbAARLBONvE4xWBIIVAhCAzhFDXVvAKM4hAD3bFARAWRFA8PeArjGMOxkCWuh12NUBuN9JQB8EoB8C0A8BGIAAWLQTAG0FQKYDcAwBGDqM0EP4C+/j+AM8DUMAmK0I/62+AAgIoCO4ftRYIADbjquIBNgpge1gGyRg2ykdsPUMg2vnEGwMjree9WjrORv+wy78N3+aooHzKer/zAqAcDEqALj+BcL/MsYr4CpEB+EvfJUpABQXgG+VjFwNGIQADEIABvH0PwgBGIIADEIAhn5SMaICMAQB4NAfdAw5AbArAvDfE+E/xEAAhn/DNREAy8sIwFYw+gQjwl9A4M8Cob913KNt468iAAj/GQoFIJ2mDxH+P4yP0/jkRFL6TwQg4e8wFTCJ/5H7+h7Q669NQgLiAuBXAHIiVYCly4wwpwBwFWClnlcAclfzZx6tBKucCERlYE2+EqwEGEgACSICBSG+CMxqEixx/QGlfkVAUUF5HFsJ4PDXQnGVEUIBMIEAcOgL3B/A2wcHUqBAGiKQhghwRSAqAkrgJsGgEsDTAxEagsqARSRApgO8WU2BvDJAVgdk7CDobyXcMcjTAWCYBcDSsQUjJKB7q60ECNs1dYOuHWAMxxCB7jEl9Dh8EejZhXE3EAmAGOxHWL4Z4kvAoKsEDL6D8DsE3k2LBAh4+mdGPtDC6IckbP2InAwgfD5GYEMChKMIpGMIMYcvAtvA1hPgpAkYhQSMnsZ3z+L8jKERHA9DAobPIjAhAZvPIcjPI9AhA/0XOPjx9/7MgeO+QAJ8AcA9V8BV9ZICEEpAXACsBAzdwHiTQ9/EsFMBWhj6eR4BuPdiAYgy+oBXA/wZAsBoC68EmFcAeCpgBk//k3RxcooejU9RKpUiSjb9SQQg4e/xyuB79/DEvOE+LeJlgbwaQARAzSkAy+YUAA8CoOcQgBBfAPJYAngqwLEqqAS4XgBuClxvIAEk+JWAoCIwlwBwJaA4XB1gKwJxMnsDiqtIEAFwElDirwyo9WKwCARSUK/c1AAEwE0N1LTqQACiTYL1bXEa2nUIC4DfFxCrBHgx5nqfQNAXwE2BwyomAF2j4XSAFQBc24F7xrRUAroQ+kz3jlAAgqoAC4BUAhCY+xCW+6MCgLB8y0nA2xgDAfBmC8D7WtjyAQlbP3R8pOMCINUAFUhApgBs+8QJAMYtEIAtp/CzT2thCAKw+TTCHBIwcBZ86tngd6E/8Ll5CQHAfVf1KwiAmUMAcO0Grt3ksj/F8HsBhph5BGD4JQRg5He+5uFYybldDvhHBYDD31jmFQCMKY/2pafo2NQzuvl8giYmkxf+JAKQ8DdaFWDklcGnTk9Rbu4zWrjEviVQyv8RAfDxBWAphz9YtkIDJSxnAYAQrIAErIAE5HIzoGsIzIuQuwqfQRDyGJYDx6o1RpBKAPcD5DsgAWs3KFrH0wER8lkCfAoMrYcEbChE8EMENhVp2lTsKMFTf6mPForKQUVIMUsAKIEElFaCKkNlNT4qTq2icsiBT0WdoUqmHjQYqm4iqm0xVMsrBlo9qoMIMPMLgAqnBWQ6IL46oCWLEESrAe2bLVwJYAnoGAYjCHmWAJkOAFvxtL8Noc84CejeoQN6eBzTbmrAWAnYhRES0LPHUO9eyMA+WwnoexNSwCJwwFYCWAQG3kFwHkSIHsKT97sIz8PKSsB7dkrASoARRj8EH4GPGR0TAK4CjB7TMh2w9RhCi8P/uLIVgE/wmWPkJELyFH42gn/wjAt/0I/w7xcBwHgef68LxkGQASMiIDLAFYGLWXoAnAQMfMkigHuvWfohAAMQAOE6+JZoMwRg87fa8r0SAgm44bhphM2OQTz5Rxm6bWQqwJeAYQ7/u/hvd0/Z8P/VMiwSoDMkwMQYdZWAbQ9x/AjXwMhjHD8hGmUBeOajBTv/b9k+riEAfvhTIAE7J8EUhz7F2IkH/R0pQwenp+n68yf0dGKceLMxSub+EwFI+BtJgKEFE5P4pd7/mBa+MRm8J4AFICdDAJY5AVjG4Q+WQwBCPFrBAgBy88zciBwoIQ8y4LNytRHiPQGK1kIC1q73aN0GHSN/owmBBKwvcAJQ6ATAp9ijApYAUFhqBBGACMUVRihB+PuIBFRroGKU1+gYFbXGAgmoqLdCUNOkIQEI/lYOfu1QjiwC0K5ifQF2dYAKKgEt81UEWAI245glAALQPmggAcBVAlgAOkct3BMgbIMAbPekGtDj+gLC3gAKewMgAN27LT0iAEYqAX37FfWKANiegH4IQP/bVgL6IQADEABmUCRABT0BQSWAewLw9L8FAsDEBQDnx0JGIAAjEIBRsAUSMAKGT+Bp+0SaBk6kaPNJjKds+A+cCQVg8zn8fT5FaJ+nkAuhAIgEXMxYBXDFIgJwNS4AfSwBCH/humUAAhDwHQuAjlUBNvN4Ez8HDDg232KUIALws60EiAD8gnMOf59fdYzsAkARtKsEWAEYAcMQgC0QACaoBIgMqIgAaNrOmwKN++EfFQASdk3FBWCbR7Q7rejixDQ95vBPpcguM05+pyYCkPD3mQYACv/j/nhzhkqLHtGyxQj+xYZychDyOVpY+lICwOFPwj8nAE4CYlMCXjAlYEVAiQzMJQTrN+mICGigBF8GCkqMUFhKgQyIEJQRRIACEbAoiICOgPMqb14hqKhVVFXL1QAtUwIiAs2a6loYQ/WtFAhBQztF0E4KsolAdPMgnXU74RZIQKuIABj0RUCLCLRDAtq3+FMCdlpA2GqbBFkCrAjoQAC6dlm6d1MoAFwFyBCAPoR/31tKwr+Pw/+gZeAQAvFdPO2+SzQEhg+D9/jpnwR/KmAEIjASEQHhCD47ahk9hnuOMwgyAUEINoP+Y/g7HEPgf4JjCED/Kfw9TuPvc0YLIgKQgP5PI5yP9AGAvs9VZCrAFwEE/WUlsAT0O3q/1CIBfV+Bbyz91xlt+dYLJMBn4AeMP+K/xQ3c5whE4CcjMvBKAnBfyVSAT1QGLJ6bEsDxQ9wPhh5pqQQwPB0Q4kEEVARN254RRIBEBCx6tgjw0/80P/0rOjI5Qb9NTtLk1CTpZMe/RAAS/p59APw/79T0DL379jNaueQp5S4xtHTJX0EA1J8rAMV/RABAlaLSKu0qA5aYAIDKGisAlfW2L6DaiUAgAK0Y28w8AqDmEYBw98DmXkhAn7ZEBKBdJEBT2xCCfzi7AHQg/Du2QQK24Rzh37lDSVPgywgATwP0OgHoRfj3vq0k/C0qJgCbGYT/4HsQAQjA0PsIcZaADxmTVQBGfAE4FgrA0AkjoT/AwX8CYOw9oYQ+CEDfJxghAH0RAeg7p2Lh38dccMHv8wIB8MO/739EAOjfLACKRp9F4Z4AQ9sQ/Nt9JjRtn4QITMYrASwAh6fSdHNmiqa9qWS730QAEv7uOwTOzEzT3Tsp6m29T8vfeELLIQHLlpCwNMe8ggCYYCogK3kKeIEEWBEIZWB2U2BkKkBWCKRpzfp0IAIiAxADkYBNjBIJCFFzVgIsykmAyZgW8FEO7aYJolMFhsqr4lRACiprPapg6tJCZb0HGUi7aoChukAEwumButa0nR4QCdCz9wrodCIgLxgCEACf5j5PJKBlgNHUOmiodQhSMAwRGIYQjCiRgAAIQDsEoN2JQIeTAGkM3GmoE4QS4E8BAAhAz34NrAD0vOlR94E09bzlCSwDvW97gQgIh7SVgcOGBgVtReADRgssAsMQgaGPEYJHEIhHAcJ/iMMf4wCe/vs49I8r6jnuWRD+PU4Aek7is1MgiwBw8Peet0QFoDeLAPRL+OPPuqIECf8vbfj/TwtAsBcA9wD84gSAGwFfQgCGH/h4Aod/lKwCgCd+Dv2oBHBTIAvANgT/tgklsABsjwjAHrAX59dTKZo2igwlZf9EABL+/psDed6CqakZ+un7SSrMv005i/Dkz5WARUQ5kIA/WwBmS8CLBUCqASwA+XEBWOsLwMa5BEALswVAv6A3IJsAUIxsAlBR4wnltVFmIAIpqmrwXI8A40VIiQQEItDmueZAFds7oKHLUt+D+3pwHTT1pqmpD/R71AwRaIYINA3iGBLQMuRBBrxABFpByxYIw9Y0tSL827Z51L7dow4IQAcEoHM+AdiPYwhA15sI3wOaujF2vZmGBEQFIA0BsBLQi/Bn+iEAwmEG4QcBEBD8zCDCfwDhP4CxH+E/cISo74gS+o8ieI+xAODPhwB0I/y7swoAPocA9CL8e+cQgN7P4swlAL1X8DkEoDcS/v8aATDBKgAWgOEMARiCAAzd9wKGf1f/tABsgQBsQeCPPFfClnGAwB+djLNtygjbuRFQ8OjYhEfPNKI/We6XCEDCf87mQNOpSUrNPKdzn04hoB8j+GcgAHj6X0y0JCdsCvQFQLr//zQB8CXAE1auztgfYJ3fIOjFegOiUwTr1mdpEJSpARI2Bk2CFGsUDHsDIpSpWULAlJZDAiJTBWWVOqAcVFYqiIASEQimB2TlgF8R8GR6oLJBUXWTpaZZiQRw02C0cbCh3Thss2CjvGDICkBdd1QAXDWAw58lAALQuNlKQAtXAoa0ZUSLADRvwbVRhP+oJxIgIrBdQwQ0RMAInWPkREAL3bvBXhzvgySIBOCe/Qp4IgRdUg3AMUSgGyLQDQHoOYhwPohgfpcAjwhR0AsR6IUI9L6nhJ4P8LMhAp2g6yNIBgMh6IEAdIMeAaF/FOfHfLTlBO79RIkEdJ/Cd06zCOBnn/VEAnpBz6eOC16M3s+UEwFjuURCz2VtuYKfdVUFiAhcw/Wvcfw1vvcNowJYBAa+VSICTP/3SiSg/0fc5+i/oQQRgZ+8oCGQRWD4tnG7AUIK3EZAMQGQlQGeMPirJ0Iw+FuE39OCLwKZQrDlsQoYeQIgAcM+z7QTAQ8iECKVgHF8l0VgOkVvTT6nm9zwh98XyVa/iQAk/EdNBagFM5CAKX6/99sTtGL5M1qyRFlyVEQCPAABWBavBNjwf4EA5EIAcj0RgdwIeSv9fgArA4EArNGCVAJcX0A2ARAJ8CsBG8LwXycCYNlQ4AuAeQkB0FkFoCQmAHyuIAWKyiqsBFQ4ASiP9Qc4ARAJsAJQVW/7A6IC4EtAODVgewXquUdAlguyAGhbAej2AgFo9AWgT0kVoCkiAM2DXAVwAjCsXQUgIgBbuQqgJPwDARgLBaAT4c90QQC69ryaAAQcQkgfQkAfUkIX6HwXHPao8z18530cg44PgBOBzo9w38e4X8DPhAB0MUctgQQ4AejOFIAzCOWzmQKg5hSA3osgQwC6mSs2/LsjItB9DX/+V54TAS8mAP0QgP7vHBCA/h/C8J8tACpYFTDIlYDb/jSAFQBfAnwBGOTg92EB+DVTALwXCICVgBEw/ES/vABMaNo6SbR9JkVnp8ZpUnlESfgnApDwn4dSeoHSZsF9/DLpaIcALB6nxUtSwMuQAH9nQFcNWO7JUsDlK1TQDJgV/hz38pgLafDJyzO0EqyCCDCrV5mQ1Qh/loAABP4aL8ZaiMG6dR6ty/coHyKQ75oD7XbCKjY14FcC/EZBqQgU+1MCOiYBxaBEQPCXkcPIteJyFUwRlPoi4FcDZEpAOxlQMiXAvQFVjuo6BH+DtkglIA0R8LJWAvjtg3XBq4j5BUNWAhq7MXarQAQaIAGNfRoSAAY8JwFaYAloEQEwthIACWjjfoBRQ+1bEfrbQgFogwC072RwbRdCmYEAdOzBfXtxDRLQsZ9EBEQA9isrAW8pEYBOCEDnOyFdB7UFEiDB/64ndBxOCywBne8DCECnLwAf4s/8yBMJ6DqC6wLuOWbpOo7rx60AdH0CThonACqYChAB+DRTAHQAh3/P5+BiKAA9XxB1X8LPvYR7v0DYf8ESgL/7VfyZXyqh+1raCsBXOIYEREWgFxLQ+y3+bOZ7G/q9CPzeG/g8Gv4iABz+xlYBfuZ9AEywHwA3BA7exfk9Dn4lcOAHMsDcB7/h+78z+Fm/K2HwgY4x8pCAXRIY8AQ8JRp8hj8D4T/0HIxDDvhpH4yO66AnYPuEoV04PzGl6e7kDKVTM5T8rkwEIOE/FWM3Cfr2uzStW32PchZ7slOgLwCZ1YBQAJQTADM3vgAszxCA3HkEYBULQDYJiMISEBEANx3A7xRYt8lKwPwCQEFfgBUALdMALxKAojJPKJlPAKp8AVAOJwD1TgAaNQTAm1cAakUATPiGwUAAcL3HSYAIgBIBaMwQgGYRABUKwEhEAEbnEYCdykoAC8BeXANtvgDsM0BHBEDHBKDjbU8IZOAgrh1KW95NU/thlgCuAihBKgEf6FACPrIVgBcJQKcIADkB0K4CwM2AmRUAPUsAuiMC0BMIgAkkoJMl4DL+Lnjy74QEdIoIpAVbCfAFQMmUgC8AQkQAekDfzUwB4PC3vQADEIDNt3F+2wrA5jvZBEDHBQDhHwqAeYEAUEwAhiAAQ89CARjMIgBc+t+BJ/8dk5refT5DN8c9eg4B8JLd/hIBSPgPR9slgufOTdLiRfdp4aIULVqcDioBvExwaU5UAGY3Bc5qElyuJfjnFwASVq+iDAGgLBIQh6sAthKAwJdVA5ZgqWBGJSBTCFgECkBhsQk2DyqCEBRDDHxKeIQcFJdy+CsZmRKWABCvBPDoCX5fQIWrBlTxngGQABaBap4SgAiEUwJ2/wDeUZBXDQTvFhAR8GKvGq7v1FTXrYSoCDRABBpEBOx0gJUBJVUAqQTICgEjEiBAAlq3IuC3EbXuwPkYA0kY86htZ1okoH0Pru3BfSIBkIZ9LAEEAQBvahGAjrcRlu8YoR2h3/4OQp6DP5ND+OwwxsMc/lroet/EBYD52A9/xzEtcPgzHP6hAJCbAjCuEoBwP4sAP+dZIAHd5yNAArpEAhD4n3Pw+5iAQACucCXAE8JKQHQqQEtjYFYBAD08BXDTzCEARAPMz+QkAPdBAAZ+gQhEGLw3WwA4+EMRyC4AQwj/oRcJgFQBzKwKwNi4ob3Thi7La34nKDWTbPiTCEDCf8l0AC3wIAL7D0wg7CdoyWJFC0UAvEAAli5VFpkKeFH4ZwpASF5uXAJmCcBqCMDq+QWAKwFzC4CxWwhvVHa/gAgb/d6AQl8AeM8AJRQ6CShC8BfFBADXSl8kAL4EKKkGhALgKgH1IZkCUN2iqabVWGICgLDvMFTLwd8FQeiKCoCtBjT06qwC0AgB4EpA8zBGFgGuBmzRllGwFQG/zYgAtCL8BYR/606PWiEAbbtxHRLQuleLALQzCP+O/ZABCEDHAfCWFYCOd/SrCcD7+O4HJuwBAB0f6Xj4xwRACZ0ndCAAVgIQ3KcZBPYZIAKAeyEAXRCArvMRIgLQdRHfv+RjAjq/wD0sAJdx/zwC0I2n/57rJgx/XwB+MIEA9N7QgQD0OwZuGYcVgP7buH7HCCwAA3dx7hiAAAzchwwwv7rxN18A+Di7AAw+NMLQYwfCf5B5OlsAhnllwLiCAHgQAH6vwAx9MpWm+xMTNDM9TSYJ/0QAEv57NglS4Cl+MQz0PaUlC6dEAnKWePGNgnhKYKkX6QdQGaEfsnyZB9KCFQFLrusJWJkXrwRY3JTAaoyr1ZxkCsC6QAAQ/vxCoSzbCK8HG1kCwKYClgA8/XNjoGwjrIJKgD81EK0G+JWA+QUgnBKwAuA2DaoDbjUA4wsAv1mQw78KVEv4xwWgBk/+tZ1EtRL8EIDuTAEwEAATCEADBKBhwKOGzQAC0AgBaBzygKImSACvCGgeBQj/5q0etWxXQvOYjye0QABaIAAtuw21SBUAIgABaEX4t+1H2EMA2g9ACN5SUgVgOPxfVgDaIwLAwe8zlwB0HlMyFdABAehwEtB5EpwioesMJOAswv0cAlzA/RCAzvMRIACdEIAuJwCdCP/OLyA0l3SMzi9sJaDrcloEoNPvB0D4M91OALohAD0xATAQAIIAGBGAnkgTYL8/JfATJOEWrkMC+n/G/bdVIAD9d4n67uEagp/pv4fPfrUMgM2+DDgGfvMEvxLgM/BQC4OPcR/zBOdg81MDeFSClQAlUwHDE2kIQIqOPZmhX589p+npyeQ1v4kAJPw3bhWc9syCW7dSVFX+Oy1bmKKli7UVgCVWAHJklYBHOX8lAXCs5XG9sfBLhcAsAdgYEQBQUKiFTUUqqATY/QK0qwb4IPwdJU4CSqOrAiJkCkC5vG7Yo/IGz75N0BcAbghs1lTJEgABqJIqgAcgASwAXAXoNFQNAaiBANSwAPCywC5fAHRcAPp59EQC6p0ANEAAGiAAjcP4bIuladQJwDaE/naE/o4MdvoCYOFKQMteyIBIgKY2JwBtEIB2Dn+Bj0MBaI/CAvCupeOwFYB2CEAbBKD9I4sVgAyOGceLBaALAtDJnGNmC0BHVABAp5OA7ALAlQBPVgVwQ2B3hgB0QQC65hUAS79UAXRMAHpvOQIB0JZfDPXexffw9N/LEoDQ78OT/4sEYIBDP0qGAAzMEgCLCMC4FYChyRl65+kE3ZqYoanJcVKel/w+TAQg4b9RALgSwGt+r1x+Tvl5dyh3SVreGbBcBMDEmgKXLgv3CVi+LBsvEIBcElblOaICsOpFAhCuCIgSVAOybCPMqwU2bDC0wVUCNoHCTSwC8d0D+c2CIgHFcYqLHCV+JcA2DfJ+AVGijYHyHgF+s2BdGhKQpvJ6L5gGqGxE8DcZqmRaSOCKQHWLJ1WAaq4GdOAewBLA8HSATAmwDPQ4EegFkIAAiEDdZiVVgHqEfx3Cv34YIjCihUaRAFsJaNzmUdN2FYerAbtCWnYDkQCuBChIgBIJaDmA87dYBKwMiBDIdAAkAbT6HMQ5JKDtED57F/e+h2NIQNsHuP9DiwjAxybOUbJIFWBuAeg8jeuQgI4zGM8qC0Sg41MGx5/iuyIBSiSA6YAEdFw0cwgAJMH1A3AVoEcEQAUC0DmvABDC39IfbAqkswiAFgEIgAT0QgJ6ftGQAOUkwCD8dSAAA79FUSIA/Q9UjPkFIISnA7gCMAz2P/Po2lSKHk4/o1R6hpI1/4kAJPwXrwpQskeAok+OP6U1y57QsoXabRHMmwRpeXkQvzNgqewYiKBfGmGZjuBLgOf6AVSkIdBQHsI/z0lAWAnwVwZoVwWYC5VdAPxqQD5vGOTZDYMcvFpABGBDWAkokGoABABsYgko9N8lEA1/LRQh/ItYBEpsX8CrCYBnqwAgmA6ICkCzkUpAdYsSAahuhSSwBLQ7Aei01HQaquV+AJ4ScNMAVgAsdUy/FgGoH9QRAVARAQAQgCYRAA597cDxDhYALVWAUAB0RAAw7tdSCWiBBLQeMJAAhLnDD//5BUBHBECHuGpA+8cIYwhAxxFwFEAAOo6puAB8EhGAU7guEsDgZ0IA2s+piAAoEYB2CEAHhz9o/9zScdHSeTEuALYKABG4AhH4EsdfaSsBIgAYr0MOEPw9Ap7ev4MAfA8BgAT0OPp+xLUbDAsAgAD0MLeM0HebQfADXwB6IQC9EIC+u1qmBAbcdICIACSg/zfHfVy7DwHAU38MJwCbH2EUATDCbAEgGuQXAOHJ/+pUmh54aZpW06SNloeA5HdhIgAJ/7XLAvWC6ZkZGp9I0cE3pyl38aQIwJKlJhAAvyeAWe6Q46V2C2EeQwlQsakBDv/cFRRgRcC4KQEVSEC2JYLhfgG+BGSuDjCOeEXAZ/16S7QSYEH4F3giAywCfm+AD68W8IXAXy3wagIA6kPKIQAVTgKsCNieAB+WgMpWT6oAle1KJMCKAFFNF1EtBKC2myABQAQAQtCPaz6bIQGDuDaknQDoiAAYatiqEP7assMAHpVgBcAg/LUTABMRABzvx2eOFlcJaHOVgFlP/04AWt9VAJ8dNkL7++ADDn4jtOG49UPc8xFEAQLAtB9RlqM4PqZnCYDfDNhxUgUS0M6csQLgY0UAP/M8PrtghDZIQNtnVghkaiAiAB2XGYjFFZIVAV1fGicAlo6vvUACuBLQDQHo+Q7h/32UsBegFxLQexPnoOsn3H8LgvAz7rntY0QA+n5hlNAfaQgUGfjVUD/ou4+fdd8E/QF9kIEYD4zQDwHof4Twf0zC5icUE4CB50Rb8eR/mf8/N5o8Dn4yUgVMfg8mApDwX75VMEvA5NQMPX2iaGxknPKWTlHOkilazHsELHFLAx3LorAILNXhKFUCnSEDRohLgA4EICoBf74AGAeOeUpgI4uAElgCRAYKtDQIWlgA4kLAVYCiYq4CGCG6X4AIgWwbDOSNgh6VQgBKa0EdPqvj0bMSUM8SoIGxItDEeJABTySgoiVNVZCACicBVgQMJMBAAoz0BdRKJQD0QgogATV92jKgRQJqB8EQYyVARGALGAVbDdWDhu0EeNQCywBLQNNOyMBOz4rAbkXNe5RIQPM+fAYa92N8kyXAUCtPB7AIvI1j0AKa37G0MHj6Z1rftQJgqwDKBv/7+Ow9/Gwct3xoaf3IBCLQdlQJ7ccR4MdnVwJmCQDDVYCzGIOpgD8qACYiAHYawCcqARY+1tT9gxFEBG7gHHTe1E4CcP1nH64CKOq9E+KLANP7i50S6P3V0sPjfUU9oPd3HWNeAXAM8YqAJyk6O5lC8OP/d01J8CckApAQrwTwS4MmJyfp11886m55TCsWPYUEuP0BlihpCMzJEIGl7pXC0QqBVAayVANCATD/QgGgUACCSoAvADq+SkDQsyoCQU+Av19ApgBwFQASUAoBKGEBqGYB0A4+9oKKQLkTgApXCWABEJwAVIoAeBEB0FYCumxTIAtADQSgtoeophfHvXEBqIEAVEMAamQqQAv1I0AkAOLAErCNAEaEf31UAMYUNUIAmngqwAlA8x5c32sFoAEC0IjwFwk4EFYCWACaQdM7FpGAg1poPWSkEtB62Ia+hD9o9gXA0fphRACOOAE4xgLgZRWAjlkCYCznzPwCwNMAn8d7AF4sABz8xglApCfACUA3BKA7QwC6MwSgCwLQjeC3IMxZACL0RSSgxwlAz68h3b8p4VUFYOApY+j4pKIpg9j3KCn5JyQCkJB9aWA6labp6Sm68V2K6srv04rFkwh/TW9AAhbmRPYJiAjAsixEpwTiUwEm3CCIRYDfFcAS8CIBWKXmEQA9qyfAJx/hny/9AAoCgOCXxkAlbIxIQEwACnSwWqAAMlBY5E8F2OmAklIIQGnmlABXAiAAlSwBoEbFBMCXgPJ6LRIgQABYBCqaOPwZngZQcwgAOQnAcQ8Hf4YAyDSAcQKg4gKA8K9j5hCABghAAwSgEQLQsMujRoR/0x4Hwr9xn+WfFYAWCX8O/ogAvJ9FAKQKAI4ANw3QxlWAEwjxTzCeNA7Iwakw/NvOzCEAoP08fhYLwAUlAuD3ArRfxPklCAEEoP2yAwLQAQHohAB0XsPP4fB3ZBOALgl/wojj719FABDqrheARUDwn/xZAO6CPyAA/S74B7n7/2GaDj9X9IDf8KcMnv6Thr+ERAAS5pkOSKdTNDk+Q998OUXVJY9p0esTEIA0MFINiFUB5hMAkQC/GTBz2aBrDsz1hMxKwCwgAKtWeVlWB/gyMN8qAWW3Ec5XQSVgPUvARi9rNcAKgW0WZAoKPSoo8mZVAsJ9ArQsDyxx7w/wBcDigXRMAqQvAAJQ1miovElbIABMRZvOKgBVIgAAT/5VCP7qPhzPEgBIwaAJBKAW4V87YsO/dlRL+M8pADsZRfUQgAYIQMNesE8Fwe/zzwhAc0QAJPDnFACyiAAYEYBWCEDbCaLWkxhPGaH1NETCBb9PIAAyDWB7AVpBm6sEtEIAWi941Pq5Etou4hi0f6GFtitGaL+K8y8R+hCAdp+vlKsChALQ+a0VgM7vGcjBD68qAEZ6ATj8u+9YAZDgB933VCz8X1UA+vDE38+Nf08VHXg4Rb+kNR78jcz5J7/jEhIBSHiBBOgFMzPTNDU1RT9+51HxhkeUs3iKFi6ascsCWQIWW5Yu4X0DDC1bbGSU4xyfuAz8IQHwKwQr40sGX1YA1q5LCywCPrYq4HoD3GqBDbxaYNb0gBOBWINgZGrASUCxe8tgcaWlhIEMFFd7TgZCEZDeABaBRtAEmrVQ3mKootUXAW1FABJQ2QkR6LQiUAEJqET4V/X41QAWAisB1QO4vhkji8CwEmq2eECJBERFoG6rEuq3Azz91415VLszLRJQBwmo24PreyEJe01Awz6ixv1ETQj/pgOKmt/SQhNofNvS9A6DzwBLQNO7ipre86jpfU+Cvxlj03tpd6wCMWAJED7G8RGIwTGIxDElEtDyiRIJYFpYAM7MLwBtcwhAC8KfaX2BALRHBUCqAQQJMCICHRCAjutKJKADT//t3+H+75RUAaQS8COOHR03lEhA50/47JYKEBG4jWsQgK7bnkgA03XHo85f0tR11xMREBm4h/vuxwWg5wG+D3oeQiQeZlYA0tT9eJrGHk3S9zOezPvr5PdaQiIACS8tAdosSKUUeZ5ecPXSDBWs/Z1yc6Zosf/OAAcLwLIMAQgl4G8iAOvjArDhjwoAv074VQSgMS4AYSXAFwA1rwAImQKwmRD+2grASDYB0P+0ADSwALw5twBYCYgKAAL/8NwC0PwyAnDiXyMAbVfwnasAEhCl3Z8S+NoxnwD88OoC0PWKAtAdEQCm75ESAeh7QtTz2KOdCP9rk1P0zJuAACS7/CUkApDwivCcodbcF0B07uQ4bVzzK+UsmYQEKFqCwGd4x8DlGBmRAIdIgciBv2wQArAUwb/MUC6vCOCeAJC3nN8VgPCXpkCE/HxAANZAANZAANasZtSsNwjafoCQdT7r3CuFQT6Ow+kAhH4MLX0Csm+AqwZs2uQEQKYDogIAeNdA3kVwlgAYCACownk1JKCGgQj4PQGBANipgLImYwVA4H4ACEArjiEAAgSAqegyVNFtqLInhEWgqheC0IfgdxJQHTQEQgCGHVtwzhIAAaj1JWAbxu0I9x04ZgmQaQALS0D9bgjAHi0iUMcysA8E0wHKBn+UiAAILACHFDVyFQASwM1/Te/ZikCzTAUwCPoPAMK/5SPwMThirAAcR2BnCsApHJ9CMJ+OcMYKQBtzDvcJVgBaz7vyPwvAZzgWrAC0XcLnLACXjeWKk4EvQ1oR/m3XcP2acj0BGL8B3wIJf0sHwr+TJeDHCDfATcctHwR9RAA6mTs+LAAM7nHTAd0sAG4aoIfDXwTAUBfoRvh3PTbU+RQCgODvf6Jp76MZ+vbZOD2bmqKUl6Kk9J+QCEDCPy8C2iyYThk6c2aKCvKf0tI3pmnpQhv4HPwrFlmWLdK01LHMCYHdVVDRCohA7lIj5C0joB14+l+BcM8187I6j7ECsHaVz3yrAiz5axhN+WtVjPXrEPT5CPx8cqMOgQRsZAngRkFpFvRo4yYvXgmQ3QONwO8RKCozEv6hABAVVzE4hgQUVQOEf3GdphIX/lYAjOsFoLAfINITUNYGQWgHnTjuwrUufCYSQCICFd2Qgh5tKwJ9JLAE1AwoqmYBGLQrAmwlAJIACagZJaphCdhmsQIAxrRUArgfwEqARw08umpA7V6MEIC6/SroCeAqQCNocESrAFYEDDUetALQyFWAwyqAg9+n5QOiZoS/8DGOj5AIQDMLwIn4FEC0HyDgNEECwFlC8Buh5VN853xcAHy4IdBWAvCzRQLI4WQAEtDqaIEEtCD8WQDaGQhA+zeeVAHaIQFtoF0qARCCHyABPyKUI0g/gN8LIP0AVgC6IACdoINB+Hcg/Dvu2PD36bqL7941IgBd91kCcMw8IOoEXY9IBKDnSZo2P5qiPY9TdGWCX+07SdzQm+zyl5AIQMIf3DLYLPBMekFKpej8+WnamPuQ8l5P04rXOfhJWL6QRApyFinKWagCEYjKAEtAKAIqgEVg5XItIjAbg8+IVq3wRYACGRCCZYLZVwmsW83g6X+1F7ImlACf2QJgQma9T4CACbYS9iXAp6iMrAS4SoCIQLWJCIBG+DPGioBrCAxw1QCmtJUlALTjvk7PiYB2IsBC4EEClIgAS4AVAQZhv1kJ1YMeVQ15IgGVI0okgCsBNVsttdsQ6tsdO1gCIAWQgNqdSsa6XTjeje/swQgRqBMRUCIC9W/qGA0HjANC8JYVgoZ3cHwI976LYwHn70ZkwElA04fa8rERmo9AIo55IgGBCAgI8QwhaIUEtJwGZ8BZ3BMTgAgvIQCtl3UY/sxV46YB/lwBCML/nxAADv+Oh5AACED3I4PwT9HuBxN0+blHDyZSND2dSsI/IRGAhD9LAvQCT8+Q59GCsydnqHTtE1r1ukd5CP7lizj8wSIj4f9CAciZLQAiAX9EAFa9igB4LxSAoCfgZQWgJC4AReUYKy0sACVVcQEoqTOhAEQqAUwJg/AvabECIEQFoFPFBIBHXwAqGAhAZX8oAFUvIQC1CP9ahH8NqIUA1M4nAHteXgAaXkYA3tMiARz+jR+9nADEmgJBMwSgGQLQ/JIC0DJLAMzLC8DXswWgLSIAHQj9jhsh0gMQEYBOCEDnzyq7APwC7qqAznv47j0j4S9EKgAsAF2PbQVgy4MZOvc4TY/GUzQzMU3KS+b9ExIBSPizlwjiF8vEhKbjH01SQe4jWrkwRSsk6AlP/xp4WQRAu+kCJYgI5Ph4TgKU7QcQdJxlJqgQxKcGEPrSGMh4kACP1iLsLVp4OQFQIfmO9ZFthDOWCkY3DJJNgyL9APxq4QJIQAFPB1RYpArAKwOqEerVOK7VkUpAKACljpImjEwzhKAFtOpgKqC8Q2cVgPIeHYR/RT8YwDnCv2IQoY/wrxyGBIyEAlC1RUECHJCA6m2GaiAB1TsU1YxhHMP1MY9qIAE1uxy7lYiAsBfHTgJiHNAOzwIJqHsbHIQAHPLxQFokoOEwAyGABDR8oKjxQwgBS4CIAI6PIPyP4jgiAs3H04EENIMm5iQ4hftOQwbO4DokoPkcwv1TFgGMCP+WC7iG8G++kKbmzzyh5SLuZRD8zZCA5i+U0AIJYJqZqzi+BilA+Lde86jtGwT+dc8GP2hlEP5t30MIGEhA+48Rbiqh4ycttP/kUTsEoAPw2H4bIPzbf7FEBaADAtDxK0QC4d/pBKDzdxYAXH/iUd8zQzsepOnqs2l6OqNJTSsySi9Inv4TEgFI+NPhFwdNTuNJA08bn3w0QyWrntDKN1IIdqIlCzVQcwoA9wP4bxr0CQXAi6BnIQIA/EpAIAB+JWClEtau0sK61SaCLwEOmQLQATb8PSHf7ReQ779eeIOaWwAiPQH+igB+q6AVAEOFFXjqD6YCtPQCcCWguMYXAOOmAiABjTj3aeIKAEEAyAmAEQEoZzrMHAKgRADKIQDlEIByCEA5wp+pgABUiAREBYDxBCsAOIcAVO3g4McIAajcic84+HeG1LpqAFcCav1KgBOB2v24jqf/2gM84hzhX/u2hQWgTsJfBxLAAlB/2PEern0ACfCnAWQqwEoAVwKajqmIAHgiAM2g6RNHRAAaz+IYAtAEAWh2AtB8nsPfUNN5fAYJaPrM0uwEoAkCYMF1lgA//JkrVgC4D6AFAtAKAWi97p78v4UYgBYnAEwrBKD1x5A2hL9wSztc8P+shbbbGO/g/BeA0G9D6Pu0I/yF++A3hD7Cv+MB7ns8g3Gadv6eom8mNU0pTdrYHT2T31MJiQAk/M9JgFILpqZ5n4AZ+vzUNBWs+J3yXk/Rkn94tOSNNOW84QVTAVYGfCHwBF8EfHwJmI+YCESmCMImQSsCfoPgutUUwZeAEG4ODM4jTYJ2pUB8ueD6DZbZIhBtCnThHwgAUWE5TwXYfoASXwC4AlDDVQBcqyU3HQAaFBU7ipowQgIYmQaQqQA8+XM/ADcEdig3FcBTAmkq60pTabcnVYCyXtDn2Ix7NnsREdBC5YgBWmTACgHYimOIQIWTgEoIQAWokmpASM1OQzW7EPJSDfBsJUCqAbi+H9ffJOAk4C0dCEDtQRwfMpAARlPduyoMf+Z9FgAjNDoB4IbAQACO6ogAKFkV0HxChQJwKkMAzkUFAE/258EFggBoKwGvIABNLADSCKitAHyNkP8GAX3dCK3f4jPQ9r2eWwB+igoAB78JaLuN8Y62/ILzuyS03sP4q6X9N4oIgEdtD5/RtgfP6MaMopQxlGzvm5AIQMK/cGWAXjA5MUOTTxWd/2SSStb8RisWpmjR62lavNADOpSAoBowjwDk/DEBWOVXAjJEwKJlxUCUmBDMEgAvY7+AlxCAogwBKMsQgIpQAIpkGoBiAlAcFYBGnDfpQABKMgSgNBAAJQJQ2uXFBKBUBMBQ2cAfEIAd8wgAExMA/WIBeGc+AVDzCkCTE4CmiAA0n9AxAWg8NV8FwApA03lXARABUBEBwL2X5hMAXglACH+TVQBarr+EANyMC0DbrbgA2CrA3ALQxgLwu6ZOXvr3m6IdDyfoh7RHHqkFOin3JyQCkPDvkADeMZBF4MKZCSrZ8JCWvDZDS13wLwY8JbDUTQkseyMtLIcgRFmxCBKwWAdNgmGjoIksHcycErDNgXNVAuLLBbMLQHiM8F8TXyaY77YPtnBFIBWvBGxStL5ACxu5FwASsBFsKMZYYmgTJGBTGYuACZYG+g2BRdWQg1ojFNVroRAU8HGjcSihuNnR6lFxm0clbYpK2nHeATGAAJR0ORD+pb3kMFYA+pVQPuAFIlA6hGvDmsohABUIfqZyVDv42IMMQAK2Garabqh6R3YBqPabAvfiHOFf7fOmjxJqIAJVEIHqt3EfJKBGKgG+AGB8D+eg7n0TCEAgAh9pavgYHMH5UUUNx7TQeBxBDgFo+gTHJ3HtJD6DADQg/JnGMyag6SxZPs0UAC00f26EloskWAnAfVcoRvNV3HcN939laXESwLR8A2G47sk0gAAJaPkhJBCBG8biZKD1Z3zX0Xob17gXACLQBhFovWtiAtD6G84fpKnvQYoO/ObRrQlFaQR/MtefkAhAwr9RAtSC6VSKno2n6NKlaaorf0LL/98k5b7Bga9lOkAEYGE2AVACNxG+SAByl+qwWVAaBo0QNgdaVq5Q8d6AABWwJtIrYPsFtPQFcCXAXyIomwXJpkG+AKRtJWB9WAlYLxKAY8ASsLEIx2BjiYYAgDJtBQAUc1NgJahC8FeDGicAdWZeASgKBMBKQFwAHF06qwDYSgALgLLTASIAuDZsqJwRCUDwgwpfALgaMMoCgHOuBkACqnZooXqHkQbBmp043m2EGkhA9V5LFY/7wZs6IgDKCQCICIAvAXV4+hcBcBJgRUC7fgAcBwKgQwE4xtUABDwEoOET5QSAw98I2QSg8RzOP9VuCkC/sgA0QQCarrEEGCcAHP5GaIEENF9XEQHQLxAAHP+Ea7fwXeZn/JzbrheAqwF3jAhACwSg9VcLVwA6f/Vo/+/jdGsmTSlNSdk/IRGAhL9GJWB6ZpKePp+mB78r2tz2iFb8n3HKfd3Q0tdTkABbEYgLAIe/FmQjoZcUgMwpgbmWEM7eSEhHqgOZUwTRHgEVrBLIX5sW1sW2EXaVgI24BwKQLxIAKYAAMOtZAqQKABEoVSICPCVQCBko5FUBlTiGBBTU6LAKAAkomEMAChH+RS0gqwAYSxfoMREBICsAPB3QayWgVCQA3wGlQxAEZlgLFZFqQDmPEIAKng4QCbCVAEaEgGWAmwR3WbgKUOWoYAHYp4Sq/RaWgKpAAnD+DqSAOWgFoBbU+BLgBKDufT62UwJ1HyqRgLojkIKjRvCrAA3Hce0ECwDC/xSHPwnzCUDjeSNEBaCJJQDh3zyHADRcxfe/ZAHAPcxXkIWvOfxJaIEENF/XLy8AzE/4/i1819EqEuCmA+7g/C7+HAhACwvAfYT/vTTtuT9JdzxNaUov0EYnv3sSEgFI+OssEeR3ByilFzx86NHmnvu0/LUHtOw1DxLA/QD6lQRgxb9VANQ8ApDOLgAF2QVgo1QC7LLAVxcA3NMMMgSgOJsAdJvZFQAnAKUvKQAc/mWjGF34ZwpAhawM0ELVLiX4AlCZIQCV8whAdYYA1M4hAHUfWgGo+4MC0BgRgIYLRmh0AsDh33gR910iiy8Al6MCYDIEwGQXALca4KUE4GZcALgK0ILwb8HTf/MvOL9rRABafzXUdS9Fb/82RT9Ppmlapckz3gKT/M5JSAQg4a8mARZa8OSpR3t2/karcx5R7muKVrxOtPwNDwKQioW/LwDLg62DTbBUMF4RUH9AALRMC0RZnRd5wdAqnWVL4UhjYPBiIbcqQN4gGG0K9GijPw0gUwERASgLBWATBKAAAlDAAlCtYxKwqU4JvggIDaBJCVwJKGyBILSCNo+KnAQInUAkgKQSUILQL+4LKenHvRCAkjkEoHwEx1sYfLbVCkC5LwDb8OSPp34O/3JmJ0DwV+y2VEUqAEw2ARAgAFVZBCCAewEQ/sIHOP4AUgABqPkI5x/THAKA8xMYPzERATBBL0D9GYxncY+A87OK6iEB9SICOP4M8vA5ji8yVgQaLypqvAQgAj71V/D5VS0SYEXAnwawItAMmpwECN8qav7O8X16lggIEIAW0PwTvnsL/Kwtt8Ev+LPuedTA7wG4M0UfPXpOd59P0sRz3uAnefJPSAQg4S8tAiSdyRNTio599IzK8p9Q7v9NUR5vHfx6GiLgBOANBP9Cu53wiwRgRY5dLeATWyWwLL55ULCD4AoSQgnQgQxkCoC/lXB0N8F1jrXyoiGP1roXCvFbBP2VAVwJ2LAxLRKwocCJAFcBSrSlzLKx3AArAZsqgRMAXwJeLAB+JSBTAAwEwGQVgKJe3I+n/6J+BtcG8NlmMEhUOmhcQyAYQfCDEmZrRAL8aQAIQDkoG/OoDAJQBgEo2+0JlZCAKFV7ParaFyFSBah8C+PbnghA7TtKVgPYXgCMhxH274H3GQjC+x7VfKiBLwFGJKDuqA4kgKk/bgWg/lSILwFRAag7x+isAlDHAnDJCK8qAM3f2PCPC4COCICH8NfCfALQiPBvRPg33gG/4O96J0U9v0zQqUeTdG/8OU1OTpJKq2Sdf0IiAAl/l02DgGcWXL86TRXr70ICpiABCHcGwb/8DfpzBCBbRYBXCPgEEhDfQCh4zXCGAPgS4E8LBAKwVgVTAWvXY4QArNsQEQAQ9AMU2xUBVgKUhP/GcmUFgKlSryAAeg4BQPB3EASA5hAAz9IXCoCVALISMGRXBZRGBKB4C8ZRBLwvAG5pYDko3YHQH1OWXfMIgA8EwFYCPCcAnhUAIJsD8dLAg5aaQ4aqD5NQ854VgOoPlcACYCVAC74A1IM6mQZAyJ/UISwCEIC6M0qe/OtALSSA+dcIgAkFgKcEfjBCVAAk/G8RBIAgAGQF4GcrAA1gEALw+dMpejT+mGamJ8nzbPgnb/ZLSAQg4e9TDdC2SfCnGylqqblPeW88pjzeC0B6AWbcKgCeAtAB2QSA3yi4fInnREDZKQGZFtBC9mWCjhVm1pRATACkCqAC1jCRfQLWRARgzVqMMQFQUgXgFQEb3KqA9UWa1hdb/CpAWAEwryYAjVYACpoNFUAACiEAha0IdOkFQKC3k0hAkROAYghAMQtAr6sABFUAXOs3gq0CAIS/4D/9BwKgQwGQqQAjAlC2w00DjPlVAJVFACyVjJsKqHwTBAKgpBegxu0NwFMB1cwhTVWHHRCA6pgAaMEXgLojxlYCnADUQQDqPtEZEoCff9oTCag7w+GvhUAAzkMAIAENn+H7kID6i5ADXwAuZgjAZdwPCWh0vQAiAbwckEv/oJFhCUD4N8UEQGcVgJYf8fPx5N/IzX83CDLgGgF/YVI09usEffV8hh5PTtHU9BTxxlvJ75KERAAS/oaYBWn8Apv2PPrlfoq2bn1I+XlPIAEpYcUbbhkg7wXgsBsEZQhAZBvhWG9A0CQ4T0VgebbeAH9poJ5FZpMgy4BfFVgNAVizDsf5aUgAbxcMSWABcHsC5BeCIkP5CH5mPQtAKcK/zIgEbKogKwFVPA0QSkCmAGxqiNAIgWjG2ILPWkIRKGozFohAkZsGKOqGIPQg8Ht0QHFGTwD3AxRvBoPaMqwk+H1KRg2VIvzLtvGTv3HYKkCF2yCofJcWZglAZEVAxT4tAlDxJkbZD8A2A/qwCFQdtFSyALyL48M4fs9S9YEnhCJgsRKAYD+K42PKSsAnJsCXgNpTuH4a4c+csQJQd04JLAF153HfBXz2mZEqgFQCPndcUgF1X6hAArgSIFxDgH9FQsNX+DO/hiBcV0LTt1po/s6EAvAjuKGF5hv4uRCABicAPAXQfNtQ7x2P3ns4RXdTaZpJpymdTos8J79DEhIBSPh7rxDAL7TnU5N09/cZOnpkgioKH1Lu6+O0ciECexGDp/vFXkQAlHuHgF8V0C8QAB3ByAuEovjVgFWR6QD7VkETf7vgSwrAagjAGgjA2o0sAAj6TQYCYCICEOJLQFgJAJU4dhKwqQbU4ryWRQByUA8afLIJgIEA+FgRKOzA2Inw7wIsAd1GxiKWAakGROgHAwASUDSI8B/CCAkoGgFbVFAF4F4AloAoIgLcE8BVgJ0Id0hAxW4WAUvVHiOIAOxlAdAiABUHDFW+hc8C7N4AVe9YKg+CdxmE/+GXEQDbDzBbAPhYCTUnlUgAU3Ma52dwflbJlAD3A9R+qkQCaj8Dn+P4c/XKAtDwNSH8X1YAQglowlN/g5T+cf/tKRq+M02fP9P0VGnykg1+EhIBSPiPkgDA85iTE9P09Hmavvl6hurKb1PO/+I3CuIpffEMgj7cJjhnUfylQi8WgMydAymG3w8QFwCa/XphJwBrOPgdq7MIwKr1aVq9AddYADawAFCGAJDDVgPWiwD4vQA4roAUVDoBABujAsA00AsEgAIBKGzDdQhAIQSgAAJQEAiAEqLVgEIIQCEEoBACUAgBKHQSEAjAiAr6ABi/EsCU8ihTATroBfArARW7EfoI/sq9JAQCsM9YAXiLBYAQ/BQIQNU7JqDyoHECoF9SAMy8AlB7MosAnPaCqQCuAtQ4Aai5YAWAqb/oVgXMJwBfvrwANH2vqPkHomYIQDOX+50AcNm/6Sei1lvTtOfOOP0w6VHa6AX8Qh+PTDLXn5AIQMJ/ZjVgejpFk1PTdO+eoZH+R5SfM0l5i9K0NMejHMeSxfxqYWNfMRwTARW8VlheLZyjszJbCPxKALnVAXMsE8xz+L0Bfn9AVgHwRAJYAPI3Iug3GVoHCVhXCIp9IAjFykkA9wPYSsD6CiP4lYANNUrwRWBjPT6r5xHXGvBZE46bIATNRkRgE8J/UyuPytLOEoBrkIBNXcqKQJcnsAQU9IQU9mlBqgBBJQDjED4b9pwEeIKIwFZLMY+QgBJpCLTIqgBZGYDj3WCvcUAOAE8DlEeqACwCFW+xEPCKAIQ9nv4rQDmPh+xUQEVWAdCRXgDjBMBQ7VHuA8CI8K89yegg/KtPcehrx8sJAE8DiARw6DvqLoMr3AyoLFcBJKCeS/+gztEACWj4hkUAx6DxWwjCd3jK/x78iMC/CRm4MUPNNz3p/m+/maJ37o3Tr8qQ0gh/bUSUkzX+CYkAJPzn7hxoeOfANE1MKhqf1HT842mqKHyOQJ+hZUs8WrrEhf9C+4ph/+2C0UpA8CKhzNUCc1QGbD+AiawM8IM/LgAr8xwIfiGyQiC7AHihAIB1vgQUzRaAsBLAAmAlgKsAQrWeXwAa8XmjEQnYCAHYCAHY2MojPm8DEIBNLAAdGDtnC8CmnpCCXnzW56YC+rWrAmipBMwSgC22EsDhX8QSAAEohgCU+AIwpqjUCUAps8cIJQj/UpYAFoB9VgDKDwAIQPlbPEIO3g7DXwTg4IsEILovgC8AAAJQgyf/GghAzUkt4f9HBKDukrbB7+MEoO4Kjx7VQQBqIQB1kfCvc30AUgn4BscsASwAoJEl4AcIwY+amn70qOWGR8O3JumTB+N0T/Ge/gpinMz1JyQCkPBfVAnwPL1gxlM0nTZ0/ds09Xc9pRULH9HS16ZoKUJ/yesGaFryRuarhUN4+WAcbacJotWAHH8XQR32BSyfvXkQv0cgL9cTAchbaWEBWOUqAKvnFADjBICyCsDaIk8kIFoJWA8JyC93lYBKUIVjkQBjqdMhEIH1kID1DdqKQBNoYRFwEtCmIwJgqwBWAJQQFYCNvRgR/pv8aQCZCtAvJQCF2yABCP+imABg3InQ34XQ320iAoDre3UoAPt5KsAEVQCRgHfiVHAfwCETCsD7luoPtGD3BCCqOUJUyxwlEYCaY/j8BO6DBFR/wiPE4aSFJSCK9AG4XoCacxCC8xgvKNsHAGou4hgCUPdFhMsI+CvGScB8AmBmCUA9wr/hex7xve+nqOMnj96549G3Dyfo6fgzmvZmKCn3JyQCkPBf2htgZN6T9wyYnNR07MgEbcj7lZb8n0laCgHIeU1Tzute8D6BpTxVELxeWEf2DojvIxDfQ0BnXR2wcpYEeCIAwkpbCbD7BDgBWDvXFABJ+EcFYG2hdqhZAiCU4rhMBVMBIgA8FVA9nwCoUACafQEAbSZDAIwTAMtcAlAwYPljAmCcABAEgCICgBFEBaASAlB5wEqAVAJmCQA+P0RUwX0AIgBaqP7ACDUfkiUIfycAR3HfcQT8ibgAVLIEZArAac9VAiAHEACuAlSLBNjVADWf+wJgQkQAyEnAfAJAQuM3GK9ThgCkqO/GUzr9cIruPZ+miedTpFJpSp78ExIBSEhEwJgFirwFGiLw7fU0tdc/przXp2jZ6zO07DXwOoJ/4TQtW4Rr/F6BhUbG5byHABPZWni5/3ZBFgGRATXHDoIQg+WWPBYAfptgniWPWWlo5SrLKm4EXINxHcZ8SEE+hGC9hQXAYmRVwNpNOiIAvgTEKwHrSnBc6kkVQIAE5FcqVwmw/QDrmVoHJCBfRAD3QQLWN+FaM8YW0AohcNMAgkwDGJkK8KcDNnbjWg9GkE0ACod8uCFQU7HsCYDwdysCirfis206FIDtYS9AyRiABBRLFQDHe+zTf5lUABSVR5YCRgWg4u04ldwQKBJgmwGr/OWAkIDKD3D+oRGqPzYiAdVHcIzwrz6KED/ukEoAvuOolikBPUsAas7iGlcBPtVC7XkE+gW3IuCiEQnwqfkC42WMV1QIS8A1HaPuK7J8beFKQMP3KWq9MUVjP03QN78/oSeT0zQ9PU2eUkmnf0IiAAkJ0T0D+JciVwQePtT01p6nVLj6IS1/7TmteC1Ny1/Xdhth3kEw2EUQLMwQAHm/QGRvAZGA2QKwAgKwYrklFwKQl4uwzwvJW0mUt4po5WojrFqD43Uc/sYJgBZ8AVgLAVjjBGBNgQoEIDgOBMALBaDMVgLyK3QoAFUebai2ApDvS0AdPgfr630BwHeb8XkLaMXnEIANvgAE1QAlFHT6AmAgACaLAKiIACDgh40TAIT5FiP7AhRvNRAAEwrANsvcAqBsI+A+DwLgQQB4Q6BMASCqjBCsCPAF4PDcAlD9sRWAKn76ZwE4FhUAHWD7AnD/KR0RANwjAsDhbwTuBbBLAhH+n8cFoBoCUHMZ37kSUnPVkyqAT91V/IxrRDUQgPJv8e/7XlE9RLbj+wk6dHecbj6boomJCUqlUhSu7U8EICERgISErBWBmRkjywW39D+lNTmPKOd/j9OKfyDg5cVCdivhZRiXQQyWvW4cURFQ9s2Di7xg9UBsS2FIwPJlKiIBxuGEwBeBVVpgCchbq0QCfBFYDdbma4H3BVizEUAAVm/yAmYLAFcAQKkWCVgHAVhXjnsqPCcBKpgSWFeN4K8BtYwSCVjXABrxHUjAuhZ8p5VJiwSsj1QC5hUAAZ/1AwhAwWCISMCIDpYEFo/iGBTy6FYD+JRs96h4TIkEFO8Eu3C8G+zxBBGBfSrsA9hvlwWWQQhsQ2BIpVQB7FRAhVsWWHGYpwNw/j6ABFR+6ETgI3wOEag8okQCqrkP4BiC/oR5gQDYpsDqsyZDAEgIBOAiBVR/gXsu4/4rem4B+NIKQO1XuPebKWq+OUlbf07Rud8n6e6z5zQ+OSEb+yRP/QmJACQkvOz7BAwtGB83dPrEcypZd5uW/d8nlPsanvpdFSAHApDzuqKlYNkbykqAvGzIhX+mAEhPgBWA5U4AfAnIXUExAchF+OdKJSAiAGviAiAS4CoBMiWwwRMJyBSANVwJwJP/WgT/2iD8ca3ME9aKAKRFANZBADj4AyAA6yICsDYqAM2+BIQCsCFYFWAFYOOcAuAJBQNZBMDtC+BXAlgACrIIQNEOTyiGABQ5ARAJiAoAs19T6ZsGwc/MFoCySE9ATADetQJQ7gSgwlUCKkUAdEQAjOX4/AJQdUYL1WcpJgA1F0jILgCUVQBqXPjXXMV1JwBNV1K05ZtndPL3FN2eSNHjp+M0yeHvJeGfkAhAQsKrS4C2zYK/3yfauvkZ5S18JFMC/IrhpcwbGqHvWQFwZPYELHOrBKIvF8pd6sWaA3l5YJ5IANGKyHSAvyeAPxWwOjYVEBeAVRs59DEWeLQywqpCJawuQugXQQicCEQFYE0FrlUaWgsBWIvQj1FnaE090VrmBQKwvh10aOAJGzpx3gUxgAQwLAEbe3UgAnYawEgvQMEQpGEYI8KfKXTh71PomgF9OPwLWQJ2+gIweyqgZJ+i0v3ahX9cAMoilB7UQtkhI1REBKAyqwBYqo6arAJQCaok/EOqzpDAAlB1DuOn4DyuI/yZGoR/zUVwCdd9sghA9ZdpqvgqTVVf4c+4DHG5rKjpq0nae2uCvn48Tc8mp+QNfl6ynW9CIgAJCX9UAtSCmbRHT58bOn9ukjoantOaJVO07P+lIAPcG2BfMJRNAKRp0K0QCFcHRHsC/JUBEQGIVABW+gKwyu8FwLjOBAKwaoN2KIEFYOWmuACsRPivRPCvKsZ9xbgH4b+6NBSANWVWANZAAFZXQRKqEfgI/tVgTQ2OWQDqWAAgCPUvEgDtBEBZsglATygAmyLNgL4A+BLwIgEo9AVgTEUEQAcCUCICgBECUILwLz0AnACUHdBh+DPvWAEoRfiXvoun/qgAyDRA2AtQ+WFcAAIJyCIAladCfAEQIABVEIDK8zb8qz4DCP9qJioAlzKnADypAFRew9/vK0WNV2do+7ceffb7BN1Npeh5Ok2pdEpe4pM89SckApCQ8Id7AvQCjV+onv7/7d2Jd1Tl/cfx/KG/1g1JZksyyWTfQQIEQUCWhE1kX1QWBUNZrOAuWFqtSrUeoQVLyDKZzMzdnns//TzPc2dJCCpt9Vft95zf69zJTKDn/I6c7/s+97l3ogY/iBqm7itcuVDCaH8eyd8UkPiti8STHpqe8NH4ZN1qwJMRGp+Kltw2qMwDhxLVrxcOq48PTiUiczkgkVRIpkIjna7dEli7FMAIyOqVAEZDjj/n+FmOv5ezEZDpDJDWupYLgLAaABWtg3xviMN+mEFhIgBGM0OgmQHQoq0JbQisVSYCsusDZMd8ZDf4JgTMhkBtU0hRHAG0JVw2APQtgcZOGlcmBLp28f1dEbp2VyIgovoVAQ77lwJ0748d4HsH/FoIHF56KYCvj9OJCL2MgL5XdAiE8YqAYhBY/a/RqQj9p4kR0H9WrwQoDNFwdS+Awsh5ZVcCJukCX18IbQRc5PC+RJeJEbDqCj9/S5kIGHmbr2MmBK7ZEBh5NzIRMPyBjQDjY35+PTQhUHVDBwHf+0Sf7QdYrekI+MTBtk+LuPJ3F3dmApQK+jq/vq9f/r0KCQAhfrpbBhkDfqAaZh+EOHOshPbkFJ79vzwjQJmHCJnnBuj9AdrTSwMg/M8FgNZeC4D0fyIAhpcEwOolATBaCQBlA2BsSQBsXBoA0fcHwI66AJh4/ADo/r4AOMrXxx4jAE4tDoDBpQFwrhIAKg4A9cMB8PslAXC1EgChDYD36wLgI37+sQ2A4Ru1CNABMHLdM4N/9SceNv5hAWe+msadgo/8gg+n7CPwFOSMX0gACPEzRIAJgTBqCBQavvraxd6JAloaC0g85Zizfvv0QP38gCAOAA7/Z/DYAVDdDNiMRSp7Air7ATLttQhIVwOAr7vDagBUVEKgGgSMgGYdA4yADDWP8OcRvr8qql0OiAOgZS1/XlcJAGu5AGh/QRltjIB2swpgQ6Cdwz9XFwAdO/l6nFEwEaFj2QCo4LDfZzcDVpkA0JcC1KIA6D0cGDoCeo/S8RA9OgIMfn5CmRhY5LUA/ac1ZS8FvK6MQQ5/bUhvBjxXuRvAXgYYNnsBOLgvWcOX+Ttm+PP4e2tQexsYvAoM8exfG9EBULkMYPYCRIa+FLD6I7sXoDL813wMuyfgehljN/M4+rWDm9MKs0UXTsmB7/mQ6/xCAkCIn/UpgvFqQATz7ADXA25cdzCxI4/Olnk0PplH01MMgurDg1ALgBUMgGf9mL07IN2oh39kng+QSCizD2BRAGSWRkAtAPSegEoApLQOVQ2AFAMgvSQAlkaAXhHI6AioBMBwGAdAGO8JsPsBWnQAjIYmAFrXqWoE2L0ASwJgE9/fZAPARAADoD0OAK1DD/8dSwMgigMg+jcDQP0LAaBXAWwAmAg4uzgABt+oBUAlAnQADDMAhi/WBwDfu/LvBYC+E2D04xDrP/ax9rqLF3jWv/9LD1fvLeDegoO5ko9SyYMKgup1fjn7FxIAQvw/xoD+RrV8PsTNGy52b59FtvEuEk/MIPUUBzEDILmitgLQuMLDyqdd83jhyuODza2BjfxcR0DSWroSoCUztecD6MsB6SyPDIGUxhCoRECqk39vV8AIYBD0BFVLYyDDCEj3c+gP8O8ajEwE1FYCaLVCi8YIaGYAtKxVcQTQ+jCOAB6p7XnaGCG7UVmMgexmfr6F729hKLyoI4C2B8gxAHLjoRn8HRMwOneBAUB7wKFfwSDYpxYN/679PL4cPiIA6AiH+tHwsQLAOEU6As7qSwHBwysBlX0ANDRJjIChixz62iW+vowfFQDDiwLAqgTAagbAug99bP2QZ/xfzOP6fQ+3511MlVwUHbvcHwayyU9IAAjxX/U0QR0Beo+AUw7x2U2fIZBHa9N9rPzNApI6Ap6JOPwjrOTZ/7MrXKxcURcAKxWalg2AePBXMACSLaGRYgCksvHwr8hRB3Xyd+pWASxGAIf+Iv02ADLLBcAqGwDNz2nLB0CrvhTA4d+qIyAOgFae/WvZF74nALYzAHYyAMajagRUA4C64wjoWhIAnRz+HdT1crQoAHp45l/DoX8kMgHQYwIgfGQA9JoAiJ2i02EcAHr4hz9JAAy9x+N7eiNgZAPgvch8J8CqDwI8/5GLE7fK+NOUg+/mfeQ5+AvlEjw/gIq/tlf+rQkJACH+K/cIoCEIwwbH9zA97+D6JyWM75hBe3oGK5+ILwnoEHhGmaNeFbABwPe1pqguADjsUzABkMjEmqk1NJJZfh4P/mS7lcpFVgc/6wptAFQwAlJ9i+nhnxoIzfA3hkMjw+FvcPin1/C45tEB0PoYAWAjILB22AjQKwG58UoEVC4F6JUAvt7Lob83MBHQSR0vWToEOl/WmwEDsxmw61BQh8HACOg6wmg4xgA4HofA8VoA9Nbpey2yTpG+G+CsjQB9S+BPEQB2E6DCyPv8+z7QMRBg7J1pDv4SPluIwP+DFwRwHRe+FyDi4Iec8QsJACF+CZcF7EpAsVzGfLnIECjhkz8s4MD+PEb688isKNkHCj1tvy8gZfYFKBsAjZGNAP2Y4GRkIyAOgCaNAdDUYgOgiQGQqBv+9RGQrASAiQC7EmCOvXV0BPRrNgBSg/ydoVoApLXnLB0AGYZAMwOgZZ2qBkCLDoAxHjn8W/TwXxQAjAKzGZCvHwoAtWwAdNQFQGccADkz+MPYcgFgh36VGf7RjwqAnleJw1/rrQTAmeiRATBUHwC/e/wA0IavMQCu+Vj/QRE7Py3i5Dcc/HMe5v0QXqhFZnNfZcOp/JsSEgBC/MKEUdjgK7/B8RyUyi5m5xzculXGm2+UsXn9DNoS99H42wIST7gmBHQANK6ECQAjySGf4rBP85hWRmOGr5uV0WgiQDECaqohkOOfM/sAQrMXQF8OMBgByR6+1xMYOgKSOgQG7EpAcoivKT0SMAD4+WorXVkJGA1sBMQh0GwiIELzBno+YgiAIcDPNgZxCPgmAlq38Li1PgJCBkC4bAB07ObgXxQAevBHsaUBYDcDdh0Kaw7r4Y9HBkDvDwYAlg2AwTeVGfyDNHCBRxMAdiPg8CV8bwAMv8PXV/m/+VbA911M3JzF5XtFfFP2kVcBFP9b4dg38SjL/EICQIhf0a2Den+A5wXmMa2FUhlTDwJ89GEZE9v/gY7M37HiN7NY+ZTeDAie/Udo1JKUqgz+IKaqAdBkAkBfCqhTvyLQQfFeABsClZWAyqpAbSWgcikgOWSlhvn+CP8cIyC5iq9X65UAhsCojoDQaF7HI8/+zfCPmQDQqwHPc+hv5FEP/80h8bhVIftiiCzP/rW27ToCIrQzAgxGQG6CdoU2BBgAOWrfq0wE2BCILwO8rAOAg/8AB/7BWgB0HtYWB0A3A6D7RFjVc5ID/5UI3RWMAK23LgL6zsSbARkA/W9YA+c5+N+MjP5JHi/ARMAgh38/h3/fW8AA6eGvbwcc5nHkbR0DfP/3PtZcXcDBz1y8PxVhylcohApepO/hDxvkG/qEBIAQv/ZnCOgnCvpBQ9HxUHTJCfDFLQ8nX53ByPB3aMnkkWzy7ZcFJV00pZx4BSA0Z/86AioBUN0HUG/JfgAbADWL9gToEHgoAKI4Ajj8GQHJkVoApEwAhLEImXXR9wRAaC4HNJsAiEwAtGzlewyAVg7/1voA2KEDgD+P8zhBDIAcAyC3m5/pANjDANj7cACYCGAAdP5AAHQxALo4+Ct0AOjB3xWrBEBlJcAEQOVugNcD9HH4a/3n+PN5Dv83rYFJDnYGwAADYOAy4+CK4tm9fRbAoB78/Hn0sofN10o4/UURn+cViiHP8Xmmbzb0RfJvQkgACPE/GQP6iYKOG6DsB5j3fHx7z8Nb7xSxZ+8chgenkMvOIpPKI93kIRNvAKye/f/IAEh0KHMpwIqQ6ooWrwD02FUAHQBJHQCD/DsG4wAYigOAUnolQF8OWBPWIoABkF6vVwE46MfqAyCK9wQwDjZx8G/mMQ6Alq2RjYAX9SpAGEcAj3EAtE3wuEuZCGivBkBoA6C6H6AuAEwEcMAf5JEB0BFHQHUPwFG+NhEQ0xFwsjb8TQC8sjgAek+F6NUPBjKrALUA6GMA9J0nDn+t/4IOAGDwEs/2LysMXXIxfMnB6NsK2z50cOJPRbx/28c3M4GJPf21vIEKzGqQXNsXEgBCiIaQfBU2lL0ABSfAgzmFv/zVwZUrJby0ZwYjfTNoSRbQmHLQmPGRaOEwjzcCJrLh8gGQs88ESLQHaMppjIaO+hWBynMCwkV7ARKMgMQAj4MBEkM0rPnxSgA9F9oIWMNoWMvXehVgPawxLFoNaGYEZDYGZhUgQ81b+N6WMA4BuxqQZQBkdzAGdgRoHedxIkB2V4C23QyB3WGVXgUw9oVGbn9E9SsBkZE7yPcOqXglQJkI6DzKz45pfH2cn50MF+l6RRnVlYBTinyzCtB3xkfv64F1ju+fV+h9kxGgLwFw+A9cYAxMcvhf9PHCNQfHbpZw/W6IvxVCLHgKKrTX9fW388mX9AghASDE8iFgHi+sGly9V8BxML9QxuxcgG9vK7z9dhFbt/0DHbkppBNlpNM+VmZdDnYXjVm9H4Bn+y1AslWHAId5G4c6B38yZwMg0cHBzgDQqwCJLiDBwZ8wwz9EUy+PfdEjAkAZyZHwhwNgA5Dm2X9FZiN/bxMj4IVo+QDYRjs0RRz8OxkA4xz+jID2CbsKoId/6x4e98SrAfs0xAEQcfhH3xMAkVkJ6DwaVgOg42iADkZAvc6TgVENgdcC8tBz2kXPGQc9Z/nz2ZARwKF/ns4B3af1MwN8jE2WcPS6i3d4pn9ngUM/iKCi2rMh6o8y/IWQABDix10iUEGD4+onwBVR8sqYKyjc+trH5KSDTZum0d6VR6qVEZBxkWj1zabARJuHZHsZiZzm09IAwKIASPT+mAAI/6UASP/IAGhhALTsrKwAqGUDILs3QtteO/x/ngDgmf8pF32nyhg8XUY/Q6Bb3xFwhkP/XBl7r+Xxzjc+bs8p+GFt4EdLnhIp/y0LIQEgxL93B4Hvw/VdOEEZRTdAgTHw9Vd6ZcDFoQMzGF03hY6+AtK5eZ79zyORLaMpywBoV2b53wz/ZQKgqSd6jABQDAAVBwAH/NroMQIgjAMgMvsAjLoAaObZf8s4B328D6B9ggN/V7QoALL/UgBg0SWAjqNq+QAww79yOcBHJyOgh8N++GwZmyaLGL9SwOGPi7j4RRm37nnIuyF8KHvbXiRn90JIAAjxU8eACs1dBPZBMeDPaHDKCt995+OPnzs4fzGPg0ceYHRsFu1dRaTbimhspXYPTXpDYBcHfTeQ5OBPdJM+mgAITQCYjYAD+siz/UFl7ghI6LsChvnnVoU2AJ7TAcBhvxaPEQBRXQDAqgYA42Anj+ORDQATAT8QAC/xuJ8YALkDHOwHQw5/4vDPPSoA9PEIf/cYPz/Oz09YHSf1qoDL9xz0nHAwctbH81cUXv6ojPOflfHHv3m4PePju4KHubIH1/MQKmWe8yCDXwgJACF+tgh4+D390CHVoDecBUHU4PLstFAIcftbhfeulnHswAz6n7uHVPcUns3OYqVeHci5jAEPKQ7/tHkIkI9Uf2CeDGi/H4BH/f0AA4yFQRqiVYyFNYyI0YB4XMs4WMcoWB8ZqTGNf/Z5ZWQ20ia7CdDYwkG/lV6Mbbdat0dojQOgdYLDfsIGQHYXkN2tIyCINwGGtT0AcQC08aw/y4HffthD22EHWR6zhwPkGAAdhzn8j1jdRmS+I6CHIaDvDGg77KP9mIPBM2WMTc7j4LU8rvzZwad3PdzhsJ9a8DFX9LGgv37Xcewu/kCZW/jkv0UhJACE+K8LBKUevs3sQcHHp38p48KVeRw4ch+rN99HduQBmvsKSPaUkeifR2KgyBDgmX8/B/qAlRqww79pJELTqhBNa4JHBoCNgPoACKp3AdgAoK2qLgDUwwGgVwHiAGitBoB6dACYCEB85s+BzuHfQZ0c7l36i4EOceAfDNF7yEPfIQf9hxYwcmIWY+enceDdWVz6vITP7we4W4ww5ykUgwAltwzXLcLzKkM/rFvml+EvhASAEL+EOwv0w4c4tNzAR9n1eSYb8IzWw73pAF/+1cUfbnp462oRR8/NYOLIHMZ2FLBqk4Oe0SJyI0W0DjoMgBKeHc7jmeECnh1xsHJ1gMbVOgYYBaMRQ4CRoK0HUpTWlwI2VC4F6FsBI2Q20Wa+3kJbI2tbhOZt+lIA7QCaqWUcjACagAmAtt2avgOAA39vTU5HAGOgQz8caD8H/gGXg95F30Ge0R8tYdVreWw4VcCu110cfmsBr39SwDtflvHpbQdfT3u47yiUIrtj33yBk75PXw/8oHa7nmziE0ICQIhfwcoAzL4BfZuh/qY5z/fMV8x6XmiiIL/gYzrv4+6Ui6/vlPAF4+DGH8u4cq2IY2/ksfn4LNbsy6N/xxy6N8+jbayAlnXzaFlfQGZdEQkGQ2LNPI/zjIGitW4BCUqNlZHaQBvLSDMuUi+4SG2mLS7SW11GgWeOKUq/yJ+3WeltDjLbC2jdWUD7rhJyu8ro2ldE78slDB1yMXKojLXH5/Hi6yXsnFzA0Wtl/O66g/dvefj0noc7jJzpfISCG8ENK8Pero6ECCl+Gp8h37gnhASAEP8jQVC5w0ApvXcgMNe3fR4dz7UPsOHv6MsJnh+hxCG6UI4wXwwxPRfi2zsKn99y8OevHHz4mYNz7y7g+IUZHDk/i72vFrHrlRK2HZnH5sN5jB2YxboDcxh9iRFB+ji6n6/38z1+tubgLNYemcOGEwvYdLKIza+WMf5GCXvOF7FvchqvvjuLyRtFXKRrXyzgxu0yPrur8OXdAHemyniQdzBdcDFb8MzqRrHMs/l42T6su14vj94VQgJACPGYkaC/wyA0wkVDtUJ/m53jKrhULiuUygEcRxlFvp4vBcgXNR/5Bc888dBVIRyelvNXwD8CJyL+ZS4p2CckVpbhfYaI64fmzxR9n3/eRdF14Ljl+Fq9hyDwTcjIE/eEkAAQQvwUYVARn2Hb2xNVgzKrCDGlB7EdxlpgjmFMNVS/7z5+eI4+6v0K9arL9WZjo/07bIDUVH4nks15QkgACCF+WSEByFPzhJAAEEIIIYQEgBBCCCEkAIQQQgghASCEEEIICQAhhBBCSAAIIYQQQgJACCGEEBIAQgghhJAAEEIIIYQEgBBCCCEkAIQQQgghASCEEEIICQAhhBBCSAAIIYQQQgJACCGEEBIAQgghhASAEEIIISQAhBBCCCEBIIQQQggJACGEEEJIAAghhBBCAkAIIYQQEgBCCCGEkAAQQgghhASAEEIIISQAhBBCCCEBIIQQQggJACGEEEJIAAghhBBCAkAIIYQQEgBCCCGEkAAQQgghhASAEEIIIQEg/08QQgghJACEEEIIIQEghBBCCAkAIYQQQvwq/BMe3Hlg1CRyLgAAAABJRU5ErkJggg==`,Xx=`data:image/png;base64,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`,Zx=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAAG0OVFdAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAgKADAAQAAAABAAAAgAAAAABIjgR3AAA+e0lEQVR4AeV9CaAcVbF2zb3J3RISIBs7BMK+CAQkQAhh1Qe4gIKK+hAVfxF5bJIA4jM8MZIEBB+CqKj4BEFQNOpzZQmgIDxAZFVA9hAgkJCQ3P3e+b+v6tTp0z1z505uwqJ2cqfPUqfqq6/qnO7p6ekRGWTrmDHtl7VESgN1rjxrn/UbehueL9+zk5Qm3y+tc2+pKlu1sWPGvmV5eGvpah8uK/t69G/Mds9L29qdFYpyCnQgIPXds6Os6O2R9v7eqICK2vt65cCDlipoR6QKOmdM/2xZyheX7n0bBvRiIKxCwUoq6O1WRbtf8RX536NPiu0nvEcUzTDnoPvuHWChS1b0YQCUOHTu3/Pn+fLt7Q/KtZ9xTY8OjQqW9nSp5RUB6sqg6P33/UIu3e7AnOJ2yFCOW1SwpKczgZ658ONjT5MlPR0BEZEZwgoFS3uhoAD9xEduki9sMUU5ME5MMcldAW4qEaiCbiWSvs+cuHtiGYPRxj+6wD23Bn3FCzkgCtt3yTtnn4F6F+CHdvahnv4VFHRCuFM+Nv+7UNIhl5x8htaXoo3tm0+ZjHaUuzu0zjZumgflGXuv1SnDls+4ZnmEaVCNNMsHJhbYDwnWfvo0zYNiJvZT6Xu+85SGyX1lcjn7y0/fhyLfb5274GMoGAIW0o0p3Vcuy/Zfvy9kXo8sOW1vFfEUTuUHLFPR2XtvVvY5MqDg6nTkOEgVFa0OBL1CAQZ2QVFT/707qf86pcH85lOfImHzWubeMiM1FBWUZ23f1Nk+tkswpTvAen5KI/M4xZF9hxy8PLeoqAKF+8Rm0rt0rZgHnBc2M3ukf9zacuCvvi3f2eFgnS9HHdgvo9tsPYipvPKVtphhTGdmGjNv//+7ThY++6x8A1Pa2y/45croRZzO7GSyWNJkE2bZk8/pQHXBlzmdiSNUSVRAi+lMY/nYB38rc7aaZu1xmQMXvb1VEGC2cc77XOf+S5P2juQZJ9ly5xoiBzrToER9x7Q99a8LZIlOb2szTowbln1LXDAOaGnyxz8gJ2yys0JPOfGo0D3fogIiYEd5rTb52aWXh8EkkzPRcoD7dEGlkujCaUcMU/gLX35Rw6crD8OZuMUVawncW3zaXg4gP52ZUJ++bqE8vQxLfGLVEPTKNw/dUt6/zbhcJkZNXug8fdqWVDSpbe3y+s0jyqOHNZeHlRoGnNJxLrgC32t6e0XkT5iNe2bVrDSggkykeqljxvRrRMofiL19jZu1XnDT07FeZ2GVAOS8wqzvxbLZjYTtKfdLf1OnrLPzU262Dx7HDPHGavuaAHB29EUs27N04ErMvb9OgrE+Ndjd3w/jViaAbrRrHe2sv32/F6O9lrYVI0qz7mmPDUmhAkDqJU9X+uklFFKpGuqj0cxwl9a9HyBQL8qPH9sr++8R5/8SsDPGMUQAfo7EBbVfSG3ewx54m/NY6zRsYA6956fy0l1/kd9/8kwDWkP+i0e2xalQEadlmGg9gUb1mDRTmTOgdfe4X3qHleTIu38m393hHdGwy/diTFdBnk6IYDUPWwUArstKN43yD0qoSMsKjB6ToT4Zv9eu8s5vfln+e9v9DSTaYqgKDJouOsNzh2yrAqATRoOighIO7gpZf/BFX5RJB0+T2VtONc+VIQDO5QTkCznD/nSrAMClOvPCEGsoPMth6LQHb5TG4cPlrM3fHkNDcPQyHZvWLYdsttQEwFXdDIasp9JE8TmP3yFX/sfn5a75vzY5MgLjPkaNJvJKfehXGcinWwUDPAqYoOUAy/wbs9VEeeHhR+X/bbwT6mWZhNPNHfabKjtO20sm7rhdqlP2WHt9sIFxAOLJawwYQ6lwBYAYgjDYaXzxgYcyYAjHH2+9VRYsWDAI7SF5PafgyM4T7GTCQcR1wBvaZ+x7CRo/w/pfnuuWr9201AxTCUHBM50VnhNF+gNjaShW4Fzat+6e7jGjL7xjidcrAHiH79OVcb9vPZrLctLbjSO+h4l7zvt1WxvlyROyg99A56W0MSgAB8I9wNyE3X4sX3b3C3LOrU9F44tP2VuaGk1dQ6m8U/OcWx+g3GDbKgEoKkvZqeVlcdwaq3eeOXWr1VU2ZAZS7wliqAysMgAY5mJu4x7cVsobLpLSOq86Ed8DkI97pZ593QDaT5/+9VKpfIIqXbaW9D8+MUxHm+vr7vG3aK+ncdjYUV+58ZXYUKMwKIDyiXuM6mxtWRZ13PM2wTumuDz7QmX7smw59ekoWk9YagLIxTmcqNgRkUsq/8phcbIl1w7b/dI0slN23M2uDAFNB4BkJwARnhWqAoDh5eheS0Ue3ULKr42QXj1LsrVcD7lgIXrPQy76fe1nO8FMmbJcRq1lx/+yyIy2ubfMK9jPL0SdM6edUC6Xvq5Cnc0iD28DRa7YjA9+2C2s/1iqjz6U77tta3ly/LDSddfFk4LIQAXdNMylFt74Pp4ZoZ3e+pmR9086/kOy9XFHyW+OPlkW3f+IJakeK+wY8h+Hx7dicdrmAXS0SumRraJRU5yBYJ2G9TyP5fD3zrt/ou5d87bD0Ib+irOi7Hhx9vtbVNYTNHc4RpykEwbca/PSDjCeYDRg/R4ai/HVu71HOvGGkKAIMJOnAwRARiPzFg+8FgCU9RqHGTCKNbEICopVKQEkHvKiIrcVHe3RCMfnD9seMgOrA8JLDgDfhHQELyILMOzvERyAJ2LzBuNUzWW4BGInshkrHG8sZDlEdopbDoCGoOChUlrlmN+L5Prgb66Q+753nXT4eaEuUAxBFnMH6/lSE4Ax0KsxNm9JXZaE6mWo7/ipD6quG+d8XZOuV9cFS8yKdQJsKACMLW45BviWrBPoYwyDUquD0qS+x0kfl4t2PyTmTMyRCDibpmk4awJgCHhRhWjjoJCAPiPYfsxvr1Q9ry59Ncql8ul4PTtO9NUEwBDYNMzHMDfvAWCdTTfSC9pmyKcZ6bep5uuAJ206a2oCwCcIGoJsHuczmN6c/dgfpGvFytx6UUve1w27mDHIOpAmIRPOBzm9fWElnbn9PpZUoFZZwLoQ5avNIiYh/wabhsxRXt7yGNo8Dkag4LzH75ITN9kl9rsc92aAFzNoLOSQJm2os30wAGXmQIUHtvKd+cdf6OVDZvuIcWNl8v57y47Tp8pOeGvWNsqO3IzvvbfdLp867HAkp6+cAQzqPJEpbpXTkHQGumjs0LNPlmtnzZUzp7wTHtgSu+z5hfLMD66R+f9zVeYtZCl/16uLMDXhLYzpMs521H0K1wQwAqcAXNUUABFj8NUwbnWjkG06K4JHakRjbB5uM3JMcIDyYWlGP8FVC0F2gBbpbgWAM9/XLGuPwjEBQPQPOcHFyevMEav36CLEC/ScuiYLOe9HO8tcV9j386PwEVt4j1gql893JuL5gDekJybHXflSjmJ6QDY8RKwz4XztL84a9m+6dpPc/8m3u/qK64cVACi54vTp6zWWyot81OHffVrp0+zWLDd6HchA+5XJu2I/AXGdvq8KwDs7Z+57LcJ4JOu/+dtymb1gkSVWiKlPUwOQgeInVFFxqW/T1jl/eMZ1FvdRrtiR1tOw7PPth+SVTqwVAOEh8f15B2wux++6YRha/t/WubceluqpVq4LgA9MgWx04Z2W5QhJc6PIopPt4zXKDkS360n3qwSAA9tn7PP2kjTcqeWefmkbnk2kVTHsIFYZgA/EpZz7MPhtWi83TG+dd/Mt3rcq+yEDWBUjRdnyLGnobN/3BbTbSSUFyqXjWuctuLwo+3rX3zAC2k/f90OlkvywLodKsrBlzi0bAxzP0V7X7XUlAJP270C/eYUHz2wk8vIY/SikDz72YTHnv9ZdHpPSsPyFXI5tKDW8t3nOzfMr9KyBhjVKAD7wO7hcKv22Aldfo5Tu317wvl/6cHTiDQI8/+dey9xr3fooM3L9ZbL2xCqXeErycOucW7avsDHEhtUmoHPGvvcgT3etsL9wfZEXx2sO0yGe7GbRLuvJLtsyIpgDIny7Z21OFOdBv2y39yJpbKwyI0qlfVrnLPhDhf06G1aZgJVn7De5ob//7gr9/VB1/w4i/Q3mNBzxqNIxi3ZCRMgEzwYlSEkyGZ7XWJsR45lDnZttvlI2m5h9/p5hKf8RB9+pWX3wUl0EYC7/DqoOqlD3Ehbx5zbQZo+mAffoeZqzDm4APjrCrMBIr6eZ4NMi18Y8ACl5YsrSgKw47MB2rBMV6Lh27IC146HKnqylyjBcIDp9/y3Kpb7HM7GkhLksPXgfgZFZ1LJouUOMlPar02m/keLOkQbLDncwI2/g8YG8dGyws9eOmC6bVU4VvNua3zbv1vcmnmixgoD42bFLLllH5KlNvKbXeyodt8hmEbbIsh5lmfLQQoKszeqxjOg2jGiVA268QhqG2xu1+7/6XXnk+9cHgui0Z1RmL+qPfZn+VlwJPOHQpuzEGPaLZ2tmKbpXKOB6Zf+TG6vhCDQ4xTNxb9NUJoC4gBnAGFmOwV9vv+2tPRtPYrb69Adl60/ZfRhlyP1w50Mjeeo49Ueb1fW7Pde/cmVZ/vPabvnSUSMLjmXVmgTQMN/tqWE6UZiDMc3R7uVITJB3MFn0shTXPshNv2KujHnbNorqvkt+IPdddlVwFhnDNAchqh+yJJlljtUAhLZIUuj3Pu5rbTUJ4FC+/XWgOr8VDKOXX9QqHAykGFBLdx3PqUDwAE5wR9z2I2kaZRG65oCjZdkLi9Fu8upEIq84KuoJEdqX188xtbaaBBAA38+7YQNk7HtW5Oc1+wjeIsWpYcQEUNCnGaL9ZTnmgV9jMbVl6NLtDoAsIh4jHKYI26BTbQe9nm1OZMSH/uw8ImQJ2mptNQngpUJe9IjGU/ZDJuRBJNFIHQECI8+IoAPHPcgjq21f23a/QLKPh1xIeyea4+MhEOOdFCM00Y8+k/U1ZjUIYJp7BlApo5kyXJH2BBYdN/kYHeiyudsvJzx8o3rej9sZL9h+/+iY6vdoB3vZeOhWx835PPFwFhpzshjvmRJ4rrobNAM6kQGuiAZ8kcuczwxp+scssdQtAj3lrwsUyMuPPSnfPOSjGslUv+lIyAsRded8Hx2G65ZdJCZPjmGk5MBbTQKouCMcBaIjVSJsAMLcDyC0LQE/DDd3nnI35jy2P33vR/Krcy/MRS3qDwR6PXMu05/ay/pDhsYMyrJiYPcLn9IVBckgL26m0c7KYT7TIAamoHKRACEbT9lFPvqDi1X95UcfL3//0z0hWhaxGE3VlY9kJILpn5Cv7YEsxcR+2MoIyfAV/UrrNTMA+uJ5QM00ZdRjtN2wReSwc2fIbh+0M9DT8UUDX7zcMe417eN4c4THf65BFVMiOJ3Zs/FpYLysZEBvra0mAVQUF0GUFQxX5xB1gtByIECdCVGi8VkPLpCmtla5/aofy7Wfnw3ZgRZRn/MgT1f/4Hw1/WnUoc8jbk7bJyJscxJos9ZWkwA/DKpjGhE67H9M/bwhGuYiOWq98XL2Hf8rl370BHn41tuVJI4zsPkM8Uja4ppF3Eim/qzN9atzIEr3HhjqZzmZJmoPbbW2mgQwBfU8gIqDIXMikACTbWPHyPiJG8u4SZvJe2edLo3DMpVHnnuGvPzsQnll4SJZsWy5vIYPVdtXrJCenh7p7cHnoDjC8I3PsOFNMmrcurLuhPGy4eYTZdvddsnpoQOTR0+I5NPR7HBsa5AFhpmTYfVgDZkA/cy0jMOgpmUVhgFk5YsvygsvLJL+2++U3//PNTECDsQIY9TtrLASeCEj0ggq6WU56rhjNRAWBJKfOZoGRDMgTJE4TVGvtWXhqiI1dpTIqYcPk5se7JVbH+kJETDAZswyISuzL+uP4OBIRkRwAPZi1IKjXuc+01mW7132rSirfbSB8fqeIUQ82gr2h+MmxoUn7iUjm/CxSY2t4nqAy+Ja30EIWna+Gjo6e8py5k+W4lNPcyplnWWLsM1bBRWdC6kaI8woWlakpGUZYqmcOqb6SQ6dhqMpSSTm+F03kAsOnOQupPuHcB0A1+sqtwEJKIrishivEG1RbP/u7a/KTY+1ZxGqiHY+milhHnFf6CoIU0fT8Yx8RgCn6JMn7CXj2oYXYQn4OaLt/Ft+WtFRaKibgHQcvl/xYbyNuzJtY/nllb3y71c/k0QoS/MUuDmed6wYTZ/DTHN9ExQcP2KbsfL9d21bNM36c4jyxtU6arUNiYBUYfiYix8mj0/bWT7jt8/JzU8sz6crpwDTGA75opZFHn264Oanx/3H7S6br91aVM/rkp/CZwTfruyov2W1CSiawocjJ+HDkYuK7Y8v6ZRDrnzYyAABMaokQlOdTlv79E3Xll8ctWNRBa/tLW1uK40vzVpQ+fFRhXR9DWucgNRs+cR/a+5sbX8ZbRUX5Q69+kG54/lllg1w/NaP7iy7rJfd7xL1lOXzrfNumR3ra7jwuhJQxIpvoJ2Lz3k+X2wv1Dtb+pvHls7/3cpC++tSfUMJSD0ozzxwdGe5ZzHahuOq2IX4NPjUtP9fosxnGayJ7yCsDllvSgZ0nD79k1Iqp6v34pa2W9YrzcLB4Q3e3lACOk7bf1Np7HtqYB9LP8KX7+1m3IGF1mjPG0IAznhLuOfrWRzxNqwHPQ4KR7fNu+XqemRXV+Z1JwCn0N8FyGMrgC5dW0pPbip9w7ukYce/VnSjodw/rH/DEbNvi3fsVRNa3bbXjYCumfu9B6exP6sA2Is3oPdvh2Swu0X8LLBh7BJp3qyqr0/gFLfiPUiF3iE2rHEClp95wJjhfb38QnXF+9DSQ9tIuas5nvzYqbCdAfp7hRFbPSvN61R+/Rq311zSNm/BZ4fo54DD1igBHTP3fQihzX+zlKafxU0Ui8fpqW76pkfL8e1xeJcHBXzPt8HuT0vDsMqDAm61fUfLvFsr3qYP6OEgHWuEAFw7mIuF7vQKW6/hDPgxy954nQDuadpjpTMy7M0Rr+XxLpv0fcGwEd2y6S5Vp0V3S0fnuNLFd/KbXqu1rRYBHTNx03q5fFsFAt7ez/uFcFeYz3F7o1N0vnhhA/1Q5hdFfMy4TVbI+hMrfQX4e/HYlckV9lehYUgElGdNbutsH/ky7FS+R/3rlrihtg2J7O/yQmoj4vpZf4y89aeXtTz6yCZkQsgMjtMxuPVl8lJZa1RPFffKs3Bz1DlVOgZtWmUCcPr6BxzW967Q/AIuB/DWOGjUixnwwh02x0gEZ7c7ZHt1LnE2TguuBcH5lIwSboqauu8SacjuUY5Q+hsadhtx3s33xIY6CnUTgJuTT4fw3AqduI1G8LU/bvnIWTo7eJ8KXreokgSLdNZvjtvH3oGsmAWZ/Oh1emTP3SuPFoDxWkvby2NLsx7qVlCDvAxKAI7n2yNyD1bowfzWeR6+zkPAdCpN/ehciDrrnOPebtGHU9rP8d5vjjop3NsHJyAnN75fdty2W7bcrOr1kd/j/OHgCtyFhgEJKB95ZGPnxJdegvy6hTEij+P23+V28SKLpKesEeHHdXPKIklZdz47HGZOs6Q3UlEOZXOcTgfdJKp42AykHbZvt4weyRzMb/j69Wdb5tx6Sb41q1UlAF9v+VmpVMLD5Qrb4jE4pm+kjfyWk98eY5GE4wo0RDiA9silRCkJ7pSTEup01o8C/DBFCVRbJM/IcBLSzKDtpuFl+cg7+v2umxz4UrlxUsu8m/6ea0SlggCcu1fS2N0k8sC2UdocJgEEFSIe09ciZ31ZVvAaYDY9nCxzivrUUQByfRP220M2eMdUGbvbjtK87mjFfeVOhxgJtKm2q+ufiLX40D0qXIOzpRNb5i6wL2oHJnBiPsj2AE7seoYrqx4BP6lJo5WVC1HjCQ5MEHAvbrbwOezzW0+AQv/2Zx8vG7/3wAjoup3fFbNhQP0knpmS6H9kYb88dH1ZDtltmOywSZXDRbQwyA0SfNIQN6aEpzL3rHvUnJTq9ZCyjJhGOR/pSAL6Jhy0V875a3d9jxJGx1QuZEneXm39P72zS8aObpH1RldmA/3iNmgGmPFiysGRCCw4p/XMUdKUd7pYTzIFzk0+73OGCK83HDNDevDYt5RUs0f9YVyinznmtoqZYuEbIgGctz4n3SE/c/NM8MzICDFyLLXd6TANQiYUQU7+Sub8sr8/LYv+/ICmvmVaSnDQR+d1ahX1s05bvpDCfSqpsdXMAH45jsqYBXSULFNfdJpt7GcbAalxi5BHxPoNMNucSAfKto3fuU+EOP+9n870Q7fJQScPf1G/tVN31Kn9iX7igrwhjuorCjUJcKcdNPfZIYoGHEj4qJqACESNo6z1DJSOpxM6jv34fu6vvhNB/e64M/UbyN5vdikfSKW+YFNlQt3LRf2sD5IAtdeAqlMAKp0EGo7Z4GB0b9liDpijGimCD3KsDxs9UkZsMEEJ6GnvkKdvv0czxHWqQ8ws1x3HJ/r1s0QSE4gtyK4mAZZ2FkkCYSSCscQR9vit8B6N6DCA5cZD1nTgW7E3/CBG/4oph9s0U72JM6gr0YEIJ0P1U9b1sR9rHYlw/ZQdbKs5BfilWJt3IXIKIkvHmAGwko9WFbIINjjBzFpn2y2ksck+13/6ljulm6v+APrpBknUzIh6CsFI2tMM5Rlrra0mATxx8ZTVyAZ2/WSGfWm7Me/OW+Stn1nDtcAyhTPzXddmJ2Q///SZpidxwiObjTd9xYUw9isWi36aJbXdH+Q8gA8SSlMqMw5XOBW032RSICoHy9YfZCkPAglui/ccFINy06wLLfVjv2VYbf3JwpqkvOvXQCghpLo2BTUzQKdASFuNYNFpKPc7yCzC5qQCUGfhDMbHTKE8dEz/cnb58M9X/0xJycabTEq29kXbFuWB+5mVdlfJYM4zCjUJ4FxyYFpWqNncY5/3E1BWTpyIwNnWL1M/f2KM/nfe8RFE36KZrvym1x31aLt+yxCXYaboeYjaZ4YlGYS+2vEfjABl0pTy1YyaIzGqwYFcX67N0p79BLvTh+2+4Y6ly2Txk08rKXxbbWeYiXOw59MqndOVRCf64a4ugLDj+FZrEfSjgIN3pVm08meFBjRzwuohcgB15NV2xzhT4KI98U4vRK2o38ikY6l+Rpq6gn44awR5ZljWsS0eLVBe7QxwMAoS6qwejGvdIkWjNOYRysujr7FBNtgFl8qxPb7gdr1N1nXZPoukj43OBKdMf2UGuk0j3PptKqwBAuyYyhRNmNWFzY796SJnzIMEXzhJkJZFPvuH7Ja9H3ziNMSSEWXK2t7KTgJJhZ44HnpCmdOFDmv0Y39eVnFgPLXZu0HSXn2ruQjyuSkaDTjvx2WPTowa+7Sf+8p0ZN+oTTeQ1nXsqs4vzp5jzgTZTJ+NzeqmL4tqqr9AghOiWMxtx8KsqbXVJIBMqnNBcQouA5YniZGzTDBiGKnjf39NxHDHD/lV2DxItYFoqX61ZVlhtkM7o62OZvo1Cxyb9oepmehHd81tEAIy1nUBDCAcmB9yFHgAYE7YcZgkTf7wERHAeVPfrc+eMeAFEiDr7YPqh6xNTScZJMGKHUnQRixh6g22CtQkgNcD1HFnGfvUaU0zBW4pWS2yh8w6TQn4681/lMXPPY/xBUcL9aJ+zTRo0LUmRjYLjOqDDj1PUXyun0Swt/ZWkwCfAgqCJECdAomgDUgEXej/9PwrovVvHXuSwvHxMWt8wXT9cNKyKLOX008ng4zhYVCIw/c23usRwACFmgTweVwa5ag8GOHiGEkIBr0eSBi14Xqy4Q72heiTN50MkMEx9PvKT5CWNeaAg3aSzDGzpX0Bh63yGAOnsix0/dm5A8ev1omQZUBwMEk/jYA7XIUkgp15mz305dRJe8QTnjSSFQtYmLNGQnBGddNR1MPhkv0Z+aGPbT7eiQ5yqz0FnG2y6ecE+aghtrDi04NyfP7dileWyFm7HhiPCNl4gE2cUP0ks5Z+Rhr95iRwhGCQxNx4thMLpwh1on8NLoIBeMyEECUCo0E6hb8zbr5efnj6OfLIbXdYm/bj8ldzk6y/Gb5ctdkmMmHzTWU89uM33Vgm4CGR4zbaEB+8DHzp+tj9/k0evPfPqs+yz07McucmtO/RDzaJZ7Ct5hqg1wRdqTpIZsFwsnBN2HaScL5P+dARsu1+dtvACVd9Q9rxLbHFzzyn3xp7dfHLsuJVfGvs1Velp7tbli9bJkvuvlcewV9jU5M0j2zTb4yNWX892XqXnWQ8CEm3sy+5UN4/ZZoREAkPZ6IJ+ZaZlgE6xSA7GAWDEMDIWnSZoh5lT8eRE8bK++d9UX5z4WXyjY+daLKQ09QESfwEPX+8zqKkJPIaHuQ8XVWvEk1b/cia4fL9m34rF5w9C6nOsdbuqU/nfIoSW4Yxw4zmmltNAvgYSVMcgAKUXnjERGO6vfLCizL33z5owOgIQZTQp/0oexuA+3GapCipdIZyETjH81jBfrbjWYkdnXLElGnR8YgFfVr2vY7hyRcpCPpVx2quAWPXxl0vS3yRg9EImm0AyTodCGWa14gnfeaUyWqEElLc0Xh04LjwRyqycmInOE3bngk+XnFEUmzMBiPxyXaNrWYGfHS/YbhaO0zmze/A29fAujrt5YxtI8HIimmZyjpJ6qCPd4cr66avqD9xOuhTggNpTgrbTpuyiXxp2sQarltXBQF85ie+8xM/rGuCxOff1ypPvNQn37x5pUU7GLQ5Z+At0pWAPcrcmzydyBzWS2Loi4czdybKF/WTtHwGsu76txvbJv937G7VHO9ulp7vFzswI6tvuFHiQfRUPLXtevyK0M1/7cjNVXfMSOA0MGfTFKXT5iRIwjTQMcwQLZM4I4Gz1s83KJMuok6yt2X9eOQebgN49rN7yujmipjyLpCDcT/h76t5OiABFF52yp7rNg1v4n1CFff9fmH+Elm03D/ChiMAm0bWIp+leJ6kQqYw6oU5n87nbK3JIp3qv+6I7eXQSbh9p7BhQbwUz/c/odCcq9YkwCXbP7fv4aUGud7rvn+tEw9EufYFjbgBYmSDc0pIRoADNiJCBqTpnqSxysbxYQqgbqmf6T9mx/Xk0nfaLXqOKez/jjvEJhXaqlbrIsBH4ltfV+AS0zFe9/3tT3bIBTcvDllgQOmEpij3dC46lJESyQqyTqLvq/UzMzZYq0n+9uk93Hy6x685ljYYOW/BC2ljrfIqEeCKsD48i7LdLuaN2M+9+SW5+e8rskUKYDPHi+k7UD2bHr6mYEnR9YP1x46fIhuu1ZxY9WL5I7hd9iqv1bsfEgFU3jFz6ia41Pt00RBPRI78wROyuB0PXyEBKQlMY54HxGzIk6AZ4wukj4XTzIRL37ml/DtSvrjhLcR1+MrdUcX2eutDJsAN4DsCx8Gfb3nd9wuXd8v7r3ockcumgE+LeKaoThoJkZRAkq0VuNNr0rryo8MrDkY08xK+abZ+aZby42ZXeb/aBLhFfgcQNxIe6nXfX/PAK/KVWxbGQ6AfKaLDYfHzQ5zP/9EtjfIUDmuNVd4l4lxlK3xp4jG3sTr7NUYAQZRnTR/W1V5+CdMAT2HMb5+Y/7jc8tQyXRhjJoQM0KkSIy9y18cny7Zj2vIKUIPjJ8Pxr1V0rEbDGiXAcXTNnLZjf7l0v9d934PPtXa67F5Z3u1PqLMjBaNPUs6ZtpmcusfGLp7ub8Zhbf+0YU2VXxcCHFzH6fuehdOwL3vd9/e/uEL2v/L+sEDiRys3GCU3HG03ZbpM2K9o6WgbW7r4112F9jVWfV0JcJQ4bN6B8hSv+3727U/LybtvnHtCu/chN/Zom3vbXV5/vfZvCAEEX/7cwSM6G7r4NZuW2s6Uvoyvz55dW2bN9b5hBDjkjtP321dK/Qu87nssnH/BefvOXn+j9m84Ae4Yvkv8Vax7p6De01IaPq4054Zl3vdG7t80At5IJ1NbfHBDV3/32bjmcRLah4e+Hhxiv9bc0HTumxWIFOMbWf6XSICOmdOmlcqlr2GZqWuJASn3lUvlk1rn4Kde/8m3f8oE0O+1doyciXPrGYjfIAfdQSPciVO5uS2tK+YM9Jvig2p4Cwv80yTAyjP23b2hX/guac+6+MavQPDnL/QOqgmLcUmVlxzq2u7A0JNGnHfL/9Ul/RYX+odNAD6iq6N15cn4HiBPmUfWxTO+0c5fwyitGIErVQy9/7NPmksjV8qwTV6QUltHXeogtAIazm3tGHHR6/lmrV4wQ5H7h0qArs9N36G/of8iXBU5oC5ny5jli8fis03M9HKj3imDuOtlSu4t/FmdV+B4N432NfRKy4avSNOEpVJqYEs9W/nGhv6Gk5vPX8DPk/4htrd0AtjFNfk0QvVfCME6dTHaiUM+H9fymn2v3QPK4HLjhTf+saYBx55lylm77flJWpTFFcmmUStlrYkvy/DWuh5IwOFLkaj/2dwml63JJx8C6hrd3nIJgEdRbtlfKp0PYO+u21N+n/95fFccv+XFTYPLIBcCzUvRCAoCa+ngiWDyoa1KojBdok4aGIZfvt1kqYxa/zUGuq4N43/eUC5/bk1dxq7LaB1C9eKvQ9XQRMqz8JuDK6d9DLeHzYYG+/bkYKrwFCp5DgFfhjvPGRl4EQOUBj1Xhgxu29FjP9pt9vust/FxFYA+TQ4oZeirrRSxDbpGju2Q9SYuk6bW3sGQe/+LyM6zWkbcesXqfqDjCoe6f1MSIHycOAegP1g38CV4gslCfCSIZzhwA+8anHR2MmhMhvzMNomYIBhr/flZbQFHWxyf72fN9RbHEw/bmBTDmvtko81XyJgJdZ9Icvg1UuqbWetXYSn0emxvWAK0z5z+QVxtmwsnqn7gU+EcA83HMeEXzghSAx7Q8vMjbsWA+Jk92y0RIIOgmKyVLBFYLh4KEGJ0aj9eudcVIZSLQTc9fM2Cz1HF9rHrd8rmW7RLU3PdbzOfxVXKGW1zFlyjyl/nl9ctAVacdcCExr7e2WDkY/ABp+N1bEuxpD+He2P5pBaIZ0Fg2WYgtTjJ1oY6l3ZEP529zACdleF4n47JyhY8GuMHktTsSeUy1QJvfSGhMC6z60lJZKHMfpbx2owk2HrrDpkwoQctdW14EJBc0dc47KyRs298sa4Rqyi0RhOgc8a0d2NmXQAMdd2UJHykJpf1V/iAKkAhU9hlQUgCAiKNcpLpMtaPqgWbBWx+kheDAMWZTprJ6t5eGegkiNCZrgam19D4eO+nfSYTZVI5s8neYB9ebLJRr2y3Zbc0NVGyru3xkpRPa5l768/rkq5DaLUSgLcODm9qmoUJeDxsVd6UWA3AcvxUB9+m8UQOGwGQRAt8KLNNwwTa0KUka2JUkq6zL539gXwbXxls2qS+rB913IpEPfEkEDIaPMVA+YHePVigeZcPbtiAnOlWG44/2FN9ji2uSjaeeEaO6Jddtu2VDcbXfajoBeZv4BsHs0ZfeMcS2hzKtsoJ0Pm56QeWG8q4GFN542xVAHxrtgiznG/VyDI3sOGEkxibHTYr0xVAAwVyPDlcjvuU0FgmwTFRMFdQ9+Rh2eTsPjPW2BfgaNmTwtvVvo6ywLodl3Odrovt3NRm2GdtmZ+Ud13c6x+xhna2bDOxLLts3Se8O7vO7aFSf+nklvMX3FCnvIoNmgDlGXuv1SXDPw/I/Oy69t32bpmPj8UlV2lvtSke2pUwBogzFm3qMAOjQbM2J9VIDHIxeBgFWZ4EMnbs9fniy35KPvvVDoVpL7WFMsemMlpWvZTNEsVsWVvECjkLmOnGw/tkGH4mtwG/bVvCr0ste5KPDs/sU4r2PcGj74oh6HaMAZf7MgaL5t47imyIi5p1bt24RH4hbof/cmnuH1+rNWbQ/ELwj4EbM2sp4c9rCx+i+hL++hAh/NcNe3fcyeBP6NIxEsBNnUTR5dJ2Ixh9kGe/yoTxrs9Isv7KMseYPR+v9pM2G6NQkqCbTdpvxBe4xu25i0yY/nYZN+Vt0rQ2ohG2RQvulCfn/16WPvqU9KzE2z4Ef/jYdWTsTlvjx2Jfkt72dkuyFD99Zz205TATba7d8C96tSzX3Wb+8/fWd51Ukj22bhD+eNQAG84qyjMRu+fQ//UBZLR50AQYcDBP4B6fKLISH7A4DrKMspOqAYvHO283J332UZYb997mJNh4yKOfr67XZLNxmZzJulw6Ji1bfw1ZYNnt4i/I+L13VWzFl8eunC/3zvu24rLzA+AnvleA85mF8vw9DyhexcUSCkX7aaJnclUwxfHGUTcmwG2P4DdoHjad669Tkg/t0yStTR6EItra9aEnAN+nJ8GPpMKbagHI2thv7rONm5KHMmtKBvqt3XRpuSKRgh5cp1d9ufGuK580pj/f5gnr+BtammW/6y+R1vUq19uVz78ov/vQycLn3RhOvIaEL/rHDvfL8BOT4XJZxa340a74k37oZZvK0kY4bFIiG1+WZ3D6t6yj/MYnQEpm5qAFjCCdIAOcnwE6ls4FOZPNksJ0J7pU1gjxk0cdC8E0mUyvHbsdk8tF4kgsOpXEQLDLtq4/Xg746SXSiC81F7dHrviJ3HPB5Xbyik4NDvchMBU41DcPFqwTazV/+Q4EejyoZSS6pn+QN5xuz3jN5FGHMOtD3Ya+AsCsfxkyOzEygNEZoHJi2AOu4tm/y+geb6Es2zEAAcqu9BkxdI40UZYbd5kMxnKGoFFnkZdVLgTA2ygTxjsusy+y9o5byf7/cz7V5zb+EvavP3yKvPLwY4YfvdTiMzIGFboVn9uiDGWDTbWjIzkeeD3woa0qfuoYaLy2h36jJYe73sqQE4A2+VQtc4aU4B8qKSHaF5wgIHOSextnoxBMZkbop4yXWaJMjgQ0Wp09eTItiUI75XQ09kG/Jk0Yr8EJ/RsdNFX2nFt5nrv8qefkZ0d8Wvq6e9RWJX7DZ1cRzZ7bcswV+D1BQmDpQ8aHYVW/0B/xB04Ufxxv9siVsWClVX1drQTgl1UVLKxy4YpOB+dYNwn2Z8FkO7cozzI0FduVANcVgqVjvE330BVIcX2+T8lnmVbZF/tR3vpjR8gup36CcHLbU7+7VW489dyAyY7nUV9qH7Zdb262x0CZXR0LC7py+HgdmefFdaU+WTnIIZkj/uATxwx1G3oCwAlbATJiCSRdhotAWedml0oxDnUmBjefBTqmcGLnyZMSbMlhpFCt21IbhYQgQlrOZCwtdzntE7LdMe9T++nLXV+9XO77zo9Unu1Mbh/Peg6/uRR0mz8qy8mBAi1Xw+/6KrCpJdhMAw1FmTz9yPCwnX9D3YaeALAYzwFoPSUdiNTxANwDbWBDBuecgnQynh7RRRLoe+rjeNY1kD4+tKtutFmfjwtjgmzUAQKnfmWGbH7Y/kSe2371/86SZ/CVpGgHvRzHo4ja0DJaqNNnuUok70a0HfIpxqRsiUitwBmxmbzWXW8yBsXc+ZPyQmyaDNQ0tG3ICUBz/u1X/sgCT2pyJKl75qDOcnhgpAI0/rnj3GvyhIyn3uhcIkcxbQ96WI96UsK8DD2kxewkZGPgOy4/TzaYsgtNxY0ne1e/6xOy9OnnQuCSMZByWzqbiQF/jsHsAB3baB++sC22xzLbk7H6+YHJmj6UK8bbGNXlemlfNZl/aih6smqFIScAYfGheha85PgP++oMHNGZH0kBdRqcABplfl/ckscTIiPDV5QcqdSJf0qw6jJ5v7qopJOcYBO7WOayKQ0lOfz6y2TdLSfmWOpY8qp8/50fka7lK5XLbLzpIhY70UM9+EcF9k6EM5/twEK7tKlagm22hzGKT8smQT+4ZeMLSRN02XgbY2XXSTT4zCPYU2Wr+DL0BAASPl974PfBgQAlJRAXHFYnwglkfDtEOSXD6QvEBFLZm5tZOhvQhkHsU/J1vOlxXRpMVBpxgecDv/qejJwwLkfRy48+IVcdfpz09eJL6z4jVWclfrfhunN7RcExVfDDouIPPto4Ra34LdmzpGC/yyj+qNt9wx66GH47BORcWqXK0BMAZtJzgAqgMaABtAJ2BzKinFSfBUTvQaO06Q1tgQgnp7LfiQOZEHK5FvwW0Yd/8wNpwnX9dHvi5tvlejy93uVSLGxkSGifWw6f1i1g6Rhrcay0Xw2/zdjML8Pq9YhFR2e6rL+SPx+nIIfwMuQEoHt8tLA7SdusOSC2Z0FAD5dsztq4dBf6dTy0YhD/aXYHHapTxwc9KuOyGUk6zvtUi8ioTTaUD//yu/iFzryrd19xrdw42z4niReVaLcwHlW00W44ySNOl+E+wWWyRAEZtY+yjg9yujrwY2q+r7AEUdnAC32PugN+6mEbN++zvXHEdo4b6pZnZRW00GQvHqjHPf8IygGSgrRNlzhdsiHHPWS1P8ixpmML7bENJIMzIxXj3Q7J4Zbacr1sn7DzdvKBqys/DPvtOV+Ve6+6PurJjactx8E9/zzI0Gm2A37tN/tlPQkOsul49xH4OYrJZMlhuohT7dOvIEsb3Lh3H6PPIXk4CkPCCBUf0stqJYBeB1AQeWLUIQDlXp2OzrPFHbO+jOA8eWx3QuwjXMiTWAYj6NZ+2vcAaZ/Z2OKgfeTdF39J7aUvV3/8VHn8tjvzQQ7jFC8TVDEOgD+sBE4+pU0+7Nmh4xP86kuKH7Kpf4m9YvAVE16oXZMgxZroUKNDeBl6AsA43wZqUGDYSLCljTUnyPd0wGSCI0kdaqwPwqlcvpzIJI4rKcRBDBjPsO3ykSPkwC+cnKODb/O+cchH5eUnnlYiY3KpD0F30MuBNuOoD32q32zY291gD7ZMLhufxxzGOD7qDT76OLej+IP9rEy9+KftZkPLrOOPm+vRyhBehp4AMOYngbRLIDlS0UaIqYNeNlmOygj0vmzMQOOr6YRssL//mZ+Vtx/7ASqPW/vSV+VrBxwpHcteiwF1rLTLzTBlZZYyLGkgM8zWT02OaaAxbM/GVfU14c/6icrGaBKy5jK+D22GjvKrvg05AWhKrwPgAO/kEYiTwX5Swz5u/oEJa/GkC30qH+RY1jqWeL6/1SC5TDykZGTboYBn1bwOIfL+S2fL1gdNw9hse+GRx+SSdx8jfX1+vpIPhL0F87aB8GcngMSXw+9LsgbF8DNQ6gdeY3kA/HodhGN1TGaf41nzZPC9t9FD5RT2MXTI25ATgED0EKBhSoPCHv4jsMwBtmROuDzaKIc/BpMbZaxk8jbG9GXjU12Qxs/THPez78mEbSapDn958Nc3yZWfOcOwJPYzO9CrxDse3xujhoUyGUaeb7DuWLJ9Eb/7UrDB8Y6FekNipHponX/RPuvkhYZ1vNtHGzNfpbEbwjb0BIBdPwQYhCQoAMq23AxWpw2ht5MyI4Cz3WYxJYyMoKOKLtUdiGtZe7T8x43XSuto+zawWRD58Rnnyl0/mh8DFUnPBTAjVclWgsNsh5HUjmG2Ng+G4Ydm6NTViGO0TGv4h7r64m3BF2unxsCR+8x+l0Wb27GkS/ilfDiXMEtoGOI29ASAQSYAnYiXdOGAO2wzi/ACCbqnfH45pYSf1acOWxKQ8MxxtnHjnprWx69zHP/T7+L7+9kXjzrwxP557/gAbspcrGMr7KMh1c3+/P0I2UxmX9E+IUS83q/BSALGdsXI8ZD3q54crOOplT6E/nT1UxH0+l7HUzrYjeM51trZN9RtyAlA83YhKDiBzwUckGWnE52B1MBp0lhbFgjoUMJCuy5rNp6BpoN8JSkkn8Tt/YkPyaGfz5/p//aib8pvLvqWBpiEcCxteJkltYm2WEablimNAnscl9pW2XD1jr2ox/6gpzhD1WaYyVqmXdVs9n08denYYLPYrvVgIx2v49wX2CH+oW5DTgAa1UNAMG+fkQNMcCoHPnGCQM3RjEgNQFhN2Jc/MTMHPTA8aTr2exfJVtOyRwH95dc3yvc+M9NmWmLf7FhQMxvJlbiAi30DndjpOA2f4a6KH0K+Khh+rHJ6YSiz7fgNB2uBB+cmYgl9XFXQZqtEJm/2bRIo11QEuaFuq5EAyT2BxIA/ZqkSgIqRnwFXnIlMLosxLh77SATHsw17avBAbvS27eWEH18ujbis248fcpj/5a/KTZdfpb77eJUtjDMiicAxQrvKECfKYRbZ2NQ+rbsveR8jfkWY4KTesEpFGfpUkHOf6Cc3t+PtlI9lHR9sOB62JecLqmQIL0NPACDmL2zFs1gFbAgMOF2oHkgLbuh3R0LGOxEaFPRRduSYdeWE6y6XcRM3kbt+/Av5yZcukJV4b5+TxXgnrEgqLfGowj1UZolKfLQf9jyXaB09SkbghLJ11FrShr/WkSNkeHOzDMOv/FCSbye7u7qkq7NLVixfLsuWLJUXFj4vK157DbqDLpV0e/QB5WCf2NRmUqd9TVKOZzIGPY6LWk1H0M9+/Qv8on+o25ATgAbj/QAA40Q66HQZp6z1Jw4we3lypDeTmEMeOMq2gPzJRxwih838D3yQ0yiXfOQzsvLVZTJq/FjZ/sB9sR8ja43F35h1ZOS6+MN+LSTKCHxzp6lldR8NSMSrvj36wIPy4akHmq8hkOp3MlOVH/XbOKEVyhg/WSKk1wfIJQ9RHma/puKHHW9fdcT1fqO3imaGEreDIIgeVAPojhAtW6zOAFudYDmC43Z936FyJH5+qri9uuhFWfTo3+UlXLadP+e/5RX8+mL7aysw25bIs48+Lj099oME1OOzxe363meSnzSqXYCwf0Y621zecXo9TWCOKTU2yrrjx8mEjTeSHafsLpOnTZWd99pDmpNk+/Mdd8ZPSF236kOFOly39ilvaNU+4gBbnihB3leFOE7x53V5X5HDeuswWXvrnDH9s4B5cVHq5eUiV93E9+50xxzgMuvE0WFWHaDtrU3bk1mQyeXHsDbg+BBM71eyYI+64jE42ocmyHMZ5ZYlpuHTNu3naMecx1KBP8xIto/FD79dd/sCmT5pO+nFZw4RUwX+gC/Xbqg4JuILWHK8oGJTLI+fft3+sV1lh3EjFHv6gi+Intgyd0Hlx6GJ0JAPAbCrv2tkIA0aX7M7hIzAXD8GZTMTZXSm/VbmOP7zQNhel0EkTUwwCDghcUnEqJR80x/aOLs463yW0QZ0mJ0EPzHSNv5IbuzXQ1VmP+1/fuFC2WvTragxZ1/5gAJiyvAn10GoH3js+QImp7Jq32xr4gY598326Ida5RPyQ92GnADj8DSXU48YJg883ScLHhJZ3g53CRRIFKATHcDHPgQhOqKUEbq1xXZ6FsazTctgnNoZRJdjnfbcpsrSvqYGiUZ/sB8PVVx5MEB1FcZHjN4OQdUBLPy8X+3QPvtRsZagi2f+boudxBHG5/HraIzFOMorFsgyOVl33sL42Mb+MIYa1sPv4v3XtInykR3Wo/ohb0NOAFqk4Z02bdQ/1peuLMuv7+uShxeCjJRoddLIpJwSxb0SaY6lbSrjgVbyCzJh+WUrxJSY7ITIZcPhiYQG8mhDg4G9hSEEIcqw3TY/6aI2mMuwRtkqbQWs0UZiXwMcksnxE1O0l8rSNnkKbe/acqzM3X8L2Wz0mjvJhen6ts4zpk8CkAsx4LB6RgCz/OnxbvnNA52yosuooDPMaJ0Z7hyznu1Jny5rQY7tkUiOQYOPR1dIpkCUj2EgWA462es2dCz6vI31rI+WDIu1W19ahjhs2hpDWR+PYsSlOtR+Op4SQSb0eT3FYghMbt3W4fKFqZvJJ3dev+rvJ6nCwgts/7KhoXRKy3kLHi90Va3WnQDp6PD7SJ+BsS+inU94GnR7YXmf/OTudnloUVckjY47gSnJ3lYkMg2qJwVluXGfkpeSqnoGsTWQ/cr2DDP1+spjcp48to5kCQg52K+Gn22mx/AfNHFdneXbVPndKHW08mUJgnhOc1vp0qE8knZICVDEoA9xbixfCE8OLPZVq+MintzwyEqZf/8Kae9xYowIvhqZvGRrpKREO1nUGy/fxjEeAEoZ6dTFzU8Uqd/LHrQsOGFcCIrZYm9y4ka94RDk4zPMbt/GpO0myxaOd0z9Mgo/+HnGnpvICbttJMPxvYW6tpLc0NBXOmVNPJS6Tot1wVKh8qztmzo7xp2K6J2FhvxntAOoefqVHrnirlflkRfT1cGIqkYc6XUSNXjQa3JZcEixJlAIpspVBBby0OVB8T3D6GXXmwbT+7hnu9WpKcORlT2hrQ8isudGo+SCAybJ2ybU95R7DMFDiUuzW1oXf7U066H6nlZNQ3VsazwBijZXzpi+W4OU+UMOexX7qtW78ety1/9lmVz/wDLp7HXynGTbFwmnHtIfkyIJemxL+jmeq4D+S2RtOR5gtlMaAzmW4zwxdA8Wc8nmuokL5dbhDXLK2zfWX8VrHZZ9dI3uWtvteErkSSPmLri7ltDq9r3uCZAC1J9yaR95Bto+hz88Qmzw7ZEXO+WSOxbLo4uz1cHIZxgsILklmeTDK56EUoIyWbCKs7TYj3ocb3185Xhu+UMH2rXVDimKBXK+ouyC2X0+ZvmUDbOHSqn4wC94ypSc39K24rw38qdp3tAEKPqOn1bcB9dX+GNO+W9qFgVDvb2nX75/7yvy4/uXSCdOJBgXBojkp0mRBdx6vZ9q2OdBcrl8exbwTNbuB9BZHhKCOm3FsCTkE7uOn7wBjuebylpNeDZiHRvI/zPgnNQ67xY8A+zN2d7UBEhdLp+4x6iu1pYvgtgT0W6PBE8FqpTvem6FfPUPL8jjSzoLsxOBZmKAXQ2+ltnGOWtLfHqGTilPBu7jtYIw3tLIk8z3Zf2F1zkHbCH7b7pOFXRVm3pA+MXNHZ3nlC6+ExfT3/ztLZMARSo6Z+73DlzTvxDt2xb7qtWXd/XJ1+98Qa554GX9UXcLaEiAJJAWeF4kstXDA1+89lBMCiZSI87SP4H35Gfvvams01L3NbRHSqWGU1rm3Pzbarjf7La3bAKkxCw/84Axw/t6zsXUPI5xSPsGKt/wxDKZfduz8uSrndlKoIkQDgGaAGE2gwVNhJAo6eoxcZ0WmT19czlsEh51W9+GD0nL3+5pHH72qK/c+Ep9Q948qX+IBCjS0z5j2hH4pIuP9JpY7KtWfxm/Zz/7tmfkRw8vxqGCwWaIqwcf5yRy9PYT9Lesx4+ofFxcNf1oexIrxufa5t56/QD9b9nmf8gESNlcedY+6zf0NZyHiH4U7XX585O/Lpb/vOUpee41e2ex0VrNcs6+m8lR2+JRt/VtvDb0g/7G/jNGzL5tUX1D3ppSdRH21oReiQqzutQ5c/qHsQQzIfDLE2twK8lCqD+jZc6Cq0AaF5B/iu2fKgGKEek4Y/pmpf7yPETr/cW+euog58flhtLprecteKoe+X9EmX/qBEgDUsavk3V1TDuuXC7xO+P558RkgotLpfIXmltv/XZplr5nzHr+SUv/MglQjF/njP22xvsBvs3E4Rxv0+be/LeizL9C/f8DPIafHB78+PMAAAAASUVORK5CYII=`,Qx=`data:image/svg+xml,%3csvg%20fill='currentColor'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGrok%3c/title%3e%3cpath%20d='M9.27%2015.29l7.978-5.897c.391-.29.95-.177%201.137.272.98%202.369.542%205.215-1.41%207.169-1.951%201.954-4.667%202.382-7.149%201.406l-2.711%201.257c3.889%202.661%208.611%202.003%2011.562-.953%202.341-2.344%203.066-5.539%202.388-8.42l.006.007c-.983-4.232.242-5.924%202.75-9.383.06-.082.12-.164.179-.248l-3.301%203.305v-.01L9.267%2015.292M7.623%2016.723c-2.792-2.67-2.31-6.801.071-9.184%201.761-1.763%204.647-2.483%207.166-1.425l2.705-1.25a7.808%207.808%200%2000-1.829-1A8.975%208.975%200%20005.984%205.83c-2.533%202.536-3.33%206.436-1.962%209.764%201.022%202.487-.653%204.246-2.34%206.022-.599.63-1.199%201.259-1.682%201.925l7.62-6.815'%3e%3c/path%3e%3c/svg%3e`,$x=`data:image/svg+xml,%3csvg%20fill='%23ffffff'%20fill-rule='evenodd'%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGrok%3c/title%3e%3cpath%20d='M9.27%2015.29l7.978-5.897c.391-.29.95-.177%201.137.272.98%202.369.542%205.215-1.41%207.169-1.951%201.954-4.667%202.382-7.149%201.406l-2.711%201.257c3.889%202.661%208.611%202.003%2011.562-.953%202.341-2.344%203.066-5.539%202.388-8.42l.006.007c-.983-4.232.242-5.924%202.75-9.383.06-.082.12-.164.179-.248l-3.301%203.305v-.01L9.267%2015.292M7.623%2016.723c-2.792-2.67-2.31-6.801.071-9.184%201.761-1.763%204.647-2.483%207.166-1.425l2.705-1.25a7.808%207.808%200%2000-1.829-1A8.975%208.975%200%20005.984%205.83c-2.533%202.536-3.33%206.436-1.962%209.764%201.022%202.487-.653%204.246-2.34%206.022-.599.63-1.199%201.259-1.682%201.925l7.62-6.815'%3e%3c/path%3e%3c/svg%3e`,eS=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eKimi%3c/title%3e%3crect%20width='24'%20height='24'%20rx='6'%20fill='%23fff'%3e%3c/rect%3e%3cpath%20d='M21.846%200a1.923%201.923%200%20110%203.846H20.15a.226.226%200%2001-.227-.226V1.923C19.923.861%2020.784%200%2021.846%200z'%20fill='%231783FF'%3e%3c/path%3e%3cpath%20d='M11.065%2011.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164%200%2000-.117.051l-7.82%207.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103%200-.186.103-.186.23V19.77c0%20.128.083.23.186.23h2.69c.103%200%20.186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158%200%2001.205-.023l6.484%204.772a7.677%207.677%200%20003.453%201.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028%205.028%200%2001-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z'%20fill='%23000'%3e%3c/path%3e%3c/svg%3e`,tS=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eKimi%3c/title%3e%3crect%20width='24'%20height='24'%20rx='6'%20fill='%23000'%3e%3c/rect%3e%3cpath%20d='M21.846%200a1.923%201.923%200%20110%203.846H20.15a.226.226%200%2001-.227-.226V1.923C19.923.861%2020.784%200%2021.846%200z'%20fill='%231783FF'%3e%3c/path%3e%3cpath%20d='M11.065%2011.199l7.257-7.2c.137-.136.06-.41-.116-.41H14.3a.164.164%200%2000-.117.051l-7.82%207.756c-.122.12-.302.013-.302-.179V3.82c0-.127-.083-.23-.185-.23H3.186c-.103%200-.186.103-.186.23V19.77c0%20.128.083.23.186.23h2.69c.103%200%20.186-.102.186-.23v-3.25c0-.069.025-.135.069-.178l2.424-2.406a.158.158%200%2001.205-.023l6.484%204.772a7.677%207.677%200%20003.453%201.283c.108.012.2-.095.2-.23v-3.06c0-.117-.07-.212-.164-.227a5.028%205.028%200%2001-2.027-.807l-5.613-4.064c-.117-.078-.132-.279-.028-.381z'%20fill='%23fff'%3e%3c/path%3e%3c/svg%3e`,nS={gemini:{src:Hx},interactions:{src:Hx},claude:{src:Bx},claudeApi:{src:Kx},codex:{src:Vx},xai:{src:Qx,darkSrc:$x,transparent:!0},vertex:{src:Gx},openaiCompatibility:{src:Ux,darkSrc:Wx,transparent:!0},apikeyFun:{src:qx},code0:{src:Jx},fennoAI:{src:Yx,transparent:!0},qiniuCloud:{src:Xx,transparent:!0},lmuAI:{src:Zx,transparent:!0},kimi:{src:tS,darkSrc:eS,transparent:!0,themeSurface:!0}},rS={stack:`ProviderCategoryList-module__stack___kBxsD`,aside:`ProviderCategoryList-module__aside___PBIjb`,eyebrow:`ProviderCategoryList-module__eyebrow___oNTkj`,list:`ProviderCategoryList-module__list___i2RZA`,item:`ProviderCategoryList-module__item___WRCng`,active:`ProviderCategoryList-module__active___MLw6R`,itemLeft:`ProviderCategoryList-module__itemLeft___z9fEi`,logo:`ProviderCategoryList-module__logo___8TKKa`,logoTransparent:`ProviderCategoryList-module__logoTransparent___waebo`,logoThemeSurface:`ProviderCategoryList-module__logoThemeSurface___ea1Qt`,logoThemeDark:`ProviderCategoryList-module__logoThemeDark___je6QA`,logoThemeLight:`ProviderCategoryList-module__logoThemeLight___VerKO`,logoInvertOnDark:`ProviderCategoryList-module__logoInvertOnDark___4YQXt`,itemText:`ProviderCategoryList-module__itemText___YV93M`,itemTitle:`ProviderCategoryList-module__itemTitle___tWmJK`,itemSubtitle:`ProviderCategoryList-module__itemSubtitle___hUfT0`,badge:`ProviderCategoryList-module__badge___mYck8`,badgeAmber:`ProviderCategoryList-module__badgeAmber___n2AT5`},iS=[`code0`,`fennoAI`,`qiniuCloud`,`claudeApi`,`lmuAI`],aS=new Set(iS);function oS({groups:e,activeBrand:t,onSelect:n}){let{t:r}=ss(),i=e.filter(e=>aS.has(e.id)).sort((e,t)=>iS.indexOf(e.id)-iS.indexOf(t.id)),a=e.filter(e=>!aS.has(e.id)),o=e=>(0,H.jsx)(`div`,{className:rS.list,children:e.map(e=>{let i=e.id===t,a=e.resources.length,o=e.resources.filter(e=>!e.disabled).length,s=nS[e.id],c=`${rS.item} ${i?rS.active:``}`,l=[rS.logo,s?.transparent?rS.logoTransparent:``,s?.themeSurface?rS.logoThemeSurface:``,s?.darkSrc?rS.logoThemeLight:``,s?.invertOnDark?rS.logoInvertOnDark:``].filter(Boolean).join(` `),u=[rS.logo,s?.transparent?rS.logoTransparent:``,s?.themeSurface?rS.logoThemeSurface:``,rS.logoThemeDark].filter(Boolean).join(` `);return(0,H.jsxs)(`button`,{type:`button`,className:c,onClick:()=>n(e.id),"aria-current":i?`page`:void 0,children:[(0,H.jsxs)(`span`,{className:rS.itemLeft,children:[s?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`img`,{src:s.src,alt:``,"aria-hidden":`true`,className:l}),s.darkSrc?(0,H.jsx)(`img`,{src:s.darkSrc,alt:``,"aria-hidden":`true`,className:u}):null]}):null,(0,H.jsxs)(`span`,{className:rS.itemText,children:[(0,H.jsx)(`span`,{className:rS.itemTitle,children:r(`providersPage.providerNames.${e.id}`)}),(0,H.jsx)(`span`,{className:rS.itemSubtitle,children:r(`providersPage.categories.activeCount`,{active:o,total:a})})]})]}),(0,H.jsx)(`span`,{className:`${rS.badge} ${a===0?rS.badgeAmber:``}`,children:a})]},e.id)})});return(0,H.jsxs)(`div`,{className:rS.stack,children:[(0,H.jsxs)(`aside`,{className:rS.aside,children:[(0,H.jsx)(`p`,{className:rS.eyebrow,children:r(`providersPage.categories.title`)}),o(a)]}),i.length>0&&(0,H.jsxs)(`aside`,{className:rS.aside,children:[(0,H.jsx)(`p`,{className:rS.eyebrow,children:r(`providersPage.categories.quickFill`)}),o(i)]})]})}var sS=`ClaudeAPI`,cS=`https://gw.apito.ai`,lS=`https://gw.claudeapi.com`,uS=`https://console.claudeapi.com/agent/register/pJq9T52Fpugrhpgo`,dS=e=>String(e??``).trim().toLowerCase().replace(/\/+$/,``),fS=e=>{if(!e)return!1;let t=dS(e.baseUrl);return[cS,lS].some(e=>t===dS(e))},pS=`kimi`,mS=`Kimi`,hS=`https://api.moonshot.ai`,gS=`https://api.moonshot.cn`,_S=`${hS}/v1`,vS=`${gS}/v1`,yS=`${hS}/anthropic`,bS=`${gS}/anthropic`,xS=`https://platform.kimi.com/?aff=cliproxyapi`,SS=`https://platform.kimi.ai/?aff=cliproxyapi`,CS=[{id:`domestic`,descriptionKey:`domestic`,baseUrl:vS,openaiBaseUrl:vS,codexBaseUrl:``,anthropicBaseUrl:bS,geminiBaseUrl:``},{id:`overseas`,descriptionKey:`overseas`,baseUrl:_S,openaiBaseUrl:_S,codexBaseUrl:``,anthropicBaseUrl:yS,geminiBaseUrl:``}],wS=[`openai`,`anthropic`],TS=e=>e?.toLowerCase().startsWith(`zh`)?xS:SS,ES=e=>String(e??``).trim().toLowerCase(),DS=e=>ES(e).replace(/\/+$/,``),OS=e=>{let t=DS(e),n=CS.find(e=>t===DS(e.baseUrl)||t===DS(e.openaiBaseUrl)||t===DS(e.anthropicBaseUrl));return n?n.baseUrl:t===DS(`https://api.moonshot.ai`)?_S:vS},kS=e=>{let t=OS(e),n=CS.find(e=>DS(e.baseUrl)===DS(t))??CS[0];return{anthropic:n.anthropicBaseUrl,openai:n.openaiBaseUrl,codex:``,gemini:``}},AS=e=>{if(!e)return!1;let t=DS(e.baseUrl);return CS.some(e=>t===DS(e.openaiBaseUrl))||t===DS(`https://api.moonshot.ai`)||t===DS(`https://api.moonshot.cn`)},jS=e=>{if(!e)return!1;let t=DS(e.baseUrl);return CS.some(e=>t===DS(e.anthropicBaseUrl))},MS=e=>({openai:(e?.openaiCompatibility??[]).map((e,t)=>({config:e,index:e.sourceIndex??t})).filter(e=>AS(e.config)),claude:(e?.claudeApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>jS(e.config)),codex:[],gemini:[]}),NS=`apikeyFun`,PS=`APIKEY.FUN`,FS=`https://apikey.fun/register?aff=AKCPA`,IS=`https://apikey.fun/dashboard`,LS=`https://api.apikey.fun`,RS=`https://slb.apikey.fun`,zS=`${LS}/v1`,BS=zS,VS=LS,HS=LS,US=`/v1/usage`,WS=[{id:`standard`,baseUrl:LS,openaiBaseUrl:zS,codexBaseUrl:BS,anthropicBaseUrl:VS,geminiBaseUrl:HS},{id:`direct`,baseUrl:RS,openaiBaseUrl:`${RS}/v1`,codexBaseUrl:`${RS}/v1`,anthropicBaseUrl:RS,geminiBaseUrl:RS}],GS=[`anthropic`,`openai`,`codexResponses`],KS=e=>String(e??``).trim().toLowerCase(),qS=e=>KS(e).replace(/\/+$/,``),JS=e=>{let t=qS(e);return WS.find(e=>t===qS(e.baseUrl)||t===qS(e.openaiBaseUrl)||t===qS(e.codexBaseUrl)||t===qS(e.anthropicBaseUrl))?.baseUrl??`https://api.apikey.fun`},YS=e=>{let t=JS(e),n=WS.find(e=>qS(e.baseUrl)===qS(t))??WS[0];return{anthropic:n.anthropicBaseUrl,openai:n.openaiBaseUrl,codex:n.codexBaseUrl,gemini:n.geminiBaseUrl}},XS=e=>`${e.replace(/\/+$/,``)}${US}`,ZS=e=>{let t=XS(JS(e)),n=XS(LS);return t===n?[t]:[t,n]},QS=e=>typeof e==`number`?Number.isFinite(e)?e:null:typeof e==`string`&&e.trim()||null,$S=e=>typeof e==`string`&&e.trim()?e.trim():void 0,eC=(e,t)=>{if(typeof e==`boolean`)return e;if(typeof e==`string`){let t=e.trim().toLowerCase();if([`true`,`1`,`yes`,`active`].includes(t))return!0;if([`false`,`0`,`no`,`inactive`,`disabled`].includes(t))return!1}return t},tC=e=>typeof e==`object`&&!!e&&!Array.isArray(e),nC=e=>{if(!tC(e))return null;let t=tC(e.quota)?e.quota:{},n=QS(e.remaining??t.remaining??e.balance),r=$S(e.unit??t.unit)??`USD`,i=QS(t.limit),a=QS(t.used),o=$S(e.status),s=$S(e.mode),c=eC(e.is_active??e.isValid,!0);return n===null&&i===null&&a===null&&!o&&!s?null:{isValid:c,status:o,mode:s,remaining:n,unit:r,limit:i,used:a}},rC=e=>{let t=qS(e);return WS.some(e=>t===qS(e.openaiBaseUrl)||t===qS(e.codexBaseUrl))},iC=e=>{let t=qS(e);return WS.some(e=>t===qS(e.anthropicBaseUrl))},aC=e=>e?rC(e.baseUrl):!1,oC=e=>e?iC(e.baseUrl):!1,sC=e=>e?rC(e.baseUrl):!1,cC=e=>({openai:(e?.openaiCompatibility??[]).map((e,t)=>({config:e,index:e.sourceIndex??t})).filter(e=>aC(e.config)),claude:(e?.claudeApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>oC(e.config)),codex:(e?.codexApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>sC(e.config)),gemini:[]}),lC=e=>{let t=cC(e);return t.openai.length>0||t.claude.length>0||t.codex.length>0},uC=`code0`,dC=`Code0`,fC=`https://code0.ai/agent/register/slxVMR3uVBoRgNBf`,pC=`https://code0.ai`,mC=`${pC}/v1`,hC=[{id:`standard`,baseUrl:pC,openaiBaseUrl:mC,codexBaseUrl:mC,anthropicBaseUrl:pC,geminiBaseUrl:pC}],gC=[`openai`,`anthropic`,`gemini`,`codexResponses`],_C=e=>String(e??``).trim().toLowerCase(),vC=e=>_C(e).replace(/\/+$/,``),yC=e=>{let t=vC(e);return hC.find(e=>t===vC(e.baseUrl)||t===vC(e.openaiBaseUrl)||t===vC(e.codexBaseUrl)||t===vC(e.anthropicBaseUrl)||t===vC(e.geminiBaseUrl))?.baseUrl??`https://code0.ai`},bC=e=>{let t=yC(e),n=hC.find(e=>vC(e.baseUrl)===vC(t))??hC[0];return{anthropic:n.anthropicBaseUrl,openai:n.openaiBaseUrl,codex:n.codexBaseUrl,gemini:n.geminiBaseUrl}},xC=e=>{let t=vC(e);return hC.some(e=>t===vC(e.openaiBaseUrl)||t===vC(e.codexBaseUrl))},SC=e=>{let t=vC(e);return hC.some(e=>t===vC(e.anthropicBaseUrl))},CC=e=>{let t=vC(e);return hC.some(e=>t===vC(e.geminiBaseUrl))},wC=e=>e?xC(e.baseUrl):!1,TC=e=>e?SC(e.baseUrl):!1,EC=e=>e?xC(e.baseUrl):!1,DC=e=>e?CC(e.baseUrl):!1,OC=e=>({openai:(e?.openaiCompatibility??[]).map((e,t)=>({config:e,index:e.sourceIndex??t})).filter(e=>wC(e.config)),claude:(e?.claudeApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>TC(e.config)),codex:(e?.codexApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>EC(e.config)),gemini:(e?.geminiApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>DC(e.config))}),kC=`fennoAI`,AC=`FennoAI`,jC=`https://api.fenno.ai/register?aff=DQFAMNB6CBLY`,MC=`https://api.fenno.ai`,NC=`${MC}/v1`,PC=[{id:`standard`,baseUrl:MC,openaiBaseUrl:NC,codexBaseUrl:NC,anthropicBaseUrl:MC,geminiBaseUrl:MC}],FC=[`codexResponses`,`anthropic`],IC=e=>String(e??``).trim().toLowerCase(),LC=e=>IC(e).replace(/\/+$/,``),RC=e=>{let t=LC(e);return PC.find(e=>t===LC(e.baseUrl)||t===LC(e.openaiBaseUrl)||t===LC(e.codexBaseUrl)||t===LC(e.anthropicBaseUrl)||t===LC(e.geminiBaseUrl))?.baseUrl??`https://api.fenno.ai`},zC=e=>{let t=RC(e),n=PC.find(e=>LC(e.baseUrl)===LC(t))??PC[0];return{anthropic:n.anthropicBaseUrl,openai:n.openaiBaseUrl,codex:n.codexBaseUrl,gemini:n.geminiBaseUrl}},BC=e=>{let t=LC(e);return PC.some(e=>t===LC(e.codexBaseUrl))},VC=e=>{let t=LC(e);return PC.some(e=>t===LC(e.anthropicBaseUrl))},HC=e=>e?VC(e.baseUrl):!1,UC=e=>e?BC(e.baseUrl):!1,WC=e=>({openai:[],claude:(e?.claudeApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>HC(e.config)),codex:(e?.codexApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>UC(e.config)),gemini:[]}),GC=`qiniuCloud`,KC=`七牛云`,qC=`https://s.qiniu.com/miI73q`,JC=`https://api.qnaigc.com`,YC=`https://api.modelink.ai`,XC=e=>`${e}/v1`,ZC=[{id:`domestic`,descriptionKey:`domestic`,baseUrl:JC,openaiBaseUrl:XC(JC),codexBaseUrl:XC(JC),anthropicBaseUrl:JC,geminiBaseUrl:JC},{id:`overseas`,descriptionKey:`overseas`,baseUrl:YC,openaiBaseUrl:XC(YC),codexBaseUrl:XC(YC),anthropicBaseUrl:YC,geminiBaseUrl:YC}],QC=[`openai`,`anthropic`,`gemini`,`codexResponses`],$C=e=>String(e??``).trim().toLowerCase(),ew=e=>$C(e).replace(/\/+$/,``),tw=e=>{let t=ew(e);return ZC.find(e=>t===ew(e.baseUrl)||t===ew(e.openaiBaseUrl)||t===ew(e.codexBaseUrl)||t===ew(e.anthropicBaseUrl)||t===ew(e.geminiBaseUrl))?.baseUrl??`https://api.qnaigc.com`},nw=e=>{let t=tw(e),n=ZC.find(e=>ew(e.baseUrl)===ew(t))??ZC[0];return{anthropic:n.anthropicBaseUrl,openai:n.openaiBaseUrl,codex:n.codexBaseUrl,gemini:n.geminiBaseUrl}},rw=e=>{let t=ew(e);return ZC.some(e=>t===ew(e.openaiBaseUrl)||t===ew(e.codexBaseUrl))},iw=e=>{let t=ew(e);return ZC.some(e=>t===ew(e.anthropicBaseUrl))},aw=e=>{let t=ew(e);return ZC.some(e=>t===ew(e.geminiBaseUrl))},ow=e=>e?rw(e.baseUrl):!1,sw=e=>e?iw(e.baseUrl):!1,cw=e=>e?rw(e.baseUrl):!1,lw=e=>e?aw(e.baseUrl):!1,uw=e=>({openai:(e?.openaiCompatibility??[]).map((e,t)=>({config:e,index:e.sourceIndex??t})).filter(e=>ow(e.config)),claude:(e?.claudeApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>sw(e.config)),codex:(e?.codexApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>cw(e.config)),gemini:(e?.geminiApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>lw(e.config))}),dw=`lmuAI`,fw=`LMU AI(灵眸AI`,pw=`https://api.lmuai.com/register?ref=yJ6Kwg9g`,mw=`https://api.lmuai.com`,hw=`${mw}/v1`,gw=[{id:`standard`,baseUrl:mw,openaiBaseUrl:hw,codexBaseUrl:hw,anthropicBaseUrl:mw,geminiBaseUrl:mw}],_w=[`openai`,`anthropic`,`gemini`,`codexResponses`],vw=e=>String(e??``).trim().toLowerCase(),yw=e=>vw(e).replace(/\/+$/,``),bw=e=>{let t=yw(e);return gw.find(e=>t===yw(e.baseUrl)||t===yw(e.openaiBaseUrl)||t===yw(e.codexBaseUrl)||t===yw(e.anthropicBaseUrl)||t===yw(e.geminiBaseUrl))?.baseUrl??`https://api.lmuai.com`},xw=e=>{let t=bw(e),n=gw.find(e=>yw(e.baseUrl)===yw(t))??gw[0];return{anthropic:n.anthropicBaseUrl,openai:n.openaiBaseUrl,codex:n.codexBaseUrl,gemini:n.geminiBaseUrl}},Sw=e=>{let t=yw(e);return gw.some(e=>t===yw(e.openaiBaseUrl)||t===yw(e.codexBaseUrl))},Cw=e=>{let t=yw(e);return gw.some(e=>t===yw(e.anthropicBaseUrl))},ww=e=>{let t=yw(e);return gw.some(e=>t===yw(e.geminiBaseUrl))},Tw=e=>e?Sw(e.baseUrl):!1,Ew=e=>e?Cw(e.baseUrl):!1,Dw=e=>e?Sw(e.baseUrl):!1,Ow=e=>e?ww(e.baseUrl):!1,kw=e=>({openai:(e?.openaiCompatibility??[]).map((e,t)=>({config:e,index:e.sourceIndex??t})).filter(e=>Tw(e.config)),claude:(e?.claudeApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>Ew(e.config)),codex:(e?.codexApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>Dw(e.config)),gemini:(e?.geminiApiKeys??[]).map((e,t)=>({config:e,index:t})).filter(e=>Ow(e.config))}),Aw={apikeyFun:{brand:`apikeyFun`,displayName:PS,providerName:NS,affiliateUrl:FS,dashboardUrl:IS,protocols:[`codex`,`claude`,`openai`],protocolLabels:GS,defaultProtocol:`codex`,baseUrlOptions:WS,supportsUsageCheck:!0,resolveBaseUrl:JS,getProtocolUrls:YS},code0:{brand:`code0`,displayName:dC,providerName:uC,affiliateUrl:fC,protocols:[`openai`,`claude`,`gemini`,`codex`],protocolLabels:gC,defaultProtocol:`openai`,baseUrlOptions:hC,supportsUsageCheck:!1,resolveBaseUrl:yC,getProtocolUrls:bC},fennoAI:{brand:`fennoAI`,displayName:AC,providerName:kC,affiliateUrl:jC,protocols:[`codex`,`claude`],protocolLabels:FC,defaultProtocol:`codex`,baseUrlOptions:PC,supportsUsageCheck:!1,resolveBaseUrl:RC,getProtocolUrls:zC},qiniuCloud:{brand:`qiniuCloud`,displayName:KC,providerName:GC,affiliateUrl:qC,protocols:[`openai`,`claude`,`gemini`,`codex`],protocolLabels:QC,defaultProtocol:`openai`,baseUrlOptions:ZC,supportsUsageCheck:!1,resolveBaseUrl:tw,getProtocolUrls:nw},lmuAI:{brand:`lmuAI`,displayName:fw,providerName:dw,affiliateUrl:pw,protocols:[`openai`,`claude`,`gemini`,`codex`],protocolLabels:_w,defaultProtocol:`openai`,baseUrlOptions:gw,supportsUsageCheck:!1,resolveBaseUrl:bw,getProtocolUrls:xw},kimi:{brand:`kimi`,displayName:mS,providerName:pS,protocols:[`openai`,`claude`],protocolLabels:wS,defaultProtocol:`openai`,baseUrlOptions:CS,supportsUsageCheck:!1,resolveBaseUrl:OS,getProtocolUrls:kS}},jw=e=>e===`apikeyFun`||e===`code0`||e===`fennoAI`||e===`qiniuCloud`||e===`lmuAI`||e===`kimi`,Mw=e=>e?e.openai.length>1||e.claude.length>1||e.codex.length>1||e.gemini.length>1?`multiple-configs`:e.openai.reduce((e,t)=>e+(t.config.apiKeyEntries??[]).filter(e=>e.apiKey?.trim()).length,0)>1?`multiple-openai-keys`:null:null,Nw=e=>Aw[e],Pw=e=>e===`claude`?`anthropic`:e===`codex`?`codexResponses`:e,Fw=e=>e===`claude`?`anthropic`:e,Iw=e=>e===`openai`?`openaiCompatibility`:e,Lw=(e,t)=>t===`claude`?e.anthropic:t===`codex`?e.codex:t===`gemini`?e.gemini:e.openai,Rw={wrap:`Table-module__wrap___BoMJd`,scroll:`Table-module__scroll___hyI-i`,table:`Table-module__table___2tzS9`,head:`Table-module__head___exzqF`,alignRight:`Table-module__alignRight___sq06f`,body:`Table-module__body___7J59-`,row:`Table-module__row___jJz3d`,selected:`Table-module__selected___-MWZq`};function zw({children:e,cols:t,className:n,...r}){let i=[Rw.table,n].filter(Boolean).join(` `);return(0,H.jsx)(`div`,{className:Rw.wrap,children:(0,H.jsx)(`div`,{className:Rw.scroll,children:(0,H.jsxs)(`table`,{className:i,...r,children:[t?(0,H.jsx)(`colgroup`,{children:t}):null,e]})})})}function Bw({children:e,className:t,...n}){return(0,H.jsx)(`thead`,{className:[Rw.head,t].filter(Boolean).join(` `),...n,children:e})}function Vw({children:e,className:t,...n}){return(0,H.jsx)(`tbody`,{className:[Rw.body,t].filter(Boolean).join(` `),...n,children:e})}function Hw({children:e,className:t,selected:n,...r}){return(0,H.jsx)(`tr`,{className:[Rw.row,n?Rw.selected:null,t].filter(Boolean).join(` `),...r,children:e})}function Uw({children:e,className:t,alignRight:n,...r}){return(0,H.jsx)(`th`,{className:[n?Rw.alignRight:null,t].filter(Boolean).join(` `)||void 0,...r,children:e})}function Ww({children:e,className:t,alignRight:n,...r}){return(0,H.jsx)(`td`,{className:[n?Rw.alignRight:null,t].filter(Boolean).join(` `)||void 0,...r,children:e})}var Gw={root:`ToggleSwitch-module__root___IUqKD`,labelLeft:`ToggleSwitch-module__labelLeft___Pc6fJ`,label:`ToggleSwitch-module__label___4iQkR`,disabled:`ToggleSwitch-module__disabled___GNGHj`,track:`ToggleSwitch-module__track___zFtXx`,thumb:`ToggleSwitch-module__thumb___gQ45C`};function Kw({checked:e,onChange:t,label:n,ariaLabel:r,disabled:i=!1,labelPosition:a=`right`}){return(0,H.jsxs)(`label`,{className:[Gw.root,a===`left`?Gw.labelLeft:``,i?Gw.disabled:``].filter(Boolean).join(` `),children:[(0,H.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>{t(e.target.checked)},disabled:i,"aria-label":r}),(0,H.jsx)(`span`,{className:Gw.track,children:(0,H.jsx)(`span`,{className:Gw.thumb})}),n&&(0,H.jsx)(`span`,{className:Gw.label,children:n})]})}var qw={},Jw=[{r:239,g:68,b:68},{r:250,g:204,b:21},{r:34,g:197,b:94}];function Yw(e){let t=Math.max(0,Math.min(1,e)),n=t<.5?0:1,r=n===0?t*2:(t-.5)*2,i=Jw[n],a=Jw[n+1];return`rgb(${Math.round(i.r+(a.r-i.r)*r)}, ${Math.round(i.g+(a.g-i.g)*r)}, ${Math.round(i.b+(a.b-i.b)*r)})`}function Xw(e){let t=new Date(e);return`${t.getHours().toString().padStart(2,`0`)}:${t.getMinutes().toString().padStart(2,`0`)}`}function Zw(e){let t=e.toFixed(1);return`${t.endsWith(`.0`)?t.slice(0,-2):t}%`}function Qw({statusData:e,styles:t}){let{t:n}=ss(),r=t||qw,[i,a]=(0,y.useState)(null),o=(0,y.useRef)(null),s=e.totalSuccess+e.totalFailure>0,c=s?e.successRate>=90?r.statusRateHigh:e.successRate>=50?r.statusRateMedium:r.statusRateLow:``;(0,y.useEffect)(()=>{if(i===null)return;let e=e=>{o.current&&!o.current.contains(e.target)&&a(null)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[i]);let l=(0,y.useCallback)((e,t)=>{e.pointerType===`mouse`&&a(t)},[]),u=(0,y.useCallback)(e=>{e.pointerType===`mouse`&&a(null)},[]),d=(0,y.useCallback)((e,t)=>{e.pointerType===`touch`&&(e.preventDefault(),a(e=>e===t?null:t))},[]),f=(e,t)=>e<=2?r.statusTooltipLeft:e>=t-3?r.statusTooltipRight:``,p=(t,i)=>{let a=t.success+t.failure,o=f(i,e.blockDetails.length),s=`${Xw(t.startTime)} ${Xw(t.endTime)}`;return(0,H.jsxs)(`div`,{className:`${r.statusTooltip} ${o}`,children:[(0,H.jsx)(`span`,{className:r.tooltipTime,children:s}),a>0?(0,H.jsxs)(`span`,{className:r.tooltipStats,children:[(0,H.jsxs)(`span`,{className:r.tooltipSuccess,children:[n(`status_bar.success_short`),` `,t.success]}),(0,H.jsxs)(`span`,{className:r.tooltipFailure,children:[n(`status_bar.failure_short`),` `,t.failure]}),(0,H.jsxs)(`span`,{className:r.tooltipRate,children:[`(`,(t.rate*100).toFixed(1),`%)`]})]}):(0,H.jsx)(`span`,{className:r.tooltipStats,children:n(`status_bar.no_requests`)})]})};return(0,H.jsxs)(`div`,{className:r.statusBar,children:[(0,H.jsx)(`div`,{className:r.statusBlocks,ref:o,children:e.blockDetails.map((e,t)=>{let n=e.rate===-1,a=n?void 0:{backgroundColor:Yw(e.rate)},o=i===t;return(0,H.jsxs)(`div`,{className:`${r.statusBlockWrapper} ${o?r.statusBlockActive:``}`,onPointerEnter:e=>l(e,t),onPointerLeave:u,onPointerDown:e=>d(e,t),children:[(0,H.jsx)(`div`,{className:`${r.statusBlock} ${n?r.statusBlockIdle:``}`,style:a}),o&&p(e,t)]},t)})}),(0,H.jsx)(`span`,{className:`${r.statusRate} ${c}`,children:s?Zw(e.successRate):`--`})]})}var $w={providerTable:`ProviderResourceTable-module__providerTable___gPviT`,actionsCell:`ProviderResourceTable-module__actionsCell___zCEoe`,primaryCell:`ProviderResourceTable-module__primaryCell___fLp9r`,primaryName:`ProviderResourceTable-module__primaryName___dfYeV`,primarySub:`ProviderResourceTable-module__primarySub___QABoS`,baseUrl:`ProviderResourceTable-module__baseUrl___FNjG7`,chip:`ProviderResourceTable-module__chip___U7kQV`,metricsCell:`ProviderResourceTable-module__metricsCell___1OlzF`,metric:`ProviderResourceTable-module__metric___aEHez`,metricLabel:`ProviderResourceTable-module__metricLabel___t8rAu`,metricValue:`ProviderResourceTable-module__metricValue___VTEWB`,flagTag:`ProviderResourceTable-module__flagTag___2i4Y4`,statusBadge:`ProviderResourceTable-module__statusBadge___dk8Hi`,statusCell:`ProviderResourceTable-module__statusCell___8599N`,stats:`ProviderResourceTable-module__stats___73Ql1`,statPill:`ProviderResourceTable-module__statPill___-ANv0`,statSuccess:`ProviderResourceTable-module__statSuccess___LrHac`,statFailure:`ProviderResourceTable-module__statFailure___yGMe3`,statusActive:`ProviderResourceTable-module__statusActive___Zw5FB`,statusDisabled:`ProviderResourceTable-module__statusDisabled___BKP-G`,statusBarWrap:`ProviderResourceTable-module__statusBarWrap___n9vAB`,actionsHead:`ProviderResourceTable-module__actionsHead___FGGf4`,actionsCellSelected:`ProviderResourceTable-module__actionsCellSelected___nrnrY`,actions:`ProviderResourceTable-module__actions___4j-hn`,toggleWrap:`ProviderResourceTable-module__toggleWrap___1u1Vz`,iconBtn:`ProviderResourceTable-module__iconBtn___RYOTP`,iconBtnDanger:`ProviderResourceTable-module__iconBtnDanger___OCat1`},eT={statusBar:`providerStatusBar-module__statusBar___CO-2Q`,statusBlocks:`providerStatusBar-module__statusBlocks___GUtae`,statusBlockWrapper:`providerStatusBar-module__statusBlockWrapper___7PmJZ`,statusBlock:`providerStatusBar-module__statusBlock___Bo-Dp`,statusBlockActive:`providerStatusBar-module__statusBlockActive___FgyJm`,statusBlockIdle:`providerStatusBar-module__statusBlockIdle___SNDuL`,statusTooltip:`providerStatusBar-module__statusTooltip___pI78F`,statusTooltipLeft:`providerStatusBar-module__statusTooltipLeft___ZskB1`,statusTooltipRight:`providerStatusBar-module__statusTooltipRight___Ajuc0`,tooltipTime:`providerStatusBar-module__tooltipTime___u6zEq`,tooltipStats:`providerStatusBar-module__tooltipStats___uvspI`,tooltipSuccess:`providerStatusBar-module__tooltipSuccess___km1zF`,tooltipFailure:`providerStatusBar-module__tooltipFailure___rNWH9`,tooltipRate:`providerStatusBar-module__tooltipRate___YZaf1`,statusRate:`providerStatusBar-module__statusRate___gq06G`,statusRateHigh:`providerStatusBar-module__statusRateHigh___Q976x`,statusRateMedium:`providerStatusBar-module__statusRateMedium___ExaLs`,statusRateLow:`providerStatusBar-module__statusRateLow___iNJnD`},tT=[`180px`,`220px`,`72px`,`138px`,`174px`,`176px`],nT=e=>jw(e.brand),rT=(e,t)=>e.brand===`openaiCompatibility`?Lx(e.raw,t):jx(t,Ex(e.brand),e.apiKey??void 0,e.baseUrl??void 0),iT=(e,t)=>e.brand===`openaiCompatibility`?Ix(e.raw,t):Mx(t,Ex(e.brand),e.apiKey??void 0,e.baseUrl??void 0);function aT({resources:e,selectedId:t,disableMutations:n,usageByProvider:r,onView:i,onEdit:a,onDelete:o,onToggleDisabled:s}){let{t:c}=ss(),l=(e,t,n)=>(0,H.jsxs)(`span`,{className:$w.metric,children:[(0,H.jsx)(`span`,{className:$w.metricLabel,children:t}),(0,H.jsx)(`span`,{className:$w.metricValue,children:n})]},e),u=(e,t)=>(0,H.jsx)(`span`,{className:$w.flagTag,children:t},e),d=e=>(e.flags.protocols??[]).map(e=>c(`providersPage.sponsor.protocols.${e}`)).join(` / `),f=e=>{let t=[];return nT(e)?((e.flags.protocols??[]).forEach(e=>{t.push(u(e,c(`providersPage.sponsor.protocols.${e}`)))}),(0,H.jsx)(`div`,{className:$w.metricsCell,children:t})):(e.brand===`openaiCompatibility`?t.push(l(`models`,c(`providersPage.table.metrics.models`),e.modelCount),l(`keys`,c(`providersPage.table.metrics.keys`),e.apiKeyEntryCount),l(`headers`,c(`providersPage.table.metrics.headers`),e.headerCount)):(t.push(l(`models`,c(`providersPage.table.metrics.models`),e.modelCount),l(`headers`,c(`providersPage.table.metrics.headers`),e.headerCount)),(e.brand===`codex`||e.brand===`xai`)&&e.flags.websockets&&t.push(u(`ws`,c(`providersPage.table.websocketsTag`))),e.brand===`claude`&&e.flags.cloakEnabled&&t.push(u(`cloak`,c(`providersPage.table.cloakTag`)))),(0,H.jsx)(`div`,{className:$w.metricsCell,children:t}))},p=e=>e.disabled?(0,H.jsxs)(`span`,{className:`${$w.statusBadge} ${$w.statusDisabled}`,children:[(0,H.jsx)(js,{size:14}),c(`providersPage.status.disabled`)]}):(0,H.jsxs)(`span`,{className:`${$w.statusBadge} ${$w.statusActive}`,children:[(0,H.jsx)(Ms,{size:14}),c(`providersPage.status.active`)]}),m=e=>{if(nT(e))return(0,H.jsxs)(`div`,{className:$w.primaryCell,children:[(0,H.jsx)(`span`,{className:$w.primaryName,children:e.name??e.identifier}),(0,H.jsx)(`span`,{className:$w.primarySub,children:e.apiKeyPreview??c(`providersPage.status.notConfigured`)})]});if(e.brand===`openaiCompatibility`){let t=e.apiKeyEntryCount>1?` · +${e.apiKeyEntryCount-1}`:``;return(0,H.jsxs)(`div`,{className:$w.primaryCell,children:[(0,H.jsx)(`span`,{className:$w.primaryName,children:e.name??e.identifier}),(0,H.jsx)(`span`,{className:$w.primarySub,children:(e.apiKeyPreview??`—`)+t})]})}return(0,H.jsxs)(`div`,{className:$w.primaryCell,children:[(0,H.jsx)(`span`,{className:$w.primaryName,children:e.apiKeyPreview??`—`}),e.authIndex?(0,H.jsxs)(`span`,{className:$w.primarySub,children:[`auth: `,e.authIndex]}):null]})},h=e=>nT(e)?(0,H.jsx)(`span`,{className:$w.baseUrl,children:d(e)}):e.brand===`claude`&&!e.baseUrl?(0,H.jsxs)(`span`,{className:$w.baseUrl,children:[`https://api.anthropic.com `,c(`providersPage.status.defaultSuffix`)]}):(0,H.jsx)(`span`,{className:$w.baseUrl,children:e.baseUrl??c(`providersPage.status.notSet`)});return(0,H.jsxs)(zw,{className:$w.providerTable,cols:tT.map((e,t)=>(0,H.jsx)(`col`,{style:{width:e}},t)),children:[(0,H.jsx)(Bw,{children:(0,H.jsxs)(Hw,{children:[(0,H.jsx)(Uw,{children:c(`providersPage.table.key`)}),(0,H.jsx)(Uw,{children:c(`providersPage.table.baseUrl`)}),(0,H.jsx)(Uw,{children:c(`providersPage.table.prefix`)}),(0,H.jsx)(Uw,{children:c(`providersPage.table.models`)}),(0,H.jsx)(Uw,{children:c(`providersPage.table.status`)}),(0,H.jsx)(Uw,{alignRight:!0,className:$w.actionsHead,children:c(`providersPage.table.actions`)})]})}),(0,H.jsx)(Vw,{children:e.map(e=>(0,H.jsxs)(Hw,{selected:e.id===t,children:[(0,H.jsx)(Ww,{children:m(e)}),(0,H.jsx)(Ww,{children:h(e)}),(0,H.jsx)(Ww,{children:e.prefix?(0,H.jsx)(`span`,{className:$w.chip,children:e.prefix}):(0,H.jsx)(`span`,{className:$w.baseUrl,children:c(`providersPage.status.none`)})}),(0,H.jsx)(Ww,{children:f(e)}),(0,H.jsx)(Ww,{children:(0,H.jsxs)(`div`,{className:$w.statusCell,children:[p(e),r&&!nT(e)?(0,H.jsxs)(H.Fragment,{children:[(()=>{let t=iT(e,r);return(0,H.jsxs)(`div`,{className:$w.stats,children:[(0,H.jsxs)(`span`,{className:`${$w.statPill} ${$w.statSuccess}`,children:[c(`stats.success`),`: `,t.success]}),(0,H.jsxs)(`span`,{className:`${$w.statPill} ${$w.statFailure}`,children:[c(`stats.failure`),`: `,t.failure]})]})})(),(0,H.jsx)(`div`,{className:$w.statusBarWrap,children:(0,H.jsx)(Qw,{statusData:rT(e,r),styles:eT})})]}):null]})}),(0,H.jsx)(Ww,{alignRight:!0,className:[$w.actionsCell,e.id===t?$w.actionsCellSelected:``].filter(Boolean).join(` `),children:(0,H.jsxs)(`div`,{className:$w.actions,children:[s?(0,H.jsx)(`span`,{className:$w.toggleWrap,onClick:e=>e.stopPropagation(),children:(0,H.jsx)(Kw,{checked:!e.disabled,disabled:n,onChange:t=>s(e,!t),ariaLabel:e.disabled?c(`providersPage.actions.enable`):c(`providersPage.actions.disable`)})}):null,(0,H.jsx)(`button`,{type:`button`,className:$w.iconBtn,"aria-label":c(`providersPage.actions.view`),title:c(`providersPage.actions.view`),onClick:t=>{t.stopPropagation(),i(e)},children:(0,H.jsx)(Vs,{size:16})}),(0,H.jsx)(`button`,{type:`button`,className:$w.iconBtn,"aria-label":c(`providersPage.actions.edit`),title:c(`providersPage.actions.edit`),disabled:n,onClick:t=>{t.stopPropagation(),a(e)},children:(0,H.jsx)(As,{size:16})}),(0,H.jsx)(`button`,{type:`button`,className:`${$w.iconBtn} ${$w.iconBtnDanger}`,"aria-label":c(`providersPage.actions.delete`),title:c(`providersPage.actions.delete`),disabled:n,onClick:t=>{t.stopPropagation(),o(e)},children:(0,H.jsx)(Es,{size:16})})]})})]},e.id))})]})}var oT={root:`ProviderResourceToolbar-module__root___3OtVO`,sortGroup:`ProviderResourceToolbar-module__sortGroup___Owd8u`,label:`ProviderResourceToolbar-module__label___Xpn6H`,dirBtn:`ProviderResourceToolbar-module__dirBtn___Si6-Q`,filterGroup:`ProviderResourceToolbar-module__filterGroup___GCSLL`,filterTrigger:`ProviderResourceToolbar-module__filterTrigger___7nyg5`,filterPanel:`ProviderResourceToolbar-module__filterPanel___By-o1`,filterToolbar:`ProviderResourceToolbar-module__filterToolbar___rAN5t`,filterToolbarBtn:`ProviderResourceToolbar-module__filterToolbarBtn___H8kEF`,filterEmpty:`ProviderResourceToolbar-module__filterEmpty___YoLaV`,filterList:`ProviderResourceToolbar-module__filterList___bLUS8`,filterItem:`ProviderResourceToolbar-module__filterItem___ayJYT`,filterItemLabel:`ProviderResourceToolbar-module__filterItemLabel___WgP0a`};function sT({sortBy:e,sortDir:t,onSortBy:n,onSortDir:r,availableModels:i,selectedModels:a,onSelectedModelsChange:o}){let{t:s}=ss(),[c,l]=(0,y.useState)(!1),u=(0,y.useRef)(null),d=(0,y.useMemo)(()=>[{value:`name`,label:s(`providersPage.toolbar.sort.name`)},{value:`priority`,label:s(`providersPage.toolbar.sort.priority`)},{value:`recent-success`,label:s(`providersPage.toolbar.sort.recentSuccess`)}],[s]);(0,y.useEffect)(()=>{if(!c)return;let e=e=>{u.current&&!u.current.contains(e.target)&&l(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[c]);let f=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),o(t)},p=()=>o(new Set(i)),m=()=>o(new Set),h=a.size===0?s(`providersPage.toolbar.filter.allModels`):s(`providersPage.toolbar.filter.selectedModels`,{selected:a.size,total:i.length});return(0,H.jsxs)(`div`,{className:oT.root,children:[(0,H.jsxs)(`div`,{className:oT.sortGroup,children:[(0,H.jsx)(`span`,{className:oT.label,children:s(`providersPage.toolbar.sortBy`)}),(0,H.jsx)(hc,{value:e,options:d,onChange:e=>n(e),ariaLabel:s(`providersPage.toolbar.sortBy`),size:`sm`}),(0,H.jsx)(`button`,{type:`button`,className:oT.dirBtn,onClick:()=>r(t===`asc`?`desc`:`asc`),"aria-label":s(t===`asc`?`providersPage.toolbar.sort.directionAsc`:`providersPage.toolbar.sort.directionDesc`),title:s(t===`asc`?`providersPage.toolbar.sort.directionAsc`:`providersPage.toolbar.sort.directionDesc`),children:t===`asc`?(0,H.jsx)(Fs,{size:14}):(0,H.jsx)(Is,{size:14})})]}),(0,H.jsxs)(`div`,{className:oT.filterGroup,ref:u,children:[(0,H.jsxs)(`button`,{type:`button`,className:oT.filterTrigger,onClick:()=>l(e=>!e),disabled:i.length===0,children:[(0,H.jsx)(fs,{size:14}),(0,H.jsx)(`span`,{children:h}),(0,H.jsx)(Is,{size:12})]}),c?(0,H.jsxs)(`div`,{className:oT.filterPanel,children:[(0,H.jsxs)(`div`,{className:oT.filterToolbar,children:[(0,H.jsx)(`button`,{type:`button`,className:oT.filterToolbarBtn,onClick:p,disabled:i.length===0,children:s(`providersPage.toolbar.filter.selectAll`)}),(0,H.jsx)(`button`,{type:`button`,className:oT.filterToolbarBtn,onClick:m,disabled:a.size===0,children:s(`providersPage.toolbar.filter.clear`)})]}),i.length===0?(0,H.jsx)(`div`,{className:oT.filterEmpty,children:s(`providersPage.toolbar.filter.empty`)}):(0,H.jsx)(`ul`,{className:oT.filterList,children:i.map(e=>(0,H.jsx)(`li`,{className:oT.filterItem,children:(0,H.jsx)(_c,{checked:a.has(e),onChange:()=>f(e),label:(0,H.jsx)(`span`,{className:oT.filterItemLabel,children:e})})},e))})]}):null]})]})}var cT={panel:`ProviderResourcePanel-module__panel___CMeiX`,header:`ProviderResourcePanel-module__header___Ud2jP`,headerMain:`ProviderResourcePanel-module__headerMain___aGFKi`,headerToolbarRow:`ProviderResourcePanel-module__headerToolbarRow___lBCoP`,titleArea:`ProviderResourcePanel-module__titleArea___SIpoX`,titleRow:`ProviderResourcePanel-module__titleRow___T1AfI`,titleLink:`ProviderResourcePanel-module__titleLink___Utbwk`,title:`ProviderResourcePanel-module__title___Zw2Hc`,titleExternalIcon:`ProviderResourcePanel-module__titleExternalIcon___JyfC0`,logo:`ProviderResourcePanel-module__logo___7eyxv`,logoThemeSurface:`ProviderResourcePanel-module__logoThemeSurface___LgWln`,logoThemeDark:`ProviderResourcePanel-module__logoThemeDark___CvmjO`,logoThemeLight:`ProviderResourcePanel-module__logoThemeLight___4rDnc`,logoInvertOnDark:`ProviderResourcePanel-module__logoInvertOnDark___yeOZu`,sponsorLink:`ProviderResourcePanel-module__sponsorLink___0zkZG`,sponsorLinkEmphasis:`ProviderResourcePanel-module__sponsorLinkEmphasis___UYDlu`,sponsorLinkText:`ProviderResourcePanel-module__sponsorLinkText___n464i`,sponsorLinkIcon:`ProviderResourcePanel-module__sponsorLinkIcon___QHGUt`,searchWrap:`ProviderResourcePanel-module__searchWrap___95CD5`,searchInput:`ProviderResourcePanel-module__searchInput___TA7QZ`,searchIcon:`ProviderResourcePanel-module__searchIcon___u6sCR`,empty:`ProviderResourcePanel-module__empty___1gkyi`,emptyAction:`ProviderResourcePanel-module__emptyAction___EzR3x`,emptyActionButton:`ProviderResourcePanel-module__emptyActionButton___lCUjo`,emptyActionButtonEmphasis:`ProviderResourcePanel-module__emptyActionButtonEmphasis___kUgz8`};function lT({group:e,filter:t,onFilterChange:n,filteredResources:r,selectedId:i,disableMutations:a,usageByProvider:o,toolbarControls:s,onView:c,onEdit:l,onDelete:u,onToggleDisabled:d,onCreate:f}){let{t:p,i18n:m}=ss(),h=nS[e.id],g=p(`providersPage.providerNames.${e.id}`),_=e.resources.length>0,v=e.id===`apikeyFun`&&!_,y=e.id===`apikeyFun`&&_,b=e.id===`claudeApi`,x=e.id===`claudeApi`?uS:e.id===`kimi`?TS(m.resolvedLanguage??m.language):e.id===`code0`||e.id===`lmuAI`||e.id===`fennoAI`||e.id===`qiniuCloud`?Nw(e.id).affiliateUrl:null,S=p(e.id===`kimi`?`providersPage.sponsor.registerNow`:`providersPage.sponsor.registerLink`),C=p(v?`providersPage.sponsor.emptyRegisterHint`:`providersPage.table.empty`),w=[cT.logo,h?.themeSurface?cT.logoThemeSurface:``,h?.darkSrc?cT.logoThemeLight:``,h?.invertOnDark?cT.logoInvertOnDark:``].filter(Boolean).join(` `),T=[cT.logo,h?.themeSurface?cT.logoThemeSurface:``,cT.logoThemeDark].filter(Boolean).join(` `),E=(0,H.jsxs)(H.Fragment,{children:[h?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`img`,{src:h.src,alt:``,"aria-hidden":`true`,className:w}),h.darkSrc?(0,H.jsx)(`img`,{src:h.darkSrc,alt:``,"aria-hidden":`true`,className:T}):null]}):null,(0,H.jsx)(`h2`,{className:cT.title,children:g}),y?(0,H.jsx)(Js,{className:cT.titleExternalIcon,size:16}):null]});return(0,H.jsxs)(`section`,{className:cT.panel,children:[(0,H.jsxs)(`div`,{className:cT.header,children:[(0,H.jsxs)(`div`,{className:cT.headerMain,children:[(0,H.jsxs)(`div`,{className:cT.titleArea,children:[y?(0,H.jsx)(`a`,{className:`${cT.titleRow} ${cT.titleLink}`,href:IS,target:`_blank`,rel:`noreferrer`,title:p(`providersPage.sponsor.dashboardLink`),children:E}):(0,H.jsx)(`div`,{className:cT.titleRow,children:E}),y?(0,H.jsxs)(`a`,{className:cT.sponsorLink,href:IS,target:`_blank`,rel:`noreferrer`,children:[(0,H.jsx)(`span`,{className:cT.sponsorLinkText,children:p(`providersPage.sponsor.dashboardLink`)}),(0,H.jsx)(Js,{className:cT.sponsorLinkIcon,size:14})]}):b||x?(0,H.jsxs)(`a`,{className:`${cT.sponsorLink} ${cT.sponsorLinkEmphasis}`,href:x??`https://console.claudeapi.com/agent/register/pJq9T52Fpugrhpgo`,target:`_blank`,rel:`noreferrer`,children:[(0,H.jsx)(`span`,{className:cT.sponsorLinkText,children:S}),(0,H.jsx)(Js,{className:cT.sponsorLinkIcon,size:14})]}):null]}),(0,H.jsxs)(`div`,{className:cT.searchWrap,children:[(0,H.jsx)(`span`,{className:cT.searchIcon,"aria-hidden":`true`,children:(0,H.jsx)(Rs,{size:16})}),(0,H.jsx)(`input`,{type:`search`,className:cT.searchInput,value:t,onChange:e=>n(e.target.value),placeholder:p(`providersPage.table.filterPlaceholder`)})]})]}),s?(0,H.jsx)(`div`,{className:cT.headerToolbarRow,children:(0,H.jsx)(sT,{sortBy:s.sortBy,sortDir:s.sortDir,onSortBy:s.onSortBy,onSortDir:s.onSortDir,availableModels:s.availableModels,selectedModels:s.selectedModels,onSelectedModelsChange:s.onSelectedModelsChange},e.id)}):null]}),r.length===0?(0,H.jsxs)(`div`,{className:cT.empty,children:[(0,H.jsx)(`div`,{children:C}),(0,H.jsx)(`div`,{className:cT.emptyAction,children:v?(0,H.jsxs)(`a`,{className:`${cT.emptyActionButton} ${cT.emptyActionButtonEmphasis}`,href:FS,target:`_blank`,rel:`noreferrer`,children:[(0,H.jsx)(Js,{size:16}),(0,H.jsx)(`span`,{children:p(`providersPage.sponsor.registerLink`)})]}):(0,H.jsxs)(`button`,{type:`button`,className:cT.emptyActionButton,onClick:f,children:[(0,H.jsx)(ks,{size:16}),(0,H.jsx)(`span`,{children:p(`providersPage.actions.new`)})]})})]}):(0,H.jsx)(aT,{resources:r,selectedId:i,disableMutations:a,usageByProvider:o,onView:c,onEdit:l,onDelete:u,onToggleDisabled:d})]})}function uT(e){let{enabled:t=!0,shouldBlock:n,dialog:r}=e,{showConfirmation:i}=Kc(),a=(0,y.useRef)(``),o=(0,y.useRef)(0),s=(0,y.useRef)(``),c=ur(),l=(0,y.useCallback)(()=>{o.current=Date.now()+2e3,s.current=``},[]),u=(0,y.useCallback)(e=>{o.current=Date.now()+2e3,s.current=e},[]),d=Rr((0,y.useCallback)(e=>{if(!t)return!1;let r=Date.now();if(o.current>r){let t=`${e.nextLocation.pathname}${e.nextLocation.search}${e.nextLocation.hash}`;if(s.current||(s.current=t),s.current===t)return!1}else o.current!==0&&(o.current=0,s.current=``);return typeof n==`function`?n(e):n},[t,n]));(0,y.useEffect)(()=>{o.current!==0&&(o.current=0,s.current=``)},[c.key]);let f=(0,y.useMemo)(()=>d.state!==`blocked`||!d.location?``:`${d.location.pathname}${d.location.search}${d.location.hash}`,[d.location,d.state]);return(0,y.useEffect)(()=>{if(d.state!==`blocked`){a.current=``;return}!f||a.current===f||(a.current=f,i({title:r.title,message:r.message,confirmText:r.confirmText,cancelText:r.cancelText,variant:r.variant??`danger`,onConfirm:()=>d.proceed(),onCancel:()=>d.reset()}))},[f,d,r,i]),{allowNextNavigation:l,allowNavigationTo:u}}var dT=class extends Error{constructor(e){super(e instanceof Error?e.message:String(e??`Sponsor mutation failed`)),ap(this,`cause`,void 0),this.name=`SponsorPartialMutationError`,this.cause=e}},fT=e=>e instanceof dT;async function pT(e,t){try{return await e()}catch(e){try{await t()}catch{}throw new dT(e)}}var mT=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`,`auto`],hT=new Set(mT),gT=[`minimal`,`low`,`medium`,`high`,`xhigh`,`max`,`none`,`auto`],_T=e=>typeof e==`object`&&!!e&&!Array.isArray(e),vT=e=>{if(!_T(e))return[];let t=new Set;return Array.isArray(e.levels)&&e.levels.forEach(e=>{if(typeof e!=`string`)return;let n=e.trim().toLowerCase();hT.has(n)&&t.add(n)}),e.zero_allowed===!0&&t.add(`none`),e.dynamic_allowed===!0&&t.add(`auto`),mT.filter(e=>t.has(e))},yT=e=>{if(!e?.length)return;let t=new Set(e);return{levels:gT.filter(e=>t.has(e))}},q={form:`sharedForm-module__form___PT91R`,quickStartForm:`sharedForm-module__quickStartForm___eBaxv`,section:`sharedForm-module__section___i8OOd`,sectionTitle:`sharedForm-module__sectionTitle___82MzD`,sectionDesc:`sharedForm-module__sectionDesc___pBlrt`,field:`sharedForm-module__field___67Fow`,label:`sharedForm-module__label___sL6bS`,labelHint:`sharedForm-module__labelHint___M7UU6`,input:`sharedForm-module__input___5xUXx`,passwordInput:`sharedForm-module__passwordInput___rSuUg`,textarea:`sharedForm-module__textarea___CdY6q`,discoverySearch:`sharedForm-module__discoverySearch___18P-i`,entryCard:`sharedForm-module__entryCard___4UpBh`,entryCardHeader:`sharedForm-module__entryCardHeader___9w6Nq`,sponsorGroupTitle:`sharedForm-module__sponsorGroupTitle___28tgM`,sponsorUrlOptionText:`sharedForm-module__sponsorUrlOptionText___k-K0x`,checkboxText:`sharedForm-module__checkboxText___LnhPu`,sponsorProtocolUrl:`sharedForm-module__sponsorProtocolUrl___KWimM`,sponsorUsageResult:`sharedForm-module__sponsorUsageResult___-gE-n`,connectivityError:`sharedForm-module__connectivityError___MLzpW`,discoveryEmpty:`sharedForm-module__discoveryEmpty___yCmmN`,discoveryItem:`sharedForm-module__discoveryItem___K7Etw`,discoveryBatchLabel:`sharedForm-module__discoveryBatchLabel___pHhDl`,discoveryName:`sharedForm-module__discoveryName___PQCDn`,sponsorProtocolName:`sharedForm-module__sponsorProtocolName___IdnAd`,sponsorUsageMain:`sharedForm-module__sponsorUsageMain___6O5cH`,sponsorUsageMeta:`sharedForm-module__sponsorUsageMeta___hf3Jw`,discoveryAlias:`sharedForm-module__discoveryAlias___XGl7Y`,discoveryCount:`sharedForm-module__discoveryCount___nHCkA`,discoveryAddedTag:`sharedForm-module__discoveryAddedTag___HJanN`,connectivityBtn:`sharedForm-module__connectivityBtn___xuFLs`,discoveryApplyBtn:`sharedForm-module__discoveryApplyBtn___Iu3oS`,addBtn:`sharedForm-module__addBtn___O-Vjb`,removeBtn:`sharedForm-module__removeBtn___iEUNe`,footerBtn:`sharedForm-module__footerBtn___DyIZY`,checkboxRow:`sharedForm-module__checkboxRow___-oiND`,checkboxBox:`sharedForm-module__checkboxBox___eIVJQ`,fieldRow:`sharedForm-module__fieldRow___FmfR-`,divider:`sharedForm-module__divider___hp8lX`,errorBox:`sharedForm-module__errorBox___tj-8g`,dl:`sharedForm-module__dl___fU3jy`,dt:`sharedForm-module__dt___WtuBR`,dd:`sharedForm-module__dd___xdoZu`,detailHeader:`sharedForm-module__detailHeader___Gwp7N`,entryCardToggle:`sharedForm-module__entryCardToggle___UcMtL`,sponsorGroupSummary:`sharedForm-module__sponsorGroupSummary___Y7N47`,sponsorSummaryKey:`sharedForm-module__sponsorSummaryKey___EBaXE`,sponsorSummaryUrl:`sharedForm-module__sponsorSummaryUrl___piG39`,entryCardHeaderRight:`sharedForm-module__entryCardHeaderRight___XQk-H`,entryCardBody:`sharedForm-module__entryCardBody___jWMCE`,entryCardIconBtn:`sharedForm-module__entryCardIconBtn___JXSmn`,entryCardChevron:`sharedForm-module__entryCardChevron___-MhgW`,entryCardChevronOpen:`sharedForm-module__entryCardChevronOpen___3ETxF`,entriesToolbar:`sharedForm-module__entriesToolbar___ZMhPO`,entriesToolbarSplit:`sharedForm-module__entriesToolbarSplit___ZVvqH`,sponsorUrlOptions:`sharedForm-module__sponsorUrlOptions___lxMgi`,sponsorUrlOption:`sharedForm-module__sponsorUrlOption___rAD4B`,sponsorUrlOptionActive:`sharedForm-module__sponsorUrlOptionActive___4CZJz`,sponsorUrlOptionDescription:`sharedForm-module__sponsorUrlOptionDescription___-P-PR`,sponsorProtocolGrid:`sharedForm-module__sponsorProtocolGrid___CK-SJ`,sponsorProtocolCard:`sharedForm-module__sponsorProtocolCard___glgc4`,sponsorUsageSection:`sharedForm-module__sponsorUsageSection___tKfkP`,sponsorUsageResultWarning:`sharedForm-module__sponsorUsageResultWarning___IQs1P`,connectivityRow:`sharedForm-module__connectivityRow___yytvW`,connectivityBtnGhost:`sharedForm-module__connectivityBtnGhost___Ks4Ys`,connectivityHintSuccess:`sharedForm-module__connectivityHintSuccess___bCB6B`,statusIcon:`sharedForm-module__statusIcon___Qo3og`,statusIconLoading:`sharedForm-module__statusIconLoading___Jr4Oi`,spin:`sharedForm-module__spin___ebAKO`,statusIconSuccess:`sharedForm-module__statusIconSuccess___XeAnb`,statusIconError:`sharedForm-module__statusIconError___1-Uh3`,discoveryPanel:`sharedForm-module__discoveryPanel___AhjnU`,discoveryToolbar:`sharedForm-module__discoveryToolbar___pxuM6`,discoverySearchWrap:`sharedForm-module__discoverySearchWrap___6FqGI`,discoverySearchIcon:`sharedForm-module__discoverySearchIcon___ygwRw`,discoveryBatchRow:`sharedForm-module__discoveryBatchRow___RSSTs`,discoveryList:`sharedForm-module__discoveryList___UmHOn`,discoveryItemExisting:`sharedForm-module__discoveryItemExisting___OZBJe`,discoveryNameGroup:`sharedForm-module__discoveryNameGroup___clmbn`,discoveryFooter:`sharedForm-module__discoveryFooter___Is7iL`,passwordField:`sharedForm-module__passwordField___XUXUd`,passwordToggle:`sharedForm-module__passwordToggle___uGvUz`,entriesList:`sharedForm-module__entriesList___-jY7O`,modelAliasRow:`sharedForm-module__modelAliasRow___pthzi`,modelEntry:`sharedForm-module__modelEntry___e3PHD`,modelEntryActions:`sharedForm-module__modelEntryActions___Mv-1o`,modelEntryDetails:`sharedForm-module__modelEntryDetails___d5g0-`,thinkingFieldset:`sharedForm-module__thinkingFieldset___amnlc`,thinkingExistingHint:`sharedForm-module__thinkingExistingHint___HWgL-`,thinkingLevelGrid:`sharedForm-module__thinkingLevelGrid___iWzn1`,thinkingLevelOption:`sharedForm-module__thinkingLevelOption___mklmI`,thinkingLevelLabel:`sharedForm-module__thinkingLevelLabel___8OZO5`,thinkingLevelOptionSelected:`sharedForm-module__thinkingLevelOptionSelected___XzjLp`,entrySummary:`sharedForm-module__entrySummary___FshGG`,entrySummaryKey:`sharedForm-module__entrySummaryKey___LxYFt`,entryBadge:`sharedForm-module__entryBadge___KwpqS`,showMoreBtn:`sharedForm-module__showMoreBtn___cipR-`,footerBtnGhost:`sharedForm-module__footerBtnGhost___6XhK0`,footerBtnOutline:`sharedForm-module__footerBtnOutline___mplFu`,footerBtnPrimary:`sharedForm-module__footerBtnPrimary___RbN5Y`,apiKeyEntriesSection:`sharedForm-module__apiKeyEntriesSection___BiWv-`,apiKeyEntriesLabel:`sharedForm-module__apiKeyEntriesLabel___k7lKa`,apiKeyEntryList:`sharedForm-module__apiKeyEntryList___sun97`,apiKeyEntryCard:`sharedForm-module__apiKeyEntryCard___uW3Az`,apiKeyEntryIndex:`sharedForm-module__apiKeyEntryIndex___0Vn5O`,apiKeyEntryKey:`sharedForm-module__apiKeyEntryKey___nFskf`,apiKeyEntryProxy:`sharedForm-module__apiKeyEntryProxy___o-PFf`,apiKeyEntryStats:`sharedForm-module__apiKeyEntryStats___DWlE3`,apiKeyEntryStat:`sharedForm-module__apiKeyEntryStat___pC-og`,apiKeyEntryStatSuccess:`sharedForm-module__apiKeyEntryStatSuccess___PbODP`,apiKeyEntryStatFailure:`sharedForm-module__apiKeyEntryStatFailure___0l7My`};function bT({loading:e,error:t,models:n,hasFetched:r,existingNames:i,mutating:a,onApply:o,onReload:s,onClose:c}){let{t:l}=ss(),[u,d]=(0,y.useState)(``),[f,p]=(0,y.useState)(new Set),m=(0,y.useMemo)(()=>{let e=u.trim().toLowerCase();return e?n.filter(t=>`${t.name} ${t.alias??``}`.toLowerCase().includes(e)):n},[n,u]),h=(0,y.useMemo)(()=>m.filter(e=>!i.has(e.name)),[m,i]),g=h.length>0&&h.every(e=>f.has(e.name)),_=e=>{p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},v=()=>{p(g?new Set:new Set(h.map(e=>e.name)))},b=()=>{let e=n.filter(e=>f.has(e.name)&&!i.has(e.name));e.length&&(o(e),p(new Set))},x=e=>(0,H.jsxs)(`span`,{className:q.discoveryNameGroup,children:[(0,H.jsx)(`span`,{className:q.discoveryName,children:e.name}),e.alias?(0,H.jsx)(`span`,{className:q.discoveryAlias,children:e.alias}):null]});return(0,H.jsxs)(`div`,{className:q.discoveryPanel,children:[(0,H.jsxs)(`div`,{className:q.discoveryToolbar,children:[(0,H.jsxs)(`div`,{className:q.discoverySearchWrap,children:[(0,H.jsx)(`span`,{className:q.discoverySearchIcon,"aria-hidden":`true`,children:(0,H.jsx)(Rs,{size:14})}),(0,H.jsx)(`input`,{type:`search`,className:q.discoverySearch,value:u,onChange:e=>d(e.target.value),placeholder:l(`providersPage.discovery.searchPlaceholder`)})]}),(0,H.jsxs)(`button`,{type:`button`,className:q.connectivityBtn,onClick:s,disabled:e,"aria-label":l(`providersPage.discovery.reload`),children:[e?(0,H.jsx)(`span`,{className:`${q.statusIcon} ${q.statusIconLoading}`,children:(0,H.jsx)(Ps,{size:14})}):(0,H.jsx)(Cs,{size:14}),(0,H.jsx)(`span`,{children:l(`providersPage.discovery.reload`)})]})]}),e&&!n.length?(0,H.jsx)(`div`,{className:q.discoveryEmpty,children:l(`providersPage.discovery.loading`)}):t?(0,H.jsx)(`div`,{className:q.connectivityError,children:t}):r&&!n.length?(0,H.jsx)(`div`,{className:q.discoveryEmpty,children:l(`providersPage.discovery.empty`)}):n.length?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:q.discoveryBatchRow,children:[(0,H.jsx)(_c,{checked:g,onChange:v,disabled:h.length===0,label:(0,H.jsx)(`span`,{className:q.discoveryBatchLabel,children:l(g?`providersPage.discovery.clearAll`:`providersPage.discovery.selectAll`)})}),(0,H.jsx)(`span`,{className:q.discoveryCount,children:l(`providersPage.discovery.selectedCount`,{selected:f.size,total:h.length})})]}),(0,H.jsx)(`ul`,{className:q.discoveryList,children:m.map(e=>{let t=i.has(e.name);return(0,H.jsx)(`li`,{className:t?`${q.discoveryItem} ${q.discoveryItemExisting}`:q.discoveryItem,children:t?(0,H.jsxs)(H.Fragment,{children:[x(e),(0,H.jsx)(`span`,{className:q.discoveryAddedTag,children:l(`providersPage.discovery.alreadyAdded`)})]}):(0,H.jsx)(_c,{checked:f.has(e.name),onChange:()=>_(e.name),label:x(e)})},e.name)})})]}):(0,H.jsx)(`div`,{className:q.discoveryEmpty,children:l(`providersPage.discovery.notLoaded`)}),(0,H.jsxs)(`div`,{className:q.discoveryFooter,children:[(0,H.jsx)(`button`,{type:`button`,className:q.connectivityBtnGhost,onClick:c,disabled:a,children:l(`providersPage.discovery.close`)}),(0,H.jsx)(`button`,{type:`button`,className:q.discoveryApplyBtn,onClick:b,disabled:a||f.size===0,children:l(`providersPage.discovery.apply`,{count:f.size})})]})]})}var xT=10;function ST({models:e,supportsImage:t,supportsThinking:n,mutating:r,removeDisabled:i,onUpdate:a,onAdd:o,onRemove:s}){let{t:c}=ss(),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)(!1),p=()=>{!d&&e.length>=xT&&f(!0),o()},m=e=>{u(t=>t===null||t===e?null:t>e?t-1:t),s(e)};return(0,H.jsxs)(H.Fragment,{children:[(d?e:e.slice(0,xT)).map((e,o)=>{let s=t||n,d=s&&l===o,f=e.thinkingLevels??[],p=e.thinkingLevelsTouched?f.length>0:(e.thinkingJson??``).trim().length>0,h=e=>{a(o,{thinkingLevels:f.includes(e)?f.filter(t=>t!==e):mT.filter(t=>t===e||f.includes(t)),thinkingLevelsTouched:!0})};return(0,H.jsxs)(`div`,{className:q.modelEntry,children:[(0,H.jsxs)(`div`,{className:q.modelAliasRow,children:[(0,H.jsx)(`input`,{className:q.input,placeholder:`model-name`,value:e.name,onChange:e=>a(o,{name:e.target.value}),disabled:r}),(0,H.jsx)(`input`,{className:q.input,placeholder:`alias (optional)`,value:e.alias??``,onChange:e=>a(o,{alias:e.target.value}),disabled:r}),(0,H.jsxs)(`div`,{className:q.modelEntryActions,children:[t&&!d&&e.image===!0?(0,H.jsx)(`span`,{className:q.entryBadge,children:c(`providersPage.form.modelBadgeImage`)}):null,n&&!d&&p?(0,H.jsx)(`span`,{className:q.entryBadge,children:c(`providersPage.form.modelBadgeThinking`)}):null,s?(0,H.jsx)(`button`,{type:`button`,className:q.entryCardIconBtn,onClick:()=>u(d?null:o),title:c(d?`common.collapse`:`common.expand`),"aria-label":c(d?`common.collapse`:`common.expand`),"aria-expanded":d,children:(0,H.jsx)(Is,{className:[q.entryCardChevron,d?q.entryCardChevronOpen:``].filter(Boolean).join(` `),size:14})}):null,(0,H.jsx)(`button`,{type:`button`,className:q.removeBtn,disabled:r||i,onClick:()=>m(o),children:(0,H.jsx)(zs,{size:12})})]})]}),d?(0,H.jsxs)(`div`,{className:q.modelEntryDetails,children:[t?(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:e.image===!0,disabled:r,onChange:e=>a(o,{image:e.target.checked})}),(0,H.jsxs)(`span`,{className:q.checkboxText,children:[(0,H.jsx)(`span`,{children:c(`providersPage.form.modelImage`)}),(0,H.jsx)(`small`,{children:c(`providersPage.form.modelImageHint`)})]})]}):null,n?(0,H.jsxs)(`fieldset`,{className:q.thinkingFieldset,children:[(0,H.jsx)(`legend`,{className:q.label,children:c(`providersPage.form.thinkingConfig`)}),(0,H.jsx)(`div`,{className:q.thinkingLevelGrid,children:mT.map(e=>(0,H.jsx)(_c,{checked:f.includes(e),disabled:r,onChange:()=>h(e),className:`${q.thinkingLevelOption} ${f.includes(e)?q.thinkingLevelOptionSelected:``}`,labelClassName:q.thinkingLevelLabel,label:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{children:c(`providersPage.form.thinkingLevels.${e}`)}),(0,H.jsx)(`code`,{children:e})]})},e))}),(e.thinkingJson??``).trim()&&!e.thinkingLevelsTouched?(0,H.jsx)(`p`,{className:q.thinkingExistingHint,children:c(`providersPage.form.thinkingExistingHint`)}):null]}):null]}):null]},o)}),e.length>xT?(0,H.jsx)(`button`,{type:`button`,className:q.showMoreBtn,onClick:()=>f(e=>!e),children:d?c(`providersPage.form.showFewerEntries`):c(`providersPage.form.showAllEntries`,{count:e.length})}):null,(0,H.jsxs)(`button`,{type:`button`,className:q.addBtn,disabled:r,onClick:p,children:[(0,H.jsx)(ks,{size:12}),(0,H.jsx)(`span`,{children:c(`providersPage.form.addModel`)})]})]})}var CT=[`gemini`,`interactions`,`codex`,`xai`,`claude`,`claudeApi`,`openaiCompatibility`],wT=e=>CT.includes(e);function TT(e){let{brand:t,baseUrl:n,formHeaders:r,apiKeyEntries:i,apiKey:a,fallbackApiKey:o,authIndex:s}=e,c=wT(t),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(null),[p,m]=(0,y.useState)([]),[h,g]=(0,y.useState)(!1),_=(0,y.useCallback)(async()=>{if(c){u(!0),f(null);try{let e=sp(r),c=(s??``).trim()||void 0,l=[];if(t===`gemini`||t===`interactions`){let t=(a??``).trim()||(o??``).trim();l=await Qp.fetchGeminiModelsViaApiCall(n,t,e,c)}else if(t===`codex`||t===`xai`){let t=(a??``).trim()||(o??``).trim();l=await Qp.fetchV1ModelsViaApiCall(n,t,e,c)}else if(t===`claude`||t===`claudeApi`){let t=(a??``).trim()||(o??``).trim();l=await Qp.fetchClaudeModelsViaApiCall(n,t,e,c)}else if(t===`openaiCompatibility`){let t=(i??[]).find(e=>(e.apiKey??``).trim()||(e.existingApiKey??``).trim()||(e.authIndex??``).trim()),r=(t?.apiKey??``).trim()||(t?.existingApiKey??``).trim(),a=(t?.authIndex??``).trim()||c;try{l=await Qp.fetchModelsViaApiCall(n,r,e,a)}catch(e){try{l=await Qp.fetchModelsViaApiCall(n)}catch{throw e}}}m(l??[]),g(!0)}catch(e){m([]),f(Ec(e)||`Failed to fetch models`),g(!0)}finally{u(!1)}}},[c,a,i,s,n,t,o,r]),v=(0,y.useCallback)(()=>{m([]),f(null),u(!1),g(!1)},[]),b=(0,y.useMemo)(()=>{let e=r.map(e=>`${e.key}:${e.value}`).join(`|`),t=(i??[]).map(e=>`${e.apiKey??``}::${e.existingApiKey??``}::${e.authIndex??``}`).join(`|`);return[n,a??``,o??``,s??``,e,t].join(`||`)},[a,i,s,n,o,r]),x=(0,y.useRef)(b);return(0,y.useEffect)(()=>{x.current!==b&&(x.current=b,v())},[b,v]),{available:c,loading:l,error:d,models:p,hasFetched:h,fetch:_,reset:v}}var ET=3e4,DT={state:`idle`,message:``,summary:null};function OT(e,t){let{baseUrl:n,apiKey:r,fallbackApiKey:i}=e,a=(0,y.useMemo)(()=>ZS(n),[n]),o=(0,y.useMemo)(()=>[n,r,i??``].join(`||`),[r,n,i]),[s,c]=(0,y.useState)(()=>({signature:o,status:DT})),l=s.signature===o?s.status:DT,u=(0,y.useCallback)(e=>{c({signature:o,status:e})},[o]),d=(0,y.useCallback)(async()=>{let e=r.trim()||(i??``).trim();if(!e){u({state:`error`,message:t.apiKeyRequired,summary:null});return}u({state:`loading`,message:``,summary:null});let n=``;for(let r=0;r<a.length;r+=1){let i=a[r];try{let n=await Rp.request({method:`GET`,url:i,header:{Authorization:`Bearer ${e}`}},{timeout:ET});if(n.statusCode<200||n.statusCode>=300){u({state:`error`,message:Lp(n),summary:null});return}let r=nC(n.body??n.bodyText);if(!r){u({state:`error`,message:t.emptyResponse,summary:null});return}u({state:`success`,message:``,summary:r});return}catch(e){if(n=Ec(e,t.requestFailed),r<a.length-1)continue}}u({state:`error`,message:n||t.requestFailed,summary:null})},[r,a,i,t,u]);return{status:l,isLoading:l.state===`loading`,run:d,reset:()=>u(DT)}}var kT=()=>({name:``,alias:``}),AT=(e,t=e.defaultProtocol)=>({protocol:t,apiKey:``,existingApiKey:``,baseUrl:e.baseUrlOptions[0]?.baseUrl??``,proxyUrl:``,prefix:``,disabled:!1,disableCooling:!1,priority:void 0,weight:void 0,models:[kT()]}),jT=e=>({apiKey:``,name:``,baseUrl:``,proxyUrl:``,prefix:``,disabled:!1,disableCooling:!1,priority:void 0,weight:void 0,models:[],headers:[],excludedModelsText:``,sponsorKeyEntries:[AT(e)]}),MT=(e,t)=>!e||e.brand!==t?null:e.raw,NT=(e,t)=>Lw(t.getProtocolUrls(e.baseUrl),e.protocol),PT=(e,t)=>e===null?`--`:typeof e==`number`?new Intl.NumberFormat(t,{maximumFractionDigits:6}).format(e):e,FT=e=>{let t=(e.status??``).trim().toLowerCase();return e.isValid&&(!t||t===`active`)},IT=e=>e?.length?e.map(e=>({name:e.name??``,alias:e.alias??``,priority:e.priority,testModel:e.testModel,image:e.image===!0,thinkingJson:e.thinking?JSON.stringify(e.thinking,null,2):``,thinkingLevels:vT(e.thinking)})):[kT()],LT=(e,t,n)=>({...AT(e,t),existingApiKey:n.apiKey??``,baseUrl:e.resolveBaseUrl(n.baseUrl),proxyUrl:n.proxyUrl??``,prefix:n.prefix??``,disabled:px(n.excludedModels),disableCooling:n.disableCooling===!0,priority:n.priority,weight:n.weight,models:IT(n.models)}),RT=(e,t)=>{let n=t.apiKeyEntries?.find(e=>e.apiKey?.trim());return{...AT(e,`openai`),existingApiKey:n?.apiKey??``,baseUrl:e.resolveBaseUrl(t.baseUrl),proxyUrl:n?.proxyUrl??``,prefix:t.prefix??``,disabled:t.disabled===!0,disableCooling:t.disableCooling===!0,priority:t.priority,weight:n?.weight,models:IT(t.models)}},zT=(e,t)=>{if(!e)return[AT(t)];let n=t.protocols.flatMap(n=>{if(n===`openai`){let n=e.openai[0]?.config;return n?[RT(t,n)]:[]}let r=e[n][0]?.config;return r?[LT(t,n,r)]:[]});return n.length?n:[AT(t)]},BT=(e,t)=>{if(!t.length)return e;let n=new Set,r=[];e.forEach(e=>{let t=(e.name??``).trim();if(t){if(n.has(t))return;n.add(t)}r.push(e)});let i=r.findIndex(e=>!(e.name??``).trim()&&!(e.alias??``).trim());return i!==-1&&r.splice(i,1),t.forEach(e=>{let t=e.name.trim();!t||n.has(t)||(n.add(t),r.push({name:t,alias:(e.alias??``).trim()}))}),r.length?r:[kT()]};function VT({label:e,description:t,protocol:n,models:r,discovery:i,mutating:a,onChange:o}){let{t:s}=ss(),[c,l]=(0,y.useState)(!1),u=(0,y.useMemo)(()=>r.length?r:[kT()],[r]),d=(0,y.useMemo)(()=>{let e=new Set;return u.forEach(t=>{let n=(t.name??``).trim();n&&e.add(n)}),e},[u]);return(0,H.jsx)(Ub,{label:e,children:(0,H.jsxs)(`div`,{className:q.entriesList,children:[(0,H.jsx)(`p`,{className:q.sectionDesc,children:t}),(0,H.jsx)(`div`,{className:q.entriesToolbar,children:(0,H.jsxs)(`button`,{type:`button`,className:q.connectivityBtn,onClick:()=>{l(!0),!i.loading&&!i.hasFetched&&i.fetch()},disabled:a,children:[(0,H.jsx)(ws,{size:14}),(0,H.jsx)(`span`,{children:s(`providersPage.discovery.openButton`)})]})}),c?(0,H.jsx)(bT,{loading:i.loading,error:i.error,models:i.models,hasFetched:i.hasFetched,existingNames:d,mutating:a,onApply:e=>o(BT(u,e)),onReload:()=>void i.fetch(),onClose:()=>l(!1)}):null,(0,H.jsx)(ST,{models:u,supportsImage:n===`openai`,supportsThinking:!0,mutating:a,removeDisabled:u.length<=1,onUpdate:(e,t)=>o(u.map((n,r)=>r===e?{...n,...t}:n)),onAdd:()=>o([...u,kT()]),onRemove:e=>{let t=u.filter((t,n)=>n!==e);o(t.length?t:[kT()])}})]})})}function HT({entry:e,index:t,formId:n,mode:r,definition:i,usedProtocols:a,canRemove:o,mutating:s,onChange:c,onRemove:l}){let{t:u,i18n:d}=ss(),[f,p]=(0,y.useState)(!1),[m,h]=(0,y.useState)(()=>r===`create`||!e.existingApiKey?.trim()),g=NT(e,i),_=u(`providersPage.sponsor.protocols.${Pw(e.protocol)}`),v=u(`providersPage.sponsor.groupedKey`,{index:t+1}),b=e.apiKey.trim()||e.existingApiKey?.trim()||``,x=b?Fh(b):u(`providersPage.status.notConfigured`),S=Fw(e.protocol),C=(0,y.useMemo)(()=>({apiKeyRequired:u(`providersPage.sponsor.usageApiKeyRequired`),emptyResponse:u(`providersPage.sponsor.usageEmpty`),requestFailed:u(`providersPage.connectivity.requestFailed`)}),[u]),w=OT({baseUrl:e.baseUrl,apiKey:e.apiKey,fallbackApiKey:e.existingApiKey},C),T=w.status.summary,E=!T||FT(T),D=T===null?``:PT(T.remaining,d.language),O=T===null?``:PT(T.used,d.language),k=T===null?``:PT(T.limit,d.language),A=(0,y.useMemo)(()=>[],[]),j=(0,y.useMemo)(()=>[{apiKey:e.apiKey,existingApiKey:e.existingApiKey,proxyUrl:e.proxyUrl}],[e.apiKey,e.existingApiKey,e.proxyUrl]),M=TT({brand:Iw(e.protocol),baseUrl:g,formHeaders:A,apiKey:e.apiKey,fallbackApiKey:e.existingApiKey,apiKeyEntries:e.protocol===`openai`?j:void 0}),N=i.protocols.filter(t=>t===e.protocol||!a.has(t)).map(e=>({value:e,label:u(`providersPage.sponsor.protocols.${Pw(e)}`)})),ee=t=>{c({...e,...t})};return(0,H.jsxs)(`div`,{className:q.entryCard,children:[(0,H.jsxs)(`div`,{className:q.entryCardHeader,children:[(0,H.jsxs)(`button`,{type:`button`,className:q.entryCardToggle,"aria-expanded":m,onClick:()=>h(e=>!e),children:[(0,H.jsxs)(`span`,{className:q.sponsorGroupTitle,children:[(0,H.jsx)(`span`,{children:v}),(0,H.jsx)(`strong`,{children:_})]}),(0,H.jsxs)(`span`,{className:q.sponsorGroupSummary,children:[(0,H.jsx)(`span`,{className:q.sponsorSummaryKey,children:x}),(0,H.jsx)(`span`,{className:q.sponsorSummaryUrl,children:g})]})]}),(0,H.jsxs)(`div`,{className:q.entryCardHeaderRight,children:[(0,H.jsx)(`button`,{type:`button`,className:q.entryCardIconBtn,onClick:()=>h(e=>!e),title:u(m?`common.collapse`:`common.expand`),"aria-label":u(m?`common.collapse`:`common.expand`),children:(0,H.jsx)(Is,{className:[q.entryCardChevron,m?q.entryCardChevronOpen:``].filter(Boolean).join(` `),size:14})}),(0,H.jsx)(`button`,{type:`button`,className:q.removeBtn,onClick:l,disabled:s||!o,title:u(`providersPage.sponsor.removeGroupedKey`),"aria-label":u(`providersPage.sponsor.removeGroupedKey`),children:(0,H.jsx)(zs,{size:12})})]})]}),m?(0,H.jsxs)(`div`,{className:q.entryCardBody,children:[(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${n}-group-${t}-protocol`,children:u(`providersPage.sponsor.protocol`)}),(0,H.jsx)(hc,{id:`${n}-group-${t}-protocol`,value:e.protocol,options:N,onChange:e=>ee({protocol:e,models:[kT()]}),disabled:s,ariaLabel:u(`providersPage.sponsor.protocol`)}),(0,H.jsx)(`span`,{className:q.labelHint,children:u(`providersPage.sponsor.protocolHint`)})]}),i.baseUrlOptions.length>1?(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`span`,{className:q.label,children:u(`providersPage.sponsor.urlMode`,{provider:i.displayName})}),(0,H.jsx)(`div`,{className:q.sponsorUrlOptions,role:`radiogroup`,children:i.baseUrlOptions.map(r=>{let a=i.resolveBaseUrl(e.baseUrl)===r.baseUrl;return(0,H.jsxs)(`label`,{className:[q.sponsorUrlOption,a?q.sponsorUrlOptionActive:``].filter(Boolean).join(` `),children:[(0,H.jsx)(`input`,{type:`radio`,name:`${n}-group-${t}-base-url`,value:r.baseUrl,checked:a,onChange:()=>ee({baseUrl:r.baseUrl}),disabled:s}),(0,H.jsxs)(`span`,{className:q.sponsorUrlOptionText,children:[(0,H.jsx)(`span`,{children:u(`providersPage.sponsor.urlOptions.${r.id}`)}),(0,H.jsx)(`small`,{children:r.baseUrl}),r.descriptionKey?(0,H.jsx)(`small`,{className:q.sponsorUrlOptionDescription,children:u(`providersPage.sponsor.urlOptionDescriptions.${r.descriptionKey}`)}):null]})]},r.id)})}),(0,H.jsx)(`span`,{className:q.labelHint,children:u(`providersPage.sponsor.urlHint`)})]}):null,(0,H.jsxs)(`div`,{className:q.sponsorProtocolCard,children:[(0,H.jsx)(`span`,{className:q.sponsorProtocolName,children:u(`providersPage.sponsor.protocolEndpoint`)}),(0,H.jsx)(`span`,{className:q.sponsorProtocolUrl,children:g})]}),(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${n}-group-${t}-api-key`,children:u(`providersPage.form.apiKey`)}),(0,H.jsxs)(`div`,{className:q.passwordField,children:[(0,H.jsx)(`input`,{id:`${n}-group-${t}-api-key`,className:q.passwordInput,type:f?`text`:`password`,value:e.apiKey,onChange:e=>ee({apiKey:e.target.value}),autoComplete:`new-password`,"data-1p-ignore":`true`,"data-lpignore":`true`,"data-bwignore":`true`,placeholder:u(r===`edit`?`providersPage.form.apiKeyEditPlaceholder`:`providersPage.form.apiKeyCreatePlaceholder`),disabled:s}),(0,H.jsx)(`button`,{type:`button`,className:q.passwordToggle,onClick:()=>p(e=>!e),disabled:s,"aria-label":u(f?`providersPage.form.hideApiKey`:`providersPage.form.showApiKey`),title:u(f?`providersPage.form.hideApiKey`:`providersPage.form.showApiKey`),children:f?(0,H.jsx)(Hs,{size:16}):(0,H.jsx)(Vs,{size:16})})]}),(0,H.jsx)(`span`,{className:q.labelHint,children:u(`providersPage.sponsor.apiKeyHint`)})]}),i.supportsUsageCheck?(0,H.jsxs)(`div`,{className:q.sponsorUsageSection,children:[(0,H.jsxs)(`button`,{type:`button`,className:q.connectivityBtn,onClick:()=>void w.run(),disabled:s||w.isLoading,children:[w.isLoading?(0,H.jsx)(Ps,{className:q.statusIconLoading,size:14}):(0,H.jsx)(Ks,{size:14}),(0,H.jsx)(`span`,{children:w.isLoading?u(`providersPage.sponsor.usageChecking`):u(`providersPage.sponsor.usageCheck`)})]}),w.status.state===`success`&&T?(0,H.jsxs)(`div`,{className:[q.sponsorUsageResult,E?``:q.sponsorUsageResultWarning].filter(Boolean).join(` `),children:[(0,H.jsxs)(`div`,{className:q.sponsorUsageMain,children:[E?(0,H.jsx)(Ms,{className:`${q.statusIcon} ${q.statusIconSuccess}`,size:14}):(0,H.jsx)(js,{className:`${q.statusIcon} ${q.statusIconError}`,size:14}),(0,H.jsx)(`span`,{children:u(`providersPage.sponsor.usageRemaining`,{amount:D,unit:T.unit})})]}),T.used!==null||T.limit!==null?(0,H.jsx)(`span`,{className:q.sponsorUsageMeta,children:u(`providersPage.sponsor.usageBreakdown`,{used:O,limit:k})}):null,E?null:(0,H.jsx)(`span`,{className:q.sponsorUsageMeta,children:u(`providersPage.sponsor.usageStatus`,{status:T.status||u(`providersPage.sponsor.usageInvalid`)})})]}):null,w.status.state===`error`?(0,H.jsx)(`div`,{className:q.connectivityError,children:w.status.message}):null]}):null,(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${n}-group-${t}-proxy`,children:u(`providersPage.form.proxyUrl`)}),(0,H.jsx)(`input`,{id:`${n}-group-${t}-proxy`,className:q.input,value:e.proxyUrl,onChange:e=>ee({proxyUrl:e.target.value}),placeholder:`http://127.0.0.1:7890`,disabled:s})]}),(0,H.jsxs)(`div`,{className:q.fieldRow,children:[(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${n}-group-${t}-prefix`,children:u(`providersPage.form.prefix`)}),(0,H.jsx)(`input`,{id:`${n}-group-${t}-prefix`,className:q.input,value:e.prefix,onChange:e=>ee({prefix:e.target.value}),disabled:s})]}),(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${n}-group-${t}-priority`,children:u(`providersPage.form.priority`)}),(0,H.jsx)(`input`,{id:`${n}-group-${t}-priority`,type:`number`,className:q.input,value:e.priority??``,onChange:e=>ee({priority:e.target.value===``?void 0:Number(e.target.value)}),disabled:s})]})]}),(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${n}-group-${t}-weight`,children:u(`providersPage.form.weight`)}),(0,H.jsx)(`input`,{id:`${n}-group-${t}-weight`,type:`number`,step:`1`,max:lp,className:q.input,value:e.weight??``,placeholder:`1`,onChange:e=>ee({weight:e.target.value===``?void 0:Number(e.target.value)}),disabled:s}),(0,H.jsx)(`span`,{className:q.labelHint,children:u(`providersPage.form.weightHint`)})]}),(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:e.disabled,disabled:s,onChange:e=>ee({disabled:e.target.checked})}),(0,H.jsxs)(`span`,{className:q.checkboxText,children:[(0,H.jsx)(`span`,{children:u(`providersPage.form.disabled`)}),(0,H.jsx)(`small`,{children:u(`providersPage.form.disabledHint`)})]})]}),(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:e.disableCooling??!1,disabled:s,onChange:e=>ee({disableCooling:e.target.checked})}),(0,H.jsxs)(`span`,{className:q.checkboxText,children:[(0,H.jsx)(`span`,{children:u(`providersPage.form.disableCooling`)}),(0,H.jsx)(`small`,{children:u(`providersPage.form.disableCoolingHint`)})]})]}),(0,H.jsx)(VT,{label:u(`providersPage.sponsor.protocolModels.${S}`),description:u(`providersPage.sponsor.protocolModelHints.${S}`),protocol:e.protocol,models:e.models,discovery:M,mutating:s,onChange:e=>ee({models:e})})]}):null]})}var UT=(e,t,n)=>{if(n===`create`)return jT(e);let r=MT(t,e.brand);return{...jT(e),sponsorKeyEntries:zT(r,e)}};function WT({brand:e=`apikeyFun`,resource:t,mode:n,mutating:r,formId:i,variant:a,onSubmit:o,onDirtyChange:s}){let{t:c}=ss(),l=(0,y.useMemo)(()=>Nw(e),[e]),[u,d]=(0,y.useState)(()=>UT(l,t,n)),[f]=(0,y.useState)(()=>JSON.stringify(UT(l,t,n))),[p,m]=(0,y.useState)(null),h=(0,y.useMemo)(()=>u.sponsorKeyEntries??[AT(l)],[l,u.sponsorKeyEntries]),g=(0,y.useMemo)(()=>new Set(h.map(e=>e.protocol)),[h]),_=(0,y.useMemo)(()=>l.protocols.filter(e=>!g.has(e)),[l.protocols,g]),v=(0,y.useMemo)(()=>JSON.stringify({...u,sponsorKeyEntries:h})!==f,[h,u,f]);(0,y.useEffect)(()=>{s?.(v)},[v,s]);let b=e=>{d(t=>({...t,sponsorKeyEntries:e}))},x=(e,t)=>{b(h.map((n,r)=>r===e?t:n))},S=e=>{let t=h.filter((t,n)=>n!==e);b(t.length||n===`edit`?t:[AT(l)])},C=()=>{let e=_[0];e&&b([...h,AT(l,e)])},w=()=>h.length?h.some(e=>!e.apiKey.trim()&&!e.existingApiKey?.trim())?c(`providersPage.sponsor.validation.keyRequired`):new Set(h.map(e=>e.protocol)).size===h.length?h.some(e=>e.weight!==void 0&&!Number.isSafeInteger(e.weight))?c(`providersPage.form.validation.weightInteger`):h.some(e=>e.weight!==void 0&&e.weight>1e6)?c(`providersPage.form.validation.weightMax`,{max:lp}):null:c(`providersPage.sponsor.validation.protocolDuplicate`):n===`edit`?null:c(`providersPage.sponsor.validation.keyRequired`),T=async e=>{e.preventDefault();let t=w();if(t){m(t);return}try{m(null),await o({...u,sponsorKeyEntries:h})}catch(e){m(fT(e)?c(`providersPage.sponsor.partialMutationWarning`):e instanceof Error?e.message:String(e))}},E=[q.form,a===`quickStart`?q.quickStartForm:``].filter(Boolean).join(` `);return n===`edit`&&Mw(MT(t,l.brand))?(0,H.jsx)(`form`,{id:i,className:E,onSubmit:e=>e.preventDefault(),children:(0,H.jsx)(`div`,{className:q.errorBox,children:c(`providersPage.sponsor.aggregationConflict`)})}):(0,H.jsxs)(`form`,{id:i,className:E,onSubmit:T,noValidate:!0,children:[(0,H.jsxs)(`div`,{className:q.section,children:[(0,H.jsx)(`h3`,{className:q.sectionTitle,children:c(`providersPage.sponsor.groupedKeysTitle`)}),h.map((e,t)=>(0,H.jsx)(HT,{entry:e,index:t,formId:i,mode:n,definition:l,usedProtocols:g,canRemove:n===`edit`||h.length>1,mutating:r,onChange:e=>x(t,e),onRemove:()=>S(t)},`${e.protocol}-${t}`)),(0,H.jsxs)(`button`,{type:`button`,className:q.addBtn,disabled:r||!_.length,onClick:C,children:[(0,H.jsx)(ks,{size:12}),(0,H.jsx)(`span`,{children:c(`providersPage.sponsor.addGroupedKey`)})]})]}),p?(0,H.jsx)(`div`,{className:q.errorBox,children:p}):null]})}var GT={panel:`SponsorQuickStartPanel-module__panel___WanDv`,header:`SponsorQuickStartPanel-module__header___tCgCw`,topLink:`SponsorQuickStartPanel-module__topLink___Bo7sg`,titleRow:`SponsorQuickStartPanel-module__titleRow___p9NN3`,logo:`SponsorQuickStartPanel-module__logo___0BbrZ`,titleText:`SponsorQuickStartPanel-module__titleText___CiGYk`,title:`SponsorQuickStartPanel-module__title___6T9tS`,footer:`SponsorQuickStartPanel-module__footer___I9JkV`,empty:`SponsorQuickStartPanel-module__empty___BFE7c`,emptyActions:`SponsorQuickStartPanel-module__emptyActions___JfEjQ`,emptyActionButton:`SponsorQuickStartPanel-module__emptyActionButton___esMyY`,emptyActionButtonPrimary:`SponsorQuickStartPanel-module__emptyActionButtonPrimary___jkGpV`,emptyActionButtonEmphasis:`SponsorQuickStartPanel-module__emptyActionButtonEmphasis___SFvE3`,primaryAction:`SponsorQuickStartPanel-module__primaryAction___xpqum`,spin:`SponsorQuickStartPanel-module__spin___74eZ9`,"sponsor-quick-start-spin":`SponsorQuickStartPanel-module__sponsor-quick-start-spin___iLZgr`,sponsorQuickStartSpin:`SponsorQuickStartPanel-module__sponsor-quick-start-spin___iLZgr`};function KT({resource:e,workbench:t,mutationDisabled:n=!1}){let{t:r}=ss(),{showNotification:i}=Kc(),a=(0,y.useId)(),[o,s]=(0,y.useState)(!1),[c,l]=(0,y.useState)(!1),[u,d]=(0,y.useState)(0),[f,p]=(0,y.useState)(!1),m=o||n||t.mutating,h=e?`edit`:`create`,g=m||h===`edit`&&!c,_=nS.apikeyFun;uT({shouldBlock:c&&!o,dialog:{title:r(`providersPage.unsavedChanges.title`),message:r(`providersPage.unsavedChanges.message`),confirmText:r(`providersPage.unsavedChanges.discard`),cancelText:r(`providersPage.unsavedChanges.keepEditing`),variant:`danger`}});let v=async a=>{if(!n){s(!0);try{e?(await t.updateProvider(e,a),i(r(`providersPage.toast.updated`),`success`)):(await t.createProvider(`apikeyFun`,a),i(r(`providersPage.toast.created`),`success`),p(!1)),l(!1),d(e=>e+1)}catch(t){if(fT(t))throw i(r(`providersPage.sponsor.partialMutationWarning`),`warning`),t;let n=t instanceof Error?t.message:String(t);throw i(`${r(e?`notification.update_failed`:`notification.add_failed`)}: ${n}`,`error`),t}finally{s(!1)}}};if(!e&&!f)return(0,H.jsxs)(`section`,{className:GT.panel,children:[(0,H.jsx)(`div`,{className:GT.header,children:(0,H.jsxs)(`div`,{className:GT.titleRow,children:[(0,H.jsx)(`img`,{src:_.src,alt:``,"aria-hidden":`true`,className:GT.logo}),(0,H.jsx)(`div`,{className:GT.titleText,children:(0,H.jsx)(`h2`,{className:GT.title,children:r(`providersPage.providerNames.apikeyFun`)})})]})}),(0,H.jsxs)(`div`,{className:GT.empty,children:[(0,H.jsx)(`div`,{children:r(`providersPage.sponsor.emptyRegisterHint`)}),(0,H.jsxs)(`div`,{className:GT.emptyActions,children:[(0,H.jsxs)(`button`,{type:`button`,className:`${GT.emptyActionButton} ${GT.emptyActionButtonPrimary}`,onClick:()=>p(!0),disabled:m,children:[(0,H.jsx)(ks,{size:16}),(0,H.jsx)(`span`,{children:r(`providersPage.actions.new`)})]}),(0,H.jsxs)(`a`,{className:`${GT.emptyActionButton} ${GT.emptyActionButtonEmphasis}`,href:FS,target:`_blank`,rel:`noreferrer`,children:[(0,H.jsx)(Js,{size:16}),(0,H.jsx)(`span`,{children:r(`providersPage.sponsor.registerNow`)})]})]})]})]});let b=e?IS:FS,x=r(e?`providersPage.sponsor.dashboardLink`:`providersPage.sponsor.registerLink`);return(0,H.jsxs)(`section`,{className:GT.panel,children:[(0,H.jsx)(`div`,{className:GT.header,children:(0,H.jsxs)(`div`,{className:GT.titleRow,children:[(0,H.jsx)(`img`,{src:_.src,alt:``,"aria-hidden":`true`,className:GT.logo}),(0,H.jsx)(`div`,{className:GT.titleText,children:(0,H.jsx)(`h2`,{className:GT.title,children:r(`providersPage.providerNames.apikeyFun`)})}),(0,H.jsxs)(`a`,{className:GT.topLink,href:b,target:`_blank`,rel:`noreferrer`,children:[(0,H.jsx)(Js,{size:14}),(0,H.jsx)(`span`,{children:x})]})]})}),(0,H.jsx)(WT,{resource:e,mode:h,mutating:m,formId:a,variant:`quickStart`,onSubmit:v,onDirtyChange:l},`${h}:${e?.id??`new`}:${u}`),(0,H.jsxs)(`div`,{className:GT.footer,children:[e?null:(0,H.jsx)(`button`,{type:`button`,className:`${q.footerBtn} ${q.footerBtnGhost}`,onClick:()=>{p(!1),l(!1),d(e=>e+1)},disabled:o,children:r(`providersPage.actions.cancel`)}),(0,H.jsxs)(`button`,{type:`submit`,form:a,className:`${q.footerBtn} ${q.footerBtnPrimary} ${GT.primaryAction}`,disabled:g,children:[o?(0,H.jsx)(Ps,{className:GT.spin,size:14}):h===`create`?(0,H.jsx)(ks,{size:14}):(0,H.jsx)(Ms,{size:14}),(0,H.jsx)(`span`,{children:r(h===`create`?`providersPage.actions.create`:`providersPage.actions.save`)})]})]})]})}var qT={overlay:`Sheet-module__overlay___z8D5E`,entering:`Sheet-module__entering___-FNfE`,exiting:`Sheet-module__exiting___q7zPi`,content:`Sheet-module__content___ITPBZ`,sizeMd:`Sheet-module__sizeMd___ziRMr`,sizeLg:`Sheet-module__sizeLg___32pg7`,sizeXl:`Sheet-module__sizeXl___AvWCt`,header:`Sheet-module__header___cUB1H`,eyebrow:`Sheet-module__eyebrow___Duxhe`,title:`Sheet-module__title___1-JZS`,description:`Sheet-module__description___Xg2Ae`,body:`Sheet-module__body___Aso8V`,footer:`Sheet-module__footer___kLZWM`,closeBtn:`Sheet-module__closeBtn___s0cgQ`},JT=280,YT={md:qT.sizeMd,lg:qT.sizeLg,xl:qT.sizeXl};function XT({open:e,onClose:t,size:n=`md`,eyebrow:r,title:i,description:a,footer:o,closeDisabled:s=!1,className:c,ariaLabel:l,confirmClose:u,children:d}){let{t:f}=ss(),p=(0,y.useId)(),m=(0,y.useId)(),[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(!1),b=(0,y.useRef)(null),x=(0,y.useRef)(null),C=(0,y.useRef)(null),w=(0,y.useRef)(null),T=(0,y.useRef)(null),E=(0,y.useCallback)(()=>x.current?Array.from(x.current.querySelectorAll(_m)).filter(e=>!e.hasAttribute(`disabled`)&&e.tabIndex!==-1):[],[]),D=(0,y.useCallback)(e=>{b.current===null&&(v(!0),b.current=window.setTimeout(()=>{g(!1),v(!1),b.current=null,e&&t()},JT))},[t]);(0,y.useEffect)(()=>{let t=!1;return e?(b.current!==null&&(window.clearTimeout(b.current),b.current=null),queueMicrotask(()=>{t||(g(!0),v(!1))})):h&&queueMicrotask(()=>{t||D(!1)}),()=>{t=!0}},[e,h,D]);let O=(0,y.useCallback)(async()=>{if(u)try{if(await u()===!1)return}catch{return}D(!0)},[u,D]);(0,y.useEffect)(()=>()=>{b.current!==null&&window.clearTimeout(b.current)},[]);let k=e||h;if((0,y.useEffect)(()=>{if(k)return hm(),()=>gm()},[k]),(0,y.useEffect)(()=>{if(!e)return;T.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let t=window.setTimeout(()=>{C.current&&(C.current.scrollTop=0),(E()[0]??w.current??x.current)?.focus({preventScroll:!0})},0);return()=>window.clearTimeout(t)},[E,e]),(0,y.useEffect)(()=>{e||h||(T.current?.focus(),T.current=null)},[h,e]),(0,y.useEffect)(()=>{if(!e)return;let t=e=>{if(e.key===`Escape`){if(s)return;e.preventDefault(),O();return}if(e.key!==`Tab`)return;let t=E();if(t.length===0){e.preventDefault(),x.current?.focus();return}let n=t[0],r=t[t.length-1],i=document.activeElement;if(e.shiftKey){(i===n||i===x.current)&&(e.preventDefault(),r.focus());return}i===r&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[s,E,O,e]),!e&&!h)return null;let A=_?qT.exiting:qT.entering,j=(0,H.jsx)(`div`,{className:`${qT.overlay} ${A}`.trim(),role:`presentation`,onMouseDown:e=>{s||e.target===e.currentTarget&&O()},children:(0,H.jsxs)(`div`,{ref:x,className:[qT.content,YT[n],A,c].filter(Boolean).join(` `),role:`dialog`,"aria-modal":`true`,"aria-labelledby":i?p:void 0,"aria-describedby":a?m:void 0,"aria-label":!i&&l?l:void 0,tabIndex:-1,onMouseDown:e=>e.stopPropagation(),children:[(0,H.jsx)(`button`,{ref:w,type:`button`,className:qT.closeBtn,onClick:s?void 0:O,disabled:s,"aria-label":f(`common.close`),children:(0,H.jsx)(zs,{size:18})}),(r||i||a)&&(0,H.jsxs)(`div`,{className:qT.header,children:[r?(0,H.jsx)(`div`,{className:qT.eyebrow,children:r}):null,i?(0,H.jsx)(`h2`,{id:p,className:qT.title,children:i}):null,a?(0,H.jsx)(`p`,{id:m,className:qT.description,children:a}):null]}),(0,H.jsx)(`div`,{ref:C,className:qT.body,children:d}),o?(0,H.jsx)(`div`,{className:qT.footer,children:o}):null]})});return typeof document>`u`?j:(0,S.createPortal)(j,document.body)}var ZT={gemini:{id:`gemini`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!0,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!0,supportsPriority:!0,supportsTestModel:!0,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},interactions:{id:`interactions`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!0,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!0,supportsPriority:!0,supportsTestModel:!0,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},codex:{id:`codex`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!0,baseUrlRequired:!0,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!0,supportsPriority:!0,supportsTestModel:!0,supportsWebsockets:!0,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},xai:{id:`xai`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!0,baseUrlRequired:!0,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!0,supportsPriority:!0,supportsTestModel:!0,supportsWebsockets:!0,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},claude:{id:`claude`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!0,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!0,supportsPriority:!0,supportsTestModel:!0,supportsWebsockets:!1,supportsCloak:!0,supportsApiKeyEntries:!1,sheetSize:`md`},claudeApi:{id:`claudeApi`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!1,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!0,supportsPriority:!0,supportsTestModel:!0,supportsWebsockets:!1,supportsCloak:!0,supportsApiKeyEntries:!1,sheetSize:`md`},vertex:{id:`vertex`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!0,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!0,supportsPriority:!0,supportsTestModel:!1,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},openaiCompatibility:{id:`openaiCompatibility`,supportsName:!0,supportsApiKey:!1,supportsDisabled:!0,supportsBaseUrl:!0,baseUrlRequired:!0,supportsProxyUrl:!1,supportsPrefix:!0,supportsModels:!0,supportsHeaders:!0,supportsExcludedModels:!1,supportsPriority:!0,supportsTestModel:!0,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!0,sheetSize:`lg`},apikeyFun:{id:`apikeyFun`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!1,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!1,supportsHeaders:!1,supportsExcludedModels:!1,supportsPriority:!0,supportsTestModel:!1,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},code0:{id:`code0`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!1,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!1,supportsHeaders:!1,supportsExcludedModels:!1,supportsPriority:!0,supportsTestModel:!1,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},fennoAI:{id:`fennoAI`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!1,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!1,supportsHeaders:!1,supportsExcludedModels:!1,supportsPriority:!0,supportsTestModel:!1,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},qiniuCloud:{id:`qiniuCloud`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!1,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!1,supportsHeaders:!1,supportsExcludedModels:!1,supportsPriority:!0,supportsTestModel:!1,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},lmuAI:{id:`lmuAI`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!1,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!1,supportsHeaders:!1,supportsExcludedModels:!1,supportsPriority:!0,supportsTestModel:!1,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`},kimi:{id:`kimi`,supportsName:!1,supportsApiKey:!0,supportsDisabled:!0,supportsBaseUrl:!1,baseUrlRequired:!1,supportsProxyUrl:!0,supportsPrefix:!0,supportsModels:!1,supportsHeaders:!1,supportsExcludedModels:!1,supportsPriority:!0,supportsTestModel:!1,supportsWebsockets:!1,supportsCloak:!1,supportsApiKeyEntries:!1,sheetSize:`md`}},QT=[`kimi`,`gemini`,`interactions`,`codex`,`xai`,`claude`,`vertex`,`openaiCompatibility`,`apikeyFun`,`claudeApi`,`code0`,`fennoAI`,`qiniuCloud`,`lmuAI`],$T={chipRow:`ExcludedModelRuleChip-module__chipRow___GZYjd`,chip:`ExcludedModelRuleChip-module__chip___ZHu9n`,label:`ExcludedModelRuleChip-module__label___zHuRH`,detail:`ExcludedModelRuleChip-module__detail___BSOjb`,exact:`ExcludedModelRuleChip-module__exact___Ly9hr`,wildcard:`ExcludedModelRuleChip-module__wildcard___8GF-X`,unknown:`ExcludedModelRuleChip-module__unknown___QmPur`,remove:`ExcludedModelRuleChip-module__remove___yO0z3`};function eE({children:e}){return(0,H.jsx)(`div`,{className:$T.chipRow,children:e})}function tE({label:e,variant:t=`exact`,detail:n,onRemove:r,removeAriaLabel:i,disabled:a=!1,title:o}){return(0,H.jsxs)(`span`,{className:`${$T.chip} ${$T[t]}`,title:o??(n?`${e} — ${n}`:e),children:[(0,H.jsx)(`span`,{className:$T.label,children:e}),n?(0,H.jsx)(`span`,{className:$T.detail,children:n}):null,r?(0,H.jsx)(`button`,{type:`button`,className:$T.remove,onClick:r,disabled:a,"aria-label":i??e,children:(0,H.jsx)(zs,{size:12})}):null]})}var nE=e=>e.trim().toLowerCase(),rE=e=>e.includes(`*`);function iE(e){let t=new Set,n=[];for(let r of e){let e=r.trim(),i=nE(e);!i||t.has(i)||(t.add(i),n.push(e))}return n}var aE=e=>iE(e.split(/\r?\n/)),oE=e=>e.join(`
`);function sE(e,t){let n=nE(e),r=nE(t);if(!n||!r)return!1;if(!rE(n))return n===r;let i=n.split(`*`).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`.*`);return RegExp(`^${i}$`,`i`).test(r)}function cE(e,t,n){let r=t.trim(),i=nE(r),a=iE(e).filter(e=>nE(e)!==i);return n&&i&&a.push(r),a}function lE(e,t){let n=new Map(t.map(e=>[nE(e),e])),r=[],i=[],a=[],o=[];return iE(e).forEach(e=>{if(rE(e)){i.push(e),o.push(e);return}let t=n.get(nE(e));if(t){r.push(t);return}a.push(e),o.push(e)}),{exactRules:r,wildcardRules:i,unknownRules:a,customRules:o}}function uE(e,t,n){let{exactRules:r}=lE(e,t);return iE([...r,...aE(n)])}function dE(e,t){let n=nE(t);if(!n)return{state:`included`};let r=!1,i;for(let a of e)rE(a)?i===void 0&&sE(a,t)&&(i=a):!r&&nE(a)===n&&(r=!0);return r&&i!==void 0?{state:`excluded`,by:`both`,rule:i}:r?{state:`excluded`,by:`exact`}:i===void 0?{state:`included`}:{state:`excluded`,by:`wildcard`,rule:i}}var fE=(e,t)=>dE(e,t).state===`excluded`,pE=(e,t)=>e.map(e=>{let n=t.filter(t=>sE(e,t));return{rule:e,matched:n,matchCount:n.length}});function mE(e,t){let n=t.length,r=t.reduce((t,n)=>fE(e,n)?t+1:t,0);return{total:n,excluded:r,available:n-r}}var hE={root:`ExcludedModelsPicker-module__root___RYF7X`,trigger:`ExcludedModelsPicker-module__trigger___ycSKU`,triggerText:`ExcludedModelsPicker-module__triggerText___lbBd4`,triggerSpinner:`ExcludedModelsPicker-module__triggerSpinner___xL-cS`,"excluded-spin":`ExcludedModelsPicker-module__excluded-spin___g-h0p`,excludedSpin:`ExcludedModelsPicker-module__excluded-spin___g-h0p`,chevron:`ExcludedModelsPicker-module__chevron___FcR89`,triggerOpen:`ExcludedModelsPicker-module__triggerOpen___OMivu`,meter:`ExcludedModelsPicker-module__meter___0ZOIu`,meterFill:`ExcludedModelsPicker-module__meterFill___svWrl`,disclosure:`ExcludedModelsPicker-module__disclosure___5zAsh`,disclosureOpen:`ExcludedModelsPicker-module__disclosureOpen___BTQ7b`,disclosureInner:`ExcludedModelsPicker-module__disclosureInner___swIxx`,panel:`ExcludedModelsPicker-module__panel___-GHUW`,"excluded-panel-in":`ExcludedModelsPicker-module__excluded-panel-in___sw1uB`,excludedPanelIn:`ExcludedModelsPicker-module__excluded-panel-in___sw1uB`,searchRow:`ExcludedModelsPicker-module__searchRow___vhaLm`,searchIcon:`ExcludedModelsPicker-module__searchIcon___kl49Z`,search:`ExcludedModelsPicker-module__search___eAW6Q`,list:`ExcludedModelsPicker-module__list___r-52c`,row:`ExcludedModelsPicker-module__row___-dgzQ`,rowHighlighted:`ExcludedModelsPicker-module__rowHighlighted___TXsS-`,rowExcluded:`ExcludedModelsPicker-module__rowExcluded___QwTAb`,checkbox:`ExcludedModelsPicker-module__checkbox___LBJlR`,rowLocked:`ExcludedModelsPicker-module__rowLocked___yX5xZ`,rowText:`ExcludedModelsPicker-module__rowText___VJ0uV`,rowId:`ExcludedModelsPicker-module__rowId___6yGuV`,rowDisplayName:`ExcludedModelsPicker-module__rowDisplayName___c-Ifl`,rowReason:`ExcludedModelsPicker-module__rowReason___1c7c2`,badge:`ExcludedModelsPicker-module__badge___vrwIy`,badgeMuted:`ExcludedModelsPicker-module__badgeMuted___SAngk`,noResults:`ExcludedModelsPicker-module__noResults___Qohto`,footer:`ExcludedModelsPicker-module__footer___eApyV`,footerCount:`ExcludedModelsPicker-module__footerCount___S0dwv`,footerActions:`ExcludedModelsPicker-module__footerActions___1UCO6`,footerButton:`ExcludedModelsPicker-module__footerButton___BcU1G`,catalogNotice:`ExcludedModelsPicker-module__catalogNotice___Vuj8F`,retryButton:`ExcludedModelsPicker-module__retryButton___xLpOx`,chipsMore:`ExcludedModelsPicker-module__chipsMore___qiTQK`,ruleEditor:`ExcludedModelsPicker-module__ruleEditor___BnPbg`,ruleLabel:`ExcludedModelsPicker-module__ruleLabel___Vs3uq`,ruleMatches:`ExcludedModelsPicker-module__ruleMatches___aaZnY`,ruleMatchNone:`ExcludedModelsPicker-module__ruleMatchNone___GTDUi`,ruleWarning:`ExcludedModelsPicker-module__ruleWarning___lcScQ`},gE=(e,t)=>e.id.toLowerCase().includes(t)||(e.displayName??``).toLowerCase().includes(t);function _E({rules:e,candidates:t,stats:n,onToggle:r,onSelectAll:i,onClear:a,disabled:o,listboxId:s,autoFocus:c,onDismiss:l}){let{t:u}=ss(),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(0),h=(0,y.useRef)(null),g=(0,y.useMemo)(()=>{let e=d.trim().toLowerCase();return e?t.filter(t=>gE(t,e)):t},[t,d]),_=g.length===0?-1:Math.min(p,g.length-1),v=_>=0?`${s}-opt-${_}`:void 0;(0,y.useLayoutEffect)(()=>{c&&h.current?.focus({preventScroll:!0})},[c]),(0,y.useEffect)(()=>{!c||_<0||document.getElementById(`${s}-opt-${_}`)?.scrollIntoView({block:`nearest`})},[_,c,s]);let b=t=>{let n=g[t];if(!n||o)return;let i=dE(e,n.id);i.state===`excluded`&&i.by===`wildcard`||r(n.id,i.state!==`excluded`)};return(0,H.jsxs)(`div`,{className:hE.panel,children:[(0,H.jsxs)(`div`,{className:hE.searchRow,children:[(0,H.jsx)(Rs,{size:14,className:hE.searchIcon,"aria-hidden":`true`}),(0,H.jsx)(`input`,{ref:h,type:`text`,className:hE.search,value:d,onChange:e=>{f(e.target.value),m(0)},onKeyDown:e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),m(e=>Math.min(e+1,g.length-1));return;case`ArrowUp`:e.preventDefault(),m(e=>Math.max(e-1,0));return;case`Home`:if(g.length===0)return;e.preventDefault(),m(0);return;case`End`:if(g.length===0)return;e.preventDefault(),m(g.length-1);return;case`Enter`:e.preventDefault(),_>=0&&b(_);return;case`Escape`:if(e.preventDefault(),e.stopPropagation(),d){f(``),m(0);return}l();return;default:}},placeholder:u(`excluded_models.search_placeholder`),"aria-label":u(`excluded_models.search_aria`),"aria-controls":s,"aria-activedescendant":v,disabled:o,autoComplete:`off`,spellCheck:!1})]}),(0,H.jsx)(`div`,{id:s,className:hE.list,role:`listbox`,"aria-multiselectable":`true`,"aria-label":u(`excluded_models.list_aria`),children:g.length===0?(0,H.jsx)(`p`,{className:hE.noResults,children:d.trim()?u(`excluded_models.no_results`,{query:d.trim()}):u(`excluded_models.catalog_empty`)}):g.map((t,n)=>(0,H.jsx)(vE,{id:`${s}-opt-${n}`,candidate:t,state:dE(e,t.id),highlighted:n===_,onHover:()=>m(n),onToggle:()=>b(n)},t.id.toLowerCase()))}),(0,H.jsxs)(`div`,{className:hE.footer,children:[(0,H.jsx)(`span`,{className:hE.footerCount,children:u(`excluded_models.footer_count`,{excluded:n.excluded,total:n.total})}),(0,H.jsxs)(`span`,{className:hE.footerActions,children:[(0,H.jsx)(`button`,{type:`button`,className:hE.footerButton,onClick:i,disabled:o||t.length===0,children:u(`excluded_models.select_all`)}),(0,H.jsx)(`button`,{type:`button`,className:hE.footerButton,onClick:a,disabled:o,"aria-label":u(`excluded_models.clear_aria`),children:u(`excluded_models.clear`)})]})]})]})}function vE({id:e,candidate:t,state:n,highlighted:r,onHover:i,onToggle:a}){let{t:o}=ss(),s=n.state===`excluded`,c=n.state===`excluded`&&n.by===`wildcard`,l=n.state===`excluded`&&(n.by===`wildcard`||n.by===`both`)?{rule:n.rule,text:n.by===`wildcard`?o(`excluded_models.wildcard_locked`,{rule:n.rule}):o(`excluded_models.also_wildcard`,{rule:n.rule}),muted:n.by===`both`}:null,u=[hE.row,s?hE.rowExcluded:``,c?hE.rowLocked:``,r?hE.rowHighlighted:``].filter(Boolean).join(` `);return(0,H.jsxs)(`div`,{id:e,role:`option`,tabIndex:-1,"aria-selected":s,"aria-disabled":c||void 0,className:u,onMouseEnter:i,onClick:a,children:[(0,H.jsx)(`span`,{className:hE.checkbox,"aria-hidden":`true`,children:s?(0,H.jsx)(Bs,{size:12}):null}),(0,H.jsxs)(`span`,{className:hE.rowText,children:[(0,H.jsx)(`span`,{className:hE.rowId,children:t.id}),t.displayName&&t.displayName!==t.id?(0,H.jsx)(`span`,{className:hE.rowDisplayName,children:t.displayName}):null,l?(0,H.jsx)(`span`,{className:hE.rowReason,children:l.text}):null]}),l?(0,H.jsx)(`span`,{className:`${hE.badge} ${l.muted?hE.badgeMuted:``}`.trim(),children:o(`excluded_models.badge_wildcard`)}):null]})}var yE=8;function bE({value:e,onChange:t,candidates:n,catalogState:r=`ready`,onRetryCatalog:i,disabled:a=!1,reservedRules:o,reservedRuleMessage:s,showRuleEditor:c=!0,labelledBy:l,className:u}){let{t:d}=ss(),f=(0,y.useId)(),p=`${f}-panel`,m=`${f}-listbox`,[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(!1),b=(0,y.useRef)(null),x=(0,y.useMemo)(()=>new Set((o??[]).map(e=>e.trim().toLowerCase())),[o]),S=(0,y.useMemo)(()=>iE(e).filter(e=>!x.has(e.trim().toLowerCase())),[x,e]),C=(0,y.useMemo)(()=>n.map(e=>e.id),[n]),w=(0,y.useMemo)(()=>mE(S,C),[C,S]),{exactRules:T,unknownRules:E,customRules:D}=(0,y.useMemo)(()=>lE(S,C),[C,S]),O=(0,y.useCallback)(e=>{t(e.filter(e=>!x.has(e.trim().toLowerCase())))},[t,x]),k=r===`ready`&&n.length>0,A=(0,y.useMemo)(()=>{if(!k)return[];let e=[];return C.forEach(t=>{let n=dE(S,t);n.state===`excluded`&&n.by===`wildcard`&&e.push({id:t,rule:n.rule})}),e},[C,k,S]),j=(0,y.useMemo)(()=>k?pE(D,C):[],[C,D,k]),M=(e,t)=>O(cE(S,e,t)),N=()=>O(iE([...S,...C])),ee=()=>O(D),P=e=>{let t=e.split(/\r?\n/).some(e=>x.has(e.trim().toLowerCase()));v(t),O(uE(S,C,e))},F=(0,y.useCallback)(()=>{g(!1),b.current?.focus({preventScroll:!0})},[]);return(0,H.jsxs)(`div`,{className:`${hE.root} ${u??``}`.trim(),children:[(0,H.jsxs)(`button`,{ref:b,type:`button`,className:`${hE.trigger} ${h?hE.triggerOpen:``}`.trim(),onClick:()=>g(e=>!e),onKeyDown:e=>{e.key===`ArrowDown`&&!h?(e.preventDefault(),g(!0)):e.key===`Escape`&&h&&(e.preventDefault(),e.stopPropagation(),g(!1))},"aria-expanded":h,"aria-controls":h?p:void 0,"aria-labelledby":l,disabled:a,children:[(0,H.jsxs)(`span`,{className:hE.triggerText,children:[r===`loading`?(0,H.jsx)(Ps,{size:13,className:hE.triggerSpinner,"aria-hidden":`true`}):null,r===`loading`?d(`excluded_models.catalog_loading`):k?w.excluded===0&&S.length===0?d(`excluded_models.trigger_empty`):d(`excluded_models.trigger_summary`,{excluded:w.excluded,available:w.available}):S.length===0?d(`excluded_models.trigger_empty`):d(`excluded_models.trigger_summary_rules`,{n:S.length})]}),(0,H.jsx)(Is,{size:14,className:hE.chevron,"aria-hidden":`true`}),k?(0,H.jsx)(`span`,{className:hE.meter,role:`img`,"aria-label":d(`excluded_models.meter_aria`,{excluded:w.excluded,total:w.total}),children:(0,H.jsx)(`span`,{className:hE.meterFill,style:{width:`${w.total?w.excluded/w.total*100:0}%`}})}):null]}),(0,H.jsx)(`div`,{id:p,className:`${hE.disclosure} ${h?hE.disclosureOpen:``}`.trim(),children:(0,H.jsx)(`div`,{className:hE.disclosureInner,inert:!h,children:r===`ready`||n.length>0?(0,H.jsx)(_E,{rules:S,candidates:n,stats:w,onToggle:M,onSelectAll:N,onClear:ee,disabled:a,listboxId:m,autoFocus:h,onDismiss:F}):(0,H.jsxs)(`div`,{className:hE.catalogNotice,children:[(0,H.jsx)(`span`,{children:d(r===`loading`?`excluded_models.catalog_loading`:r===`error`?`excluded_models.catalog_error`:`excluded_models.catalog_unavailable`)}),i&&r!==`loading`?(0,H.jsx)(`button`,{type:`button`,className:hE.retryButton,onClick:i,children:d(`excluded_models.catalog_retry`)}):null]})})}),T.length>0||A.length>0||E.length>0?(0,H.jsxs)(eE,{children:[T.map(e=>(0,H.jsx)(tE,{label:e,variant:`exact`,onRemove:()=>O(cE(S,e,!1)),removeAriaLabel:d(`excluded_models.chip_remove`,{rule:e}),disabled:a},`exact-${e.toLowerCase()}`)),A.slice(0,yE).map(e=>(0,H.jsx)(tE,{label:e.id,variant:`wildcard`,detail:e.rule,title:d(`excluded_models.wildcard_reason`,{rule:e.rule})},`derived-${e.id.toLowerCase()}`)),A.length>yE?(0,H.jsx)(`span`,{className:hE.chipsMore,children:d(`excluded_models.chips_more`,{n:A.length-yE})}):null,E.map(e=>(0,H.jsx)(tE,{label:e,variant:`unknown`,detail:d(`excluded_models.badge_unknown`),onRemove:()=>O(cE(S,e,!1)),removeAriaLabel:d(`excluded_models.chip_remove`,{rule:e}),disabled:a},`unknown-${e.toLowerCase()}`))]}):null,c?(0,H.jsxs)(`div`,{className:hE.ruleEditor,children:[(0,H.jsx)(`label`,{className:hE.ruleLabel,htmlFor:`${f}-rules`,children:d(`excluded_models.rules_label`)}),(0,H.jsx)(`textarea`,{id:`${f}-rules`,className:`input`,value:oE(D),placeholder:d(`excluded_models.rules_placeholder`),rows:3,disabled:a,spellCheck:!1,onChange:e=>P(e.target.value)}),_?(0,H.jsxs)(`p`,{className:hE.ruleWarning,children:[(0,H.jsx)(js,{size:12,"aria-hidden":`true`}),s??d(`excluded_models.rules_reserved`)]}):null,k?(0,H.jsx)(`ul`,{className:hE.ruleMatches,children:j.map(e=>(0,H.jsxs)(`li`,{className:e.matchCount===0?hE.ruleMatchNone:void 0,children:[(0,H.jsx)(`code`,{children:e.rule}),e.matchCount===0?d(`excluded_models.rules_match_none`):d(`excluded_models.rules_match_count`,{n:e.matchCount})]},e.rule.toLowerCase()))}):null,(0,H.jsx)(`p`,{className:`hint`,children:d(`excluded_models.rules_hint`)})]}):null]})}var xE=3e4,SE=`2023-06-01`,CE={state:`idle`,message:``},wE=(e,t)=>{let n=Ec(e);return typeof e==`object`&&e&&`code`in e&&String(e.code)===`ECONNABORTED`||n.toLowerCase().includes(`timeout`)?t.timeout(xE/1e3):n||t.requestFailed},TE=(e,t)=>{let n=(e??``).trim();if(n)return n;for(let e of t){let t=(e.name??``).trim();if(t)return t}return``},EE=e=>{let t=Object.entries(e).find(([e])=>e.toLowerCase()===`authorization`)?.[1];if(!t)return``;let n=String(t).match(/^Bearer\s+(.+)$/i);return n?n[1].trim():``};function DE(e,t){let{brand:n,baseUrl:r,testModel:i,models:a,formHeaders:o,apiKeyEntries:s,apiKey:c,fallbackApiKey:l,authIndex:u}=e,d=s?.length??0,[f,p]=(0,y.useState)(()=>Array.from({length:d},()=>CE)),[m,h]=(0,y.useState)(CE),[g,_]=(0,y.useState)(CE),[v,b]=(0,y.useState)(CE),[x,S]=(0,y.useState)(0),C=(0,y.useMemo)(()=>(s??[]).map(e=>[e.apiKey??``,e.existingApiKey??``,e.authIndex??``,e.proxyUrl??``].join(`||`)),[s]),w=(0,y.useRef)(C);(0,y.useEffect)(()=>{let e=w.current,t=C;w.current=t,p(n=>{let r=t.length,i=n.length!==r,a=n.slice(0,r);for(;a.length<r;)a.push(CE);for(let n=0;n<r;n++)e[n]!==void 0&&e[n]!==t[n]&&a[n].state!==`idle`&&(a[n]=CE,i=!0);return i?a:n})},[C]);let T=(0,y.useMemo)(()=>{let e=o.map(e=>`${e.key}:${e.value}`).join(`|`),t=a.map(e=>`${e.name}:${e.alias??``}`).join(`|`);return[r,(i??``).trim(),c??``,l??``,u??``,e,t].join(`||`)},[c,u,r,l,i,o,a]),E=(0,y.useRef)(T);(0,y.useEffect)(()=>{E.current!==T&&(E.current=T,p(e=>e.map(()=>CE)),h(CE),_(CE),b(CE))},[T]);let D=(0,y.useCallback)((e,t)=>{p(n=>{let r=[...n];return r[e]=t,r})},[]),O=(0,y.useCallback)(async e=>{if(n!==`openaiCompatibility`)return!1;let c=r.trim();if(!c)return D(e,{state:`error`,message:t.baseUrlRequired}),!1;let l=yx(c);if(!l)return D(e,{state:`error`,message:t.endpointInvalid}),!1;let d=s?.[e],f=(d?.apiKey??``).trim()||(d?.existingApiKey??``).trim(),p=(d?.authIndex??``).trim()||(u??``).trim()||void 0;if(!f&&!p)return D(e,{state:`error`,message:t.apiKeyRequired}),!1;let m=TE(i,a);if(!m)return D(e,{state:`error`,message:t.modelRequired}),!1;let h={"Content-Type":`application/json`,...sp(o)};cp(h,`authorization`)||(f?h.Authorization=`Bearer ${f}`:p&&(h.Authorization=`Bearer $TOKEN$`)),D(e,{state:`loading`,message:``}),S(e=>e+1);try{let t=await Rp.request({authIndex:p,method:`POST`,url:l,header:h,data:JSON.stringify({model:m,messages:[{role:`user`,content:`Hi`}],stream:!1,max_tokens:5})},{timeout:xE});if(t.statusCode<200||t.statusCode>=300)throw Error(Lp(t));return D(e,{state:`success`,message:``}),!0}catch(n){return D(e,{state:`error`,message:wE(n,t)}),!1}finally{S(e=>e-1)}},[s,u,r,n,o,t,a,i,D]),k=(0,y.useCallback)(async()=>{if(n!==`openaiCompatibility`)return;let e=s??[];e.length&&await Promise.all(e.map((e,t)=>O(t)))},[s,n,O]),A=(0,y.useCallback)(async()=>{if(n!==`codex`&&n!==`xai`)return;let e=r.trim();if(!e){h({state:`error`,message:t.baseUrlRequired});return}let s=bx(e);if(!s){h({state:`error`,message:t.endpointInvalid});return}let d=TE(i,a);if(!d){h({state:`error`,message:t.modelRequired});return}let f=sp(o),p=(c??``).trim(),m=(l??``).trim(),g=cp(f,`authorization`),_=p||m,v=(u??``).trim()||void 0;if(!_&&!g&&!v){h({state:`error`,message:t.apiKeyRequired});return}let y={"Content-Type":`application/json`,...f};cp(y,`authorization`)||(_?y.Authorization=`Bearer ${_}`:v&&(y.Authorization=`Bearer $TOKEN$`)),h({state:`loading`,message:``}),S(e=>e+1);try{let e=await Rp.request({authIndex:v,method:`POST`,url:s,header:y,data:JSON.stringify({model:d,input:`Hi`,stream:!1})},{timeout:xE});if(e.statusCode<200||e.statusCode>=300)throw Error(Lp(e));h({state:`success`,message:``})}catch(e){h({state:`error`,message:wE(e,t)})}finally{S(e=>e-1)}},[c,u,r,n,l,o,t,a,i]),j=(0,y.useCallback)(async()=>{if(n!==`gemini`&&n!==`interactions`)return;let e=TE(i,a);if(!e){_({state:`error`,message:t.modelRequired});return}let s=n===`interactions`?wx(r??``):Tx(r??``,e);if(!s){_({state:`error`,message:t.endpointInvalid});return}let d=sp(o),f=(c??``).trim(),p=(l??``).trim(),m=cp(d,`x-goog-api-key`),h=f||p,g=(u??``).trim()||void 0;if(!h&&!m&&!g){_({state:`error`,message:t.apiKeyRequired});return}let v={"Content-Type":`application/json`,...d};cp(v,`x-goog-api-key`)||(h?v[`x-goog-api-key`]=h:g&&(v[`x-goog-api-key`]=`$TOKEN$`)),n===`interactions`&&!cp(v,`api-revision`)&&(v[`Api-Revision`]=Sx),_({state:`loading`,message:``}),S(e=>e+1);try{let t=await Rp.request({authIndex:g,method:`POST`,url:s,header:v,data:JSON.stringify(n===`interactions`?Cx(e):{contents:[{parts:[{text:`Hi`}]}],generationConfig:{maxOutputTokens:8}})},{timeout:xE});if(t.statusCode<200||t.statusCode>=300)throw Error(Lp(t));_({state:`success`,message:``})}catch(e){_({state:`error`,message:wE(e,t)})}finally{S(e=>e-1)}},[c,u,r,n,l,o,t,a,i]),M=(0,y.useCallback)(async()=>{if(n!==`claude`&&n!==`claudeApi`)return;let e=xx(r??``);if(!e){b({state:`error`,message:t.endpointInvalid});return}let s=TE(i,a);if(!s){b({state:`error`,message:t.modelRequired});return}let d=sp(o),f=(c??``).trim(),p=(l??``).trim(),m=EE(d),h=cp(d,`x-api-key`),g=f||p||m,_=(u??``).trim()||void 0;if(!g&&!h&&!_){b({state:`error`,message:t.apiKeyRequired});return}let v={"Content-Type":`application/json`,...d};cp(v,`anthropic-version`)||(v[`anthropic-version`]=SE),!h&&g?v[`x-api-key`]=g:!h&&_&&(v[`x-api-key`]=`$TOKEN$`),b({state:`loading`,message:``}),S(e=>e+1);try{let t=await Rp.request({authIndex:_,method:`POST`,url:e,header:v,data:JSON.stringify({model:s,max_tokens:8,messages:[{role:`user`,content:`Hi`}]})},{timeout:xE});if(t.statusCode<200||t.statusCode>=300)throw Error(Lp(t));b({state:`success`,message:``})}catch(e){b({state:`error`,message:wE(e,t)})}finally{S(e=>e-1)}},[c,u,r,n,l,o,t,a,i]);return{openaiStatuses:f,codexStatus:m,geminiStatus:g,claudeStatus:v,isTestingAny:x>0,runOpenAIKey:O,runOpenAIAllKeys:k,runCodex:A,runGemini:j,runClaude:M}}function OE({state:e}){return e===`loading`?(0,H.jsx)(`span`,{className:`${q.statusIcon} ${q.statusIconLoading}`,children:(0,H.jsx)(Ps,{size:14})}):e===`success`?(0,H.jsx)(`span`,{className:`${q.statusIcon} ${q.statusIconSuccess}`,children:(0,H.jsx)(Ms,{size:14})}):e===`error`?(0,H.jsx)(`span`,{className:`${q.statusIcon} ${q.statusIconError}`,children:(0,H.jsx)(js,{size:14})}):null}var kE=10,AE={state:`idle`,message:``},jE=e=>!e.apiKey.trim()&&!e.existingApiKey?.trim();function ME({entries:e,removeDisabled:t,mutating:n,statuses:r,isTestingAny:i,onUpdate:a,onAdd:o,onRemove:s,onTest:c,onTestAll:l}){let{t:u}=ss(),[d,f]=(0,y.useState)(()=>e.length===1&&jE(e[0])?0:null),[p,m]=(0,y.useState)(new Set),[h,g]=(0,y.useState)(!1),_=e=>{m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},v=()=>{let e=o();f(e)},b=e=>{m(t=>{if(!t.size)return t;let n=new Set;return t.forEach(t=>{t<e?n.add(t):t>e&&n.add(t-1)}),n}),f(t=>t===null||t===e?null:t>e?t-1:t),s(e)},x=e.map((e,t)=>({entry:e,idx:t})).reverse(),S=h?x:x.slice(0,kE);return(0,H.jsxs)(`div`,{className:q.entriesList,children:[(0,H.jsxs)(`div`,{className:`${q.entriesToolbar} ${q.entriesToolbarSplit}`,children:[(0,H.jsxs)(`button`,{type:`button`,className:q.addBtn,disabled:n,onClick:v,children:[(0,H.jsx)(ks,{size:12}),(0,H.jsx)(`span`,{children:u(`providersPage.form.addApiKeyEntry`)})]}),(0,H.jsxs)(`button`,{type:`button`,className:q.connectivityBtn,disabled:n||i,onClick:l,children:[i?(0,H.jsx)(`span`,{className:`${q.statusIcon} ${q.statusIconLoading}`,children:(0,H.jsx)(Ps,{size:14})}):null,(0,H.jsx)(`span`,{children:u(`providersPage.connectivity.testAll`)})]})]}),S.map(({entry:e,idx:i})=>{let o=r[i]??AE,s=d===i,l=e.apiKey.trim()||e.existingApiKey?.trim()||``;return(0,H.jsxs)(`div`,{className:q.entryCard,children:[(0,H.jsxs)(`div`,{className:q.entryCardHeader,children:[(0,H.jsxs)(`button`,{type:`button`,className:q.entryCardToggle,"aria-expanded":s,onClick:()=>f(s?null:i),children:[(0,H.jsx)(`span`,{children:u(`providersPage.form.apiKeyEntry`,{index:i+1})}),(0,H.jsxs)(`span`,{className:q.entrySummary,children:[e.proxyUrl.trim()?(0,H.jsx)(`span`,{className:q.entryBadge,title:e.proxyUrl,children:u(`providersPage.form.proxyBadge`)}):null,(0,H.jsx)(`span`,{className:q.entrySummaryKey,children:l?Fh(l):u(`providersPage.status.notConfigured`)})]})]}),(0,H.jsxs)(`div`,{className:q.entryCardHeaderRight,children:[(0,H.jsx)(OE,{state:o.state}),(0,H.jsxs)(`button`,{type:`button`,className:q.connectivityBtnGhost,disabled:n||o.state===`loading`,onClick:()=>c(i),children:[o.state===`loading`?(0,H.jsx)(`span`,{className:`${q.statusIcon} ${q.statusIconLoading}`,children:(0,H.jsx)(Ps,{size:14})}):null,(0,H.jsx)(`span`,{children:u(`providersPage.connectivity.test`)})]}),(0,H.jsx)(`button`,{type:`button`,className:q.entryCardIconBtn,onClick:()=>f(s?null:i),title:u(s?`common.collapse`:`common.expand`),"aria-label":u(s?`common.collapse`:`common.expand`),children:(0,H.jsx)(Is,{className:[q.entryCardChevron,s?q.entryCardChevronOpen:``].filter(Boolean).join(` `),size:14})}),(0,H.jsx)(`button`,{type:`button`,className:q.removeBtn,disabled:n||t,onClick:()=>b(i),children:(0,H.jsx)(zs,{size:12})})]})]}),o.state===`error`?(0,H.jsx)(`div`,{className:q.connectivityError,children:o.message}):null,s?(0,H.jsxs)(`div`,{className:q.entryCardBody,children:[(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,children:u(`providersPage.form.apiKey`)}),(0,H.jsxs)(`div`,{className:q.passwordField,children:[(0,H.jsx)(`input`,{className:q.passwordInput,type:p.has(i)?`text`:`password`,value:e.apiKey,onChange:e=>a(i,{apiKey:e.target.value}),autoComplete:`new-password`,"data-1p-ignore":`true`,"data-lpignore":`true`,"data-bwignore":`true`,disabled:n,placeholder:e.existingApiKey?u(`providersPage.form.apiKeyEditPlaceholder`):u(`providersPage.form.apiKeyCreatePlaceholder`)}),(0,H.jsx)(`button`,{type:`button`,className:q.passwordToggle,onClick:()=>_(i),disabled:n,"aria-label":p.has(i)?u(`providersPage.form.hideApiKey`):u(`providersPage.form.showApiKey`),title:p.has(i)?u(`providersPage.form.hideApiKey`):u(`providersPage.form.showApiKey`),children:p.has(i)?(0,H.jsx)(Hs,{size:16}):(0,H.jsx)(Vs,{size:16})})]})]}),(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,children:u(`providersPage.form.proxyUrl`)}),(0,H.jsx)(`input`,{className:q.input,value:e.proxyUrl,onChange:e=>a(i,{proxyUrl:e.target.value}),disabled:n,placeholder:`http://127.0.0.1:7890`})]}),(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,children:u(`providersPage.form.weight`)}),(0,H.jsx)(`input`,{className:q.input,type:`number`,step:`1`,max:lp,value:e.weight??``,onChange:e=>a(i,{weight:e.target.value===``?void 0:Number(e.target.value)}),disabled:n,placeholder:`1`}),(0,H.jsx)(`span`,{className:q.labelHint,children:u(`providersPage.form.weightHint`)})]})]}):null]},i)}),e.length>kE?(0,H.jsx)(`button`,{type:`button`,className:q.showMoreBtn,onClick:()=>g(e=>!e),children:h?u(`providersPage.form.showFewerEntries`):u(`providersPage.form.showAllEntries`,{count:e.length})}):null]})}var NE=[`*`],PE=()=>({key:``,value:``}),FE=()=>({name:``,alias:``}),IE=()=>({apiKey:``,proxyUrl:``,weight:void 0}),LE=`https://api.x.ai/v1`,RE=e=>(e??[]).filter(e=>e.trim()!==`*`),zE=e=>!e||Object.keys(e).length===0?``:JSON.stringify(e,null,2),BE=e=>e===`claude`||e===`claudeApi`;function VE(e,t,n){if(n===`create`||!t)return{apiKey:``,name:``,baseUrl:e===`claudeApi`?cS:e===`xai`?LE:``,proxyUrl:``,prefix:``,disabled:!1,disableCooling:!1,priority:void 0,weight:void 0,models:[FE()],headers:[PE()],excludedModelsText:``,websockets:e===`codex`||e===`xai`?!1:void 0,cloak:BE(e)?{mode:``,strictMode:!1,sensitiveWordsText:``,cacheUserId:!1}:void 0,experimentalCchSigning:!BE(e)&&void 0,testModel:e===`openaiCompatibility`||e===`codex`||e===`xai`||BE(e)||e===`gemini`||e===`interactions`?``:void 0,apiKeyEntries:e===`openaiCompatibility`?[IE()]:void 0};let r=t.raw;if(e===`openaiCompatibility`){let e=r;return{apiKey:``,name:e.name??``,baseUrl:e.baseUrl??``,proxyUrl:``,prefix:e.prefix??``,disabled:e.disabled===!0,disableCooling:e.disableCooling===!0,priority:e.priority,models:e.models?.length?e.models.map(e=>({name:e.name,alias:e.alias??``,priority:e.priority,testModel:e.testModel,image:e.image===!0,thinkingJson:zE(e.thinking),thinkingLevels:vT(e.thinking)})):[FE()],headers:e.headers?Object.entries(e.headers).map(([e,t])=>({key:e,value:String(t)})):[PE()],excludedModelsText:``,testModel:e.testModel??``,apiKeyEntries:e.apiKeyEntries?.length?e.apiKeyEntries.map(e=>({apiKey:``,existingApiKey:e.apiKey,proxyUrl:e.proxyUrl??``,weight:e.weight,authIndex:e.authIndex})):[IE()]}}let i=r,a=px(i.excludedModels),o=RE(i.excludedModels);return{apiKey:``,name:``,baseUrl:i.baseUrl??``,proxyUrl:i.proxyUrl??``,prefix:i.prefix??``,disabled:a,disableCooling:i.disableCooling===!0,priority:i.priority,weight:i.weight,models:i.models?.length?i.models.map(e=>({name:e.name,alias:e.alias??``,priority:e.priority,testModel:e.testModel,thinkingJson:zE(e.thinking),thinkingLevels:vT(e.thinking)})):[FE()],headers:i.headers?Object.entries(i.headers).map(([e,t])=>({key:e,value:String(t)})):[PE()],excludedModelsText:o.join(`
`),websockets:e===`codex`||e===`xai`?i.websockets===!0:void 0,cloak:BE(e)?{mode:i.cloak?.mode??``,strictMode:i.cloak?.strictMode===!0,sensitiveWordsText:i.cloak?.sensitiveWords?.join(`
`)??``,cacheUserId:i.cloak?.cacheUserId===!0}:void 0,experimentalCchSigning:BE(e)?i.experimentalCchSigning===!0:void 0,testModel:e===`codex`||e===`xai`||BE(e)||e===`gemini`||e===`interactions`?``:void 0}}function HE({brand:e,resource:t,mode:n,mutating:r,formId:i,onSubmit:a,onDirtyChange:o}){let{t:s}=ss(),c=ZT[e],l=(0,y.useId)(),[u,d]=(0,y.useState)(()=>VE(e,t,n)),[f]=(0,y.useState)(()=>JSON.stringify(VE(e,t,n))),[p,m]=(0,y.useState)(null),[h,g]=(0,y.useState)(!1),_=(0,y.useMemo)(()=>JSON.stringify(u)!==f,[u,f]);(0,y.useEffect)(()=>{o?.(_)},[_,o]);let v=(0,y.useMemo)(()=>n!==`edit`||!t||e===`openaiCompatibility`?``:t.raw?.apiKey??``,[e,n,t]),b=(0,y.useMemo)(()=>n!==`edit`||!t?``:t.raw?.authIndex??``,[n,t]),x=(0,y.useMemo)(()=>({baseUrlRequired:s(`providersPage.connectivity.baseUrlRequired`),endpointInvalid:s(`providersPage.connectivity.endpointInvalid`),apiKeyRequired:s(`providersPage.connectivity.apiKeyRequired`),modelRequired:s(`providersPage.connectivity.modelRequired`),timeout:e=>s(`providersPage.connectivity.timeout`,{seconds:e}),requestFailed:s(`providersPage.connectivity.requestFailed`)}),[s]),S=DE({brand:e,baseUrl:u.baseUrl,testModel:u.testModel,models:u.models,formHeaders:u.headers,apiKeyEntries:u.apiKeyEntries,apiKey:u.apiKey,fallbackApiKey:v,authIndex:b},x),C=TT({brand:e,baseUrl:u.baseUrl,formHeaders:u.headers,apiKeyEntries:u.apiKeyEntries,apiKey:u.apiKey,fallbackApiKey:v,authIndex:b}),[w,T]=(0,y.useState)(!1),E=(0,y.useMemo)(()=>{let e=new Set;return u.models.forEach(t=>{let n=(t.name??``).trim();n&&e.add(n)}),e},[u.models]),D=(0,y.useMemo)(()=>{let e=new Set,t=[];u.models.forEach(n=>{let r=(n.name??``).trim();!r||e.has(r)||(e.add(r),t.push(r))});let n=t[0],r=[{value:``,label:n?s(`providersPage.form.testModelAutoWith`,{name:n}):s(`providersPage.form.testModelAutoEmpty`)}];t.forEach(e=>r.push({value:e,label:e}));let i=(u.testModel??``).trim();return i&&!e.has(i)&&r.push({value:i,label:s(`providersPage.form.testModelCustom`,{name:i})}),r},[u.models,u.testModel,s]),O=()=>{T(!0),!C.loading&&!C.hasFetched&&C.fetch()},k=()=>{T(!1)},A=e=>{e.length&&d(t=>{let n=new Set,r=[];t.models.forEach(e=>{let t=(e.name??``).trim();if(t){if(n.has(t))return;n.add(t)}r.push(e)});let i=r.findIndex(e=>!(e.name??``).trim()&&!(e.alias??``).trim());return i!==-1&&r.splice(i,1),e.forEach(e=>{let t=e.name.trim();!t||n.has(t)||(n.add(t),r.push({name:t,alias:(e.alias??``).trim()}))}),{...t,models:r}})},j=(e,t)=>{d(n=>({...n,[e]:t}))},M=(e,t)=>{d(n=>({...n,cloak:{...n.cloak??{mode:``,strictMode:!1,sensitiveWordsText:``,cacheUserId:!1},[e]:t}}))},N=()=>{if(c.supportsName&&!u.name.trim())return s(`providersPage.form.validation.nameRequired`);if(c.supportsApiKey&&n===`create`&&!u.apiKey.trim())return s(`providersPage.form.validation.apiKeyRequired`);if(c.baseUrlRequired&&!u.baseUrl.trim())return s(`providersPage.form.validation.baseUrlRequired`);let t=[...e===`openaiCompatibility`?(u.apiKeyEntries??[]).map(e=>e.weight):[],...e===`openaiCompatibility`?[]:[u.weight]];return t.some(e=>e!==void 0&&!Number.isSafeInteger(e))?s(`providersPage.form.validation.weightInteger`):t.some(e=>e!==void 0&&e>1e6)?s(`providersPage.form.validation.weightMax`,{max:lp}):null},ee=async e=>{e.preventDefault();let t=N();if(t){m(t);return}try{m(null),await a(u)}catch(e){m(e instanceof Error?e.message:String(e))}},P=(0,y.useMemo)(()=>u.headers.length?u.headers:[PE()],[u.headers]),F=(0,y.useMemo)(()=>u.models.length?u.models:[FE()],[u.models]),I=(0,y.useMemo)(()=>u.apiKeyEntries&&u.apiKeyEntries.length?u.apiKeyEntries:[IE()],[u.apiKeyEntries]),L=(0,y.useMemo)(()=>aE(u.excludedModelsText),[u.excludedModelsText]),R=(0,y.useMemo)(()=>{let e=new Map;return C.models.forEach(t=>{let n=t.name?.trim();n&&e.set(n.toLowerCase(),{id:n,displayName:t.alias||void 0})}),u.models.forEach(t=>{let n=t.name?.trim();n&&!e.has(n.toLowerCase())&&e.set(n.toLowerCase(),{id:n})}),[...e.values()].sort((e,t)=>e.id.localeCompare(t.id,void 0,{sensitivity:`base`}))},[C.models,u.models]),z=C.loading?`loading`:C.error?`error`:R.length===0?`unavailable`:`ready`,te=u.apiKeyEntries??[],B=e===`gemini`||e===`interactions`||e===`codex`||e===`xai`||BE(e)||e===`openaiCompatibility`,V=e===`openaiCompatibility`,ne=e===`codex`||e===`xai`?{status:S.codexStatus,run:S.runCodex}:e===`gemini`||e===`interactions`?{status:S.geminiStatus,run:S.runGemini}:BE(e)?{status:S.claudeStatus,run:S.runClaude}:null;return(0,H.jsxs)(`form`,{id:i,className:q.form,onSubmit:ee,noValidate:!0,children:[(0,H.jsxs)(`div`,{className:q.section,children:[c.supportsName?(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${l}-name`,children:s(`providersPage.form.name`)}),(0,H.jsx)(`input`,{id:`${l}-name`,className:q.input,value:u.name,onChange:e=>j(`name`,e.target.value),disabled:r})]}):null,c.supportsApiKey?(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${l}-apiKey`,children:s(`providersPage.form.apiKey`)}),(0,H.jsxs)(`div`,{className:q.passwordField,children:[(0,H.jsx)(`input`,{id:`${l}-apiKey`,className:q.passwordInput,type:h?`text`:`password`,value:u.apiKey,onChange:e=>j(`apiKey`,e.target.value),autoComplete:`new-password`,"data-1p-ignore":`true`,"data-lpignore":`true`,"data-bwignore":`true`,placeholder:s(n===`edit`?`providersPage.form.apiKeyEditPlaceholder`:`providersPage.form.apiKeyCreatePlaceholder`),disabled:r}),(0,H.jsx)(`button`,{type:`button`,className:q.passwordToggle,onClick:()=>g(e=>!e),disabled:r,"aria-label":s(h?`providersPage.form.hideApiKey`:`providersPage.form.showApiKey`),title:s(h?`providersPage.form.hideApiKey`:`providersPage.form.showApiKey`),children:h?(0,H.jsx)(Hs,{size:16}):(0,H.jsx)(Vs,{size:16})})]})]}):null,c.supportsBaseUrl?(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsxs)(`label`,{className:q.label,htmlFor:`${l}-baseUrl`,children:[s(`providersPage.form.baseUrl`),c.baseUrlRequired?(0,H.jsxs)(`span`,{className:q.labelHint,children:[` `,`· `,s(`providersPage.form.baseUrlRequiredHint`)]}):null]}),(0,H.jsx)(`input`,{id:`${l}-baseUrl`,className:q.input,value:u.baseUrl,onChange:e=>j(`baseUrl`,e.target.value),placeholder:`https://api.example.com`,disabled:r})]}):null,c.supportsProxyUrl?(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${l}-proxy`,children:s(`providersPage.form.proxyUrl`)}),(0,H.jsx)(`input`,{id:`${l}-proxy`,className:q.input,value:u.proxyUrl,onChange:e=>j(`proxyUrl`,e.target.value),placeholder:`http://127.0.0.1:7890`,disabled:r})]}):null,c.supportsPrefix?(0,H.jsxs)(`div`,{className:q.fieldRow,children:[(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${l}-prefix`,children:s(`providersPage.form.prefix`)}),(0,H.jsx)(`input`,{id:`${l}-prefix`,className:q.input,value:u.prefix,onChange:e=>j(`prefix`,e.target.value),disabled:r})]}),c.supportsPriority?(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${l}-prio`,children:s(`providersPage.form.priority`)}),(0,H.jsx)(`input`,{id:`${l}-prio`,type:`number`,className:q.input,value:u.priority??``,onChange:e=>j(`priority`,e.target.value===``?void 0:Number(e.target.value)),disabled:r})]}):null]}):null,e===`openaiCompatibility`?null:(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,htmlFor:`${l}-weight`,children:s(`providersPage.form.weight`)}),(0,H.jsx)(`input`,{id:`${l}-weight`,type:`number`,step:`1`,max:lp,className:q.input,value:u.weight??``,placeholder:`1`,onChange:e=>j(`weight`,e.target.value===``?void 0:Number(e.target.value)),disabled:r}),(0,H.jsx)(`span`,{className:q.labelHint,children:s(`providersPage.form.weightHint`)})]}),c.supportsTestModel?(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsxs)(`label`,{className:q.label,htmlFor:`${l}-testModel`,children:[s(`providersPage.form.testModel`),e===`codex`||e===`xai`||BE(e)||e===`gemini`||e===`interactions`?(0,H.jsxs)(`span`,{className:q.labelHint,children:[` `,`· `,s(`providersPage.form.testModelClaudeHint`)]}):null]}),(0,H.jsx)(hc,{id:`${l}-testModel`,value:u.testModel??``,options:D,onChange:e=>j(`testModel`,e),disabled:r,ariaLabel:s(`providersPage.form.testModel`)}),ne?(0,H.jsxs)(`div`,{className:q.connectivityRow,children:[(0,H.jsxs)(`button`,{type:`button`,className:q.connectivityBtn,disabled:r||S.isTestingAny,onClick:()=>void ne.run(),children:[ne.status.state===`loading`?(0,H.jsx)(`span`,{className:`${q.statusIcon} ${q.statusIconLoading}`,children:(0,H.jsx)(Ps,{size:14})}):null,(0,H.jsx)(`span`,{children:s(`providersPage.connectivity.test`)})]}),(0,H.jsx)(OE,{state:ne.status.state}),ne.status.state===`success`?(0,H.jsx)(`span`,{className:q.connectivityHintSuccess,children:s(`providersPage.connectivity.success`)}):null]}):null,ne?.status.state===`error`?(0,H.jsx)(`div`,{className:q.connectivityError,children:ne.status.message}):null]}):null,c.supportsWebsockets?(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:u.websockets??!1,disabled:r,onChange:e=>j(`websockets`,e.target.checked)}),(0,H.jsx)(`span`,{className:q.checkboxText,children:(0,H.jsx)(`span`,{children:s(`providersPage.form.websockets`)})})]}):null,c.supportsDisabled?(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:u.disabled,disabled:r,onChange:e=>j(`disabled`,e.target.checked)}),(0,H.jsxs)(`span`,{className:q.checkboxText,children:[(0,H.jsx)(`span`,{children:s(`providersPage.form.disabled`)}),(0,H.jsx)(`small`,{children:s(`providersPage.form.disabledHint`)})]})]}):null,B?(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:u.disableCooling??!1,disabled:r,onChange:e=>j(`disableCooling`,e.target.checked)}),(0,H.jsxs)(`span`,{className:q.checkboxText,children:[(0,H.jsx)(`span`,{children:s(`providersPage.form.disableCooling`)}),(0,H.jsx)(`small`,{children:s(`providersPage.form.disableCoolingHint`)})]})]}):null]}),c.supportsApiKeyEntries&&u.apiKeyEntries?(0,H.jsx)(Ub,{label:s(`providersPage.form.apiKeyEntriesSection`),hint:`${I.filter(e=>e.apiKey.trim()||e.existingApiKey?.trim()).length}`,defaultOpen:!0,children:(0,H.jsx)(ME,{entries:I,removeDisabled:te.length===0,mutating:r,statuses:S.openaiStatuses,isTestingAny:S.isTestingAny,onUpdate:(e,t)=>j(`apiKeyEntries`,I.map((n,r)=>r===e?{...n,...t}:n)),onAdd:()=>{let e=[...te,IE()];return j(`apiKeyEntries`,e),e.length-1},onRemove:e=>j(`apiKeyEntries`,te.filter((t,n)=>n!==e)),onTest:e=>void S.runOpenAIKey(e),onTestAll:()=>void S.runOpenAIAllKeys()})}):null,c.supportsHeaders?(0,H.jsx)(Ub,{label:s(`providersPage.form.headersSection`),children:(0,H.jsxs)(`div`,{className:q.entriesList,children:[P.map((e,t)=>(0,H.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr auto`,gap:8},children:[(0,H.jsx)(`input`,{className:q.input,placeholder:`X-Custom-Header`,value:e.key,onChange:e=>j(`headers`,P.map((n,r)=>r===t?{...n,key:e.target.value}:n)),disabled:r}),(0,H.jsx)(`input`,{className:q.input,placeholder:`value`,value:e.value,onChange:e=>j(`headers`,P.map((n,r)=>r===t?{...n,value:e.target.value}:n)),disabled:r}),(0,H.jsx)(`button`,{type:`button`,className:q.removeBtn,disabled:r||P.length<=1,onClick:()=>j(`headers`,P.filter((e,n)=>n!==t)),children:(0,H.jsx)(zs,{size:12})})]},t)),(0,H.jsxs)(`button`,{type:`button`,className:q.addBtn,disabled:r,onClick:()=>j(`headers`,[...P,PE()]),children:[(0,H.jsx)(ks,{size:12}),(0,H.jsx)(`span`,{children:s(`providersPage.form.addHeader`)})]})]})}):null,c.supportsModels?(0,H.jsx)(Ub,{label:s(`providersPage.form.modelsSection`),hint:`${E.size}`,children:(0,H.jsxs)(`div`,{className:q.entriesList,children:[C.available?(0,H.jsx)(`div`,{className:q.entriesToolbar,children:(0,H.jsxs)(`button`,{type:`button`,className:q.connectivityBtn,onClick:O,disabled:r,children:[(0,H.jsx)(ws,{size:14}),(0,H.jsx)(`span`,{children:s(`providersPage.discovery.openButton`)})]})}):null,C.available&&w?(0,H.jsx)(bT,{loading:C.loading,error:C.error,models:C.models,hasFetched:C.hasFetched,existingNames:E,mutating:r,onApply:e=>{A(e)},onReload:()=>void C.fetch(),onClose:k}):null,(0,H.jsx)(ST,{models:F,supportsImage:V,supportsThinking:!0,mutating:r,removeDisabled:F.length<=1,onUpdate:(e,t)=>{j(`models`,F.map((n,r)=>r===e?{...n,...t}:n))},onAdd:()=>j(`models`,[...F,FE()]),onRemove:e=>{j(`models`,F.filter((t,n)=>n!==e))}})]})}):null,c.supportsExcludedModels?(0,H.jsx)(Ub,{label:s(`providersPage.form.excludedSection`),children:(0,H.jsx)(`div`,{className:q.field,children:(0,H.jsx)(bE,{value:L,onChange:e=>j(`excludedModelsText`,oE(e)),candidates:R,catalogState:z,onRetryCatalog:C.available?()=>void C.fetch():void 0,disabled:r,reservedRules:NE,reservedRuleMessage:s(`providersPage.form.excludedDisabledNote`)})})}):null,c.supportsCloak&&u.cloak?(0,H.jsx)(Ub,{label:s(`providersPage.form.cloakSection`),children:(0,H.jsxs)(`div`,{className:q.section,children:[(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,children:s(`providersPage.form.cloakMode`)}),(0,H.jsx)(`input`,{className:q.input,value:u.cloak.mode,onChange:e=>M(`mode`,e.target.value),placeholder:`auto / always / never`,disabled:r})]}),(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:u.cloak.strictMode,disabled:r,onChange:e=>M(`strictMode`,e.target.checked)}),(0,H.jsx)(`span`,{className:q.checkboxText,children:(0,H.jsx)(`span`,{children:s(`providersPage.form.cloakStrict`)})})]}),(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:u.cloak.cacheUserId,disabled:r,onChange:e=>M(`cacheUserId`,e.target.checked)}),(0,H.jsxs)(`span`,{className:q.checkboxText,children:[(0,H.jsx)(`span`,{children:s(`providersPage.form.cloakCacheUserId`)}),(0,H.jsx)(`small`,{children:s(`providersPage.form.cloakCacheUserIdHint`)})]})]}),(0,H.jsxs)(`label`,{className:q.checkboxRow,children:[(0,H.jsx)(`input`,{type:`checkbox`,className:q.checkboxBox,checked:u.experimentalCchSigning??!1,disabled:r,onChange:e=>j(`experimentalCchSigning`,e.target.checked)}),(0,H.jsxs)(`span`,{className:q.checkboxText,children:[(0,H.jsx)(`span`,{children:s(`providersPage.form.experimentalCchSigning`)}),(0,H.jsx)(`small`,{children:s(`providersPage.form.experimentalCchSigningHint`)})]})]}),(0,H.jsxs)(`div`,{className:q.field,children:[(0,H.jsx)(`label`,{className:q.label,children:s(`providersPage.form.cloakSensitiveWords`)}),(0,H.jsx)(`textarea`,{className:q.textarea,rows:3,value:u.cloak.sensitiveWordsText,onChange:e=>M(`sensitiveWordsText`,e.target.value),disabled:r})]})]})}):null,p?(0,H.jsx)(`div`,{className:q.errorBox,children:p}):null]})}var UE=e=>e===`claude`?`anthropicEntries`:e===`codex`?`codexEntries`:`${e}Entries`;function WE({resource:e,usageByProvider:t}){let{t:n}=ss();if(jw(e.brand)){let t=Nw(e.brand),r=e.raw,i=r.openai.reduce((e,t)=>e+(t.config.apiKeyEntries?.length??0),0),a=r.codex.length,o=r.gemini.length,s=r.openai.flatMap(e=>e.config.apiKeyEntries??[]).find(e=>e.apiKey?.trim())?.apiKey??r.codex.find(e=>e.config.apiKey?.trim())?.config.apiKey??r.claude.find(e=>e.config.apiKey?.trim())?.config.apiKey??r.gemini.find(e=>e.config.apiKey?.trim())?.config.apiKey,c=t.resolveBaseUrl(r.openai[0]?.config.baseUrl??r.codex[0]?.config.baseUrl??r.claude[0]?.config.baseUrl??r.gemini[0]?.config.baseUrl),l=t.getProtocolUrls(c),u={openai:i,codex:a,claude:r.claude.length,gemini:o};return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`div`,{className:q.detailHeader,children:[(0,H.jsx)(`div`,{className:q.sectionTitle,children:e.name??e.identifier}),(0,H.jsx)(`p`,{className:q.sectionDesc,children:n(`providersPage.sponsor.detailHint`,{provider:t.displayName})})]}),(0,H.jsx)(`div`,{className:q.sponsorProtocolGrid,children:t.protocols.map(e=>(0,H.jsxs)(`div`,{className:q.sponsorProtocolCard,children:[(0,H.jsx)(`span`,{className:q.sponsorProtocolName,children:n(`providersPage.sponsor.protocols.${Pw(e)}`)}),(0,H.jsx)(`span`,{className:q.sponsorProtocolUrl,children:Lw(l,e)})]},e))}),(0,H.jsxs)(`dl`,{className:q.dl,style:{marginTop:16},children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:q.dt,children:n(`providersPage.detail.fields.identifier`)}),(0,H.jsx)(`dd`,{className:q.dd,children:s?Fh(s):e.identifier})]}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:q.dt,children:n(`providersPage.detail.fields.prefix`)}),(0,H.jsx)(`dd`,{className:q.dd,children:e.prefix??n(`providersPage.status.none`)})]}),t.protocols.map(e=>(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:q.dt,children:n(`providersPage.sponsor.${UE(e)}`)}),(0,H.jsx)(`dd`,{className:q.dd,children:u[e]})]},e))]})]})}let r=[[`identifier`,e.identifier],[`baseUrl`,e.baseUrl??n(`providersPage.status.notSet`)],[`proxyUrl`,e.proxyUrl??n(`providersPage.status.notSet`)],[`prefix`,e.prefix??n(`providersPage.status.none`)],[`models`,String(e.modelCount)],[`headers`,String(e.headerCount)]],i=[[`authIndex`,e.authIndex??n(`providersPage.status.notSet`)],[`excludedModels`,String(e.excludedModelCount)],[`apiKeyEntries`,String(e.apiKeyEntryCount)]],a=e.brand===`openaiCompatibility`?e.raw:null,o=a?.apiKeyEntries??[];return(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`div`,{className:q.detailHeader,children:(0,H.jsx)(`div`,{className:q.sectionTitle,children:e.name??e.identifier})}),(0,H.jsx)(`dl`,{className:q.dl,children:r.map(([e,t])=>(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:q.dt,children:n(`providersPage.detail.fields.${e}`)}),(0,H.jsx)(`dd`,{className:q.dd,children:t})]},e))}),a&&o.length>0?(0,H.jsxs)(`div`,{className:q.apiKeyEntriesSection,children:[(0,H.jsxs)(`div`,{className:q.apiKeyEntriesLabel,children:[n(`providersPage.form.apiKeyEntriesSection`),`: `,o.length]}),(0,H.jsx)(`div`,{className:q.apiKeyEntryList,children:o.map((e,n)=>{let r=t?Mx(t,a.name,e.apiKey,a.baseUrl):{success:0,failure:0};return(0,H.jsxs)(`div`,{className:q.apiKeyEntryCard,children:[(0,H.jsx)(`span`,{className:q.apiKeyEntryIndex,children:n+1}),(0,H.jsx)(`span`,{className:q.apiKeyEntryKey,children:Fh(e.apiKey)}),e.proxyUrl?(0,H.jsx)(`span`,{className:q.apiKeyEntryProxy,children:e.proxyUrl}):null,(0,H.jsxs)(`div`,{className:q.apiKeyEntryStats,children:[(0,H.jsxs)(`span`,{className:`${q.apiKeyEntryStat} ${q.apiKeyEntryStatSuccess}`,children:[(0,H.jsx)(Bs,{size:12}),` `,r.success]}),(0,H.jsxs)(`span`,{className:`${q.apiKeyEntryStat} ${q.apiKeyEntryStatFailure}`,children:[(0,H.jsx)(zs,{size:12}),` `,r.failure]})]})]},`${e.apiKey}-${n}`)})})]}):null,(0,H.jsx)(`div`,{style:{marginTop:16},children:(0,H.jsx)(Ub,{label:n(`providersPage.detail.metadataTitle`),children:(0,H.jsx)(`dl`,{className:q.dl,children:i.map(([e,t])=>(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`dt`,{className:q.dt,children:n(`providersPage.detail.fields.${e}`)}),(0,H.jsx)(`dd`,{className:q.dd,children:t})]},e))})})})]})}function GE({state:e,onClose:t,onSwitchToEdit:n,workbench:r,onCreated:i,onUpdated:a,mutationDisabled:o=!1,usageByProvider:s,ref:c}){let{t:l}=ss(),{showConfirmation:u}=Kc(),d=(0,y.useId)(),[f,p]=(0,y.useState)(!1),[m,h]=(0,y.useState)(!1);(0,y.useEffect)(()=>{h(!1)},[e.brand,e.mode,e.resource?.id,e.open]);let g=(0,y.useCallback)(e=>{h(e)},[]),_=ZT[e.brand],v=e.mode===`create`||e.mode===`edit`,b=f||o,x=b||e.mode===`edit`&&!m,S=(0,y.useCallback)(()=>!v||!m||f?Promise.resolve(!0):new Promise(e=>{u({title:l(`providersPage.unsavedChanges.title`),message:l(`providersPage.unsavedChanges.message`),variant:`danger`,confirmText:l(`providersPage.unsavedChanges.discard`),cancelText:l(`providersPage.unsavedChanges.keepEditing`),onConfirm:()=>e(!0),onCancel:()=>e(!1)})}),[m,v,u,f,l]);(0,y.useImperativeHandle)(c,()=>({confirmDiscardIfDirty:S}),[S]);let C=(0,y.useCallback)(()=>{S().then(e=>{e&&t()})},[S,t]),w=e.mode===`create`?`${l(`providersPage.form.createEyebrow`)} · ${l(`providersPage.providerNames.${e.brand}`)}`:e.mode===`edit`?`${l(`providersPage.form.editEyebrow`)} · ${l(`providersPage.providerNames.${e.brand}`)}`:`${l(`providersPage.detail.title`)} · ${l(`providersPage.providerNames.${e.brand}`)}`,T=(0,y.useCallback)(async t=>{if(!o){p(!0);try{await r.createProvider(e.brand,t),i()}finally{p(!1)}}},[o,i,e.brand,r]),E=(0,y.useCallback)(async t=>{if(!(!e.resource||o||!m)){p(!0);try{await r.updateProvider(e.resource,t),a()}finally{p(!1)}}},[m,o,a,e.resource,r]),D=()=>{if(e.mode===`detail`)return e.resource?(0,H.jsx)(WE,{resource:e.resource,usageByProvider:s}):null;let t=`${e.brand}:${e.resource?.id??`new`}:${e.mode}`;return jw(e.brand)?(0,H.jsx)(WT,{brand:e.brand,resource:e.resource,mode:e.mode,mutating:b,formId:d,onSubmit:e.mode===`create`?T:E,onDirtyChange:g},t):(0,H.jsx)(HE,{brand:e.brand,resource:e.resource,mode:e.mode,mutating:b,formId:d,onSubmit:e.mode===`create`?T:E,onDirtyChange:g},t)},O=e.mode===`detail`?e.resource?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`button`,{type:`button`,className:`${q.footerBtn} ${q.footerBtnGhost}`,onClick:t,children:l(`providersPage.actions.cancel`)}),(0,H.jsxs)(`button`,{type:`button`,className:`${q.footerBtn} ${q.footerBtnPrimary}`,onClick:n,disabled:b,children:[(0,H.jsx)(As,{size:14}),l(`providersPage.actions.edit`)]})]}):(0,H.jsx)(`button`,{type:`button`,className:`${q.footerBtn} ${q.footerBtnPrimary}`,onClick:t,children:l(`providersPage.actions.cancel`)}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`button`,{type:`button`,className:`${q.footerBtn} ${q.footerBtnGhost}`,onClick:C,disabled:f,children:l(`providersPage.actions.cancel`)}),(0,H.jsxs)(`button`,{type:`submit`,form:d,className:`${q.footerBtn} ${q.footerBtnPrimary}`,disabled:x,children:[f?(0,H.jsx)(Ps,{size:14}):null,e.mode===`create`?l(`providersPage.actions.create`):l(`providersPage.actions.save`)]})]});return(0,H.jsx)(XT,{open:e.open,onClose:t,size:_.sheetSize,eyebrow:e.mode===`detail`?l(`providersPage.detail.title`):e.mode===`create`?l(`providersPage.form.createEyebrow`):l(`providersPage.form.editEyebrow`),title:w,description:l(`providersPage.table.description`,{route:e.brand===`openaiCompatibility`?`/ai-providers/openai`:e.brand===`apikeyFun`?`/quick-start`:e.brand===`claudeApi`?`/ai-providers/claudeapi`:e.brand===`code0`?`/ai-providers/code0`:e.brand===`fennoAI`?`/ai-providers/fennoai`:e.brand===`qiniuCloud`?`/ai-providers/qiniu`:e.brand===`lmuAI`?`/ai-providers/lmuai`:e.brand===`kimi`?`/ai-providers/kimi`:`/ai-providers/${e.brand}`}),footer:O,closeDisabled:f,confirmClose:S,children:D()})}var KE=e=>e?Object.keys(e).length:0,qE=e=>{let t=new Set;return(e??[]).forEach(e=>{let n=(e?.name??``).trim();n&&t.add(n)}),Array.from(t)},JE=e=>typeof e==`number`&&Number.isFinite(e)?e:0,YE=(e,t,n)=>`${e}:${t}:${n||`item`}`,XE=e=>{let t=String(e??``).trim();return t?t.length<=12?t:t.slice(0,8):``};function ZE(e,t,n){let r=t.apiKey??``,i=px(t.excludedModels),a={};(e===`codex`||e===`xai`)&&(a.websockets=t.websockets===!0),(e===`claude`||e===`claudeApi`)&&(a.cloakEnabled=!!t.cloak?.mode?.trim());let o={brand:e,apiKey:r,baseUrl:t.baseUrl,index:n};return{id:YE(e,n,XE(r)),brand:e,originalIndex:n,name:null,identifier:Fh(r)||`#${n+1}`,apiKeyPreview:r?Fh(r):null,apiKey:r||null,authIndex:t.authIndex??null,baseUrl:t.baseUrl??null,proxyUrl:t.proxyUrl??null,prefix:t.prefix??null,modelCount:t.models?.length??0,models:qE(t.models),priority:JE(t.priority),headerCount:KE(t.headers),excludedModelCount:mx(t.excludedModels).length,apiKeyEntryCount:0,disabled:i,flags:a,selector:o,raw:t}}function QE(e,t){return ZE(`gemini`,e,t)}function $E(e,t){return ZE(`interactions`,e,t)}function eD(e,t){return ZE(`codex`,e,t)}function tD(e,t){return ZE(`xai`,e,t)}function nD(e,t){return ZE(`claude`,e,t)}function rD(e,t){return{...ZE(`claudeApi`,e,t),name:sS}}function iD(e,t){return ZE(`vertex`,e,t)}function aD(e,t){let n=e.sourceIndex??t,r=(e.name??``).trim(),i=e.apiKeyEntries?.[0],a=i?.apiKey?Fh(i.apiKey):null;return{id:YE(`openaiCompatibility`,n,XE(r)||`#${n}`),brand:`openaiCompatibility`,originalIndex:n,name:r||null,identifier:r||`#${n+1}`,apiKeyPreview:a,apiKey:null,authIndex:e.authIndex??null,baseUrl:e.baseUrl??null,proxyUrl:null,prefix:e.prefix??null,modelCount:e.models?.length??0,models:qE(e.models),priority:JE(e.priority),headerCount:KE(e.headers),excludedModelCount:0,apiKeyEntryCount:e.apiKeyEntries?.length??0,disabled:e.disabled===!0,flags:{},selector:{brand:`openaiCompatibility`,name:r,index:n},raw:e}}function oD(e,t,n){if(t.openai.length===0&&t.claude.length===0&&t.codex.length===0&&t.gemini.length===0)return null;let r=t.openai.reduce((e,t)=>e+(t.config.apiKeyEntries?.length??0),0),i=t.codex.length,a=t.gemini.length,o=t.openai.flatMap(e=>e.config.apiKeyEntries??[]).find(e=>e.apiKey?.trim()),s=t.codex.find(e=>e.config.apiKey?.trim()),c=t.claude.find(e=>e.config.apiKey?.trim()),l=t.gemini.find(e=>e.config.apiKey?.trim()),u=o?.apiKey??s?.config.apiKey??c?.config.apiKey??l?.config.apiKey??``,d=t.openai.length>0&&t.openai.every(e=>e.config.disabled===!0),f=t.codex.length>0&&t.codex.every(e=>px(e.config.excludedModels)),p=t.claude.length>0&&t.claude.every(e=>px(e.config.excludedModels)),m=t.gemini.length>0&&t.gemini.every(e=>px(e.config.excludedModels)),h=+(t.openai.length>0&&!d)+ +(t.codex.length>0&&!f)+ +(t.claude.length>0&&!p)+ +(t.gemini.length>0&&!m),g=(t.openai.length>0||t.codex.length>0||t.claude.length>0||t.gemini.length>0)&&h===0,_=[...t.openai.flatMap(e=>qE(e.config.models)),...t.codex.flatMap(e=>qE(e.config.models)),...t.claude.flatMap(e=>qE(e.config.models)),...t.gemini.flatMap(e=>qE(e.config.models))],v=Array.from(new Set(_)),y=t.openai.reduce((e,t)=>e+KE(t.config.headers),0)+t.codex.reduce((e,t)=>e+KE(t.config.headers),0)+t.claude.reduce((e,t)=>e+KE(t.config.headers),0)+t.gemini.reduce((e,t)=>e+KE(t.config.headers),0),b=Math.max(0,...t.openai.map(e=>JE(e.config.priority)),...t.codex.map(e=>JE(e.config.priority)),...t.claude.map(e=>JE(e.config.priority)),...t.gemini.map(e=>JE(e.config.priority))),x=n.resolveBaseUrl(t.openai[0]?.config.baseUrl??t.codex[0]?.config.baseUrl??t.claude[0]?.config.baseUrl??t.gemini[0]?.config.baseUrl),S=n.getProtocolUrls(x);return{id:YE(e,0,`sponsor`),brand:e,originalIndex:0,name:n.displayName,identifier:n.displayName,apiKeyPreview:u?Fh(u):null,apiKey:u||null,authIndex:null,baseUrl:[S.openai,S.anthropic,S.gemini].filter(Boolean).join(` / `),proxyUrl:o?.proxyUrl??t.codex.find(e=>e.config.proxyUrl)?.config.proxyUrl??t.claude.find(e=>e.config.proxyUrl)?.config.proxyUrl??t.gemini.find(e=>e.config.proxyUrl)?.config.proxyUrl??null,prefix:t.openai[0]?.config.prefix??t.codex[0]?.config.prefix??t.claude[0]?.config.prefix??t.gemini[0]?.config.prefix??null,modelCount:v.length,models:v,priority:b,headerCount:y,excludedModelCount:t.codex.reduce((e,t)=>e+mx(t.config.excludedModels).length,0)+t.claude.reduce((e,t)=>e+mx(t.config.excludedModels).length,0)+t.gemini.reduce((e,t)=>e+mx(t.config.excludedModels).length,0),apiKeyEntryCount:r+i+t.claude.length+a,disabled:g,flags:{protocols:[...n.protocolLabels]},selector:{brand:e,openaiIndices:t.openai.map(e=>e.index),claudeIndices:t.claude.map(e=>e.index),codexIndices:t.codex.map(e=>e.index),geminiIndices:t.gemini.map(e=>e.index)},raw:t}}function sD(e){return oD(`apikeyFun`,e,{displayName:PS,protocolLabels:GS,resolveBaseUrl:JS,getProtocolUrls:YS})}function cD(e){return oD(`code0`,e,{displayName:dC,protocolLabels:gC,resolveBaseUrl:yC,getProtocolUrls:bC})}function lD(e){return oD(`fennoAI`,e,{displayName:AC,protocolLabels:FC,resolveBaseUrl:RC,getProtocolUrls:zC})}function uD(e){return oD(`qiniuCloud`,e,{displayName:KC,protocolLabels:QC,resolveBaseUrl:tw,getProtocolUrls:nw})}function dD(e){return oD(`lmuAI`,e,{displayName:fw,protocolLabels:_w,resolveBaseUrl:bw,getProtocolUrls:xw})}function fD(e){return oD(`kimi`,e,{displayName:mS,protocolLabels:wS,resolveBaseUrl:OS,getProtocolUrls:kS})}var pD=e=>e.split(/[\n,]+/).map(e=>e.trim()).filter(Boolean),mD=e=>{let t={};return e.forEach(e=>{let n=e.key.trim();n&&(t[n]=e.value)}),t},hD=e=>{let t=(e??``).trim();if(!t)return;let n=JSON.parse(t);if(!n||typeof n!=`object`||Array.isArray(n))throw Error(`Thinking config must be a JSON object`);return n},gD=(e,t,n)=>{let r=pD(e).filter(e=>e!==`*`);return n===`openaiCompatibility`?r.length?r:void 0:t?hx(r):r.length?r:void 0},_D=(e,t=!1)=>(e??[]).map(e=>{let n={name:e.name.trim(),alias:e.alias?.trim()||void 0,priority:e.priority,testModel:e.testModel,thinking:e.thinkingLevelsTouched?yT(e.thinkingLevels):hD(e.thinkingJson)};return t&&(n.image=e.image===!0),n}).filter(e=>e.name),vD=(e,t,n)=>{let r=mD(t.headers),i=_D(t.models),a=gD(t.excludedModelsText,t.disabled,e),o={apiKey:t.apiKey.trim().length>0?t.apiKey.trim():n?.apiKey??``,priority:t.priority,weight:t.weight,prefix:t.prefix.trim()||void 0,baseUrl:t.baseUrl.trim()||void 0,proxyUrl:t.proxyUrl.trim()||void 0,models:i.length?i:void 0,headers:Object.keys(r).length?r:void 0,excludedModels:a,disableCooling:t.disableCooling===!0,authIndex:n?.authIndex};return(e===`codex`||e===`xai`)&&t.websockets!==void 0&&(o.websockets=t.websockets),e===`claude`&&t.cloak&&(o.cloak={mode:t.cloak.mode.trim()||void 0,strictMode:t.cloak.strictMode,sensitiveWords:pD(t.cloak.sensitiveWordsText),cacheUserId:t.cloak.cacheUserId===!0}),e===`claude`&&(o.experimentalCchSigning=t.experimentalCchSigning===!0),o},yD=(e,t)=>vD(`claude`,{...e,baseUrl:cS},t),bD=(e,t)=>{let n=mD(e.headers),r=_D(e.models,!0),i=e.apiKeyEntries?.map((e,n)=>{let r=e.existingApiKey?.trim()||t?.apiKeyEntries?.[n]?.apiKey?.trim()||``;return{apiKey:e.apiKey.trim()||r,proxyUrl:e.proxyUrl.trim()||void 0,weight:e.weight,authIndex:e.authIndex?.trim()||void 0}}).filter(e=>e.apiKey)??[];return{...t??{},name:e.name.trim(),baseUrl:e.baseUrl.trim(),prefix:e.prefix.trim()||void 0,apiKeyEntries:i,disabled:e.disabled,disableCooling:e.disableCooling===!0,headers:Object.keys(n).length?n:void 0,models:r.length?r:void 0,priority:e.priority,testModel:e.testModel?.trim()||void 0}},xD=e=>e.apiKey.trim()||e.existingApiKey?.trim()||``,SD=(e,t,n,r)=>{let i=n(e.baseUrl),a=_D(e.models,!0),o=xD(e),s=r?.apiKeyEntries?.[0],c=o?[{...s??{},apiKey:o,proxyUrl:e.proxyUrl.trim()||void 0,weight:e.weight}]:[];return{...r??{},name:t,baseUrl:i.openai,prefix:e.prefix.trim()||void 0,disabled:e.disabled,disableCooling:e.disableCooling===!0,priority:e.priority,apiKeyEntries:c,models:a.length?a:void 0}},CD=(e,t,n,r)=>{let i=n(e.baseUrl),a=_D(e.models),o=xD(e),s=e.disabled?hx(mx(r?.excludedModels)):gx(r?.excludedModels);return{...r??{},apiKey:o,baseUrl:t===`claude`?i.anthropic:i.codex,proxyUrl:e.proxyUrl.trim()||void 0,prefix:e.prefix.trim()||void 0,priority:e.priority,weight:e.weight,disableCooling:e.disableCooling===!0,excludedModels:s,models:a.length?a:void 0}},wD=(e,t,n)=>{let r=t(e.baseUrl),i=_D(e.models),a=xD(e),o=e.disabled?hx(mx(n?.excludedModels)):gx(n?.excludedModels);return{...n??{},apiKey:a,baseUrl:r.gemini,proxyUrl:e.proxyUrl.trim()||void 0,prefix:e.prefix.trim()||void 0,priority:e.priority,weight:e.weight,disableCooling:e.disableCooling===!0,excludedModels:o,models:i.length?i:void 0}},TD=e=>(e??[]).filter(e=>xD(e)),ED=async(e,t)=>{for(let n of e.gemini){let e=t?hx(n.config.excludedModels):gx(n.config.excludedModels);await zv.updateGeminiKey(n.config.apiKey,n.config.baseUrl,{...n.config,excludedModels:e})}for(let n of e.codex){let e=t?hx(n.config.excludedModels):gx(n.config.excludedModels);await zv.updateCodexConfig(n.config.apiKey,n.config.baseUrl,{...n.config,excludedModels:e})}for(let n of e.claude){let e=t?hx(n.config.excludedModels):gx(n.config.excludedModels);await zv.updateClaudeConfig(n.config.apiKey,n.config.baseUrl,{...n.config,excludedModels:e})}for(let n of e.openai)await zv.updateOpenAIProviderDisabled(n.index,t)};function DD(){let e=am(e=>e.connectionStatus),t=jp(e=>e.config),n=jp(e=>e.fetchConfig),r=jp(e=>e.updateConfigValue),i=jp(e=>e.isCacheValid),[a,o]=(0,y.useState)(()=>!i()),[s,c]=(0,y.useState)(!1),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(()=>new Date().toISOString()),h=(0,y.useRef)(!1),g=e===`connected`,_=(0,y.useCallback)(async()=>{c(!0),u(null);try{let[e,t,i]=await Promise.allSettled([n(!0),zv.getVertexConfigs(),zv.getOpenAIProviders()]);if(e.status!==`fulfilled`)throw e.reason;t.status===`fulfilled`&&r(`vertex-api-key`,t.value||[]),i.status===`fulfilled`&&r(`openai-compatibility`,i.value||[]),m(new Date().toISOString())}catch(e){u(Ec(e)||`Failed to load providers`)}finally{o(!1),c(!1)}},[n,r]),v=(0,y.useCallback)(()=>{m(new Date().toISOString())},[]);(0,y.useEffect)(()=>{h.current||g&&(h.current=!0,_().catch(()=>{}))},[g,_]);let b=(0,y.useMemo)(()=>{if(!t)return null;let e=QT.map(e=>{let n=[];switch(e){case`gemini`:n=(t.geminiApiKeys??[]).reduce((e,t,n)=>(!DC(t)&&!lw(t)&&!Ow(t)&&e.push(QE(t,n)),e),[]);break;case`interactions`:n=(t.interactionsApiKeys??[]).map((e,t)=>$E(e,t));break;case`codex`:n=(t.codexApiKeys??[]).reduce((e,t,n)=>(!sC(t)&&!EC(t)&&!UC(t)&&!cw(t)&&!Dw(t)&&e.push(eD(t,n)),e),[]);break;case`xai`:n=(t.xaiApiKeys??[]).map((e,t)=>tD(e,t));break;case`claude`:n=(t.claudeApiKeys??[]).reduce((e,t,n)=>(!oC(t)&&!TC(t)&&!HC(t)&&!sw(t)&&!Ew(t)&&!jS(t)&&!fS(t)&&e.push(nD(t,n)),e),[]);break;case`claudeApi`:n=(t.claudeApiKeys??[]).reduce((e,t,n)=>(fS(t)&&e.push(rD(t,n)),e),[]);break;case`vertex`:n=(t.vertexApiKeys??[]).map((e,t)=>iD(e,t));break;case`openaiCompatibility`:n=(t.openaiCompatibility??[]).reduce((e,t,n)=>(!aC(t)&&!wC(t)&&!ow(t)&&!Tw(t)&&!AS(t)&&e.push(aD(t,n)),e),[]);break;case`apikeyFun`:{let e=sD(cC(t));n=e?[e]:[];break}case`code0`:{let e=cD(OC(t));n=e?[e]:[];break}case`fennoAI`:{let e=lD(WC(t));n=e?[e]:[];break}case`qiniuCloud`:{let e=uD(uw(t));n=e?[e]:[];break}case`lmuAI`:{let e=dD(kw(t));n=e?[e]:[];break}case`kimi`:{let e=fD(MS(t));n=e?[e]:[];break}}return{id:e,resources:n}});return{fetchedAt:p,groups:e}},[t,p]),x=(0,y.useCallback)(async(e,n)=>{let r=Nw(e),i=e===`apikeyFun`?cC(t):e===`code0`?OC(t):e===`fennoAI`?WC(t):e===`qiniuCloud`?uw(t):e===`lmuAI`?kw(t):MS(t),a=TD(n.sponsorKeyEntries),o=a.find(e=>e.protocol===`openai`),s=a.find(e=>e.protocol===`claude`),c=a.find(e=>e.protocol===`codex`),l=a.find(e=>e.protocol===`gemini`);if(r.protocols.includes(`gemini`)){let e=i.gemini[0];if(l){let t=wD(l,r.getProtocolUrls,e?.config);e?await zv.updateGeminiKey(e.config.apiKey,e.config.baseUrl,t):await zv.createGeminiKey(t)}else for(let e of i.gemini)await zv.deleteGeminiKey(e.config.apiKey,e.config.baseUrl)}let u=i.codex[0];if(c){let e=CD(c,`codex`,r.getProtocolUrls,u?.config);u?await zv.updateCodexConfig(u.config.apiKey,u.config.baseUrl,e):await zv.createCodexConfig(e)}else for(let e of i.codex)await zv.deleteCodexConfig(e.config.apiKey,e.config.baseUrl);let d=i.claude[0];if(s){let e=CD(s,`claude`,r.getProtocolUrls,d?.config);d?await zv.updateClaudeConfig(d.config.apiKey,d.config.baseUrl,e):await zv.createClaudeConfig(e)}else for(let e of i.claude)await zv.deleteClaudeConfig(e.config.apiKey,e.config.baseUrl);let f=i.openai[0];if(o){let e=SD(o,r.providerName,r.getProtocolUrls,f?.config);f?await zv.updateOpenAIProvider(f.config.name,f.index,e):await zv.createOpenAIProvider(e)}else f&&await zv.deleteOpenAIProvider(f.index)},[t]),S=(0,y.useCallback)(async(e,t)=>{f(!0);try{e===`gemini`?await zv.createGeminiKey(vD(`gemini`,t)):e===`interactions`?await zv.createInteractionsKey(vD(`interactions`,t)):e===`codex`?await zv.createCodexConfig(vD(`codex`,t)):e===`xai`?await zv.createXAIConfig(vD(`xai`,t)):e===`claude`?await zv.createClaudeConfig(vD(`claude`,t)):e===`claudeApi`?await zv.createClaudeConfig(yD(t)):e===`vertex`?await zv.createVertexConfig(vD(`vertex`,t)):e===`openaiCompatibility`?await zv.createOpenAIProvider(bD(t)):(e===`apikeyFun`||e===`code0`||e===`fennoAI`||e===`qiniuCloud`||e===`lmuAI`||e===`kimi`)&&await pT(()=>x(e,t),_),await _()}finally{f(!1)}},[x,_]),C=(0,y.useCallback)(async(e,t)=>{f(!0);try{let n=e.brand,r=e.selector;if(n===`gemini`&&r.brand===`gemini`){let n=e.raw;await zv.updateGeminiKey(r.apiKey,r.baseUrl,vD(`gemini`,t,n))}else if(n===`interactions`&&r.brand===`interactions`){let n=e.raw;await zv.updateInteractionsKey(r.apiKey,r.baseUrl,vD(`interactions`,t,n))}else if(n===`codex`&&r.brand===`codex`){let n=e.raw;await zv.updateCodexConfig(r.apiKey,r.baseUrl,vD(`codex`,t,n))}else if(n===`xai`&&r.brand===`xai`){let n=e.raw;await zv.updateXAIConfig(r.apiKey,r.baseUrl,vD(`xai`,t,n))}else if(n===`claude`&&r.brand===`claude`){let n=e.raw;await zv.updateClaudeConfig(r.apiKey,r.baseUrl,vD(`claude`,t,n))}else if(n===`claudeApi`&&r.brand===`claudeApi`)await zv.updateClaudeConfig(r.apiKey,r.baseUrl,yD(t,e.raw));else if(n===`vertex`&&r.brand===`vertex`){let n=e.raw;await zv.updateVertexConfig(r.apiKey,r.baseUrl,vD(`vertex`,t,n))}else n===`openaiCompatibility`&&r.brand===`openaiCompatibility`?await zv.updateOpenAIProvider(r.name,r.index,bD(t,e.raw)):(n===`apikeyFun`||n===`code0`||n===`fennoAI`||n===`qiniuCloud`||n===`lmuAI`||n===`kimi`)&&await pT(()=>x(n,t),_);await _()}finally{f(!1)}},[x,_]),w=(0,y.useCallback)(async e=>{f(!0);try{let n=e.selector;if(n.brand===`gemini`){await zv.deleteGeminiKey(n.apiKey,n.baseUrl);let e=(t?.geminiApiKeys??[]).filter((e,t)=>t!==n.index);r(`gemini-api-key`,e)}else if(n.brand===`interactions`){await zv.deleteInteractionsKey(n.apiKey,n.baseUrl);let e=(t?.interactionsApiKeys??[]).filter((e,t)=>t!==n.index);r(`interactions-api-key`,e)}else if(n.brand===`codex`){await zv.deleteCodexConfig(n.apiKey,n.baseUrl);let e=(t?.codexApiKeys??[]).filter((e,t)=>t!==n.index);r(`codex-api-key`,e)}else if(n.brand===`xai`){await zv.deleteXAIConfig(n.apiKey,n.baseUrl);let e=(t?.xaiApiKeys??[]).filter((e,t)=>t!==n.index);r(`xai-api-key`,e)}else if(n.brand===`claude`){await zv.deleteClaudeConfig(n.apiKey,n.baseUrl);let e=(t?.claudeApiKeys??[]).filter((e,t)=>t!==n.index);r(`claude-api-key`,e)}else if(n.brand===`claudeApi`){await zv.deleteClaudeConfig(n.apiKey,n.baseUrl);let e=(t?.claudeApiKeys??[]).filter((e,t)=>t!==n.index);r(`claude-api-key`,e)}else if(n.brand===`vertex`){await zv.deleteVertexConfig(n.apiKey,n.baseUrl);let e=(t?.vertexApiKeys??[]).filter((e,t)=>t!==n.index);r(`vertex-api-key`,e)}else if(n.brand===`openaiCompatibility`){await zv.deleteOpenAIProvider(n.index);let e=(t?.openaiCompatibility??[]).filter((e,t)=>(e.sourceIndex??t)!==n.index);r(`openai-compatibility`,e)}else(n.brand===`apikeyFun`||n.brand===`code0`||n.brand===`fennoAI`||n.brand===`qiniuCloud`||n.brand===`lmuAI`||n.brand===`kimi`)&&await pT(async()=>{let t=e.raw;for(let e of t.gemini)await zv.deleteGeminiKey(e.config.apiKey,e.config.baseUrl);for(let e of t.codex)await zv.deleteCodexConfig(e.config.apiKey,e.config.baseUrl);for(let e of t.claude)await zv.deleteClaudeConfig(e.config.apiKey,e.config.baseUrl);let n=t.openai.map(e=>e.index).sort((e,t)=>t-e);for(let e of n)await zv.deleteOpenAIProvider(e)},_);await _()}finally{f(!1)}},[t,_,r]),T=(0,y.useCallback)(async(e,t)=>{f(!0);try{let n=e.brand,r=e.selector;if(n===`gemini`&&r.brand===`gemini`){let n=e.raw,i=t?hx(n.excludedModels):gx(n.excludedModels);await zv.updateGeminiKey(r.apiKey,r.baseUrl,{...n,excludedModels:i})}else if(n===`interactions`&&r.brand===`interactions`){let n=e.raw,i=t?hx(n.excludedModels):gx(n.excludedModels);await zv.updateInteractionsKey(r.apiKey,r.baseUrl,{...n,excludedModels:i})}else if(n===`codex`&&r.brand===`codex`||n===`xai`&&r.brand===`xai`||n===`claude`&&r.brand===`claude`||n===`claudeApi`&&r.brand===`claudeApi`||n===`vertex`&&r.brand===`vertex`){let n=e.raw,i=t?hx(n.excludedModels):gx(n.excludedModels),a={...n,excludedModels:i};r.brand===`codex`?await zv.updateCodexConfig(r.apiKey,r.baseUrl,a):r.brand===`xai`?await zv.updateXAIConfig(r.apiKey,r.baseUrl,a):r.brand===`claude`||r.brand===`claudeApi`?await zv.updateClaudeConfig(r.apiKey,r.baseUrl,a):r.brand===`vertex`&&await zv.updateVertexConfig(r.apiKey,r.baseUrl,a)}else n===`openaiCompatibility`&&r.brand===`openaiCompatibility`?await zv.updateOpenAIProviderDisabled(r.index,t):(n===`apikeyFun`||n===`code0`||n===`fennoAI`||n===`qiniuCloud`||n===`lmuAI`||n===`kimi`)&&await pT(()=>ED(e.raw,t),_);await _()}finally{f(!1)}},[_]);return{connected:g,isPending:a,isFetching:s,isError:!!l,errorMessage:l,snapshot:b,refetch:_,createProvider:S,updateProvider:C,deleteProvider:w,toggleDisabled:T,mutating:d,refreshSnapshot:v}}var OD=[`name`,`priority`,`recent-success`],kD=[`asc`,`desc`],AD=`providersPage.uiState`,jD=`gemini`,MD={filter:``,sortBy:`name`,sortDir:`asc`,selectedModels:[]},ND=new Set(QT),PD=new Set(OD),FD=new Set(kD),ID=e=>typeof e==`string`&&ND.has(e),LD=e=>typeof e==`string`&&PD.has(e),RD=e=>typeof e==`string`&&FD.has(e),zD=e=>{if(!Array.isArray(e))return[];let t=new Set;return e.forEach(e=>{if(typeof e!=`string`)return;let n=e.trim();n&&t.add(n)}),Array.from(t)},BD=e=>Tc(e)?{filter:typeof e.filter==`string`?e.filter:``,sortBy:LD(e.sortBy)?e.sortBy:`name`,sortDir:RD(e.sortDir)?e.sortDir:`asc`,selectedModels:zD(e.selectedModels)}:{...MD},VD=()=>({activeBrand:jD,filtersByBrand:{}}),HD=(e,t)=>e.filtersByBrand[t]??MD,UD=()=>{if(typeof window>`u`)return VD();try{let e=window.localStorage.getItem(AD);if(!e)return VD();let t=JSON.parse(e);if(!Tc(t))return VD();let n=Tc(t.filtersByBrand)?t.filtersByBrand:{},r={};return QT.forEach(e=>{let t=n[e];t!==void 0&&(r[e]=BD(t))}),{activeBrand:ID(t.activeBrand)?t.activeBrand:jD,filtersByBrand:r}}catch{return VD()}},WD=e=>{if(!(typeof window>`u`))try{window.localStorage.setItem(AD,JSON.stringify(e))}catch{}},GD={page:`ProvidersWorkbenchPage-module__page___b5s-a`,layout:`ProvidersWorkbenchPage-module__layout___MCNil`,layoutSingle:`ProvidersWorkbenchPage-module__layoutSingle___xRaf-`,modelCatalogSlot:`ProvidersWorkbenchPage-module__modelCatalogSlot___bAD6H`},KD=(e,t)=>{try{let n=new Date(e);return Number.isNaN(n.getTime())?e:new Intl.DateTimeFormat(t,{dateStyle:`medium`,timeStyle:`short`}).format(n)}catch{return e}},qD=(e,t)=>!t||[e.identifier,e.name,e.authIndex,e.apiKeyPreview,e.apiKey,e.baseUrl,e.proxyUrl,e.prefix].filter(Boolean).map(e=>String(e).toLowerCase()).some(e=>e.includes(t)),JD=e=>(e.name??e.identifier??e.apiKeyPreview??``).toLowerCase(),YD=(e,t)=>jw(e.brand)?0:e.brand===`openaiCompatibility`?Fx(e.raw,t).success:Nx(t,Ex(e.brand),e.apiKey??void 0,e.baseUrl??void 0).success;function XD({fixedBrand:e}={}){let{t,i18n:n}=ss(),r=am(e=>e.connectionStatus),{showNotification:i,showConfirmation:a}=Kc(),o=oh(),s=!o||o.status===`current`,c=DD(),[l,u]=(0,y.useState)(UD),[d,f]=(0,y.useState)({open:!1,brand:`gemini`,mode:`detail`,resource:null}),p=(0,y.useRef)(null),{usageByProvider:m,refreshRecentRequests:h}=pb({enabled:r===`connected`}),g=(0,y.useCallback)(async()=>{await Promise.allSettled([c.refetch(),h().catch(()=>void 0)])},[h,c]);Ah(g,s);let _=r!==`connected`||c.mutating||c.isFetching||c.isError,v=(0,y.useCallback)(e=>{u(t=>{let n=e(t);return WD(n),n})},[]),b=(0,y.useCallback)(e=>{v(t=>t.activeBrand===e?t:{...t,activeBrand:e})},[v]),x=(0,y.useMemo)(()=>c.snapshot?.groups??[],[c.snapshot]),S=(0,y.useMemo)(()=>e?x.filter(t=>t.id===e):x.filter(e=>e.id!==`apikeyFun`),[x,e]),C=S[0]?.id??e??`gemini`,w=e??(S.some(e=>e.id===l.activeBrand)?l.activeBrand:C),T=HD(l,w),E=T.filter,D=T.sortBy,O=T.sortDir,k=S.find(e=>e.id===w)??S[0]??null,A=(0,y.useCallback)(e=>{v(t=>{let n=HD(t,w);return{...t,filtersByBrand:{...t.filtersByBrand,[w]:{...n,...e}}}})},[w,v]),j=(0,y.useMemo)(()=>{if(!k)return[];let e=E.trim().toLowerCase();return k.resources.filter(t=>qD(t,e))},[k,E]),M=(0,y.useMemo)(()=>{if(!k)return[];let e=new Set;return k.resources.forEach(t=>{t.models.forEach(t=>e.add(t))}),Array.from(e).sort()},[k]),N=(0,y.useMemo)(()=>{if(M.length===0)return new Set;let e=new Set(M);return new Set(T.selectedModels.filter(t=>e.has(t)))},[T.selectedModels,M]),ee=(0,y.useMemo)(()=>{let e=j;return N.size>0&&(e=e.filter(e=>e.models.some(e=>N.has(e)))),[...e].sort((e,t)=>{let n=(D===`name`?JD(e).localeCompare(JD(t)):D===`priority`?e.priority-t.priority:YD(e,m)-YD(t,m))||e.originalIndex-t.originalIndex;return O===`asc`?n:-n})},[j,D,O,N,m]),P=(0,y.useMemo)(()=>{if(k)return{sortBy:D,sortDir:O,onSortBy:e=>A({sortBy:e}),onSortDir:e=>A({sortDir:e}),availableModels:M,selectedModels:N,onSelectedModelsChange:e=>A({selectedModels:Array.from(e).sort((e,t)=>e.localeCompare(t))})}},[k,M,D,O,N,A]),F=(0,y.useMemo)(()=>S.reduce((e,t)=>e+t.resources.length,0),[S]),I=(0,y.useMemo)(()=>S.reduce((e,t)=>e+t.resources.filter(e=>!e.disabled).length,0),[S]),L=(0,y.useMemo)(()=>S.filter(e=>e.resources.length>0).length,[S]),R=(0,y.useMemo)(()=>e===`apikeyFun`&&k?k.resources[0]??null:null,[k,e]),z=c.snapshot?KD(c.snapshot.fetchedAt,n.language):t(`providersPage.modelCatalog.notLoaded`),te=e===`apikeyFun`?R?PS:t(`nav.quick_start`):void 0,B=c.errorMessage?(0,H.jsx)(`div`,{className:`error-box`,children:c.errorMessage}):null,V=(0,y.useCallback)(()=>{f({open:!0,brand:w,mode:`create`,resource:null})},[w]),ne=(0,y.useCallback)(e=>{f({open:!0,brand:e.brand,mode:`detail`,resource:e})},[]),re=(0,y.useCallback)(e=>{f({open:!0,brand:e.brand,mode:`edit`,resource:e})},[]),ie=(0,y.useCallback)(()=>{f(e=>({...e,open:!1}))},[]),ae=(0,y.useCallback)(e=>{let n=e.name??e.apiKeyPreview??e.identifier??``;a({title:t(`providersPage.delete.title`),message:t(`providersPage.delete.confirm`,{name:n}),variant:`danger`,confirmText:t(`providersPage.actions.delete`),onConfirm:async()=>{try{await c.deleteProvider(e),i(t(`providersPage.toast.deleted`),`success`)}catch(e){if(fT(e)){i(t(`providersPage.sponsor.partialMutationWarning`),`warning`);return}let n=e instanceof Error?e.message:String(e);i(`${t(`notification.delete_failed`)}: ${n}`,`error`)}}})},[a,i,t,c]),oe=(0,y.useCallback)(async(e,n)=>{try{await c.toggleDisabled(e,n),i(t(n?`providersPage.toast.disabled`:`providersPage.toast.enabled`),`success`)}catch(e){if(fT(e)){i(t(`providersPage.sponsor.partialMutationWarning`),`warning`);return}let n=e instanceof Error?e.message:String(e);i(`${t(`providersPage.toast.toggleFailed`)}: ${n}`,`error`)}},[i,t,c]),se=(0,y.useCallback)(()=>{i(t(`providersPage.toast.created`),`success`),ie()},[ie,i,t]),ce=(0,y.useCallback)(()=>{i(t(`providersPage.toast.updated`),`success`),ie()},[ie,i,t]);return!c.snapshot&&c.isPending?(0,H.jsxs)(`div`,{className:GD.page,children:[(0,H.jsx)(ux,{height:120}),(0,H.jsxs)(`div`,{className:GD.layout,children:[(0,H.jsx)(ux,{height:420}),(0,H.jsx)(ux,{height:420})]})]}):k?(0,H.jsxs)(`div`,{className:GD.page,children:[(0,H.jsx)(zx,{title:te,totalActive:I,totalResources:F,providerFamilies:L,updatedAtLabel:z,isFetching:c.isFetching,isNewDisabled:_,showNewAction:!e,showSummary:e!==`apikeyFun`,newLabel:t(`providersPage.actions.new`),variant:e===`apikeyFun`?`quickStart`:void 0,onRefresh:()=>void g(),onNew:V}),B,(0,H.jsxs)(`div`,{className:`${GD.layout} ${e?GD.layoutSingle:``}`.trim(),children:[e?null:(0,H.jsx)(oS,{groups:S,activeBrand:k.id,onSelect:e=>{let t=d.open&&d.brand!==e;(t&&p.current?p.current.confirmDiscardIfDirty():Promise.resolve(!0)).then(n=>{n&&(b(e),t&&ie())})}}),e===`apikeyFun`?(0,H.jsx)(KT,{resource:R,workbench:c,mutationDisabled:_}):(0,H.jsx)(lT,{group:k,filter:E,onFilterChange:e=>A({filter:e}),filteredResources:ee,selectedId:d.open?d.resource?.id??null:null,disableMutations:_,usageByProvider:m,toolbarControls:P,onView:ne,onEdit:re,onDelete:ae,onToggleDisabled:oe,onCreate:V})]}),e?null:(0,H.jsx)(GE,{ref:p,state:d,onClose:ie,onSwitchToEdit:()=>{f(e=>e.resource?{...e,mode:`edit`}:e)},workbench:c,onCreated:se,onUpdated:ce,mutationDisabled:_,usageByProvider:m})]}):(0,H.jsxs)(`div`,{className:GD.page,children:[(0,H.jsx)(zx,{title:te,totalActive:0,totalResources:0,providerFamilies:0,updatedAtLabel:z,isFetching:c.isFetching,onRefresh:()=>void g(),onNew:()=>{},isNewDisabled:!0,showNewAction:!e,showSummary:e!==`apikeyFun`}),B]})}function ZD({title:e,description:t,action:n}){return(0,H.jsxs)(`div`,{className:`empty-state`,children:[(0,H.jsxs)(`div`,{className:`empty-content`,children:[(0,H.jsx)(`div`,{className:`empty-icon`,"aria-hidden":`true`,children:(0,H.jsx)(Us,{size:20})}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`div`,{className:`empty-title`,children:e}),t&&(0,H.jsx)(`div`,{className:`empty-desc`,children:t})]})]}),n&&(0,H.jsx)(`div`,{className:`empty-action`,children:n})]})}async function QD(e){try{if(typeof navigator<`u`&&navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{if(typeof document>`u`||!document.body)return!1;let t=document.activeElement,n=document.createElement(`textarea`);n.value=e,n.setAttribute(`readonly`,``),n.style.position=`fixed`,n.style.opacity=`0`,n.style.pointerEvents=`none`,n.style.left=`-9999px`,n.style.top=`0`,n.style.width=`1px`,n.style.height=`1px`,n.style.padding=`0`,n.style.border=`0`,document.body.appendChild(n),n.focus(),n.select(),n.setSelectionRange(0,n.value.length);let r=document.execCommand(`copy`);if(document.body.removeChild(n),t?.focus)try{t.focus()}catch{}return r}catch{return!1}}var $D=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3c!--%20Generator:%20visioncortex%20VTracer%200.6.4%20--%3e%3csvg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='59'%3e%3cpath%20d='M0,0%20L8,0%20L14,4%20L19,14%20L27,40%20L32,50%20L36,54%20L35,59%20L30,59%20L22,52%20L11,35%20L6,33%20L-1,34%20L-6,39%20L-14,52%20L-22,59%20L-28,59%20L-27,53%20L-22,47%20L-17,34%20L-10,12%20L-5,3%20Z%20'%20fill='%233789F9'%20transform='translate(28,0)'/%3e%3cpath%20d='M0,0%20L8,0%20L14,4%20L19,14%20L25,35%20L21,34%20L16,29%20L11,26%20L7,20%20L7,18%20L2,16%20L-3,15%20L-8,18%20L-12,19%20L-9,9%20L-4,2%20Z%20'%20fill='%236D80D8'%20transform='translate(28,0)'/%3e%3cpath%20d='M0,0%20L8,0%20L14,4%20L19,14%20L20,19%20L13,15%20L10,12%20L3,10%20L-1,8%20L-7,7%20L-4,2%20Z%20'%20fill='%23D78240'%20transform='translate(28,0)'/%3e%3cpath%20d='M0,0%20L5,1%20L10,4%20L12,9%20L1,8%20L-5,13%20L-10,21%20L-13,26%20L-16,26%20L-9,5%20L-4,2%20Z%20M6,7%20Z%20'%20fill='%233294CC'%20transform='translate(25,14)'/%3e%3cpath%20d='M0,0%20L5,2%20L10,10%20L12,18%20L5,14%20L1,10%20L0,4%20L-3,3%20L0,2%20Z%20'%20fill='%23E45C49'%20transform='translate(36,1)'/%3e%3cpath%20d='M0,0%20L9,1%20L12,3%20L12,5%20L7,6%20L4,8%20L-1,11%20L-5,12%20L-2,2%20Z%20'%20fill='%2390AE64'%20transform='translate(21,7)'/%3e%3cpath%20d='M0,0%20L5,1%20L5,4%20L-2,7%20L-7,11%20L-11,10%20L-9,5%20L-4,2%20Z%20'%20fill='%2353A89A'%20transform='translate(25,14)'/%3e%3cpath%20d='M0,0%20L5,0%20L16,9%20L17,13%20L12,12%20L8,9%20L8,7%20L4,5%20L0,2%20Z%20'%20fill='%23B5677D'%20transform='translate(33,11)'/%3e%3cpath%20d='M0,0%20L6,0%20L14,6%20L19,11%20L23,12%20L22,15%20L15,12%20L10,8%20L10,6%20L4,5%20Z%20'%20fill='%23778998'%20transform='translate(27,12)'/%3e%3cpath%20d='M0,0%20L4,2%20L-11,17%20L-12,14%20L-5,4%20Z%20'%20fill='%233390DF'%20transform='translate(26,21)'/%3e%3cpath%20d='M0,0%20L2,1%20L-4,5%20L-9,9%20L-13,13%20L-14,10%20L-13,7%20L-6,4%20L-3,1%20Z%20'%20fill='%233FA1B7'%20transform='translate(27,18)'/%3e%3cpath%20d='M0,0%20L4,0%20L9,5%20L13,6%20L12,9%20L5,6%20L0,2%20Z%20'%20fill='%238277BB'%20transform='translate(37,18)'/%3e%3cpath%20d='M0,0%20L5,1%20L7,6%20L-2,5%20Z%20M1,4%20Z%20'%20fill='%234989CF'%20transform='translate(30,17)'/%3e%3cpath%20d='M0,0%20L5,1%20L2,3%20L-3,6%20L-7,7%20L-6,3%20Z%20'%20fill='%2371B774'%20transform='translate(23,12)'/%3e%3cpath%20d='M0,0%20L7,1%20L9,7%20L5,6%20L0,1%20Z%20'%20fill='%236687E9'%20transform='translate(44,28)'/%3e%3cpath%20d='M0,0%20L7,0%20L5,1%20L5,3%20L8,4%20L4,5%20L-2,4%20Z%20'%20fill='%23C7AF38'%20transform='translate(23,3)'/%3e%3cpath%20d='M0,0%20L8,0%20L8,3%20L4,4%20L-4,3%20Z%20'%20fill='%23EF842A'%20transform='translate(28,0)'/%3e%3cpath%20d='M0,0%20L7,4%20L7,6%20L10,6%20L11,10%20L4,6%20L0,2%20Z%20'%20fill='%23CD5D67'%20transform='translate(37,9)'/%3e%3cpath%20d='M0,0%20L5,2%20L9,8%20L8,11%20L2,3%20L0,2%20Z%20'%20fill='%23F35241'%20transform='translate(36,1)'/%3e%3cpath%20d='M0,0%20L8,2%20L9,6%20L4,5%20L0,2%20Z%20'%20fill='%23A667A2'%20transform='translate(41,18)'/%3e%3cpath%20d='M0,0%20L9,1%20L8,3%20L-2,3%20Z%20'%20fill='%23A4B34C'%20transform='translate(21,7)'/%3e%3cpath%20d='M0,0%20L2,0%20L7,5%20L8,7%20L3,6%20L0,2%20Z%20'%20fill='%23617FCF'%20transform='translate(35,18)'/%3e%3cpath%20d='M0,0%20L5,2%20L8,7%20L4,5%20L0,2%20Z%20'%20fill='%239D7784'%20transform='translate(33,11)'/%3e%3cpath%20d='M0,0%20L6,2%20L6,4%20L0,3%20Z%20'%20fill='%23BC7F59'%20transform='translate(31,7)'/%3e%3c/svg%3e`,eO=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='none'%20version='1.1'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3e%3cdefs%3e%3cfilter%20id='master_svg0_278_51503'%20filterUnits='objectBoundingBox'%20color-interpolation-filters='sRGB'%20x='0'%20y='0'%20width='1'%20height='1'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20in='BackgroundImageFix'%20stdDeviation='1.3333334922790527'/%3e%3cfeComposite%20in2='SourceAlpha'%20operator='in'%20result='effect1_foregroundBlur'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_foregroundBlur'%20result='shape'/%3e%3c/filter%3e%3clinearGradient%20x1='0.07353696972131729'%20y1='0.12899449467658997'%20x2='0.9907095821060244'%20y2='0.9383787344260006'%20id='master_svg1_93_40276'%3e%3cstop%20offset='0%25'%20stop-color='%235C5CFF'%20stop-opacity='1'/%3e%3cstop%20offset='100%25'%20stop-color='%23AE5CFF'%20stop-opacity='1'/%3e%3c/linearGradient%3e%3c/defs%3e%3cg%3e%3cg%20filter='url(%23master_svg0_278_51503)'%3e%3crect%20x='0'%20y='0'%20width='32'%20height='32'%20rx='16'%20fill='%23F0F2F5'%20fill-opacity='0'/%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d='M31.843111328125,14.751C31.315411328125,7.18121,25.497411328125,1.04691,17.966011328125,0.119698C10.434711328125,-0.807512,3.302541328125,3.73244,0.954596328125,10.9482C0.345662328125,12.8248,1.732821328125,14.751,3.705641328125,14.751C4.950051328125,14.7517,6.055631328125,13.9569,6.451401328125,12.7772C7.497331328125,9.65101,10.504411328125,3.91401,18.482011328125,3.91401Q29.445911328125,3.91401,31.843111328125,14.751ZM9.127681328125,17.3314L9.127681328125,13.0862Q9.127681328125,13.0022,9.144081328125,12.9198Q9.160481328125,12.8373,9.192641328125,12.7597Q9.224801328125,12.682,9.271501328125,12.6122Q9.318191328125,12.5423,9.377621328125,12.4828Q9.437051328125,12.4234,9.506931328125,12.3767Q9.576811328125,12.33,9.654461328125,12.2979Q9.732111328125,12.2657,9.814541328125,12.2493Q9.896971328125,12.2329,9.981021328125,12.2329L11.049211328125,12.2329Q11.133211328125,12.2329,11.215711328125,12.2493Q11.298111328125,12.2657,11.375811328125,12.2979Q11.453411328125,12.33,11.523311328125,12.3767Q11.593211328125,12.4234,11.652611328125,12.4828Q11.712011328125,12.5423,11.758711328125,12.6122Q11.805411328125,12.682,11.837611328125,12.7597Q11.869711328125,12.8373,11.886111328125,12.9198Q11.902511328125,13.0022,11.902511328125,13.0862L11.902511328125,17.3314Q11.902511328125,17.4154,11.886111328125,17.4978Q11.869711328125,17.5803,11.837611328125,17.6579Q11.805411328125,17.7356,11.758711328125,17.8055Q11.712011328125,17.8753,11.652611328125,17.9348Q11.593211328125,17.9942,11.523311328125,18.0409Q11.453411328125,18.0876,11.375811328125,18.1197Q11.298111328125,18.1519,11.215711328125,18.1683Q11.133211328125,18.1847,11.049211328125,18.1847L9.981021328125,18.1847Q9.896971328125,18.1847,9.814541328125,18.1683Q9.732111328125,18.1519,9.654461328125,18.1197Q9.576811328125,18.0876,9.506931328125,18.0409Q9.437051328125,17.9942,9.377621328125,17.9348Q9.318191328125,17.8753,9.271501328125,17.8055Q9.224801328125,17.7356,9.192641328125,17.6579Q9.160481328125,17.5803,9.144081328125,17.4978Q9.127681328125,17.4154,9.127681328125,17.3314ZM17.273611328125,17.3295C17.272611328125,17.8015,17.654911328125,18.1847,18.126911328125,18.1847L19.408411328125,18.1847C19.879011328125,18.1847,20.260711328125,17.8038,20.261811328125,17.3332L20.266411328125,15.2107L20.266411328125,15.2069L20.261811328125,13.0844C20.260711328125,12.6138,19.879011328125,12.2329,19.408411328125,12.2329L18.126911328125,12.2329C17.654911328125,12.2329,17.272611328125,12.6161,17.273611328125,13.0881L17.278211328125,15.2069L17.278211328125,15.2107L17.273611328125,17.3295ZM13.574711328125,28.0523C21.552211328125,28.0523,24.559311328125,22.3153,25.605811328125,19.1897C26.001411328125,18.0098,27.107111328125,17.215,28.351511328125,17.2158C30.323811328125,17.2158,31.711511328125,19.1416,31.102611328125,21.0181C30.552411328125,22.7189,29.716211328125,24.3134,28.629811328125,25.733L30.137611328125,30.2235L24.775211328125,29.3432C14.645911328125,36.0484,1.048779328125,29.3346,0.214111328125,17.2158Q2.611231328125,28.0523,13.574711328125,28.0523Z'%20fill-rule='evenodd'%20fill='url(%23master_svg1_93_40276)'%20fill-opacity='1'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e`,tO=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eQwen%3c/title%3e%3cpath%20d='M12.604%201.34c.393.69.784%201.382%201.174%202.075a.18.18%200%2000.157.091h5.552c.174%200%20.322.11.446.327l1.454%202.57c.19.337.24.478.024.837-.26.43-.513.864-.76%201.3l-.367.658c-.106.196-.223.28-.04.512l2.652%204.637c.172.301.111.494-.043.77-.437.785-.882%201.564-1.335%202.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099%200%2000-.081.05%20575.097%20575.097%200%2001-2.705%204.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537%200%2001-.465-.271l-1.335-2.323a.09.09%200%2000-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543%200%2001-.002-.54l1.207-2.12a.198.198%200%20000-.197%20550.951%20550.951%200%2001-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625%201.387-2.436.132-.234.304-.334.584-.335a338.3%20338.3%200%20012.589-.001.124.124%200%2000.107-.063l2.806-4.895a.488.488%200%2001.422-.246c.524-.001%201.053%200%201.583-.006L11.704%201c.341-.003.724.032.9.34zm-3.432.403a.06.06%200%2000-.052.03L6.254%206.788a.157.157%200%2001-.135.078H3.253c-.056%200-.07.025-.041.074l5.81%2010.156c.025.042.013.062-.034.063l-2.795.015a.218.218%200%2000-.2.116l-1.32%202.31c-.044.078-.021.118.068.118l5.716.008c.046%200%20.08.02.104.061l1.403%202.454c.046.081.092.082.139%200l5.006-8.76.783-1.382a.055.055%200%2001.096%200l1.424%202.53a.122.122%200%2000.107.062l2.763-.02a.04.04%200%2000.035-.02.041.041%200%20000-.04l-2.9-5.086a.108.108%200%20010-.113l.293-.507%201.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059%200-.073-.026-.043-.077l1.434-2.505a.107.107%200%20000-.114L9.225%201.774a.06.06%200%2000-.053-.031zm6.29%208.02c.046%200%20.058.02.034.06l-.832%201.465-2.613%204.585a.056.056%200%2001-.05.029.058.058%200%2001-.05-.029L8.498%209.841c-.02-.034-.01-.052.028-.054l.216-.012%206.722-.012z'%20fill='url(%23lobe-icons-qwen-fill)'%20fill-rule='nonzero'%3e%3c/path%3e%3cdefs%3e%3clinearGradient%20id='lobe-icons-qwen-fill'%20x1='0%25'%20x2='100%25'%20y1='0%25'%20y2='0%25'%3e%3cstop%20offset='0%25'%20stop-color='%236336E7'%20stop-opacity='.84'%3e%3c/stop%3e%3cstop%20offset='100%25'%20stop-color='%236F69F7'%20stop-opacity='.84'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e`,nO=new Set([`antigravity`,`claude`,`codex`,`kimi`,`xai`]),rO=[`vertex`,`aistudio`,`antigravity`,`xai`,`claude`,`codex`,`kimi`],iO=new Set([`all`,`unknown`,`empty`]),aO=/^[+-]?\d+$/,oO=new Set([`true`,`1`,`yes`,`y`,`on`]),sO=new Set([`false`,`0`,`no`,`n`,`off`]),cO=new Set([`codex`,`xai`]),lO=new Set([`xai`]),uO=new Set([`antigravity`,`claude`,`codex`,`kimi`,`xai`]),dO={antigravity:$D,aistudio:Hx,claude:Bx,codex:Vx,gemini:Hx,xai:{light:Qx,dark:$x},iflow:eO,kimi:{light:tS,dark:eS},qwen:tO,vertex:Gx},fO=e=>Math.min(30,Math.max(3,Math.round(e))),pO=Hv,mO=e=>uO.has(pO(String(e??``))),hO=e=>{let t=new Set;Array.from(e).forEach(e=>{let n=pO(String(e??``));!n||iO.has(n)||t.add(n)});let n=new Set(rO.map(e=>pO(e))),r=Array.from(t).filter(e=>!n.has(e)).sort((e,t)=>e.localeCompare(t));return[...rO,...r]},gO=e=>{let t=e.status_message??e.statusMessage;return typeof t==`string`?t.trim():t==null?``:String(t).trim()},_O=new Set([`ok`,`healthy`,`ready`,`success`,`available`]),vO=e=>{let t=gO(e);return!!t&&!_O.has(t.toLowerCase())},yO=e=>{let t=typeof e.status==`string`?e.status.trim().toLowerCase():``;return e.disabled===!0||t===`disabled`?!1:e.unavailable===!0||t===`error`||vO(e)},bO=(e,t)=>{let n=pO(t),r=`auth_files.filter_${n}`,i=e(r);return i===r?n===`iflow`?`iFlow`:t.charAt(0).toUpperCase()+t.slice(1):i},xO=(e,t)=>{let n=Wh[pO(e)]||Wh.unknown;return t===`dark`&&n.dark?n.dark:n.light},SO=(e,t)=>{let n=dO[pO(e)];return n?typeof n==`string`?n:t===`dark`?n.dark:n.light:null},CO=new Set([`kimi`]),wO=e=>CO.has(pO(e)),TO=e=>e===`dark`?`#ffffff`:`#000000`,EO=e=>{if(typeof e==`number`)return Number.isInteger(e)?e:void 0;if(typeof e!=`string`)return;let t=e.trim();if(!t||!aO.test(t))return;let n=Number.parseInt(t,10);return Number.isSafeInteger(n)?n:void 0},DO=e=>{if(typeof e==`boolean`)return e;if(typeof e==`number`&&Number.isFinite(e))return e!==0;if(typeof e!=`string`)return;let t=e.trim().toLowerCase();if(t){if(oO.has(t))return!0;if(sO.has(t))return!1}},OO=e=>{let t=DO(e.disable_cooling);return t===void 0?DO(e[`disable-cooling`])??!1:t},kO=e=>cO.has(pO(e)),AO=e=>DO(e.websockets??e.websocket)??!1,jO=(e,t)=>{let n={...e};return delete n.websocket,n.websockets=t,n},MO=e=>lO.has(pO(e)),NO=e=>DO(e.using_api)??!1,PO=(e,t)=>({...e,using_api:t});function FO(e){let t=e.runtime_only??e.runtimeOnly;return typeof t==`boolean`?t:typeof t==`string`&&t.trim().toLowerCase()===`true`}var IO=e=>{let t=e.modtime??e.modified;if(!t)return`-`;let n=Number(t),r=Number.isFinite(n)&&!Number.isNaN(n)?new Date(n<0xe8d4a51000?n*1e3:n):Ph(t)??new Date(String(t));return Number.isNaN(r.getTime())?`-`:r.toLocaleString()},LO=(e,t,n)=>(n[pO(t)]||n[t]||[]).some(t=>{if(t.includes(`*`)){let n=t.split(`*`).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`.*`);return RegExp(`^${n}$`,`i`).test(e)}return t.toLowerCase()===e.toLowerCase()});function RO({size:e=20,className:t=``}){return(0,H.jsx)(`div`,{className:`loading-spinner${t?` ${t}`:``}`,style:{width:e,height:e,borderWidth:e/7},role:`status`,"aria-live":`polite`})}var zO=e=>typeof e==`string`?e.trim():``,BO=e=>{let t=e.trim();return t.length<=5?t:t.toLowerCase().endsWith(`.json`)?t.slice(0,-5):t},VO=e=>{let t=zO(e.name),n=BO(t),r=zO(e.email),i=zO(e.projectId),a=r?`email`:i?`projectId`:`fileName`,o=r||i||n;return{primary:o,kind:a,secondary:a===`fileName`||!n||n.toLowerCase()===o.toLowerCase()?null:n,fullName:t}},HO=`quotaRow.quotaRowHeader.quotaModel.quotaMeta.quotaPercent.quotaReset.quotaAmount.quotaMessage.codexPlan.codexPlanItem.codexPlanLabel.codexPlanValue.premiumPlanValue.elitePlanValue.codexResetCredits.codexResetCreditsTitle.codexResetCreditRow.codexResetCreditLabel.codexResetCreditTime.codexResetCreditsError.antigravityQuotaGroup.antigravityQuotaGroupHeader.antigravityQuotaGroupTitle.antigravityQuotaGroupDescription.quotaBar.quotaBarFill.quotaBarFillHigh.quotaBarFillMedium.quotaBarFillLow`.split(`.`);function UO(e,t){let n=HO.filter(t=>!e[t]);if(n.length>0)throw Error(`[quota] ${t} 缺少额度契约类名: ${n.join(`, `)}`);let r={};for(let t of HO)r[t]=e[t];return r}var WO=async e=>{let t=Cg(e.project_id??e.projectId);if(t)return t;let n=e.metadata&&typeof e.metadata==`object`&&e.metadata!==null?e.metadata:null,r=n?Cg(n.project_id??n.projectId):null;if(r)return r;let i=e.attributes&&typeof e.attributes==`object`&&e.attributes!==null?e.attributes:null,a=i?Cg(i.project_id??i.projectId??i.gemini_virtual_project):null;if(a)return a;try{let t=(await Dy.downloadText(e.name)).trim();if(!t)return``;let n=JSON.parse(t),r=Cg(n.project_id??n.projectId);if(r)return r;let i=n.installed&&typeof n.installed==`object`&&n.installed!==null?n.installed:null,a=i?Cg(i.project_id??i.projectId):null;if(a)return a;let o=n.web&&typeof n.web==`object`&&n.web!==null?n.web:null,s=o?Cg(o.project_id??o.projectId):null;if(s)return s}catch{return``}return``},GO=e=>{if(!e)return null;let t=Object.entries(e).find(([e])=>e.toLowerCase()===`date`)?.[1]?.[0];if(!t)return null;let n=new Date(t).getTime();return Number.isNaN(n)?null:n-Date.now()},KO=e=>e?{plan:e.plan,tierName:e.tierName,tierId:e.tierId}:null,qO={type:`antigravity`,i18nPrefix:`antigravity_quota`,filterFn:e=>Xg(e)&&!t_(e),fetchQuota:async(e,t)=>{let n=Sg(e.auth_index??e.authIndex);if(!n)throw Error(t(`antigravity_quota.missing_auth_index`));let r=await WO(e);if(!r)throw Error(t(`antigravity_quota.missing_project_id`));let i=JSON.stringify({project:r}),a=J_.get(n).then(KO).catch(()=>null),o=``,s,c,l=!1;for(let e of Gh)try{let r=await Rp.request({authIndex:n,method:`POST`,url:e,header:{...Xh},data:i});if(r.statusCode<200||r.statusCode>=300){o=Lp(r),s=r.statusCode,(r.statusCode===403||r.statusCode===404)&&(c??(c=r.statusCode));continue}l=!0;let u=kg(r.body??r.bodyText);if(!u||!Array.isArray(u.groups)){o=t(`antigravity_quota.empty_models`);continue}let d=o_(u);if(d.length===0){o=t(`antigravity_quota.empty_models`);continue}return{groups:d,subscription:await a,serverTimeOffsetMs:GO(r.header)}}catch(e){o=e instanceof Error?e.message:t(`common.unknown_error`);let n=qg(e);n&&(s=n,(n===403||n===404)&&(c??(c=n)))}if(l)return{groups:[],subscription:await a,serverTimeOffsetMs:null};throw Kg(o||t(`common.unknown_error`),c??s)},storeSelector:e=>e.antigravityQuota,storeSetter:`setAntigravityQuota`,buildLoadingState:()=>({status:`loading`,groups:[],subscription:null,serverTimeOffsetMs:null}),buildSuccessState:e=>({status:`success`,groups:e.groups,subscription:e.subscription,serverTimeOffsetMs:e.serverTimeOffsetMs}),buildErrorState:(e,t)=>({status:`error`,groups:[],subscription:null,serverTimeOffsetMs:null,error:e,errorStatus:t})};function JO({percent:e,classes:t,index:n}){let r=e===null?null:((e,t,n)=>Math.min(n,Math.max(t,e)))(e,0,100),i=r===null?t.quotaBarFillMedium:r>=70?t.quotaBarFillHigh:r>=30?t.quotaBarFillMedium:t.quotaBarFillLow,a={width:`${Math.round((r??0)*100)/100}%`};return n!==void 0&&(a[`--meter-index`]=n),(0,H.jsx)(`div`,{className:t.quotaBar,children:(0,H.jsx)(`div`,{className:`${t.quotaBarFill} ${i}`,style:a})})}var YO=6e4;function XO(e,t){let n=null;return e.forEach(e=>{if(!Number.isFinite(e))return;let r=e-t;if(r<=0)return;let i=r%YO,a=Math.max(1,Math.ceil(i===0?YO:i));n=n===null?a:Math.min(n,a)}),n}var ZO=(e,t)=>{let n=Math.max(1,Math.ceil(t/6e4)),r=Math.floor(n/1440),i=Math.floor(n%1440/60),a=n%60;return r>0?e(`antigravity_quota.duration_day_hour`,{days:r,hours:i}):i>0?e(`antigravity_quota.duration_hour_minute`,{hours:i,minutes:a}):a>0?e(`antigravity_quota.duration_minute`,{minutes:a}):e(`antigravity_quota.duration_less_than_minute`)},QO=(e,t,n)=>{if(!e)return`-`;let r=new Date(e).getTime();if(Number.isNaN(r))return`-`;let i=r-n;return i<=0?t(`antigravity_quota.refresh_available`):t(`antigravity_quota.refreshes_in`,{duration:ZO(t,i)})},$O=new Map([[`gemini models`,`group_gemini_models`],[`claude and gpt models`,`group_claude_gpt_models`]]),ek=new Map([[`weekly limit`,`weekly_limit`],[`daily limit`,`daily_limit`],[`5 hour limit`,`five_hour_limit`],[`5-hour limit`,`five_hour_limit`],[`five hour limit`,`five_hour_limit`],[`monthly limit`,`monthly_limit`]]),tk=e=>e.trim().toLowerCase().replace(/\s+/g,` `),nk=(e,t,n)=>{let r=t.get(tk(e));return r?n(`antigravity_quota.${r}`):e},rk=(e,t)=>{if(!e)return;let n=e.match(/^models within this group:\s*(.+)$/i);return n?t(`antigravity_quota.group_models_description`,{models:n[1].trim()}):e},ik=(e,t)=>e?e.plan===`free`?t(`antigravity_subscription.plan_free`):e.plan===`pro`?t(`antigravity_subscription.plan_pro`):e.plan===`ultra`?t(`antigravity_subscription.plan_ultra`):e.plan===`ultra-lite`?t(`antigravity_subscription.plan_ultra_lite`):e.tierName||e.tierId||(e.plan===`unknown`?t(`antigravity_subscription.plan_unknown`):null):null;function ak({quota:e,classes:t}){let{t:n}=ss(),r=e.groups??[],i=ik(e.subscription,n),a=e.subscription?.plan?.toLowerCase()??``,o=a===`ultra`||a===`ultra-lite`,s=e.serverTimeOffsetMs??0,c=(0,y.useMemo)(()=>(e.groups??[]).flatMap(e=>e.buckets.map(e=>e.resetTime?new Date(e.resetTime).getTime():NaN).filter(Number.isFinite)),[e.groups]),[l,u]=(0,y.useState)(()=>Date.now()+s);return(0,y.useEffect)(()=>{let e,t=()=>{let n=Date.now()+s;u(n);let r=XO(c,n);r!==null&&(e=setTimeout(t,r))};return t(),()=>{e!==void 0&&clearTimeout(e)}},[c,s]),(0,H.jsxs)(H.Fragment,{children:[i&&(0,H.jsx)(`div`,{className:t.codexPlan,children:(0,H.jsxs)(`span`,{className:t.codexPlanItem,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`antigravity_quota.plan_label`)}),(0,H.jsx)(`span`,{className:o?t.premiumPlanValue:t.codexPlanValue,children:i})]})}),r.length===0?(0,H.jsx)(`div`,{className:t.quotaMessage,children:n(`antigravity_quota.empty_models`)}):r.map(e=>{let r=nk(e.label,$O,n),i=rk(e.description,n);return(0,H.jsxs)(`div`,{className:t.antigravityQuotaGroup,children:[(0,H.jsxs)(`div`,{className:t.antigravityQuotaGroupHeader,children:[(0,H.jsx)(`span`,{className:t.antigravityQuotaGroupTitle,children:r}),i&&(0,H.jsx)(`span`,{className:t.antigravityQuotaGroupDescription,children:i})]}),e.buckets.map((e,r)=>{let i=Math.max(0,Math.min(1,e.remainingFraction))*100,a=e.remainingFraction===1?n(`antigravity_quota.quota_available`):n(`antigravity_quota.remaining_percent`,{percent:Math.round(i)}),o=QO(e.resetTime,n,l),s=nk(e.label,ek,n),c=rk(e.description,n);return(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,title:c,children:s}),(0,H.jsxs)(`div`,{className:t.quotaMeta,children:[(0,H.jsx)(`span`,{className:t.quotaPercent,children:a}),(0,H.jsx)(`span`,{className:t.quotaReset,children:o})]})]}),(0,H.jsx)(JO,{percent:i,classes:t,index:r})]},e.id)})]},e.id)})]})}var ok=e=>{if(!Array.isArray(e.limits))return null;let t=e.limits.filter(e=>{let t=(Cg(e?.kind)??``).trim().toLowerCase(),n=(Cg(e?.scope?.model?.display_name)??``).trim().toLowerCase();return t===`weekly_scoped`&&(n===`fable`||n===`fable 5`)&&wg(e?.percent)!==null});return t.find(e=>e.is_active===!0)??t[0]??null},sk=(e,t)=>{let n=[],r=ok(e);for(let{key:i,id:a,labelKey:o}of eg){if(i===`iguana_necktie`&&r)continue;let s=e[i];if(!s||typeof s!=`object`||!(`utilization`in s))continue;let c=s,l=wg(c.utilization),u=Ug(c.resets_at??void 0);n.push({id:a,label:t(o),labelKey:o,usedPercent:l,resetLabel:u,resetAtMs:yg([c.resets_at]),periodHours:xg(i)})}if(r){let e=wg(r.percent);e!==null&&n.push({id:`seven-day-fable`,label:t(`claude_quota.seven_day_fable`),labelKey:`claude_quota.seven_day_fable`,usedPercent:e,resetLabel:Ug(r.resets_at??void 0),resetAtMs:yg([r.resets_at]),periodHours:xg(`seven_day`)})}return n},ck=e=>{if(e!=null){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e!==0;if(typeof e==`string`){let t=e.trim().toLowerCase();if([`true`,`1`,`yes`,`y`,`on`].includes(t))return!0;if([`false`,`0`,`no`,`n`,`off`].includes(t))return!1}}},lk=e=>{if(e==null)return null;if(typeof e==`string`){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return null}}return typeof e==`object`?e:null},uk=e=>{if(!e)return null;let t=ck(e.account?.has_claude_max);if(t)return`plan_max`;let n=ck(e.account?.has_claude_pro);if(n)return`plan_pro`;let r=Cg(e.organization?.organization_type)?.toLowerCase(),i=Cg(e.organization?.subscription_status)?.toLowerCase();return r===`claude_team`&&i===`active`?`plan_team`:t===!1&&n===!1?`plan_free`:null},dk={type:`claude`,i18nPrefix:`claude_quota`,filterFn:e=>Zg(e)&&!t_(e),fetchQuota:async(e,t)=>{let n=Sg(e.auth_index??e.authIndex);if(!n)throw Error(t(`claude_quota.missing_auth_index`));let[r,i]=await Promise.allSettled([Rp.request({authIndex:n,method:`GET`,url:Qh,header:{...$h}}),Rp.request({authIndex:n,method:`GET`,url:Zh,header:{...$h}})]);if(r.status===`rejected`)throw r.reason;let a=r.value;if(a.statusCode<200||a.statusCode>=300)throw Kg(Lp(a),a.statusCode);let o=Ag(a.body??a.bodyText);if(!o)throw Error(t(`claude_quota.empty_windows`));let s=sk(o,t),c=i.status===`fulfilled`&&i.value.statusCode>=200&&i.value.statusCode<300?uk(lk(i.value.body??i.value.bodyText)):null;return{windows:s,extraUsage:o.extra_usage,planType:c}},storeSelector:e=>e.claudeQuota,storeSetter:`setClaudeQuota`,buildLoadingState:()=>({status:`loading`,windows:[]}),buildSuccessState:e=>({status:`success`,windows:e.windows,extraUsage:e.extraUsage,planType:e.planType}),buildErrorState:(e,t)=>({status:`error`,windows:[],error:e,errorStatus:t})};function fk({quota:e,classes:t}){let{t:n}=ss(),r=e.windows??[],i=e.extraUsage??null,a=e.planType??null;return(0,H.jsxs)(H.Fragment,{children:[a&&(0,H.jsxs)(`div`,{className:t.codexPlan,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`claude_quota.plan_label`)}),(0,H.jsx)(`span`,{className:t.codexPlanValue,children:n(`claude_quota.${a}`)})]}),i&&i.is_enabled&&(0,H.jsxs)(`div`,{className:t.codexPlan,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`claude_quota.extra_usage_label`)}),(0,H.jsx)(`span`,{className:t.codexPlanValue,children:`$${(i.used_credits/100).toFixed(2)} / $${(i.monthly_limit/100).toFixed(2)}`})]}),r.length===0?(0,H.jsx)(`div`,{className:t.quotaMessage,children:n(`claude_quota.empty_windows`)}):r.map((e,r)=>{let i=e.usedPercent,a=i===null?null:Math.max(0,Math.min(100,i)),o=a===null?null:Math.max(0,Math.min(100,100-a)),s=o===null?`--`:`${Math.round(o)}%`,c=e.labelKey?n(e.labelKey):e.label;return(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,children:c}),(0,H.jsxs)(`div`,{className:t.quotaMeta,children:[(0,H.jsx)(`span`,{className:t.quotaPercent,children:s}),(0,H.jsx)(`span`,{className:t.quotaReset,children:e.resetLabel})]})]}),(0,H.jsx)(JO,{percent:o,classes:t,index:r})]},e.id)})]})}var pk=8e3,mk=(e,t)=>{let n={codeFiveHour:{id:`five-hour`,labelKey:`codex_quota.primary_window`},codeWeekly:{id:`weekly`,labelKey:`codex_quota.secondary_window`},codeMonthly:{id:`monthly`,labelKey:`codex_quota.team_secondary_window`},codeReviewFiveHour:{id:`code-review-five-hour`,labelKey:`codex_quota.code_review_primary_window`},codeReviewWeekly:{id:`code-review-weekly`,labelKey:`codex_quota.code_review_secondary_window`},codeReviewMonthly:{id:`code-review-monthly`,labelKey:`codex_quota.code_review_team_secondary_window`}},r=e.rate_limit??e.rateLimit??void 0,i=e.code_review_rate_limit??e.codeReviewRateLimit??void 0,a=e.additional_rate_limits??e.additionalRateLimits??[],o=[],s=(e,t,n,r,i,a,s)=>{if(!i)return;let c=Gg(i),l=wg(i.used_percent??i.usedPercent)??((a||s===!1)&&c!==`-`?100:null),u=yg([i.reset_at,i.resetAt])??vg(i.reset_after_seconds??i.resetAfterSeconds,Date.now()),d=bg(i.limit_window_seconds??i.limitWindowSeconds);o.push({id:e,label:t,labelKey:n,labelParams:r,usedPercent:l,resetAtMs:u,periodHours:d,resetLabel:c})},c=e=>e?wg(e.limit_window_seconds??e.limitWindowSeconds):null,l=e=>{let t=c(e);return t!==null&&t>=2419200&&t<=2678400},u=(e,t,n)=>l(e)?n:t,d=r?.limit_reached??r?.limitReached,f=r?.allowed,p=(e,t)=>{let n=t?.allowOrderFallback??!0,r=e?.primary_window??e?.primaryWindow??null,i=e?.secondary_window??e?.secondaryWindow??null,a=[r,i],o=null,s=null;for(let e of a){if(!e)continue;let t=c(e);t===18e3&&!o?o=e:(t===604800||l(e))&&!s&&(s=e)}return n&&(o||(o=r&&r!==s?r:null),s||(s=i&&i!==o?i:null)),{fiveHourWindow:o,weeklyWindow:s}},m=p(r);s(n.codeFiveHour.id,t(n.codeFiveHour.labelKey),n.codeFiveHour.labelKey,void 0,m.fiveHourWindow,d,f);let h=u(m.weeklyWindow,n.codeWeekly,n.codeMonthly);s(h.id,t(h.labelKey),h.labelKey,void 0,m.weeklyWindow,d,f);let g=p(i),_=i?.limit_reached??i?.limitReached,v=i?.allowed;s(n.codeReviewFiveHour.id,t(n.codeReviewFiveHour.labelKey),n.codeReviewFiveHour.labelKey,void 0,g.fiveHourWindow,_,v);let y=u(g.weeklyWindow,n.codeReviewWeekly,n.codeReviewMonthly);s(y.id,t(y.labelKey),y.labelKey,void 0,g.weeklyWindow,_,v);let b=e=>e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return Array.isArray(a)&&a.forEach((e,n)=>{let r=e?.rate_limit??e?.rateLimit??null;if(!r)return;let i=Cg(e?.limit_name??e?.limitName)??Cg(e?.metered_feature??e?.meteredFeature)??`additional-${n+1}`,a=b(i)||`additional-${n+1}`,o=p(r),c=r.limit_reached??r.limitReached,l=r.allowed;s(`${a}-five-hour-${n}`,t(`codex_quota.additional_primary_window`,{name:i}),`codex_quota.additional_primary_window`,{name:i},o.fiveHourWindow,c,l);let d=u(o.weeklyWindow,{id:`weekly`,labelKey:`codex_quota.additional_secondary_window`},{id:`monthly`,labelKey:`codex_quota.additional_team_secondary_window`});s(`${a}-${d.id}-${n}`,t(d.labelKey,{name:i}),d.labelKey,{name:i},o.weeklyWindow,c,l)}),o},hk=e=>{let t=zg(e),n={...ig};return t&&(n[`Chatgpt-Account-Id`]=t),n},gk=async(e,t,n)=>{try{let r=await Rp.request({authIndex:e,method:`GET`,url:ng,header:{...t,Accept:`application/json`,"OpenAI-Beta":`codex-1`,Originator:`Codex Desktop`}},{timeout:pk});if(r.statusCode<200||r.statusCode>=300)return{availableCount:null,applicableAvailableCount:null,credits:[],error:Lp(r)};let i=k_(r.body??r.bodyText);return i.invalidPayload?{availableCount:null,applicableAvailableCount:null,credits:[],error:n(`codex_quota.reset_credits_invalid_payload`)}:{availableCount:i.availableCount,applicableAvailableCount:i.applicableAvailableCount,credits:i.credits,error:``}}catch(e){return{availableCount:null,applicableAvailableCount:null,credits:[],error:e instanceof Error?e.message:n(`common.unknown_error`)}}},_k=async(e,t)=>{let n=Sg(e.auth_index??e.authIndex);if(!n)throw Error(t(`codex_quota.missing_auth_index`));let r=Bg(e),i=Hg(e),a=hk(e),o=await Rp.request({authIndex:n,method:`GET`,url:tg,header:a});if(o.statusCode<200||o.statusCode>=300)throw Kg(Lp(o),o.statusCode);let s=jg(o.body??o.bodyText);if(!s)throw Error(t(`codex_quota.empty_windows`));let c=Eg(s.plan_type??s.planType),l=k_(s.rate_limit_reset_credits??s.rateLimitResetCredits??null),u=await gk(n,a,t),d=u.credits.length>0?u.credits.length:null,f=u.availableCount??d??l.availableCount,p=l.applicableAvailableCount??u.applicableAvailableCount??f,m=c??r,h=mk(s,t);return{planType:m,subscriptionActiveUntil:i,rateLimitResetCreditsAvailableCount:f,rateLimitResetCreditsApplicableAvailableCount:p,rateLimitResetCredits:u.credits,rateLimitResetCreditsError:u.error,windows:h}},vk=()=>typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.floor(Math.random()*16);return(e===`x`?t:t&3|8).toString(16)}),yk=async(e,t)=>{let n=Sg(e.auth_index??e.authIndex);if(!n)throw Error(t(`codex_quota.missing_auth_index`));let r=hk(e),i=await Rp.request({authIndex:n,method:`POST`,url:rg,header:r,data:JSON.stringify({redeem_request_id:vk()})});if(i.statusCode<200||i.statusCode>=300)throw Kg(Lp(i),i.statusCode)},bk={type:`codex`,i18nPrefix:`codex_quota`,filterFn:e=>Qg(e)&&!t_(e),fetchQuota:_k,resetQuota:async(e,t)=>(await yk(e,t),_k(e,t)),canResetQuota:e=>(e.rateLimitResetCreditsAvailableCount??0)>0,storeSelector:e=>e.codexQuota,storeSetter:`setCodexQuota`,buildLoadingState:()=>({status:`loading`,windows:[],rateLimitResetCredits:[],rateLimitResetCreditsError:``}),buildSuccessState:e=>({status:`success`,windows:e.windows,planType:e.planType,subscriptionActiveUntil:e.subscriptionActiveUntil,rateLimitResetCreditsAvailableCount:e.rateLimitResetCreditsAvailableCount,rateLimitResetCreditsApplicableAvailableCount:e.rateLimitResetCreditsApplicableAvailableCount,rateLimitResetCredits:e.rateLimitResetCredits,rateLimitResetCreditsError:e.rateLimitResetCreditsError}),buildErrorState:(e,t)=>({status:`error`,windows:[],rateLimitResetCredits:[],rateLimitResetCreditsError:``,error:e,errorStatus:t})},xk=(e,t)=>{let n=Fg(e);return n===`elite`?t.elitePlanValue:n===`premium`?t.premiumPlanValue:t.codexPlanValue};function Sk({quota:e,classes:t}){let{t:n}=ss(),r=e.windows??[],i=e.planType??null,a=e.subscriptionActiveUntil??null,o=e.rateLimitResetCreditsAvailableCount??null,s=e.rateLimitResetCredits??[],c=e.rateLimitResetCreditsError??``,l=(e=>{let t=Eg(e);return t?t===`pro`?n(`codex_quota.plan_pro`):Pg.has(t)&&t!==`pro`?n(`codex_quota.plan_prolite`):t===`plus`?n(`codex_quota.plan_plus`):t===`team`?n(`codex_quota.plan_team`):t===`free`?n(`codex_quota.plan_free`):e||t:null})(i),u=a?Uh(a):``,d=xk(i,t);return(0,H.jsxs)(H.Fragment,{children:[(l||u||o!==null)&&(0,H.jsxs)(`div`,{className:t.codexPlan,children:[l&&(0,H.jsxs)(`span`,{className:t.codexPlanItem,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`codex_quota.plan_label`)}),(0,H.jsx)(`span`,{className:d,children:l})]}),u&&(0,H.jsxs)(`span`,{className:t.codexPlanItem,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`codex_quota.expires_label`)}),(0,H.jsx)(`span`,{className:t.codexPlanValue,children:u})]}),o!==null&&(0,H.jsxs)(`span`,{className:t.codexPlanItem,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`codex_quota.reset_credits_label`)}),(0,H.jsx)(`span`,{className:t.codexPlanValue,children:o.toString()})]})]}),s.length>0?(0,H.jsxs)(`div`,{className:t.codexResetCredits,children:[(0,H.jsx)(`div`,{className:t.codexResetCreditsTitle,children:n(`codex_quota.reset_credits_expiry_label`)}),s.map((e,r)=>(0,H.jsxs)(`div`,{className:t.codexResetCreditRow,children:[(0,H.jsx)(`span`,{className:t.codexResetCreditLabel,children:n(`codex_quota.reset_credit_number`,{index:r+1})}),(0,H.jsx)(`span`,{className:t.codexResetCreditTime,children:A_(e.expiresAt)||e.expiresAt})]},e.id||`${e.expiresAt}-${r}`))]}):c?(0,H.jsx)(`div`,{className:t.codexResetCreditsError,children:n(`codex_quota.reset_credits_expiry_failed`,{message:c})}):null,r.length===0?(0,H.jsx)(`div`,{className:t.quotaMessage,children:n(`codex_quota.empty_windows`)}):r.map((e,r)=>{let i=e.usedPercent,a=i===null?null:Math.max(0,Math.min(100,i)),o=a===null?null:Math.max(0,Math.min(100,100-a)),s=o===null?`--`:`${Math.round(o)}%`,c=e.labelKey?n(e.labelKey,e.labelParams):e.label;return(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,children:c}),(0,H.jsxs)(`div`,{className:t.quotaMeta,children:[(0,H.jsx)(`span`,{className:t.quotaPercent,children:s}),(0,H.jsx)(`span`,{className:t.quotaReset,children:e.resetLabel})]})]}),(0,H.jsx)(JO,{percent:o,classes:t,index:r})]},e.id)})]})}var Ck={type:`kimi`,i18nPrefix:`kimi_quota`,filterFn:e=>$g(e)&&!t_(e),fetchQuota:async(e,t)=>{let n=Sg(e.auth_index??e.authIndex);if(!n)throw Error(t(`kimi_quota.missing_auth_index`));let r=await Rp.request({authIndex:n,method:`GET`,url:ag,header:{...og}});if(r.statusCode<200||r.statusCode>=300)throw Kg(Lp(r),r.statusCode);let i=Mg(r.body??r.bodyText);if(!i)throw Error(t(`kimi_quota.empty_data`));return g_(i)},storeSelector:e=>e.kimiQuota,storeSetter:`setKimiQuota`,buildLoadingState:()=>({status:`loading`,rows:[]}),buildSuccessState:e=>({status:`success`,rows:e}),buildErrorState:(e,t)=>({status:`error`,rows:[],error:e,errorStatus:t})};function wk({quota:e,classes:t}){let{t:n}=ss(),r=e.rows??[];return r.length===0?(0,H.jsx)(`div`,{className:t.quotaMessage,children:n(`kimi_quota.empty_data`)}):(0,H.jsx)(H.Fragment,{children:r.map((e,r)=>{let i=e.limit,a=e.used,o=i>0?Math.max(0,Math.min(100,Math.round((i-a)/i*100))):a>0?0:null,s=o===null?`--`:`${o}%`,c=e.labelKey?n(e.labelKey,e.labelParams??{}):e.label??``,l=Jg(n,e.resetHint);return(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,children:c}),(0,H.jsxs)(`div`,{className:t.quotaMeta,children:[(0,H.jsx)(`span`,{className:t.quotaPercent,children:s}),l&&(0,H.jsx)(`span`,{className:t.quotaReset,children:l})]})]}),(0,H.jsx)(JO,{percent:o,classes:t,index:r})]},e.id)})})}var Tk=15e3,Ek=e=>e&&typeof e==`object`&&!Array.isArray(e)?e:null,Dk=e=>{let t=Ek(e.metadata),n=Ek(e.attributes),r=Ek(e.oauth??t?.oauth??n?.oauth),i=Ek(e.user??t?.user??n?.user),a=[e.sub,e.subject,e.user_id,e.userId,t?.sub,t?.subject,t?.user_id,t?.userId,n?.sub,n?.subject,n?.user_id,n?.userId,r?.sub,r?.subject,i?.sub,i?.id];for(let e of a){let t=Cg(e);if(t)return t}return null},Ok=e=>{let t={...fg},n=Dk(e);return n&&(t[`x-userid`]=n),t},kk=async(e,t,n)=>{let r=await Rp.request({authIndex:e,method:`GET`,url:t,header:n});if(r.statusCode<200||r.statusCode>=300)throw Kg(Lp(r),r.statusCode);return S_(Ng(r.body??r.bodyText)?.config)},Ak=async e=>{let[t,n]=await Promise.allSettled([Rp.request({authIndex:e,method:`GET`,url:lg,header:pg},{timeout:Tk}),Rp.request({authIndex:e,method:`POST`,url:ug,header:{...pg,"Content-Type":`application/json`},data:JSON.stringify({model:dg,messages:[{role:`user`,content:`ping`}],max_tokens:1,stream:!1})},{timeout:Tk})]);if(n.status===`rejected`)throw n.reason;if(n.value.statusCode<200||n.value.statusCode>=300)throw Kg(Lp(n.value),n.value.statusCode);return V_(t.status===`fulfilled`&&t.value.statusCode>=200&&t.value.statusCode<300?t.value.body:null)},jk={type:`xai`,i18nPrefix:`xai_quota`,filterFn:e=>e_(e)&&!t_(e),fetchQuota:async(e,t)=>{let n=Sg(e.auth_index??e.authIndex);if(!n)throw Error(t(`xai_quota.missing_auth_index`));if(B_(e))return Ak(n);let r=Ok(e),[i,a]=await Promise.allSettled([kk(n,sg,r),kk(n,cg,r)]),o=C_(i.status===`fulfilled`?i.value:null,a.status===`fulfilled`?a.value:null);if(o)return o;let s=i.status===`rejected`&&a.status===`rejected`?i.reason:Error(t(`xai_quota.empty_data`));try{return await Ak(n)}catch{throw s}},storeSelector:e=>e.xaiQuota,storeSetter:`setXaiQuota`,buildLoadingState:()=>({status:`loading`,billing:null}),buildSuccessState:e=>({status:`success`,billing:e}),buildErrorState:(e,t)=>({status:`error`,billing:null,error:e,errorStatus:t})},Mk=e=>e===null?`--`:new Intl.NumberFormat(void 0,{style:`currency`,currency:`USD`}).format(e/100),Nk=e=>{let t=Mk(e.monthlyLimitCents!==null&&e.includedUsedCents!==null?Math.max(0,e.monthlyLimitCents-e.includedUsedCents):null),n=Mk(e.monthlyLimitCents);return e.monthlyLimitCents===null?t:`${t} / ${n}`},Pk=e=>{let t=Mk(e.onDemandCapCents!==null&&e.onDemandUsedCents!==null?Math.max(0,e.onDemandCapCents-e.onDemandUsedCents):null),n=Mk(e.onDemandCapCents);return e.onDemandCapCents===null?t:`${t} / ${n}`},Fk=e=>e===null?`--`:`${Math.round(e)}%`,Ik=15e3,Lk=15e4,Rk=e=>e===Ik?{labelKey:`plan_supergrok`,premium:!1}:e===Lk?{labelKey:`plan_supergrok_heavy`,premium:!0}:null;function zk({quota:e,classes:t}){let{t:n}=ss(),r=e.billing;if(!r)return(0,H.jsx)(`div`,{className:t.quotaMessage,children:n(`xai_quota.empty_data`)});if(r.mode===`paid-health`)return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:t.codexPlan,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`xai_quota.plan_label`)}),(0,H.jsx)(`span`,{className:t.premiumPlanValue,children:n(`xai_quota.plan_paid`)})]}),(0,H.jsx)(`div`,{className:t.quotaMessage,children:n(`xai_quota.paid_health`)})]});let i=r.usedPercent===null?null:Math.max(0,Math.min(100,r.usedPercent)),a=i===null?null:Math.max(0,Math.min(100,100-i)),o=Fk(a),s=Nk(r),c=Ug(r.billingPeriodEnd),l=r.onDemandCapCents??0,u=r.onDemandUsedPercent===null?null:Math.max(0,Math.min(100,r.onDemandUsedPercent)),d=u===null?null:Math.max(0,Math.min(100,100-u)),f=Fk(d),p=Pk(r),m=Rk(r.monthlyLimitCents),h=r.periodType===`weekly`&&r.usagePercent!==null?Math.max(0,Math.min(100,r.usagePercent)):null,g=h===null?null:Math.max(0,Math.min(100,100-h)),_=Ug(r.periodEnd),v=r.periodType===`weekly`&&(h!==null||!!r.periodEnd||r.productUsage.length>0),y=r.monthlyLimitCents!==null||r.usedCents!==null||!!r.billingPeriodEnd;return(0,H.jsxs)(H.Fragment,{children:[m&&(0,H.jsxs)(`div`,{className:t.codexPlan,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`xai_quota.plan_label`)}),(0,H.jsx)(`span`,{className:m.premium?t.premiumPlanValue:t.codexPlanValue,children:n(`xai_quota.${m.labelKey}`)})]}),v&&(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,children:n(`xai_quota.weekly_limit`)}),(0,H.jsxs)(`div`,{className:t.quotaMeta,children:[(0,H.jsx)(`span`,{className:t.quotaPercent,children:n(`xai_quota.used_percent`,{percent:Fk(h)})}),_!==`-`&&(0,H.jsx)(`span`,{className:t.quotaReset,children:n(`xai_quota.reset_at`,{time:_})})]})]}),(0,H.jsx)(JO,{percent:g,classes:t,index:0})]}),r.productUsage.map((e,r)=>{let i=e.usagePercent===null?null:Math.max(0,Math.min(100,e.usagePercent)),a=i===null?null:Math.max(0,Math.min(100,100-i));return(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,children:n(`xai_quota.product_usage`,{product:e.product})}),(0,H.jsx)(`div`,{className:t.quotaMeta,children:(0,H.jsx)(`span`,{className:t.quotaPercent,children:n(`xai_quota.used_percent`,{percent:Fk(i)})})})]}),(0,H.jsx)(JO,{percent:a,classes:t,index:r+1})]},`product-${e.product}`)}),l>0?(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,children:n(`xai_quota.pay_as_you_go_label`)}),(0,H.jsxs)(`div`,{className:t.quotaMeta,children:[(0,H.jsx)(`span`,{className:t.quotaPercent,children:f}),(0,H.jsx)(`span`,{className:t.quotaAmount,children:p})]})]}),(0,H.jsx)(JO,{percent:d,classes:t,index:r.productUsage.length+1})]}):(0,H.jsxs)(`div`,{className:t.codexPlan,children:[(0,H.jsx)(`span`,{className:t.codexPlanLabel,children:n(`xai_quota.pay_as_you_go_label`)}),(0,H.jsx)(`span`,{className:t.codexPlanValue,children:n(`xai_quota.pay_as_you_go_disabled`)})]}),y&&(0,H.jsxs)(`div`,{className:t.quotaRow,children:[(0,H.jsxs)(`div`,{className:t.quotaRowHeader,children:[(0,H.jsx)(`span`,{className:t.quotaModel,children:n(`xai_quota.monthly_credits`)}),(0,H.jsxs)(`div`,{className:t.quotaMeta,children:[(0,H.jsx)(`span`,{className:t.quotaPercent,children:o}),(0,H.jsx)(`span`,{className:t.quotaAmount,children:s}),c!==`-`&&(0,H.jsx)(`span`,{className:t.quotaReset,children:c})]})]}),(0,H.jsx)(JO,{percent:a,classes:t,index:r.productUsage.length+2})]})]})}var Bk={antigravity:{...qO,Body:ak},claude:{...dk,Body:fk},codex:{...bk,Body:Sk},kimi:{...Ck,Body:wk},xai:{...jk,Body:zk}},Vk=e=>tm.getState()[e.storeSetter],Hk=e=>e.storeSelector(tm.getState()),Uk={quotaSection:`AuthFileQuota-module__quotaSection___B1NkU`,quotaMessage:`AuthFileQuota-module__quotaMessage___cvzkK`,quotaMessageAction:`AuthFileQuota-module__quotaMessageAction___B2326`,quotaError:`AuthFileQuota-module__quotaError___j6Dml`,quotaCardActions:`AuthFileQuota-module__quotaCardActions___Wy2PY`,quotaResetCreditButton:`AuthFileQuota-module__quotaResetCreditButton___CdV7t`,quotaRow:`AuthFileQuota-module__quotaRow___ufmMU`,quotaRowHeader:`AuthFileQuota-module__quotaRowHeader___V-41W`,quotaModel:`AuthFileQuota-module__quotaModel___C-dFE`,quotaMeta:`AuthFileQuota-module__quotaMeta___uftxo`,quotaPercent:`AuthFileQuota-module__quotaPercent___WY2j6`,quotaReset:`AuthFileQuota-module__quotaReset___qSOIY`,quotaAmount:`AuthFileQuota-module__quotaAmount___xZEJm`,quotaBar:`AuthFileQuota-module__quotaBar___5C9oU`,quotaBarFill:`AuthFileQuota-module__quotaBarFill___vBml3`,quotaBarFillHigh:`AuthFileQuota-module__quotaBarFillHigh___Z22Yp`,quotaBarFillMedium:`AuthFileQuota-module__quotaBarFillMedium___FwcLR`,quotaBarFillLow:`AuthFileQuota-module__quotaBarFillLow___ose2c`,codexPlan:`AuthFileQuota-module__codexPlan___qVz5l`,codexPlanItem:`AuthFileQuota-module__codexPlanItem___VZnNr`,codexPlanLabel:`AuthFileQuota-module__codexPlanLabel___K-Sbq`,codexPlanValue:`AuthFileQuota-module__codexPlanValue___6W2YL`,premiumPlanValue:`AuthFileQuota-module__premiumPlanValue___3e3wf`,elitePlanValue:`AuthFileQuota-module__elitePlanValue___H1P29`,antigravityQuotaGroup:`AuthFileQuota-module__antigravityQuotaGroup___cGr3L`,antigravityQuotaGroupHeader:`AuthFileQuota-module__antigravityQuotaGroupHeader___I5iUs`,antigravityQuotaGroupTitle:`AuthFileQuota-module__antigravityQuotaGroupTitle___IcwtE`,antigravityQuotaGroupDescription:`AuthFileQuota-module__antigravityQuotaGroupDescription___QIQvW`,codexResetCredits:`AuthFileQuota-module__codexResetCredits___ck-iL`,codexResetCreditsTitle:`AuthFileQuota-module__codexResetCreditsTitle___L5hee`,codexResetCreditRow:`AuthFileQuota-module__codexResetCreditRow___BpvcM`,codexResetCreditLabel:`AuthFileQuota-module__codexResetCreditLabel___CXf0-`,codexResetCreditTime:`AuthFileQuota-module__codexResetCreditTime___TjNwy`,codexResetCreditsError:`AuthFileQuota-module__codexResetCreditsError___HoA4w`},Wk=UO(Uk,`AuthFileQuota.module.scss`),Gk=e=>{throw Error(`Unsupported quota type: ${e}`)};function Kk(e){let{file:t,quotaType:n,disableControls:r}=e,{t:i}=ss(),a=Kc(e=>e.showNotification),o=Kc(e=>e.showConfirmation),[s,c]=(0,y.useState)(!1),l=Bk[n],u=tm(e=>n===`antigravity`?e.antigravityQuota[t.name]:n===`claude`?e.claudeQuota[t.name]:n===`codex`?e.codexQuota[t.name]:n===`kimi`?e.kimiQuota[t.name]:n===`xai`?e.xaiQuota[t.name]:Gk(n)),d=tm(e=>e[l.storeSetter]),f=(0,y.useCallback)(async()=>{if(r||FO(t)||t.disabled||u?.status===`loading`)return;let e=nm();d(e=>({...e,[t.name]:l.buildLoadingState()}));try{let n=await l.fetchQuota(t,i);rm(e,()=>{d(e=>({...e,[t.name]:l.buildSuccessState(n)})),a(i(`auth_files.quota_refresh_success`,{name:t.name}),`success`)})}catch(n){let r=n instanceof Error?n.message:i(`common.unknown_error`),o=qg(n);rm(e,()=>{d(e=>({...e,[t.name]:l.buildErrorState(r,o)})),a(i(`auth_files.quota_refresh_failed`,{name:t.name,message:r}),`error`)})}},[l,r,t,u?.status,a,i,d]),p=(0,y.useCallback)(()=>{if(r||FO(t)||t.disabled||u?.status===`loading`||s)return;let e=l.resetQuota;e&&o({title:i(`codex_quota.reset_confirm_title`),message:i(`codex_quota.reset_confirm_message`,{name:t.name}),confirmText:i(`codex_quota.reset_confirm_button`),variant:`primary`,onConfirm:async()=>{let n=nm();c(!0);try{let r=await e(t,i);rm(n,()=>{d(e=>({...e,[t.name]:l.buildSuccessState(r)})),a(i(`codex_quota.reset_success`,{name:t.name}),`success`)})}catch(e){let r=e instanceof Error?e.message:i(`common.unknown_error`);rm(n,()=>{a(i(`codex_quota.reset_failed`,{name:t.name,message:r}),`error`)})}finally{c(!1)}}})},[l,r,t,u?.status,s,o,a,i,d]),m=u?.status??`idle`,h=!r&&!t.disabled&&!s,g=h&&m!==`loading`,_=u!==void 0&&!!l.canResetQuota?.(u),v=l.resetQuota&&_?(0,H.jsxs)(U,{type:`button`,variant:`secondary`,size:`sm`,className:Uk.quotaResetCreditButton,onClick:()=>p(),disabled:!g,loading:s,title:i(`codex_quota.reset_button`),"aria-label":i(`codex_quota.reset_button`),children:[!s&&(0,H.jsx)(Cs,{size:14}),i(`codex_quota.reset_button`)]}):void 0,b=mg(i,u?.errorStatus,u?.error||i(`common.unknown_error`));return(0,H.jsxs)(`div`,{className:Uk.quotaSection,children:[m===`loading`?(0,H.jsx)(`div`,{className:Uk.quotaMessage,children:i(`${l.i18nPrefix}.loading`)}):m===`idle`?(0,H.jsx)(`button`,{type:`button`,className:`${Uk.quotaMessage} ${Uk.quotaMessageAction}`,onClick:()=>void f(),disabled:!h,children:i(`${l.i18nPrefix}.idle`)}):m===`error`?(0,H.jsx)(`div`,{className:Uk.quotaError,children:i(`${l.i18nPrefix}.load_failed`,{message:b})}):u?(0,H.jsx)(l.Body,{quota:u,classes:Wk}):(0,H.jsx)(`div`,{className:Uk.quotaMessage,children:i(`${l.i18nPrefix}.idle`)}),m!==`idle`&&v&&(0,H.jsx)(`div`,{className:Uk.quotaCardActions,children:v})]})}var qk={card:`AuthFileCard-module__card___uGYSU`,cardCompact:`AuthFileCard-module__cardCompact___OASyT`,cardSelected:`AuthFileCard-module__cardSelected___8nfCV`,cardDisabled:`AuthFileCard-module__cardDisabled___VNdBP`,head:`AuthFileCard-module__head___v8x8N`,fileName:`AuthFileCard-module__fileName___4SoBR`,note:`AuthFileCard-module__note___1z3AW`,health:`AuthFileCard-module__health___QjVqU`,metaRow:`AuthFileCard-module__metaRow___nfLnW`,cardEnter:`AuthFileCard-module__cardEnter___sxjp9`,"card-in":`AuthFileCard-module__card-in___3x8Zj`,cardIn:`AuthFileCard-module__card-in___3x8Zj`,selection:`AuthFileCard-module__selection___U0qhE`,avatar:`AuthFileCard-module__avatar___ZtCqm`,avatarImage:`AuthFileCard-module__avatarImage___liG5p`,avatarFallback:`AuthFileCard-module__avatarFallback___y-dhT`,identity:`AuthFileCard-module__identity___eeILs`,badgeRow:`AuthFileCard-module__badgeRow___rU21A`,typeBadge:`AuthFileCard-module__typeBadge___-WBFZ`,stateBadge:`AuthFileCard-module__stateBadge___GrbCH`,stateDot:`AuthFileCard-module__stateDot___OXXQL`,stateActive:`AuthFileCard-module__stateActive___G5S8g`,stateWarning:`AuthFileCard-module__stateWarning___9jbNL`,stateDisabled:`AuthFileCard-module__stateDisabled___6YxCO`,stateVirtual:`AuthFileCard-module__stateVirtual___X3Cqd`,account:`AuthFileCard-module__account___Rff3G`,accountMono:`AuthFileCard-module__accountMono___j0kio`,warning:`AuthFileCard-module__warning___fbAFD`,warningIcon:`AuthFileCard-module__warningIcon___uDlER`,healthHead:`AuthFileCard-module__healthHead___qOS-e`,healthLabel:`AuthFileCard-module__healthLabel___aT74P`,healthCounts:`AuthFileCard-module__healthCounts___CpV5-`,countOk:`AuthFileCard-module__countOk___3T-mO`,countFail:`AuthFileCard-module__countFail___FiHCK`,countLive:`AuthFileCard-module__countLive___GrmF6`,statusBar:`AuthFileCard-module__statusBar___l4HLW`,statusBlocks:`AuthFileCard-module__statusBlocks___QcWpO`,statusBlockWrapper:`AuthFileCard-module__statusBlockWrapper___XDWa-`,statusBlock:`AuthFileCard-module__statusBlock___HUSel`,statusBlockIdle:`AuthFileCard-module__statusBlockIdle___fhxJM`,statusBlockActive:`AuthFileCard-module__statusBlockActive___cEW6c`,statusRate:`AuthFileCard-module__statusRate___Qq2JK`,statusRateHigh:`AuthFileCard-module__statusRateHigh___KqEoP`,statusRateMedium:`AuthFileCard-module__statusRateMedium___2EC-8`,statusRateLow:`AuthFileCard-module__statusRateLow___6aoPQ`,statusTooltip:`AuthFileCard-module__statusTooltip___Wkvm1`,statusTooltipLeft:`AuthFileCard-module__statusTooltipLeft___8BuX-`,statusTooltipRight:`AuthFileCard-module__statusTooltipRight___IH6DF`,tooltipTime:`AuthFileCard-module__tooltipTime___0UfaN`,tooltipStats:`AuthFileCard-module__tooltipStats___IyHCo`,tooltipSuccess:`AuthFileCard-module__tooltipSuccess___p9K34`,tooltipFailure:`AuthFileCard-module__tooltipFailure___YFaP8`,tooltipRate:`AuthFileCard-module__tooltipRate___GoIfn`,metaDivider:`AuthFileCard-module__metaDivider___YdOzs`,metaPriority:`AuthFileCard-module__metaPriority___MNn3v`,metaWeight:`AuthFileCard-module__metaWeight___ev--T`,metaMetricLabel:`AuthFileCard-module__metaMetricLabel___ZyF33`,actions:`AuthFileCard-module__actions___rRBeL`,actionsMain:`AuthFileCard-module__actionsMain___9-6f3`,utilityActions:`AuthFileCard-module__utilityActions___1eq5S`,iconButton:`AuthFileCard-module__iconButton___XdMXe`,toggleWrap:`AuthFileCard-module__toggleWrap___QD-r9`,toggleLabel:`AuthFileCard-module__toggleLabel___StDgj`},Jk=e=>{let t=Yg(e);return nO.has(t)?t:null};function Yk(e){let{t}=ss(),{file:n,compact:r,selected:i,resolvedTheme:a,disableControls:o,deleting:s,statusUpdating:c,manualRefreshing:l,quotaFilterType:u,statusBarCache:d,entranceDelayMs:f,onShowModels:p,onDownload:m,onManualRefresh:h,onOpenPrefixProxyEditor:g,onDelete:_,onToggleStatus:v,onToggleSelect:b}=e,x=FO(n),S=pO(String(n.type??n.provider??`unknown`)),C=!x||S===`aistudio`,w=!x&&mO(S),T=l[n.name]===!0,E=xO(S,a),D=bO(t,S),O=SO(S,a),k=wO(S),A=u&&Jk(n)===u?u:null,j=!!A&&!x&&!r,M=n.successCount??0,N=n.failureCount??0,ee=typeof n.authIndex==`string`?n.authIndex:null,P=ee&&d.get(ee)||ty(n.recentRequests??[]),F=gO(n),I=vO(n),L=Number.isSafeInteger(n.priority)?n.priority:void 0,R=Number.isSafeInteger(n.weight)?n.weight:void 0,z=typeof n.note==`string`?n.note.trim():``,te=VO(n),B=x?t(`auth_files.type_virtual`):n.disabled?t(`auth_files.health_status_disabled`):t(I?`auth_files.health_status_warning`:F?`auth_files.health_status_healthy`:`auth_files.status_toggle_label`),V=x?qk.stateVirtual:n.disabled?qk.stateDisabled:I?qk.stateWarning:qk.stateActive,[ne]=(0,y.useState)(f??null);return(0,H.jsxs)(`article`,{className:[qk.card,r?qk.cardCompact:``,i?qk.cardSelected:``,n.disabled?qk.cardDisabled:``,ne==null?``:qk.cardEnter].filter(Boolean).join(` `),style:ne==null?void 0:{"--card-delay":`${ne}ms`},children:[(0,H.jsxs)(`header`,{className:qk.head,children:[!x&&(0,H.jsx)(_c,{checked:i,onChange:()=>b(n.name),className:qk.selection,"aria-label":t(i?`auth_files.batch_deselect`:`auth_files.batch_select_all`),title:t(i?`auth_files.batch_deselect`:`auth_files.batch_select_all`)}),(0,H.jsx)(`div`,{className:qk.avatar,style:k?{backgroundColor:TO(a),color:E.text}:{backgroundColor:E.bg,color:E.text,...E.border?{border:E.border}:{}},children:O?(0,H.jsx)(`img`,{src:O,alt:``,className:qk.avatarImage}):(0,H.jsx)(`span`,{className:qk.avatarFallback,children:D.slice(0,1).toUpperCase()})}),(0,H.jsxs)(`div`,{className:qk.identity,children:[(0,H.jsxs)(`div`,{className:qk.badgeRow,children:[(0,H.jsx)(`span`,{className:qk.typeBadge,style:{backgroundColor:E.bg,color:E.text,...E.border?{border:E.border}:{}},children:D}),(0,H.jsxs)(`span`,{className:`${qk.stateBadge} ${V}`,children:[(0,H.jsx)(`span`,{className:qk.stateDot,"aria-hidden":`true`}),B]})]}),(0,H.jsx)(`span`,{className:`${qk.account} ${te.kind===`fileName`?qk.accountMono:``}`,title:te.primary,children:te.primary})]})]}),te.secondary&&(0,H.jsx)(`p`,{className:qk.fileName,title:te.fullName,children:te.secondary}),!r&&z&&(0,H.jsx)(`p`,{className:qk.note,title:z,children:z}),F&&I&&(0,H.jsxs)(`div`,{className:qk.warning,title:F,children:[(0,H.jsx)(Ss,{className:qk.warningIcon,size:14}),(0,H.jsx)(`span`,{children:F})]}),(0,H.jsxs)(`div`,{className:qk.health,children:[(0,H.jsxs)(`div`,{className:qk.healthHead,children:[(0,H.jsx)(`span`,{className:qk.healthLabel,children:t(`auth_files.health_status_label`)}),(0,H.jsxs)(`span`,{className:qk.healthCounts,children:[(0,H.jsxs)(`span`,{className:`${qk.countOk} ${M>0?qk.countLive:``}`,title:t(`stats.success`),children:[t(`stats.success`),` `,M]}),(0,H.jsxs)(`span`,{className:`${qk.countFail} ${N>0?qk.countLive:``}`,title:t(`stats.failure`),children:[t(`stats.failure`),` `,N]})]})]}),(0,H.jsx)(Qw,{statusData:P,styles:qk})]}),(0,H.jsxs)(`div`,{className:qk.metaRow,children:[(0,H.jsx)(`span`,{title:t(`auth_files.file_size`),children:n.size?Ih(n.size):`-`}),(0,H.jsx)(`span`,{className:qk.metaDivider,"aria-hidden":`true`,children:`·`}),(0,H.jsx)(`span`,{title:t(`auth_files.file_modified`),children:IO(n)}),L!==void 0&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:qk.metaDivider,"aria-hidden":`true`,children:`·`}),(0,H.jsxs)(`span`,{className:qk.metaPriority,title:t(`auth_files.priority_hint`),children:[(0,H.jsx)(`span`,{className:qk.metaMetricLabel,children:t(`auth_files.priority_display`)}),(0,H.jsx)(`span`,{children:L})]})]}),R!==void 0&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:qk.metaDivider,"aria-hidden":`true`,children:`·`}),(0,H.jsxs)(`span`,{className:qk.metaWeight,title:t(`auth_files.weight_hint`),children:[(0,H.jsx)(`span`,{className:qk.metaMetricLabel,children:t(`auth_files.weight_display`)}),(0,H.jsx)(`span`,{children:R})]})]})]}),j&&A&&(0,H.jsx)(Kk,{file:n,quotaType:A,disableControls:o}),(0,H.jsxs)(`footer`,{className:qk.actions,children:[(0,H.jsxs)(`div`,{className:qk.actionsMain,children:[C&&(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:()=>p(n),title:t(`auth_files.models_button`),disabled:o,children:[(0,H.jsx)(hs,{size:14}),t(`auth_files.models_button`)]}),!x&&(0,H.jsxs)(`div`,{className:qk.utilityActions,children:[w&&(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>h(n),className:qk.iconButton,title:t(`auth_files.manual_refresh_button`),disabled:o||n.disabled||c[n.name]===!0||T,children:T?(0,H.jsx)(RO,{size:14}):(0,H.jsx)(Cs,{size:15})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>m(n.name),className:qk.iconButton,title:t(`auth_files.download_button`),disabled:o,children:(0,H.jsx)(ws,{size:15})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>g(n),className:qk.iconButton,title:t(`auth_files.prefix_proxy_button`),disabled:o||T,children:(0,H.jsx)(ys,{size:15})}),(0,H.jsx)(U,{variant:`danger`,size:`sm`,onClick:()=>_(n.name),className:qk.iconButton,title:t(`auth_files.delete_button`),disabled:o||s===n.name||T,children:s===n.name?(0,H.jsx)(RO,{size:14}):(0,H.jsx)(Es,{size:15})})]})]}),!x&&(0,H.jsxs)(`div`,{className:qk.toggleWrap,children:[(0,H.jsx)(`span`,{className:qk.toggleLabel,children:t(`auth_files.status_toggle_label`)}),(0,H.jsx)(Kw,{ariaLabel:t(`auth_files.status_toggle_label`),checked:!n.disabled,disabled:o||c[n.name]===!0||T,onChange:e=>v(n,e)})]})]})]})}function Xk({fileName:e,value:t,disabled:n,onChange:r}){let{t:i}=ss(),a=`${(0,y.useId)()}-excluded-models-label`,o=(0,y.useRef)(t),[s,c]=(0,y.useState)([]),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(!1);(0,y.useEffect)(()=>{o.current=t},[t]),(0,y.useEffect)(()=>{let t=!1;return c([]),u(!0),f(!1),Dy.getModelsForAuthFile(e).then(e=>{if(t)return;let n=new Map;e.forEach(e=>{let t=e.id?.trim();t&&n.set(t.toLowerCase(),{...e,id:t})}),aE(o.current).forEach(e=>{!e.includes(`*`)&&!n.has(e.toLowerCase())&&n.set(e.toLowerCase(),{id:e})}),c([...n.values()].sort((e,t)=>e.id.localeCompare(t.id,void 0,{sensitivity:`base`})))}).catch(()=>{t||f(!0)}).finally(()=>{t||u(!1)}),()=>{t=!0}},[e]);let p=(0,y.useMemo)(()=>aE(t),[t]),m=(0,y.useMemo)(()=>s.map(e=>({id:e.id,displayName:e.display_name})),[s]),h=l?`loading`:d?`error`:`ready`;return(0,H.jsxs)(`div`,{className:`form-group`,children:[(0,H.jsx)(`label`,{id:a,children:i(`auth_files.excluded_models_label`)}),(0,H.jsx)(bE,{value:p,onChange:e=>r(oE(e)),candidates:m,catalogState:h,disabled:n,labelledBy:a})]})}var Zk={editor:`AuthFileDetailsSheet-module__editor___DbnN-`,loading:`AuthFileDetailsSheet-module__loading___H-cxN`,error:`AuthFileDetailsSheet-module__error___0Uib2`,jsonWrapper:`AuthFileDetailsSheet-module__jsonWrapper___sDPqO`,label:`AuthFileDetailsSheet-module__label___b-EEy`,textarea:`AuthFileDetailsSheet-module__textarea___5tXvP`,textareaInvalid:`AuthFileDetailsSheet-module__textareaInvalid___IyPX0`,invalidPreview:`AuthFileDetailsSheet-module__invalidPreview___XEQ5F`,fields:`AuthFileDetailsSheet-module__fields___fA024`},Qk=[`successCount`,`failureCount`,`recentRequests`,`runtimeOnly`,`authIndex`,`statusMessage`,`modified`,`projectId`];function $k(e){let{t}=ss(),{disableControls:n,editor:r,updatedText:i,dirty:a,onClose:o,onCopyText:s,onSave:c,onChange:l}=e,u=Kc(e=>e.showConfirmation),d=(0,y.useCallback)(()=>!a||r?.saving===!0||new Promise(e=>{u({title:t(`providersPage.unsavedChanges.title`),message:t(`providersPage.unsavedChanges.message`),variant:`danger`,confirmText:t(`providersPage.unsavedChanges.discard`),cancelText:t(`providersPage.unsavedChanges.keepEditing`),onConfirm:()=>e(!0),onCancel:()=>e(!1)})}),[a,r?.saving,u,t]),f=(0,y.useCallback)(()=>{Promise.resolve(d()).then(e=>{e&&o()})},[d,o]),p=(e=>{if(!e)return``;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}})(i),m=r?.invalidContentPreview??``,h=r?.fileInfoText??``,g=(0,y.useMemo)(()=>{if(!h)return``;try{let e=JSON.parse(h);if(e&&typeof e==`object`&&!Array.isArray(e)){let t=e;return Qk.forEach(e=>{delete t[e]}),JSON.stringify(t,null,2)}}catch{}return h},[h]);return(0,H.jsx)(XT,{open:!!r,onClose:o,confirmClose:d,size:`md`,closeDisabled:r?.saving===!0,eyebrow:t(`auth_files.prefix_proxy_button`),title:r?.fileName??``,footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:f,disabled:r?.saving===!0,children:t(a?`common.cancel`:`common.close`)}),(0,H.jsx)(U,{variant:`secondary`,onClick:()=>{i&&s(i)},disabled:r?.saving===!0||!i,children:t(`common.copy`)}),(0,H.jsx)(U,{onClick:c,loading:r?.saving===!0,disabled:n||r?.saving===!0||!a||!r?.json||!!(r?.headersTouched&&r.headersError)||!!r?.weightError,children:t(`common.save`)})]}),children:r&&(0,H.jsx)(`div`,{className:Zk.editor,children:r.loading?(0,H.jsxs)(`div`,{className:Zk.loading,children:[(0,H.jsx)(RO,{size:14}),(0,H.jsx)(`span`,{children:t(`auth_files.prefix_proxy_loading`)})]}):(0,H.jsxs)(H.Fragment,{children:[r.error&&(0,H.jsx)(`div`,{className:Zk.error,children:r.error}),(0,H.jsxs)(`div`,{className:Zk.jsonWrapper,children:[(0,H.jsx)(`label`,{className:Zk.label,children:t(`auth_files.prefix_proxy_info_label`)}),(0,H.jsx)(`textarea`,{className:Zk.textarea,rows:8,readOnly:!0,value:g})]}),(0,H.jsxs)(`div`,{className:Zk.jsonWrapper,children:[(0,H.jsx)(`label`,{className:Zk.label,children:r.json?t(`auth_files.prefix_proxy_source_label`):t(`auth_files.prefix_proxy_invalid_content_label`)}),r.json?(0,H.jsx)(`textarea`,{className:Zk.textarea,rows:10,readOnly:!0,value:p}):(0,H.jsx)(`pre`,{className:Zk.invalidPreview,children:m})]}),r.json&&(0,H.jsxs)(`div`,{className:Zk.fields,children:[(0,H.jsx)(us,{label:t(`auth_files.prefix_label`),value:r.prefix,disabled:n||r.saving||!r.json,onChange:e=>l(`prefix`,e.target.value)}),(0,H.jsx)(us,{label:t(`auth_files.proxy_url_label`),value:r.proxyUrl,placeholder:t(`auth_files.proxy_url_placeholder`),disabled:n||r.saving||!r.json,onChange:e=>l(`proxyUrl`,e.target.value)}),(0,H.jsx)(us,{label:t(`auth_files.priority_label`),value:r.priority,placeholder:t(`auth_files.priority_placeholder`),hint:t(`auth_files.priority_hint`),disabled:n||r.saving||!r.json,onChange:e=>l(`priority`,e.target.value)}),(0,H.jsx)(us,{label:t(`auth_files.weight_label`),type:`number`,step:`1`,max:1e6,value:r.weight,placeholder:`1`,hint:t(`auth_files.weight_hint`),error:r.weightError??void 0,disabled:n||r.saving||!r.json,onChange:e=>l(`weight`,e.target.value)}),(0,H.jsxs)(`div`,{className:`form-group`,children:[(0,H.jsx)(`label`,{children:t(`auth_files.disable_cooling_label`)}),(0,H.jsx)(Kw,{checked:r.disableCooling,onChange:e=>l(`disableCooling`,e),disabled:n||r.saving||!r.json,ariaLabel:t(`auth_files.disable_cooling_label`)}),(0,H.jsx)(`div`,{className:`hint`,children:t(`auth_files.disable_cooling_hint`)})]}),kO(r.providerKey)&&(0,H.jsxs)(`div`,{className:`form-group`,children:[(0,H.jsx)(`label`,{children:t(`auth_files.websockets_label`)}),(0,H.jsx)(Kw,{checked:r.websockets,onChange:e=>l(`websockets`,e),disabled:n||r.saving||!r.json,ariaLabel:t(`auth_files.websockets_label`)}),(0,H.jsx)(`div`,{className:`hint`,children:t(`auth_files.websockets_hint`)})]}),MO(r.providerKey)&&(0,H.jsxs)(`div`,{className:`form-group`,children:[(0,H.jsx)(`label`,{children:t(`auth_files.using_api_label`)}),(0,H.jsx)(Kw,{checked:r.usingApi,onChange:e=>l(`usingApi`,e),disabled:n||r.saving||!r.json,ariaLabel:t(`auth_files.using_api_label`)}),(0,H.jsx)(`div`,{className:`hint`,children:t(`auth_files.using_api_hint`)})]}),(0,H.jsx)(Xk,{fileName:r.fileName,value:r.excludedModelsText,disabled:n||r.saving||!r.json,onChange:e=>l(`excludedModelsText`,e)}),(0,H.jsxs)(`div`,{className:`form-group`,children:[(0,H.jsx)(`label`,{children:t(`auth_files.headers_label`)}),(0,H.jsx)(`textarea`,{className:`input ${r.headersError?Zk.textareaInvalid:``}`,value:r.headersText,placeholder:t(`auth_files.headers_placeholder`),rows:4,"aria-invalid":!!r.headersError,disabled:n||r.saving||!r.json,onChange:e=>l(`headersText`,e.target.value)}),r.headersError&&(0,H.jsx)(`div`,{className:`error-box`,children:r.headersError}),(0,H.jsx)(`div`,{className:`hint`,children:t(`auth_files.headers_hint`)})]}),(0,H.jsx)(us,{label:t(`auth_files.note_label`),value:r.note,placeholder:t(`auth_files.note_placeholder`),hint:t(`auth_files.note_hint`),disabled:n||r.saving||!r.json,onChange:e=>l(`note`,e.target.value)})]})]})})})}var eA={list:`AuthFileModelsModal-module__list___owxkk`,item:`AuthFileModelsModal-module__item___pNrxv`,itemExcluded:`AuthFileModelsModal-module__itemExcluded___BKMCE`,modelId:`AuthFileModelsModal-module__modelId___Y02bh`,modelDisplayName:`AuthFileModelsModal-module__modelDisplayName___wrhaX`,modelType:`AuthFileModelsModal-module__modelType___O1w-v`,excludedBadge:`AuthFileModelsModal-module__excludedBadge___9NpWz`};function tA(e){let{t}=ss(),{open:n,fileName:r,fileType:i,loading:a,error:o,models:s,excluded:c,onClose:l,onCopyText:u}=e;return(0,H.jsx)(ym,{open:n,onClose:l,title:t(`auth_files.models_title`,{defaultValue:`支持的模型`})+` - ${r}`,footer:(0,H.jsx)(U,{variant:`secondary`,onClick:l,children:t(`common.close`)}),children:a?(0,H.jsx)(`div`,{className:`hint`,children:t(`auth_files.models_loading`,{defaultValue:`正在加载模型列表...`})}):o===`unsupported`?(0,H.jsx)(ZD,{title:t(`auth_files.models_unsupported`,{defaultValue:`当前版本不支持此功能`}),description:t(`auth_files.models_unsupported_desc`,{defaultValue:`请更新 CLI Proxy API 到最新版本后重试`})}):s.length===0?(0,H.jsx)(ZD,{title:t(`auth_files.models_empty`,{defaultValue:`该凭证暂无可用模型`}),description:t(`auth_files.models_empty_desc`,{defaultValue:`该认证凭证可能尚未被服务器加载或没有绑定任何模型`})}):(0,H.jsx)(`div`,{className:eA.list,children:s.map(e=>{let n=LO(e.id,i,c);return(0,H.jsxs)(`div`,{className:`${eA.item} ${n?eA.itemExcluded:``}`,onClick:()=>{u(e.id)},title:n?t(`auth_files.models_excluded_hint`,{defaultValue:`此 OAuth 模型已被禁用`}):t(`common.copy`,{defaultValue:`点击复制`}),children:[(0,H.jsx)(`span`,{className:eA.modelId,children:e.id}),e.display_name&&e.display_name!==e.id&&(0,H.jsx)(`span`,{className:eA.modelDisplayName,children:e.display_name}),e.type&&(0,H.jsx)(`span`,{className:eA.modelType,children:e.type}),n&&(0,H.jsx)(`span`,{className:eA.excludedBadge,children:t(`auth_files.models_excluded_badge`,{defaultValue:`已禁用`})})]},e.id)})})})}var nA={toolbar:`AuthFilesToolbar-module__toolbar___xJGiG`,search:`AuthFilesToolbar-module__search___2q5J4`,searchIcon:`AuthFilesToolbar-module__searchIcon___sQlFr`,segmented:`AuthFilesToolbar-module__segmented___OI8vp`,segment:`AuthFilesToolbar-module__segment___wRkEj`,segmentActive:`AuthFilesToolbar-module__segmentActive___4XmQp`,segmentProblem:`AuthFilesToolbar-module__segmentProblem___fftxA`,sort:`AuthFilesToolbar-module__sort___hfQv4`,display:`AuthFilesToolbar-module__display___ZcDgU`,displayButton:`AuthFilesToolbar-module__displayButton___v26R8`,displayButtonActive:`AuthFilesToolbar-module__displayButtonActive___hkNkR`,popover:`AuthFilesToolbar-module__popover___64-5U`,"toolbar-popover-in":`AuthFilesToolbar-module__toolbar-popover-in___oVLK9`,toolbarPopoverIn:`AuthFilesToolbar-module__toolbar-popover-in___oVLK9`,popoverRow:`AuthFilesToolbar-module__popoverRow___hYSuJ`,pageSizeInput:`AuthFilesToolbar-module__pageSizeInput___A1-5i`,deleteAction:`AuthFilesToolbar-module__deleteAction___2-7Wv`};function rA(e){let{search:t,onSearchChange:n,statusFilterMode:r,statusFilterOptions:i,onStatusFilterChange:a,sortMode:o,sortOptions:s,onSortModeChange:c,pageSizeInput:l,onPageSizeInputChange:u,onPageSizeCommit:d,compactMode:f,onCompactModeChange:p,deleteLabel:m,deleteDisabled:h,deleteLoading:g,onDelete:_}=e,{t:v}=ss(),[b,x]=(0,y.useState)(!1),S=(0,y.useRef)(null);return(0,y.useEffect)(()=>{if(!b)return;let e=e=>{S.current?.contains(e.target)||x(!1)},t=e=>{e.key===`Escape`&&x(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[b]),(0,H.jsxs)(`div`,{className:nA.toolbar,children:[(0,H.jsx)(`div`,{className:nA.search,children:(0,H.jsx)(us,{value:t,onChange:e=>n(e.target.value),placeholder:v(`auth_files.search_placeholder`),"aria-label":v(`auth_files.search_label`),rightElement:(0,H.jsx)(Rs,{className:nA.searchIcon,size:16})})}),(0,H.jsx)(`div`,{className:nA.segmented,role:`group`,"aria-label":v(`auth_files.problem_filter_label`),children:i.map(e=>{let t=r===e.value,n=e.value===`problem`;return(0,H.jsx)(`button`,{type:`button`,className:`${nA.segment} ${t?nA.segmentActive:``} ${n?nA.segmentProblem:``}`,"aria-pressed":t,onClick:()=>a(e.value),children:e.label},e.value)})}),(0,H.jsx)(`div`,{className:nA.sort,children:(0,H.jsx)(hc,{value:o,options:s,onChange:c,ariaLabel:v(`auth_files.sort_label`),size:`sm`})}),(0,H.jsxs)(`div`,{className:nA.display,ref:S,children:[(0,H.jsxs)(`button`,{type:`button`,className:`${nA.displayButton} ${b?nA.displayButtonActive:``}`,"aria-expanded":b,"aria-controls":`auth-files-display-settings`,title:v(`auth_files.display_options_label`),onClick:()=>x(e=>!e),children:[(0,H.jsx)(fs,{size:15}),(0,H.jsx)(`span`,{children:v(`auth_files.display_options_label`)})]}),b&&(0,H.jsxs)(`div`,{id:`auth-files-display-settings`,className:nA.popover,children:[(0,H.jsxs)(`div`,{className:nA.popoverRow,children:[(0,H.jsx)(`label`,{htmlFor:`auth-files-page-size`,children:v(`auth_files.page_size_label`)}),(0,H.jsx)(`input`,{id:`auth-files-page-size`,className:nA.pageSizeInput,type:`number`,min:3,max:30,step:1,value:l,onChange:u,onBlur:e=>d(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()}})]}),(0,H.jsxs)(`div`,{className:nA.popoverRow,children:[(0,H.jsx)(`span`,{children:v(`auth_files.compact_mode_label`)}),(0,H.jsx)(Kw,{checked:f,onChange:p,ariaLabel:v(`auth_files.compact_mode_label`)})]})]})]}),(0,H.jsxs)(`button`,{type:`button`,className:nA.deleteAction,onClick:_,disabled:h,children:[g?(0,H.jsx)(RO,{size:13}):(0,H.jsx)(Es,{size:14}),m]})]})}function iA(e,t,n){(0,y.useLayoutEffect)(()=>{if(typeof window>`u`)return;let r=n?e.current:null;if(!r){document.documentElement.style.removeProperty(t);return}let i=()=>{let e=r.getBoundingClientRect().height;document.documentElement.style.setProperty(t,`${e}px`)};i(),window.addEventListener(`resize`,i);let a=typeof ResizeObserver>`u`?null:new ResizeObserver(i);return a?.observe(r),()=>{a?.disconnect(),window.removeEventListener(`resize`,i),document.documentElement.style.removeProperty(t)}},[e,t,n])}var aA={container:`BatchActionBar-module__container___oXLfi`,bar:`BatchActionBar-module__bar___cs-m2`,left:`BatchActionBar-module__left___EoCU-`,right:`BatchActionBar-module__right___g4L9L`,count:`BatchActionBar-module__count___38ZzY`},oA=e=>1-(1-e)**4,sA=e=>e**3,cA=`translateX(-50%)`,lA=`translateX(-50%) translateY(56px)`;function uA(e){let{selectionCount:t,selectablePageCount:n,selectableFilteredCount:r,disableControls:i,batchStatusDisabled:a,onSelectPage:o,onSelectFiltered:s,onInvertPage:c,onDeselectAll:l,onDownload:u,onEnable:d,onDisable:f,onDelete:p}=e,{t:m}=ss(),[h,g]=(0,y.useState)(!1),_=(0,y.useRef)(null),v=(0,y.useRef)(null),b=(0,y.useRef)(t),x=(0,y.useRef)(0);return iA(_,`--auth-files-action-bar-height`,h),(0,y.useEffect)(()=>{b.current=t,t>0&&g(!0)},[t]),(0,y.useLayoutEffect)(()=>{if(!h)return;let e=t,n=x.current,r=_.current;if(!r)return;v.current?.stop(),v.current=null;let i=tx();if(e>0&&n===0)i?(r.style.transform=cA,v.current=rh(r,{opacity:[0,1]},{duration:.15,ease:`linear`,onComplete:()=>{r.style.opacity=`1`}})):v.current=rh(r,{transform:[lA,cA],opacity:[0,1]},{duration:.28,ease:oA,onComplete:()=>{r.style.transform=cA,r.style.opacity=`1`}});else if(e===0&&n>0){let e=()=>{b.current===0&&g(!1)};i?(r.style.transform=cA,v.current=rh(r,{opacity:[1,0]},{duration:.12,ease:`linear`,onComplete:e})):v.current=rh(r,{transform:[cA,lA],opacity:[1,0]},{duration:.22,ease:sA,onComplete:e})}x.current=e},[h,t]),(0,y.useEffect)(()=>()=>{v.current?.stop(),v.current=null},[]),!h||typeof document>`u`?null:(0,S.createPortal)((0,H.jsx)(`div`,{className:aA.container,ref:_,children:(0,H.jsxs)(`div`,{className:aA.bar,role:`toolbar`,"aria-label":m(`auth_files.batch_toolbar_label`),"aria-orientation":`horizontal`,children:[(0,H.jsxs)(`div`,{className:aA.left,children:[(0,H.jsx)(`span`,{className:aA.count,"aria-live":`polite`,children:m(`auth_files.batch_selected`,{count:t})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:o,disabled:n===0,children:m(`auth_files.batch_select_page`)}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:s,disabled:r===0,children:m(`auth_files.batch_select_filtered`)}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:c,disabled:n===0,children:m(`auth_files.batch_invert_page`)}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:l,children:m(`auth_files.batch_deselect`)})]}),(0,H.jsxs)(`div`,{className:aA.right,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:u,disabled:i||t===0,children:m(`auth_files.batch_download`)}),(0,H.jsx)(U,{size:`sm`,onClick:d,disabled:a,children:m(`auth_files.batch_enable`)}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:f,disabled:a,children:m(`auth_files.batch_disable`)}),(0,H.jsx)(U,{variant:`danger`,size:`sm`,onClick:p,disabled:i||t===0,children:m(`common.delete`)})]})]})}),document.body)}var dA={panel:`OAuthConfigPanels-module__panel___lTVNC`,panelHead:`OAuthConfigPanels-module__panelHead___QcS1O`,panelTitle:`OAuthConfigPanels-module__panelTitle___8OaGJ`,panelExtra:`OAuthConfigPanels-module__panelExtra___r-RbC`,panelBody:`OAuthConfigPanels-module__panelBody___nUIRf`,viewModeSwitch:`OAuthConfigPanels-module__viewModeSwitch___q-BNt`,list:`OAuthConfigPanels-module__list___yNnv7`,item:`OAuthConfigPanels-module__item___r5I4p`,itemInfo:`OAuthConfigPanels-module__itemInfo___RPe-i`,itemProvider:`OAuthConfigPanels-module__itemProvider___K0Crk`,itemCount:`OAuthConfigPanels-module__itemCount___62JzB`,itemActions:`OAuthConfigPanels-module__itemActions___DgULF`,aliasChartSection:`OAuthConfigPanels-module__aliasChartSection___tVJBR`,aliasChartHeader:`OAuthConfigPanels-module__aliasChartHeader___Fwa9W`,aliasChartTitle:`OAuthConfigPanels-module__aliasChartTitle___Iwot1`,aliasChart:`OAuthConfigPanels-module__aliasChart___43R2f`};function fA(e){let{t}=ss(),{disableControls:n,excludedError:r,excluded:i,onRetry:a,onAdd:o,onEdit:s,onDelete:c}=e;return(0,H.jsxs)(`section`,{className:dA.panel,children:[(0,H.jsxs)(`header`,{className:dA.panelHead,children:[(0,H.jsx)(`h3`,{className:dA.panelTitle,children:t(`oauth_excluded.title`)}),(0,H.jsx)(`div`,{className:dA.panelExtra,children:(0,H.jsx)(U,{size:`sm`,onClick:o,disabled:n||r!==null,children:t(`oauth_excluded.add`)})})]}),(0,H.jsx)(`div`,{className:dA.panelBody,children:r===`unsupported`?(0,H.jsx)(ZD,{title:t(`oauth_excluded.upgrade_required_title`),description:t(`oauth_excluded.upgrade_required_desc`)}):r===`load`?(0,H.jsx)(ZD,{title:t(`notification.refresh_failed`),action:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>void a(),children:t(`common.refresh`)})}):r===`loading`?(0,H.jsx)(ZD,{title:t(`common.loading`)}):Object.keys(i).length===0?(0,H.jsx)(ZD,{title:t(`oauth_excluded.list_empty_all`)}):(0,H.jsx)(`div`,{className:dA.list,children:Object.entries(i).map(([e,n])=>(0,H.jsxs)(`div`,{className:dA.item,children:[(0,H.jsxs)(`div`,{className:dA.itemInfo,children:[(0,H.jsx)(`div`,{className:dA.itemProvider,children:e}),(0,H.jsx)(`div`,{className:dA.itemCount,children:n?.length?t(`oauth_excluded.model_count`,{count:n.length}):t(`oauth_excluded.no_models`)})]}),(0,H.jsxs)(`div`,{className:dA.itemActions,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>s(e),children:t(`common.edit`)}),(0,H.jsx)(U,{variant:`danger`,size:`sm`,onClick:()=>c(e),children:t(`oauth_excluded.delete`)})]})]},e))})})]})}var pA={scrollContainer:`ModelMappingDiagram-module__scrollContainer___CVtMl`,tapHint:`ModelMappingDiagram-module__tapHint___WVg9j`,container:`ModelMappingDiagram-module__container___5GMeJ`,connections:`ModelMappingDiagram-module__connections___-pgzq`,column:`ModelMappingDiagram-module__column___Guf-v`,providers:`ModelMappingDiagram-module__providers___n0NN6`,sources:`ModelMappingDiagram-module__sources___N646E`,aliases:`ModelMappingDiagram-module__aliases___zg5ma`,columnHeader:`ModelMappingDiagram-module__columnHeader___QAC6y`,item:`ModelMappingDiagram-module__item___KBTKp`,dropTarget:`ModelMappingDiagram-module__dropTarget___dAYPB`,selected:`ModelMappingDiagram-module__selected___r3Gyz`,providerItem:`ModelMappingDiagram-module__providerItem___4PZQM`,providerLabel:`ModelMappingDiagram-module__providerLabel___E2vNu`,collapseBtn:`ModelMappingDiagram-module__collapseBtn___RXanB`,chevronDown:`ModelMappingDiagram-module__chevronDown___AP7zK`,chevronRight:`ModelMappingDiagram-module__chevronRight___bbMVy`,providerGroup:`ModelMappingDiagram-module__providerGroup___5JNQu`,sourceItem:`ModelMappingDiagram-module__sourceItem___TjDG6`,aliasItem:`ModelMappingDiagram-module__aliasItem___h6w7D`,dragging:`ModelMappingDiagram-module__dragging___lhx9y`,dot:`ModelMappingDiagram-module__dot___AOWIN`,dotLeft:`ModelMappingDiagram-module__dotLeft___BKXAm`,providerBadge:`ModelMappingDiagram-module__providerBadge___cRzux`,itemName:`ModelMappingDiagram-module__itemName___MjfSv`,itemCount:`ModelMappingDiagram-module__itemCount___B-gtl`,contextMenu:`ModelMappingDiagram-module__contextMenu___VHX-s`,menuItem:`ModelMappingDiagram-module__menuItem___e-LvI`,danger:`ModelMappingDiagram-module__danger___klXxM`,menuDivider:`ModelMappingDiagram-module__menuDivider___XtoCo`,settingsEmpty:`ModelMappingDiagram-module__settingsEmpty___N0gFF`,settingsList:`ModelMappingDiagram-module__settingsList___ovuWo`,settingsRow:`ModelMappingDiagram-module__settingsRow___wH-TW`,settingsNames:`ModelMappingDiagram-module__settingsNames___QDn9j`,settingsSource:`ModelMappingDiagram-module__settingsSource___Hz9zo`,settingsAlias:`ModelMappingDiagram-module__settingsAlias___Ov9zt`,settingsArrow:`ModelMappingDiagram-module__settingsArrow___SKvFd`,settingsActions:`ModelMappingDiagram-module__settingsActions___PYXMU`,settingsLabel:`ModelMappingDiagram-module__settingsLabel___R--i-`,settingsDelete:`ModelMappingDiagram-module__settingsDelete___PDG7z`};function mA({providerNodes:e,collapsedProviders:t,getProviderColor:n,providerGroupHeights:r={},providerRefs:i,onToggleCollapse:a,onContextMenu:o,label:s,expandLabel:c,collapseLabel:l}){return(0,H.jsxs)(`div`,{className:`${pA.column} ${pA.providers}`,onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),o(e,`background`)},children:[(0,H.jsx)(`div`,{className:pA.columnHeader,children:s}),e.map(({provider:e,sources:s})=>{let u=t.has(e),d=u?void 0:r[e];return(0,H.jsx)(`div`,{className:pA.providerGroup,style:d?{height:d}:void 0,children:(0,H.jsxs)(`div`,{ref:t=>{t?i.current?.set(e,t):i.current?.delete(e)},className:`${pA.item} ${pA.providerItem}`,style:{borderLeftColor:n(e)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),o(t,`provider`,e)},children:[(0,H.jsx)(`button`,{type:`button`,className:pA.collapseBtn,onClick:()=>a(e),"aria-label":u?c:l,title:u?c:l,children:(0,H.jsx)(`span`,{className:u?pA.chevronRight:pA.chevronDown})}),(0,H.jsx)(`span`,{className:pA.providerLabel,style:{color:n(e)},children:e}),(0,H.jsx)(`span`,{className:pA.itemCount,children:s.length})]})},e)})]})}function hA({providerNodes:e,collapsedProviders:t,sourceRefs:n,getProviderColor:r,selectedSourceId:i,onSelectSource:a,draggedSource:o,dropTargetSource:s,draggable:c,onDragStart:l,onDragEnd:u,onDragOver:d,onDragLeave:f,onDrop:p,onContextMenu:m,label:h}){return(0,H.jsxs)(`div`,{className:`${pA.column} ${pA.sources}`,onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),m(e,`background`)},children:[(0,H.jsx)(`div`,{className:pA.columnHeader,children:h}),e.flatMap(({provider:e,sources:h})=>t.has(e)?[]:h.map(e=>(0,H.jsxs)(`div`,{ref:t=>{t?n.current?.set(e.id,t):n.current?.delete(e.id)},className:`${pA.item} ${pA.sourceItem} ${o?.id===e.id?pA.dragging:``} ${s===e.id?pA.dropTarget:``} ${i===e.id?pA.selected:``}`,onClick:()=>a?.(e),draggable:c,onDragStart:t=>l(t,e),onDragEnd:u,onDragOver:t=>d(t,e),onDragLeave:f,onDrop:t=>p(t,e),onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),m(t,`source`,e.id)},children:[(0,H.jsx)(`span`,{className:pA.itemName,title:e.name,children:e.name}),(0,H.jsx)(`div`,{className:pA.dot,style:{background:r(e.provider),opacity:e.aliases.length>0?1:.3}})]},e.id)))]})}function gA({aliasNodes:e,aliasRefs:t,dropTargetAlias:n,draggedAlias:r,selectedAlias:i,onSelectAlias:a,draggable:o,onDragStart:s,onDragEnd:c,onDragOver:l,onDragLeave:u,onDrop:d,onContextMenu:f,label:p}){return(0,H.jsxs)(`div`,{className:`${pA.column} ${pA.aliases}`,onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),f(e,`background`)},children:[(0,H.jsx)(`div`,{className:pA.columnHeader,children:p}),e.map(e=>(0,H.jsxs)(`div`,{ref:n=>{n?t.current?.set(e.id,n):t.current?.delete(e.id)},className:`${pA.item} ${pA.aliasItem} ${n===e.alias?pA.dropTarget:``} ${r===e.alias?pA.dragging:``} ${i===e.alias?pA.selected:``}`,onClick:()=>a?.(e.alias),draggable:o,onDragStart:t=>s(t,e.alias),onDragEnd:c,onDragOver:t=>l(t,e.alias),onDragLeave:u,onDrop:t=>d(t,e.alias),onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),f(t,`alias`,e.alias)},children:[(0,H.jsx)(`div`,{className:`${pA.dot} ${pA.dotLeft}`}),(0,H.jsx)(`span`,{className:pA.itemName,title:e.alias,children:e.alias}),(0,H.jsx)(`span`,{className:pA.itemCount,children:e.sources.length})]},e.id))]})}function _A({contextMenu:e,t,onRequestClose:n,onAddAlias:r,onRenameAlias:i,onOpenAliasSettings:a,onDeleteAlias:o,onEditProvider:s,onDeleteProvider:c,onOpenSourceSettings:l}){let u=(0,y.useRef)(null);if((0,y.useEffect)(()=>{if(!e)return;let t=e=>{u.current?.contains(e.target)||n()};return document.addEventListener(`mousedown`,t),()=>document.removeEventListener(`mousedown`,t)},[e,n]),!e)return null;let{type:d,data:f}=e;return(0,S.createPortal)((0,H.jsxs)(`div`,{ref:u,className:pA.contextMenu,style:{top:e.y,left:e.x},onClick:e=>e.stopPropagation(),children:[d===`background`&&(0,H.jsx)(`div`,{className:pA.menuItem,onClick:r,children:(0,H.jsx)(`span`,{children:t(`oauth_model_alias.diagram_add_alias`)})}),d===`alias`&&(f?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`div`,{className:pA.menuItem,onClick:()=>i(f),children:(0,H.jsx)(`span`,{children:t(`oauth_model_alias.diagram_rename`)})}),(0,H.jsx)(`div`,{className:pA.menuItem,onClick:()=>a(f),children:(0,H.jsx)(`span`,{children:t(`oauth_model_alias.diagram_settings`)})}),(0,H.jsx)(`div`,{className:pA.menuDivider}),(0,H.jsx)(`div`,{className:`${pA.menuItem} ${pA.danger}`,onClick:()=>o(f),children:(0,H.jsx)(`span`,{children:t(`oauth_model_alias.diagram_delete_alias`)})})]}):null),d===`provider`&&(f?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`div`,{className:pA.menuItem,onClick:()=>s(f),children:(0,H.jsx)(`span`,{children:t(`common.edit`)})}),(0,H.jsx)(`div`,{className:pA.menuDivider}),(0,H.jsx)(`div`,{className:`${pA.menuItem} ${pA.danger}`,onClick:()=>c(f),children:(0,H.jsx)(`span`,{children:t(`oauth_model_alias.delete`)})})]}):null),d===`source`&&(f?(0,H.jsx)(`div`,{className:pA.menuItem,onClick:()=>l(f),children:(0,H.jsx)(`span`,{children:t(`oauth_model_alias.diagram_settings`)})}):null)]}),document.body)}function vA({open:e,t,value:n,error:r,onChange:i,onClose:a,onSubmit:o}){return(0,H.jsx)(ym,{open:e,onClose:a,title:t(`oauth_model_alias.diagram_rename_alias_title`),width:400,footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:a,children:t(`common.cancel`)}),(0,H.jsx)(U,{onClick:o,children:t(`oauth_model_alias.diagram_rename_btn`)})]}),children:(0,H.jsx)(us,{label:t(`oauth_model_alias.diagram_rename_alias_label`),value:n,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&o()},error:r,placeholder:t(`oauth_model_alias.diagram_rename_placeholder`),autoFocus:!0})})}function yA({open:e,t,value:n,error:r,onChange:i,onClose:a,onSubmit:o}){return(0,H.jsx)(ym,{open:e,onClose:a,title:t(`oauth_model_alias.diagram_add_alias_title`),width:400,footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:a,children:t(`common.cancel`)}),(0,H.jsx)(U,{onClick:o,children:t(`oauth_model_alias.diagram_add_btn`)})]}),children:(0,H.jsx)(us,{label:t(`oauth_model_alias.diagram_add_alias_label`),value:n,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&o()},error:r,placeholder:t(`oauth_model_alias.diagram_add_placeholder`),autoFocus:!0})})}function bA({open:e,t,alias:n,aliasNodes:r,onClose:i,onToggleFork:a,onUnlink:o}){return(0,H.jsx)(ym,{open:e,onClose:i,title:t(`oauth_model_alias.diagram_settings_title`,{alias:n??``}),width:720,footer:(0,H.jsx)(U,{variant:`secondary`,onClick:i,children:t(`common.close`)}),children:n?(()=>{let e=r.find(e=>e.alias===n);return!e||e.sources.length===0?(0,H.jsx)(`div`,{className:pA.settingsEmpty,children:t(`oauth_model_alias.diagram_settings_empty`)}):(0,H.jsx)(`div`,{className:pA.settingsList,children:e.sources.map(e=>{let r=e.aliases.find(e=>e.alias===n)?.fork===!0;return(0,H.jsxs)(`div`,{className:pA.settingsRow,children:[(0,H.jsxs)(`div`,{className:pA.settingsNames,children:[(0,H.jsx)(`span`,{className:pA.settingsSource,children:e.name}),(0,H.jsx)(`span`,{className:pA.settingsArrow,children:`→`}),(0,H.jsx)(`span`,{className:pA.settingsAlias,children:n})]}),(0,H.jsxs)(`div`,{className:pA.settingsActions,children:[(0,H.jsx)(`span`,{className:pA.settingsLabel,children:t(`oauth_model_alias.alias_fork_label`)}),(0,H.jsx)(Kw,{checked:r,onChange:t=>a(e.provider,e.name,n,t),ariaLabel:t(`oauth_model_alias.alias_fork_label`)}),(0,H.jsx)(`button`,{type:`button`,className:pA.settingsDelete,onClick:()=>o(e.provider,e.name,n),"aria-label":t(`oauth_model_alias.diagram_delete_link`,{provider:e.provider,name:e.name}),title:t(`oauth_model_alias.diagram_delete_link`,{provider:e.provider,name:e.name}),children:(0,H.jsx)(Es,{size:14})})]})]},e.id)})})})():null})}function xA({open:e,t,source:n,onClose:r,onToggleFork:i,onUnlink:a}){return(0,H.jsx)(ym,{open:e,onClose:r,title:t(`oauth_model_alias.diagram_settings_source_title`),width:720,footer:(0,H.jsx)(U,{variant:`secondary`,onClick:r,children:t(`common.close`)}),children:n?n.aliases.length===0?(0,H.jsx)(`div`,{className:pA.settingsEmpty,children:t(`oauth_model_alias.diagram_settings_empty`)}):(0,H.jsx)(`div`,{className:pA.settingsList,children:n.aliases.map(e=>(0,H.jsxs)(`div`,{className:pA.settingsRow,children:[(0,H.jsxs)(`div`,{className:pA.settingsNames,children:[(0,H.jsx)(`span`,{className:pA.settingsSource,children:n.name}),(0,H.jsx)(`span`,{className:pA.settingsArrow,children:`→`}),(0,H.jsx)(`span`,{className:pA.settingsAlias,children:e.alias})]}),(0,H.jsxs)(`div`,{className:pA.settingsActions,children:[(0,H.jsx)(`span`,{className:pA.settingsLabel,children:t(`oauth_model_alias.alias_fork_label`)}),(0,H.jsx)(Kw,{checked:e.fork===!0,onChange:t=>i(n.provider,n.name,e.alias,t),ariaLabel:t(`oauth_model_alias.alias_fork_label`)}),(0,H.jsx)(`button`,{type:`button`,className:pA.settingsDelete,onClick:()=>a(n.provider,n.name,e.alias),"aria-label":t(`oauth_model_alias.diagram_delete_link`,{provider:n.provider,name:n.name}),title:t(`oauth_model_alias.diagram_delete_link`,{provider:n.provider,name:n.name}),children:(0,H.jsx)(Es,{size:14})})]})]},`${n.id}-${e.alias}`))}):null})}var SA=e=>e.trim().toLowerCase();function CA(e,t,n){let r=SA(t);if(!r)return!1;let i=!1;return e.some(e=>!i&&n!==void 0&&e===n?(i=!0,!1):SA(e)===r)}var wA=[`#8b8680`,`#10b981`,`#f59e0b`,`#c65746`,`#8b5cf6`,`#ec4899`,`#06b6d4`,`#84cc16`];function TA(e){return wA[e.split(``).reduce((e,t)=>e+t.charCodeAt(0),0)%wA.length]}var EA=(0,y.forwardRef)(function({modelAlias:e,allProviderModels:t={},onUpdate:n,onDeleteLink:r,onToggleFork:i,onRenameAlias:a,onDeleteAlias:o,onEditProvider:s,onDeleteProvider:c,className:l},u){let{t:d}=ss(),f=tl(e=>e.resolvedTheme)===`dark`,p=(0,y.useMemo)(()=>typeof window>`u`||window.matchMedia===void 0?!1:window.matchMedia(`(any-pointer: coarse)`).matches&&!window.matchMedia(`(any-pointer: fine)`).matches,[]),m=(0,y.useRef)(null),[h,g]=(0,y.useState)([]),[_,v]=(0,y.useState)(null),[b,x]=(0,y.useState)(null),[S,C]=(0,y.useState)(null),[w,T]=(0,y.useState)(null),[E,D]=(0,y.useState)(null),[O,k]=(0,y.useState)(null),[A,j]=(0,y.useState)([]),[M,N]=(0,y.useState)(null),[ee,P]=(0,y.useState)(new Set),[F,I]=(0,y.useState)({}),[L,R]=(0,y.useState)(null),[z,te]=(0,y.useState)(``),[B,V]=(0,y.useState)(``),[ne,re]=(0,y.useState)(!1),[ie,ae]=(0,y.useState)(``),[oe,se]=(0,y.useState)(``),[ce,le]=(0,y.useState)(null),[ue,de]=(0,y.useState)(null),{aliasNodes:fe,providerNodes:pe}=(0,y.useMemo)(()=>{let n=new Map,r=new Set;Object.entries(e).forEach(([e,t])=>{(t??[]).forEach(t=>{let i=(t?.name||``).trim(),a=(t?.alias||``).trim();if(!i||!a)return;let o=`${e.toLowerCase()}::${i.toLowerCase()}`;n.has(o)||n.set(o,{provider:e,name:i,aliases:new Map}),n.get(o).aliases.set(a,t?.fork===!0),r.add(a)})}),Object.entries(t).forEach(([e,t])=>{(t??[]).forEach(t=>{let r=(t.id||``).trim();if(!r)return;let i=`${e.toLowerCase()}::${r.toLowerCase()}`;n.has(i)||n.set(i,{provider:e,name:r,aliases:new Map})})});let i=Array.from(n.entries()).map(([e,t])=>({id:e,provider:t.provider,name:t.name,aliases:Array.from(t.aliases.entries()).map(([e,t])=>({alias:e,fork:t}))})).sort((e,t)=>e.provider===t.provider?e.name.localeCompare(t.name):e.provider.localeCompare(t.provider));A.forEach(e=>r.add(e));let a=Array.from(r).map(e=>({id:e,alias:e,sources:i.filter(t=>t.aliases.some(t=>t.alias===e))})).sort((e,t)=>t.sources.length===e.sources.length?e.alias.localeCompare(t.alias):t.sources.length-e.sources.length),o=new Map;return i.forEach(e=>{o.has(e.provider)||o.set(e.provider,[]),o.get(e.provider).push(e)}),{aliasNodes:a,providerNodes:Array.from(o.entries()).map(([e,t])=>({provider:e,sources:t})).sort((e,t)=>e.provider.localeCompare(t.provider))}},[e,t,A]),me=(0,y.useRef)(new Map),he=(0,y.useRef)(new Map),ge=(0,y.useRef)(new Map),_e=e=>{P(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ve=(0,y.useCallback)(()=>{if(!m.current)return;let e=m.current.getBoundingClientRect(),t=[],n={},r=(e,t,n,r)=>`M ${e} ${t} C ${e+(n-e)*.5} ${t}, ${n-(n-e)*.5} ${r}, ${n} ${r}`;pe.forEach(({provider:i,sources:a})=>{if(ee.has(i))return;if(a.length>0){let e=he.current.get(a[0].id),t=he.current.get(a[a.length-1].id);if(e&&t){let r=Math.max(0,Math.round(t.getBoundingClientRect().bottom-e.getBoundingClientRect().top));r>0&&(n[i]=r)}}let o=me.current.get(i);if(!o)return;let s=o.getBoundingClientRect(),c=s.right-e.left,l=s.top+s.height/2-e.top,u=TA(i);a.forEach(n=>{let a=he.current.get(n.id);if(!a)return;let o=a.getBoundingClientRect(),s=o.left-e.left,d=o.top+o.height/2-e.top;t.push({id:`provider-${i}-source-${n.id}`,path:r(c,l,s,d),color:u})}),a.forEach(n=>{!n.aliases||n.aliases.length===0||n.aliases.forEach(i=>{let a=he.current.get(n.id),o=ge.current.get(i.alias);if(!a||!o)return;let s=a.getBoundingClientRect(),c=o.getBoundingClientRect(),l=s.right-e.left,d=s.top+s.height/2-e.top,f=c.left-e.left,p=c.top+c.height/2-e.top;t.push({id:`${n.id}-${i.alias}`,path:r(l,d,f,p),color:u})})})}),g(t),I(e=>{let t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length)return n;for(let t of r)if(!(t in e)||e[t]!==n[t])return n;return e})},[pe,ee]);(0,y.useImperativeHandle)(u,()=>({collapseAll:()=>P(new Set(pe.map(e=>e.provider))),refreshLayout:()=>ve()}),[pe,ve]),(0,y.useLayoutEffect)(()=>{let e=requestAnimationFrame(ve);return window.addEventListener(`resize`,ve),()=>{cancelAnimationFrame(e),window.removeEventListener(`resize`,ve)}},[ve,fe]),(0,y.useLayoutEffect)(()=>{let e=requestAnimationFrame(ve);return()=>cancelAnimationFrame(e)},[F,ve]),(0,y.useEffect)(()=>{if(!m.current||typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>ve());return e.observe(m.current),()=>e.disconnect()},[ve]);let ye=(e,t)=>{D(null),k(null),v(t),e.dataTransfer.setData(`text/plain`,t.id),e.dataTransfer.effectAllowed=`link`},be=(e,t)=>{!_||_.aliases.some(e=>e.alias===t)||(e.preventDefault(),e.dataTransfer.dropEffect=`link`,C(t))},xe=()=>{C(null)},Se=(e,t)=>{e.preventDefault(),_&&!_.aliases.some(e=>e.alias===t)&&n&&n(_.provider,_.name,t),v(null),C(null)},Ce=(e,t)=>{D(null),k(null),x(t),e.dataTransfer.setData(`text/plain`,t),e.dataTransfer.effectAllowed=`link`},we=(e,t)=>{!b||t.aliases.some(e=>e.alias===b)||(e.preventDefault(),e.dataTransfer.dropEffect=`link`,T(t.id))},Te=()=>{T(null)},Ee=(e,t)=>{e.preventDefault(),b&&!t.aliases.some(e=>e.alias===b)&&n&&n(t.provider,t.name,b),x(null),T(null)},De=(e,t,n)=>{e.preventDefault(),e.stopPropagation(),N({x:e.clientX,y:e.clientY,type:t,data:n})},Oe=()=>N(null),ke=(0,y.useCallback)(e=>{if(!e)return null;for(let{sources:t}of pe){let n=t.find(t=>t.id===e);if(n)return n}return null},[pe]),Ae=e=>{if(n){if(E===e.id){D(null);return}if(O){n(e.provider,e.name,O),D(null),k(null);return}D(e.id),k(null)}},je=e=>{if(n){if(O===e){k(null);return}if(E){let t=ke(E);t&&n(t.provider,t.name,e),D(null),k(null);return}k(e),D(null)}},Me=(e,t,n)=>{r&&r(e,t,n)},Ne=(e,t,n,r)=>{i&&i(e,t,n,r)};return(0,H.jsxs)(`div`,{className:[pA.scrollContainer,l].filter(Boolean).join(` `),children:[p&&n&&(0,H.jsx)(`div`,{className:pA.tapHint,children:d(`oauth_model_alias.diagram_tap_hint`)}),(0,H.jsxs)(`div`,{className:pA.container,ref:m,onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),De(e,`background`)},children:[(0,H.jsx)(`svg`,{className:pA.connections,children:h.map(e=>(0,H.jsx)(`path`,{d:e.path,stroke:e.color,strokeOpacity:f?.4:.3},e.id))}),(0,H.jsx)(mA,{providerNodes:pe,collapsedProviders:ee,getProviderColor:TA,providerGroupHeights:F,providerRefs:me,onToggleCollapse:_e,onContextMenu:(e,t,n)=>De(e,t,n),label:d(`oauth_model_alias.diagram_providers`),expandLabel:d(`oauth_model_alias.diagram_expand`),collapseLabel:d(`oauth_model_alias.diagram_collapse`)}),(0,H.jsx)(hA,{providerNodes:pe,collapsedProviders:ee,sourceRefs:he,getProviderColor:TA,selectedSourceId:p?E:null,onSelectSource:p?Ae:void 0,draggedSource:_,dropTargetSource:w,draggable:!!n,onDragStart:ye,onDragEnd:()=>{v(null),C(null)},onDragOver:we,onDragLeave:Te,onDrop:Ee,onContextMenu:(e,t,n)=>De(e,t,n),label:d(`oauth_model_alias.diagram_source_models`)}),(0,H.jsx)(gA,{aliasNodes:fe,aliasRefs:ge,dropTargetAlias:S,draggedAlias:b,selectedAlias:p?O:null,onSelectAlias:p?je:void 0,draggable:!!n,onDragStart:Ce,onDragEnd:()=>{x(null),T(null)},onDragOver:be,onDragLeave:xe,onDrop:Se,onContextMenu:(e,t,n)=>De(e,t,n),label:d(`oauth_model_alias.diagram_aliases`)})]}),(0,H.jsx)(_A,{contextMenu:M,t:d,onRequestClose:()=>N(null),onAddAlias:()=>{Oe(),re(!0),ae(``),se(``)},onRenameAlias:e=>{Oe(),R({oldAlias:e}),te(e),V(``)},onOpenAliasSettings:e=>{N(null),le(e)},onDeleteAlias:e=>{Oe();let t=fe.find(t=>t.alias===e);t&&(t.sources.length===0?j(t=>t.filter(t=>t!==e)):o&&o(e))},onEditProvider:e=>{N(null),s?.(e)},onDeleteProvider:e=>{N(null),c?.(e)},onOpenSourceSettings:e=>{N(null),de(e)}}),(0,H.jsx)(vA,{open:!!L,t:d,value:z,error:B,onChange:e=>{te(e),V(``)},onClose:()=>R(null),onSubmit:()=>{let e=z.trim();if(!e){V(d(`oauth_model_alias.diagram_please_enter_alias`));return}if(e===L?.oldAlias){R(null);return}if(CA(fe.map(e=>e.alias),e,L?.oldAlias)){V(d(`oauth_model_alias.diagram_alias_exists`));return}a&&L&&a(L.oldAlias,e),A.includes(L?.oldAlias??``)&&j(t=>t.map(t=>t===L?.oldAlias?e:t)),R(null)}}),(0,H.jsx)(yA,{open:ne,t:d,value:ie,error:oe,onChange:e=>{ae(e),se(``)},onClose:()=>re(!1),onSubmit:()=>{let e=ie.trim();if(!e){se(d(`oauth_model_alias.diagram_please_enter_alias`));return}if(CA(fe.map(e=>e.alias),e)){se(d(`oauth_model_alias.diagram_alias_exists`));return}j(t=>[...t,e]),re(!1)}}),(0,H.jsx)(bA,{open:!!ce,t:d,alias:ce,aliasNodes:fe,onClose:()=>le(null),onToggleFork:Ne,onUnlink:Me}),(0,H.jsx)(xA,{open:!!ue,t:d,source:ke(ue),onClose:()=>de(null),onToggleFork:Ne,onUnlink:Me})]})});function DA(e){let{t}=ss(),n=(0,y.useRef)(null),{disableControls:r,viewMode:i,onViewModeChange:a,onRetry:o,onAdd:s,onEditProvider:c,onDeleteProvider:l,modelAliasError:u,modelAlias:d,allProviderModels:f,onUpdate:p,onDeleteLink:m,onToggleFork:h,onRenameAlias:g,onDeleteAlias:_}=e;return(0,H.jsxs)(`section`,{className:dA.panel,children:[(0,H.jsxs)(`header`,{className:dA.panelHead,children:[(0,H.jsx)(`h3`,{className:dA.panelTitle,children:t(`oauth_model_alias.title`)}),(0,H.jsxs)(`div`,{className:dA.panelExtra,children:[(0,H.jsxs)(`div`,{className:dA.viewModeSwitch,children:[(0,H.jsx)(U,{variant:i===`list`?`secondary`:`ghost`,size:`sm`,onClick:()=>a(`list`),disabled:r||u!==null,"aria-pressed":i===`list`,children:t(`oauth_model_alias.view_mode_list`)}),(0,H.jsx)(U,{variant:i===`diagram`?`secondary`:`ghost`,size:`sm`,onClick:()=>a(`diagram`),disabled:r||u!==null,"aria-pressed":i===`diagram`,children:t(`oauth_model_alias.view_mode_diagram`)})]}),(0,H.jsx)(U,{size:`sm`,onClick:s,disabled:r||u!==null,children:t(`oauth_model_alias.add`)})]})]}),(0,H.jsx)(`div`,{className:dA.panelBody,children:u===`unsupported`?(0,H.jsx)(ZD,{title:t(`oauth_model_alias.upgrade_required_title`),description:t(`oauth_model_alias.upgrade_required_desc`)}):u===`load`?(0,H.jsx)(ZD,{title:t(`notification.refresh_failed`),action:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>void o(),children:t(`common.refresh`)})}):u===`loading`?(0,H.jsx)(ZD,{title:t(`common.loading`)}):i===`diagram`?Object.keys(d).length===0?(0,H.jsx)(ZD,{title:t(`oauth_model_alias.list_empty_all`)}):(0,H.jsxs)(`div`,{className:dA.aliasChartSection,children:[(0,H.jsxs)(`div`,{className:dA.aliasChartHeader,children:[(0,H.jsx)(`h4`,{className:dA.aliasChartTitle,children:t(`oauth_model_alias.chart_title`)}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>n.current?.collapseAll(),disabled:r||u!==null,title:t(`oauth_model_alias.diagram_collapse`),"aria-label":t(`oauth_model_alias.diagram_collapse`),children:(0,H.jsx)(Fs,{size:16})})]}),(0,H.jsx)(EA,{ref:n,modelAlias:d,allProviderModels:f,onUpdate:p,onDeleteLink:m,onToggleFork:h,onRenameAlias:g,onDeleteAlias:_,onEditProvider:c,onDeleteProvider:l,className:dA.aliasChart})]}):Object.keys(d).length===0?(0,H.jsx)(ZD,{title:t(`oauth_model_alias.list_empty_all`)}):(0,H.jsx)(`div`,{className:dA.list,children:Object.entries(d).map(([e,n])=>(0,H.jsxs)(`div`,{className:dA.item,children:[(0,H.jsxs)(`div`,{className:dA.itemInfo,children:[(0,H.jsx)(`div`,{className:dA.itemProvider,children:e}),(0,H.jsx)(`div`,{className:dA.itemCount,children:n?.length?t(`oauth_model_alias.model_count`,{count:n.length}):t(`oauth_model_alias.no_models`)})]}),(0,H.jsxs)(`div`,{className:dA.itemActions,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>c(e),children:t(`common.edit`)}),(0,H.jsx)(U,{variant:`danger`,size:`sm`,onClick:()=>l(e),children:t(`oauth_model_alias.delete`)})]})]},e))})})]})}var OA={tabs:`ProviderTabs-module__tabs___n-cuP`,tab:`ProviderTabs-module__tab___H3sif`,tabActive:`ProviderTabs-module__tabActive___g2pr3`,tabGlyph:`ProviderTabs-module__tabGlyph___fRPPT`,tabIconWrap:`ProviderTabs-module__tabIconWrap___ZotRT`,tabIcon:`ProviderTabs-module__tabIcon___V2PI4`,tabIconFallback:`ProviderTabs-module__tabIconFallback___SwMK5`,tabLabel:`ProviderTabs-module__tabLabel___dEpsW`,tabCount:`ProviderTabs-module__tabCount___wgH75`};function kA({types:e,counts:t,active:n,resolvedTheme:r,onChange:i}){let{t:a}=ss();return(0,H.jsx)(`div`,{className:OA.tabs,role:`group`,"aria-label":a(`auth_files.filter_all`),children:e.map(e=>{let o=n===e,s=e===`all`?a(`auth_files.filter_all`):bO(a,e),c=e===`all`?null:SO(e,r);return(0,H.jsxs)(`button`,{type:`button`,className:`${OA.tab} ${o?OA.tabActive:``}`,"aria-pressed":o,onClick:()=>i(e),children:[e===`all`?(0,H.jsx)(gs,{className:OA.tabGlyph,size:15}):(0,H.jsx)(`span`,{className:OA.tabIconWrap,style:wO(e)?{background:TO(r)}:void 0,children:c?(0,H.jsx)(`img`,{src:c,alt:``,className:OA.tabIcon}):(0,H.jsx)(`span`,{className:OA.tabIconFallback,children:s.slice(0,1).toUpperCase()})}),(0,H.jsx)(`span`,{className:OA.tabLabel,children:s}),(0,H.jsx)(`span`,{className:OA.tabCount,children:t[e]??0})]},e)})})}var AA={header:`VaultHeader-module__header___QpXg-`,copy:`VaultHeader-module__copy___xsxh7`,title:`VaultHeader-module__title___taELk`,meta:`VaultHeader-module__meta___itSa2`,metaDot:`VaultHeader-module__metaDot___GW2IC`,metaTotal:`VaultHeader-module__metaTotal___KJQaA`,metaActive:`VaultHeader-module__metaActive___NlBGq`,metaMuted:`VaultHeader-module__metaMuted___VH7nG`,metaProblem:`VaultHeader-module__metaProblem___wopsT`,actions:`VaultHeader-module__actions___2FRo9`,primaryAction:`VaultHeader-module__primaryAction___xVhcB`,ghostAction:`VaultHeader-module__ghostAction___JFOFe`,spinning:`VaultHeader-module__spinning___kQLgi`,"vault-spin":`VaultHeader-module__vault-spin___2UExm`,vaultSpin:`VaultHeader-module__vault-spin___2UExm`};function jA(e){let{totalCount:t,activeCount:n,problemCount:r,loading:i,refreshing:a,uploading:o,disableControls:s,onUpload:c,onRefresh:l}=e,{t:u}=ss(),d=rx();return(0,H.jsxs)(`header`,{className:AA.header,ref:d,children:[(0,H.jsxs)(`div`,{className:AA.copy,children:[(0,H.jsx)(`h1`,{className:AA.title,"data-reveal":!0,children:u(`auth_files.title`)}),(0,H.jsxs)(`p`,{className:AA.meta,"data-reveal":!0,children:[(0,H.jsx)(`span`,{className:AA.metaTotal,children:u(`auth_files.meta_total`,{count:t})}),(0,H.jsx)(`span`,{className:AA.metaDot,"aria-hidden":`true`,children:`·`}),(0,H.jsx)(`span`,{className:n>0?AA.metaActive:AA.metaMuted,children:u(`auth_files.meta_active`,{count:n})}),r>0&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:AA.metaDot,"aria-hidden":`true`,children:`·`}),(0,H.jsx)(`span`,{className:AA.metaProblem,children:u(`auth_files.meta_problem`,{count:r})})]})]})]}),(0,H.jsxs)(`div`,{className:AA.actions,"data-reveal":!0,children:[(0,H.jsxs)(`button`,{type:`button`,className:AA.ghostAction,onClick:l,disabled:i||a,children:[(0,H.jsx)(Cs,{size:14,className:a?AA.spinning:void 0}),u(`common.refresh`)]}),(0,H.jsxs)(`button`,{type:`button`,className:AA.primaryAction,onClick:c,disabled:s||o,children:[o?(0,H.jsx)(RO,{size:14}):(0,H.jsx)(Ts,{size:15}),u(`auth_files.upload_button`)]})]})]})}var MA={pulse:`VaultPulse-module__pulse___sIxw6`,bars:`VaultPulse-module__bars___gD2H-`,bar:`VaultPulse-module__bar___c828U`,"pulse-bar-in":`VaultPulse-module__pulse-bar-in___-8e-h`,pulseBarIn:`VaultPulse-module__pulse-bar-in___-8e-h`,barLive:`VaultPulse-module__barLive___x0GKQ`,barIdle:`VaultPulse-module__barIdle___jGSJ8`,barWarning:`VaultPulse-module__barWarning___wGFd7`,barProblem:`VaultPulse-module__barProblem___N0qGr`,barDisabled:`VaultPulse-module__barDisabled___k2lFu`,overflow:`VaultPulse-module__overflow___Y7HPQ`,idleLine:`VaultPulse-module__idleLine___Gs7Ll`},NA=160,PA=360,FA={live:MA.barLive,idle:MA.barIdle,warning:MA.barWarning,problem:MA.barProblem};function IA({files:e,statusBarCache:t}){let n=(0,y.useMemo)(()=>e.slice(0,NA).map(e=>{let n=e.disabled===!0,r;if(e.unavailable===!0)r=`problem`;else if(vO(e))r=`warning`;else{let n=typeof e.authIndex==`string`?e.authIndex:null,i=n?t.get(n):void 0;r=i&&(i?.totalSuccess??0)+(i?.totalFailure??0)>0?`live`:`idle`}return{key:e.name,state:r,disabled:n}}),[e,t]),r=e.length-n.length,i=n.length>1?PA/(n.length-1):0;return n.length===0?(0,H.jsx)(`div`,{className:MA.pulse,"aria-hidden":`true`,children:(0,H.jsx)(`span`,{className:MA.idleLine})}):(0,H.jsxs)(`div`,{className:MA.pulse,"aria-hidden":`true`,children:[(0,H.jsx)(`div`,{className:MA.bars,children:n.map((e,t)=>(0,H.jsx)(`span`,{className:`${MA.bar} ${FA[e.state]} ${e.disabled?MA.barDisabled:``}`,style:{"--bar-delay":`${Math.round(t*i)}ms`}},e.key))}),r>0&&(0,H.jsxs)(`span`,{className:MA.overflow,children:[`+`,r]})]})}var LA=(e,t)=>{e(t),tm.getState().clearQuotaCache()},RA=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),zA=e=>{if(!e.includes(`*`))return null;let t=e.split(`*`).map(RA).join(`.*`);return new RegExp(t,`i`)},BA=(e,t,n)=>{if(!t)return!0;let r=t.toLowerCase();return[e.name,e.type,e.provider,e.email,e.projectId].some(e=>{let t=(e||``).toString();return n?n.test(t):t.toLowerCase().includes(r)})},VA=(e,t)=>{let n=[...e];if(t==="default")n.sort((e,t)=>{let n=pO(String(e.provider??e.type??`unknown`)),r=pO(String(t.provider??t.type??`unknown`)),i=n.localeCompare(r);return i===0?e.name.localeCompare(t.name):i});else if(t===`az`){let e=new Map(n.map(e=>[e,VO(e).primary]));n.sort((t,n)=>(e.get(t)??``).localeCompare(e.get(n)??``)||t.name.localeCompare(n.name))}else t===`priority`&&n.sort((e,t)=>{let n=typeof e.priority==`number`?e.priority:0;return(typeof t.priority==`number`?t.priority:0)-n});return n},HA=`auth-files-changed`,UA=()=>{window.dispatchEvent(new Event(HA))};function WA({filename:e,blob:t,revokeDelayMs:n=1e3}){let r=window.URL.createObjectURL(t),i=document.createElement(`a`);i.href=r,i.download=e,i.rel=`noopener`,i.style.display=`none`,document.body.appendChild(i),i.click(),window.setTimeout(()=>{window.URL.revokeObjectURL(r),i.remove()},n)}function GA(e){let{t}=ss(),{showNotification:n,showConfirmation:r}=Kc(),i=e?.onFilesMutated,[a,o]=(0,y.useState)([]),[s,c]=(0,y.useState)(!0),[l,u]=(0,y.useState)(!1),[d,f]=(0,y.useState)(``),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(!1),[b,x]=(0,y.useState)({}),[S,C]=(0,y.useState)({}),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(new Set),O=(0,y.useRef)(null),k=(0,y.useRef)(!1),A=(0,y.useRef)(new Set),j=(0,y.useRef)(!1),M=(0,y.useRef)(0),N=(0,y.useCallback)(()=>{M.current+=1,c(!1),u(!1)},[]),ee=(0,y.useRef)(i);(0,y.useEffect)(()=>{ee.current=i},[i]);let P=E.size,F=(0,y.useCallback)(e=>{D(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),I=(0,y.useCallback)(e=>{let t=e.filter(e=>!FO(e)).map(e=>e.name);t.length!==0&&D(e=>{let n=new Set(e);return t.forEach(e=>n.add(e)),n})},[]),L=(0,y.useCallback)(e=>{let t=e.filter(e=>!FO(e)).map(e=>e.name);t.length!==0&&D(e=>{let n=new Set(e);return t.forEach(e=>{n.has(e)?n.delete(e):n.add(e)}),n})},[]),R=(0,y.useCallback)(()=>{D(new Set)},[]),z=(0,y.useCallback)(e=>{let t=Array.from(new Set(e.map(e=>e.trim()).filter(Boolean)));if(t.length===0)return;N(),ee.current?.(t);let n=new Set(t);o(e=>e.filter(e=>!n.has(e.name))),D(e=>{if(e.size===0)return e;let t=!1,r=new Set;return e.forEach(e=>{n.has(e)?t=!0:r.add(e)}),t?r:e})},[N]);(0,y.useEffect)(()=>{if(E.size===0)return;let e=new Set(a.map(e=>e.name));D(t=>{let n=!1,r=new Set;return t.forEach(t=>{e.has(t)?r.add(t):n=!0}),n?r:t})},[a,E.size]);let te=(0,y.useCallback)(async e=>{let n=e?.background===!0,r=++M.current;n?u(!0):(c(!0),f(``));try{let e=await Dy.list();if(r!==M.current)return;o(e?.files||[]),f(``)}catch(e){if(r!==M.current)return;let n=e instanceof Error?e.message:t(`notification.refresh_failed`);f(n)}finally{r===M.current&&(c(!1),u(!1))}},[t]),B=(0,y.useCallback)(()=>{k.current||O.current?.click()},[]),V=(0,y.useCallback)(async e=>{let r=e.target.files;if(!r||r.length===0)return;let i=Array.from(r),a=[],o=[],s=[];if(i.forEach(e=>{if(!e.name.endsWith(`.json`)){o.push(e.name);return}if(e.size>10485760){s.push(e.name);return}a.push(e)}),o.length>0&&n(t(`auth_files.upload_error_json`),`error`),s.length>0&&n(t(`auth_files.upload_error_size`,{maxSize:Ih(Rc)}),`error`),a.length===0){e.target.value=``;return}if(k.current){e.target.value=``;return}k.current=!0,m(!0);try{let e=await Dy.uploadFiles(a),r=e.uploaded;if(r>0){let i=a.length>1?` (${r}/${a.length})`:``;n(`${t(`auth_files.upload_success`)}${i}`,e.failed.length?`warning`:`success`),UA(),ee.current?.(e.files.length>0?e.files:void 0),await te({background:!0})}if(e.failed.length>0){let r=e.failed.map(e=>`${e.name}: ${e.error}`).join(`; `);n(`${t(`notification.upload_failed`)}: ${r}`,`error`)}}catch(e){let r=e instanceof Error?e.message:`Unknown error`;n(`${t(`notification.upload_failed`)}: ${r}`,`error`)}finally{k.current=!1,m(!1),e.target.value=``}},[te,n,t]),ne=(0,y.useCallback)(e=>{r({title:t(`auth_files.delete_title`,{defaultValue:`Delete File`}),message:`${t(`auth_files.delete_confirm`)} "${e}" ?`,variant:`danger`,confirmText:t(`common.confirm`),onConfirm:async()=>{g(e);try{let r=await Dy.deleteFile(e);n(t(`auth_files.delete_success`),`success`),z(r.files.length>0?r.files:[e]),r.deleted>0&&UA()}catch(e){let r=e instanceof Error?e.message:``;n(`${t(`notification.delete_failed`)}: ${r}`,`error`)}finally{g(null)}}})},[z,r,n,t]),re=(0,y.useCallback)(e=>{let{filter:i,problemOnly:s,disabledOnly:c,enabledOnly:l,onResetFilterToAll:u,onResetProblemOnly:d,onResetDisabledOnly:f,onResetEnabledOnly:p}=e,m=i!==`all`,h=s===!0,g=c===!0,_=l===!0,y=m?bO(t,i):t(`auth_files.filter_all`),b=t(`auth_files.delete_all_confirm`);g||_?b=t(`auth_files.delete_filtered_result_confirm`):h?b=m?t(`auth_files.delete_problem_filtered_confirm`,{type:y}):t(`auth_files.delete_problem_confirm`):m&&(b=t(`auth_files.delete_filtered_confirm`,{type:y})),r({title:t(`auth_files.delete_all_title`,{defaultValue:`Delete All Files`}),message:b,variant:`danger`,confirmText:t(`common.confirm`),onConfirm:async()=>{v(!0);try{if(!m&&!h&&!g&&!_)await Dy.deleteAll(),n(t(`auth_files.delete_all_success`),`success`),N(),ee.current?.(),o(e=>e.filter(e=>FO(e))),R(),UA();else{let e=a.filter(e=>!(FO(e)||m&&pO(String(e.type??e.provider??``))!==i||h&&!yO(e)||g&&e.disabled!==!0||_&&e.disabled===!0));if(e.length===0){let e=t(`auth_files.delete_filtered_none`,{type:y});g||_?e=t(`auth_files.delete_filtered_result_none`):h&&(e=m?t(`auth_files.delete_problem_filtered_none`,{type:y}):t(`auth_files.delete_problem_none`)),n(e,`info`),v(!1);return}let r=await Dy.deleteFiles(e.map(e=>e.name)),o=r.deleted,s=r.failed.length;z(r.files),r.deleted>0&&UA(),s===0&&(g||_)?n(t(`auth_files.delete_filtered_result_success`,{count:o}),`success`):s===0&&h?n(m?t(`auth_files.delete_problem_filtered_success`,{count:o,type:y}):t(`auth_files.delete_problem_success`,{count:o}),`success`):s===0?n(t(`auth_files.delete_filtered_success`,{count:o,type:y}),`success`):n(g||_?t(`auth_files.delete_filtered_result_partial`,{success:o,failed:s}):h?m?t(`auth_files.delete_problem_filtered_partial`,{success:o,failed:s,type:y}):t(`auth_files.delete_problem_partial`,{success:o,failed:s}):t(`auth_files.delete_filtered_partial`,{success:o,failed:s,type:y}),`warning`),m&&u(),h&&d(),g&&f(),_&&p()}}catch(e){let r=e instanceof Error?e.message:``;n(`${t(`notification.delete_failed`)}: ${r}`,`error`)}finally{v(!1)}}})},[z,R,a,N,r,n,t]),ie=(0,y.useCallback)(async e=>{try{WA({filename:e,blob:await Dy.download(e)}),n(t(`auth_files.download_success`),`success`)}catch(e){let r=e instanceof Error?e.message:``;n(`${t(`notification.download_failed`)}: ${r}`,`error`)}},[n,t]),ae=(0,y.useCallback)(async e=>{let r=e.name.trim(),i=e.type??e.provider;if(!(!r||e.disabled===!0||FO(e)||!mO(i)||A.current.has(r))){A.current.add(r),C(e=>({...e,[r]:!0}));try{await Dy.requestManualRefresh(r),n(t(`auth_files.manual_refresh_requested`,{name:r}),`info`),UA(),ee.current?.([r])}catch(e){let i=e instanceof Error?e.message:t(`notification.update_failed`);n(t(`auth_files.manual_refresh_failed`,{name:r,message:i}),`error`)}finally{A.current.delete(r),C(e=>{if(!e[r])return e;let t={...e};return delete t[r],t})}}},[n,t]),oe=(0,y.useCallback)(async(e,r)=>{let i=e.name,a=!r,s=e.disabled===!0;x(e=>({...e,[i]:!0})),N(),o(e=>e.map(e=>e.name===i?{...e,disabled:a}:e));try{let e=await Dy.setStatus(i,a);N(),o(t=>t.map(t=>t.name===i?{...t,disabled:e.disabled}:t)),n(t(r?`auth_files.status_enabled_success`:`auth_files.status_disabled_success`,{name:i}),`success`)}catch(e){let r=e instanceof Error?e.message:``;o(e=>e.map(e=>e.name===i?{...e,disabled:s}:e)),n(`${t(`notification.update_failed`)}: ${r}`,`error`)}finally{x(e=>{if(!e[i])return e;let t={...e};return delete t[i],t})}},[N,n,t]),se=(0,y.useCallback)(async(e,r)=>{if(j.current)return;let i=Array.from(new Set(e));if(i.length===0||i.some(e=>b[e]===!0))return;let s=new Map(a.filter(e=>i.includes(e.name)).map(e=>[e.name,e.disabled===!0])),c=new Set(s.keys()),l=Array.from(c);if(l.length===0)return;let u=!r;j.current=!0,T(!0),N(),x(e=>{let t={...e};return l.forEach(e=>{t[e]=!0}),t}),o(e=>e.map(e=>c.has(e.name)?{...e,disabled:u}:e));try{let e=await Promise.allSettled(l.map(e=>Dy.setStatus(e,u)));N();let r=0,i=0,a=new Set,c=new Map;e.forEach((e,t)=>{let n=l[t];e.status===`fulfilled`?(r++,c.set(n,e.value.disabled)):(i++,a.add(n))}),o(e=>e.map(e=>a.has(e.name)?{...e,disabled:s.get(e.name)===!0}:c.has(e.name)?{...e,disabled:c.get(e.name)}:e)),i===0?n(t(`auth_files.batch_status_success`,{count:r}),`success`):n(t(`auth_files.batch_status_partial`,{success:r,failed:i}),`warning`),R()}finally{j.current=!1,T(!1),x(e=>{let t={...e};return l.forEach(e=>{delete t[e]}),t})}},[R,a,N,n,b,t]);return{files:a,selectedFiles:E,selectionCount:P,loading:s,refreshing:l,error:d,uploading:p,deleting:h,deletingAll:_,statusUpdating:b,manualRefreshing:S,batchStatusUpdating:w,fileInputRef:O,loadFiles:te,handleUploadClick:B,handleFileChange:V,handleDelete:ne,handleDeleteAll:re,handleDownload:ie,handleManualRefresh:ae,handleStatusToggle:oe,toggleSelect:F,selectAllVisible:I,invertVisibleSelection:L,deselectAll:R,batchDownload:(0,y.useCallback)(async e=>{let r=Array.from(new Set(e));if(r.length===0)return;let i=0,a=0;for(let e of r)try{WA({filename:e,blob:await Dy.download(e)}),i++}catch{a++}a===0?n(t(`auth_files.batch_download_success`,{count:i}),`success`):n(t(`auth_files.batch_download_partial`,{success:i,failed:a}),`warning`),R()},[R,n,t]),batchSetStatus:se,batchDelete:(0,y.useCallback)(e=>{let i=Array.from(new Set(e));i.length!==0&&r({title:t(`auth_files.batch_delete_title`),message:t(`auth_files.batch_delete_confirm`,{count:i.length}),variant:`danger`,confirmText:t(`common.confirm`),onConfirm:async()=>{try{let e=await Dy.deleteFiles(i);z(e.files),e.deleted>0&&UA(),e.failed.length===0?n(`${t(`auth_files.delete_all_success`)} (${e.deleted})`,`success`):n(t(`auth_files.delete_filtered_partial`,{success:e.deleted,failed:e.failed.length,type:t(`auth_files.filter_all`)}),`warning`)}catch(e){let r=e instanceof Error?e.message:``;n(`${t(`notification.delete_failed`)}: ${r}`,`error`)}}})},[z,r,n,t])}}function KA(){let{t:e}=ss(),t=Kc(e=>e.showNotification),[n,r]=(0,y.useState)(!1),[i,a]=(0,y.useState)(!1),[o,s]=(0,y.useState)([]),[c,l]=(0,y.useState)(``),[u,d]=(0,y.useState)(``),[f,p]=(0,y.useState)(null),m=(0,y.useRef)(new Map),h=(0,y.useRef)(0),g=(0,y.useRef)(new Map),_=(0,y.useRef)(0),v=(0,y.useCallback)(()=>{_.current+=1,r(!1),a(!1)},[]),b=(0,y.useCallback)(e=>{if(!e){m.current.clear(),g.current.clear(),h.current+=1;return}new Set(e.map(e=>e.trim()).filter(Boolean)).forEach(e=>{m.current.delete(e),g.current.set(e,(g.current.get(e)??0)+1)})},[]);return{modelsModalOpen:n,modelsLoading:i,modelsList:o,modelsFileName:c,modelsFileType:u,modelsError:f,showModels:(0,y.useCallback)(async n=>{let i=n.name.trim(),o=++_.current;l(n.name),d(n.type||``),s([]),p(null),r(!0);let c=m.current.get(i);if(c){s(c),a(!1);return}let u=h.current,f=g.current.get(i)??0,v=()=>u===h.current&&f===(g.current.get(i)??0),y=()=>o===_.current;a(!0);try{let e=await Dy.getModelsForAuthFile(n.name);v()&&(m.current.set(i,e),y()&&s(e))}catch(n){if(!y()||!v())return;let r=n instanceof Error?n.message:``;r.includes(`404`)||r.includes(`not found`)||r.includes(`Not Found`)?p(`unsupported`):t(`${e(`notification.load_failed`)}: ${r}`,`error`)}finally{y()&&a(!1)}},[t,e]),closeModelsModal:v,invalidateModels:b}}function qA(e){let{viewMode:t,files:n}=e,{t:r}=ss(),{showNotification:i,showConfirmation:a}=Kc(),[o,s]=(0,y.useState)({}),[c,l]=(0,y.useState)(`loading`),[u,d]=(0,y.useState)({}),[f,p]=(0,y.useState)(`loading`),[m,h]=(0,y.useState)({}),g=(0,y.useRef)(!1),_=(0,y.useRef)(!1),v=(0,y.useRef)(!1),b=(0,y.useRef)(!1),x=(0,y.useRef)(0),S=(0,y.useRef)(0);(0,y.useEffect)(()=>()=>{v.current=!1,b.current=!1,x.current+=1,S.current+=1},[]);let C=(0,y.useMemo)(()=>{let e=new Set;return Object.keys(u).forEach(t=>{let n=t.trim().toLowerCase();n&&e.add(n)}),n.forEach(t=>{if(typeof t.type==`string`){let n=t.type.trim().toLowerCase();n&&e.add(n)}if(typeof t.provider==`string`){let n=t.provider.trim().toLowerCase();n&&e.add(n)}}),Array.from(e)},[n,u]);(0,y.useEffect)(()=>{if(t!==`diagram`)return;let e=!1;return(async()=>{if(C.length===0){e||h({});return}let t=await Promise.all(C.map(async e=>{try{return{provider:e,models:await Dy.getModelDefinitions(e)}}catch{return{provider:e,models:[]}}}));if(e)return;let n={};t.forEach(({provider:e,models:t})=>{t.length>0&&(n[e]=t)}),h(n)})(),()=>{e=!0}},[C,t]);let w=(0,y.useCallback)(async()=>{let e=++x.current;v.current=!1,l(`loading`);try{let t=await Dy.getOauthExcludedModels();if(e!==x.current)return;g.current=!1,v.current=!0,s(t||{}),l(null)}catch(t){if(e!==x.current)return;if((typeof t==`object`&&t&&`status`in t?t.status:void 0)===404){s({}),l(`unsupported`),g.current||(g.current=!0,i(r(`oauth_excluded.upgrade_required`),`warning`));return}l(`load`)}},[i,r]),T=(0,y.useCallback)(async()=>{let e=++S.current;b.current=!1,p(`loading`);try{let t=await Dy.getOauthModelAlias();if(e!==S.current)return;_.current=!1,b.current=!0,d(t||{}),p(null)}catch(t){if(e!==S.current)return;if((typeof t==`object`&&t&&`status`in t?t.status:void 0)===404){d({}),p(`unsupported`),_.current||(_.current=!0,i(r(`oauth_model_alias.upgrade_required`),`warning`));return}p(`load`)}},[i,r]),E=(0,y.useCallback)(()=>{i(r(`notification.refresh_failed`),`error`)},[i,r]);return{excluded:o,excludedError:c,modelAlias:u,modelAliasError:f,allProviderModels:m,providerList:C,loadExcluded:w,loadModelAlias:T,deleteExcluded:(0,y.useCallback)(e=>{let t=e.trim()||e;a({title:r(`oauth_excluded.delete_title`,{defaultValue:`Delete Exclusion`}),message:r(`oauth_excluded.delete_confirm`,{provider:t}),variant:`danger`,confirmText:r(`common.confirm`),onConfirm:async()=>{if(!v.current){E();return}let t=pO(e);if(!t){i(r(`oauth_excluded.provider_required`),`error`);return}try{await Dy.deleteOauthExcludedEntry(t),await w(),i(r(`oauth_excluded.delete_success`),`success`)}catch(e){try{let e=await Dy.getOauthExcludedModels(),n={};Object.entries(e).forEach(([e,r])=>{pO(e)!==t&&(n[e]=r)}),await Dy.replaceOauthExcludedModels(n),await w(),i(r(`oauth_excluded.delete_success`),`success`)}catch(t){let n=t instanceof Error?t.message:e instanceof Error?e.message:``;i(`${r(`oauth_excluded.delete_failed`)}: ${n}`,`error`)}}}})},[w,a,E,i,r]),deleteModelAlias:(0,y.useCallback)(e=>{a({title:r(`oauth_model_alias.delete_title`,{defaultValue:`Delete Mappings`}),message:r(`oauth_model_alias.delete_confirm`,{provider:e}),variant:`danger`,confirmText:r(`common.confirm`),onConfirm:async()=>{if(!b.current){E();return}try{await Dy.deleteOauthModelAlias(e),await T(),i(r(`oauth_model_alias.delete_success`),`success`)}catch(e){let t=e instanceof Error?e.message:``;i(`${r(`oauth_model_alias.delete_failed`)}: ${t}`,`error`)}}})},[T,a,E,i,r]),handleMappingUpdate:(0,y.useCallback)(async(e,t,n)=>{if(!b.current){E();return}if(!e||!t||!n)return;let a=pO(e);if(!a)return;let o=Object.keys(u).find(e=>pO(e)===a),s=(o?u[o]:null)??[],c=t.trim(),l=n.trim(),d=c.toLowerCase(),f=l.toLowerCase();if(s.some(e=>(e.name??``).trim().toLowerCase()===d&&(e.alias??``).trim().toLowerCase()===f))return;let p=[...s,{name:c,alias:l,fork:!0}];try{await Dy.saveOauthModelAlias(a,p),await T(),i(r(`oauth_model_alias.save_success`),`success`)}catch(e){let t=e instanceof Error?e.message:``;i(`${r(`oauth_model_alias.save_failed`)}: ${t}`,`error`)}},[T,u,E,i,r]),handleDeleteLink:(0,y.useCallback)((e,t,n)=>{let o=t.trim(),s=n.trim();!e||!o||!s||a({title:r(`oauth_model_alias.delete_link_title`,{defaultValue:`Unlink mapping`}),message:(0,H.jsx)(ns,{i18nKey:`oauth_model_alias.delete_link_confirm`,values:{provider:e,sourceModel:o,alias:s},components:{code:(0,H.jsx)(`code`,{})}}),variant:`danger`,confirmText:r(`common.confirm`),onConfirm:async()=>{if(!b.current){E();return}let t=pO(e),n=Object.keys(u).find(e=>pO(e)===t),a=(n?u[n]:null)??[],c=o.toLowerCase(),l=s.toLowerCase(),d=a.filter(e=>(e.name??``).trim().toLowerCase()!==c||(e.alias??``).trim().toLowerCase()!==l);if(d.length!==a.length)try{d.length===0?await Dy.deleteOauthModelAlias(t):await Dy.saveOauthModelAlias(t,d),await T(),i(r(`oauth_model_alias.save_success`),`success`)}catch(e){let t=e instanceof Error?e.message:``;i(`${r(`oauth_model_alias.save_failed`)}: ${t}`,`error`)}}})},[T,u,a,E,i,r]),handleToggleFork:(0,y.useCallback)(async(e,t,n,a)=>{if(!b.current){E();return}let o=pO(e);if(!o)return;let s=Object.keys(u).find(e=>pO(e)===o),c=(s?u[s]:null)??[],l=t.trim().toLowerCase(),d=n.trim().toLowerCase(),f=!1,p=c.map(e=>{let t=(e.name??``).trim().toLowerCase(),n=(e.alias??``).trim().toLowerCase();return t===l&&n===d?(f=!0,a?{...e,fork:!0}:{...e,fork:void 0}):e});if(f)try{await Dy.saveOauthModelAlias(o,p),await T(),i(r(`oauth_model_alias.save_success`),`success`)}catch(e){let t=e instanceof Error?e.message:``;i(`${r(`oauth_model_alias.save_failed`)}: ${t}`,`error`)}},[T,u,E,i,r]),handleRenameAlias:(0,y.useCallback)(async(e,t)=>{if(!b.current){E();return}let n=e.trim(),a=t.trim();if(!n||!a||n===a)return;let o=n.toLowerCase(),s=Object.entries(u).filter(([e,t])=>t.some(e=>(e.alias??``).trim().toLowerCase()===o));if(s.length===0)return;let c=!1,l=``;try{let e=(await Promise.allSettled(s.map(([e,t])=>{let n=t.map(e=>(e.alias??``).trim().toLowerCase()===o?{...e,alias:a}:e);return Dy.saveOauthModelAlias(e,n)}))).filter(e=>e.status===`rejected`);if(e.length>0){c=!0;let t=e[0].reason;l=t instanceof Error?t.message:String(t??``)}}finally{await T()}c?i(l?`${r(`oauth_model_alias.save_failed`)}: ${l}`:r(`oauth_model_alias.save_failed`),`error`):i(r(`oauth_model_alias.save_success`),`success`)},[T,u,E,i,r]),handleDeleteAlias:(0,y.useCallback)(e=>{let t=e.trim();if(!t)return;let n=t.toLowerCase(),o=Object.entries(u).filter(([e,t])=>t.some(e=>(e.alias??``).trim().toLowerCase()===n));o.length!==0&&a({title:r(`oauth_model_alias.delete_alias_title`,{defaultValue:`Delete Alias`}),message:(0,H.jsx)(ns,{i18nKey:`oauth_model_alias.delete_alias_confirm`,values:{alias:t},components:{code:(0,H.jsx)(`code`,{})}}),variant:`danger`,confirmText:r(`common.confirm`),onConfirm:async()=>{if(!b.current){E();return}let e=!1,t=``;try{let r=(await Promise.allSettled(o.map(([e,t])=>{let r=t.filter(e=>(e.alias??``).trim().toLowerCase()!==n);return r.length===0?Dy.deleteOauthModelAlias(e):Dy.saveOauthModelAlias(e,r)}))).filter(e=>e.status===`rejected`);if(r.length>0){e=!0;let n=r[0].reason;t=n instanceof Error?n.message:String(n??``)}}finally{await T()}e?i(t?`${r(`oauth_model_alias.delete_failed`)}: ${t}`:r(`oauth_model_alias.delete_failed`),`error`):i(r(`oauth_model_alias.delete_success`),`success`)}})},[T,u,a,E,i,r])}}var JA=e=>!!e&&typeof e==`object`&&!Array.isArray(e),YA=e=>JA(e)?Object.values(e).every(e=>typeof e==`string`)?null:`auth_files.headers_invalid_value`:`auth_files.headers_invalid_object`,XA=e=>{if(!e.trim())return{value:null,errorKey:null};let t;try{t=JSON.parse(e)}catch{return{value:null,errorKey:`auth_files.headers_invalid_json`}}let n=YA(t);return n?{value:null,errorKey:n}:{value:t,errorKey:null}},ZA=e=>e===`max`?`auth_files.weight_invalid_max`:`auth_files.weight_invalid_integer`,QA=e=>typeof e==`string`?e.trim():``,$A=e=>{if(!Array.isArray(e))return[];let t=new Set,n=[];return e.forEach(e=>{if(typeof e!=`string`)return;let r=e.trim(),i=r.toLowerCase();!r||t.has(i)||(t.add(i),n.push(r))}),n},ej=e=>$A(e.split(/\r?\n/)),tj=e=>$A(e.excluded_models===void 0?e[`excluded-models`]:e.excluded_models),nj=e=>e.excluded_models===void 0&&e[`excluded-models`]!==void 0?`excluded-models`:`excluded_models`,rj=1e3,ij=e=>{let t=e.trim();return t?t.length<=rj?t:`${t.slice(0,rj)}\n...`:``},aj=(e,t)=>({loading:!1,error:t(oj(e)),rawText:e,originalText:e,invalidContentPreview:ij(e)}),oj=e=>{let t=e.trimStart().slice(0,4096).toLowerCase(),n=t.startsWith(`<!doctype html`)||t.startsWith(`<html`)||t.includes(`<head`)||t.includes(`<body`),r=t.includes(`cf_chl`)||t.includes(`__cf_chl_tk`)||t.includes(`challenge-platform`)||t.includes(`cloudflare`);return n||r?`auth_files.prefix_proxy_html_challenge`:`auth_files.prefix_proxy_invalid_json`},sj=e=>!!(e&&Object.keys(e).length>0),cj=e=>JA(e)?Object.entries(e).reduce((e,[t,n])=>{if(typeof n!=`string`)return e;let r=t.trim(),i=n.trim();return!r||!i||(e[r]=i),e},{}):{},lj=(e,t)=>{let n={},r=new Set(Object.keys(t));return Object.entries(t).forEach(([t,r])=>{e[t]!==r&&(n[t]=r)}),Object.keys(e).forEach(e=>{r.has(e)||(n[e]=``)}),Object.keys(n).length>0?n:void 0},uj=(e,t)=>{if(!t)return;let n=cj(e.headers);Object.entries(t).forEach(([e,t])=>{let r=e.trim();if(!r)return;let i=t.trim();if(!i){delete n[r];return}n[r]=i}),Object.keys(n).length>0?e.headers=n:delete e.headers},dj=(e,t)=>{let n=e.json??{},r={},i=QA(n.prefix),a=e.prefix.trim();a!==i&&(r.prefix=a);let o=QA(n.proxy_url),s=e.proxyUrl.trim();s!==o&&(r.proxy_url=s);let c=EO(n.priority),l=e.priority.trim(),u=EO(l);l?u!==void 0&&(u===0?c!==void 0&&c!==0&&(r.priority=0):u!==c&&(r.priority=u)):c!==void 0&&c!==0&&(r.priority=0);let d=dp(e.weight);if(d)throw Error(t(ZA(d)));let f=up(n.weight),p=fp(e.weight);if(p===void 0?f!==void 0&&(r.weight=null):p!==f&&(r.weight=p),e.disableCoolingTouched){let t=OO(n),i=!!e.disableCooling;if(i!==t){let e=n.disable_cooling===void 0&&n[`disable-cooling`]!==void 0?`disable-cooling`:`disable_cooling`;r[e]=i}}if(e.noteTouched){let t=QA(n.note),i=e.note.trim();i!==t&&(r.note=i)}if(e.excludedModelsTouched){let t=tj(n),i=ej(e.excludedModelsText);JSON.stringify(i)!==JSON.stringify(t)&&(r[nj(n)]=i)}if(kO(e.providerKey)&&e.websocketsTouched){let t=AO(n),i=!!e.websockets;i!==t&&(r.websockets=i)}if(MO(e.providerKey)&&e.usingApiTouched){let t=NO(n),i=!!e.usingApi;i!==t&&(r.using_api=i)}if(e.headersTouched){let{value:i,errorKey:a}=XA(e.headersText);if(a)throw Error(t(a));let o=lj(cj(n.headers),cj(i??{}));o&&(r.headers=o)}return r},fj=(e,t)=>{if(!e?.json)return e?.rawText??``;let n=dj(e,t),r={...e.json};return n.prefix!==void 0&&(n.prefix?r.prefix=n.prefix:delete r.prefix),n.proxy_url!==void 0&&(n.proxy_url?r.proxy_url=n.proxy_url:delete r.proxy_url),n.priority!==void 0&&(n.priority===0?delete r.priority:r.priority=n.priority),n.weight!==void 0&&(n.weight===null?delete r.weight:r.weight=n.weight),n.disable_cooling!==void 0&&(r.disable_cooling=n.disable_cooling),n[`disable-cooling`]!==void 0&&(r[`disable-cooling`]=n[`disable-cooling`]),n.note!==void 0&&(n.note?r.note=n.note:`note`in r&&delete r.note),n.excluded_models!==void 0&&(r.excluded_models=n.excluded_models),n[`excluded-models`]!==void 0&&(r[`excluded-models`]=n[`excluded-models`]),uj(r,n.headers),n.websockets!==void 0&&(r=jO(r,n.websockets)),n.using_api!==void 0&&(r=PO(r,n.using_api)),JSON.stringify(r)};function pj(e){let{disableControls:t,loadFiles:n}=e,{t:r}=ss(),i=Kc(e=>e.showNotification),[a,o]=(0,y.useState)(null),s=!!(a?.headersTouched&&a.headersError||a?.weightError),c=a&&!s?fj(a,e=>r(e)):``,l=sj(a?.json&&!s?dj(a,e=>r(e)):null);return{prefixProxyEditor:a,prefixProxyUpdatedText:c,prefixProxyDirty:l,openPrefixProxyEditor:async e=>{let n=e.name,s=pO(String(e.type??e.provider??``));if(!t){if(a?.fileName===n){o(null);return}o({fileName:n,fileInfoText:JSON.stringify(e,null,2),loading:!0,saving:!1,error:null,originalText:``,rawText:``,invalidContentPreview:``,json:null,providerKey:s,prefix:``,proxyUrl:``,priority:``,weight:``,weightError:null,disableCooling:!1,disableCoolingTouched:!1,websockets:!1,websocketsTouched:!1,usingApi:!1,usingApiTouched:!1,note:``,noteTouched:!1,excludedModelsText:``,excludedModelsTouched:!1,headersText:``,headersTouched:!1,headersError:null});try{let t=await Dy.downloadText(n),i=t.trim(),a;try{a=JSON.parse(i)}catch{o(e=>!e||e.fileName!==n?e:{...e,...aj(t,e=>r(e))});return}if(!a||typeof a!=`object`||Array.isArray(a)){o(e=>!e||e.fileName!==n?e:{...e,...aj(t,e=>r(e))});return}let s={...a},c=JSON.stringify(s),l=pO(String(s.type??s.provider??e.type??e.provider??``)),u=typeof s.prefix==`string`?s.prefix:``,d=typeof s.proxy_url==`string`?s.proxy_url:``,f=EO(s.priority),p=up(s.weight),m=OO(s),h=kO(l)?AO(s):!1,g=MO(l)?NO(s):!1,_=typeof s.note==`string`?s.note:``,v=tj(s).join(`
`),y=s.headers,b=``,x=null;if(y!==void 0){b=JSON.stringify(y,null,2);let{errorKey:e}=XA(b);x=e?r(e):null}o(e=>!e||e.fileName!==n?e:{...e,loading:!1,originalText:c,rawText:c,invalidContentPreview:``,json:s,providerKey:l,prefix:u,proxyUrl:d,priority:f===void 0?``:String(f),weight:p===void 0?``:String(p),weightError:null,disableCooling:m,disableCoolingTouched:!1,websockets:h,websocketsTouched:!1,usingApi:g,usingApiTouched:!1,note:_,noteTouched:!1,excludedModelsText:v,excludedModelsTouched:!1,headersText:b,headersTouched:!1,headersError:x,error:null})}catch(e){let t=e instanceof Error?e.message:r(`notification.download_failed`);o(e=>!e||e.fileName!==n?e:{...e,loading:!1,error:t,rawText:``}),i(`${r(`notification.download_failed`)}: ${t}`,`error`)}}},closePrefixProxyEditor:()=>{o(null)},handlePrefixProxyChange:(e,t)=>{o(n=>{if(!n)return n;if(e===`prefix`)return{...n,prefix:String(t)};if(e===`proxyUrl`)return{...n,proxyUrl:String(t)};if(e===`priority`)return{...n,priority:String(t)};if(e===`weight`){let e=String(t),i=dp(e);return{...n,weight:e,weightError:i?r(ZA(i)):null}}if(e===`disableCooling`)return{...n,disableCooling:!!t,disableCoolingTouched:!0};if(e===`websockets`)return{...n,websockets:!!t,websocketsTouched:!0};if(e===`usingApi`)return{...n,usingApi:!!t,usingApiTouched:!0};if(e===`note`)return{...n,note:String(t),noteTouched:!0};if(e===`excludedModelsText`)return{...n,excludedModelsText:String(t),excludedModelsTouched:!0};if(e===`headersText`){let e=String(t),{errorKey:i}=XA(e);return{...n,headersText:e,headersTouched:!0,headersError:i?r(i):null}}return n})},handlePrefixProxySave:async()=>{if(!a?.json||!l)return;let e=a.fileName,t;try{t=dj(a,e=>r(e))}catch(e){let t=e instanceof Error?e.message:`Invalid format`;i(t,`error`);return}if(sj(t)){o(t=>!t||t.fileName!==e?t:{...t,saving:!0});try{await Dy.patchFields(e,t),i(r(`auth_files.prefix_proxy_saved_success`,{name:e}),`success`),await n(),o(null)}catch(t){let n=t instanceof Error?t.message:``;i(`${r(`notification.update_failed`)}: ${n}`,`error`),o(t=>!t||t.fileName!==e?t:{...t,saving:!1})}}}}}function mj(e){return(0,y.useMemo)(()=>{let t=new Map;return e.forEach(e=>{let n=Xv(e.auth_index??e.authIndex);n&&t.set(n,ty(Zv(e.recent_requests??e.recentRequests)))}),t},[e])}var hj=[`default`,`az`,`priority`],gj=[`all`,`enabled`,`disabled`,`problem`],_j=`authFilesPage.uiState`,vj=`authFilesPage.compactMode`,yj=new Set(hj),bj=new Set(gj),xj=e=>typeof e==`string`&&yj.has(e),Sj=e=>typeof e==`string`&&bj.has(e),Cj=e=>{if(!e)return null;let t=e.getItem(_j);if(!t)return null;let n=JSON.parse(t);return n&&typeof n==`object`?n:null},wj=()=>{if(typeof window>`u`)return null;try{return Cj(window.localStorage)??Cj(window.sessionStorage)}catch{return null}},Tj=e=>{if(!(typeof window>`u`)){try{window.localStorage.setItem(_j,JSON.stringify(e))}catch{}try{window.sessionStorage.removeItem(_j)}catch{}}},Ej=()=>{if(typeof window>`u`)return null;try{let e=window.localStorage.getItem(vj);return e===null?null:JSON.parse(e)===!0}catch{return null}},Dj=e=>{if(!(typeof window>`u`))try{window.localStorage.setItem(vj,JSON.stringify(e))}catch{}},Oj={page:`AuthFilesPage-module__page___JPd3G`,workbench:`AuthFilesPage-module__workbench___6lAP6`,errorBanner:`AuthFilesPage-module__errorBanner___03gC7`,grid:`AuthFilesPage-module__grid___aXe04`,gridCompact:`AuthFilesPage-module__gridCompact___jvWkO`,gridQuota:`AuthFilesPage-module__gridQuota___jeDKQ`,emptyActions:`AuthFilesPage-module__emptyActions___9Gal6`,pagination:`AuthFilesPage-module__pagination___GnfXF`,pageInfo:`AuthFilesPage-module__pageInfo___YpJQV`,configGrid:`AuthFilesPage-module__configGrid___KGRYV`},kj=9,Aj=12,jj=6,Mj=360,Nj=(e,t)=>e?`problem`:t?`disabled`:`all`,Pj=e=>e===`disabledProblem`?`problem`:Sj(e)?e:null;function Fj(){let{t:e}=ss(),t=Kc(e=>e.showNotification),n=am(e=>e.connectionStatus),r=tl(e=>e.resolvedTheme),i=oh(),a=!i||i.status===`current`,o=pr(),[s,c]=(0,y.useState)(`all`),[l,u]=(0,y.useState)(`all`),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(1),[_,v]=(0,y.useState)({regular:kj,compact:Aj}),[b,x]=(0,y.useState)(`9`),[S,C]=(0,y.useState)(`list`),[w,T]=(0,y.useState)(`default`),[E,D]=(0,y.useState)(!1),{modelsModalOpen:O,modelsLoading:k,modelsList:A,modelsFileName:j,modelsFileType:M,modelsError:N,showModels:ee,closeModelsModal:P,invalidateModels:F}=KA(),{files:I,selectedFiles:L,selectionCount:R,loading:z,refreshing:te,error:B,uploading:V,deleting:ne,deletingAll:re,statusUpdating:ie,manualRefreshing:ae,batchStatusUpdating:oe,fileInputRef:se,loadFiles:ce,handleUploadClick:le,handleFileChange:ue,handleDelete:de,handleDeleteAll:fe,handleDownload:pe,handleManualRefresh:me,handleStatusToggle:he,toggleSelect:ge,selectAllVisible:_e,invertVisibleSelection:ve,deselectAll:ye,batchDownload:be,batchSetStatus:xe,batchDelete:Se}=GA({onFilesMutated:(0,y.useCallback)(e=>LA(F,e),[F])}),Ce=mj(I),{excluded:we,excludedError:Te,modelAlias:Ee,modelAliasError:De,allProviderModels:Oe,loadExcluded:ke,loadModelAlias:Ae,deleteExcluded:je,deleteModelAlias:Me,handleMappingUpdate:Ne,handleDeleteLink:Pe,handleToggleFork:Fe,handleRenameAlias:Ie,handleDeleteAlias:Le}=qA({viewMode:S,files:I}),{prefixProxyEditor:Re,prefixProxyUpdatedText:ze,prefixProxyDirty:Be,openPrefixProxyEditor:Ve,closePrefixProxyEditor:He,handlePrefixProxyChange:Ue,handlePrefixProxySave:We}=pj({disableControls:n!==`connected`,loadFiles:ce}),Ge=n!==`connected`,Ke=pO(String(s)),qe=nO.has(Ke)?Ke:null,Je=d?_.compact:_.regular,Ye=l===`problem`,Xe=l===`disabled`,Ze=l===`enabled`;(0,y.useEffect)(()=>{let e=Ej();typeof e==`boolean`&&f(e);let t=wj();if(t){typeof t.filter==`string`&&t.filter.trim()&&c(pO(t.filter));let n=Pj(t.statusFilterMode);n?u(n):(typeof t.problemOnly==`boolean`||typeof t.disabledOnly==`boolean`)&&u(Nj(t.problemOnly===!0,t.disabledOnly===!0)),typeof e!=`boolean`&&typeof t.compactMode==`boolean`&&f(t.compactMode),typeof t.search==`string`&&m(t.search),typeof t.page==`number`&&Number.isFinite(t.page)&&g(Math.max(1,Math.round(t.page)));let r=typeof t.pageSize==`number`&&Number.isFinite(t.pageSize)?fO(t.pageSize):null,i=typeof t.regularPageSize==`number`&&Number.isFinite(t.regularPageSize)?fO(t.regularPageSize):r??kj,a=typeof t.compactPageSize==`number`&&Number.isFinite(t.compactPageSize)?fO(t.compactPageSize):r??Aj;v({regular:i,compact:a}),xj(t.sortMode)&&T(t.sortMode)}D(!0)},[]),(0,y.useEffect)(()=>{E&&(Tj({filter:s,statusFilterMode:l,problemOnly:Ye,disabledOnly:Xe,compactMode:d,search:p,page:h,pageSize:Je,regularPageSize:_.regular,compactPageSize:_.compact,sortMode:w}),Dj(d))},[d,Xe,s,h,Je,_,Ye,p,w,l,E]),(0,y.useEffect)(()=>{x(String(Je))},[Je]);let Qe=(0,y.useCallback)(e=>{v(t=>d?{...t,compact:e}:{...t,regular:e})},[d]),$e=(0,y.useCallback)(e=>{let t=e.trim();if(!t){x(String(Je));return}let n=Number(t);if(!Number.isFinite(n)){x(String(Je));return}let r=fO(n);Qe(r),x(String(r)),g(1)},[Je,Qe]),et=(0,y.useCallback)(e=>{let t=e.currentTarget.value;x(t);let n=t.trim();if(!n)return;let r=Number(n);if(!Number.isFinite(r))return;let i=Math.round(r);fO(i)===i&&(Qe(i),g(1))},[Qe]),tt=(0,y.useCallback)(e=>{!xj(e)||e===w||(T(e),g(1))},[w]),nt=(0,y.useCallback)(e=>{u(e),g(1)},[]),rt=(0,y.useRef)(!1),it=(0,y.useCallback)(async()=>{await Promise.all([ce({background:!0}),ke(),Ae()])},[ce,ke,Ae]);Ah(it),(0,y.useEffect)(()=>{a&&(ce(rt.current?{background:!0}:void 0),rt.current=!0,ke(),Ae())},[a,ce,ke,Ae]),ab(()=>{ce({background:!0}).catch(()=>{})},a?24e4:null);let at=(0,y.useMemo)(()=>{let e=new Set([`all`]);return I.forEach(t=>{let n=pO(String(t.type??t.provider??``));n&&e.add(n)}),Array.from(e)},[I]),ot=(0,y.useMemo)(()=>I.filter(e=>!(Ze&&e.disabled===!0||Xe&&e.disabled!==!0||Ye&&!yO(e))),[Xe,Ze,I,Ye]),st=(0,y.useMemo)(()=>[{value:`all`,label:e(`auth_files.problem_filter_all`)},{value:`enabled`,label:e(`auth_files.problem_filter_enabled`)},{value:`disabled`,label:e(`auth_files.problem_filter_disabled`)},{value:`problem`,label:e(`auth_files.problem_filter_problem`)}],[e]),ct=(0,y.useMemo)(()=>[{value:`default`,label:e(`auth_files.sort_default`)},{value:`az`,label:e(`auth_files.sort_az`)},{value:`priority`,label:e(`auth_files.sort_priority`)}],[e]),lt=(0,y.useMemo)(()=>{let e={all:ot.length};return ot.forEach(t=>{let n=pO(String(t.type??t.provider??``));n&&(e[n]=(e[n]||0)+1)}),e},[ot]),ut=p.trim(),dt=(0,y.useMemo)(()=>zA(ut),[ut]),ft=(0,y.useMemo)(()=>ot.filter(e=>{let t=pO(String(e.type??e.provider??``));return(Ke===`all`||t===Ke)&&BA(e,ut,dt)}),[ot,Ke,ut,dt]),pt=(0,y.useMemo)(()=>VA(ft,w),[ft,w]),mt=Math.max(1,Math.ceil(pt.length/Je)),ht=Math.min(h,mt),gt=(ht-1)*Je,_t=(0,y.useMemo)(()=>pt.slice(gt,gt+Je),[Je,pt,gt]),vt=(0,y.useMemo)(()=>_t.filter(e=>!FO(e)),[_t]),yt=(0,y.useMemo)(()=>pt.filter(e=>!FO(e)),[pt]),bt=(0,y.useMemo)(()=>Array.from(L),[L]),xt=(0,y.useMemo)(()=>bt.some(e=>ie[e]===!0),[bt,ie]),St=Ge||bt.length===0||oe||xt,Ct=(0,y.useMemo)(()=>I.filter(e=>e.disabled!==!0).length,[I]),wt=(0,y.useMemo)(()=>I.filter(yO).length,[I]),[Tt,Et]=(0,y.useState)(!1),Dt=!Tt&&a&&!z&&_t.length>0;(0,y.useEffect)(()=>{Dt&&Et(!0)},[Dt]);let Ot=e=>Dt?_t.length<=1?0:Math.round(e/(_t.length-1)*Mj):null,kt=(0,y.useCallback)(async n=>{let r=await QD(n);t(r?e(`notification.link_copied`,{defaultValue:`Copied to clipboard`}):e(`notification.copy_failed`,{defaultValue:`Copy failed`}),r?`success`:`error`)},[t,e]),At=(0,y.useCallback)(e=>{let t=(e||(s===`all`?``:String(s))).trim(),n=new URLSearchParams;t&&n.set(`provider`,t);let r=n.toString();o(`/auth-files/oauth-excluded${r?`?${r}`:``}`,{state:{fromAuthFiles:!0}})},[s,o]),jt=(0,y.useCallback)(e=>{let t=(e||(s===`all`?``:String(s))).trim(),n=new URLSearchParams;t&&n.set(`provider`,t);let r=n.toString();o(`/auth-files/oauth-model-alias${r?`?${r}`:``}`,{state:{fromAuthFiles:!0}})},[s,o]),Mt=(0,y.useCallback)(()=>{c(`all`),u(`all`),m(``),g(1)},[]),Nt=Ze||Xe?e(`auth_files.delete_filtered_result_button`):Ye?Ke===`all`?e(`auth_files.delete_problem_button`):e(`auth_files.delete_problem_button_with_type`,{type:bO(e,Ke)}):Ke===`all`?e(`auth_files.delete_all_button`):`${e(`common.delete`)} ${bO(e,Ke)}`,Pt=nx(),Ft=!z&&I.length===0&&!B,It=!z&&I.length>0&&_t.length===0,Lt=[Oj.grid,d?Oj.gridCompact:``,qe?Oj.gridQuota:``].filter(Boolean).join(` `);return(0,H.jsxs)(`div`,{className:Oj.page,children:[(0,H.jsx)(jA,{totalCount:I.length,activeCount:Ct,problemCount:wt,loading:z,refreshing:te,uploading:V,disableControls:Ge,onUpload:le,onRefresh:()=>void it()}),(0,H.jsx)(`input`,{ref:se,type:`file`,accept:`.json,application/json`,multiple:!0,style:{display:`none`},onChange:ue}),(0,H.jsx)(IA,{files:I,statusBarCache:Ce}),(0,H.jsxs)(`section`,{className:Oj.workbench,"aria-label":e(`auth_files.title_section`),children:[(0,H.jsx)(kA,{types:at,counts:lt,active:Ke,resolvedTheme:r,onChange:e=>{c(e),g(1)}}),(0,H.jsx)(rA,{search:p,onSearchChange:e=>{m(e),g(1)},statusFilterMode:l,statusFilterOptions:st,onStatusFilterChange:nt,sortMode:w,sortOptions:ct,onSortModeChange:tt,pageSizeInput:b,onPageSizeInputChange:et,onPageSizeCommit:$e,compactMode:d,onCompactModeChange:f,deleteLabel:Nt,deleteDisabled:Ge||z||re||I.length===0,deleteLoading:re,onDelete:()=>fe({filter:s,problemOnly:Ye,disabledOnly:Xe,enabledOnly:Ze,onResetFilterToAll:()=>c(`all`),onResetProblemOnly:()=>u(`all`),onResetDisabledOnly:()=>u(`all`),onResetEnabledOnly:()=>u(`all`)})}),B&&(0,H.jsx)(`div`,{className:Oj.errorBanner,role:`alert`,children:B}),z?(0,H.jsx)(`div`,{className:Lt,"aria-hidden":`true`,children:Array.from({length:jj},(e,t)=>(0,H.jsx)(ux,{height:206,rounded:14},t))}):Ft?(0,H.jsx)(ZD,{title:e(`auth_files.empty_title`),description:e(`auth_files.empty_desc`),action:(0,H.jsxs)(`div`,{className:Oj.emptyActions,children:[(0,H.jsx)(U,{size:`sm`,onClick:le,disabled:Ge||V,children:e(`auth_files.upload_button`)}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>o(`/oauth`),children:e(`auth_files.empty_oauth_link`)})]})}):It?(0,H.jsx)(ZD,{title:e(`auth_files.search_empty_title`),description:e(`auth_files.search_empty_desc`),action:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:Mt,children:e(`auth_files.no_results_clear`)})}):(0,H.jsx)(`div`,{className:Lt,children:_t.map((e,t)=>(0,H.jsx)(Yk,{file:e,compact:d,selected:L.has(e.name),resolvedTheme:r,disableControls:Ge,deleting:ne,statusUpdating:ie,manualRefreshing:ae,quotaFilterType:qe,statusBarCache:Ce,entranceDelayMs:Ot(t),onShowModels:ee,onDownload:pe,onManualRefresh:me,onOpenPrefixProxyEditor:Ve,onDelete:de,onToggleStatus:he,onToggleSelect:ge},e.name))}),!z&&pt.length>Je&&(0,H.jsxs)(`div`,{className:Oj.pagination,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>g(Math.max(1,ht-1)),disabled:ht<=1,children:e(`auth_files.pagination_prev`)}),(0,H.jsx)(`div`,{className:Oj.pageInfo,children:e(`auth_files.pagination_info`,{current:ht,total:mt,count:pt.length})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>g(Math.min(mt,ht+1)),disabled:ht>=mt,children:e(`auth_files.pagination_next`)})]})]}),(0,H.jsxs)(`div`,{className:Oj.configGrid,ref:Pt,children:[(0,H.jsx)(fA,{disableControls:Ge,excludedError:Te,excluded:we,onRetry:ke,onAdd:()=>At(),onEdit:At,onDelete:je}),(0,H.jsx)(DA,{disableControls:Ge,viewMode:S,onViewModeChange:C,onRetry:Ae,onAdd:()=>jt(),onEditProvider:jt,onDeleteProvider:Me,modelAliasError:De,modelAlias:Ee,allProviderModels:Oe,onUpdate:Ne,onDeleteLink:Pe,onToggleFork:Fe,onRenameAlias:Ie,onDeleteAlias:Le})]}),(0,H.jsx)(tA,{open:O,fileName:j,fileType:M,loading:k,error:N,models:A,excluded:we,onClose:P,onCopyText:kt}),(0,H.jsx)($k,{disableControls:Ge,editor:Re,updatedText:ze,dirty:Be,onClose:He,onCopyText:kt,onSave:We,onChange:Ue}),(0,H.jsx)(uA,{selectionCount:R,selectablePageCount:vt.length,selectableFilteredCount:yt.length,disableControls:Ge,batchStatusDisabled:St,onSelectPage:()=>_e(_t),onSelectFiltered:()=>_e(pt),onInvertPage:()=>ve(_t),onDeselectAll:ye,onDownload:()=>void be(bt),onEnable:()=>xe(bt,!0),onDisable:()=>xe(bt,!1),onDelete:()=>Se(bt)})]})}function Ij({title:e,extra:t,children:n,className:r}){return(0,H.jsxs)(`div`,{className:r?`card ${r}`:`card`,children:[(e||t)&&(0,H.jsxs)(`div`,{className:`card-header`,children:[(0,H.jsx)(`div`,{className:`title`,children:e}),t]}),n]})}function Lj({label:e,value:t,onChange:n,options:r,placeholder:i,disabled:a,hint:o,error:s,className:c=``,wrapperClassName:l=``,wrapperStyle:u,id:d,rightElement:f}){let[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(-1),_=(0,y.useRef)(null),v=r.map(e=>typeof e==`string`?{value:e,label:e}:{value:e.value,label:e.label||e.value}).filter(e=>{let n=t.toLowerCase();return e.value.toLowerCase().includes(n)||e.label&&e.label.toLowerCase().includes(n)});(0,y.useEffect)(()=>{let e=e=>{_.current&&!_.current.contains(e.target)&&m(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);let b=e=>{n(e.target.value),m(!0),g(-1)},x=e=>{n(e),m(!1)};return(0,H.jsxs)(`div`,{className:`form-group ${l}`,ref:_,style:u,children:[e&&(0,H.jsx)(`label`,{htmlFor:d,children:e}),(0,H.jsxs)(`div`,{style:{position:`relative`},children:[(0,H.jsx)(`input`,{id:d,className:`input ${c}`.trim(),value:t,onChange:b,onFocus:()=>m(!0),onKeyDown:e=>{if(!a)if(e.key===`ArrowDown`){if(e.preventDefault(),!p){m(!0);return}g(e=>e<v.length-1?e+1:e)}else e.key===`ArrowUp`?(e.preventDefault(),g(e=>e>0?e-1:0)):e.key===`Enter`?p&&h>=0&&h<v.length?(e.preventDefault(),x(v[h].value)):p&&(e.preventDefault(),m(!1)):(e.key===`Escape`||e.key===`Tab`)&&m(!1)},placeholder:i,disabled:a,autoComplete:`off`,style:{paddingRight:32}}),(0,H.jsxs)(`div`,{style:{position:`absolute`,right:8,top:`50%`,transform:`translateY(-50%)`,display:`flex`,alignItems:`center`,pointerEvents:a?`none`:`auto`,cursor:`pointer`,height:`100%`},onClick:()=>!a&&m(!p),children:[f,(0,H.jsx)(Is,{size:16,style:{opacity:.5,marginLeft:4}})]}),p&&v.length>0&&!a&&(0,H.jsx)(`div`,{className:`autocomplete-dropdown`,style:{position:`absolute`,top:`calc(100% + 4px)`,left:0,right:0,zIndex:1e3,backgroundColor:`var(--bg-secondary)`,border:`1px solid var(--border-color)`,borderRadius:`var(--radius-md)`,maxHeight:200,overflowY:`auto`,boxShadow:`0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)`},children:v.map((e,t)=>(0,H.jsxs)(`div`,{onClick:()=>x(e.value),style:{padding:`8px 12px`,cursor:`pointer`,backgroundColor:t===h?`var(--bg-tertiary)`:`transparent`,color:`var(--text-primary)`,display:`flex`,flexDirection:`column`,fontSize:`0.9rem`},onMouseEnter:()=>g(t),children:[(0,H.jsx)(`span`,{style:{fontWeight:500},children:e.value}),e.label&&e.label!==e.value&&(0,H.jsx)(`span`,{style:{fontSize:`0.85em`,color:`var(--text-secondary)`},children:e.label})]},`${e.value}-${t}`))})]}),o&&(0,H.jsx)(`div`,{className:`hint`,children:o}),s&&(0,H.jsx)(`div`,{className:`error-box`,children:s})]})}var Rj={container:`SecondaryScreenShell-module__container___9DAwq`,topBar:`SecondaryScreenShell-module__topBar___vHzq4`,topBarTitle:`SecondaryScreenShell-module__topBarTitle___Q8LCy`,backButton:`SecondaryScreenShell-module__backButton___d6Zgy`,backIcon:`SecondaryScreenShell-module__backIcon___R8Iyn`,backText:`SecondaryScreenShell-module__backText___CODk7`,rightSlot:`SecondaryScreenShell-module__rightSlot___ZvWJR`,loadingState:`SecondaryScreenShell-module__loadingState___4Jbsa`,content:`SecondaryScreenShell-module__content___nVk3R`},zj=(0,y.forwardRef)(function({title:e,onBack:t,backLabel:n=`Back`,backAriaLabel:r,rightAction:i,isLoading:a=!1,loadingLabel:o=`Loading...`,className:s=``,contentClassName:c=``,children:l},u){let d=[Rj.container,s].filter(Boolean).join(` `),f=[Rj.content,c].filter(Boolean).join(` `),p=typeof e==`string`?e:void 0,m=r??n;return(0,H.jsxs)(`div`,{className:d,ref:u,children:[(0,H.jsxs)(`div`,{className:Rj.topBar,children:[t?(0,H.jsxs)(U,{variant:`ghost`,size:`sm`,onClick:t,className:Rj.backButton,"aria-label":m,children:[(0,H.jsx)(`span`,{className:Rj.backIcon,children:(0,H.jsx)(Ls,{size:18})}),(0,H.jsx)(`span`,{className:Rj.backText,children:n})]}):(0,H.jsx)(`div`,{}),(0,H.jsx)(`div`,{className:Rj.topBarTitle,title:p,children:e}),(0,H.jsx)(`div`,{className:Rj.rightSlot,children:i})]}),a?(0,H.jsxs)(`div`,{className:Rj.loadingState,children:[(0,H.jsx)(RO,{size:16}),(0,H.jsx)(`span`,{children:o})]}):(0,H.jsx)(`div`,{className:f,children:l})]})}),Bj=28,Vj=90,Hj=1.2;function Uj({enabled:e=!0,edgeSize:t=Bj,threshold:n=Vj,onBack:r}){let i=(0,y.useRef)(null),a=(0,y.useRef)(null);return(0,y.useEffect)(()=>{if(!e)return;let o=i.current;if(!o)return;let s=()=>{a.current=null},c=e=>{let t=a.current;if(!t?.active||e.pointerId!==t.pointerId)return;let n=e.clientX-t.startX,r=e.clientY-t.startY;Math.abs(r)>Math.abs(n)*Hj&&s()},l=e=>{let t=a.current;if(!t?.active||e.pointerId!==t.pointerId)return;let i=e.clientX-t.startX,o=e.clientY-t.startY,c=Math.abs(i)>Math.abs(o)*Hj;s(),i>=n&&c&&r()},u=e=>{let t=a.current;t?.active&&e.pointerId===t.pointerId&&s()},d=e=>{e.pointerType===`touch`&&e.isPrimary&&(e.clientX>t||(a.current={pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,active:!0}))};return o.addEventListener(`pointerdown`,d,{passive:!0}),window.addEventListener(`pointermove`,c,{passive:!0}),window.addEventListener(`pointerup`,l,{passive:!0}),window.addEventListener(`pointercancel`,u,{passive:!0}),()=>{o.removeEventListener(`pointerdown`,d),window.removeEventListener(`pointermove`,c),window.removeEventListener(`pointerup`,l),window.removeEventListener(`pointercancel`,u)}},[t,e,r,n]),i}var Wj=e=>JSON.stringify(Array.from(new Set(e),e=>e.trim()).filter(Boolean).sort()),Gj=e=>JSON.stringify(e.map(e=>({name:e.name??``,alias:e.alias??``,fork:e.fork===!0,forceMapping:typeof e.forceMapping==`boolean`?e.forceMapping:void 0})).filter(e=>e.name!==``||e.alias!==``||e.fork!==!0||e.forceMapping!==void 0)),Kj=(e,t,n,r)=>pO(e)!==pO(t)||n!==r,qj={pageContent:`AuthFilesOAuthExcludedEditPage-module__pageContent___42nA2`,settingsCard:`AuthFilesOAuthExcludedEditPage-module__settingsCard___EE-1z`,settingsHeader:`AuthFilesOAuthExcludedEditPage-module__settingsHeader___Jm0RO`,settingsHeaderTitle:`AuthFilesOAuthExcludedEditPage-module__settingsHeaderTitle___nOj9w`,settingsHeaderHint:`AuthFilesOAuthExcludedEditPage-module__settingsHeaderHint___EzQSN`,settingsSection:`AuthFilesOAuthExcludedEditPage-module__settingsSection___ozndx`,settingsRow:`AuthFilesOAuthExcludedEditPage-module__settingsRow___z6QPQ`,settingsInfo:`AuthFilesOAuthExcludedEditPage-module__settingsInfo___lRYwp`,settingsLabel:`AuthFilesOAuthExcludedEditPage-module__settingsLabel___KbPgc`,settingsDesc:`AuthFilesOAuthExcludedEditPage-module__settingsDesc___6LSPN`,settingsControl:`AuthFilesOAuthExcludedEditPage-module__settingsControl___luVcd`,tagList:`AuthFilesOAuthExcludedEditPage-module__tagList___Is0Fd`,tag:`AuthFilesOAuthExcludedEditPage-module__tag___fyrKv`,tagActive:`AuthFilesOAuthExcludedEditPage-module__tagActive___EkiBG`,emptyModels:`AuthFilesOAuthExcludedEditPage-module__emptyModels___kAuwa`};function Jj(){let{t:e}=ss(),t=pr(),n=ur(),{showConfirmation:r,showNotification:i}=Kc(),a=am(e=>e.connectionStatus)!==`connected`,[o,s]=na(),c=o.get(`provider`)??``,[l]=(0,y.useState)(()=>pO(c)),[u,d]=(0,y.useState)(c),[f,p]=(0,y.useState)([]),[m,h]=(0,y.useState)({}),[g,_]=(0,y.useState)({}),[v,b]=(0,y.useState)(!0),[x,S]=(0,y.useState)(null),[C,w]=(0,y.useState)(!1),[T,E]=(0,y.useState)(!1),D=(0,y.useRef)(0),[O,k]=(0,y.useState)(new Set),[A,j]=(0,y.useState)([]),[M,N]=(0,y.useState)(!1),[ee,P]=(0,y.useState)(null),[F,I]=(0,y.useState)(!1);(0,y.useEffect)(()=>{d(c)},[c]);let L=(0,y.useMemo)(()=>{let e=new Set;return Object.keys(m).forEach(t=>e.add(t)),Object.keys(g).forEach(t=>e.add(t)),f.forEach(t=>{typeof t.type==`string`&&e.add(t.type),typeof t.provider==`string`&&e.add(t.provider)}),hO(e)},[m,f,g]),R=(0,y.useMemo)(()=>pO(u),[u]),z=(0,y.useMemo)(()=>R?Object.prototype.hasOwnProperty.call(m,R):!1,[m,R]),te=(0,y.useMemo)(()=>Wj(iE(m[R]??[])),[m,R]),B=(0,y.useMemo)(()=>iE(O),[O]),V=(0,y.useMemo)(()=>Wj(B),[B]),ne=te!==V,re=(0,y.useMemo)(()=>A.map(e=>({id:e.id,displayName:e.display_name})),[A]),ie=M?`loading`:ee===`unsupported`?`unavailable`:`ready`,ae=Kj(l,u,te,V),oe=(0,y.useMemo)(()=>({title:e(`common.unsaved_changes_title`),message:e(`common.unsaved_changes_message`),confirmText:e(`common.leave`),cancelText:e(`common.stay`)}),[e]),{allowNextNavigation:se,allowNavigationTo:ce}=uT({shouldBlock:ae,dialog:oe}),le=(0,y.useMemo)(()=>z?e(`oauth_excluded.edit_title`,{provider:u.trim()||R}):e(`oauth_excluded.add_title`),[z,u,R,e]),ue=(0,y.useCallback)(()=>{if(n.state?.fromAuthFiles){t(-1);return}t(`/auth-files`,{replace:!0})},[n.state,t]),de=Uj({onBack:ue});(0,y.useEffect)(()=>{let e=e=>{e.key===`Escape`&&ue()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[ue]);let fe=(0,y.useCallback)(async()=>{let e=++D.current;b(!0),S(null),w(!1),E(!1);try{let[t,n,r]=await Promise.allSettled([Dy.list(),Dy.getOauthExcludedModels(),Dy.getOauthModelAlias()]);if(e!==D.current)return;if(t.status===`fulfilled`&&p(t.value?.files??[]),r.status===`fulfilled`&&_(r.value??{}),n.status===`fulfilled`){h(n.value??{}),w(!0);return}let i=n.reason;if((typeof i==`object`&&i&&`status`in i?i.status:void 0)===404){E(!0);return}S(Ec(i))}catch(t){e===D.current&&S(Ec(t))}finally{e===D.current&&b(!1)}},[]);(0,y.useEffect)(()=>(fe(),()=>{D.current+=1}),[fe]),(0,y.useEffect)(()=>{if(!R){k(new Set);return}let e=m[R]??[];k(new Set(iE(e)))},[m,R]),(0,y.useEffect)(()=>{if(!R||T){j([]),P(null),N(!1);return}let t=!1;return j([]),N(!0),P(null),Dy.getModelDefinitions(R).then(e=>{t||j(e)}).catch(n=>{if(t)return;let r=typeof n==`object`&&n&&`status`in n?n.status:void 0;if(r===400||r===404){j([]),P(`unsupported`);return}let a=n instanceof Error?n.message:``;i(`${e(`notification.load_failed`)}: ${a}`,`error`)}).finally(()=>{t||N(!1)}),()=>{t=!0}},[T,R,i,e]);let pe=(0,y.useCallback)(e=>{d(e);let t=new URLSearchParams(o),r=e.trim();r?t.set(`provider`,r):t.delete(`provider`);let i=t.toString();ce(`${n.pathname}${i?`?${i}`:``}${n.hash}`),s(t,{replace:!0})},[ce,n.hash,n.pathname,o,s]),me=(0,y.useCallback)(e=>{if(!ne||pO(e)===R){pe(e);return}r({...oe,variant:`danger`,onConfirm:()=>pe(e)})},[pe,ne,R,r,oe]),he=(0,y.useCallback)(e=>{k(new Set(e))},[]),ge=(0,y.useCallback)(async()=>{let t=pO(u);if(!t){i(e(`oauth_excluded.provider_required`),`error`);return}let n=B;I(!0);try{n.length?await Dy.saveOauthExcludedModels(t,n):z&&await Dy.deleteOauthExcludedEntry(t),i(e(`oauth_excluded.save_success`),`success`),se(),ue()}catch(t){let n=t instanceof Error?t.message:``;i(`${e(`oauth_excluded.save_failed`)}: ${n}`,`error`)}finally{I(!1)}},[se,B,ue,z,u,i,e]),_e=!a&&!F&&C&&!T&&x===null;return(0,H.jsx)(zj,{ref:de,title:le,onBack:ue,backLabel:e(`common.back`),backAriaLabel:e(`common.back`),contentClassName:qj.pageContent,rightAction:(0,H.jsx)(U,{size:`sm`,onClick:ge,loading:F,disabled:!_e,children:e(`oauth_excluded.save`)}),isLoading:v,loadingLabel:e(`common.loading`),children:T?(0,H.jsx)(Ij,{children:(0,H.jsx)(ZD,{title:e(`oauth_excluded.upgrade_required_title`),description:e(`oauth_excluded.upgrade_required_desc`)})}):x===null?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(Ij,{className:qj.settingsCard,children:[(0,H.jsxs)(`div`,{className:qj.settingsHeader,children:[(0,H.jsxs)(`div`,{className:qj.settingsHeaderTitle,children:[(0,H.jsx)(Ss,{size:16}),(0,H.jsx)(`span`,{children:e(`oauth_excluded.title`)})]}),(0,H.jsx)(`div`,{className:qj.settingsHeaderHint,children:e(`oauth_excluded.description`)})]}),(0,H.jsxs)(`div`,{className:qj.settingsSection,children:[(0,H.jsxs)(`div`,{className:qj.settingsRow,children:[(0,H.jsxs)(`div`,{className:qj.settingsInfo,children:[(0,H.jsx)(`div`,{className:qj.settingsLabel,children:e(`oauth_excluded.provider_label`)}),(0,H.jsx)(`div`,{className:qj.settingsDesc,children:e(`oauth_excluded.provider_hint`)})]}),(0,H.jsx)(`div`,{className:qj.settingsControl,children:(0,H.jsx)(Lj,{id:`oauth-excluded-provider`,placeholder:e(`oauth_excluded.provider_placeholder`),value:u,onChange:me,options:L,disabled:a||F,wrapperStyle:{marginBottom:0}})})]}),L.length>0&&(0,H.jsx)(`div`,{className:qj.tagList,children:L.map(t=>{let n=pO(u)===pO(t);return(0,H.jsx)(`button`,{type:`button`,className:`${qj.tag} ${n?qj.tagActive:``}`,onClick:()=>me(t),disabled:a||F,children:bO(e,t)},t)})})]})]}),(0,H.jsxs)(Ij,{className:qj.settingsCard,children:[(0,H.jsx)(`div`,{className:qj.settingsHeader,children:(0,H.jsx)(`div`,{className:qj.settingsHeaderTitle,id:`oauth-excluded-models-label`,children:e(`oauth_excluded.models_label`)})}),R?(0,H.jsx)(bE,{value:B,onChange:he,candidates:re,catalogState:ie,disabled:a||F,labelledBy:`oauth-excluded-models-label`}):(0,H.jsx)(`div`,{className:qj.emptyModels,children:e(`oauth_excluded.provider_required`)})]})]}):(0,H.jsx)(Ij,{children:(0,H.jsx)(ZD,{title:e(`notification.refresh_failed`),description:x||e(`notification.refresh_failed`),action:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>void fe(),children:e(`common.refresh`)})})})})}var Yj={pageContent:`AuthFilesOAuthModelAliasEditPage-module__pageContent___mxGSP`,settingsCard:`AuthFilesOAuthModelAliasEditPage-module__settingsCard___4uMxA`,settingsHeader:`AuthFilesOAuthModelAliasEditPage-module__settingsHeader___h4vIs`,settingsHeaderTitle:`AuthFilesOAuthModelAliasEditPage-module__settingsHeaderTitle___GExPS`,settingsHeaderHint:`AuthFilesOAuthModelAliasEditPage-module__settingsHeaderHint___C94bR`,settingsSection:`AuthFilesOAuthModelAliasEditPage-module__settingsSection___JQr18`,settingsRow:`AuthFilesOAuthModelAliasEditPage-module__settingsRow___qzQdL`,settingsInfo:`AuthFilesOAuthModelAliasEditPage-module__settingsInfo___Jt7Ub`,settingsLabel:`AuthFilesOAuthModelAliasEditPage-module__settingsLabel___v6dmL`,settingsDesc:`AuthFilesOAuthModelAliasEditPage-module__settingsDesc___TgK3P`,settingsControl:`AuthFilesOAuthModelAliasEditPage-module__settingsControl___nSl-3`,tagList:`AuthFilesOAuthModelAliasEditPage-module__tagList___OxNTF`,tag:`AuthFilesOAuthModelAliasEditPage-module__tag___sULm6`,tagActive:`AuthFilesOAuthModelAliasEditPage-module__tagActive___CcyFC`,mappingsHeader:`AuthFilesOAuthModelAliasEditPage-module__mappingsHeader___wddAp`,mappingsTitle:`AuthFilesOAuthModelAliasEditPage-module__mappingsTitle___QywAa`,modelsHint:`AuthFilesOAuthModelAliasEditPage-module__modelsHint___nQAc7`,mappingsBody:`AuthFilesOAuthModelAliasEditPage-module__mappingsBody___jOz-S`,mappingRow:`AuthFilesOAuthModelAliasEditPage-module__mappingRow___NTr41`,mappingSeparator:`AuthFilesOAuthModelAliasEditPage-module__mappingSeparator___dN9rZ`,mappingAliasInput:`AuthFilesOAuthModelAliasEditPage-module__mappingAliasInput___iG0V3`,mappingFork:`AuthFilesOAuthModelAliasEditPage-module__mappingFork___4pAg3`},Xj=()=>({id:wc(),name:``,alias:``,fork:!0}),Zj=e=>!Array.isArray(e)||e.length===0?[Xj()]:e.map(e=>({id:wc(),name:e.name??``,alias:e.alias??``,fork:!!e.fork,forceMapping:e.forceMapping}));function Qj(){let{t:e}=ss(),t=pr(),n=ur(),{showConfirmation:r,showNotification:i}=Kc(),a=am(e=>e.connectionStatus)!==`connected`,[o,s]=na(),c=o.get(`provider`)??``,[l]=(0,y.useState)(()=>pO(c)),[u,d]=(0,y.useState)(c),[f,p]=(0,y.useState)([]),[m,h]=(0,y.useState)({}),[g,_]=(0,y.useState)({}),[v,b]=(0,y.useState)(!0),[x,S]=(0,y.useState)(null),[C,w]=(0,y.useState)(!1),[T,E]=(0,y.useState)(!1),D=(0,y.useRef)(0),[O,k]=(0,y.useState)([Xj()]),[A,j]=(0,y.useState)([]),[M,N]=(0,y.useState)(!1),[ee,P]=(0,y.useState)(null),[F,I]=(0,y.useState)(!1);(0,y.useEffect)(()=>{d(c)},[c]);let L=(0,y.useMemo)(()=>{let e=new Set;return Object.keys(m).forEach(t=>e.add(t)),Object.keys(g).forEach(t=>e.add(t)),f.forEach(t=>{typeof t.type==`string`&&e.add(t.type),typeof t.provider==`string`&&e.add(t.provider)}),hO(e)},[m,f,g]),R=(0,y.useMemo)(()=>pO(u),[u]),z=(0,y.useMemo)(()=>R?Object.prototype.hasOwnProperty.call(g,R):!1,[g,R]),te=(0,y.useMemo)(()=>Gj(g[R]??[]),[g,R]),B=(0,y.useMemo)(()=>Gj(O),[O]),V=te!==B,ne=Kj(l,u,te,B),re=(0,y.useMemo)(()=>({title:e(`common.unsaved_changes_title`),message:e(`common.unsaved_changes_message`),confirmText:e(`common.leave`),cancelText:e(`common.stay`)}),[e]),{allowNextNavigation:ie,allowNavigationTo:ae}=uT({shouldBlock:ne,dialog:re}),oe=(0,y.useMemo)(()=>e(`oauth_model_alias.add_title`),[e]),se=(0,y.useMemo)(()=>u.trim()?M?e(`oauth_model_alias.model_source_loading`):ee===`unsupported`?e(`oauth_model_alias.model_source_unsupported`):e(`oauth_model_alias.model_source_loaded`,{count:A.length}):e(`oauth_model_alias.provider_hint`),[ee,A.length,M,u,e]),ce=(0,y.useCallback)(()=>{if(n.state?.fromAuthFiles){t(-1);return}t(`/auth-files`,{replace:!0})},[n.state,t]),le=Uj({onBack:ce});(0,y.useEffect)(()=>{let e=e=>{e.key===`Escape`&&ce()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[ce]);let ue=(0,y.useCallback)(async()=>{let e=++D.current;b(!0),S(null),w(!1),E(!1);try{let[t,n,r]=await Promise.allSettled([Dy.list(),Dy.getOauthExcludedModels(),Dy.getOauthModelAlias()]);if(e!==D.current)return;if(t.status===`fulfilled`&&p(t.value?.files??[]),n.status===`fulfilled`&&h(n.value??{}),r.status===`fulfilled`){_(r.value??{}),w(!0);return}let i=r.reason;if((typeof i==`object`&&i&&`status`in i?i.status:void 0)===404){E(!0);return}S(Ec(i))}catch(t){e===D.current&&S(Ec(t))}finally{e===D.current&&b(!1)}},[]);(0,y.useEffect)(()=>(ue(),()=>{D.current+=1}),[ue]),(0,y.useEffect)(()=>{if(!R){k([Xj()]);return}let e=g[R]??[];k(Zj(e))},[g,R]),(0,y.useEffect)(()=>{if(!R||T){j([]),P(null),N(!1);return}let t=!1;return N(!0),P(null),Dy.getModelDefinitions(R).then(e=>{t||j(e)}).catch(n=>{if(t)return;let r=typeof n==`object`&&n&&`status`in n?n.status:void 0;if(r===400||r===404){j([]),P(`unsupported`);return}let a=n instanceof Error?n.message:``;i(`${e(`notification.load_failed`)}: ${a}`,`error`)}).finally(()=>{t||N(!1)}),()=>{t=!0}},[T,R,i,e]);let de=(0,y.useCallback)(e=>{d(e);let t=new URLSearchParams(o),r=e.trim();r?t.set(`provider`,r):t.delete(`provider`);let i=t.toString();ae(`${n.pathname}${i?`?${i}`:``}${n.hash}`),s(t,{replace:!0})},[ae,n.hash,n.pathname,o,s]),fe=(0,y.useCallback)(e=>{if(!V||pO(e)===R){de(e);return}r({...re,variant:`danger`,onConfirm:()=>de(e)})},[de,V,R,r,re]),pe=(0,y.useCallback)((e,t,n)=>{k(r=>r.map((r,i)=>i===e?{...r,[t]:n}:r))},[]),me=(0,y.useCallback)(()=>{k(e=>[...e,Xj()])},[]),he=(0,y.useCallback)(e=>{k(t=>{let n=t.filter((t,n)=>n!==e);return n.length?n:[Xj()]})},[]),ge=(0,y.useCallback)(async()=>{let t=pO(u);if(!t){i(e(`oauth_model_alias.provider_required`),`error`);return}let n=new Set,r=!1,a=O.map(e=>{let t=String(e.name??``).trim(),i=String(e.alias??``).trim();if(!t||!i)return null;let a=i.toLowerCase();if(n.has(a))return r=!0,null;n.add(a);let o={name:t,alias:i};return e.fork&&(o.fork=!0),typeof e.forceMapping==`boolean`&&(o.forceMapping=e.forceMapping),o}).filter(Boolean);if(r){i(e(`oauth_model_alias.duplicate_alias`),`error`);return}I(!0);try{a.length?await Dy.saveOauthModelAlias(t,a):z&&await Dy.deleteOauthModelAlias(t),i(e(`oauth_model_alias.save_success`),`success`),ie(),ce()}catch(t){let n=t instanceof Error?t.message:``;i(`${e(`oauth_model_alias.save_failed`)}: ${n}`,`error`)}finally{I(!1)}},[ie,ce,z,O,u,i,e]),_e=!a&&!F&&C&&!T&&x===null;return(0,H.jsx)(zj,{ref:le,title:oe,onBack:ce,backLabel:e(`common.back`),backAriaLabel:e(`common.back`),contentClassName:Yj.pageContent,rightAction:(0,H.jsx)(U,{size:`sm`,onClick:ge,loading:F,disabled:!_e,children:e(`oauth_model_alias.save`)}),isLoading:v,loadingLabel:e(`common.loading`),children:T?(0,H.jsx)(Ij,{children:(0,H.jsx)(ZD,{title:e(`oauth_model_alias.upgrade_required_title`),description:e(`oauth_model_alias.upgrade_required_desc`)})}):x===null?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(Ij,{className:Yj.settingsCard,children:[(0,H.jsxs)(`div`,{className:Yj.settingsHeader,children:[(0,H.jsxs)(`div`,{className:Yj.settingsHeaderTitle,children:[(0,H.jsx)(Ss,{size:16}),(0,H.jsx)(`span`,{children:e(`oauth_model_alias.title`)})]}),(0,H.jsx)(`div`,{className:Yj.settingsHeaderHint,children:se})]}),(0,H.jsxs)(`div`,{className:Yj.settingsSection,children:[(0,H.jsxs)(`div`,{className:Yj.settingsRow,children:[(0,H.jsxs)(`div`,{className:Yj.settingsInfo,children:[(0,H.jsx)(`div`,{className:Yj.settingsLabel,children:e(`oauth_model_alias.provider_label`)}),(0,H.jsx)(`div`,{className:Yj.settingsDesc,children:e(`oauth_model_alias.provider_hint`)})]}),(0,H.jsx)(`div`,{className:Yj.settingsControl,children:(0,H.jsx)(Lj,{id:`oauth-model-alias-provider`,placeholder:e(`oauth_model_alias.provider_placeholder`),value:u,onChange:fe,options:L,disabled:a||F,wrapperStyle:{marginBottom:0}})})]}),L.length>0&&(0,H.jsx)(`div`,{className:Yj.tagList,children:L.map(t=>{let n=pO(u)===pO(t);return(0,H.jsx)(`button`,{type:`button`,className:`${Yj.tag} ${n?Yj.tagActive:``}`,onClick:()=>fe(t),disabled:a||F,children:bO(e,t)},t)})})]})]}),(0,H.jsxs)(Ij,{className:Yj.settingsCard,children:[(0,H.jsxs)(`div`,{className:Yj.mappingsHeader,children:[(0,H.jsx)(`div`,{className:Yj.mappingsTitle,children:e(`oauth_model_alias.alias_label`)}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:me,disabled:a||F||T,children:e(`oauth_model_alias.add_alias`)})]}),(0,H.jsx)(`div`,{className:Yj.mappingsBody,children:O.map((t,n)=>(0,H.jsxs)(`div`,{className:Yj.mappingRow,children:[(0,H.jsx)(Lj,{wrapperStyle:{flex:1,marginBottom:0},placeholder:e(`oauth_model_alias.alias_name_placeholder`),value:t.name,onChange:e=>pe(n,`name`,e),disabled:a||F,options:A.map(e=>({value:e.id,label:e.display_name&&e.display_name!==e.id?e.display_name:void 0}))}),(0,H.jsx)(`span`,{className:Yj.mappingSeparator,children:`→`}),(0,H.jsx)(`input`,{className:`input ${Yj.mappingAliasInput}`,placeholder:e(`oauth_model_alias.alias_placeholder`),value:t.alias,onChange:e=>pe(n,`alias`,e.target.value),disabled:a||F}),(0,H.jsx)(`div`,{className:Yj.mappingFork,children:(0,H.jsx)(Kw,{label:e(`oauth_model_alias.alias_fork_label`),labelPosition:`left`,checked:!!t.fork,onChange:e=>pe(n,`fork`,e),disabled:a||F})}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>he(n),disabled:a||F||O.length<=1,title:e(`common.delete`),"aria-label":e(`common.delete`),children:(0,H.jsx)(zs,{size:14})})]},t.id))})]})]}):(0,H.jsx)(Ij,{children:(0,H.jsx)(ZD,{title:e(`notification.refresh_failed`),description:x||e(`notification.refresh_failed`),action:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>void ue(),children:e(`common.refresh`)})})})})}var $j=`plugin-resources-refresh`,eM=()=>{window.dispatchEvent(new Event($j))},tM=e=>e.metadata?.name.trim()||e.id,nM=(e,t)=>`/plugin-pages/${encodeURIComponent(e)}/${t}`,rM=(e,t)=>{let n=e.trim();if(!n)return``;if(/^(https?:|data:|blob:)/i.test(n)||!n.startsWith(`/`))return n;let r=Zf(t);return r?`${r}${n}`:n},iM=e=>{let t=e.trim();return t?/^https?:\/\//i.test(t)?t:`https://github.com/${t.replace(/^\/+/,``)}`:``},aM=`https://github.com/router-for-me/`,oM=`official`,sM=e=>{let t=e.trim();if(!t)return``;let[n=``,r=``]=(/^https?:\/\/[^/]+\/(.+)$/i.exec(t)?.[1]??t).replace(/^\/+/,``).split(`/`);return n?r?`${n}/${r.replace(/\.git$/i,``)}`:n:``},cM=e=>iM(e).toLowerCase().startsWith(aM),lM=e=>e.sourceId.trim().toLowerCase()===`official`&&cM(e.repository),uM=e=>e.sourceId.trim().toLowerCase()===`official`||e.sourceName.trim().toLowerCase()===oM,dM=e=>sM(e.repository)||e.id,fM=e=>e.flatMap(e=>{if(!e.effectiveEnabled)return[];let t=tM(e),n=e.logo||e.metadata?.logo||``;return e.menus.map((r,i)=>{let a=r.path.trim();if(!a)return null;let o=r.menu.trim();return{pluginID:e.id,pluginTitle:t,pluginLogo:n,menuIndex:i,menu:{...r,path:a},label:o||t,description:r.description.trim()||t,route:nM(e.id,i)}}).filter(e=>!!e)}),pM={container:`OAuthPage-module__container___LCCdH`,cardTitle:`OAuthPage-module__cardTitle___yFaP0`,cardTitleIcon:`OAuthPage-module__cardTitleIcon___eAnql`,cardTitleIconFallback:`OAuthPage-module__cardTitleIconFallback___FCoi8`,pageTitle:`OAuthPage-module__pageTitle___BQQ2z`,content:`OAuthPage-module__content___Phg9V`,providerSection:`OAuthPage-module__providerSection___bIxOF`,providerList:`OAuthPage-module__providerList___lmT4T`,sectionTitle:`OAuthPage-module__sectionTitle___8gdP9`,featuredCard:`OAuthPage-module__featuredCard___oKu32`,featuredActions:`OAuthPage-module__featuredActions___FEuj7`,recommendedBadge:`OAuthPage-module__recommendedBadge___Qwsjm`,featuredHint:`OAuthPage-module__featuredHint___UZb9s`,cardContent:`OAuthPage-module__cardContent___1sXLA`,cardHint:`OAuthPage-module__cardHint___ttOpd`,cardHintSecondary:`OAuthPage-module__cardHintSecondary___tWM17`,oauthSection:`OAuthPage-module__oauthSection___1olLq`,oauthGrid:`OAuthPage-module__oauthGrid___wjAyh`,oauthCard:`OAuthPage-module__oauthCard___CYTnC`,oauthStatus:`OAuthPage-module__oauthStatus___h7bbL`,success:`OAuthPage-module__success___UHta0`,error:`OAuthPage-module__error___057CD`,waiting:`OAuthPage-module__waiting___CbNSk`,callbackSection:`OAuthPage-module__callbackSection___8kA31`,callbackActions:`OAuthPage-module__callbackActions___wtkMI`,authUrlBox:`OAuthPage-module__authUrlBox___Iu1d4`,authUrlLabel:`OAuthPage-module__authUrlLabel___mYFJB`,authUrlValue:`OAuthPage-module__authUrlValue___axvUJ`,authUrlActions:`OAuthPage-module__authUrlActions___venPj`,successActions:`OAuthPage-module__successActions___wHpp9`,geminiProjectField:`OAuthPage-module__geminiProjectField___g456A`,formItem:`OAuthPage-module__formItem___Bgt9S`,formItemLabel:`OAuthPage-module__formItemLabel___QZFrG`,filePicker:`OAuthPage-module__filePicker___NmFjy`,fileName:`OAuthPage-module__fileName___9ZbQI`,fileNamePlaceholder:`OAuthPage-module__fileNamePlaceholder___WHjj4`,connectionBox:`OAuthPage-module__connectionBox___Gwo4r`,connectionLabel:`OAuthPage-module__connectionLabel___cJMrf`,keyValueList:`OAuthPage-module__keyValueList___lEOY0`,keyValueItem:`OAuthPage-module__keyValueItem___XOwWB`,keyValueKey:`OAuthPage-module__keyValueKey___WF-VN`,keyValueValue:`OAuthPage-module__keyValueValue___m2I-C`};function mM(e){if(Tc(e))return typeof e.status==`number`?e.status:void 0}var hM=[{kind:`builtin`,id:`kimi`,titleKey:`auth_login.kimi_oauth_title`,icon:{light:tS,dark:eS}},{kind:`builtin`,id:`codex`,titleKey:`auth_login.codex_oauth_title`,icon:Vx},{kind:`builtin`,id:`anthropic`,titleKey:`auth_login.anthropic_oauth_title`,icon:Bx},{kind:`builtin`,id:`antigravity`,titleKey:`auth_login.antigravity_oauth_title`,icon:$D},{kind:`builtin`,id:`xai`,titleKey:`auth_login.xai_oauth_title`,icon:{light:Qx,dark:$x}}],gM=new Set(hM.map(e=>e.id)),_M=new Set([`codex`,`anthropic`,`antigravity`,`xai`]),vM=`http://127.0.0.1:56121/callback`,yM=`https://www.kimi.com/code/?aff=cliproxyapi`,bM=5e3,xM=e=>e.replace(`-`,`_`),SM=(e,t)=>`auth_login.${xM(e)}_${t}`,CM=(e,t)=>typeof e==`string`?e:e[t];function wM({src:e}){let[t,n]=(0,y.useState)(!1);return e&&!t?(0,H.jsx)(`img`,{src:e,alt:``,className:pM.cardTitleIcon,onError:()=>n(!0)}):(0,H.jsx)(`span`,{className:pM.cardTitleIconFallback,"aria-hidden":`true`,children:(0,H.jsx)(bs,{size:18})})}function TM({provider:e,theme:t}){return e.kind===`plugin`?(0,H.jsx)(wM,{src:e.icon}):(0,H.jsx)(`img`,{src:CM(e.icon,t),alt:``,className:pM.cardTitleIcon})}var EM=(e,t)=>{let n=new Set(gM);return e.flatMap(e=>{let r=e.oauthProvider;return!e.supportsOAuth||!e.effectiveEnabled||!r||n.has(r)?[]:(n.add(r),[{kind:`plugin`,id:r,title:tM(e),icon:rM(e.logo||e.metadata?.logo||``,t)}])})},DM=e=>{try{return new URL(e),!0}catch{return!1}},OM=e=>{let t=e.trim();if(!t)return null;let n=t.indexOf(`?`),r=t.indexOf(`#`),i=n>=0?t.slice(n+1):r>=0?t.slice(r+1):t;return/(^|[&#?])(code|state|error)=/i.test(i)?new URLSearchParams(i.replace(/^[?#]/,``)):null},kM=e=>{let t=e.trim();return(t.match(/\bcode\s*[:=]\s*([^\s&]+)/i)?.[1]??t).trim()},AM=(e,t)=>{let n=e.trim();if(!n)return null;if(DM(n))return n;let r=OM(n);if(r){let e=r.get(`code`)?.trim(),n=r.get(`error`)?.trim(),i=r.get(`error_description`)?.trim(),a=r.get(`state`)?.trim()||t?.trim();if(!a)return null;let o=new URL(vM);return o.searchParams.set(`state`,a),e&&o.searchParams.set(`code`,e),n&&o.searchParams.set(`error`,n),i&&o.searchParams.set(`error_description`,i),o.toString()}let i=kM(n),a=t?.trim();if(!i||!a)return null;let o=new URL(vM);return o.searchParams.set(`code`,i),o.searchParams.set(`state`,a),o.toString()},jM=(e,t,n)=>e===`xai`?AM(t,n):t.trim();function MM(){let{t:e}=ss(),t=pr(),n=am(e=>e.apiBase),{showNotification:r}=Kc(),i=tl(e=>e.resolvedTheme),[a,o]=(0,y.useState)({}),[s,c]=(0,y.useState)([]),[l,u]=(0,y.useState)({fileName:``,location:``,loading:!1}),d=(0,y.useRef)({}),f=(0,y.useRef)({}),p=(0,y.useRef)(null),m=(0,y.useCallback)(()=>{Object.values(d.current).forEach(e=>{e!==void 0&&window.clearInterval(e)}),Object.values(f.current).forEach(e=>{e!==void 0&&window.clearTimeout(e)}),d.current={},f.current={}},[]);(0,y.useEffect)(()=>()=>{m()},[m]),(0,y.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await eb.list();e||c(EM(t.plugins,n))}catch{e||c([])}})(),()=>{e=!0}},[n]);let h=(0,y.useMemo)(()=>[...hM,...s],[s]),g=t=>t.kind===`plugin`?e(`auth_login.plugin_oauth_title`,{name:t.title}):e(t.titleKey),_=(t,n)=>t.kind===`plugin`?e(`auth_login.plugin_${n}`,{name:t.title}):e(SM(t.id,n)),v=(t,n)=>{let r=h.find(e=>e.id===t);return r?_(r,n):e(SM(t,n))},b=(e,t)=>{o(n=>({...n,[e]:{...n[e]??{},...t}}))},x=e=>{let t=d.current[e];t!==void 0&&(window.clearInterval(t),delete d.current[e])},S=e=>{let t=f.current[e];t!==void 0&&(window.clearTimeout(t),delete f.current[e])},C=e=>{x(e),S(e)},w=e=>{C(e),o(t=>({...t,[e]:{}}))},T=e=>{x(e),S(e),UA(),b(e,{url:void 0,state:void 0,status:`success`,error:void 0,polling:!1,callbackUrl:``,callbackSubmitting:!1,callbackStatus:void 0,callbackError:void 0}),f.current[e]=window.setTimeout(()=>{w(e)},bM)},E=(e,t)=>{x(e);let n=window.setInterval(async()=>{try{let i=await Ay.getAuthStatus(t);i.status===`ok`?(T(e),r(v(e,`oauth_status_success`),`success`)):i.status===`error`&&(b(e,{status:`error`,error:i.error,polling:!1}),r(`${v(e,`oauth_status_error`)} ${i.error||``}`,`error`),window.clearInterval(n),delete d.current[e])}catch(t){b(e,{status:`error`,error:Ec(t),polling:!1}),window.clearInterval(n),delete d.current[e]}},3e3);d.current[e]=n},D=async t=>{C(t),b(t,{url:void 0,state:void 0,status:`waiting`,polling:!0,error:void 0,callbackStatus:void 0,callbackError:void 0,callbackUrl:``});try{let n=await Ay.startAuth(t);if(!n.state){let i=e(`auth_login.missing_state`);b(t,{url:n.url,state:void 0,status:`error`,error:i,polling:!1}),r(i,`error`);return}b(t,{url:n.url,state:n.state,status:`waiting`,polling:!0}),E(t,n.state)}catch(e){let n=Ec(e);b(t,{status:`error`,error:n,polling:!1}),r(`${v(t,`oauth_start_error`)}${n?` ${n}`:``}`,`error`)}},O=async t=>{if(!t)return;let n=await QD(t);r(e(n?`notification.link_copied`:`notification.copy_failed`),n?`success`:`error`)},k=async t=>{let n=(a[t]?.callbackUrl||``).trim();if(!n){r(e(t===`xai`?`auth_login.xai_callback_required`:`auth_login.oauth_callback_required`),`warning`);return}let i=jM(t,n,a[t]?.state);if(!i){r(e(t===`xai`?`auth_login.xai_callback_state_missing`:`auth_login.missing_state`),`warning`);return}b(t,{callbackSubmitting:!0,callbackStatus:void 0,callbackError:void 0});try{await Ay.submitCallback(t,i),b(t,{callbackSubmitting:!1,callbackStatus:`success`}),r(e(`auth_login.oauth_callback_success`),`success`)}catch(n){let i=mM(n),a=Ec(n),o=i===404?e(`auth_login.oauth_callback_upgrade_hint`,{defaultValue:`Please update CLI Proxy API or check the connection.`}):a||void 0;b(t,{callbackSubmitting:!1,callbackStatus:`error`,callbackError:o});let s=o?`${e(`auth_login.oauth_callback_error`)} ${o}`:e(`auth_login.oauth_callback_error`);r(s,`error`)}},A=()=>{p.current?.click()},j=t=>{let n=t.target.files?.[0];if(n){if(!n.name.endsWith(`.json`)){r(e(`vertex_import.file_required`),`warning`),t.target.value=``;return}u(e=>({...e,file:n,fileName:n.name,error:void 0,result:void 0})),t.target.value=``}},M=async()=>{if(!l.file){let t=e(`vertex_import.file_required`);u(e=>({...e,error:t})),r(t,`warning`);return}let t=l.location.trim();u(e=>({...e,loading:!0,error:void 0,result:void 0}));try{let n=await nb.importCredential(l.file,t||void 0),i={projectId:n.project_id,email:n.email,location:n.location,authFile:n[`auth-file`]??n.auth_file};u(e=>({...e,loading:!1,result:i})),UA(),r(e(`vertex_import.success`),`success`)}catch(t){let n=Ec(t);u(t=>({...t,loading:!1,error:n||e(`notification.upload_failed`)}));let i=n?`${e(`notification.upload_failed`)}: ${n}`:e(`notification.upload_failed`);r(i,`error`)}},N=(n,r=!1)=>{let o=a[n.id]||{},s=r&&n.kind===`builtin`&&n.id===`kimi`,c=(n.kind===`plugin`||_M.has(n.id))&&!!o.url,l=o.status===`success`?e(`auth_login.login_another_account`):_(n,`oauth_button`),u=[`status-badge`,o.status===`success`?`success`:``,o.status===`error`?`error`:``].filter(Boolean).join(` `);return(0,H.jsx)(Ij,{className:r?pM.featuredCard:void 0,title:(0,H.jsxs)(`span`,{className:pM.cardTitle,children:[(0,H.jsx)(TM,{provider:n,theme:i}),(0,H.jsx)(`span`,{children:g(n)})]}),extra:s?(0,H.jsxs)(`div`,{className:pM.featuredActions,children:[(0,H.jsx)(U,{onClick:()=>window.open(yM,`_blank`,`noopener,noreferrer`),children:e(`auth_login.kimi_sign_up_button`)}),(0,H.jsx)(U,{onClick:()=>D(n.id),loading:o.polling,children:l})]}):(0,H.jsx)(U,{onClick:()=>D(n.id),loading:o.polling,children:l}),children:(0,H.jsxs)(`div`,{className:pM.cardContent,children:[(0,H.jsx)(`div`,{className:r?pM.featuredHint:pM.cardHint,children:_(n,`oauth_hint`)}),o.url&&(0,H.jsxs)(`div`,{className:pM.authUrlBox,children:[(0,H.jsx)(`div`,{className:pM.authUrlLabel,children:_(n,`oauth_url_label`)}),(0,H.jsx)(`div`,{className:pM.authUrlValue,children:o.url}),(0,H.jsxs)(`div`,{className:pM.authUrlActions,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>O(o.url),children:_(n,`copy_link`)}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>window.open(o.url,`_blank`,`noopener,noreferrer`),children:_(n,`open_link`)})]})]}),c&&(0,H.jsxs)(`div`,{className:pM.callbackSection,children:[(0,H.jsx)(us,{label:e(n.id===`xai`?`auth_login.xai_callback_label`:`auth_login.oauth_callback_label`),hint:e(n.id===`xai`?`auth_login.xai_callback_hint`:`auth_login.oauth_callback_hint`),value:o.callbackUrl||``,onChange:e=>b(n.id,{callbackUrl:e.target.value,callbackStatus:void 0,callbackError:void 0}),placeholder:e(n.id===`xai`?`auth_login.xai_callback_placeholder`:`auth_login.oauth_callback_placeholder`)}),(0,H.jsx)(`div`,{className:pM.callbackActions,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>k(n.id),loading:o.callbackSubmitting,children:e(`auth_login.oauth_callback_button`)})}),o.callbackStatus===`success`&&o.status===`waiting`&&(0,H.jsx)(`div`,{className:`status-badge success`,children:e(`auth_login.oauth_callback_status_success`)}),o.callbackStatus===`error`&&(0,H.jsxs)(`div`,{className:`status-badge error`,children:[e(`auth_login.oauth_callback_status_error`),` `,o.callbackError||``]})]}),o.status&&o.status!==`idle`&&(0,H.jsx)(`div`,{className:u,children:o.status===`success`?_(n,`oauth_status_success`):o.status===`error`?`${_(n,`oauth_status_error`)} ${o.error||``}`:_(n,`oauth_status_waiting`)}),o.status===`success`&&(0,H.jsx)(`div`,{className:pM.successActions,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>t(`/auth-files`),children:e(`auth_login.view_auth_files`)})})]})},n.id)},ee=h.find(e=>e.id===`kimi`),P=h.filter(e=>e.id!==`kimi`);return(0,H.jsxs)(`div`,{className:pM.container,children:[(0,H.jsx)(`h1`,{className:pM.pageTitle,children:e(`nav.oauth`,{defaultValue:`OAuth`})}),(0,H.jsxs)(`div`,{className:pM.content,children:[ee&&(0,H.jsx)(`section`,{className:pM.providerSection,children:N(ee,!0)}),(0,H.jsx)(`section`,{className:pM.providerSection,children:(0,H.jsx)(`div`,{className:pM.providerList,children:P.map(e=>N(e))})}),(0,H.jsxs)(`section`,{className:pM.providerSection,children:[(0,H.jsx)(`h2`,{className:pM.sectionTitle,children:e(`auth_login.other_login_methods`)}),(0,H.jsx)(Ij,{title:(0,H.jsxs)(`span`,{className:pM.cardTitle,children:[(0,H.jsx)(`img`,{src:Gx,alt:``,className:pM.cardTitleIcon}),e(`vertex_import.title`)]}),extra:(0,H.jsx)(U,{onClick:M,loading:l.loading,children:e(`vertex_import.import_button`)}),children:(0,H.jsxs)(`div`,{className:pM.cardContent,children:[(0,H.jsx)(`div`,{className:pM.cardHint,children:e(`vertex_import.description`)}),(0,H.jsx)(us,{label:e(`vertex_import.location_label`),hint:e(`vertex_import.location_hint`),value:l.location,onChange:e=>u(t=>({...t,location:e.target.value})),placeholder:e(`vertex_import.location_placeholder`)}),(0,H.jsxs)(`div`,{className:pM.formItem,children:[(0,H.jsx)(`label`,{className:pM.formItemLabel,children:e(`vertex_import.file_label`)}),(0,H.jsxs)(`div`,{className:pM.filePicker,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:A,children:e(`vertex_import.choose_file`)}),(0,H.jsx)(`div`,{className:`${pM.fileName} ${l.fileName?``:pM.fileNamePlaceholder}`.trim(),children:l.fileName||e(`vertex_import.file_placeholder`)})]}),(0,H.jsx)(`div`,{className:pM.cardHintSecondary,children:e(`vertex_import.file_hint`)}),(0,H.jsx)(`input`,{ref:p,type:`file`,accept:`.json,application/json`,style:{display:`none`},onChange:j})]}),l.error&&(0,H.jsx)(`div`,{className:`status-badge error`,children:l.error}),l.result&&(0,H.jsxs)(`div`,{className:pM.connectionBox,children:[(0,H.jsx)(`div`,{className:pM.connectionLabel,children:e(`vertex_import.result_title`)}),(0,H.jsxs)(`div`,{className:pM.keyValueList,children:[l.result.projectId&&(0,H.jsxs)(`div`,{className:pM.keyValueItem,children:[(0,H.jsx)(`span`,{className:pM.keyValueKey,children:e(`vertex_import.result_project`)}),(0,H.jsx)(`span`,{className:pM.keyValueValue,children:l.result.projectId})]}),l.result.email&&(0,H.jsxs)(`div`,{className:pM.keyValueItem,children:[(0,H.jsx)(`span`,{className:pM.keyValueKey,children:e(`vertex_import.result_email`)}),(0,H.jsx)(`span`,{className:pM.keyValueValue,children:l.result.email})]}),l.result.location&&(0,H.jsxs)(`div`,{className:pM.keyValueItem,children:[(0,H.jsx)(`span`,{className:pM.keyValueKey,children:e(`vertex_import.result_location`)}),(0,H.jsx)(`span`,{className:pM.keyValueValue,children:l.result.location})]}),l.result.authFile&&(0,H.jsxs)(`div`,{className:pM.keyValueItem,children:[(0,H.jsx)(`span`,{className:pM.keyValueKey,children:e(`vertex_import.result_file`)}),(0,H.jsx)(`span`,{className:pM.keyValueValue,children:l.result.authFile})]})]})]})]})})]})]})]})}var NM={header:`QuotaHeader-module__header___FQh-X`,copy:`QuotaHeader-module__copy___hYH3x`,title:`QuotaHeader-module__title___X-zzl`,meta:`QuotaHeader-module__meta___vypl5`,metaDot:`QuotaHeader-module__metaDot___oelCy`,metaTotal:`QuotaHeader-module__metaTotal___5Tdcc`,metaLoaded:`QuotaHeader-module__metaLoaded___5XtFO`,metaMuted:`QuotaHeader-module__metaMuted___ofGDe`,metaAttention:`QuotaHeader-module__metaAttention___vgrfI`,actions:`QuotaHeader-module__actions___dPTDc`,primaryAction:`QuotaHeader-module__primaryAction___wLlcP`,spinning:`QuotaHeader-module__spinning___JcwhP`,"quota-spin":`QuotaHeader-module__quota-spin___ZMw-y`,quotaSpin:`QuotaHeader-module__quota-spin___ZMw-y`};function PM(e){let{totalCount:t,loadedCount:n,attentionCount:r,refreshing:i,disableControls:a,onRefreshAll:o}=e,{t:s}=ss(),c=ix(n);return(0,H.jsxs)(`header`,{className:NM.header,children:[(0,H.jsxs)(`div`,{className:NM.copy,children:[(0,H.jsx)(`h1`,{className:NM.title,"data-reveal":!0,children:s(`quota_management.title`)}),(0,H.jsxs)(`p`,{className:NM.meta,"data-reveal":!0,children:[(0,H.jsx)(`span`,{className:NM.metaTotal,children:s(`quota_management.meta_credentials`,{count:t})}),(0,H.jsx)(`span`,{className:NM.metaDot,"aria-hidden":`true`,children:`·`}),(0,H.jsx)(`span`,{className:n>0?NM.metaLoaded:NM.metaMuted,children:s(`quota_management.meta_loaded`,{count:c})}),r>0&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:NM.metaDot,"aria-hidden":`true`,children:`·`}),(0,H.jsx)(`span`,{className:NM.metaAttention,children:s(`quota_management.meta_attention`,{count:r})})]})]})]}),(0,H.jsx)(`div`,{className:NM.actions,"data-reveal":!0,children:(0,H.jsxs)(`button`,{type:`button`,className:NM.primaryAction,onClick:o,disabled:a||i,children:[(0,H.jsx)(Cs,{size:14,className:i?NM.spinning:void 0}),s(`quota_management.refresh_all_credentials`)]})})]})}var FM=[`claude`,`antigravity`,`codex`,`xai`,`kimi`],IM={antigravity:qO.filterFn,claude:dk.filterFn,codex:bk.filterFn,kimi:Ck.filterFn,xai:jk.filterFn},LM=e=>FM.find(t=>IM[t](e))??null;function RM(e){let t=new Map(FM.map(e=>[e,[]]));for(let n of e){let e=LM(n);e&&t.get(e)?.push({file:n,type:e})}return FM.flatMap(e=>t.get(e)??[])}function zM(e,t){return t===`all`?e:e.filter(e=>e.type===t)}function BM(e){let t={all:e.length};for(let e of FM)t[e]=0;for(let n of e)t[n.type]+=1;return t}var VM=(e,t,n)=>!e||t||n;function HM(e,t,n){let r=Math.max(1,Math.ceil(e.length/n)),i=Math.min(Math.max(1,t),r),a=(i-1)*n;return{pageItems:e.slice(a,a+n),currentPage:i,totalPages:r}}var UM={quotaRow:`QuotaBody-module__quotaRow___-JMVn`,quotaRowHeader:`QuotaBody-module__quotaRowHeader___n2wsn`,quotaModel:`QuotaBody-module__quotaModel___wBOTG`,quotaMeta:`QuotaBody-module__quotaMeta___CiLdu`,quotaPercent:`QuotaBody-module__quotaPercent___osiSO`,quotaReset:`QuotaBody-module__quotaReset___Y0Tf1`,quotaAmount:`QuotaBody-module__quotaAmount___h-5qY`,quotaMessage:`QuotaBody-module__quotaMessage___IiV5-`,quotaBar:`QuotaBody-module__quotaBar___eDsVI`,quotaBarFill:`QuotaBody-module__quotaBarFill___PAoP7`,"quota-meter-fill":`QuotaBody-module__quota-meter-fill___3Udkp`,quotaMeterFill:`QuotaBody-module__quota-meter-fill___3Udkp`,quotaBarFillHigh:`QuotaBody-module__quotaBarFillHigh___B1-wA`,quotaBarFillMedium:`QuotaBody-module__quotaBarFillMedium___B53dC`,quotaBarFillLow:`QuotaBody-module__quotaBarFillLow___gX3vN`,antigravityQuotaGroup:`QuotaBody-module__antigravityQuotaGroup___Eala9`,antigravityQuotaGroupHeader:`QuotaBody-module__antigravityQuotaGroupHeader___Innz6`,antigravityQuotaGroupTitle:`QuotaBody-module__antigravityQuotaGroupTitle___gG6fV`,antigravityQuotaGroupDescription:`QuotaBody-module__antigravityQuotaGroupDescription___I9BdI`,codexPlan:`QuotaBody-module__codexPlan___yquoE`,codexPlanItem:`QuotaBody-module__codexPlanItem___HqY0k`,codexPlanLabel:`QuotaBody-module__codexPlanLabel___2-GjA`,codexPlanValue:`QuotaBody-module__codexPlanValue___x0NdC`,codexResetCredits:`QuotaBody-module__codexResetCredits___jS3Iz`,codexResetCreditsTitle:`QuotaBody-module__codexResetCreditsTitle___M-xya`,codexResetCreditRow:`QuotaBody-module__codexResetCreditRow___pYGVe`,codexResetCreditLabel:`QuotaBody-module__codexResetCreditLabel___Ahtkh`,codexResetCreditTime:`QuotaBody-module__codexResetCreditTime___jLiPP`,codexResetCreditsError:`QuotaBody-module__codexResetCreditsError___D8Nqz`,codexPlanSeparator:`QuotaBody-module__codexPlanSeparator___7Kus9`,premiumPlanValue:`QuotaBody-module__premiumPlanValue___vsqQ-`,elitePlanValue:`QuotaBody-module__elitePlanValue___yF4r4`,eliteLiquid:`QuotaBody-module__eliteLiquid___RMX2Q`,eliteBreathe:`QuotaBody-module__eliteBreathe___9ZW9s`,eliteSheen:`QuotaBody-module__eliteSheen___41NZk`},WM={card:`QuotaCard-module__card___gsSw0`,cardEnter:`QuotaCard-module__cardEnter___UF7tD`,"quota-card-in":`QuotaCard-module__quota-card-in___GedV-`,quotaCardIn:`QuotaCard-module__quota-card-in___GedV-`,head:`QuotaCard-module__head___vJx5a`,iconWrap:`QuotaCard-module__iconWrap___xTv0M`,icon:`QuotaCard-module__icon___5ZUbX`,iconFallback:`QuotaCard-module__iconFallback___i6gvn`,fileName:`QuotaCard-module__fileName___1QWup`,body:`QuotaCard-module__body___QvXLv`,idleBody:`QuotaCard-module__idleBody___-LVRC`,idleGlyph:`QuotaCard-module__idleGlyph___-MyUb`,idleHint:`QuotaCard-module__idleHint___ki8K6`,skeleton:`QuotaCard-module__skeleton___itY8q`,skeletonRow:`QuotaCard-module__skeletonRow___I4TdX`,skeletonLabel:`QuotaCard-module__skeletonLabel___y0Wxn`,skeletonTrack:`QuotaCard-module__skeletonTrack___GfCHZ`,"quota-skeleton-sweep":`QuotaCard-module__quota-skeleton-sweep___mYYkB`,quotaSkeletonSweep:`QuotaCard-module__quota-skeleton-sweep___mYYkB`,srOnly:`QuotaCard-module__srOnly___LVxLF`,errorStrip:`QuotaCard-module__errorStrip___XvHgW`,actionRow:`QuotaCard-module__actionRow___mzLCF`,actionPill:`QuotaCard-module__actionPill___GQddc`,spinning:`QuotaCard-module__spinning___bpwYE`,"quota-card-spin":`QuotaCard-module__quota-card-spin___PpW3V`,quotaCardSpin:`QuotaCard-module__quota-card-spin___PpW3V`},GM=UO(UM,`QuotaBody.module.scss`);function KM(e){let{entry:t,quota:n,resolvedTheme:r,canRefresh:i,resetting:a,entranceDelayMs:o,onRefresh:s,onReset:c}=e,{t:l}=ss(),u=Bk[t.type],d=t.file,[f]=(0,y.useState)(o??null),p=f===null?void 0:{"--card-delay":`${f}ms`},m=n?.status??`idle`,h=m===`loading`,g=SO(t.type,r),_=bO(l,t.type),v=mg(l,n?.errorStatus,n?.error||l(`common.unknown_error`)),b=m===`success`&&!!u.resetQuota&&n!==void 0&&!!u.canResetQuota?.(n);return(0,H.jsxs)(`article`,{className:`${WM.card} ${f===null?``:WM.cardEnter}`,style:p,children:[(0,H.jsxs)(`header`,{className:WM.head,children:[(0,H.jsx)(`span`,{className:WM.iconWrap,title:_,style:wO(t.type)?{background:TO(r)}:void 0,children:g?(0,H.jsx)(`img`,{src:g,alt:``,className:WM.icon}):(0,H.jsx)(`span`,{className:WM.iconFallback,children:_.slice(0,1).toUpperCase()})}),(0,H.jsx)(`span`,{className:WM.fileName,title:d.name,children:d.name})]}),(0,H.jsx)(`div`,{className:WM.body,children:m===`idle`?(0,H.jsxs)(`button`,{type:`button`,className:WM.idleBody,onClick:s,disabled:!i,children:[(0,H.jsx)(Cs,{size:15,"aria-hidden":`true`,className:WM.idleGlyph}),(0,H.jsx)(`span`,{className:WM.idleHint,children:l(`${u.i18nPrefix}.idle`)})]}):h?(0,H.jsxs)(`div`,{className:WM.skeleton,"aria-busy":`true`,children:[(0,H.jsx)(`span`,{className:WM.srOnly,children:l(`${u.i18nPrefix}.loading`)}),[0,1].map(e=>(0,H.jsxs)(`div`,{className:WM.skeletonRow,"aria-hidden":`true`,children:[(0,H.jsx)(`span`,{className:WM.skeletonLabel}),(0,H.jsx)(`span`,{className:WM.skeletonTrack})]},e))]}):m===`error`?(0,H.jsx)(`div`,{className:WM.errorStrip,role:`alert`,children:l(`${u.i18nPrefix}.load_failed`,{message:v})}):n?(0,H.jsx)(u.Body,{quota:n,classes:GM}):(0,H.jsx)(`div`,{className:WM.idleHint,children:l(`${u.i18nPrefix}.idle`)})}),m!==`idle`&&(0,H.jsxs)(`footer`,{className:WM.actionRow,children:[b&&(0,H.jsxs)(`button`,{type:`button`,className:WM.actionPill,onClick:c,disabled:!i||h||a,title:l(`codex_quota.reset_button`),children:[(0,H.jsx)(Cs,{size:13,className:a?WM.spinning:void 0}),l(`codex_quota.reset_button`)]}),(0,H.jsxs)(`button`,{type:`button`,className:WM.actionPill,onClick:s,disabled:VM(i,h,a),title:l(`auth_files.quota_refresh_hint`),children:[(0,H.jsx)(Cs,{size:13,className:h?WM.spinning:void 0}),l(`auth_files.quota_refresh_single`)]})]})]})}var qM=36e5,JM=24*qM,YM={weekly:14,session:3},XM=5;function ZM(e,t,n,r){if(!Number.isFinite(e)||!(t>0)||!(r>n)||Math.ceil((r-n)/t)+2>1e3)return[];let i=e+Math.ceil((n-e)/t)*t,a=[];for(;i-t<r;)a.push({startMs:i-t,endMs:i}),i+=t;return a}function QM(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}function $M(e){let t=new Date(QM(e));return t.setDate(t.getDate()-t.getDay()),t.getTime()}function eN(e,t,n){let r=YM[e],i=new Date(e===`weekly`?$M(n):QM(n));i.setDate(i.getDate()+t*(e===`weekly`?7:1));let a=i.getTime(),o=new Date(a);return o.setDate(o.getDate()+r),{startMs:a,endMs:o.getTime(),days:r}}function tN(e,t,n,r,i){let a=e.periodHours;if(e.anchorMs===null||!a||i===`session`&&a!==XM)return[];let o=n-t;if(o<=0)return[];let s=e=>(e-t)/o*100;return ZM(e.anchorMs,a*qM,t,n).map(t=>{let n=Math.max(0,s(t.startMs)),i=Math.min(100,s(t.endMs));if(i<=0||n>=100||i<=n)return null;let a=t.endMs<=r?`past`:t.startMs<=r?`live`:`next`;return{startMs:t.startMs,endMs:t.endMs,leftPercent:n,widthPercent:i-n,state:a,remaining:a===`live`&&t.endMs===e.anchorMs?e.remaining:null}}).filter(e=>e!==null)}function nN(e,t){let n=e.filter(e=>typeof e.resetAtMs==`number`&&Number.isFinite(e.resetAtMs));if(n.length===0)return null;let r=e=>typeof e.periodHours==`number`&&e.periodHours>0?e.periodHours:0,i=t===void 0?n:n.filter(e=>r(e)<=t);return(i.length>0?i:n).reduce((e,t)=>{let n=r(t)-r(e);return n===0?t.resetAtMs<e.resetAtMs?t:e:n>0?t:e})}function rN(e){return e.anchorMs!==null}var iN=e=>Math.min(100,Math.max(0,e));function aN(e){let{name:t,displayName:n,provider:r,quota:i,maxPeriodHours:a}=e,o={name:t,displayName:n,provider:r,anchorMs:null,periodHours:null,remaining:null,limits:[]};if(!i||i.status!==`success`)return o;if(r===`claude`||r===`codex`){let e=(i.windows??[]).filter(e=>typeof e.resetAtMs==`number`),t=nN(e,a);return t?{...o,anchorMs:t.resetAtMs??null,periodHours:t.periodHours??null,remaining:typeof t.usedPercent==`number`?iN(100-t.usedPercent):null,limits:e.filter(e=>typeof e.usedPercent==`number`).map(e=>({label:e.label??``,remaining:iN(100-e.usedPercent)}))}:o}if(r===`xai`){let e=i.billing;if(!e||e.periodType!==`weekly`||typeof e.resetAtMs!=`number`||!Number.isFinite(e.resetAtMs))return o;let t=typeof e.usagePercent==`number`?iN(100-e.usagePercent):null;return{...o,anchorMs:e.resetAtMs,periodHours:e.periodHours??168,remaining:t,limits:(e.productUsage??[]).map(e=>({label:e.product??``,remaining:typeof e.usagePercent==`number`?iN(100-e.usagePercent):null})).filter(e=>e.remaining!==null)}}if(r===`antigravity`){let e=(i.groups??[]).flatMap(e=>e.buckets??[]).filter(e=>typeof e.resetAtMs==`number`),t=nN(e,a);if(!t)return o;let n=e=>typeof e.remainingFraction==`number`?iN(Math.round(e.remainingFraction*100)):null;return{...o,anchorMs:t.resetAtMs??null,periodHours:t.periodHours??null,remaining:n(t),limits:e.map(e=>({label:e.label??``,remaining:n(e)})).filter(e=>e.remaining!==null)}}if(r===`kimi`){let e=(i.rows??[]).filter(e=>typeof e.resetAtMs==`number`),t=nN(e,a);if(!t)return o;let n=e=>e.limit>0?iN(Math.round((e.limit-e.used)/e.limit*100)):null;return{...o,anchorMs:t.resetAtMs??null,periodHours:t.periodHours??null,remaining:n(t),limits:e.map(e=>({label:e.label??``,remaining:n(e)})).filter(e=>e.remaining!==null)}}return o}var oN={timeline:`QuotaTimeline-module__timeline___WCTXL`,head:`QuotaTimeline-module__head___u4fSV`,title:`QuotaTimeline-module__title___2Z27g`,range:`QuotaTimeline-module__range___XLn9W`,controls:`QuotaTimeline-module__controls___PqNbq`,nav:`QuotaTimeline-module__nav___QxfPe`,modes:`QuotaTimeline-module__modes___7xT9o`,chart:`QuotaTimeline-module__chart___N7OxP`,empty:`QuotaTimeline-module__empty___0HP5I`,axis:`QuotaTimeline-module__axis___C3EoC`,lane:`QuotaTimeline-module__lane___zSZC1`,axisLabel:`QuotaTimeline-module__axisLabel___w0acY`,axisCells:`QuotaTimeline-module__axisCells___8KfD4`,axisCell:`QuotaTimeline-module__axisCell___10NSx`,axisWeekday:`QuotaTimeline-module__axisWeekday___lkS5X`,axisDate:`QuotaTimeline-module__axisDate___bxHvj`,laneHead:`QuotaTimeline-module__laneHead___t0-03`,laneTop:`QuotaTimeline-module__laneTop___I3-LV`,laneDot:`QuotaTimeline-module__laneDot___sSNpR`,laneName:`QuotaTimeline-module__laneName___26MaX`,lanePeriod:`QuotaTimeline-module__lanePeriod___7d5MF`,laneLimits:`QuotaTimeline-module__laneLimits___wbA3K`,laneLimit:`QuotaTimeline-module__laneLimit___GD2aZ`,track:`QuotaTimeline-module__track___f0X5S`,trackGrid:`QuotaTimeline-module__trackGrid___cIq61`,nowLine:`QuotaTimeline-module__nowLine___W7b6l`,window:`QuotaTimeline-module__window___Cpst9`,windowLive:`QuotaTimeline-module__windowLive___w4cNY`,windowNext:`QuotaTimeline-module__windowNext___R6YYa`,windowPast:`QuotaTimeline-module__windowPast___CLBpt`,windowFill:`QuotaTimeline-module__windowFill___57KH0`,windowLabel:`QuotaTimeline-module__windowLabel___dWzzW`,laneIdle:`QuotaTimeline-module__laneIdle___-tEF7`,legend:`QuotaTimeline-module__legend___dtxWe`,legendItem:`QuotaTimeline-module__legendItem___3YQO3`,swatch:`QuotaTimeline-module__swatch___PdVZj`,swatchLive:`QuotaTimeline-module__swatchLive___wxYVr`,swatchNext:`QuotaTimeline-module__swatchNext___whozo`,swatchPast:`QuotaTimeline-module__swatchPast___UAzz6`,legendNote:`QuotaTimeline-module__legendNote___W36HQ`},sN=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],cN=e=>String(e).padStart(2,`0`),lN=e=>{let t=new Date(e);return`${cN(t.getMonth()+1)}/${cN(t.getDate())}`},uN=e=>{let t=new Date(e);return`${cN(t.getHours())}:${cN(t.getMinutes())}`};function dN({entries:e,quotaFor:t,displayNameFor:n,resolvedTheme:r,now:i,initialMode:a=`weekly`}){let{t:o}=ss(),[s,c]=(0,y.useState)(a),[l,u]=(0,y.useState)(0),[d,f]=(0,y.useState)(()=>Date.now());(0,y.useEffect)(()=>{if(i!==void 0)return;let e=setInterval(()=>f(Date.now()),6e4);return()=>clearInterval(e)},[i]);let p=i??d,m=(0,y.useMemo)(()=>eN(s,l,p),[s,l,p]),h=(0,y.useMemo)(()=>e.map(e=>({name:e.file.name,displayName:n(e.file.name),provider:e.type,quota:t(e)})),[e,t,n]),g=(0,y.useMemo)(()=>h.some(e=>rN(aN(e))),[h]),_=(0,y.useMemo)(()=>h.map(e=>aN({...e,maxPeriodHours:s===`session`?5:m.days*24})).filter(e=>rN(e)&&(s!==`session`||e.periodHours===5)),[h,s,m.days]),v=(0,y.useMemo)(()=>{let e=s===`session`,t=e?m.days*4:m.days,n=(m.endMs-m.startMs)/t,r=new Date(p).setHours(0,0,0,0);return Array.from({length:t},(t,i)=>{let a=m.startMs+i*n,s=new Date(a),c=!e||s.getHours()===0;return{at:a,isDayStart:c,isToday:new Date(a).setHours(0,0,0,0)===r,isWeekend:s.getDay()===0||s.getDay()===6,weekday:o(`quota_management.weekday_${sN[s.getDay()]}`,{defaultValue:sN[s.getDay()]}),label:c?lN(a):`${cN(s.getHours())}:00`}})},[s,m,p,o]),b=p>=m.startMs&&p<m.endMs?(p-m.startMs)/(m.endMs-m.startMs)*100:null;return g?(0,H.jsxs)(`section`,{className:oN.timeline,children:[(0,H.jsxs)(`header`,{className:oN.head,children:[(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`h2`,{className:oN.title,children:o(`quota_management.windows_title`,{defaultValue:`Quota windows`})}),(0,H.jsxs)(`p`,{className:oN.range,children:[lN(m.startMs),` `,lN(m.endMs-JM),` · `,s===`weekly`?o(`quota_management.windows_span_weekly`,{defaultValue:`two weeks`}):o(`quota_management.windows_span_session`,{defaultValue:`three days`}),l===0&&` · ${o(`quota_management.windows_current`,{defaultValue:`current`})}`]})]}),(0,H.jsxs)(`div`,{className:oN.controls,children:[(0,H.jsxs)(`div`,{className:oN.nav,children:[(0,H.jsx)(`button`,{type:`button`,onClick:()=>u(e=>e-1),"aria-label":o(`quota_management.windows_prev`,{defaultValue:`Previous`}),children:``}),(0,H.jsx)(`button`,{type:`button`,onClick:()=>u(0),disabled:l===0,children:o(`quota_management.windows_today`,{defaultValue:`Today`})}),(0,H.jsx)(`button`,{type:`button`,onClick:()=>u(e=>e+1),"aria-label":o(`quota_management.windows_next`,{defaultValue:`Next`}),children:``})]}),(0,H.jsx)(`div`,{className:oN.modes,role:`group`,children:[`weekly`,`session`].map(e=>(0,H.jsx)(`button`,{type:`button`,"aria-pressed":s===e,onClick:()=>{c(e),u(0)},children:e===`weekly`?o(`quota_management.windows_mode_weekly`,{defaultValue:`Weekly`}):o(`quota_management.windows_mode_session`,{defaultValue:`5-hour`})},e))})]})]}),(0,H.jsx)(`div`,{className:oN.chart,children:_.length===0?(0,H.jsx)(`div`,{className:oN.empty,role:`status`,children:o(`quota_management.windows_empty_session`,{defaultValue:`No credentials on this page report a 5-hour quota window.`})}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`div`,{className:oN.axis,children:[(0,H.jsx)(`div`,{className:oN.axisLabel,children:o(`quota_management.windows_credential`,{defaultValue:`Credential`})}),(0,H.jsx)(`div`,{className:oN.axisCells,children:v.map(e=>(0,H.jsxs)(`div`,{className:oN.axisCell,"data-today":+!!e.isToday,"data-weekend":+!!e.isWeekend,"data-daystart":+!!e.isDayStart,children:[(0,H.jsx)(`span`,{className:oN.axisWeekday,children:e.isDayStart?e.weekday:``}),(0,H.jsx)(`span`,{className:oN.axisDate,children:e.label})]},e.at))})]}),_.map(e=>(0,H.jsx)(fN,{lane:e,span:m,now:p,mode:s,cells:v,nowPercent:b,resolvedTheme:r},e.name))]})}),_.length>0&&(0,H.jsxs)(`footer`,{className:oN.legend,children:[(0,H.jsxs)(`span`,{className:oN.legendItem,children:[(0,H.jsx)(`span`,{className:`${oN.swatch} ${oN.swatchLive}`}),o(`quota_management.windows_legend_current`,{defaultValue:`current window`})]}),(0,H.jsxs)(`span`,{className:oN.legendItem,children:[(0,H.jsx)(`span`,{className:`${oN.swatch} ${oN.swatchNext}`}),o(`quota_management.windows_legend_upcoming`,{defaultValue:`upcoming`})]}),(0,H.jsxs)(`span`,{className:oN.legendItem,children:[(0,H.jsx)(`span`,{className:`${oN.swatch} ${oN.swatchPast}`}),o(`quota_management.windows_legend_elapsed`,{defaultValue:`elapsed`})]}),(0,H.jsx)(`span`,{className:oN.legendNote,children:s===`weekly`?o(`quota_management.windows_note_weekly`,{defaultValue:`Each bar is one full quota window, drawn from when it opened to when it resets. Lanes ending together compete for the same days.`}):o(`quota_management.windows_note_session`,{defaultValue:`Each bar is one 5-hour window. Only credentials with a window counting down can be projected; the rest stay empty rather than invented.`})})]})]}):null}function fN({lane:e,span:t,now:n,mode:r,cells:i,nowPercent:a,resolvedTheme:o}){let{t:s}=ss(),c=(0,y.useMemo)(()=>tN(e,t.startMs,t.endMs,n,r),[e,t,n,r]),l=Wh[e.provider]||Wh.unknown,u=o===`dark`&&l.dark?l.dark:l.light,d=r===`session`?`5h`:e.periodHours?e.periodHours<24?`${Math.round(e.periodHours)}h`:`${Math.round(e.periodHours/24)}d`:``;return(0,H.jsxs)(`div`,{className:oN.lane,style:{"--provider-accent":u.text},children:[(0,H.jsxs)(`div`,{className:oN.laneHead,children:[(0,H.jsxs)(`div`,{className:oN.laneTop,children:[(0,H.jsx)(`span`,{className:oN.laneDot}),(0,H.jsx)(`span`,{className:oN.laneName,title:e.displayName,children:e.displayName}),d&&(0,H.jsx)(`span`,{className:oN.lanePeriod,children:d})]}),(0,H.jsx)(`div`,{className:oN.laneLimits,children:e.limits.map(e=>(0,H.jsxs)(`span`,{className:oN.laneLimit,children:[e.label,` `,(0,H.jsxs)(`b`,{children:[e.remaining,`%`]})]},e.label))})]}),(0,H.jsxs)(`div`,{className:oN.track,children:[(0,H.jsx)(`div`,{className:oN.trackGrid,children:i.map(e=>(0,H.jsx)(`span`,{"data-weekend":+!!e.isWeekend,"data-daystart":+!!e.isDayStart},e.at))}),a!==null&&(0,H.jsx)(`div`,{className:oN.nowLine,style:{left:`${a}%`}}),c.length===0?(0,H.jsx)(`span`,{className:oN.laneIdle,children:s(`quota_management.windows_idle`,{defaultValue:`no window counting down`})}):c.map(t=>{let n=t.widthPercent>(r===`session`?4.5:9),i=r===`session`?uN(t.endMs):`${lN(t.endMs)} ${uN(t.endMs)}`;return(0,H.jsxs)(`div`,{className:`${oN.window} ${oN[`window${pN(t.state)}`]}`,style:{left:`${t.leftPercent}%`,width:`${t.widthPercent}%`},title:`${e.displayName}\n${lN(t.startMs)} ${uN(t.startMs)} → ${lN(t.endMs)} ${uN(t.endMs)}${t.remaining===null?``:`\n${t.remaining}% remaining`}`,children:[t.remaining!==null&&(0,H.jsx)(`span`,{className:oN.windowFill,style:{width:`${100-t.remaining}%`}}),n&&(0,H.jsxs)(`span`,{className:oN.windowLabel,children:[t.remaining===null?``:`${t.remaining}% · `,i]})]},t.startMs)})]})]})}var pN=e=>e.charAt(0).toUpperCase()+e.slice(1),mN=(e,t)=>Hk(e)[t];function hN(e){let{t}=ss(),n=Kc(e=>e.showNotification),r=Kc(e=>e.showConfirmation),[i,a]=(0,y.useState)(null);return{resettingQuotaName:i,refreshQuota:(0,y.useCallback)(async(r,a)=>{if(e||r.disabled||i===r.name||mN(a,r.name)?.status===`loading`)return;let o=nm(),s=Vk(a);s(e=>({...e,[r.name]:a.buildLoadingState()}));try{let e=await a.fetchQuota(r,t);rm(o,()=>{s(t=>({...t,[r.name]:a.buildSuccessState(e)})),n(t(`auth_files.quota_refresh_success`,{name:r.name}),`success`)})}catch(e){let i=e instanceof Error?e.message:t(`common.unknown_error`),c=qg(e);rm(o,()=>{s(e=>({...e,[r.name]:a.buildErrorState(i,c)})),n(t(`auth_files.quota_refresh_failed`,{name:r.name,message:i}),`error`)})}},[e,i,n,t]),resetQuota:(0,y.useCallback)((o,s)=>{let c=s.resetQuota;c&&(e||o.disabled||mN(s,o.name)?.status!==`loading`&&i!==o.name&&r({title:t(`codex_quota.reset_confirm_title`),message:t(`codex_quota.reset_confirm_message`,{name:o.name}),confirmText:t(`codex_quota.reset_confirm_button`),variant:`primary`,onConfirm:async()=>{let e=nm(),r=Vk(s);a(o.name);try{let i=await c(o,t);rm(e,()=>{r(e=>({...e,[o.name]:s.buildSuccessState(i)})),n(t(`codex_quota.reset_success`,{name:o.name}),`success`)})}catch(r){let i=r instanceof Error?r.message:t(`common.unknown_error`);rm(e,()=>{n(t(`codex_quota.reset_failed`,{name:o.name,message:i}),`error`)})}finally{a(e=>e===o.name?null:e)}}}))},[e,i,r,n,t])}}function gN(){let{t:e}=ss(),[t,n]=(0,y.useState)(!1),r=(0,y.useRef)(!1),i=(0,y.useRef)(0);return{batchLoading:t,loadQuota:(0,y.useCallback)(async t=>{if(r.current||t.length===0)return;r.current=!0;let a=++i.current,o=nm();n(!0);try{let n=new Map;t.forEach(e=>{let t=n.get(e.type)??[];t.push(e),n.set(e.type,t)}),await Promise.all(Array.from(n.entries()).map(async([t,n])=>{let r=Bk[t],s=Vk(r);rm(o,()=>{s(e=>{let t={...e};return n.forEach(({file:e})=>{t[e.name]=r.buildLoadingState()}),t})});let c=await Promise.all(n.map(async({file:t})=>{try{let n=await r.fetchQuota(t,e);return{name:t.name,status:`success`,data:n}}catch(n){let r=n instanceof Error?n.message:e(`common.unknown_error`);return{name:t.name,status:`error`,error:r,errorStatus:qg(n)}}}));a===i.current&&rm(o,()=>{s(t=>{let n={...t};return c.forEach(t=>{n[t.name]=t.status===`success`?r.buildSuccessState(t.data):r.buildErrorState(t.error||e(`common.unknown_error`),t.errorStatus)}),n})})}))}finally{a===i.current&&(n(!1),r.current=!1)}},[e])}}var _N=`quotaPage.uiState`,vN=new Set([`all`,...FM]),yN=e=>typeof e==`string`&&vN.has(e),bN=()=>{if(typeof window>`u`)return null;try{let e=window.sessionStorage.getItem(_N);if(!e)return null;let t=JSON.parse(e);return!t||typeof t!=`object`?null:{tab:yN(t.tab)?t.tab:void 0}}catch{return null}},xN=e=>{if(!(typeof window>`u`))try{window.sessionStorage.setItem(_N,JSON.stringify(e))}catch{}},SN={page:`QuotaPage-module__page___EOaHV`,workbench:`QuotaPage-module__workbench___M9KKY`,errorBanner:`QuotaPage-module__errorBanner___Fm4sj`,grid:`QuotaPage-module__grid___veEj-`,pagination:`QuotaPage-module__pagination___qj1Ew`,pageInfo:`QuotaPage-module__pageInfo___QnjRe`},CN=[`all`,...FM],wN=6,TN=e=>e;function EN(){let{t:e}=ss(),t=am(e=>e.connectionStatus),n=tl(e=>e.resolvedTheme),[r,i]=(0,y.useState)([]),[a,o]=(0,y.useState)(!0),[s,c]=(0,y.useState)(``),[l,u]=(0,y.useState)(()=>bN()?.tab??`all`),[d,f]=(0,y.useState)(1),p=rx(),m=t!==`connected`,h=(0,y.useCallback)(async()=>{o(!0),c(``);try{let e=await Dy.list();i(e?.files||[])}catch(t){let n=t instanceof Error?t.message:e(`notification.refresh_failed`);c(n)}finally{o(!1)}},[e]);Ah(h),(0,y.useEffect)(()=>{h()},[h]);let g=(0,y.useMemo)(()=>RM(r),[r]),_=(0,y.useMemo)(()=>BM(g),[g]),v=(0,y.useMemo)(()=>zM(g,l),[g,l]),{pageItems:b,currentPage:x,totalPages:S}=(0,y.useMemo)(()=>HM(v,d,20),[v,d]),C=(0,y.useCallback)(e=>{u(e),f(1),xN({tab:e})},[]),w=tm(e=>e.antigravityQuota),T=tm(e=>e.claudeQuota),E=tm(e=>e.codexQuota),D=tm(e=>e.kimiQuota),O=tm(e=>e.xaiQuota),k=(0,y.useMemo)(()=>({antigravity:w,claude:T,codex:E,kimi:D,xai:O}),[w,T,E,D,O]),A=(0,y.useCallback)(e=>k[e.type][e.file.name],[k]),{loadedCount:j,attentionCount:M}=(0,y.useMemo)(()=>{let e=0,t=0;return g.forEach(n=>{let r=k[n.type][n.file.name]?.status;r===`success`?e+=1:r===`error`&&(t+=1)}),{loadedCount:e,attentionCount:t}},[g,k]);(0,y.useEffect)(()=>{if(a)return;let e=new Map(FM.map(e=>[e,new Set]));g.forEach(t=>e.get(t.type)?.add(t.file.name)),FM.forEach(t=>{let n=e.get(t)??new Set;Vk(Bk[t])(e=>{let t=Object.keys(e).filter(e=>!n.has(e));if(t.length===0)return e;let r={...e};return t.forEach(e=>delete r[e]),r})})},[g,a]);let{batchLoading:N,loadQuota:ee}=gN(),{resettingQuotaName:P,refreshQuota:F,resetQuota:I}=hN(m),L=(0,y.useRef)(!1),R=(0,y.useRef)(a),z=(0,y.useCallback)(()=>{m||(L.current=!0,h())},[m,h]);(0,y.useEffect)(()=>{let e=R.current;R.current=a,L.current&&(a||!e||(L.current=!1,ee(b)))},[a,ee,b]);let te=!m&&!a,[B,V]=(0,y.useState)(!1),ne=!B&&!a&&b.length>0;(0,y.useEffect)(()=>{ne&&V(!0)},[ne]);let re=e=>ne?b.length<=1?0:Math.round(e/(b.length-1)*360):null,ie=!a&&v.length===0;return(0,H.jsxs)(`div`,{className:SN.page,ref:p,children:[(0,H.jsx)(PM,{totalCount:g.length,loadedCount:j,attentionCount:M,refreshing:a||N,disableControls:m,onRefreshAll:z}),(0,H.jsxs)(`section`,{className:SN.workbench,children:[(0,H.jsx)(`div`,{"data-reveal":!0,children:(0,H.jsx)(kA,{types:CN,counts:_,active:l,resolvedTheme:n,onChange:C})}),s&&(0,H.jsx)(`div`,{className:SN.errorBanner,role:`alert`,children:s}),a?(0,H.jsx)(`div`,{className:SN.grid,"aria-hidden":`true`,children:Array.from({length:wN},(e,t)=>(0,H.jsx)(ux,{height:168,rounded:14},t))}):ie?(0,H.jsx)(ZD,{title:e(l===`all`?`quota_management.empty_title`:`${Bk[l].i18nPrefix}.empty_title`),description:e(l===`all`?`quota_management.empty_desc`:`${Bk[l].i18nPrefix}.empty_desc`),action:l===`all`?void 0:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>C(`all`),children:e(`auth_files.filter_all`)})}):(0,H.jsx)(`div`,{className:SN.grid,children:b.map((e,t)=>(0,H.jsx)(KM,{entry:e,quota:A(e),resolvedTheme:n,canRefresh:te&&!e.file.disabled,resetting:P===e.file.name,entranceDelayMs:re(t),onRefresh:()=>void F(e.file,Bk[e.type]),onReset:()=>I(e.file,Bk[e.type])},`${e.type}:${e.file.name}`))}),!a&&v.length>20&&(0,H.jsxs)(`div`,{className:SN.pagination,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>f(Math.max(1,x-1)),disabled:x<=1,children:e(`auth_files.pagination_prev`)}),(0,H.jsx)(`div`,{className:SN.pageInfo,children:e(`auth_files.pagination_info`,{current:x,total:S,count:v.length})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>f(Math.min(S,x+1)),disabled:x>=S,children:e(`auth_files.pagination_next`)})]}),(0,H.jsx)(dN,{entries:b,quotaFor:A,displayNameFor:TN,resolvedTheme:n})]})]})}var DN={page:`PluginResourcePage-module__page___Worp1`,frame:`PluginResourcePage-module__frame___vFTLX`,stateShell:`PluginResourcePage-module__stateShell___mvcAO`,statusPanel:`PluginResourcePage-module__statusPanel___hLEe6`},ON=(e,t)=>Tc(e)&&e.status===t,kN=(e=``)=>{try{return decodeURIComponent(e)}catch{return e}},AN=(e=``)=>{let t=Number.parseInt(e,10);return Number.isInteger(t)&&t>=0?t:-1};function jN(){let{t:e}=ss(),t=_r(),n=am(e=>e.connectionStatus),r=am(e=>e.apiBase),[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(!0),[c,l]=(0,y.useState)(``),u=n===`connected`,d=(0,y.useMemo)(()=>kN(t.pluginId),[t.pluginId]),f=(0,y.useMemo)(()=>AN(t.menuIndex),[t.menuIndex]),p=(0,y.useCallback)(async()=>{if(!u){s(!1),l(e(`notification.connection_required`));return}s(!0),l(``);try{let e=await eb.list();a(e)}catch(t){l(ON(t,404)?e(`plugin_management.unsupported_backend`):Ec(t,e(`plugin_resource.load_failed`)))}finally{s(!1)}},[u,e]);Ah(p,u),(0,y.useEffect)(()=>{p()},[p]),(0,y.useEffect)(()=>(window.addEventListener($j,p),()=>{window.removeEventListener($j,p)}),[p]);let m=(0,y.useMemo)(()=>fM(i?.plugins??[]).find(e=>e.pluginID===d&&e.menuIndex===f),[i?.plugins,f,d]),h=m?rM(m.menu.path,r):``;return(0,H.jsx)(`div`,{className:DN.page,children:o?(0,H.jsx)(`div`,{className:DN.stateShell,children:(0,H.jsx)(`div`,{className:DN.statusPanel,children:e(`common.loading`)})}):c?(0,H.jsx)(`div`,{className:DN.stateShell,children:(0,H.jsx)(ZD,{title:e(`plugin_resource.unavailable`),description:c})}):m?h?(0,H.jsx)(`iframe`,{className:DN.frame,src:h,title:m.label,referrerPolicy:`no-referrer`,allow:`clipboard-read; clipboard-write`}):(0,H.jsx)(`div`,{className:DN.stateShell,children:(0,H.jsx)(ZD,{title:e(`plugin_resource.empty_src`),description:e(`plugin_resource.empty_src_desc`)})}):(0,H.jsx)(`div`,{className:DN.stateShell,children:(0,H.jsx)(ZD,{title:e(`plugin_resource.not_found`),description:e(`plugin_resource.not_found_desc`)})})})}var MN=e=>e.type.trim().toLowerCase(),NN=e=>{if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}},PN=(e,t)=>{let n=MN(e);return n===`boolean`?t===!0:n===`array`||n===`object`?NN(t):t==null?``:String(t)};function FN(e,t){let n=typeof t.enabled==`boolean`?t.enabled:e.enabled,r=typeof t.priority==`number`||typeof t.priority==`string`?String(t.priority):`0`,i={};return e.configFields.forEach(e=>{i[e.name]=PN(e,t[e.name])}),{enabled:n,priority:r,values:i,errors:{},enabledTouched:!1,priorityTouched:!1,touchedFields:{}}}var IN=(e,t,n,r,i)=>{try{let a=JSON.parse(e);if(t===`array`&&!Array.isArray(a)){i[n]=r(`plugin_management.expected_array`);return}if(t===`object`&&!Tc(a)){i[n]=r(`plugin_management.expected_object`);return}return a}catch{i[n]=r(`plugin_management.invalid_json`);return}};function LN(e,t,n){let r={},i={};if(e.enabledTouched&&(i.enabled=e.enabled),e.priorityTouched){let t=e.priority.trim();t?/^-?\d+$/.test(t)?i.priority=Number.parseInt(t,10):r.priority=n(`plugin_management.invalid_priority`):i.priority=0}return t.forEach(t=>{if(!e.touchedFields[t.name])return;let a=MN(t),o=e.values[t.name];if(a===`boolean`){i[t.name]=o===!0;return}let s=typeof o==`string`?o.trim():``;if(!s){i[t.name]=null;return}if(a===`enum`){if(t.enumValues.length>0&&!t.enumValues.includes(s)){r[t.name]=n(`plugin_management.invalid_enum`);return}i[t.name]=s;return}if(a===`number`){let e=Number(s);if(!Number.isFinite(e)){r[t.name]=n(`plugin_management.invalid_number`);return}i[t.name]=e;return}if(a===`integer`){if(!/^-?\d+$/.test(s)){r[t.name]=n(`plugin_management.invalid_integer`);return}i[t.name]=Number.parseInt(s,10);return}if(a===`array`||a===`object`){let e=IN(s,a,t.name,n,r);r[t.name]||(i[t.name]=e);return}i[t.name]=s}),{patch:i,errors:r}}var RN=15e3,zN=500,BN=e=>new Promise(t=>{window.setTimeout(t,e)});async function VN(e,t,n=RN,r=zN){let i=Date.now()+n,a=await eb.list();for(;;){let n=a.plugins.find(t=>t.id===e)??null;if(n&&t(n,a))return{response:a,plugin:n,timedOut:!1};if(Date.now()>=i)return{response:a,plugin:n,timedOut:!0};await BN(Math.min(r,Math.max(0,i-Date.now()))),a=await eb.list()}}async function HN(e,t,n,r=RN,i=zN){let a=Date.now()+r,o=await tb.list();for(;;){let r=o.plugins.find(n=>n.id===e&&(!t||n.sourceId===t))??null;if(r&&n(r,o))return{response:o,plugin:r,timedOut:!1};if(Date.now()>=a)return{response:o,plugin:r,timedOut:!0};await BN(Math.min(i,Math.max(0,a-Date.now()))),o=await tb.list()}}var UN={page:`PluginsPage-module__page___CvQ2C`,pageHeader:`PluginsPage-module__pageHeader___QAQJM`,title:`PluginsPage-module__title___kbWp2`,description:`PluginsPage-module__description___rS8P3`,errorBox:`PluginsPage-module__errorBox___CXInm`,warningBox:`PluginsPage-module__warningBox___XGq99`,statusBar:`PluginsPage-module__statusBar___-NeAi`,statusPill:`PluginsPage-module__statusPill___KsCzj`,statusDot:`PluginsPage-module__statusDot___sWBOV`,statusDotOn:`PluginsPage-module__statusDotOn___7cgF3`,statusDotOff:`PluginsPage-module__statusDotOff___biyeH`,statusLabel:`PluginsPage-module__statusLabel___OJVc7`,statusValue:`PluginsPage-module__statusValue___wqQgp`,statusPathValue:`PluginsPage-module__statusPathValue___SCblH`,statusDivider:`PluginsPage-module__statusDivider___fJexN`,toolbar:`PluginsPage-module__toolbar___-cit2`,pluginList:`PluginsPage-module__pluginList___Jk4FJ`,pluginRow:`PluginsPage-module__pluginRow___-y4iX`,logoBox:`PluginsPage-module__logoBox___9Hy-r`,pluginInfo:`PluginsPage-module__pluginInfo___ODdnV`,pluginName:`PluginsPage-module__pluginName___uX3d7`,pluginId:`PluginsPage-module__pluginId___SjbKJ`,pluginMeta:`PluginsPage-module__pluginMeta___xa89L`,metaItem:`PluginsPage-module__metaItem___05Mg9`,metaPath:`PluginsPage-module__metaPath___JUDWR`,metaDot:`PluginsPage-module__metaDot___FpFyv`,badgeRow:`PluginsPage-module__badgeRow___USdlO`,badge:`PluginsPage-module__badge___2k1PE`,badgeSuccess:`PluginsPage-module__badgeSuccess___1yPJW`,badgeWarning:`PluginsPage-module__badgeWarning___ADHL9`,badgeMuted:`PluginsPage-module__badgeMuted___f-Gd9`,rowActions:`PluginsPage-module__rowActions___LvMkv`,iconLink:`PluginsPage-module__iconLink___ofzv1`,skeletonRow:`PluginsPage-module__skeletonRow___BCdYy`,skeletonAvatar:`PluginsPage-module__skeletonAvatar___qfNzu`,skeletonPulse:`PluginsPage-module__skeletonPulse___FskV9`,skeletonText:`PluginsPage-module__skeletonText___PKTOA`,skeletonLine:`PluginsPage-module__skeletonLine___91eQ6`,sheetFooter:`PluginsPage-module__sheetFooter___IZQM-`,configForm:`PluginsPage-module__configForm___acXwo`,formSection:`PluginsPage-module__formSection___J8eP4`,fieldRow:`PluginsPage-module__fieldRow___-q2Wa`,fieldText:`PluginsPage-module__fieldText___KkAH-`,fieldLabel:`PluginsPage-module__fieldLabel___3on7I`,fieldDescription:`PluginsPage-module__fieldDescription___JEDFJ`,fieldHint:`PluginsPage-module__fieldHint___MyVVK`,formField:`PluginsPage-module__formField___-MDet`,textarea:`PluginsPage-module__textarea___DVGj3`,fieldError:`PluginsPage-module__fieldError___ekayR`,emptyConfig:`PluginsPage-module__emptyConfig___lkfig`};function WN({src:e}){let[t,n]=(0,y.useState)(!1);return e&&!t?(0,H.jsx)(`img`,{src:e,alt:``,onError:()=>n(!0)}):(0,H.jsx)(bs,{size:18})}var GN=(e,t)=>Tc(e)&&e.status===t,KN=e=>Tc(e)&&e.restart_required===!0,qN=e=>Tc(e)&&(KN(e.details)||KN(e.data));function JN(){let{t:e}=ss(),t=pr(),n=am(e=>e.connectionStatus),r=am(e=>e.apiBase),i=jp(e=>e.clearCache),a=Kc(e=>e.showNotification),o=Kc(e=>e.showConfirmation),[s,c]=(0,y.useState)(null),[l,u]=(0,y.useState)(``),[d,f]=(0,y.useState)(!0),[p,m]=(0,y.useState)(``),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(null),[b,x]=(0,y.useState)(``),[S,C]=(0,y.useState)(``),[w,T]=(0,y.useState)(``),E=(0,y.useRef)(0),D=n===`connected`,O=(0,y.useCallback)(async()=>{if(!D){f(!1),m(e(`notification.connection_required`));return}f(!0),m(``);try{let e=await eb.list();c(e)}catch(t){m(GN(t,404)?e(`plugin_management.unsupported_backend`):Ec(t,e(`plugin_management.load_failed`)))}finally{f(!1)}},[D,e]),k=(0,y.useCallback)(async(e,t)=>{let n=await VN(e,(e,n)=>t?!n.pluginsEnabled||e.registered&&e.effectiveEnabled:!e.effectiveEnabled);return c(n.response),t&&!n.response.pluginsEnabled?`globalDisabled`:n.timedOut?`timeout`:`ready`},[]);Ah(O,D),(0,y.useEffect)(()=>{O()},[O]);let A=(0,y.useMemo)(()=>{let e=s?.plugins??[];return{discovered:e.length,registered:e.filter(e=>e.registered).length,configured:e.filter(e=>e.configured).length,effective:e.filter(e=>e.effectiveEnabled).length}},[s?.plugins]),j=(0,y.useMemo)(()=>{let e=l.trim().toLowerCase(),t=s?.plugins??[];return e?t.filter(t=>[t.id,t.path,t.metadata?.name,t.metadata?.author,t.metadata?.version,t.metadata?.githubRepository,...t.menus.map(e=>`${e.menu} ${e.path} ${e.description}`)].filter(Boolean).join(` `).toLowerCase().includes(e)):t},[s?.plugins,l]),M=(0,y.useCallback)(e=>rM(e,r),[r]),N=async t=>{if(w||b||S)return;let n=E.current+1;E.current=n,T(t.id),g(t),v(null);try{let e=await eb.getConfig(t.id);if(E.current!==n)return;v(FN(t,e))}catch(t){if(E.current!==n)return;g(null),v(null),a(GN(t,404)?e(`plugin_management.config_not_found`):`${e(`plugin_management.config_load_failed`)}: ${Ec(t,e(`plugin_management.config_load_failed`))}`,`error`)}finally{E.current===n&&T(``)}},ee=()=>{b||w||S||(g(null),v(null))},P=e=>{v(t=>t&&e(t))},F=async(t,n)=>{if(!S){x(t.id);try{await eb.updateEnabled(t.id,n),i();let r=await k(t.id,n);r===`ready`?(eM(),a(e(`plugin_management.toggle_success`),`success`)):a(e(r===`globalDisabled`?`plugin_management.global_disabled_hint`:`plugin_management.runtime_pending`),`warning`)}catch(t){a(`${e(`plugin_management.toggle_failed`)}: ${Ec(t,e(`plugin_management.toggle_failed`))}`,`error`)}finally{x(``)}}},I=t=>{if(!D||b||w||S)return;let n=tM(t);o({title:e(`plugin_management.delete_confirm_title`),message:e(`plugin_management.delete_confirm_message`,{name:n,id:t.id}),variant:`danger`,confirmText:e(`plugin_management.delete_plugin`),onConfirm:async()=>{C(t.id),x(t.id);try{let n=await eb.deletePlugin(t.id);i(),h?.id===t.id&&(g(null),v(null)),await O(),eM(),a(e(`plugin_management.delete_success`),`success`),n.restartRequired&&a(e(`plugin_management.delete_restart_required`),`warning`)}catch(t){let n=qN(t),r=e(n?`plugin_management.delete_restart_required`:`plugin_management.delete_failed`);a(`${e(`plugin_management.delete_failed`)}: ${Ec(t,r)}`,n?`warning`:`error`)}finally{C(``),x(``)}}})},L=async()=>{if(!h||!_||w||b||S)return;let{patch:t,errors:n}=LN(_,h.configFields,e);if(Object.keys(n).length>0){v({..._,errors:n}),a(e(`plugin_management.validation_failed`),`warning`);return}if(Object.keys(t).length===0){g(null),v(null),a(e(`plugin_management.save_success`),`success`);return}x(h.id);try{await eb.patchConfig(h.id,t),i();let n=typeof t.enabled==`boolean`&&t.enabled!==h.enabled?await k(h.id,t.enabled===!0):await O().then(()=>`ready`);n===`ready`&&eM(),g(null),v(null),n===`ready`?a(e(`plugin_management.save_success`),`success`):a(e(n===`globalDisabled`?`plugin_management.global_disabled_hint`:`plugin_management.runtime_pending`),`warning`)}catch(t){a(`${e(`plugin_management.save_failed`)}: ${Ec(t,e(`plugin_management.save_failed`))}`,`error`)}finally{x(``)}},R=e=>t=>{let n=t.target.value;P(t=>({...t,values:{...t.values,[e]:n},errors:{...t.errors,[e]:``},touchedFields:{...t.touchedFields,[e]:!0}}))},z=(e,t)=>{P(n=>({...n,values:{...n.values,[e]:t},errors:{...n.errors,[e]:``},touchedFields:{...n.touchedFields,[e]:!0}}))},te=e=>{let t=e.target.value;P(e=>({...e,priority:t,errors:{...e.errors,priority:``},priorityTouched:!0}))},B=t=>{if(!_)return null;let n=MN(t),r=_.values[t.name],i=typeof r==`string`?r:``,a=_.errors[t.name];return n===`boolean`?(0,H.jsxs)(`div`,{className:UN.fieldRow,children:[(0,H.jsxs)(`div`,{className:UN.fieldText,children:[(0,H.jsx)(`div`,{className:UN.fieldLabel,children:t.name}),t.description?(0,H.jsx)(`div`,{className:UN.fieldDescription,children:t.description}):null]}),(0,H.jsx)(Kw,{checked:r===!0,onChange:e=>z(t.name,e),ariaLabel:t.name})]},t.name):n===`enum`&&t.enumValues.length>0?(0,H.jsxs)(`div`,{className:UN.formField,children:[(0,H.jsx)(`label`,{htmlFor:`plugin-field-${t.name}`,children:t.name}),(0,H.jsx)(hc,{id:`plugin-field-${t.name}`,value:i,options:t.enumValues.map(e=>({value:e,label:e})),onChange:e=>P(n=>({...n,values:{...n.values,[t.name]:e},errors:{...n.errors,[t.name]:``},touchedFields:{...n.touchedFields,[t.name]:!0}})),placeholder:e(`plugin_management.select_placeholder`)}),t.description?(0,H.jsx)(`div`,{className:UN.fieldHint,children:t.description}):null,a?(0,H.jsx)(`div`,{className:UN.fieldError,children:a}):null]},t.name):n===`array`||n===`object`?(0,H.jsxs)(`div`,{className:UN.formField,children:[(0,H.jsx)(`label`,{htmlFor:`plugin-field-${t.name}`,children:t.name}),(0,H.jsx)(`textarea`,{id:`plugin-field-${t.name}`,className:UN.textarea,value:i,onChange:R(t.name),placeholder:n===`array`?`[]`:`{}`,spellCheck:!1}),t.description?(0,H.jsx)(`div`,{className:UN.fieldHint,children:t.description}):null,a?(0,H.jsx)(`div`,{className:UN.fieldError,children:a}):null]},t.name):(0,H.jsx)(us,{id:`plugin-field-${t.name}`,label:t.name,value:i,onChange:R(t.name),inputMode:n===`integer`||n===`number`?`decimal`:void 0,hint:t.description||void 0,error:a||void 0},t.name)},V=!!(h&&b===h.id);return(0,H.jsxs)(`div`,{className:UN.page,children:[(0,H.jsxs)(`div`,{className:UN.pageHeader,children:[(0,H.jsx)(`h1`,{className:UN.title,children:e(`plugin_management.title`)}),(0,H.jsx)(`p`,{className:UN.description,children:e(`plugin_management.description`)})]}),p?(0,H.jsx)(`div`,{className:UN.errorBox,children:p}):null,s&&!s.pluginsEnabled?(0,H.jsx)(`div`,{className:UN.warningBox,children:e(`plugin_management.global_disabled_hint`)}):null,s?(0,H.jsxs)(`div`,{className:UN.statusBar,children:[(0,H.jsxs)(`div`,{className:UN.statusPill,children:[(0,H.jsx)(`span`,{className:`${UN.statusDot} ${s.pluginsEnabled?UN.statusDotOn:UN.statusDotOff}`}),(0,H.jsx)(`span`,{className:UN.statusLabel,children:e(`plugin_management.global_status`)}),(0,H.jsx)(`span`,{className:UN.statusValue,children:s.pluginsEnabled?e(`plugin_management.global_enabled`):e(`plugin_management.global_disabled`)})]}),(0,H.jsx)(`span`,{className:UN.statusDivider}),(0,H.jsxs)(`div`,{className:UN.statusPill,children:[(0,H.jsx)(`span`,{className:UN.statusLabel,children:e(`plugin_management.plugins_dir`)}),(0,H.jsx)(`span`,{className:`${UN.statusValue} ${UN.statusPathValue}`,title:s.pluginsDir||`plugins`,children:s.pluginsDir||`plugins`})]}),(0,H.jsx)(`span`,{className:UN.statusDivider}),(0,H.jsxs)(`div`,{className:UN.statusPill,children:[(0,H.jsx)(`span`,{className:UN.statusLabel,children:e(`plugin_management.discovered`)}),(0,H.jsx)(`span`,{className:UN.statusValue,children:A.discovered})]}),(0,H.jsx)(`span`,{className:UN.statusDivider}),(0,H.jsxs)(`div`,{className:UN.statusPill,children:[(0,H.jsx)(`span`,{className:UN.statusLabel,children:e(`plugin_management.effective`)}),(0,H.jsxs)(`span`,{className:UN.statusValue,children:[A.effective,`/`,A.registered]})]})]}):null,(0,H.jsxs)(`div`,{className:UN.toolbar,children:[(0,H.jsx)(us,{type:`search`,value:l,onChange:e=>u(e.target.value),placeholder:e(`plugin_management.search_placeholder`),"aria-label":e(`plugin_management.search_label`),rightElement:(0,H.jsx)(Rs,{size:16})}),(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:O,disabled:!D||d||!!(b||S),loading:d,children:[(0,H.jsx)(Cs,{size:16}),e(`plugin_management.refresh`)]}),(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:()=>t(`/plugin-store`),children:[(0,H.jsx)(tc,{size:16}),e(`plugin_store.title`)]})]}),d?(0,H.jsx)(`div`,{className:UN.pluginList,children:Array.from({length:4},(e,t)=>(0,H.jsxs)(`div`,{className:UN.skeletonRow,children:[(0,H.jsx)(`div`,{className:UN.skeletonAvatar}),(0,H.jsxs)(`div`,{className:UN.skeletonText,children:[(0,H.jsx)(`div`,{className:UN.skeletonLine}),(0,H.jsx)(`div`,{className:UN.skeletonLine})]})]},t))}):j.length===0?(0,H.jsx)(ZD,{title:e(`plugin_management.no_plugins`),description:e(`plugin_management.no_plugins_desc`),action:(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:O,disabled:!D,children:[(0,H.jsx)(Cs,{size:16}),e(`plugin_management.refresh`)]})}):(0,H.jsx)(`div`,{className:UN.pluginList,children:j.map(t=>{let n=M(t.logo||t.metadata?.logo||``),r=t.metadata?.githubRepository.trim(),i=w===t.id,a=S===t.id,o=!!(b||w||S),s=t.metadata?.version,c=t.metadata?.author;return(0,H.jsxs)(`article`,{className:UN.pluginRow,children:[(0,H.jsx)(`div`,{className:UN.logoBox,"aria-hidden":`true`,children:(0,H.jsx)(WN,{src:n})}),(0,H.jsxs)(`div`,{className:UN.pluginInfo,children:[(0,H.jsxs)(`div`,{className:UN.pluginName,children:[(0,H.jsx)(`h2`,{children:tM(t)}),(0,H.jsxs)(`div`,{className:UN.badgeRow,children:[(0,H.jsx)(`span`,{className:t.effectiveEnabled?UN.badgeSuccess:UN.badgeMuted,children:t.effectiveEnabled?e(`plugin_management.status_effective`):e(`plugin_management.status_inactive`)}),(0,H.jsx)(`span`,{className:t.registered?UN.badge:UN.badgeWarning,children:t.registered?e(`plugin_management.registered`):e(`plugin_management.not_registered`)}),(0,H.jsx)(`span`,{className:t.configured?UN.badge:UN.badgeMuted,children:t.configured?e(`plugin_management.configured`):e(`plugin_management.not_configured`)}),t.supportsOAuth?(0,H.jsx)(`span`,{className:UN.badge,children:e(`plugin_management.oauth`)}):null]})]}),(0,H.jsx)(`span`,{className:UN.pluginId,children:t.id}),s||c||t.path?(0,H.jsxs)(`div`,{className:UN.pluginMeta,children:[s?(0,H.jsx)(`span`,{className:UN.metaItem,children:(0,H.jsx)(`strong`,{children:s})}):null,s&&c?(0,H.jsx)(`span`,{className:UN.metaDot,"aria-hidden":`true`}):null,c?(0,H.jsx)(`span`,{className:UN.metaItem,children:c}):null,(s||c)&&t.path?(0,H.jsx)(`span`,{className:UN.metaDot,"aria-hidden":`true`}):null,t.path?(0,H.jsx)(`span`,{className:`${UN.metaItem} ${UN.metaPath}`,title:t.path,children:t.path}):null]}):null]}),(0,H.jsxs)(`div`,{className:UN.rowActions,children:[(0,H.jsx)(Kw,{checked:t.enabled,onChange:e=>F(t,e),disabled:!D||o,ariaLabel:e(`plugin_management.enabled`)}),(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:()=>N(t),disabled:!D||o,loading:i,children:[(0,H.jsx)(ys,{size:14}),e(`plugin_management.edit_config`)]}),(0,H.jsxs)(U,{variant:`danger`,size:`sm`,onClick:()=>I(t),disabled:!D||o,loading:a,title:e(`plugin_management.delete_plugin`),"aria-label":e(`plugin_management.delete_plugin`),children:[(0,H.jsx)(Es,{size:14}),e(`plugin_management.delete_plugin`)]}),r?(0,H.jsx)(`a`,{className:UN.iconLink,href:r,target:`_blank`,rel:`noreferrer`,title:e(`plugin_management.open_repository`),"aria-label":e(`plugin_management.open_repository`),children:(0,H.jsx)(qs,{size:14})}):null]})]},t.id)})}),(0,H.jsx)(XT,{open:!!(h&&_),onClose:ee,size:`lg`,title:h?e(`plugin_management.config_title`,{name:tM(h)}):e(`plugin_management.edit_config`),description:h?.id,closeDisabled:V,footer:(0,H.jsxs)(`div`,{className:UN.sheetFooter,children:[(0,H.jsx)(U,{variant:`secondary`,onClick:ee,disabled:V,children:e(`common.cancel`)}),(0,H.jsx)(U,{onClick:L,loading:V,children:e(`common.save`)})]}),children:_&&h?(0,H.jsxs)(`div`,{className:UN.configForm,children:[(0,H.jsxs)(`section`,{className:UN.formSection,children:[(0,H.jsx)(`h3`,{children:e(`plugin_management.base_settings`)}),(0,H.jsxs)(`div`,{className:UN.fieldRow,children:[(0,H.jsxs)(`div`,{className:UN.fieldText,children:[(0,H.jsx)(`div`,{className:UN.fieldLabel,children:e(`plugin_management.enabled`)}),(0,H.jsx)(`div`,{className:UN.fieldDescription,children:e(`plugin_management.enabled_hint`)})]}),(0,H.jsx)(Kw,{checked:_.enabled,onChange:e=>P(t=>({...t,enabled:e,enabledTouched:!0})),ariaLabel:e(`plugin_management.enabled`)})]}),(0,H.jsx)(us,{label:e(`plugin_management.priority`),value:_.priority,onChange:te,inputMode:`numeric`,error:_.errors.priority||void 0})]}),(0,H.jsxs)(`section`,{className:UN.formSection,children:[(0,H.jsx)(`h3`,{children:e(`plugin_management.config_fields`)}),h.configFields.length>0?h.configFields.map(e=>B(e)):(0,H.jsx)(`div`,{className:UN.emptyConfig,children:e(`plugin_management.no_config_fields`)})]})]}):null})]})}var YN={gateModal:`PluginInstallGateModal-module__gateModal___ue7KG`,identity:`PluginInstallGateModal-module__identity___cMUhh`,logoBox:`PluginInstallGateModal-module__logoBox___if1mL`,name:`PluginInstallGateModal-module__name___EUXHi`,slug:`PluginInstallGateModal-module__slug___nUy93`,repoLink:`PluginInstallGateModal-module__repoLink___YkOrf`,source:`PluginInstallGateModal-module__source___nEQCo`,warningBanner:`PluginInstallGateModal-module__warningBanner___NeGNY`,effects:`PluginInstallGateModal-module__effects___3sPvx`,untrustedAlert:`PluginInstallGateModal-module__untrustedAlert___qDVbK`,untrustedText:`PluginInstallGateModal-module__untrustedText___oIwKQ`,originGrid:`PluginInstallGateModal-module__originGrid___YoESL`,confirmBlock:`PluginInstallGateModal-module__confirmBlock___L2Vcd`,confirmPrompt:`PluginInstallGateModal-module__confirmPrompt___zS8uB`,confirmHint:`PluginInstallGateModal-module__confirmHint___ZYG8r`};function XN({src:e}){let[t,n]=(0,y.useState)(!1);return e&&!t?(0,H.jsx)(`img`,{src:e,alt:``,onError:()=>n(!0)}):(0,H.jsx)(bs,{size:26})}function ZN({open:e,entry:t,isUpdate:n,installing:r,onClose:i,onConfirm:a}){let{t:o}=ss(),s=am(e=>e.apiBase),[c,l]=(0,y.useState)(1),[u,d]=(0,y.useState)(``),[f,p]=(0,y.useState)(!1);if(e!==f&&(p(e),e&&(l(1),d(``))),!t)return null;let m=t.name||t.id,h=sM(t.repository),g=iM(t.repository),_=h||t.id,v=dM(t),b=rM(t.logo,s),x=t.sourceName||t.sourceUrl,S=uM(t)?o(`plugin_store.cli_proxy_api_source`):x,C=u.trim()===v,w=()=>{r||i()},T=async()=>{try{await a()}catch{}},E=(0,H.jsxs)(`div`,{className:YN.identity,children:[(0,H.jsx)(`div`,{className:YN.logoBox,"aria-hidden":`true`,children:(0,H.jsx)(XN,{src:b})}),(0,H.jsx)(`h3`,{className:YN.name,children:m}),g?(0,H.jsxs)(`a`,{className:YN.repoLink,href:g,target:`_blank`,rel:`noreferrer`,title:o(`plugin_store.open_repository`),"aria-label":o(`plugin_store.open_repository`),children:[(0,H.jsx)(`span`,{children:_}),(0,H.jsx)(Js,{size:12})]}):(0,H.jsx)(`p`,{className:YN.slug,children:_}),S?(0,H.jsx)(`p`,{className:YN.source,children:o(`plugin_store.source_name`,{source:S})}):null]}),D,O;return c===1?(D=E,O=(0,H.jsx)(U,{variant:`secondary`,fullWidth:!0,onClick:()=>l(2),children:o(`plugin_store.gate_step1_action`)})):c===2?(D=(0,H.jsxs)(H.Fragment,{children:[E,(0,H.jsxs)(`div`,{className:YN.warningBanner,children:[(0,H.jsx)(js,{size:18}),(0,H.jsx)(`span`,{children:o(`plugin_store.gate_warning`)})]}),(0,H.jsxs)(`ul`,{className:YN.effects,children:[(0,H.jsx)(`li`,{children:o(`plugin_store.gate_effect_runs_code`)}),(0,H.jsx)(`li`,{children:o(`plugin_store.gate_effect_no_review`)}),(0,H.jsx)(`li`,{children:o(`plugin_store.gate_effect_restart`)})]}),(0,H.jsxs)(`div`,{className:YN.untrustedAlert,children:[(0,H.jsx)(`p`,{className:YN.untrustedText,children:o(`plugin_store.gate_untrusted_alert`)}),(0,H.jsxs)(`dl`,{className:YN.originGrid,children:[(0,H.jsx)(`dt`,{children:o(`plugin_store.gate_repository_label`)}),(0,H.jsx)(`dd`,{children:h||t.repository||`—`}),(0,H.jsx)(`dt`,{children:o(`plugin_store.gate_source_label`)}),(0,H.jsx)(`dd`,{children:S||`—`})]})]})]}),O=(0,H.jsx)(U,{variant:`secondary`,fullWidth:!0,onClick:()=>l(3),children:o(`plugin_store.gate_step2_action`)})):(D=(0,H.jsxs)(H.Fragment,{children:[E,(0,H.jsxs)(`div`,{className:YN.confirmBlock,children:[(0,H.jsx)(`label`,{className:YN.confirmPrompt,htmlFor:`plugin-gate-confirm`,children:o(`plugin_store.gate_step3_prompt`,{token:v})}),(0,H.jsx)(us,{id:`plugin-gate-confirm`,value:u,onChange:e=>d(e.target.value),autoComplete:`off`,spellCheck:!1,disabled:r,"aria-label":o(`plugin_store.gate_step3_prompt`,{token:v})}),(0,H.jsx)(`p`,{className:YN.confirmHint,children:o(`plugin_store.gate_step3_hint`)})]})]}),O=(0,H.jsx)(U,{variant:`danger`,fullWidth:!0,onClick:T,disabled:!C||r,loading:r,children:o(`plugin_store.gate_step3_action`)})),(0,H.jsx)(ym,{open:e,onClose:w,title:o(n?`plugin_store.gate_title_update`:`plugin_store.gate_title`,{name:m}),closeDisabled:r,footer:O,width:520,className:YN.gateModal,children:D})}var QN=`https://api.github.com`,$N=new Set([`github.com`,`www.github.com`]),eP=50,tP=e=>e.trim().toLowerCase()===`github-release`,nP=e=>e.replace(/\.git$/i,``),rP=e=>{let t=e.trim();if(!t)return``;if(/^https?:\/\//i.test(t))try{let e=new URL(t);if(!$N.has(e.hostname.toLowerCase()))return``;let[n=``,r=``]=e.pathname.replace(/^\/+/,``).split(`/`);return!n||!r?``:`${n}/${nP(r)}`}catch{return``}let[n=``,r=``]=t.replace(/^github\.com\//i,``).replace(/^\/+/,``).split(`/`);return!n||!r?``:`${n}/${nP(r)}`},iP=e=>{let t=rP(e);return t?`https://github.com/${t}/releases`:``},aP=e=>{let t=e.trim();return!!t&&/^[A-Za-z0-9][A-Za-z0-9._+-]{0,127}$/.test(t)},oP=e=>Array.isArray(e)?e.map(e=>Tc(e)&&typeof e.name==`string`?e.name.trim():``).filter(Boolean):[],sP=e=>{if(!Tc(e)||typeof e.tag_name!=`string`)return null;let t=e.tag_name.trim();return t?{tagName:t,name:typeof e.name==`string`?e.name.trim():``,publishedAt:typeof e.published_at==`string`?e.published_at:``,prerelease:e.prerelease===!0,htmlUrl:typeof e.html_url==`string`?e.html_url.trim():``,assetNames:oP(e.assets)}:null},cP=async e=>{let t=rP(e);if(!t)throw Error(`Repository is not a GitHub repository`);let n=await Rp.request({method:`GET`,url:`${QN}/repos/${t}/releases?per_page=${eP}`,header:{Accept:`application/vnd.github+json`,"X-GitHub-Api-Version":`2022-11-28`}});if(n.statusCode<200||n.statusCode>=300)throw Error(Lp(n));if(!Array.isArray(n.body))throw Error(`GitHub releases response is not a list`);return n.body.map(sP).filter(e=>!!e)},J={page:`PluginStorePage-module__page___rN2vB`,pageHeader:`PluginStorePage-module__pageHeader___a5hmM`,title:`PluginStorePage-module__title___QkQ1O`,description:`PluginStorePage-module__description___r173b`,errorBox:`PluginStorePage-module__errorBox___wObm5`,warningBox:`PluginStorePage-module__warningBox___m3Ra1`,sourceErrorList:`PluginStorePage-module__sourceErrorList___yirmz`,securityBanner:`PluginStorePage-module__securityBanner___OtvY-`,securityBannerText:`PluginStorePage-module__securityBannerText___eDLQ1`,statusBar:`PluginStorePage-module__statusBar___b8rzI`,statusPill:`PluginStorePage-module__statusPill___AN7oF`,statusDot:`PluginStorePage-module__statusDot___llMK6`,statusDotOn:`PluginStorePage-module__statusDotOn___cQMJQ`,statusDotOff:`PluginStorePage-module__statusDotOff___auyTL`,statusLabel:`PluginStorePage-module__statusLabel___0CDXB`,statusValue:`PluginStorePage-module__statusValue___Buecx`,statusPathValue:`PluginStorePage-module__statusPathValue___gU-aN`,statusDivider:`PluginStorePage-module__statusDivider___0N7N9`,toolbar:`PluginStorePage-module__toolbar___Z-Caf`,filterChips:`PluginStorePage-module__filterChips___IS9vp`,filterChip:`PluginStorePage-module__filterChip___GUJrG`,filterChipActive:`PluginStorePage-module__filterChipActive___ej1JK`,filterChipCount:`PluginStorePage-module__filterChipCount___YmS7u`,cardGrid:`PluginStorePage-module__cardGrid___fnYwp`,card:`PluginStorePage-module__card___T-2ZC`,cardHeader:`PluginStorePage-module__cardHeader___ApM1k`,logoBox:`PluginStorePage-module__logoBox___h82gm`,cardTitleBlock:`PluginStorePage-module__cardTitleBlock___6IWjb`,cardTitle:`PluginStorePage-module__cardTitle___iD68r`,cardId:`PluginStorePage-module__cardId___W5pBu`,cardBadges:`PluginStorePage-module__cardBadges___mWJO0`,badge:`PluginStorePage-module__badge___4g24a`,badgeSuccess:`PluginStorePage-module__badgeSuccess___wg0Ot`,badgeWarning:`PluginStorePage-module__badgeWarning___xHNML`,badgeUntrusted:`PluginStorePage-module__badgeUntrusted___Wjoz1`,cardDesc:`PluginStorePage-module__cardDesc___jQ-NX`,cardDescBlock:`PluginStorePage-module__cardDescBlock___yUsqR`,cardDescExpanded:`PluginStorePage-module__cardDescExpanded___A3Tfg`,cardDescToggle:`PluginStorePage-module__cardDescToggle___zYFf8`,cardMeta:`PluginStorePage-module__cardMeta___vVo9C`,metaItem:`PluginStorePage-module__metaItem___kRo15`,metaDot:`PluginStorePage-module__metaDot___MB3Eg`,tagRow:`PluginStorePage-module__tagRow___E6-yD`,tag:`PluginStorePage-module__tag___HqCio`,cardFooter:`PluginStorePage-module__cardFooter___2L0tU`,cardActions:`PluginStorePage-module__cardActions___Ks10I`,cardLinks:`PluginStorePage-module__cardLinks___SkIwi`,iconLink:`PluginStorePage-module__iconLink___Bv605`,installOptions:`PluginStorePage-module__installOptions___OLaer`,installMessage:`PluginStorePage-module__installMessage___j08Jl`,installVersionField:`PluginStorePage-module__installVersionField___O2EFR`,installVersionLabel:`PluginStorePage-module__installVersionLabel___9EWCy`,installVersionModes:`PluginStorePage-module__installVersionModes___kzcLd`,installVersionMode:`PluginStorePage-module__installVersionMode___0bb7i`,installVersionModeActive:`PluginStorePage-module__installVersionModeActive___Zvnf2`,installVersionModeDisabled:`PluginStorePage-module__installVersionModeDisabled___f34mS`,installVersionModeText:`PluginStorePage-module__installVersionModeText___7Md-1`,installVersionPanel:`PluginStorePage-module__installVersionPanel___--Okp`,installVersionHint:`PluginStorePage-module__installVersionHint___0KAz6`,installVersionWarning:`PluginStorePage-module__installVersionWarning___fmxUK`,installVersionCheckbox:`PluginStorePage-module__installVersionCheckbox___JnlKK`,installReleaseLink:`PluginStorePage-module__installReleaseLink___TE77I`,installDialogActions:`PluginStorePage-module__installDialogActions___ea-PN`,skeletonCard:`PluginStorePage-module__skeletonCard___QXKVq`,skeletonHeader:`PluginStorePage-module__skeletonHeader___joNtm`,skeletonAvatar:`PluginStorePage-module__skeletonAvatar___bmFWM`,skeletonPulse:`PluginStorePage-module__skeletonPulse___TfDaw`,skeletonText:`PluginStorePage-module__skeletonText___JE5Eo`,skeletonLine:`PluginStorePage-module__skeletonLine___Nyb3e`,skeletonBody:`PluginStorePage-module__skeletonBody___Zy7HX`},lP=e=>Tc(e)&&typeof e.status==`number`?e.status:void 0,uP=e=>{if(!Tc(e)||!Tc(e.details))return``;let t=e.details.message;return typeof t==`string`?t.trim():``},dP=2,fP=e=>e.name||e.id,pP=e=>e.storeId||e.id,mP=e=>`plugin-store-desc-${encodeURIComponent(e)}`,hP=e=>e.trim().replace(/^v/i,``),gP=e=>{let t=e.trim();return t?/^v/i.test(t)?t:`v${t}`:``},_P=(e,t)=>hP(e)===hP(t),vP=e=>e.trim().split(`-`).map(e=>e&&`${e[0].toUpperCase()}${e.slice(1)}`).join(` `),yP=new Map,bP=(e,t)=>{if(!e)return``;let n=new Date(e);return Number.isNaN(n.getTime())?``:new Intl.DateTimeFormat(t,{year:`numeric`,month:`2-digit`,day:`2-digit`}).format(n)};function xP({src:e}){let[t,n]=(0,y.useState)(!1);return e&&!t?(0,H.jsx)(`img`,{src:e,alt:``,onError:()=>n(!0)}):(0,H.jsx)(bs,{size:18})}function SP({entry:e,isUpdate:t,version:n,installing:r,onVersionChange:i,onClose:a,onConfirm:o}){let{i18n:s,t:c}=ss(),[l,u]=(0,y.useState)(`latest`),[d,f]=(0,y.useState)(!1),[p,m]=(0,y.useState)([]),[h,g]=(0,y.useState)(!1),[_,v]=(0,y.useState)(``),[b,x]=(0,y.useState)(``),S=e?pP(e):``,C=e?.repository??``,w=e?tP(e.installType):!1,T=e&&w?iP(e.repository):``,E=S?`${S}|${C.trim()}|${e?.installType.trim().toLowerCase()??``}`:``;if(E!==b){let e=E?yP.get(E):void 0;x(E),u(`latest`),f(!1),m(e??[]),v(S&&w&&!T?c(`plugin_store.install_version_non_github`):``),g(!!(S&&w&&T&&!e))}(0,y.useEffect)(()=>{if(!S||!w||!T||yP.has(E))return;let e=!0;return cP(C).then(t=>{e&&(yP.set(E,t),m(t))}).catch(t=>{e&&v(Ec(t,c(`plugin_store.install_versions_load_failed`)))}).finally(()=>{e&&g(!1)}),()=>{e=!1}},[S,C,E,T,w,c]);let D=(0,y.useMemo)(()=>p.filter(e=>!e.prerelease),[p]),O=(0,y.useMemo)(()=>d?p:p.filter(e=>!e.prerelease),[p,d]),k=D[0]??p[0]??null,A=(0,y.useMemo)(()=>O.map(e=>{let t=[e.name&&e.name!==e.tagName?`${e.tagName} - ${e.name}`:e.tagName,bP(e.publishedAt,s.language),e.prerelease?c(`plugin_store.install_version_prerelease_badge`):``,e.assetNames.length>0?c(`plugin_store.install_version_assets_count`,{count:e.assetNames.length}):``].filter(Boolean);return{value:e.tagName,label:t.join(` · `)}}),[s.language,c,O]);if((0,y.useEffect)(()=>{if(!(!w||l!==`release`)){if(O.length===0){n&&i(``);return}O.some(e=>e.tagName===n)||i(O[0].tagName)}},[i,w,n,l,O]),!e)return null;let j=c(t?`plugin_store.update_confirm_title`:`plugin_store.install_confirm_title`),M=!w||l===`latest`?``:n.trim(),N=M||e.version,ee=N?`${fP(e)} ${gP(N)}`:fP(e),P=c(t?`plugin_store.update_confirm_message`:`plugin_store.install_confirm_message`,{target:ee}),F=e.version?gP(e.version):k?gP(k.tagName):c(`plugin_store.install_version_latest`),I=p.some(e=>e.prerelease),L=r||h&&p.length===0,R=w&&l===`manual`&&!!n.trim()&&!aP(n),z=!!M&&!!e.installedVersion&&_P(e.installedVersion,M),te=w&&l===`release`&&!M||w&&l===`manual`&&!aP(n)||z,B=e=>{if(!r&&!(!w&&e!==`latest`)){if(u(e),e===`latest`){i(``);return}if(e===`release`){i(O[0]?.tagName??``);return}i(``)}},V=()=>{r||a()};return(0,H.jsx)(ym,{open:!!e,onClose:V,title:j,closeDisabled:r,children:(0,H.jsxs)(`div`,{className:J.installOptions,children:[(0,H.jsx)(`p`,{className:J.installMessage,children:P}),(0,H.jsxs)(`div`,{className:J.installVersionField,children:[(0,H.jsx)(`span`,{className:J.installVersionLabel,id:`plugin-store-install-version-mode`,children:c(`plugin_store.install_version_label`)}),(0,H.jsxs)(`div`,{className:J.installVersionModes,role:`radiogroup`,"aria-labelledby":`plugin-store-install-version-mode`,children:[(0,H.jsxs)(`label`,{className:`${J.installVersionMode} ${l===`latest`?J.installVersionModeActive:``} ${r?J.installVersionModeDisabled:``}`,children:[(0,H.jsx)(`input`,{type:`radio`,name:`plugin-store-install-version-mode`,checked:l===`latest`,onChange:()=>B(`latest`),disabled:r}),(0,H.jsxs)(`span`,{className:J.installVersionModeText,children:[(0,H.jsx)(`strong`,{children:c(`plugin_store.install_version_latest_mode`)}),(0,H.jsx)(`small`,{children:c(`plugin_store.install_version_latest_hint`,{version:F})})]})]}),w?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`label`,{className:`${J.installVersionMode} ${l===`release`?J.installVersionModeActive:``} ${L?J.installVersionModeDisabled:``}`,children:[(0,H.jsx)(`input`,{type:`radio`,name:`plugin-store-install-version-mode`,checked:l===`release`,onChange:()=>B(`release`),disabled:L}),(0,H.jsxs)(`span`,{className:J.installVersionModeText,children:[(0,H.jsx)(`strong`,{children:c(`plugin_store.install_version_release_mode`)}),(0,H.jsx)(`small`,{children:c(h?`plugin_store.install_versions_loading`:`plugin_store.install_version_release_hint`)})]})]}),(0,H.jsxs)(`label`,{className:`${J.installVersionMode} ${l===`manual`?J.installVersionModeActive:``} ${r?J.installVersionModeDisabled:``}`,children:[(0,H.jsx)(`input`,{type:`radio`,name:`plugin-store-install-version-mode`,checked:l===`manual`,onChange:()=>B(`manual`),disabled:r}),(0,H.jsxs)(`span`,{className:J.installVersionModeText,children:[(0,H.jsx)(`strong`,{children:c(`plugin_store.install_version_manual_mode`)}),(0,H.jsx)(`small`,{children:c(`plugin_store.install_version_manual_hint`)})]})]})]}):null]}),w&&l===`release`?(0,H.jsxs)(`div`,{className:J.installVersionPanel,children:[_?(0,H.jsxs)(`p`,{className:J.installVersionWarning,children:[c(`plugin_store.install_versions_load_failed`),`: `,_]}):null,!h&&!_&&p.length===0?(0,H.jsx)(`p`,{className:J.installVersionHint,children:c(`plugin_store.install_versions_empty`)}):null,!h&&!_&&p.length>0&&O.length===0?(0,H.jsx)(`p`,{className:J.installVersionHint,children:c(`plugin_store.install_versions_only_prerelease`)}):null,(0,H.jsx)(hc,{value:n,options:A,onChange:i,placeholder:c(`plugin_store.install_version_release_placeholder`),disabled:r||h||A.length===0,ariaLabel:c(`plugin_store.install_version_release_select`)}),I?(0,H.jsxs)(`label`,{className:J.installVersionCheckbox,children:[(0,H.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked),disabled:r}),(0,H.jsx)(`span`,{children:c(`plugin_store.install_version_show_prerelease`)})]}):null]}):null,w&&l===`manual`?(0,H.jsxs)(`div`,{className:J.installVersionPanel,children:[(0,H.jsx)(us,{id:`plugin-store-install-version`,value:n,onChange:e=>i(e.target.value),placeholder:c(`plugin_store.install_version_manual_placeholder`),disabled:r,autoComplete:`off`,spellCheck:!1,"aria-invalid":R}),R?(0,H.jsx)(`p`,{className:J.installVersionWarning,children:c(`plugin_store.install_version_manual_error`)}):null]}):null,z?(0,H.jsx)(`p`,{className:J.installVersionWarning,children:c(`plugin_store.install_version_current_selected`,{version:gP(e.installedVersion)})}):null,w&&T?(0,H.jsxs)(`a`,{className:J.installReleaseLink,href:T,target:`_blank`,rel:`noreferrer`,children:[c(`plugin_store.install_version_releases_link`),(0,H.jsx)(Js,{size:12})]}):null]}),(0,H.jsxs)(`div`,{className:J.installDialogActions,children:[(0,H.jsx)(U,{variant:`ghost`,onClick:V,disabled:r,children:c(`common.cancel`)}),(0,H.jsx)(U,{variant:lM(e)?`primary`:`danger`,onClick:o,disabled:te,loading:r,children:c(t?`plugin_store.update`:`plugin_store.install`)})]})]})})}function CP(){let{t:e}=ss(),t=pr(),n=am(e=>e.connectionStatus),r=am(e=>e.apiBase),i=jp(e=>e.clearCache),a=Kc(e=>e.showNotification),[o,s]=(0,y.useState)(null),[c,l]=(0,y.useState)(!0),[u,d]=(0,y.useState)(null),[f,p]=(0,y.useState)(``),[m,h]=(0,y.useState)(`all`),[g,_]=(0,y.useState)(``),[v,b]=(0,y.useState)([]),[x,S]=(0,y.useState)([]),[C,w]=(0,y.useState)([]),T=(0,y.useRef)({}),[E,D]=(0,y.useState)(!1),[O,k]=(0,y.useState)(null),[A,j]=(0,y.useState)(!1),[M,N]=(0,y.useState)(``),[ee,P]=(0,y.useState)(null),[F,I]=(0,y.useState)(!1),[L,R]=(0,y.useState)(``),z=n===`connected`,te=(0,y.useCallback)(async()=>{if(!z){l(!1),d({kind:`generic`,message:e(`notification.connection_required`)});return}l(!0),d(null);try{let e=await tb.list();s(e)}catch(t){let n=lP(t);if(n===404)d({kind:`unsupported`,message:e(`plugin_store.unsupported_backend`)});else if(n===502){let n=uP(t);d({kind:`registry`,message:n?`${e(`plugin_store.registry_failed`)}: ${n}`:e(`plugin_store.registry_failed`)})}else d({kind:`generic`,message:Ec(t,e(`plugin_store.load_failed`))})}finally{l(!1)}},[z,e]);Ah(te,z),(0,y.useEffect)(()=>{te()},[te]);let B=(0,y.useMemo)(()=>{let e=o?.plugins??[],t=e.filter(e=>e.installed).length;return{total:e.length,installed:t,notInstalled:e.length-t,updates:e.filter(e=>e.installed&&e.updateAvailable).length}},[o?.plugins]),V=(0,y.useMemo)(()=>{let e=(o?.plugins??[]).filter(e=>m===`installed`?e.installed:m===`notInstalled`?!e.installed:m!==`updates`||e.installed&&e.updateAvailable),t=f.trim().toLowerCase();return t?e.filter(e=>[e.id,e.name,e.description,e.author,e.repository,e.sourceName,e.sourceUrl,e.license,...e.tags].filter(Boolean).join(` `).toLowerCase().includes(t)):e},[o?.plugins,f,m]),ne=[{key:`all`,label:e(`plugin_store.filter_all`),count:B.total},{key:`installed`,label:e(`plugin_store.filter_installed`),count:B.installed},{key:`notInstalled`,label:e(`plugin_store.filter_not_installed`),count:B.notInstalled},{key:`updates`,label:e(`plugin_store.filter_updates`),count:B.updates}],re=v.map(e=>{let t=o?.plugins.find(t=>pP(t)===e);return t?fP(t):e}),ie=!!f.trim()||m!==`all`,ae=(0,y.useMemo)(()=>new Set(x),[x]),oe=(0,y.useMemo)(()=>new Set(C),[C]),se=(0,y.useCallback)((e,t)=>{t?T.current[e]=t:delete T.current[e]},[]),ce=(0,y.useCallback)(()=>{let e=Object.entries(T.current).filter(([,e])=>{if(!e)return!1;let t=window.getComputedStyle(e),n=Number.parseFloat(t.lineHeight);return!Number.isFinite(n)||n<=0?e.scrollHeight>e.clientHeight+1:e.scrollHeight>n*dP+1}).map(([e])=>e);w(t=>t.length===e.length&&t.every(t=>e.includes(t))?t:e)},[]);(0,y.useEffect)(()=>{let e=window.requestAnimationFrame(ce);return()=>{window.cancelAnimationFrame(e)}},[ce,V]),(0,y.useEffect)(()=>{let e=()=>{window.requestAnimationFrame(ce)};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[ce]);let le=(0,y.useCallback)(e=>{S(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),ue=(0,y.useCallback)(async(t,n,r=``)=>{let o=pP(t),c=n?`plugin_store.update_failed`:`plugin_store.install_failed`,l=r.trim();_(o);try{let r=await tb.install(t.id,{sourceId:t.sourceId||void 0,version:l||void 0});i();let c=r.sourceId||t.sourceId,u=await HN(t.id,c,e=>e.installed&&e.configured&&(!l||_P(e.installedVersion,l)));if(s(u.response),u.timedOut||!u.plugin?.installed||!u.plugin.configured){a(e(`plugin_store.status_pending`),`warning`);return}if(r.restartRequired){b(e=>e.includes(o)?e:[...e,o]),a(e(n?`plugin_store.update_success`:`plugin_store.install_success`),`success`),a(e(`plugin_store.restart_required_notice`),`warning`);return}if(!u.response.pluginsEnabled){a(e(n?`plugin_store.update_success`:`plugin_store.install_success`),`success`),a(e(`plugin_store.global_disabled_hint`),`warning`);return}if(u.plugin.enabled){let n=await HN(t.id,c,e=>e.registered&&e.effectiveEnabled);if(s(n.response),n.timedOut||!n.plugin?.registered||!n.plugin.effectiveEnabled){a(e(`plugin_store.registration_pending`),`warning`);return}eM()}a(e(n?`plugin_store.update_success`:`plugin_store.install_success`),`success`)}catch(t){throw a(`${e(c)}: ${Ec(t,e(c))}`,`error`),t}finally{_(``)}},[i,a,e]),de=e=>{let t=e.installed&&e.updateAvailable;P(e),I(t),R(``)},fe=(0,y.useCallback)(()=>{g||(P(null),R(``))},[g]),pe=(0,y.useCallback)(async()=>{if(!ee)return;let e=L.trim();if(!lM(ee)){k(ee),j(F),N(e),D(!0),P(null),R(``);return}try{await ue(ee,F,e),P(null),R(``)}catch{}},[ee,F,L,ue]),me=(0,y.useCallback)(async()=>{O&&(await ue(O,A,M),D(!1),N(``))},[O,A,M,ue]),he=(0,y.useCallback)(()=>{D(!1),N(``)},[]),ge=n=>{let i=pP(n),a=rM(n.logo,r),o=iM(n.repository),s=/^https?:\/\//i.test(n.homepage)?n.homepage:``,c=n.installed&&n.updateAvailable,l=lM(n),u=c&&n.installedVersion&&n.version?e(`plugin_store.version_arrow`,{from:n.installedVersion,to:n.version}):n.installed&&n.installedVersion?`v${n.installedVersion}`:n.version?`v${n.version}`:``,d=uM(n)?e(`plugin_store.cli_proxy_api_source`):n.sourceName,f=[u,d?e(`plugin_store.source_name`,{source:d}):``,n.author,n.license].filter(Boolean),p=g===i,m=!!g,h=n.authRequired&&!n.authConfigured,_=ae.has(i),v=oe.has(i),y=mP(i),b=n.installType?vP(n.installType):``,x=n.platforms.length>0?e(`plugin_store.platforms`,{platforms:n.platforms.map(e=>`${e.goos}/${e.goarch}`).join(`, `)}):``,S=n.authRequired?n.authConfigured?e(`plugin_store.auth_configured`):e(`plugin_store.auth_required`):``,C=!z||h||m&&!p,w=h?e(`plugin_store.auth_required_hint`):void 0;return(0,H.jsxs)(`article`,{className:J.card,children:[(0,H.jsxs)(`div`,{className:J.cardHeader,children:[(0,H.jsx)(`div`,{className:J.logoBox,"aria-hidden":`true`,children:(0,H.jsx)(xP,{src:a})}),(0,H.jsxs)(`div`,{className:J.cardTitleBlock,children:[(0,H.jsx)(`h2`,{className:J.cardTitle,children:fP(n)}),(0,H.jsx)(`span`,{className:J.cardId,children:n.id})]}),(0,H.jsxs)(`div`,{className:J.cardBadges,children:[l?null:(0,H.jsxs)(`span`,{className:J.badgeUntrusted,children:[(0,H.jsx)(js,{size:11}),e(`plugin_store.badge_untrusted`)]}),c?(0,H.jsx)(`span`,{className:J.badgeWarning,children:e(`plugin_store.badge_update`)}):n.installed?(0,H.jsx)(`span`,{className:J.badgeSuccess,children:e(`plugin_store.badge_installed`)}):null,n.installed&&n.effectiveEnabled?(0,H.jsx)(`span`,{className:J.badge,children:e(`plugin_store.badge_effective`)}):null,n.authRequired?(0,H.jsx)(`span`,{className:n.authConfigured?J.badge:J.badgeWarning,children:S}):null]})]}),n.description?(0,H.jsxs)(`div`,{className:J.cardDescBlock,children:[(0,H.jsx)(`p`,{id:y,ref:e=>se(i,e),className:`${J.cardDesc} ${_?J.cardDescExpanded:``}`,children:n.description}),v?(0,H.jsx)(`button`,{type:`button`,className:J.cardDescToggle,onClick:()=>le(i),"aria-expanded":_,"aria-controls":y,children:e(_?`plugin_store.description_show_less`:`plugin_store.description_show_more`)}):null]}):null,f.length>0||b||x?(0,H.jsxs)(`div`,{className:J.cardMeta,children:[b?(0,H.jsx)(`span`,{className:J.metaItem,children:e(`plugin_store.install_type`,{type:b})}):null,x?(0,H.jsx)(`span`,{className:J.metaItem,children:x}):null,f.map((e,t)=>(0,H.jsxs)(`span`,{className:J.metaItem,children:[t>0?(0,H.jsx)(`span`,{className:J.metaDot,"aria-hidden":`true`}):null,t===0&&u?(0,H.jsx)(`strong`,{children:e}):e]},`${i}-meta-${t}`))]}):null,n.tags.length>0?(0,H.jsx)(`div`,{className:J.tagRow,children:n.tags.map(e=>(0,H.jsx)(`span`,{className:J.tag,children:e},`${i}-tag-${e}`))}):null,(0,H.jsxs)(`div`,{className:J.cardFooter,children:[(0,H.jsx)(`div`,{className:J.cardActions,children:n.installed?(0,H.jsxs)(H.Fragment,{children:[n.updateAvailable?(0,H.jsxs)(U,{size:`sm`,onClick:()=>de(n),disabled:C,loading:p,title:w,children:[(0,H.jsx)(Cs,{size:14}),e(`plugin_store.update`)]}):null,(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:()=>t(`/plugins`),children:[(0,H.jsx)(ys,{size:14}),e(`plugin_store.manage`)]})]}):(0,H.jsxs)(U,{size:`sm`,onClick:()=>de(n),disabled:C,loading:p,title:w,children:[(0,H.jsx)(ws,{size:14}),e(`plugin_store.install`)]})}),(0,H.jsxs)(`div`,{className:J.cardLinks,children:[o?(0,H.jsx)(`a`,{className:J.iconLink,href:o,target:`_blank`,rel:`noreferrer`,title:e(`plugin_store.open_repository`),"aria-label":e(`plugin_store.open_repository`),children:(0,H.jsx)(qs,{size:14})}):null,s?(0,H.jsx)(`a`,{className:J.iconLink,href:s,target:`_blank`,rel:`noreferrer`,title:e(`plugin_store.open_homepage`),"aria-label":e(`plugin_store.open_homepage`),children:(0,H.jsx)(Js,{size:14})}):null]})]})]},i)};return(0,H.jsxs)(`div`,{className:J.page,children:[(0,H.jsxs)(`div`,{className:J.pageHeader,children:[(0,H.jsx)(`h1`,{className:J.title,children:e(`plugin_store.title`)}),(0,H.jsx)(`p`,{className:J.description,children:e(`plugin_store.description`)})]}),(0,H.jsxs)(`div`,{className:J.securityBanner,role:`note`,children:[(0,H.jsx)(vs,{size:20}),(0,H.jsxs)(`div`,{className:J.securityBannerText,children:[(0,H.jsx)(`strong`,{children:e(`plugin_store.security_banner_title`)}),(0,H.jsx)(`p`,{children:e(`plugin_store.security_banner_text`)})]})]}),u?(0,H.jsxs)(`div`,{className:J.errorBox,children:[(0,H.jsx)(`span`,{children:u.message}),u.kind===`unsupported`?null:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:te,disabled:c,children:e(`plugin_store.retry`)})]}):null,o?.sourceErrors.length?(0,H.jsxs)(`div`,{className:J.warningBox,children:[(0,H.jsx)(`strong`,{children:e(`plugin_store.source_errors_title`)}),(0,H.jsx)(`ul`,{className:J.sourceErrorList,children:o.sourceErrors.map((e,t)=>(0,H.jsxs)(`li`,{children:[(0,H.jsx)(`span`,{children:e.sourceName||e.sourceUrl||e.sourceId}),e.message?(0,H.jsx)(`small`,{children:e.message}):null]},`${e.sourceId}-${e.sourceUrl}-${t}`))})]}):null,o&&!o.pluginsEnabled?(0,H.jsx)(`div`,{className:J.warningBox,children:e(`plugin_store.global_disabled_hint`)}):null,re.length>0?(0,H.jsx)(`div`,{className:J.warningBox,children:e(`plugin_store.restart_required_banner`,{plugins:re.join(`, `)})}):null,o?(0,H.jsxs)(`div`,{className:J.statusBar,children:[(0,H.jsxs)(`div`,{className:J.statusPill,children:[(0,H.jsx)(`span`,{className:`${J.statusDot} ${o.pluginsEnabled?J.statusDotOn:J.statusDotOff}`}),(0,H.jsx)(`span`,{className:J.statusLabel,children:e(`plugin_store.global_status`)}),(0,H.jsx)(`span`,{className:J.statusValue,children:o.pluginsEnabled?e(`plugin_store.global_enabled`):e(`plugin_store.global_disabled`)})]}),(0,H.jsx)(`span`,{className:J.statusDivider}),(0,H.jsxs)(`div`,{className:J.statusPill,children:[(0,H.jsx)(`span`,{className:J.statusLabel,children:e(`plugin_store.plugins_dir`)}),(0,H.jsx)(`span`,{className:`${J.statusValue} ${J.statusPathValue}`,title:o.pluginsDir||`plugins`,children:o.pluginsDir||`plugins`})]}),(0,H.jsx)(`span`,{className:J.statusDivider}),(0,H.jsxs)(`div`,{className:J.statusPill,children:[(0,H.jsx)(`span`,{className:J.statusLabel,children:e(`plugin_store.stat_available`)}),(0,H.jsx)(`span`,{className:J.statusValue,children:B.total})]})]}):null,(0,H.jsxs)(`div`,{className:J.toolbar,children:[(0,H.jsx)(us,{type:`search`,value:f,onChange:e=>p(e.target.value),placeholder:e(`plugin_store.search_placeholder`),"aria-label":e(`plugin_store.search_label`),rightElement:(0,H.jsx)(Rs,{size:16})}),(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:te,disabled:!z||c,loading:c,children:[(0,H.jsx)(Cs,{size:16}),e(`plugin_store.refresh`)]})]}),(0,H.jsx)(`div`,{className:J.filterChips,role:`group`,"aria-label":e(`plugin_store.filter_label`),children:ne.map(e=>(0,H.jsxs)(`button`,{type:`button`,className:`${J.filterChip} ${m===e.key?J.filterChipActive:``}`,onClick:()=>h(e.key),"aria-pressed":m===e.key,children:[e.label,(0,H.jsx)(`span`,{className:J.filterChipCount,children:e.count})]},e.key))}),c?(0,H.jsx)(`div`,{className:J.cardGrid,children:Array.from({length:6},(e,t)=>(0,H.jsxs)(`div`,{className:J.skeletonCard,children:[(0,H.jsxs)(`div`,{className:J.skeletonHeader,children:[(0,H.jsx)(`div`,{className:J.skeletonAvatar}),(0,H.jsxs)(`div`,{className:J.skeletonText,children:[(0,H.jsx)(`div`,{className:J.skeletonLine}),(0,H.jsx)(`div`,{className:J.skeletonLine})]})]}),(0,H.jsx)(`div`,{className:J.skeletonBody})]},t))}):V.length===0?u?null:B.total===0?(0,H.jsx)(ZD,{title:e(`plugin_store.no_plugins`),description:e(`plugin_store.no_plugins_desc`),action:(0,H.jsxs)(U,{variant:`secondary`,size:`sm`,onClick:te,disabled:!z,children:[(0,H.jsx)(Cs,{size:16}),e(`plugin_store.refresh`)]})}):(0,H.jsx)(ZD,{title:e(`plugin_store.no_matches`),description:e(`plugin_store.no_matches_desc`),action:ie?(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>{p(``),h(`all`)},children:e(`plugin_store.clear_filters`)}):void 0}):(0,H.jsx)(`div`,{className:J.cardGrid,children:V.map(e=>ge(e))}),(0,H.jsx)(ZN,{open:E,entry:O,isUpdate:A,installing:O?g===pP(O):!1,onClose:he,onConfirm:me}),(0,H.jsx)(SP,{entry:ee,isUpdate:F,version:L,installing:ee?g===pP(ee):!1,onVersionChange:R,onClose:fe,onConfirm:pe})]})}var wP=Symbol.for(`yaml.alias`),TP=Symbol.for(`yaml.document`),EP=Symbol.for(`yaml.map`),DP=Symbol.for(`yaml.pair`),OP=Symbol.for(`yaml.scalar`),kP=Symbol.for(`yaml.seq`),AP=Symbol.for(`yaml.node.type`),jP=e=>!!e&&typeof e==`object`&&e[AP]===wP,MP=e=>!!e&&typeof e==`object`&&e[AP]===TP,NP=e=>!!e&&typeof e==`object`&&e[AP]===EP,PP=e=>!!e&&typeof e==`object`&&e[AP]===DP,FP=e=>!!e&&typeof e==`object`&&e[AP]===OP,IP=e=>!!e&&typeof e==`object`&&e[AP]===kP;function LP(e){if(e&&typeof e==`object`)switch(e[AP]){case EP:case kP:return!0}return!1}function RP(e){if(e&&typeof e==`object`)switch(e[AP]){case wP:case EP:case OP:case kP:return!0}return!1}var zP=e=>(FP(e)||LP(e))&&!!e.anchor,BP=Symbol(`break visit`),VP=Symbol(`skip children`),HP=Symbol(`remove node`);function UP(e,t){let n=qP(t);MP(e)?WP(null,e.contents,n,Object.freeze([e]))===HP&&(e.contents=null):WP(null,e,n,Object.freeze([]))}UP.BREAK=BP,UP.SKIP=VP,UP.REMOVE=HP;function WP(e,t,n,r){let i=JP(e,t,n,r);if(RP(i)||PP(i))return YP(e,r,i),WP(e,i,n,r);if(typeof i!=`symbol`){if(LP(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=WP(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===BP)return BP;else i===HP&&(t.items.splice(e,1),--e)}}else if(PP(t)){r=Object.freeze(r.concat(t));let e=WP(`key`,t.key,n,r);if(e===BP)return BP;e===HP&&(t.key=null);let i=WP(`value`,t.value,n,r);if(i===BP)return BP;i===HP&&(t.value=null)}}return i}async function GP(e,t){let n=qP(t);MP(e)?await KP(null,e.contents,n,Object.freeze([e]))===HP&&(e.contents=null):await KP(null,e,n,Object.freeze([]))}GP.BREAK=BP,GP.SKIP=VP,GP.REMOVE=HP;async function KP(e,t,n,r){let i=await JP(e,t,n,r);if(RP(i)||PP(i))return YP(e,r,i),KP(e,i,n,r);if(typeof i!=`symbol`){if(LP(t)){r=Object.freeze(r.concat(t));for(let e=0;e<t.items.length;++e){let i=await KP(e,t.items[e],n,r);if(typeof i==`number`)e=i-1;else if(i===BP)return BP;else i===HP&&(t.items.splice(e,1),--e)}}else if(PP(t)){r=Object.freeze(r.concat(t));let e=await KP(`key`,t.key,n,r);if(e===BP)return BP;e===HP&&(t.key=null);let i=await KP(`value`,t.value,n,r);if(i===BP)return BP;i===HP&&(t.value=null)}}return i}function qP(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function JP(e,t,n,r){if(typeof n==`function`)return n(e,t,r);if(NP(t))return n.Map?.(e,t,r);if(IP(t))return n.Seq?.(e,t,r);if(PP(t))return n.Pair?.(e,t,r);if(FP(t))return n.Scalar?.(e,t,r);if(jP(t))return n.Alias?.(e,t,r)}function YP(e,t,n){let r=t[t.length-1];if(LP(r))r.items[e]=n;else if(PP(r))e===`key`?r.key=n:r.value=n;else if(MP(r))r.contents=n;else{let e=jP(r)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}var XP={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},ZP=e=>e.replace(/[!,[\]{}]/g,e=>XP[e]),QP=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+ZP(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],n=Object.entries(this.tags),r;if(e&&n.length>0&&RP(e.contents)){let t={};UP(e.contents,(e,n)=>{RP(n)&&n.tag&&(t[n.tag]=!0)}),r=Object.keys(t)}else r=[];for(let[i,a]of n)i===`!!`&&a===`tag:yaml.org,2002:`||(!e||r.some(e=>e.startsWith(a)))&&t.push(`%TAG ${i} ${a}`);return t.join(`
`)}};QP.defaultYaml={explicit:!1,version:`1.2`},QP.defaultTags={"!!":`tag:yaml.org,2002:`};function $P(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(t)}return!0}function eF(e){let t=new Set;return UP(e,{Value(e,n){n.anchor&&t.add(n.anchor)}}),t}function tF(e,t){for(let n=1;;++n){let r=`${e}${n}`;if(!t.has(r))return r}}function nF(e,t){let n=[],r=new Map,i=null;return{onAnchor:r=>{n.push(r),i??(i=eF(e));let a=tF(t,i);return i.add(a),a},setAnchors:()=>{for(let e of n){let t=r.get(e);if(typeof t==`object`&&t.anchor&&(FP(t.node)||LP(t.node)))t.node.anchor=t.anchor;else{let t=Error(`Failed to resolve repeated object (this should not happen)`);throw t.source=e,t}}},sourceObjects:r}}function rF(e,t,n,r){if(r&&typeof r==`object`)if(Array.isArray(r))for(let t=0,n=r.length;t<n;++t){let n=r[t],i=rF(e,r,String(t),n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}else if(r instanceof Map)for(let t of Array.from(r.keys())){let n=r.get(t),i=rF(e,r,t,n);i===void 0?r.delete(t):i!==n&&r.set(t,i)}else if(r instanceof Set)for(let t of Array.from(r)){let n=rF(e,r,t,t);n===void 0?r.delete(t):n!==t&&(r.delete(t),r.add(n))}else for(let[t,n]of Object.entries(r)){let i=rF(e,r,t,n);i===void 0?delete r[t]:i!==n&&(r[t]=i)}return e.call(t,n,r)}function iF(e,t,n){if(Array.isArray(e))return e.map((e,t)=>iF(e,String(t),n));if(e&&typeof e.toJSON==`function`){if(!n||!zP(e))return e.toJSON(t,n);let r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=e=>{r.res=e,delete n.onCreate};let i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e==`bigint`&&!n?.keep?Number(e):e}var aF=class{constructor(e){Object.defineProperty(this,AP,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:t,maxAliasCount:n,onAnchor:r,reviver:i}={}){if(!MP(e))throw TypeError(`A document argument is required`);let a={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n==`number`?n:100},o=iF(this,``,a);if(typeof r==`function`)for(let{count:e,res:t}of a.anchors.values())r(t,e);return typeof i==`function`?rF(i,{"":o},``,o):o}},oF=class extends aF{constructor(e){super(wP),this.source=e,Object.defineProperty(this,"tag",{set(){throw Error(`Alias nodes cannot have tags`)}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError(`Alias resolution is disabled`);let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],UP(e,{Node:(e,t)=>{(jP(t)||zP(t))&&n.push(t)}}),t&&(t.aliasResolveCache=n));let r;for(let e of n){if(e===this)break;e.anchor===this.source&&(r=e)}return r}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:i}=t,a=this.resolve(r,t);if(!a){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(e)}let o=n.get(a);if(o||(iF(a,null,t),o=n.get(a)),o?.res===void 0)throw ReferenceError(`This should not happen: Alias anchor was not resolved?`);if(i>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=sF(r,a,n)),o.count*o.aliasCount>i))throw ReferenceError(`Excessive alias count indicates a resource exhaustion attack`);return o.res}toString(e,t,n){let r=`*${this.source}`;if(e){if($P(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let e=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(e)}if(e.implicitKey)return`${r} `}return r}};function sF(e,t,n){if(jP(t)){let r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(LP(t)){let r=0;for(let i of t.items){let t=sF(e,i,n);t>r&&(r=t)}return r}else if(PP(t)){let r=sF(e,t.key,n),i=sF(e,t.value,n);return Math.max(r,i)}return 1}var cF=e=>!e||typeof e!=`function`&&typeof e!=`object`,lF=class extends aF{constructor(e){super(OP),this.value=e}toJSON(e,t){return t?.keep?this.value:iF(this.value,e,t)}toString(){return String(this.value)}};lF.BLOCK_FOLDED=`BLOCK_FOLDED`,lF.BLOCK_LITERAL=`BLOCK_LITERAL`,lF.PLAIN=`PLAIN`,lF.QUOTE_DOUBLE=`QUOTE_DOUBLE`,lF.QUOTE_SINGLE=`QUOTE_SINGLE`;var uF=`tag:yaml.org,2002:`;function dF(e,t,n){if(t){let e=n.filter(e=>e.tag===t),r=e.find(e=>!e.format)??e[0];if(!r)throw Error(`Tag ${t} not found`);return r}return n.find(t=>t.identify?.(e)&&!t.format)}function fF(e,t,n){if(MP(e)&&(e=e.contents),RP(e))return e;if(PP(e)){let t=n.schema[EP].createNode?.(n.schema,null,n);return t.items.push(e),t}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<`u`&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:i,onTagObj:a,schema:o,sourceObjects:s}=n,c;if(r&&e&&typeof e==`object`){if(c=s.get(e),c)return c.anchor??(c.anchor=i(e)),new oF(c.anchor);c={anchor:null,node:null},s.set(e,c)}t?.startsWith(`!!`)&&(t=uF+t.slice(2));let l=dF(e,t,o.tags);if(!l){if(e&&typeof e.toJSON==`function`&&(e=e.toJSON()),!e||typeof e!=`object`){let t=new lF(e);return c&&(c.node=t),t}l=e instanceof Map?o[EP]:Symbol.iterator in Object(e)?o[kP]:o[EP]}a&&(a(l),delete n.onTagObj);let u=l?.createNode?l.createNode(n.schema,e,n):typeof l?.nodeClass?.from==`function`?l.nodeClass.from(n.schema,e,n):new lF(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}function pF(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){let n=t[e];if(typeof n==`number`&&Number.isInteger(n)&&n>=0){let e=[];e[n]=r,r=e}else r=new Map([[n,r]])}return fF(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error(`This should not happen, please report a bug.`)},schema:e,sourceObjects:new Map})}var mF=e=>e==null||typeof e==`object`&&!!e[Symbol.iterator]().next().done,hF=class extends aF{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(t=>RP(t)||PP(t)?t.clone(e):t),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(mF(e))this.add(t);else{let[n,...r]=e,i=this.get(n,!0);if(LP(i))i.addIn(r,t);else if(i===void 0&&this.schema)this.set(n,pF(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let r=this.get(t,!0);if(LP(r))return r.deleteIn(n);throw Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...r]=e,i=this.get(n,!0);return r.length===0?!t&&FP(i)?i.value:i:LP(i)?i.getIn(r,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!PP(t))return!1;let n=t.value;return n==null||e&&FP(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let r=this.get(t,!0);return LP(r)?r.hasIn(n):!1}setIn(e,t){let[n,...r]=e;if(r.length===0)this.set(n,t);else{let e=this.get(n,!0);if(LP(e))e.setIn(r,t);else if(e===void 0&&this.schema)this.set(n,pF(this.schema,r,t));else throw Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}},gF=e=>e.replace(/^(?!$)(?: $)?/gm,`#`);function _F(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var vF=(e,t,n)=>e.endsWith(`
`)?_F(n,t):n.includes(`
`)?`
`+_F(n,t):(e.endsWith(` `)?``:` `)+n,yF=`flow`,bF=`block`,xF=`quoted`;function SF(e,t,n=`flow`,{indentAtStart:r,lineWidth:i=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){if(!i||i<0)return e;i<a&&(a=0);let c=Math.max(1+a,1+i-t.length);if(e.length<=c)return e;let l=[],u={},d=i-t.length;typeof r==`number`&&(r>i-Math.max(2,a)?l.push(0):d=i-r);let f,p,m=!1,h=-1,g=-1,_=-1;n===`block`&&(h=CF(e,h,t.length),h!==-1&&(d=h+c));for(let r;r=e[h+=1];){if(n===`quoted`&&r===`\\`){switch(g=h,e[h+1]){case`x`:h+=3;break;case`u`:h+=5;break;case`U`:h+=9;break;default:h+=1}_=h}if(r===`
`)n===`block`&&(h=CF(e,h,t.length)),d=h+t.length+c,f=void 0;else{if(r===` `&&p&&p!==` `&&p!==`
`&&p!==` `){let t=e[h+1];t&&t!==` `&&t!==`
`&&t!==` `&&(f=h)}if(h>=d)if(f)l.push(f),d=f+c,f=void 0;else if(n===`quoted`){for(;p===` `||p===` `;)p=r,r=e[h+=1],m=!0;let t=h>_+1?h-2:g-1;if(u[t])return e;l.push(t),u[t]=!0,d=t+c,f=void 0}else m=!0}p=r}if(m&&s&&s(),l.length===0)return e;o&&o();let v=e.slice(0,l[0]);for(let r=0;r<l.length;++r){let i=l[r],a=l[r+1]||e.length;i===0?v=`\n${t}${e.slice(0,a)}`:(n===`quoted`&&u[i]&&(v+=`${e[i]}\\`),v+=`\n${t}${e.slice(i+1,a)}`)}return v}function CF(e,t,n){let r=t,i=t+1,a=e[i];for(;a===` `||a===` `;)if(t<i+n)a=e[++t];else{do a=e[++t];while(a&&a!==`
`);r=t,i=t+1,a=e[i]}return r}var wF=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),TF=e=>/^(%|---|\.\.\.)/m.test(e);function EF(e,t,n){if(!t||t<0)return!1;let r=t-n,i=e.length;if(i<=r)return!1;for(let t=0,n=0;t<i;++t)if(e[t]===`
`){if(t-n>r)return!0;if(n=t+1,i-n<=r)return!1}return!0}function DF(e,t){let n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;let{implicitKey:r}=t,i=t.options.doubleQuotedMinMultiLineLength,a=t.indent||(TF(e)?` `:``),o=``,s=0;for(let e=0,t=n[e];t;t=n[++e])if(t===` `&&n[e+1]===`\\`&&n[e+2]===`n`&&(o+=n.slice(s,e)+`\\ `,e+=1,s=e,t=`\\`),t===`\\`)switch(n[e+1]){case`u`:{o+=n.slice(s,e);let t=n.substr(e+2,4);switch(t){case`0000`:o+=`\\0`;break;case`0007`:o+=`\\a`;break;case`000b`:o+=`\\v`;break;case`001b`:o+=`\\e`;break;case`0085`:o+=`\\N`;break;case`00a0`:o+=`\\_`;break;case`2028`:o+=`\\L`;break;case`2029`:o+=`\\P`;break;default:t.substr(0,2)===`00`?o+=`\\x`+t.substr(2):o+=n.substr(e,6)}e+=5,s=e+1}break;case`n`:if(r||n[e+2]===`"`||n.length<i)e+=1;else{for(o+=n.slice(s,e)+`
`;n[e+2]===`\\`&&n[e+3]===`n`&&n[e+4]!==`"`;)o+=`
`,e+=2;o+=a,n[e+2]===` `&&(o+=`\\`),e+=1,s=e+1}break;default:e+=1}return o=s?o+n.slice(s):n,r?o:SF(o,a,xF,wF(t,!1))}function OF(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
`)||/[ \t]\n|\n[ \t]/.test(e))return DF(e,t);let n=t.indent||(TF(e)?` `:``),r=`'`+e.replace(/'/g,`''`).replace(/\n+/g,`$&\n${n}`)+`'`;return t.implicitKey?r:SF(r,n,yF,wF(t,!1))}function kF(e,t){let{singleQuote:n}=t.options,r;if(n===!1)r=DF;else{let t=e.includes(`"`),i=e.includes(`'`);r=t&&!i?OF:i&&!t?DF:n?OF:DF}return r(e,t)}var AF;try{AF=RegExp(`(^|(?<!
))
+(?!
|$)`,`g`)}catch{AF=/\n+(?!\n|$)/g}function jF({comment:e,type:t,value:n},r,i,a){let{blockQuote:o,commentString:s,lineWidth:c}=r.options;if(!o||/\n[\t ]+$/.test(n))return kF(n,r);let l=r.indent||(r.forceBlockIndent||TF(n)?` `:``),u=o===`literal`?!0:o===`folded`||t===lF.BLOCK_FOLDED?!1:t===lF.BLOCK_LITERAL||!EF(n,c,l.length);if(!n)return u?`|
`:`>
`;let d,f;for(f=n.length;f>0;--f){let e=n[f-1];if(e!==`
`&&e!==` `&&e!==` `)break}let p=n.substring(f),m=p.indexOf(`
`);m===-1?d=`-`:n===p||m!==p.length-1?(d=`+`,a&&a()):d=``,p&&(n=n.slice(0,-p.length),p[p.length-1]===`
`&&(p=p.slice(0,-1)),p=p.replace(AF,`$&${l}`));let h=!1,g,_=-1;for(g=0;g<n.length;++g){let e=n[g];if(e===` `)h=!0;else if(e===`
`)_=g;else break}let v=n.substring(0,_<g?_+1:g);v&&(n=n.substring(v.length),v=v.replace(/\n+/g,`$&${l}`));let y=(h?l?`2`:`1`:``)+d;if(e&&(y+=` `+s(e.replace(/ ?[\r\n]+/g,` `)),i&&i()),!u){let e=n.replace(/\n+/g,`
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\n+/g,`$&${l}`),i=!1,a=wF(r,!0);o!==`folded`&&t!==lF.BLOCK_FOLDED&&(a.onOverflow=()=>{i=!0});let s=SF(`${v}${e}${p}`,l,bF,a);if(!i)return`>${y}\n${l}${s}`}return n=n.replace(/\n+/g,`$&${l}`),`|${y}\n${l}${v}${n}${p}`}function MF(e,t,n,r){let{type:i,value:a}=e,{actualString:o,implicitKey:s,indent:c,indentStep:l,inFlow:u}=t;if(s&&a.includes(`
`)||u&&/[[\]{},]/.test(a))return kF(a,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a))return s||u||!a.includes(`
`)?kF(a,t):jF(e,t,n,r);if(!s&&!u&&i!==lF.PLAIN&&a.includes(`
`))return jF(e,t,n,r);if(TF(a)){if(c===``)return t.forceBlockIndent=!0,jF(e,t,n,r);if(s&&c===l)return kF(a,t)}let d=a.replace(/\n+/g,`$&\n${c}`);if(o){let e=e=>e.default&&e.tag!==`tag:yaml.org,2002:str`&&e.test?.test(d),{compat:n,tags:r}=t.doc.schema;if(r.some(e)||n?.some(e))return kF(a,t)}return s?d:SF(d,c,yF,wF(t,!1))}function NF(e,t,n,r){let{implicitKey:i,inFlow:a}=t,o=typeof e.value==`string`?e:Object.assign({},e,{value:String(e.value)}),{type:s}=e;s!==lF.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(s=lF.QUOTE_DOUBLE);let c=e=>{switch(e){case lF.BLOCK_FOLDED:case lF.BLOCK_LITERAL:return i||a?kF(o.value,t):jF(o,t,n,r);case lF.QUOTE_DOUBLE:return DF(o.value,t);case lF.QUOTE_SINGLE:return OF(o.value,t);case lF.PLAIN:return MF(o,t,n,r);default:return null}},l=c(s);if(l===null){let{defaultKeyType:e,defaultStringType:n}=t.options,r=i&&e||n;if(l=c(r),l===null)throw Error(`Unsupported default string type ${r}`)}return l}function PF(e,t){let n=Object.assign({blockQuote:!0,commentString:gF,defaultKeyType:null,defaultStringType:`PLAIN`,directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:`false`,flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:`null`,simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:`true`,verifyAliasOrder:!0},e.schema.toStringOptions,t),r;switch(n.collectionStyle){case`block`:r=!1;break;case`flow`:r=!0;break;default:r=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?` `:``,indent:``,indentStep:typeof n.indent==`number`?` `.repeat(n.indent):` `,inFlow:r,options:n}}function FF(e,t){if(t.tag){let n=e.filter(e=>e.tag===t.tag);if(n.length>0)return n.find(e=>e.format===t.format)??n[0]}let n,r;if(FP(t)){r=t.value;let i=e.filter(e=>e.identify?.(r));if(i.length>1){let e=i.filter(e=>e.test);e.length>0&&(i=e)}n=i.find(e=>e.format===t.format)??i.find(e=>!e.format)}else r=t,n=e.find(e=>e.nodeClass&&r instanceof e.nodeClass);if(!n){let e=r?.constructor?.name??(r===null?`null`:typeof r);throw Error(`Tag not resolved for ${e} value`)}return n}function IF(e,t,{anchors:n,doc:r}){if(!r.directives)return``;let i=[],a=(FP(e)||LP(e))&&e.anchor;a&&$P(a)&&(n.add(a),i.push(`&${a}`));let o=e.tag??(t.default?null:t.tag);return o&&i.push(r.directives.tagString(o)),i.join(` `)}function LF(e,t,n,r){if(PP(e))return e.toString(t,n,r);if(jP(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError(`Cannot stringify circular structure without alias nodes`);t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i,a=RP(e)?e:t.doc.createNode(e,{onTagObj:e=>i=e});i??(i=FF(t.doc.schema.tags,a));let o=IF(a,i,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let s=typeof i.stringify==`function`?i.stringify(a,t,n,r):FP(a)?NF(a,t,n,r):a.toString(t,n,r);return o?FP(a)||s[0]===`{`||s[0]===`[`?`${o} ${s}`:`${o}\n${t.indent}${s}`:s}function RF({key:e,value:t},n,r,i){let{allNullValues:a,doc:o,indent:s,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:d}}=n,f=RP(e)&&e.comment||null;if(d){if(f)throw Error(`With simple keys, key nodes cannot have comments`);if(LP(e)||!RP(e)&&typeof e==`object`)throw Error(`With simple keys, collection cannot be used as a key value`)}let p=!d&&(!e||f&&t==null&&!n.inFlow||LP(e)||(FP(e)?e.type===lF.BLOCK_FOLDED||e.type===lF.BLOCK_LITERAL:typeof e==`object`));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(d||!a),indent:s+c});let m=!1,h=!1,g=LF(e,n,()=>m=!0,()=>h=!0);if(!p&&!n.inFlow&&g.length>1024){if(d)throw Error(`With simple keys, single line scalar must not span more than 1024 characters`);p=!0}if(n.inFlow){if(a||t==null)return m&&r&&r(),g===``?`?`:p?`? ${g}`:g}else if(a&&!d||t==null&&p)return g=`? ${g}`,f&&!m?g+=vF(g,n.indent,l(f)):h&&i&&i(),g;m&&(f=null),p?(f&&(g+=vF(g,n.indent,l(f))),g=`? ${g}\n${s}:`):(g=`${g}:`,f&&(g+=vF(g,n.indent,l(f))));let _,v,y;RP(t)?(_=!!t.spaceBefore,v=t.commentBefore,y=t.comment):(_=!1,v=null,y=null,t&&typeof t==`object`&&(t=o.createNode(t))),n.implicitKey=!1,!p&&!f&&FP(t)&&(n.indentAtStart=g.length+1),h=!1,!u&&c.length>=2&&!n.inFlow&&!p&&IP(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let b=!1,x=LF(t,n,()=>b=!0,()=>h=!0),S=` `;if(f||_||v){if(S=_?`
`:``,v){let e=l(v);S+=`\n${_F(e,n.indent)}`}x===``&&!n.inFlow?S===`
`&&y&&(S=`
`):S+=`\n${n.indent}`}else if(!p&&LP(t)){let e=x[0],r=x.indexOf(`
`),i=r!==-1,a=n.inFlow??t.flow??t.items.length===0;if(i||!a){let t=!1;if(i&&(e===`&`||e===`!`)){let n=x.indexOf(` `);e===`&`&&n!==-1&&n<r&&x[n+1]===`!`&&(n=x.indexOf(` `,n+1)),(n===-1||r<n)&&(t=!0)}t||(S=`\n${n.indent}`)}}else(x===``||x[0]===`
`)&&(S=``);return g+=S+x,n.inFlow?b&&r&&r():y&&!b?g+=vF(g,n.indent,l(y)):h&&i&&i(),g}function zF(e,t){(e===`debug`||e===`warn`)&&console.warn(t)}var BF=`<<`,VF={identify:e=>e===BF||typeof e==`symbol`&&e.description===BF,default:`key`,tag:`tag:yaml.org,2002:merge`,test:/^<<$/,resolve:()=>Object.assign(new lF(Symbol(BF)),{addToJSMap:UF}),stringify:()=>BF},HF=(e,t)=>(VF.identify(t)||FP(t)&&(!t.type||t.type===lF.PLAIN)&&VF.identify(t.value))&&e?.doc.schema.tags.some(e=>e.tag===VF.tag&&e.default);function UF(e,t,n){let r=GF(e,n);if(IP(r))for(let n of r.items)WF(e,t,n);else if(Array.isArray(r))for(let n of r)WF(e,t,n);else WF(e,t,r)}function WF(e,t,n){let r=GF(e,n);if(!NP(r))throw Error(`Merge sources must be maps or map aliases`);let i=r.toJSON(null,e,Map);for(let[e,n]of i)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{value:n,writable:!0,enumerable:!0,configurable:!0});return t}function GF(e,t){return e&&jP(t)?t.resolve(e.doc,e):t}function KF(e,t,{key:n,value:r}){if(RP(n)&&n.addToJSMap)n.addToJSMap(e,t,r);else if(HF(e,n))UF(e,t,r);else{let i=iF(n,``,e);if(t instanceof Map)t.set(i,iF(r,i,e));else if(t instanceof Set)t.add(i);else{let a=qF(n,i,e),o=iF(r,a,e);a in t?Object.defineProperty(t,a,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[a]=o}}return t}function qF(e,t,n){if(t===null)return``;if(typeof t!=`object`)return String(t);if(RP(e)&&n?.doc){let t=PF(n.doc,{});t.anchors=new Set;for(let e of n.anchors.keys())t.anchors.add(e.anchor);t.inFlow=!0,t.inStringifyKey=!0;let r=e.toString(t);if(!n.mapKeyWarned){let e=JSON.stringify(r);e.length>40&&(e=e.substring(0,36)+`..."`),zF(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${e}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(t)}function JF(e,t,n){return new YF(fF(e,void 0,n),fF(t,void 0,n))}var YF=class e{constructor(e,t=null){Object.defineProperty(this,AP,{value:DP}),this.key=e,this.value=t}clone(t){let{key:n,value:r}=this;return RP(n)&&(n=n.clone(t)),RP(r)&&(r=r.clone(t)),new e(n,r)}toJSON(e,t){return KF(t,t?.mapAsMap?new Map:{},this)}toString(e,t,n){return e?.doc?RF(this,e,t,n):JSON.stringify(this)}};function XF(e,t,n){return(t.inFlow??e.flow?QF:ZF)(e,t,n)}function ZF({comment:e,items:t},n,{blockItemPrefix:r,flowChars:i,itemIndent:a,onChompKeep:o,onComment:s}){let{indent:c,options:{commentString:l}}=n,u=Object.assign({},n,{indent:a,type:null}),d=!1,f=[];for(let e=0;e<t.length;++e){let i=t[e],o=null;if(RP(i))!d&&i.spaceBefore&&f.push(``),$F(n,f,i.commentBefore,d),i.comment&&(o=i.comment);else if(PP(i)){let e=RP(i.key)?i.key:null;e&&(!d&&e.spaceBefore&&f.push(``),$F(n,f,e.commentBefore,d))}d=!1;let s=LF(i,u,()=>o=null,()=>d=!0);o&&(s+=vF(s,a,l(o))),d&&o&&(d=!1),f.push(r+s)}let p;if(f.length===0)p=i.start+i.end;else{p=f[0];for(let e=1;e<f.length;++e){let t=f[e];p+=t?`\n${c}${t}`:`
`}}return e?(p+=`
`+_F(l(e),c),s&&s()):d&&o&&o(),p}function QF({items:e},t,{flowChars:n,itemIndent:r}){let{indent:i,indentStep:a,flowCollectionPadding:o,options:{commentString:s}}=t;r+=a;let c=Object.assign({},t,{indent:r,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let n=0;n<e.length;++n){let i=e[n],a=null;if(RP(i))i.spaceBefore&&d.push(``),$F(t,d,i.commentBefore,!1),i.comment&&(a=i.comment);else if(PP(i)){let e=RP(i.key)?i.key:null;e&&(e.spaceBefore&&d.push(``),$F(t,d,e.commentBefore,!1),e.comment&&(l=!0));let n=RP(i.value)?i.value:null;n?(n.comment&&(a=n.comment),n.commentBefore&&(l=!0)):i.value==null&&e?.comment&&(a=e.comment)}a&&(l=!0);let o=LF(i,c,()=>a=null);l||(l=d.length>u||o.includes(`
`)),n<e.length-1?o+=`,`:t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((e,t)=>e+t.length+2,2)+(o.length+2)>t.options.lineWidth)),l&&(o+=`,`)),a&&(o+=vF(o,r,s(a))),d.push(o),u=d.length}let{start:f,end:p}=n;if(d.length===0)return f+p;if(!l){let e=d.reduce((e,t)=>e+t.length+2,2);l=t.options.lineWidth>0&&e>t.options.lineWidth}if(l){let e=f;for(let t of d)e+=t?`\n${a}${i}${t}`:`
`;return`${e}\n${i}${p}`}else return`${f}${o}${d.join(` `)}${o}${p}`}function $F({indent:e,options:{commentString:t}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,``)),r){let i=_F(t(r),e);n.push(i.trimStart())}}function eI(e,t){let n=FP(t)?t.value:t;for(let r of e)if(PP(r)&&(r.key===t||r.key===n||FP(r.key)&&r.key.value===n))return r}var tI=class extends hF{static get tagName(){return`tag:yaml.org,2002:map`}constructor(e){super(EP,e),this.items=[]}static from(e,t,n){let{keepUndefined:r,replacer:i}=n,a=new this(e),o=(e,o)=>{if(typeof i==`function`)o=i.call(t,e,o);else if(Array.isArray(i)&&!i.includes(e))return;(o!==void 0||r)&&a.items.push(JF(e,o,n))};if(t instanceof Map)for(let[e,n]of t)o(e,n);else if(t&&typeof t==`object`)for(let e of Object.keys(t))o(e,t[e]);return typeof e.sortMapEntries==`function`&&a.items.sort(e.sortMapEntries),a}add(e,t){let n;n=PP(e)?e:!e||typeof e!=`object`||!(`key`in e)?new YF(e,e?.value):new YF(e.key,e.value);let r=eI(this.items,n.key),i=this.schema?.sortMapEntries;if(r){if(!t)throw Error(`Key ${n.key} already set`);FP(r.value)&&cF(n.value)?r.value.value=n.value:r.value=n.value}else if(i){let e=this.items.findIndex(e=>i(n,e)<0);e===-1?this.items.push(n):this.items.splice(e,0,n)}else this.items.push(n)}delete(e){let t=eI(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=eI(this.items,e)?.value;return(!t&&FP(n)?n.value:n)??void 0}has(e){return!!eI(this.items,e)}set(e,t){this.add(new YF(e,t),!0)}toJSON(e,t,n){let r=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(r);for(let e of this.items)KF(t,r,e);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(let e of this.items)if(!PP(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),XF(this,e,{blockItemPrefix:``,flowChars:{start:`{`,end:`}`},itemIndent:e.indent||``,onChompKeep:n,onComment:t})}},nI={collection:`map`,default:!0,nodeClass:tI,tag:`tag:yaml.org,2002:map`,resolve(e,t){return NP(e)||t(`Expected a mapping for this tag`),e},createNode:(e,t,n)=>tI.from(e,t,n)},rI=class extends hF{static get tagName(){return`tag:yaml.org,2002:seq`}constructor(e){super(kP,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=iI(e);return typeof t==`number`&&this.items.splice(t,1).length>0}get(e,t){let n=iI(e);if(typeof n!=`number`)return;let r=this.items[n];return!t&&FP(r)?r.value:r}has(e){let t=iI(e);return typeof t==`number`&&t<this.items.length}set(e,t){let n=iI(e);if(typeof n!=`number`)throw Error(`Expected a valid index, not ${e}.`);let r=this.items[n];FP(r)&&cF(t)?r.value=t:this.items[n]=t}toJSON(e,t){let n=[];t?.onCreate&&t.onCreate(n);let r=0;for(let e of this.items)n.push(iF(e,String(r++),t));return n}toString(e,t,n){return e?XF(this,e,{blockItemPrefix:`- `,flowChars:{start:`[`,end:`]`},itemIndent:(e.indent||``)+` `,onChompKeep:n,onComment:t}):JSON.stringify(this)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t)){let e=0;for(let a of t){if(typeof r==`function`){let n=t instanceof Set?a:String(e++);a=r.call(t,n,a)}i.items.push(fF(a,void 0,n))}}return i}};function iI(e){let t=FP(e)?e.value:e;return t&&typeof t==`string`&&(t=Number(t)),typeof t==`number`&&Number.isInteger(t)&&t>=0?t:null}var aI={collection:`seq`,default:!0,nodeClass:rI,tag:`tag:yaml.org,2002:seq`,resolve(e,t){return IP(e)||t(`Expected a sequence for this tag`),e},createNode:(e,t,n)=>rI.from(e,t,n)},oI={identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify(e,t,n,r){return t=Object.assign({actualString:!0},t),NF(e,t,n,r)}},sI={identify:e=>e==null,createNode:()=>new lF(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new lF(null),stringify:({source:e},t)=>typeof e==`string`&&sI.test.test(e)?e:t.options.nullStr},cI={identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new lF(e[0]===`t`||e[0]===`T`),stringify({source:e,value:t},n){return e&&cI.test.test(e)&&t===(e[0]===`t`||e[0]===`T`)?e:t?n.options.trueStr:n.options.falseStr}};function lI({format:e,minFractionDigits:t,tag:n,value:r}){if(typeof r==`bigint`)return String(r);let i=typeof r==`number`?r:Number(r);if(!isFinite(i))return isNaN(i)?`.nan`:i<0?`-.inf`:`.inf`;let a=Object.is(r,-0)?`-0`:JSON.stringify(r);if(!e&&t&&(!n||n===`tag:yaml.org,2002:float`)&&/^-?\d/.test(a)&&!a.includes(`e`)){let e=a.indexOf(`.`);e<0&&(e=a.length,a+=`.`);let n=t-(a.length-e-1);for(;n-->0;)a+=`0`}return a}var uI={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()===`nan`?NaN:e[0]===`-`?-1/0:1/0,stringify:lI},dI={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`EXP`,test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():lI(e)}},fI={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new lF(parseFloat(e)),n=e.indexOf(`.`);return n!==-1&&e[e.length-1]===`0`&&(t.minFractionDigits=e.length-n-1),t},stringify:lI},pI=e=>typeof e==`bigint`||Number.isInteger(e),mI=(e,t,n,{intAsBigInt:r})=>r?BigInt(e):parseInt(e.substring(t),n);function hI(e,t,n){let{value:r}=e;return pI(r)&&r>=0?n+r.toString(t):lI(e)}var gI={identify:e=>pI(e)&&e>=0,default:!0,tag:`tag:yaml.org,2002:int`,format:`OCT`,test:/^0o[0-7]+$/,resolve:(e,t,n)=>mI(e,2,8,n),stringify:e=>hI(e,8,`0o`)},_I={identify:pI,default:!0,tag:`tag:yaml.org,2002:int`,test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>mI(e,0,10,n),stringify:lI},vI={identify:e=>pI(e)&&e>=0,default:!0,tag:`tag:yaml.org,2002:int`,format:`HEX`,test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>mI(e,2,16,n),stringify:e=>hI(e,16,`0x`)},yI=[nI,aI,oI,sI,cI,gI,_I,vI,uI,dI,fI];function bI(e){return typeof e==`bigint`||Number.isInteger(e)}var xI=({value:e})=>JSON.stringify(e),SI=[{identify:e=>typeof e==`string`,default:!0,tag:`tag:yaml.org,2002:str`,resolve:e=>e,stringify:xI},{identify:e=>e==null,createNode:()=>new lF(null),default:!0,tag:`tag:yaml.org,2002:null`,test:/^null$/,resolve:()=>null,stringify:xI},{identify:e=>typeof e==`boolean`,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^true$|^false$/,resolve:e=>e===`true`,stringify:xI},{identify:bI,default:!0,tag:`tag:yaml.org,2002:int`,test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>bI(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:xI}],CI=[nI,aI].concat(SI,{default:!0,tag:``,test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}}),wI={identify:e=>e instanceof Uint8Array,default:!1,tag:`tag:yaml.org,2002:binary`,resolve(e,t){if(typeof atob==`function`){let t=atob(e.replace(/[\n\r]/g,``)),n=new Uint8Array(t.length);for(let e=0;e<t.length;++e)n[e]=t.charCodeAt(e);return n}else return t(`This environment does not support reading binary tags; either Buffer or atob is required`),e},stringify({comment:e,type:t,value:n},r,i,a){if(!n)return``;let o=n,s;if(typeof btoa==`function`){let e=``;for(let t=0;t<o.length;++t)e+=String.fromCharCode(o[t]);s=btoa(e)}else throw Error(`This environment does not support writing binary tags; either Buffer or btoa is required`);if(t??(t=lF.BLOCK_LITERAL),t!==lF.QUOTE_DOUBLE){let e=Math.max(r.options.lineWidth-r.indent.length,r.options.minContentWidth),n=Math.ceil(s.length/e),i=Array(n);for(let t=0,r=0;t<n;++t,r+=e)i[t]=s.substr(r,e);s=i.join(t===lF.BLOCK_LITERAL?`
`:` `)}return NF({comment:e,type:t,value:s},r,i,a)}};function TI(e,t){if(IP(e))for(let n=0;n<e.items.length;++n){let r=e.items[n];if(!PP(r)){if(NP(r)){r.items.length>1&&t(`Each pair must have its own sequence indicator`);let e=r.items[0]||new YF(new lF(null));if(r.commentBefore&&(e.key.commentBefore=e.key.commentBefore?`${r.commentBefore}\n${e.key.commentBefore}`:r.commentBefore),r.comment){let t=e.value??e.key;t.comment=t.comment?`${r.comment}\n${t.comment}`:r.comment}r=e}e.items[n]=PP(r)?r:new YF(r)}}else t(`Expected a sequence for this tag`);return e}function EI(e,t,n){let{replacer:r}=n,i=new rI(e);i.tag=`tag:yaml.org,2002:pairs`;let a=0;if(t&&Symbol.iterator in Object(t))for(let e of t){typeof r==`function`&&(e=r.call(t,String(a++),e));let o,s;if(Array.isArray(e))if(e.length===2)o=e[0],s=e[1];else throw TypeError(`Expected [key, value] tuple: ${e}`);else if(e&&e instanceof Object){let t=Object.keys(e);if(t.length===1)o=t[0],s=e[o];else throw TypeError(`Expected tuple with one key, not ${t.length} keys`)}else o=e;i.items.push(JF(o,s,n))}return i}var DI={collection:`seq`,default:!1,tag:`tag:yaml.org,2002:pairs`,resolve:TI,createNode:EI},OI=class e extends rI{constructor(){super(),this.add=tI.prototype.add.bind(this),this.delete=tI.prototype.delete.bind(this),this.get=tI.prototype.get.bind(this),this.has=tI.prototype.has.bind(this),this.set=tI.prototype.set.bind(this),this.tag=e.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t?.onCreate&&t.onCreate(n);for(let e of this.items){let r,i;if(PP(e)?(r=iF(e.key,``,t),i=iF(e.value,r,t)):r=iF(e,``,t),n.has(r))throw Error(`Ordered maps must not include duplicate keys`);n.set(r,i)}return n}static from(e,t,n){let r=EI(e,t,n),i=new this;return i.items=r.items,i}};OI.tag=`tag:yaml.org,2002:omap`;var kI={collection:`seq`,identify:e=>e instanceof Map,nodeClass:OI,default:!1,tag:`tag:yaml.org,2002:omap`,resolve(e,t){let n=TI(e,t),r=[];for(let{key:e}of n.items)FP(e)&&(r.includes(e.value)?t(`Ordered maps must not include duplicate keys: ${e.value}`):r.push(e.value));return Object.assign(new OI,n)},createNode:(e,t,n)=>OI.from(e,t,n)};function AI({value:e,source:t},n){return t&&(e?jI:MI).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}var jI={identify:e=>e===!0,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new lF(!0),stringify:AI},MI={identify:e=>e===!1,default:!0,tag:`tag:yaml.org,2002:bool`,test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new lF(!1),stringify:AI},NI={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()===`nan`?NaN:e[0]===`-`?-1/0:1/0,stringify:lI},PI={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`EXP`,test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,``)),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():lI(e)}},FI={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new lF(parseFloat(e.replace(/_/g,``))),n=e.indexOf(`.`);if(n!==-1){let r=e.substring(n+1).replace(/_/g,``);r[r.length-1]===`0`&&(t.minFractionDigits=r.length)}return t},stringify:lI},II=e=>typeof e==`bigint`||Number.isInteger(e);function LI(e,t,n,{intAsBigInt:r}){let i=e[0];if((i===`-`||i===`+`)&&(t+=1),e=e.substring(t).replace(/_/g,``),r){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let t=BigInt(e);return i===`-`?BigInt(-1)*t:t}let a=parseInt(e,n);return i===`-`?-1*a:a}function RI(e,t,n){let{value:r}=e;if(II(r)){let e=r.toString(t);return r<0?`-`+n+e.substr(1):n+e}return lI(e)}var zI={identify:II,default:!0,tag:`tag:yaml.org,2002:int`,format:`BIN`,test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>LI(e,2,2,n),stringify:e=>RI(e,2,`0b`)},BI={identify:II,default:!0,tag:`tag:yaml.org,2002:int`,format:`OCT`,test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>LI(e,1,8,n),stringify:e=>RI(e,8,`0`)},VI={identify:II,default:!0,tag:`tag:yaml.org,2002:int`,test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>LI(e,0,10,n),stringify:lI},HI={identify:II,default:!0,tag:`tag:yaml.org,2002:int`,format:`HEX`,test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>LI(e,2,16,n),stringify:e=>RI(e,16,`0x`)},UI=class e extends tI{constructor(t){super(t),this.tag=e.tag}add(e){let t;t=PP(e)?e:e&&typeof e==`object`&&`key`in e&&`value`in e&&e.value===null?new YF(e.key,null):new YF(e,null),eI(this.items,t.key)||this.items.push(t)}get(e,t){let n=eI(this.items,e);return!t&&PP(n)?FP(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!=`boolean`)throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=eI(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new YF(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw Error(`Set items must all have null values`)}static from(e,t,n){let{replacer:r}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let e of t)typeof r==`function`&&(e=r.call(t,e,e)),i.items.push(JF(e,null,n));return i}};UI.tag=`tag:yaml.org,2002:set`;var WI={collection:`map`,identify:e=>e instanceof Set,nodeClass:UI,default:!1,tag:`tag:yaml.org,2002:set`,createNode:(e,t,n)=>UI.from(e,t,n),resolve(e,t){if(NP(e)){if(e.hasAllNullValues(!0))return Object.assign(new UI,e);t(`Set items must all have null values`)}else t(`Expected a mapping for this tag`);return e}};function GI(e,t){let n=e[0],r=n===`-`||n===`+`?e.substring(1):e,i=e=>t?BigInt(e):Number(e),a=r.replace(/_/g,``).split(`:`).reduce((e,t)=>e*i(60)+i(t),i(0));return n===`-`?i(-1)*a:a}function KI(e){let{value:t}=e,n=e=>e;if(typeof t==`bigint`)n=e=>BigInt(e);else if(isNaN(t)||!isFinite(t))return lI(e);let r=``;t<0&&(r=`-`,t*=n(-1));let i=n(60),a=[t%i];return t<60?a.unshift(0):(t=(t-a[0])/i,a.unshift(t%i),t>=60&&(t=(t-a[0])/i,a.unshift(t))),r+a.map(e=>String(e).padStart(2,`0`)).join(`:`).replace(/000000\d*$/,``)}var qI={identify:e=>typeof e==`bigint`||Number.isInteger(e),default:!0,tag:`tag:yaml.org,2002:int`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>GI(e,n),stringify:KI},JI={identify:e=>typeof e==`number`,default:!0,tag:`tag:yaml.org,2002:float`,format:`TIME`,test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>GI(e,!1),stringify:KI},YI={identify:e=>e instanceof Date,default:!0,tag:`tag:yaml.org,2002:timestamp`,test:RegExp(`^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$`),resolve(e){let t=e.match(YI.test);if(!t)throw Error(`!!timestamp expects a date, starting with yyyy-mm-dd`);let[,n,r,i,a,o,s]=t.map(Number),c=t[7]?Number((t[7]+`00`).substr(1,3)):0,l=Date.UTC(n,r-1,i,a||0,o||0,s||0,c),u=t[8];if(u&&u!==`Z`){let e=GI(u,!1);Math.abs(e)<30&&(e*=60),l-=6e4*e}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,``)??``},XI=[nI,aI,oI,sI,jI,MI,zI,BI,VI,HI,NI,PI,FI,wI,VF,kI,DI,WI,qI,JI,YI],ZI=new Map([[`core`,yI],[`failsafe`,[nI,aI,oI]],[`json`,CI],[`yaml11`,XI],[`yaml-1.1`,XI]]),QI={binary:wI,bool:cI,float:fI,floatExp:dI,floatNaN:uI,floatTime:JI,int:_I,intHex:vI,intOct:gI,intTime:qI,map:nI,merge:VF,null:sI,omap:kI,pairs:DI,seq:aI,set:WI,timestamp:YI},$I={"tag:yaml.org,2002:binary":wI,"tag:yaml.org,2002:merge":VF,"tag:yaml.org,2002:omap":kI,"tag:yaml.org,2002:pairs":DI,"tag:yaml.org,2002:set":WI,"tag:yaml.org,2002:timestamp":YI};function eL(e,t,n){let r=ZI.get(t);if(r&&!e)return n&&!r.includes(VF)?r.concat(VF):r.slice();let i=r;if(!i)if(Array.isArray(e))i=[];else{let e=Array.from(ZI.keys()).filter(e=>e!==`yaml11`).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown schema "${t}"; use one of ${e} or define customTags array`)}if(Array.isArray(e))for(let t of e)i=i.concat(t);else typeof e==`function`&&(i=e(i.slice()));return n&&(i=i.concat(VF)),i.reduce((e,t)=>{let n=typeof t==`string`?QI[t]:t;if(!n){let e=JSON.stringify(t),n=Object.keys(QI).map(e=>JSON.stringify(e)).join(`, `);throw Error(`Unknown custom tag ${e}; use one of ${n}`)}return e.includes(n)||e.push(n),e},[])}var tL=(e,t)=>e.key<t.key?-1:+(e.key>t.key),nL=class e{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:r,schema:i,sortMapEntries:a,toStringDefaults:o}){this.compat=Array.isArray(e)?eL(e,`compat`):e?eL(null,e):null,this.name=typeof i==`string`&&i||`core`,this.knownTags=r?$I:{},this.tags=eL(t,this.name,n),this.toStringOptions=o??null,Object.defineProperty(this,EP,{value:nI}),Object.defineProperty(this,OP,{value:oI}),Object.defineProperty(this,kP,{value:aI}),this.sortMapEntries=typeof a==`function`?a:a===!0?tL:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function rL(e,t){let n=[],r=t.directives===!0;if(t.directives!==!1&&e.directives){let t=e.directives.toString(e);t?(n.push(t),r=!0):e.directives.docStart&&(r=!0)}r&&n.push(`---`);let i=PF(e,t),{commentString:a}=i.options;if(e.commentBefore){n.length!==1&&n.unshift(``);let t=a(e.commentBefore);n.unshift(_F(t,``))}let o=!1,s=null;if(e.contents){if(RP(e.contents)){if(e.contents.spaceBefore&&r&&n.push(``),e.contents.commentBefore){let t=a(e.contents.commentBefore);n.push(_F(t,``))}i.forceBlockIndent=!!e.comment,s=e.contents.comment}let t=s?void 0:()=>o=!0,c=LF(e.contents,i,()=>s=null,t);s&&(c+=vF(c,``,a(s))),(c[0]===`|`||c[0]===`>`)&&n[n.length-1]===`---`?n[n.length-1]=`--- ${c}`:n.push(c)}else n.push(LF(e.contents,i));if(e.directives?.docEnd)if(e.comment){let t=a(e.comment);t.includes(`
`)?(n.push(`...`),n.push(_F(t,``))):n.push(`... ${t}`)}else n.push(`...`);else{let t=e.comment;t&&o&&(t=t.replace(/^\n+/,``)),t&&((!o||s)&&n[n.length-1]!==``&&n.push(``),n.push(_F(a(t),``)))}return n.join(`
`)+`
`}var iL=class e{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,AP,{value:TP});let r=null;typeof t==`function`||Array.isArray(t)?r=t:n===void 0&&t&&(n=t,t=void 0);let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:`warn`,prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:`1.2`},n);this.options=i;let{version:a}=i;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(a=this.directives.yaml.version)):this.directives=new QP({version:a}),this.setSchema(a,n),this.contents=e===void 0?null:this.createNode(e,r,n)}clone(){let t=Object.create(e.prototype,{[AP]:{value:TP}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=RP(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(e){aL(this.contents)&&this.contents.add(e)}addIn(e,t){aL(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let n=eF(this);e.anchor=!t||n.has(t)?tF(t||`a`,n):t}return new oF(e.anchor)}createNode(e,t,n){let r;if(typeof t==`function`)e=t.call({"":e},``,e),r=t;else if(Array.isArray(t)){let e=t.filter(e=>typeof e==`number`||e instanceof String||e instanceof Number).map(String);e.length>0&&(t=t.concat(e)),r=t}else n===void 0&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:i,anchorPrefix:a,flow:o,keepUndefined:s,onTagObj:c,tag:l}=n??{},{onAnchor:u,setAnchors:d,sourceObjects:f}=nF(this,a||`a`),p={aliasDuplicateObjects:i??!0,keepUndefined:s??!1,onAnchor:u,onTagObj:c,replacer:r,schema:this.schema,sourceObjects:f},m=fF(e,l,p);return o&&LP(m)&&(m.flow=!0),d(),m}createPair(e,t,n={}){return new YF(this.createNode(e,null,n),this.createNode(t,null,n))}delete(e){return aL(this.contents)?this.contents.delete(e):!1}deleteIn(e){return mF(e)?this.contents==null?!1:(this.contents=null,!0):aL(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return LP(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return mF(e)?!t&&FP(this.contents)?this.contents.value:this.contents:LP(this.contents)?this.contents.getIn(e,t):void 0}has(e){return LP(this.contents)?this.contents.has(e):!1}hasIn(e){return mF(e)?this.contents!==void 0:LP(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=pF(this.schema,[e],t):aL(this.contents)&&this.contents.set(e,t)}setIn(e,t){mF(e)?this.contents=t:this.contents==null?this.contents=pF(this.schema,Array.from(e),t):aL(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e==`number`&&(e=String(e));let n;switch(e){case`1.1`:this.directives?this.directives.yaml.version=`1.1`:this.directives=new QP({version:`1.1`}),n={resolveKnownTags:!1,schema:`yaml-1.1`};break;case`1.2`:case`next`:this.directives?this.directives.yaml.version=e:this.directives=new QP({version:e}),n={resolveKnownTags:!0,schema:`core`};break;case null:this.directives&&delete this.directives,n=null;break;default:{let t=JSON.stringify(e);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${t}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new nL(Object.assign(n,t));else throw Error(`With a null YAML version, the { schema: Schema } option is required`)}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:r,onAnchor:i,reviver:a}={}){let o={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r==`number`?r:100},s=iF(this.contents,t??``,o);if(typeof i==`function`)for(let{count:e,res:t}of o.anchors.values())i(t,e);return typeof a==`function`?rF(a,{"":s},``,s):s}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw Error(`Document with errors cannot be stringified`);if(`indent`in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let t=JSON.stringify(e.indent);throw Error(`"indent" option must be a positive integer, not ${t}`)}return rL(this,e)}};function aL(e){if(LP(e))return!0;throw Error(`Expected a YAML collection as document contents`)}var oL=class extends Error{constructor(e,t,n,r){super(),this.name=e,this.code=n,this.message=r,this.pos=t}},sL=class extends oL{constructor(e,t,n){super(`YAMLParseError`,e,t,n)}},cL=class extends oL{constructor(e,t,n){super(`YAMLWarning`,e,t,n)}},lL=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(e=>t.linePos(e));let{line:r,col:i}=n.linePos[0];n.message+=` at line ${r}, column ${i}`;let a=i-1,o=e.substring(t.lineStarts[r-1],t.lineStarts[r]).replace(/[\n\r]+$/,``);if(a>=60&&o.length>80){let e=Math.min(a-39,o.length-79);o=`…`+o.substring(e),a-=e-1}if(o.length>80&&(o=o.substring(0,79)+`…`),r>1&&/^ *$/.test(o.substring(0,a))){let n=e.substring(t.lineStarts[r-2],t.lineStarts[r-1]);n.length>80&&(n=n.substring(0,79)+`…
`),o=n+o}if(/[^ ]/.test(o)){let e=1,t=n.linePos[1];t?.line===r&&t.col>i&&(e=Math.max(1,Math.min(t.col-i,80-a)));let s=` `.repeat(a)+`^`.repeat(e);n.message+=`:\n\n${o}\n${s}\n`}};function uL(e,{flow:t,indicator:n,next:r,offset:i,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d=``,f=``,p=!1,m=!1,h=null,g=null,_=null,v=null,y=null,b=null,x=null;for(let i of e)switch(m&&(i.type!==`space`&&i.type!==`newline`&&i.type!==`comma`&&a(i.offset,`MISSING_CHAR`,`Tags and anchors must be separated from the next token by white space`),m=!1),h&&(l&&i.type!==`comment`&&i.type!==`newline`&&a(h,`TAB_AS_INDENT`,`Tabs are not allowed as indentation`),h=null),i.type){case`space`:!t&&(n!==`doc-start`||r?.type!==`flow-collection`)&&i.source.includes(` `)&&(h=i),u=!0;break;case`comment`:{u||a(i,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`);let e=i.source.substring(1)||` `;d?d+=f+e:d=e,f=``,l=!1;break}case`newline`:l?d?d+=i.source:(!b||n!==`seq-item-ind`)&&(c=!0):f+=i.source,l=!0,p=!0,(g||_)&&(v=i),u=!0;break;case`anchor`:g&&a(i,`MULTIPLE_ANCHORS`,`A node can have at most one anchor`),i.source.endsWith(`:`)&&a(i.offset+i.source.length-1,`BAD_ALIAS`,`Anchor ending in : is ambiguous`,!0),g=i,x??(x=i.offset),l=!1,u=!1,m=!0;break;case`tag`:_&&a(i,`MULTIPLE_TAGS`,`A node can have at most one tag`),_=i,x??(x=i.offset),l=!1,u=!1,m=!0;break;case n:(g||_)&&a(i,`BAD_PROP_ORDER`,`Anchors and tags must be after the ${i.source} indicator`),b&&a(i,`UNEXPECTED_TOKEN`,`Unexpected ${i.source} in ${t??`collection`}`),b=i,l=n===`seq-item-ind`||n===`explicit-key-ind`,u=!1;break;case`comma`:if(t){y&&a(i,`UNEXPECTED_TOKEN`,`Unexpected , in ${t}`),y=i,l=!1,u=!1;break}default:a(i,`UNEXPECTED_TOKEN`,`Unexpected ${i.type} token`),l=!1,u=!1}let S=e[e.length-1],C=S?S.offset+S.source.length:i;return m&&r&&r.type!==`space`&&r.type!==`newline`&&r.type!==`comma`&&(r.type!==`scalar`||r.source!==``)&&a(r.offset,`MISSING_CHAR`,`Tags and anchors must be separated from the next token by white space`),h&&(l&&h.indent<=o||r?.type===`block-map`||r?.type===`block-seq`)&&a(h,`TAB_AS_INDENT`,`Tabs are not allowed as indentation`),{comma:y,found:b,spaceBefore:c,comment:d,hasNewline:p,anchor:g,tag:_,newlineAfterProp:v,end:C,start:x??C}}function dL(e){if(!e)return null;switch(e.type){case`alias`:case`scalar`:case`double-quoted-scalar`:case`single-quoted-scalar`:if(e.source.includes(`
`))return!0;if(e.end){for(let t of e.end)if(t.type===`newline`)return!0}return!1;case`flow-collection`:for(let t of e.items){for(let e of t.start)if(e.type===`newline`)return!0;if(t.sep){for(let e of t.sep)if(e.type===`newline`)return!0}if(dL(t.key)||dL(t.value))return!0}return!1;default:return!0}}function fL(e,t,n){if(t?.type===`flow-collection`){let r=t.end[0];r.indent===e&&(r.source===`]`||r.source===`}`)&&dL(t)&&n(r,`BAD_INDENT`,`Flow end indicator should be more indented than parent`,!0)}}function pL(e,t,n){let{uniqueKeys:r}=e.options;if(r===!1)return!1;let i=typeof r==`function`?r:(e,t)=>e===t||FP(e)&&FP(t)&&e.value===t.value;return t.some(e=>i(e.key,n))}var mL=`All mapping items must start at the same column`;function hL({composeNode:e,composeEmptyNode:t},n,r,i,a){let o=new((a?.nodeClass)??tI)(n.schema);n.atRoot&&(n.atRoot=!1);let s=r.offset,c=null;for(let a of r.items){let{start:l,key:u,sep:d,value:f}=a,p=uL(l,{indicator:`explicit-key-ind`,next:u??d?.[0],offset:s,onError:i,parentIndent:r.indent,startOnNewline:!0}),m=!p.found;if(m){if(u&&(u.type===`block-seq`?i(s,`BLOCK_AS_IMPLICIT_KEY`,`A block sequence may not be used as an implicit map key`):`indent`in u&&u.indent!==r.indent&&i(s,`BAD_INDENT`,mL)),!p.anchor&&!p.tag&&!d){c=p.end,p.comment&&(o.comment?o.comment+=`
`+p.comment:o.comment=p.comment);continue}(p.newlineAfterProp||dL(u))&&i(u??l[l.length-1],`MULTILINE_IMPLICIT_KEY`,`Implicit keys need to be on a single line`)}else p.found?.indent!==r.indent&&i(s,`BAD_INDENT`,mL);n.atKey=!0;let h=p.end,g=u?e(n,u,p,i):t(n,h,l,null,p,i);n.schema.compat&&fL(r.indent,u,i),n.atKey=!1,pL(n,o.items,g)&&i(h,`DUPLICATE_KEY`,`Map keys must be unique`);let _=uL(d??[],{indicator:`map-value-ind`,next:f,offset:g.range[2],onError:i,parentIndent:r.indent,startOnNewline:!u||u.type===`block-scalar`});if(s=_.end,_.found){m&&(f?.type===`block-map`&&!_.hasNewline&&i(s,`BLOCK_AS_IMPLICIT_KEY`,`Nested mappings are not allowed in compact mappings`),n.options.strict&&p.start<_.found.offset-1024&&i(g.range,`KEY_OVER_1024_CHARS`,`The : indicator must be at most 1024 chars after the start of an implicit block mapping key`));let c=f?e(n,f,_,i):t(n,s,d,null,_,i);n.schema.compat&&fL(r.indent,f,i),s=c.range[2];let l=new YF(g,c);n.options.keepSourceTokens&&(l.srcToken=a),o.items.push(l)}else{m&&i(g.range,`MISSING_CHAR`,`Implicit map keys need to be followed by map values`),_.comment&&(g.comment?g.comment+=`
`+_.comment:g.comment=_.comment);let e=new YF(g);n.options.keepSourceTokens&&(e.srcToken=a),o.items.push(e)}}return c&&c<s&&i(c,`IMPOSSIBLE`,`Map comment with trailing content`),o.range=[r.offset,s,c??s],o}function gL({composeNode:e,composeEmptyNode:t},n,r,i,a){let o=new((a?.nodeClass)??rI)(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let s=r.offset,c=null;for(let{start:a,value:l}of r.items){let u=uL(a,{indicator:`seq-item-ind`,next:l,offset:s,onError:i,parentIndent:r.indent,startOnNewline:!0});if(!u.found)if(u.anchor||u.tag||l)l?.type===`block-seq`?i(u.end,`BAD_INDENT`,`All sequence items must start at the same column`):i(s,`MISSING_CHAR`,`Sequence item without - indicator`);else{c=u.end,u.comment&&(o.comment=u.comment);continue}let d=l?e(n,l,u,i):t(n,u.end,a,null,u,i);n.schema.compat&&fL(r.indent,l,i),s=d.range[2],o.items.push(d)}return o.range=[r.offset,s,c??s],o}function _L(e,t,n,r){let i=``;if(e){let a=!1,o=``;for(let s of e){let{source:e,type:c}=s;switch(c){case`space`:a=!0;break;case`comment`:{n&&!a&&r(s,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`);let t=e.substring(1)||` `;i?i+=o+t:i=t,o=``;break}case`newline`:i&&(o+=e),a=!0;break;default:r(s,`UNEXPECTED_TOKEN`,`Unexpected ${c} at node end`)}t+=e.length}}return{comment:i,offset:t}}var vL=`Block collections are not allowed within flow collections`,yL=e=>e&&(e.type===`block-map`||e.type===`block-seq`);function bL({composeNode:e,composeEmptyNode:t},n,r,i,a){let o=r.start.source===`{`,s=o?`flow map`:`flow sequence`,c=new((a?.nodeClass)??(o?tI:rI))(n.schema);c.flow=!0;let l=n.atRoot;l&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let u=r.offset+r.start.source.length;for(let a=0;a<r.items.length;++a){let l=r.items[a],{start:d,key:f,sep:p,value:m}=l,h=uL(d,{flow:s,indicator:`explicit-key-ind`,next:f??p?.[0],offset:u,onError:i,parentIndent:r.indent,startOnNewline:!1});if(!h.found){if(!h.anchor&&!h.tag&&!p&&!m){a===0&&h.comma?i(h.comma,`UNEXPECTED_TOKEN`,`Unexpected , in ${s}`):a<r.items.length-1&&i(h.start,`UNEXPECTED_TOKEN`,`Unexpected empty item in ${s}`),h.comment&&(c.comment?c.comment+=`
`+h.comment:c.comment=h.comment),u=h.end;continue}!o&&n.options.strict&&dL(f)&&i(f,`MULTILINE_IMPLICIT_KEY`,`Implicit keys of flow sequence pairs need to be on a single line`)}if(a===0)h.comma&&i(h.comma,`UNEXPECTED_TOKEN`,`Unexpected , in ${s}`);else if(h.comma||i(h.start,`MISSING_CHAR`,`Missing , between ${s} items`),h.comment){let e=``;loop:for(let t of d)switch(t.type){case`comma`:case`space`:break;case`comment`:e=t.source.substring(1);break loop;default:break loop}if(e){let t=c.items[c.items.length-1];PP(t)&&(t=t.value??t.key),t.comment?t.comment+=`
`+e:t.comment=e,h.comment=h.comment.substring(e.length+1)}}if(!o&&!p&&!h.found){let r=m?e(n,m,h,i):t(n,h.end,p,null,h,i);c.items.push(r),u=r.range[2],yL(m)&&i(r.range,`BLOCK_IN_FLOW`,vL)}else{n.atKey=!0;let a=h.end,g=f?e(n,f,h,i):t(n,a,d,null,h,i);yL(f)&&i(g.range,`BLOCK_IN_FLOW`,vL),n.atKey=!1;let _=uL(p??[],{flow:s,indicator:`map-value-ind`,next:m,offset:g.range[2],onError:i,parentIndent:r.indent,startOnNewline:!1});if(_.found){if(!o&&!h.found&&n.options.strict){if(p)for(let e of p){if(e===_.found)break;if(e.type===`newline`){i(e,`MULTILINE_IMPLICIT_KEY`,`Implicit keys of flow sequence pairs need to be on a single line`);break}}h.start<_.found.offset-1024&&i(_.found,`KEY_OVER_1024_CHARS`,`The : indicator must be at most 1024 chars after the start of an implicit flow sequence key`)}}else m&&(`source`in m&&m.source?.[0]===`:`?i(m,`MISSING_CHAR`,`Missing space after : in ${s}`):i(_.start,`MISSING_CHAR`,`Missing , or : between ${s} items`));let v=m?e(n,m,_,i):_.found?t(n,_.end,p,null,_,i):null;v?yL(m)&&i(v.range,`BLOCK_IN_FLOW`,vL):_.comment&&(g.comment?g.comment+=`
`+_.comment:g.comment=_.comment);let y=new YF(g,v);if(n.options.keepSourceTokens&&(y.srcToken=l),o){let e=c;pL(n,e.items,g)&&i(a,`DUPLICATE_KEY`,`Map keys must be unique`),e.items.push(y)}else{let e=new tI(n.schema);e.flow=!0,e.items.push(y);let t=(v??g).range;e.range=[g.range[0],t[1],t[2]],c.items.push(e)}u=v?v.range[2]:_.end}}let d=o?`}`:`]`,[f,...p]=r.end,m=u;if(f?.source===d)m=f.offset+f.source.length;else{let e=s[0].toUpperCase()+s.substring(1),t=l?`${e} must end with a ${d}`:`${e} in block collection must be sufficiently indented and end with a ${d}`;i(u,l?`MISSING_CHAR`:`BAD_INDENT`,t),f&&f.source.length!==1&&p.unshift(f)}if(p.length>0){let e=_L(p,m,n.options.strict,i);e.comment&&(c.comment?c.comment+=`
`+e.comment:c.comment=e.comment),c.range=[r.offset,m,e.offset]}else c.range=[r.offset,m,m];return c}function xL(e,t,n,r,i,a){let o=n.type===`block-map`?hL(e,t,n,r,a):n.type===`block-seq`?gL(e,t,n,r,a):bL(e,t,n,r,a),s=o.constructor;return i===`!`||i===s.tagName?(o.tag=s.tagName,o):(i&&(o.tag=i),o)}function SL(e,t,n,r,i){let a=r.tag,o=a?t.directives.tagName(a.source,e=>i(a,`TAG_RESOLVE_FAILED`,e)):null;if(n.type===`block-seq`){let{anchor:e,newlineAfterProp:t}=r,n=e&&a?e.offset>a.offset?e:a:e??a;n&&(!t||t.offset<n.offset)&&i(n,`MISSING_CHAR`,`Missing newline after block sequence props`)}let s=n.type===`block-map`?`map`:n.type===`block-seq`?`seq`:n.start.source===`{`?`map`:`seq`;if(!a||!o||o===`!`||o===tI.tagName&&s===`map`||o===rI.tagName&&s===`seq`)return xL(e,t,n,i,o);let c=t.schema.tags.find(e=>e.tag===o&&e.collection===s);if(!c){let r=t.schema.knownTags[o];if(r?.collection===s)t.schema.tags.push(Object.assign({},r,{default:!1})),c=r;else return r?i(a,`BAD_COLLECTION_TYPE`,`${r.tag} used for ${s} collection, but expects ${r.collection??`scalar`}`,!0):i(a,`TAG_RESOLVE_FAILED`,`Unresolved tag: ${o}`,!0),xL(e,t,n,i,o)}let l=xL(e,t,n,i,o,c),u=c.resolve?.(l,e=>i(a,`TAG_RESOLVE_FAILED`,e),t.options)??l,d=RP(u)?u:new lF(u);return d.range=l.range,d.tag=o,c?.format&&(d.format=c.format),d}function CL(e,t,n){let r=t.offset,i=wL(t,e.options.strict,n);if(!i)return{value:``,type:null,comment:``,range:[r,r,r]};let a=i.mode===`>`?lF.BLOCK_FOLDED:lF.BLOCK_LITERAL,o=t.source?TL(t.source):[],s=o.length;for(let e=o.length-1;e>=0;--e){let t=o[e][1];if(t===``||t===`\r`)s=e;else break}if(s===0){let e=i.chomp===`+`&&o.length>0?`
`.repeat(Math.max(1,o.length-1)):``,n=r+i.length;return t.source&&(n+=t.source.length),{value:e,type:a,comment:i.comment,range:[r,n,n]}}let c=t.indent+i.indent,l=t.offset+i.length,u=0;for(let t=0;t<s;++t){let[r,a]=o[t];if(a===``||a===`\r`)i.indent===0&&r.length>c&&(c=r.length);else{r.length<c&&n(l+r.length,`MISSING_CHAR`,`Block scalars with more-indented leading empty lines must use an explicit indentation indicator`),i.indent===0&&(c=r.length),u=t,c===0&&!e.atRoot&&n(l,`BAD_INDENT`,`Block scalar values in collections must be indented`);break}l+=r.length+a.length+1}for(let e=o.length-1;e>=s;--e)o[e][0].length>c&&(s=e+1);let d=``,f=``,p=!1;for(let e=0;e<u;++e)d+=o[e][0].slice(c)+`
`;for(let e=u;e<s;++e){let[t,r]=o[e];l+=t.length+r.length+1;let s=r[r.length-1]===`\r`;if(s&&(r=r.slice(0,-1)),r&&t.length<c){let e=`Block scalar lines must not be less indented than their ${i.indent?`explicit indentation indicator`:`first line`}`;n(l-r.length-(s?2:1),`BAD_INDENT`,e),t=``}a===lF.BLOCK_LITERAL?(d+=f+t.slice(c)+r,f=`
`):t.length>c||r[0]===` `?(f===` `?f=`
`:!p&&f===`
`&&(f=`
`),d+=f+t.slice(c)+r,f=`
`,p=!0):r===``?f===`
`?d+=`
`:f=`
`:(d+=f+r,f=` `,p=!1)}switch(i.chomp){case`-`:break;case`+`:for(let e=s;e<o.length;++e)d+=`
`+o[e][0].slice(c);d[d.length-1]!==`
`&&(d+=`
`);break;default:d+=`
`}let m=r+i.length+t.source.length;return{value:d,type:a,comment:i.comment,range:[r,m,m]}}function wL({offset:e,props:t},n,r){if(t[0].type!==`block-scalar-header`)return r(t[0],`IMPOSSIBLE`,`Block scalar header not found`),null;let{source:i}=t[0],a=i[0],o=0,s=``,c=-1;for(let t=1;t<i.length;++t){let n=i[t];if(!s&&(n===`-`||n===`+`))s=n;else{let r=Number(n);!o&&r?o=r:c===-1&&(c=e+t)}}c!==-1&&r(c,`UNEXPECTED_TOKEN`,`Block scalar header includes extra characters: ${i}`);let l=!1,u=``,d=i.length;for(let e=1;e<t.length;++e){let i=t[e];switch(i.type){case`space`:l=!0;case`newline`:d+=i.source.length;break;case`comment`:n&&!l&&r(i,`MISSING_CHAR`,`Comments must be separated from other tokens by white space characters`),d+=i.source.length,u=i.source.substring(1);break;case`error`:r(i,`UNEXPECTED_TOKEN`,i.message),d+=i.source.length;break;default:{r(i,`UNEXPECTED_TOKEN`,`Unexpected token in block scalar header: ${i.type}`);let e=i.source;e&&typeof e==`string`&&(d+=e.length)}}}return{mode:a,indent:o,chomp:s,comment:u,length:d}}function TL(e){let t=e.split(/\n( *)/),n=t[0],r=n.match(/^( *)/),i=[r?.[1]?[r[1],n.slice(r[1].length)]:[``,n]];for(let e=1;e<t.length;e+=2)i.push([t[e],t[e+1]]);return i}function EL(e,t,n){let{offset:r,type:i,source:a,end:o}=e,s,c,l=(e,t,i)=>n(r+e,t,i);switch(i){case`scalar`:s=lF.PLAIN,c=DL(a,l);break;case`single-quoted-scalar`:s=lF.QUOTE_SINGLE,c=OL(a,l);break;case`double-quoted-scalar`:s=lF.QUOTE_DOUBLE,c=AL(a,l);break;default:return n(e,`UNEXPECTED_TOKEN`,`Expected a flow scalar value, but found: ${i}`),{value:``,type:null,comment:``,range:[r,r+a.length,r+a.length]}}let u=r+a.length,d=_L(o,u,t,n);return{value:c,type:s,comment:d.comment,range:[r,u,d.offset]}}function DL(e,t){let n=``;switch(e[0]){case` `:n=`a tab character`;break;case`,`:n=`flow indicator character ,`;break;case`%`:n=`directive indicator character %`;break;case`|`:case`>`:n=`block scalar indicator ${e[0]}`;break;case`@`:case"`":n=`reserved character ${e[0]}`;break}return n&&t(0,`BAD_SCALAR_START`,`Plain value cannot start with ${n}`),kL(e)}function OL(e,t){return(e[e.length-1]!==`'`||e.length===1)&&t(e.length,`MISSING_CHAR`,`Missing closing 'quote`),kL(e.slice(1,-1)).replace(/''/g,`'`)}function kL(e){let t,n;try{t=RegExp(`(.*?)(?<![ ])[ ]*\r?
`,`sy`),n=RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
`,`sy`)}catch{t=/(.*?)[ \t]*\r?\n/sy,n=/[ \t]*(.*?)[ \t]*\r?\n/sy}let r=t.exec(e);if(!r)return e;let i=r[1],a=` `,o=t.lastIndex;for(n.lastIndex=o;r=n.exec(e);)r[1]===``?a===`
`?i+=a:a=`
`:(i+=a+r[1],a=` `),o=n.lastIndex;let s=/[ \t]*(.*)/sy;return s.lastIndex=o,r=s.exec(e),i+a+(r?.[1]??``)}function AL(e,t){let n=``;for(let r=1;r<e.length-1;++r){let i=e[r];if(!(i===`\r`&&e[r+1]===`
`))if(i===`
`){let{fold:t,offset:i}=jL(e,r);n+=t,r=i}else if(i===`\\`){let i=e[++r],a=ML[i];if(a)n+=a;else if(i===`
`)for(i=e[r+1];i===` `||i===` `;)i=e[++r+1];else if(i===`\r`&&e[r+1]===`
`)for(i=e[++r+1];i===` `||i===` `;)i=e[++r+1];else if(i===`x`||i===`u`||i===`U`){let a=i===`x`?2:i===`u`?4:8;n+=NL(e,r+1,a,t),r+=a}else{let i=e.substr(r-1,2);t(r-1,`BAD_DQ_ESCAPE`,`Invalid escape sequence ${i}`),n+=i}}else if(i===` `||i===` `){let t=r,a=e[r+1];for(;a===` `||a===` `;)a=e[++r+1];a!==`
`&&!(a===`\r`&&e[r+2]===`
`)&&(n+=r>t?e.slice(t,r+1):i)}else n+=i}return(e[e.length-1]!==`"`||e.length===1)&&t(e.length,`MISSING_CHAR`,`Missing closing "quote`),n}function jL(e,t){let n=``,r=e[t+1];for(;(r===` `||r===` `||r===`
`||r===`\r`)&&!(r===`\r`&&e[t+2]!==`
`);)r===`
`&&(n+=`
`),t+=1,r=e[t+1];return n||(n=` `),{fold:n,offset:t}}var ML={0:`\0`,a:`\x07`,b:`\b`,e:`\x1B`,f:`\f`,n:`
`,r:`\r`,t:` `,v:`\v`,N:`…`,_:`\xA0`,L:`\u2028`,P:`\u2029`," ":` `,'"':`"`,"/":`/`,"\\":`\\`," ":` `};function NL(e,t,n,r){let i=e.substr(t,n),a=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(a)}catch{let i=e.substr(t-2,n+2);return r(t-2,`BAD_DQ_ESCAPE`,`Invalid escape sequence ${i}`),i}}function PL(e,t,n,r){let{value:i,type:a,comment:o,range:s}=t.type===`block-scalar`?CL(e,t,r):EL(t,e.options.strict,r),c=n?e.directives.tagName(n.source,e=>r(n,`TAG_RESOLVE_FAILED`,e)):null,l;l=e.options.stringKeys&&e.atKey?e.schema[OP]:c?FL(e.schema,i,c,n,r):t.type===`scalar`?IL(e,i,t,r):e.schema[OP];let u;try{let a=l.resolve(i,e=>r(n??t,`TAG_RESOLVE_FAILED`,e),e.options);u=FP(a)?a:new lF(a)}catch(e){let a=e instanceof Error?e.message:String(e);r(n??t,`TAG_RESOLVE_FAILED`,a),u=new lF(i)}return u.range=s,u.source=i,a&&(u.type=a),c&&(u.tag=c),l.format&&(u.format=l.format),o&&(u.comment=o),u}function FL(e,t,n,r,i){if(n===`!`)return e[OP];let a=[];for(let t of e.tags)if(!t.collection&&t.tag===n)if(t.default&&t.test)a.push(t);else return t;for(let e of a)if(e.test?.test(t))return e;let o=e.knownTags[n];return o&&!o.collection?(e.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(r,`TAG_RESOLVE_FAILED`,`Unresolved tag: ${n}`,n!==`tag:yaml.org,2002:str`),e[OP])}function IL({atKey:e,directives:t,schema:n},r,i,a){let o=n.tags.find(t=>(t.default===!0||e&&t.default===`key`)&&t.test?.test(r))||n[OP];if(n.compat){let e=n.compat.find(e=>e.default&&e.test?.test(r))??n[OP];o.tag!==e.tag&&a(i,`TAG_RESOLVE_FAILED`,`Value may be parsed as either ${t.tagString(o.tag)} or ${t.tagString(e.tag)}`,!0)}return o}function LL(e,t,n){if(t){n??(n=t.length);for(let r=n-1;r>=0;--r){let n=t[r];switch(n.type){case`space`:case`comment`:case`newline`:e-=n.source.length;continue}for(n=t[++r];n?.type===`space`;)e+=n.source.length,n=t[++r];break}}return e}var RL={composeNode:zL,composeEmptyNode:BL};function zL(e,t,n,r){let i=e.atKey,{spaceBefore:a,comment:o,anchor:s,tag:c}=n,l,u=!0;switch(t.type){case`alias`:l=VL(e,t,r),(s||c)&&r(t,`ALIAS_PROPS`,`An alias node must not specify any properties`);break;case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:case`block-scalar`:l=PL(e,t,c,r),s&&(l.anchor=s.source.substring(1));break;case`block-map`:case`block-seq`:case`flow-collection`:try{l=SL(RL,e,t,n,r),s&&(l.anchor=s.source.substring(1))}catch(e){r(t,`RESOURCE_EXHAUSTION`,e instanceof Error?e.message:String(e))}break;default:r(t,`UNEXPECTED_TOKEN`,t.type===`error`?t.message:`Unsupported token (type: ${t.type})`),u=!1}return l??(l=BL(e,t.offset,void 0,null,n,r)),s&&l.anchor===``&&r(s,`BAD_ALIAS`,`Anchor cannot be an empty string`),i&&e.options.stringKeys&&(!FP(l)||typeof l.value!=`string`||l.tag&&l.tag!==`tag:yaml.org,2002:str`)&&r(c??t,`NON_STRING_KEY`,`With stringKeys, all keys must be strings`),a&&(l.spaceBefore=!0),o&&(t.type===`scalar`&&t.source===``?l.comment=o:l.commentBefore=o),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function BL(e,t,n,r,{spaceBefore:i,comment:a,anchor:o,tag:s,end:c},l){let u=PL(e,{type:`scalar`,offset:LL(t,n,r),indent:-1,source:``},s,l);return o&&(u.anchor=o.source.substring(1),u.anchor===``&&l(o,`BAD_ALIAS`,`Anchor cannot be an empty string`)),i&&(u.spaceBefore=!0),a&&(u.comment=a,u.range[2]=c),u}function VL({options:e},{offset:t,source:n,end:r},i){let a=new oF(n.substring(1));a.source===``&&i(t,`BAD_ALIAS`,`Alias cannot be an empty string`),a.source.endsWith(`:`)&&i(t+n.length-1,`BAD_ALIAS`,`Alias ending in : is ambiguous`,!0);let o=t+n.length,s=_L(r,o,e.strict,i);return a.range=[t,o,s.offset],s.comment&&(a.comment=s.comment),a}function HL(e,t,{offset:n,start:r,value:i,end:a},o){let s=new iL(void 0,Object.assign({_directives:t},e)),c={atKey:!1,atRoot:!0,directives:s.directives,options:s.options,schema:s.schema},l=uL(r,{indicator:`doc-start`,next:i??a?.[0],offset:n,onError:o,parentIndent:0,startOnNewline:!0});l.found&&(s.directives.docStart=!0,i&&(i.type===`block-map`||i.type===`block-seq`)&&!l.hasNewline&&o(l.end,`MISSING_CHAR`,`Block collection cannot start on same line with directives-end marker`)),s.contents=i?zL(c,i,l,o):BL(c,l.end,r,null,l,o);let u=s.contents.range[2],d=_L(a,u,!1,o);return d.comment&&(s.comment=d.comment),s.range=[n,u,d.offset],s}function UL(e){if(typeof e==`number`)return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:n}=e;return[t,t+(typeof n==`string`?n.length:1)]}function WL(e){let t=``,n=!1,r=!1;for(let i=0;i<e.length;++i){let a=e[i];switch(a[0]){case`#`:t+=(t===``?``:r?`
`:`
`)+(a.substring(1)||` `),n=!0,r=!1;break;case`%`:e[i+1]?.[0]!==`#`&&(i+=1),n=!1;break;default:n||(r=!0),n=!1}}return{comment:t,afterEmptyLine:r}}var GL=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(e,t,n,r)=>{let i=UL(e);r?this.warnings.push(new cL(i,t,n)):this.errors.push(new sL(i,t,n))},this.directives=new QP({version:e.version||`1.2`}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:r}=WL(this.prelude);if(n){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}\n${n}`:n;else if(r||e.directives.docStart||!i)e.commentBefore=n;else if(LP(i)&&!i.flow&&i.items.length>0){let e=i.items[0];PP(e)&&(e=e.key);let t=e.commentBefore;e.commentBefore=t?`${n}\n${t}`:n}else{let e=i.commentBefore;i.commentBefore=e?`${n}\n${e}`:n}}if(t){for(let t=0;t<this.errors.length;++t)e.errors.push(this.errors[t]);for(let t=0;t<this.warnings.length;++t)e.warnings.push(this.warnings[t])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:WL(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(let t of e)yield*this.next(t);yield*this.end(t,n)}*next(e){switch(e.type){case`directive`:this.directives.add(e.source,(t,n,r)=>{let i=UL(e);i[0]+=t,this.onError(i,`BAD_DIRECTIVE`,n,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case`document`:{let t=HL(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,`MISSING_CHAR`,`Missing directives-end/doc-start indicator line`),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case`byte-order-mark`:case`space`:break;case`comment`:case`newline`:this.prelude.push(e.source);break;case`error`:{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new sL(UL(e),`UNEXPECTED_TOKEN`,t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case`doc-end`:{if(!this.doc){this.errors.push(new sL(UL(e),`UNEXPECTED_TOKEN`,`Unexpected doc-end without preceding document`));break}this.doc.directives.docEnd=!0;let t=_L(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let e=this.doc.comment;this.doc.comment=e?`${e}\n${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new sL(UL(e),`UNEXPECTED_TOKEN`,`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let e=new iL(void 0,Object.assign({_directives:this.directives},this.options));this.atDirectives&&this.onError(t,`MISSING_CHAR`,`Missing directives-end indicator line`),e.range=[0,t,t],this.decorate(e,!1),yield e}}},KL=Symbol(`break visit`),qL=Symbol(`skip children`),JL=Symbol(`remove item`);function YL(e,t){`type`in e&&e.type===`document`&&(e={start:e.start,value:e.value}),XL(Object.freeze([]),e,t)}YL.BREAK=KL,YL.SKIP=qL,YL.REMOVE=JL,YL.itemAtPath=(e,t)=>{let n=e;for(let[e,r]of t){let t=n?.[e];if(t&&`items`in t)n=t.items[r];else return}return n},YL.parentCollection=(e,t)=>{let n=YL.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],i=n?.[r];if(i&&`items`in i)return i;throw Error(`Parent collection not found`)};function XL(e,t,n){let r=n(t,e);if(typeof r==`symbol`)return r;for(let i of[`key`,`value`]){let a=t[i];if(a&&`items`in a){for(let t=0;t<a.items.length;++t){let r=XL(Object.freeze(e.concat([[i,t]])),a.items[t],n);if(typeof r==`number`)t=r-1;else if(r===KL)return KL;else r===JL&&(a.items.splice(t,1),--t)}typeof r==`function`&&i===`key`&&(r=r(t,e))}}return typeof r==`function`?r(t,e):r}function ZL(e){switch(e){case``:return`byte-order-mark`;case``:return`doc-mode`;case``:return`flow-error-end`;case``:return`scalar`;case`---`:return`doc-start`;case`...`:return`doc-end`;case``:case`
`:case`\r
`:return`newline`;case`-`:return`seq-item-ind`;case`?`:return`explicit-key-ind`;case`:`:return`map-value-ind`;case`{`:return`flow-map-start`;case`}`:return`flow-map-end`;case`[`:return`flow-seq-start`;case`]`:return`flow-seq-end`;case`,`:return`comma`}switch(e[0]){case` `:case` `:return`space`;case`#`:return`comment`;case`%`:return`directive-line`;case`*`:return`alias`;case`&`:return`anchor`;case`!`:return`tag`;case`'`:return`single-quoted-scalar`;case`"`:return`double-quoted-scalar`;case`|`:case`>`:return`block-scalar-header`}return null}function QL(e){switch(e){case void 0:case` `:case`
`:case`\r`:case` `:return!0;default:return!1}}var $L=new Set(`0123456789ABCDEFabcdef`),eR=new Set(`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()`),tR=new Set(`,[]{}`),nR=new Set(` ,[]{}
\r `),rR=e=>!e||nR.has(e),iR=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer=``,this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if(typeof e!=`string`)throw TypeError(`source is not a string`);this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let n=this.next??`stream`;for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===` `||t===` `;)t=this.buffer[++e];return!t||t===`#`||t===`
`||t===`\r`&&this.buffer[e+1]===`
`}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let n=0;for(;t===` `;)t=this.buffer[++n+e];if(t===`\r`){let t=this.buffer[n+e+1];if(t===`
`||!t&&!this.atEnd)return e+n+1}return t===`
`||n>=this.indentNext||!t&&!this.atEnd?e+n:-1}if(t===`-`||t===`.`){let t=this.buffer.substr(e,3);if((t===`---`||t===`...`)&&QL(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!=`number`||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]===`\r`&&--e,this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case`stream`:return yield*this.parseStream();case`line-start`:return yield*this.parseLineStart();case`block-start`:return yield*this.parseBlockStart();case`doc`:return yield*this.parseDocument();case`flow`:return yield*this.parseFlowCollection();case`quoted-scalar`:return yield*this.parseQuotedScalar();case`block-scalar`:return yield*this.parseBlockScalar();case`plain-scalar`:return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext(`stream`);if(e[0]===``&&(yield*this.pushCount(1),e=e.substring(1)),e[0]===`%`){let t=e.length,n=e.indexOf(`#`);for(;n!==-1;){let r=e[n-1];if(r===` `||r===` `){t=n-1;break}else n=e.indexOf(`#`,n+1)}for(;;){let n=e[t-1];if(n===` `||n===` `)--t;else break}let r=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-r),this.pushNewline(),`stream`}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),`stream`}return yield``,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext(`line-start`);if(e===`-`||e===`.`){if(!this.atEnd&&!this.hasChars(4))return this.setNext(`line-start`);let e=this.peek(3);if((e===`---`||e===`...`)&&QL(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,e===`---`?`doc`:`stream`}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!QL(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext(`block-start`);if((e===`-`||e===`?`||e===`:`)&&QL(t)){let e=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=e,`block-start`}return`doc`}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext(`doc`);let t=yield*this.pushIndicators();switch(e[t]){case`#`:yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case`{`:case`[`:return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,`flow`;case`}`:case`]`:return yield*this.pushCount(1),`doc`;case`*`:return yield*this.pushUntil(rR),`doc`;case`"`:case`'`:return yield*this.parseQuotedScalar();case`|`:case`>`:return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,n=-1;do e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=n=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);let r=this.getLine();if(r===null)return this.setNext(`flow`);if((n!==-1&&n<this.indentNext&&r[0]!==`#`||n===0&&(r.startsWith(`---`)||r.startsWith(`...`))&&QL(r[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(r[0]===`]`||r[0]===`}`)))return this.flowLevel=0,yield``,yield*this.parseLineStart();let i=0;for(;r[i]===`,`;)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),r[i]){case void 0:return`flow`;case`#`:return yield*this.pushCount(r.length-i),`flow`;case`{`:case`[`:return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,`flow`;case`}`:case`]`:return yield*this.pushCount(1),this.flowKey=!0,--this.flowLevel,this.flowLevel?`flow`:`doc`;case`*`:return yield*this.pushUntil(rR),`flow`;case`"`:case`'`:return this.flowKey=!0,yield*this.parseQuotedScalar();case`:`:{let e=this.charAt(1);if(this.flowKey||QL(e)||e===`,`)return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),`flow`}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if(e===`'`)for(;t!==-1&&this.buffer[t+1]===`'`;)t=this.buffer.indexOf(`'`,t+2);else for(;t!==-1;){let e=0;for(;this.buffer[t-1-e]===`\\`;)e+=1;if(e%2==0)break;t=this.buffer.indexOf(`"`,t+1)}let n=this.buffer.substring(0,t),r=n.indexOf(`
`,this.pos);if(r!==-1){for(;r!==-1;){let e=this.continueScalar(r+1);if(e===-1)break;r=n.indexOf(`
`,e)}r!==-1&&(t=r-(n[r-1]===`\r`?2:1))}if(t===-1){if(!this.atEnd)return this.setNext(`quoted-scalar`);t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?`flow`:`doc`}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if(t===`+`)this.blockScalarKeep=!0;else if(t>`0`&&t<=`9`)this.blockScalarIndent=Number(t)-1;else if(t!==`-`)break}return yield*this.pushUntil(e=>QL(e)||e===`#`)}*parseBlockScalar(){let e=this.pos-1,t=0,n;loop:for(let r=this.pos;n=this.buffer[r];++r)switch(n){case` `:t+=1;break;case`
`:e=r,t=0;break;case`\r`:{let e=this.buffer[r+1];if(!e&&!this.atEnd)return this.setNext(`block-scalar`);if(e===`
`)break}default:break loop}if(!n&&!this.atEnd)return this.setNext(`block-scalar`);if(t>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=t:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let t=this.continueScalar(e+1);if(t===-1)break;e=this.buffer.indexOf(`
`,t)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext(`block-scalar`);e=this.buffer.length}}let r=e+1;for(n=this.buffer[r];n===` `;)n=this.buffer[++r];if(n===` `){for(;n===` `||n===` `||n===`\r`||n===`
`;)n=this.buffer[++r];e=r-1}else if(!this.blockScalarKeep)do{let n=e-1,r=this.buffer[n];r===`\r`&&(r=this.buffer[--n]);let i=n;for(;r===` `;)r=this.buffer[--n];if(r===`
`&&n>=this.pos&&n+1+t>i)e=n;else break}while(!0);return yield``,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,n=this.pos-1,r;for(;r=this.buffer[++n];)if(r===`:`){let r=this.buffer[n+1];if(QL(r)||e&&tR.has(r))break;t=n}else if(QL(r)){let i=this.buffer[n+1];if(r===`\r`&&(i===`
`?(n+=1,r=`
`,i=this.buffer[n+1]):t=n),i===`#`||e&&tR.has(i))break;if(r===`
`){let e=this.continueScalar(n+1);if(e===-1)break;n=Math.max(n,e-2)}}else{if(e&&tR.has(r))break;t=n}return!r&&!this.atEnd?this.setNext(`plain-scalar`):(yield``,yield*this.pushToIndex(t+1,!0),e?`flow`:`doc`)}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield``),0)}*pushIndicators(){let e=0;loop:for(;;){switch(this.charAt(0)){case`!`:e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue loop;case`&`:e+=yield*this.pushUntil(rR),e+=yield*this.pushSpaces(!0);continue loop;case`-`:case`?`:case`:`:{let t=this.flowLevel>0,n=this.charAt(1);if(QL(n)||t&&tR.has(n)){t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue loop}}}break loop}return e}*pushTag(){if(this.charAt(1)===`<`){let e=this.pos+2,t=this.buffer[e];for(;!QL(t)&&t!==`>`;)t=this.buffer[++e];return yield*this.pushToIndex(t===`>`?e+1:e,!1)}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(eR.has(t))t=this.buffer[++e];else if(t===`%`&&$L.has(this.buffer[e+1])&&$L.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
`?yield*this.pushCount(1):e===`\r`&&this.charAt(1)===`
`?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,n;do n=this.buffer[++t];while(n===` `||e&&n===` `);let r=t-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=t),r}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}},aR=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t<n;){let r=t+n>>1;this.lineStarts[r]<e?t=r+1:n=r}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(t===0)return{line:0,col:e};let r=this.lineStarts[t-1];return{line:t,col:e-r+1}}}};function oR(e,t){for(let n=0;n<e.length;++n)if(e[n].type===t)return!0;return!1}function sR(e){for(let t=0;t<e.length;++t)switch(e[t].type){case`space`:case`comment`:case`newline`:break;default:return t}return-1}function cR(e){switch(e?.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:case`flow-collection`:return!0;default:return!1}}function lR(e){switch(e.type){case`document`:return e.start;case`block-map`:{let t=e.items[e.items.length-1];return t.sep??t.start}case`block-seq`:return e.items[e.items.length-1].start;default:return[]}}function uR(e){if(e.length===0)return[];let t=e.length;loop:for(;--t>=0;)switch(e[t].type){case`doc-start`:case`explicit-key-ind`:case`map-value-ind`:case`seq-item-ind`:case`newline`:break loop}for(;e[++t]?.type===`space`;);return e.splice(t,e.length)}function dR(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let n=0;n<t.length;++n)e.push(t[n])}function fR(e){if(e.start.type===`flow-seq-start`)for(let t of e.items)t.sep&&!t.value&&!oR(t.start,`explicit-key-ind`)&&!oR(t.sep,`map-value-ind`)&&(t.key&&(t.value=t.key),delete t.key,cR(t.value)?t.value.end?dR(t.value.end,t.sep):t.value.end=t.sep:dR(t.start,t.sep),delete t.sep)}var pR=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source=``,this.type=``,this.lexer=new iR,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=ZL(e);if(!t){let t=`Not a YAML token: ${e}`;yield*this.pop({type:`error`,offset:this.offset,message:t,source:e}),this.offset+=e.length}else if(t===`scalar`)this.atNewLine=!1,this.atScalar=!0,this.type=`scalar`;else{switch(this.type=t,yield*this.step(),t){case`newline`:this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case`space`:this.atNewLine&&e[0]===` `&&(this.indent+=e.length);break;case`explicit-key-ind`:case`map-value-ind`:case`seq-item-ind`:this.atNewLine&&(this.indent+=e.length);break;case`doc-mode`:case`flow-error-end`:return;default:this.atNewLine=!1}this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type===`doc-end`&&e?.type!==`doc-end`){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:`doc-end`,offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case`document`:return yield*this.document(e);case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return yield*this.scalar(e);case`block-scalar`:return yield*this.blockScalar(e);case`block-map`:return yield*this.blockMap(e);case`block-seq`:return yield*this.blockSequence(e);case`flow-collection`:return yield*this.flowCollection(e);case`doc-end`:return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(!t)yield{type:`error`,offset:this.offset,source:``,message:`Tried to pop an empty stack`};else if(this.stack.length===0)yield t;else{let e=this.peek(1);switch(t.type===`block-scalar`?t.indent=`indent`in e?e.indent:0:t.type===`flow-collection`&&e.type===`document`&&(t.indent=0),t.type===`flow-collection`&&fR(t),e.type){case`document`:e.value=t;break;case`block-scalar`:e.props.push(t);break;case`block-map`:{let n=e.items[e.items.length-1];if(n.value){e.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=t;else{Object.assign(n,{key:t,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case`block-seq`:{let n=e.items[e.items.length-1];n.value?e.items.push({start:[],value:t}):n.value=t;break}case`flow-collection`:{let n=e.items[e.items.length-1];!n||n.value?e.items.push({start:[],key:t,sep:[]}):n.sep?n.value=t:Object.assign(n,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((e.type===`document`||e.type===`block-map`||e.type===`block-seq`)&&(t.type===`block-map`||t.type===`block-seq`)){let n=t.items[t.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&sR(n.start)===-1&&(t.indent===0||n.start.every(e=>e.type!==`comment`||e.indent<t.indent))&&(e.type===`document`?e.end=n.start:e.items.push({start:n.start}),t.items.splice(-1,1))}}}*stream(){switch(this.type){case`directive-line`:yield{type:`directive`,offset:this.offset,source:this.source};return;case`byte-order-mark`:case`space`:case`comment`:case`newline`:yield this.sourceToken;return;case`doc-mode`:case`doc-start`:{let e={type:`document`,offset:this.offset,start:[]};this.type===`doc-start`&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:`error`,offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case`doc-start`:sR(e.start)===-1?e.start.push(this.sourceToken):(yield*this.pop(),yield*this.step());return;case`anchor`:case`tag`:case`space`:case`comment`:case`newline`:e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:`error`,offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type===`map-value-ind`){let t=uR(lR(this.peek(2))),n;e.end?(n=e.end,n.push(this.sourceToken),delete e.end):n=[this.sourceToken];let r={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:t,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case`space`:case`comment`:case`newline`:e.props.push(this.sourceToken);return;case`scalar`:if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let e=this.source.indexOf(`
`)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
`,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(this.onKeyLine=!1,t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){dR(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,r=n&&(t.sep||t.explicitKey)&&this.type!==`seq-item-ind`,i=[];if(r&&t.sep&&!t.value){let n=[];for(let r=0;r<t.sep.length;++r){let i=t.sep[r];switch(i.type){case`newline`:n.push(r);break;case`space`:break;case`comment`:i.indent>e.indent&&(n.length=0);break;default:n.length=0}}n.length>=2&&(i=t.sep.splice(n[1]))}switch(this.type){case`anchor`:case`tag`:r||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`explicit-key-ind`:!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):r||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case`map-value-ind`:if(t.explicitKey)if(!t.sep)if(oR(t.start,`newline`))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=uR(t.start);this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(oR(t.sep,`map-value-ind`))this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(cR(t.key)&&!oR(t.sep,`newline`)){let e=uR(t.start),n=t.key,r=t.sep;r.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:n,sep:r}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else t.sep?t.value||r?e.items.push({start:i,key:null,sep:[this.sourceToken]}):oR(t.sep,`map-value-ind`)?this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);r||t.value?(e.items.push({start:i,key:n,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(n):(Object.assign(t,{key:n,sep:[]}),this.onKeyLine=!0);return}default:{let r=this.startBlockValue(e);if(r){if(r.type===`block-seq`){if(!t.explicitKey&&t.sep&&!oR(t.sep,`newline`)){yield*this.pop({type:`error`,offset:this.offset,message:`Unexpected block-seq-ind on same line with key`,source:this.source});return}}else n&&e.items.push({start:i});this.stack.push(r);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){dR(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case`anchor`:case`tag`:if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case`seq-item-ind`:if(this.indent!==e.indent)break;t.value||oR(t.start,`seq-item-ind`)?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t){this.stack.push(t);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type===`flow-error-end`){let e;do yield*this.pop(),e=this.peek(1);while(e?.type===`flow-collection`)}else if(e.end.length===0){switch(this.type){case`comma`:case`explicit-key-ind`:!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case`map-value-ind`:!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case`space`:case`comment`:case`newline`:case`anchor`:case`tag`:!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]});return}case`flow-map-end`:case`flow-seq-end`:e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if(t.type===`block-map`&&(this.type===`map-value-ind`&&t.indent===e.indent||this.type===`newline`&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type===`map-value-ind`&&t.type!==`flow-collection`){let n=uR(lR(t));fR(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let i={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf(`
`)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
`,e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return this.flowScalar(this.type);case`block-scalar-header`:return{type:`block-scalar`,offset:this.offset,indent:this.indent,props:[this.sourceToken],source:``};case`flow-map-start`:case`flow-seq-start`:return{type:`flow-collection`,offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case`seq-item-ind`:return{type:`block-seq`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case`explicit-key-ind`:{this.onKeyLine=!0;let t=uR(lR(e));return t.push(this.sourceToken),{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case`map-value-ind`:{this.onKeyLine=!0;let t=uR(lR(e));return{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!==`comment`||this.indent<=t?!1:e.every(e=>e.type===`newline`||e.type===`space`)}*documentEnd(e){this.type!==`doc-mode`&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case`comma`:case`doc-start`:case`doc-end`:case`flow-seq-end`:case`flow-map-end`:case`map-value-ind`:yield*this.pop(),yield*this.step();break;case`newline`:this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop())}}};function mR(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new aR||null,prettyErrors:t}}function hR(e,t={}){let{lineCounter:n,prettyErrors:r}=mR(t),i=new pR(n?.addNewLine),a=new GL(t),o=null;for(let t of a.compose(i.parse(e),!0,e.length))if(!o)o=t;else if(o.options.logLevel!==`silent`){o.errors.push(new sL(t.range.slice(0,2),`MULTIPLE_DOCS`,`Source contains multiple documents; please use YAML.parseAllDocuments()`));break}return r&&n&&(o.errors.forEach(lL(e,n)),o.warnings.forEach(lL(e,n))),o}function gR(e,t,n){let r;typeof t==`function`?r=t:n===void 0&&t&&typeof t==`object`&&(n=t);let i=hR(e,n);if(!i)return null;if(i.warnings.forEach(e=>zF(i.options.logLevel,e)),i.errors.length>0){if(i.options.logLevel!==`silent`)throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:r},n))}var _R={section:`ConfigSection-module__section___36A5y`,header:`ConfigSection-module__header___9y9kI`,titleRow:`ConfigSection-module__titleRow___MDqPS`,indexBadge:`ConfigSection-module__indexBadge___BNk-6`,iconBadge:`ConfigSection-module__iconBadge___608--`,headingGroup:`ConfigSection-module__headingGroup___iqK3P`,title:`ConfigSection-module__title___fNwM-`,description:`ConfigSection-module__description___uM2Zw`,content:`ConfigSection-module__content___RBAGw`},vR=(0,y.forwardRef)(function({title:e,description:t,indexLabel:n,icon:r,className:i,children:a,...o},s){return(0,H.jsxs)(`section`,{ref:s,className:[_R.section,i].filter(Boolean).join(` `),...o,children:[(0,H.jsxs)(`header`,{className:_R.header,children:[(0,H.jsxs)(`div`,{className:_R.titleRow,children:[n?(0,H.jsx)(`span`,{className:_R.indexBadge,children:n}):null,r?(0,H.jsx)(`span`,{className:_R.iconBadge,children:r}):null]}),(0,H.jsxs)(`div`,{className:_R.headingGroup,children:[(0,H.jsx)(`h2`,{className:_R.title,children:e}),t?(0,H.jsx)(`p`,{className:_R.description,children:t}):null]})]}),(0,H.jsx)(`div`,{className:_R.content,children:a})]})});function yR(e){let[t,n]=(0,y.useState)(()=>window.matchMedia(e).matches);return(0,y.useEffect)(()=>{let t=window.matchMedia(e),r=e=>{n(e.matches)};return r({matches:t.matches}),t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)},[e]),t}var Y={visualEditor:`VisualConfigEditor-module__visualEditor___qt8bb`,expandableInputWrapper:`VisualConfigEditor-module__expandableInputWrapper___k5rpc`,expandableTextarea:`VisualConfigEditor-module__expandableTextarea___OVvmN`,expandableToggle:`VisualConfigEditor-module__expandableToggle___M5mBU`,expandableInputExpanded:`VisualConfigEditor-module__expandableInputExpanded___9zfyv`,overview:`VisualConfigEditor-module__overview___OzHQc`,overviewHeader:`VisualConfigEditor-module__overviewHeader___A8kWa`,overviewMeta:`VisualConfigEditor-module__overviewMeta___SM8ZF`,overviewPill:`VisualConfigEditor-module__overviewPill___eXq54`,overviewPillWarning:`VisualConfigEditor-module__overviewPillWarning___ruscj`,modeSwitch:`VisualConfigEditor-module__modeSwitch___RaXgu`,modeButton:`VisualConfigEditor-module__modeButton___4q91-`,modeButtonActive:`VisualConfigEditor-module__modeButtonActive___2l-EB`,storeAuthEditor:`VisualConfigEditor-module__storeAuthEditor___jw1fz`,storeAuthEmpty:`VisualConfigEditor-module__storeAuthEmpty___PXnX1`,storeAuthRule:`VisualConfigEditor-module__storeAuthRule___CcEWk`,storeAuthRuleHeader:`VisualConfigEditor-module__storeAuthRuleHeader___Y7bYd`,storeAuthGrid:`VisualConfigEditor-module__storeAuthGrid___zNz-e`,storeAuthField:`VisualConfigEditor-module__storeAuthField___POf5Y`,storeAuthApplyTo:`VisualConfigEditor-module__storeAuthApplyTo___h-nVP`,storeAuthCheckboxes:`VisualConfigEditor-module__storeAuthCheckboxes___-SUTy`,storeAuthCheckbox:`VisualConfigEditor-module__storeAuthCheckbox___ewJAJ`,searchBox:`VisualConfigEditor-module__searchBox___5Hbe-`,searchControl:`VisualConfigEditor-module__searchControl___qs3dO`,searchIcon:`VisualConfigEditor-module__searchIcon___SSFNZ`,searchResults:`VisualConfigEditor-module__searchResults___LmzzD`,searchResultItem:`VisualConfigEditor-module__searchResultItem___WXj4b`,searchResultItemActive:`VisualConfigEditor-module__searchResultItemActive___D4PcP`,searchResultLabel:`VisualConfigEditor-module__searchResultLabel___C-XH4`,searchResultQualifier:`VisualConfigEditor-module__searchResultQualifier___L6ySy`,searchResultSection:`VisualConfigEditor-module__searchResultSection___2Ncbv`,searchEmpty:`VisualConfigEditor-module__searchEmpty___SfISJ`,fieldAnchor:`VisualConfigEditor-module__fieldAnchor___b8GES`,fieldHighlightActive:`VisualConfigEditor-module__fieldHighlightActive___N9bvD`,cfgFieldHighlight:`VisualConfigEditor-module__cfgFieldHighlight___tprRG`,simpleView:`VisualConfigEditor-module__simpleView___2aSgt`,simpleForm:`VisualConfigEditor-module__simpleForm___fP8sP`,simpleField:`VisualConfigEditor-module__simpleField___PKRxy`,simpleBanner:`VisualConfigEditor-module__simpleBanner___IrwOV`,simpleBannerAction:`VisualConfigEditor-module__simpleBannerAction___Qu19P`,simpleMore:`VisualConfigEditor-module__simpleMore___8Wff6`,workspace:`VisualConfigEditor-module__workspace___gqLDP`,mobileSectionNav:`VisualConfigEditor-module__mobileSectionNav___d-TWK`,mobileSectionNavScroller:`VisualConfigEditor-module__mobileSectionNavScroller___VGXz-`,mobileSectionNavButton:`VisualConfigEditor-module__mobileSectionNavButton___mR9BT`,mobileSectionNavButtonActive:`VisualConfigEditor-module__mobileSectionNavButtonActive___ug6e6`,mobileSectionNavIndex:`VisualConfigEditor-module__mobileSectionNavIndex___eVeF8`,mobileSectionNavLabel:`VisualConfigEditor-module__mobileSectionNavLabel___oOjqs`,mobileSectionNavBadge:`VisualConfigEditor-module__mobileSectionNavBadge___Gp-uW`,sidebar:`VisualConfigEditor-module__sidebar___SiTqL`,sidebarRail:`VisualConfigEditor-module__sidebarRail___aktyQ`,navList:`VisualConfigEditor-module__navList___Z7CyL`,navButton:`VisualConfigEditor-module__navButton___EtGL7`,navButtonActive:`VisualConfigEditor-module__navButtonActive___oMl0Y`,navIndex:`VisualConfigEditor-module__navIndex___NEFe2`,navMain:`VisualConfigEditor-module__navMain___JoJFq`,navHeadingRow:`VisualConfigEditor-module__navHeadingRow___ulXXL`,navLabelWrap:`VisualConfigEditor-module__navLabelWrap___3-6B4`,navIcon:`VisualConfigEditor-module__navIcon___ZGr7m`,navLabel:`VisualConfigEditor-module__navLabel___-reRP`,navBadge:`VisualConfigEditor-module__navBadge___UKNbs`,sections:`VisualConfigEditor-module__sections___UAac4`,sectionGrid:`VisualConfigEditor-module__sectionGrid___KHy6p`,sectionStack:`VisualConfigEditor-module__sectionStack___nY-l7`,divider:`VisualConfigEditor-module__divider___RHNc6`,toggleRow:`VisualConfigEditor-module__toggleRow___Lb65M`,toggleCopy:`VisualConfigEditor-module__toggleCopy___IC6RU`,toggleTitle:`VisualConfigEditor-module__toggleTitle___ep81q`,toggleDescription:`VisualConfigEditor-module__toggleDescription___DrJw5`,fieldShell:`VisualConfigEditor-module__fieldShell___Q-UC-`,fieldLabel:`VisualConfigEditor-module__fieldLabel___B0C9J`,fieldControl:`VisualConfigEditor-module__fieldControl___bzi3y`,fieldHint:`VisualConfigEditor-module__fieldHint___lA9jH`,inlinePill:`VisualConfigEditor-module__inlinePill___qI2DE`,subsection:`VisualConfigEditor-module__subsection___wLWRY`,subsectionHeader:`VisualConfigEditor-module__subsectionHeader___OAu1N`,subsectionTitle:`VisualConfigEditor-module__subsectionTitle___9spj4`,subsectionDescription:`VisualConfigEditor-module__subsectionDescription___Cy1zr`,blockHeaderRow:`VisualConfigEditor-module__blockHeaderRow___bw0Ek`,blockStack:`VisualConfigEditor-module__blockStack___skL7x`,ruleCard:`VisualConfigEditor-module__ruleCard___PtDhf`,ruleCardHeader:`VisualConfigEditor-module__ruleCardHeader___MYRwJ`,ruleCardTitle:`VisualConfigEditor-module__ruleCardTitle___tshgp`,blockLabel:`VisualConfigEditor-module__blockLabel___NjEEm`,actionRow:`VisualConfigEditor-module__actionRow___XLzbJ`,emptyState:`VisualConfigEditor-module__emptyState___A7-n3`,stringList:`VisualConfigEditor-module__stringList___lQQGc`,stringListRow:`VisualConfigEditor-module__stringListRow___4k2cz`,payloadRuleModelRow:`VisualConfigEditor-module__payloadRuleModelRow___VKBv1`,payloadRuleModelRowProtocolFirst:`VisualConfigEditor-module__payloadRuleModelRowProtocolFirst___OaJ2F`,payloadModelGroup:`VisualConfigEditor-module__payloadModelGroup___7fsJd`,payloadModelAdvanced:`VisualConfigEditor-module__payloadModelAdvanced___y09Hm`,payloadAdvancedGrid:`VisualConfigEditor-module__payloadAdvancedGrid___THpAJ`,payloadHeaderRow:`VisualConfigEditor-module__payloadHeaderRow___8x4ed`,payloadRuleParamRow:`VisualConfigEditor-module__payloadRuleParamRow___KZJW-`,payloadRuleRawParamRow:`VisualConfigEditor-module__payloadRuleRawParamRow___7PtrY`,payloadRuleParamGroup:`VisualConfigEditor-module__payloadRuleParamGroup___1QLNQ`,payloadJsonInput:`VisualConfigEditor-module__payloadJsonInput___ewOqz`,payloadParamError:`VisualConfigEditor-module__payloadParamError___wGWdg`,payloadFilterModelRow:`VisualConfigEditor-module__payloadFilterModelRow___MeP9-`,payloadRowActionButton:`VisualConfigEditor-module__payloadRowActionButton___8Fdka`,apiKeyModalInputRow:`VisualConfigEditor-module__apiKeyModalInputRow___08QmU`},bR=()=>typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`${Date.now().toString(36)}_${Math.random().toString(36).slice(2,10)}`,xR={host:``,port:``,tlsEnable:!1,tlsCert:``,tlsKey:``,rmAllowRemote:!1,rmSecretKey:``,rmDisableControlPanel:!1,rmDisableAutoUpdatePanel:!1,rmPanelRepo:``,authDir:``,apiKeysText:``,pluginsEnabled:!1,pluginStoreSources:[],pluginStoreAuth:[],debug:!1,commercialMode:!1,loggingToFile:!1,logsMaxTotalSizeMb:``,errorLogsMaxFiles:``,usageStatisticsEnabled:!1,redisUsageQueueRetentionSeconds:``,proxyUrl:``,forceModelPrefix:!1,passthroughHeaders:!1,requestRetry:``,maxRetryCredentials:``,maxRetryInterval:``,disableCooling:!1,disableImageGeneration:`false`,gptImage2BaseModel:``,authAutoRefreshWorkers:``,quotaSwitchProject:!0,quotaSwitchPreviewModel:!0,quotaAntigravityCredits:!1,routingStrategy:`round-robin`,routingSessionAffinity:!1,routingSessionAffinityTTL:``,wsAuth:!1,antigravitySignatureCacheEnabled:!0,antigravitySignatureBypassStrict:!1,claudeHeaderUserAgent:``,claudeHeaderPackageVersion:``,claudeHeaderRuntimeVersion:``,claudeHeaderOs:``,claudeHeaderArch:``,claudeHeaderTimeout:``,claudeHeaderStabilizeDeviceProfile:!1,codexHeaderUserAgent:``,codexHeaderBetaFeatures:``,payloadDefaultRules:[],payloadDefaultRawRules:[],payloadOverrideRules:[],payloadOverrideRawRules:[],payloadFilterRules:[],streaming:{keepaliveSeconds:``,bootstrapRetries:``,nonstreamKeepaliveInterval:``}};function SR(e){return typeof e!=`object`||!e||Array.isArray(e)?null:e}function CR(e){if(typeof e==`string`)return e.trim()||null;let t=SR(e);if(!t)return null;let n=[t[`api-key`],t.apiKey,t.key,t.Key];for(let e of n)if(typeof e==`string`){let t=e.trim();if(t)return t}return null}function wR(e){if(!Array.isArray(e))return``;let t=[];for(let n of e){let e=CR(n);e&&t.push(e)}return t.join(`
`)}function TR(e){if(Object.prototype.hasOwnProperty.call(e,`api-keys`))return wR(e[`api-keys`]);let t=SR(SR(SR(e.auth)?.providers)?.[`config-api-key`]);return t?Object.prototype.hasOwnProperty.call(t,`api-key-entries`)?wR(t[`api-key-entries`]):wR(t[`api-keys`]):``}function ER(e,t){return e.hasIn(t)}function DR(e,t){NP(e.getIn(t,!0))||e.setIn(t,e.createNode({}))}function OR(e,t){let n=e.getIn(t,!0);NP(n)&&n.items.length===0&&e.deleteIn(t)}function kR(e,t,n){if(n){e.setIn(t,!0);return}ER(e,t)&&e.setIn(t,!1)}function AR(e,t,n){let r=typeof n==`string`?n:``;if(r.trim()!==``){e.setIn(t,r);return}ER(e,t)&&e.setIn(t,``)}function jR(e,t,n){let r=n.map(e=>e.trim()).filter(Boolean);if(r.length>0){e.setIn(t,r);return}ER(e,t)&&e.deleteIn(t)}function MR(e,t,n){let r=(typeof n==`string`?n:``).trim();if(r===``){ER(e,t)&&e.deleteIn(t);return}if(!/^-?\d+$/.test(r))return;let i=Number(r);if(Number.isFinite(i)){e.setIn(t,i);return}}function NR(e,t,n){if(n===`chat`||n===`passthrough`){e.setIn(t,n);return}if(n===`true`){e.setIn(t,!0);return}ER(e,t)&&e.setIn(t,!1)}var PR=[`payloadDefaultRules`,`payloadDefaultRawRules`,`payloadOverrideRules`,`payloadOverrideRawRules`,`payloadFilterRules`];function FR(e){return PR.some(t=>e.has(t))}function IR(e){let t=e.trim();if(t)return/^-?\d+$/.test(t)&&Number(t)>=0?void 0:`non_negative_integer`}function LR(e){let t=e.trim();if(!t)return;if(!/^\d+$/.test(t))return`port_range`;let n=Number(t);return n>=1&&n<=65535?void 0:`port_range`}function RR(e){let t=e.trim();if(!t)return;if(!/^\d+$/.test(t))return`integer_range_1_3600`;let n=Number(t);return n>=1&&n<=3600?void 0:`integer_range_1_3600`}function zR(e){return{port:LR(e.port),errorLogsMaxFiles:IR(e.errorLogsMaxFiles),logsMaxTotalSizeMb:IR(e.logsMaxTotalSizeMb),redisUsageQueueRetentionSeconds:RR(e.redisUsageQueueRetentionSeconds),requestRetry:IR(e.requestRetry),maxRetryCredentials:IR(e.maxRetryCredentials),maxRetryInterval:IR(e.maxRetryInterval),authAutoRefreshWorkers:IR(e.authAutoRefreshWorkers),"streaming.keepaliveSeconds":IR(e.streaming.keepaliveSeconds),"streaming.bootstrapRetries":IR(e.streaming.bootstrapRetries),"streaming.nonstreamKeepaliveInterval":IR(e.streaming.nonstreamKeepaliveInterval)}}function BR(e){let t=e.value.trim();switch(e.valueType){case`number`:{if(!t)return`payload_invalid_number`;let e=Number(t);return Number.isFinite(e)?void 0:`payload_invalid_number`}case`boolean`:{let e=t.toLowerCase();return e===`true`||e===`false`?void 0:`payload_invalid_boolean`}case`json`:if(!t)return`payload_invalid_json`;try{JSON.parse(e.value);return}catch{return`payload_invalid_json`}default:return}}function VR(e){return e.some(e=>e.params.some(e=>!!BR(e))||e.models.some(e=>(e.match??[]).some(e=>!!BR(e))||(e.notMatch??[]).some(e=>!!BR(e))))}function HR(e){return typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}function UR(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||r.name!==i.name||r.protocol!==i.protocol||r.fromProtocol!==i.fromProtocol||!GR(r.headers,i.headers)||!WR(r.match??[],i.match??[])||!WR(r.notMatch??[],i.notMatch??[])||!KR(r.exist,i.exist)||!KR(r.notExist,i.notExist))return!1}return!0}function WR(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||r.path!==i.path||r.valueType!==i.valueType||r.value!==i.value)return!1}return!0}function GR(e,t){let n=e??[],r=t??[];if(n===r)return!0;if(n.length!==r.length)return!1;for(let e=0;e<n.length;e+=1){let t=n[e],i=r[e];if(!t||!i||t.id!==i.id||t.name!==i.name||t.value!==i.value)return!1}return!0}function KR(e,t){let n=e??[],r=t??[];if(n===r)return!0;if(n.length!==r.length)return!1;for(let e=0;e<n.length;e+=1)if(n[e]!==r[e])return!1;return!0}function qR(e,t){let n=e??[],r=t??[];if(n===r)return!0;if(n.length!==r.length)return!1;for(let e=0;e<n.length;e+=1){let t=n[e],i=r[e];if(!t||!i||t.match!==i.match||t.type!==i.type||t.tokenEnv!==i.tokenEnv||t.usernameEnv!==i.usernameEnv||t.passwordEnv!==i.passwordEnv||t.headerName!==i.headerName||t.headerValueEnv!==i.headerValueEnv||t.allowInsecure!==i.allowInsecure||!KR(t.applyTo,i.applyTo))return!1}return!0}function JR(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||!UR(r.models,i.models)||!WR(r.params,i.params))return!1}return!0}function YR(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||!UR(r.models,i.models)||r.params.length!==i.params.length)return!1;for(let e=0;e<r.params.length;e+=1)if(r.params[e]!==i.params[e])return!1}return!0}function XR(e){if(typeof e==`number`)return{valueType:`number`,value:String(e)};if(typeof e==`boolean`)return{valueType:`boolean`,value:String(e)};if(e===null||typeof e==`object`)try{return{valueType:`json`,value:JSON.stringify(e,null,2)??`null`}}catch{return{valueType:`json`,value:String(e)}}return{valueType:`string`,value:String(e??``)}}function ZR(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)??``}catch{return String(e??``)}}function QR(e){if(typeof e==`string`)return e.trim()?e:void 0}function $R(e){let t=String(e??``).trim().toLowerCase();return[`weighted-round-robin`,`weightedroundrobin`,`wrr`].includes(t)?`weighted-round-robin`:[`fill-first`,`fillfirst`,`ff`].includes(t)?`fill-first`:`round-robin`}function ez(e){if(e===!0)return`true`;if(typeof e==`string`){let t=e.trim().toLowerCase();if(t===`true`)return`true`;if(t===`chat`)return`chat`;if(t===`passthrough`)return`passthrough`}return`false`}function tz(e,t){let n=SR(e);return n?Object.entries(n).map(([e,n],r)=>({id:`${t}-header-${r}`,name:e,value:String(n??``)})):[]}function nz(e,t){if(!Array.isArray(e))return[];let n=[];return e.forEach((e,r)=>{let i=SR(e);if(!i){typeof e==`string`&&n.push({id:`${t}-condition-${r}-0`,path:e,valueType:`string`,value:``});return}Object.entries(i).forEach(([e,i],a)=>{let o=XR(i);n.push({id:`${t}-condition-${r}-${a}`,path:e,valueType:o.valueType,value:o.value})})}),n}function rz(e){return Array.isArray(e)?e.map(e=>String(e??``).trim()).filter(Boolean):[]}var iz=[`none`,`bearer`,`basic`,`header`,`github-token`],az=[`registry`,`metadata`,`artifact`];function oz(e){let t=String(e??``).trim().toLowerCase();return iz.includes(t)?t:`none`}function sz(e){return rz(e).map(e=>e.toLowerCase()).filter(e=>az.includes(e))}function cz(e){return Array.isArray(e)?e.map((e,t)=>{let n=SR(e);if(!n)return null;let r=typeof n.match==`string`?n.match:``,i={id:`plugin-store-auth-${t}`,match:r,applyTo:sz(n[`apply-to`]??n.apply_to),type:oz(n.type),tokenEnv:typeof n[`token-env`]==`string`?n[`token-env`]:``,usernameEnv:typeof n[`username-env`]==`string`?n[`username-env`]:``,passwordEnv:typeof n[`password-env`]==`string`?n[`password-env`]:``,headerName:typeof n[`header-name`]==`string`?n[`header-name`]:``,headerValueEnv:typeof n[`header-value-env`]==`string`?n[`header-value-env`]:``,allowInsecure:!!(n[`allow-insecure`]??n.allow_insecure)};return i.match.trim()||i.type!==`none`||i.applyTo.length>0||i.tokenEnv.trim()||i.usernameEnv.trim()||i.passwordEnv.trim()||i.headerName.trim()||i.headerValueEnv.trim()||i.allowInsecure?i:null}).filter(e=>!!e):[]}function lz(e){ER(e,[`auth`,`providers`,`config-api-key`,`api-key-entries`])&&e.deleteIn([`auth`,`providers`,`config-api-key`,`api-key-entries`]),ER(e,[`auth`,`providers`,`config-api-key`,`api-keys`])&&e.deleteIn([`auth`,`providers`,`config-api-key`,`api-keys`]),OR(e,[`auth`,`providers`,`config-api-key`]),OR(e,[`auth`,`providers`]),OR(e,[`auth`])}function uz(e,t){return Array.isArray(e)?e.map((e,n)=>{let r=SR(e),i=typeof e==`string`?e:r?.name??r?.id??``,a=typeof i==`string`?i:String(i??``),o=`${t}-${n}`;return{id:o,name:a,protocol:QR(r?.protocol),fromProtocol:QR(r?.[`from-protocol`]),headers:tz(r?.headers,o),match:nz(r?.match,`${o}-match`),notMatch:nz(r?.[`not-match`],`${o}-not-match`),exist:rz(r?.exist),notExist:rz(r?.[`not-exist`])}}):[]}function dz(e){return Array.isArray(e)?e.map((e,t)=>{let n=SR(e)??{},r=uz(n.models,`model-${t}`),i=SR(n.params),a=i?Object.entries(i).map(([e,n],r)=>{let i=XR(n);return{id:`param-${t}-${r}`,path:e,valueType:i.valueType,value:i.value}}):[];return{id:`payload-rule-${t}`,models:r,params:a}}):[]}function fz(e){return Array.isArray(e)?e.map((e,t)=>{let n=SR(e)??{},r=uz(n.models,`filter-model-${t}`),i=n.params,a=Array.isArray(i)?i.map(String):[];return{id:`payload-filter-rule-${t}`,models:r,params:a}}):[]}function pz(e){return Array.isArray(e)?e.map((e,t)=>{let n=SR(e)??{},r=uz(n.models,`raw-model-${t}`),i=SR(n.params),a=i?Object.entries(i).map(([e,n],r)=>({id:`raw-param-${t}-${r}`,path:e,valueType:`json`,value:ZR(n)})):[];return{id:`payload-raw-rule-${t}`,models:r,params:a}}):[]}function mz(e){if(e.valueType===`number`){let t=Number(e.value);return Number.isFinite(t)?t:e.value}if(e.valueType===`boolean`)return e.value===`true`;if(e.valueType===`json`)try{return JSON.parse(e.value)}catch{return e.value}return e.value}function hz(e){let t={};for(let n of e??[]){let e=n.name.trim();e&&(t[e]=n.value)}return t}function gz(e){let t=[];for(let n of e??[]){let e=n.path.trim();e&&t.push({[e]:mz(n)})}return t}function _z(e){return(e??[]).map(e=>e.trim()).filter(Boolean)}function vz(e){return e.map(e=>{let t=e.match.trim();if(!t)return null;let n={match:t,type:e.type},r=_z(e.applyTo);return r.length>0&&(n[`apply-to`]=r),e.tokenEnv.trim()&&(n[`token-env`]=e.tokenEnv.trim()),e.usernameEnv.trim()&&(n[`username-env`]=e.usernameEnv.trim()),e.passwordEnv.trim()&&(n[`password-env`]=e.passwordEnv.trim()),e.headerName.trim()&&(n[`header-name`]=e.headerName.trim()),e.headerValueEnv.trim()&&(n[`header-value-env`]=e.headerValueEnv.trim()),e.allowInsecure&&(n[`allow-insecure`]=!0),n}).filter(e=>!!e)}function yz(e){return(e||[]).filter(e=>e.name?.trim()).map(e=>{let t={name:e.name.trim()};e.protocol&&(t.protocol=e.protocol),e.fromProtocol&&(t[`from-protocol`]=e.fromProtocol);let n=hz(e.headers);Object.keys(n).length&&(t.headers=n);let r=gz(e.match);r.length&&(t.match=r);let i=gz(e.notMatch);i.length&&(t[`not-match`]=i);let a=_z(e.exist);a.length&&(t.exist=a);let o=_z(e.notExist);return o.length&&(t[`not-exist`]=o),t})}function bz(e){return e.map(e=>{let t=yz(e.models),n={};for(let t of e.params||[])t.path?.trim()&&(n[t.path.trim()]=mz(t));return{models:t,params:n}}).filter(e=>e.models.length>0)}function xz(e){return e.map(e=>({models:yz(e.models),params:(Array.isArray(e.params)?e.params:[]).map(e=>String(e).trim()).filter(Boolean)})).filter(e=>e.models.length>0)}function Sz(e){return e.map(e=>{let t=yz(e.models),n={};for(let t of e.params||[])t.path?.trim()&&(n[t.path.trim()]=t.value);return{models:t,params:n}}).filter(e=>e.models.length>0)}function Cz(){let e=HR(xR);return{visualValues:e,baselineValues:HR(e),dirtyFields:new Set,visualParseError:null}}function wz(e,t){let n={...e,...t};return t.streaming&&(n.streaming={...e.streaming,...t.streaming}),n}function Tz(e,t,n,r){let i=new Set(e),a=(e,t)=>{t?i.delete(e):i.add(e)};if(`rmDisableAutoUpdatePanel.errorLogsMaxFiles.usageStatisticsEnabled.redisUsageQueueRetentionSeconds.pluginsEnabled.passthroughHeaders.disableCooling.disableImageGeneration.gptImage2BaseModel.authAutoRefreshWorkers.antigravitySignatureCacheEnabled.antigravitySignatureBypassStrict.claudeHeaderUserAgent.claudeHeaderPackageVersion.claudeHeaderRuntimeVersion.claudeHeaderOs.claudeHeaderArch.claudeHeaderTimeout.claudeHeaderStabilizeDeviceProfile.codexHeaderUserAgent.codexHeaderBetaFeatures.host.port.tlsEnable.tlsCert.tlsKey.rmAllowRemote.rmSecretKey.rmDisableControlPanel.rmPanelRepo.authDir.apiKeysText.debug.commercialMode.loggingToFile.logsMaxTotalSizeMb.proxyUrl.forceModelPrefix.requestRetry.maxRetryCredentials.maxRetryInterval.wsAuth.quotaSwitchProject.quotaSwitchPreviewModel.quotaAntigravityCredits.routingStrategy.routingSessionAffinity.routingSessionAffinityTTL`.split(`.`).forEach(e=>{Object.prototype.hasOwnProperty.call(t,e)&&a(e,n[e]===r[e])}),Object.prototype.hasOwnProperty.call(t,`pluginStoreSources`)&&a(`pluginStoreSources`,KR(n.pluginStoreSources,r.pluginStoreSources)),Object.prototype.hasOwnProperty.call(t,`pluginStoreAuth`)&&a(`pluginStoreAuth`,qR(n.pluginStoreAuth,r.pluginStoreAuth)),Object.prototype.hasOwnProperty.call(t,`payloadDefaultRules`)&&a(`payloadDefaultRules`,JR(n.payloadDefaultRules,r.payloadDefaultRules)),Object.prototype.hasOwnProperty.call(t,`payloadDefaultRawRules`)&&a(`payloadDefaultRawRules`,JR(n.payloadDefaultRawRules,r.payloadDefaultRawRules)),Object.prototype.hasOwnProperty.call(t,`payloadOverrideRules`)&&a(`payloadOverrideRules`,JR(n.payloadOverrideRules,r.payloadOverrideRules)),Object.prototype.hasOwnProperty.call(t,`payloadOverrideRawRules`)&&a(`payloadOverrideRawRules`,JR(n.payloadOverrideRawRules,r.payloadOverrideRawRules)),Object.prototype.hasOwnProperty.call(t,`payloadFilterRules`)&&a(`payloadFilterRules`,YR(n.payloadFilterRules,r.payloadFilterRules)),t.streaming){let e=t.streaming;Object.prototype.hasOwnProperty.call(e,`keepaliveSeconds`)&&a(`streaming.keepaliveSeconds`,n.streaming.keepaliveSeconds===r.streaming.keepaliveSeconds),Object.prototype.hasOwnProperty.call(e,`bootstrapRetries`)&&a(`streaming.bootstrapRetries`,n.streaming.bootstrapRetries===r.streaming.bootstrapRetries),Object.prototype.hasOwnProperty.call(e,`nonstreamKeepaliveInterval`)&&a(`streaming.nonstreamKeepaliveInterval`,n.streaming.nonstreamKeepaliveInterval===r.streaming.nonstreamKeepaliveInterval)}return i}function Ez(e,t){switch(t.type){case`load_success`:return{visualValues:t.values,baselineValues:HR(t.values),dirtyFields:new Set,visualParseError:null};case`load_error`:return{...e,visualParseError:t.error};case`set_values`:{let n=wz(e.visualValues,t.values),r=Tz(e.dirtyFields,t.values,n,e.baselineValues);return{...e,visualValues:n,dirtyFields:r}}default:return e}}function Dz(){let[e,t]=(0,y.useReducer)(Ez,void 0,Cz),{visualValues:n,visualParseError:r,dirtyFields:i}=e;return{visualValues:n,visualDirty:i.size>0,visualParseError:r,visualValidationErrors:(0,y.useMemo)(()=>zR(n),[n]),visualHasPayloadValidationErrors:(0,y.useMemo)(()=>VR(n.payloadDefaultRules)||VR(n.payloadDefaultRawRules)||VR(n.payloadOverrideRules)||VR(n.payloadOverrideRawRules),[n.payloadDefaultRules,n.payloadDefaultRawRules,n.payloadOverrideRules,n.payloadOverrideRawRules]),loadVisualValuesFromYaml:(0,y.useCallback)(e=>{try{let n=hR(e);if(n.errors.length>0)throw Error(n.errors[0]?.message??`Invalid YAML`);let r=SR(gR(e)||{})??{},i=SR(r.tls),a=SR(r[`remote-management`]),o=SR(r[`quota-exceeded`]),s=SR(r.routing),c=SR(r.payload),l=SR(r.streaming),u=SR(r.plugins),d=SR(r[`claude-header-defaults`]),f=SR(r[`codex-header-defaults`]),p={host:typeof r.host==`string`?r.host:``,port:String(r.port??``),tlsEnable:!!i?.enable,tlsCert:typeof i?.cert==`string`?i.cert:``,tlsKey:typeof i?.key==`string`?i.key:``,rmAllowRemote:!!a?.[`allow-remote`],rmSecretKey:typeof a?.[`secret-key`]==`string`?a[`secret-key`]:``,rmDisableControlPanel:!!a?.[`disable-control-panel`],rmDisableAutoUpdatePanel:!!a?.[`disable-auto-update-panel`],rmPanelRepo:typeof a?.[`panel-github-repository`]==`string`?a[`panel-github-repository`]:typeof a?.[`panel-repo`]==`string`?a[`panel-repo`]:``,authDir:typeof r[`auth-dir`]==`string`?r[`auth-dir`]:``,apiKeysText:TR(r),pluginsEnabled:!!u?.enabled,pluginStoreSources:rz(u?.[`store-sources`]),pluginStoreAuth:cz(u?.[`store-auth`]),debug:!!r.debug,commercialMode:!!r[`commercial-mode`],loggingToFile:!!r[`logging-to-file`],logsMaxTotalSizeMb:String(r[`logs-max-total-size-mb`]??``),errorLogsMaxFiles:String(r[`error-logs-max-files`]??``),usageStatisticsEnabled:!!r[`usage-statistics-enabled`],redisUsageQueueRetentionSeconds:String(r[`redis-usage-queue-retention-seconds`]??``),proxyUrl:typeof r[`proxy-url`]==`string`?r[`proxy-url`]:``,forceModelPrefix:!!r[`force-model-prefix`],passthroughHeaders:!!r[`passthrough-headers`],requestRetry:String(r[`request-retry`]??``),maxRetryCredentials:String(r[`max-retry-credentials`]??``),maxRetryInterval:String(r[`max-retry-interval`]??``),disableCooling:!!r[`disable-cooling`],disableImageGeneration:ez(r[`disable-image-generation`]),gptImage2BaseModel:typeof r[`gpt-image-2-base-model`]==`string`?r[`gpt-image-2-base-model`]:``,authAutoRefreshWorkers:String(r[`auth-auto-refresh-workers`]??``),wsAuth:!!r[`ws-auth`],antigravitySignatureCacheEnabled:!!(r[`antigravity-signature-cache-enabled`]??!0),antigravitySignatureBypassStrict:!!r[`antigravity-signature-bypass-strict`],claudeHeaderUserAgent:typeof d?.[`user-agent`]==`string`?d[`user-agent`]:``,claudeHeaderPackageVersion:typeof d?.[`package-version`]==`string`?d[`package-version`]:``,claudeHeaderRuntimeVersion:typeof d?.[`runtime-version`]==`string`?d[`runtime-version`]:``,claudeHeaderOs:typeof d?.os==`string`?d.os:``,claudeHeaderArch:typeof d?.arch==`string`?d.arch:``,claudeHeaderTimeout:typeof d?.timeout==`string`?d.timeout:``,claudeHeaderStabilizeDeviceProfile:!!d?.[`stabilize-device-profile`],codexHeaderUserAgent:typeof f?.[`user-agent`]==`string`?f[`user-agent`]:``,codexHeaderBetaFeatures:typeof f?.[`beta-features`]==`string`?f[`beta-features`]:``,quotaSwitchProject:!!(o?.[`switch-project`]??!0),quotaSwitchPreviewModel:!!(o?.[`switch-preview-model`]??!0),quotaAntigravityCredits:!!(o?.[`antigravity-credits`]??!1),routingStrategy:$R(s?.strategy),routingSessionAffinity:!!(s?.[`session-affinity`]??s?.sessionAffinity??s?.sessionAffinity),routingSessionAffinityTTL:typeof s?.[`session-affinity-ttl`]==`string`?s[`session-affinity-ttl`]:typeof s?.sessionAffinityTTL==`string`||typeof s?.sessionAffinityTTL==`string`?s.sessionAffinityTTL:``,payloadDefaultRules:dz(c?.default),payloadDefaultRawRules:pz(c?.[`default-raw`]),payloadOverrideRules:dz(c?.override),payloadOverrideRawRules:pz(c?.[`override-raw`]),payloadFilterRules:fz(c?.filter),streaming:{keepaliveSeconds:String(l?.[`keepalive-seconds`]??``),bootstrapRetries:String(l?.[`bootstrap-retries`]??``),nonstreamKeepaliveInterval:String(r[`nonstream-keepalive-interval`]??``)}};return t({type:`load_success`,values:p}),{ok:!0}}catch(e){let n=e instanceof Error?e.message:`Invalid YAML`;return t({type:`load_error`,error:n}),{ok:!1,error:n}}},[]),applyVisualChangesToYaml:(0,y.useCallback)(e=>{try{let t=hR(e);if(t.errors.length>0)return e;NP(t.contents)||(t.contents=t.createNode({}));let r=n,a=i.has(`pluginStoreAuth`);if(i.has(`host`)&&AR(t,[`host`],r.host),i.has(`port`)&&MR(t,[`port`],r.port),(i.has(`tlsEnable`)||i.has(`tlsCert`)||i.has(`tlsKey`))&&(DR(t,[`tls`]),i.has(`tlsEnable`)&&kR(t,[`tls`,`enable`],r.tlsEnable),i.has(`tlsCert`)&&AR(t,[`tls`,`cert`],r.tlsCert),i.has(`tlsKey`)&&AR(t,[`tls`,`key`],r.tlsKey),OR(t,[`tls`])),(i.has(`rmAllowRemote`)||i.has(`rmSecretKey`)||i.has(`rmDisableControlPanel`)||i.has(`rmDisableAutoUpdatePanel`)||i.has(`rmPanelRepo`))&&(DR(t,[`remote-management`]),i.has(`rmAllowRemote`)&&kR(t,[`remote-management`,`allow-remote`],r.rmAllowRemote),i.has(`rmSecretKey`)&&AR(t,[`remote-management`,`secret-key`],r.rmSecretKey),i.has(`rmDisableControlPanel`)&&kR(t,[`remote-management`,`disable-control-panel`],r.rmDisableControlPanel),i.has(`rmDisableAutoUpdatePanel`)&&kR(t,[`remote-management`,`disable-auto-update-panel`],r.rmDisableAutoUpdatePanel),i.has(`rmPanelRepo`)&&AR(t,[`remote-management`,`panel-github-repository`],r.rmPanelRepo),i.has(`rmPanelRepo`)&&ER(t,[`remote-management`,`panel-repo`])&&t.deleteIn([`remote-management`,`panel-repo`]),OR(t,[`remote-management`])),i.has(`authDir`)&&AR(t,[`auth-dir`],r.authDir),i.has(`apiKeysText`)){let e=r.apiKeysText.split(`
`).map(e=>e.trim()).filter(Boolean);e.length>0?t.setIn([`api-keys`],e):ER(t,[`api-keys`])&&t.deleteIn([`api-keys`]),lz(t)}if(i.has(`pluginsEnabled`)||i.has(`pluginStoreSources`)||a){if(DR(t,[`plugins`]),i.has(`pluginsEnabled`)&&kR(t,[`plugins`,`enabled`],r.pluginsEnabled),i.has(`pluginStoreSources`)&&jR(t,[`plugins`,`store-sources`],r.pluginStoreSources),a){let e=vz(r.pluginStoreAuth);e.length>0?t.setIn([`plugins`,`store-auth`],e):ER(t,[`plugins`,`store-auth`])&&t.deleteIn([`plugins`,`store-auth`])}OR(t,[`plugins`])}i.has(`debug`)&&kR(t,[`debug`],r.debug),i.has(`commercialMode`)&&kR(t,[`commercial-mode`],r.commercialMode),i.has(`loggingToFile`)&&kR(t,[`logging-to-file`],r.loggingToFile),i.has(`logsMaxTotalSizeMb`)&&MR(t,[`logs-max-total-size-mb`],r.logsMaxTotalSizeMb),i.has(`errorLogsMaxFiles`)&&MR(t,[`error-logs-max-files`],r.errorLogsMaxFiles),i.has(`usageStatisticsEnabled`)&&kR(t,[`usage-statistics-enabled`],r.usageStatisticsEnabled),i.has(`redisUsageQueueRetentionSeconds`)&&MR(t,[`redis-usage-queue-retention-seconds`],r.redisUsageQueueRetentionSeconds),i.has(`proxyUrl`)&&AR(t,[`proxy-url`],r.proxyUrl),i.has(`forceModelPrefix`)&&kR(t,[`force-model-prefix`],r.forceModelPrefix),i.has(`passthroughHeaders`)&&kR(t,[`passthrough-headers`],r.passthroughHeaders),i.has(`requestRetry`)&&MR(t,[`request-retry`],r.requestRetry),i.has(`maxRetryCredentials`)&&MR(t,[`max-retry-credentials`],r.maxRetryCredentials),i.has(`maxRetryInterval`)&&MR(t,[`max-retry-interval`],r.maxRetryInterval),i.has(`disableCooling`)&&kR(t,[`disable-cooling`],r.disableCooling),i.has(`disableImageGeneration`)&&NR(t,[`disable-image-generation`],r.disableImageGeneration),i.has(`gptImage2BaseModel`)&&AR(t,[`gpt-image-2-base-model`],r.gptImage2BaseModel),i.has(`authAutoRefreshWorkers`)&&MR(t,[`auth-auto-refresh-workers`],r.authAutoRefreshWorkers),i.has(`wsAuth`)&&kR(t,[`ws-auth`],r.wsAuth),i.has(`antigravitySignatureCacheEnabled`)&&(ER(t,[`antigravity-signature-cache-enabled`])||!r.antigravitySignatureCacheEnabled)&&t.setIn([`antigravity-signature-cache-enabled`],r.antigravitySignatureCacheEnabled),i.has(`antigravitySignatureBypassStrict`)&&kR(t,[`antigravity-signature-bypass-strict`],r.antigravitySignatureBypassStrict),(i.has(`claudeHeaderUserAgent`)||i.has(`claudeHeaderPackageVersion`)||i.has(`claudeHeaderRuntimeVersion`)||i.has(`claudeHeaderOs`)||i.has(`claudeHeaderArch`)||i.has(`claudeHeaderTimeout`)||i.has(`claudeHeaderStabilizeDeviceProfile`))&&(DR(t,[`claude-header-defaults`]),i.has(`claudeHeaderUserAgent`)&&AR(t,[`claude-header-defaults`,`user-agent`],r.claudeHeaderUserAgent),i.has(`claudeHeaderPackageVersion`)&&AR(t,[`claude-header-defaults`,`package-version`],r.claudeHeaderPackageVersion),i.has(`claudeHeaderRuntimeVersion`)&&AR(t,[`claude-header-defaults`,`runtime-version`],r.claudeHeaderRuntimeVersion),i.has(`claudeHeaderOs`)&&AR(t,[`claude-header-defaults`,`os`],r.claudeHeaderOs),i.has(`claudeHeaderArch`)&&AR(t,[`claude-header-defaults`,`arch`],r.claudeHeaderArch),i.has(`claudeHeaderTimeout`)&&AR(t,[`claude-header-defaults`,`timeout`],r.claudeHeaderTimeout),i.has(`claudeHeaderStabilizeDeviceProfile`)&&kR(t,[`claude-header-defaults`,`stabilize-device-profile`],r.claudeHeaderStabilizeDeviceProfile),OR(t,[`claude-header-defaults`])),(i.has(`codexHeaderUserAgent`)||i.has(`codexHeaderBetaFeatures`))&&(DR(t,[`codex-header-defaults`]),i.has(`codexHeaderUserAgent`)&&AR(t,[`codex-header-defaults`,`user-agent`],r.codexHeaderUserAgent),i.has(`codexHeaderBetaFeatures`)&&AR(t,[`codex-header-defaults`,`beta-features`],r.codexHeaderBetaFeatures),OR(t,[`codex-header-defaults`])),(i.has(`quotaSwitchProject`)||i.has(`quotaSwitchPreviewModel`)||i.has(`quotaAntigravityCredits`))&&(DR(t,[`quota-exceeded`]),i.has(`quotaSwitchProject`)&&t.setIn([`quota-exceeded`,`switch-project`],r.quotaSwitchProject),i.has(`quotaSwitchPreviewModel`)&&t.setIn([`quota-exceeded`,`switch-preview-model`],r.quotaSwitchPreviewModel),i.has(`quotaAntigravityCredits`)&&t.setIn([`quota-exceeded`,`antigravity-credits`],r.quotaAntigravityCredits),OR(t,[`quota-exceeded`])),(i.has(`routingStrategy`)||i.has(`routingSessionAffinity`)||i.has(`routingSessionAffinityTTL`))&&(DR(t,[`routing`]),i.has(`routingStrategy`)&&t.setIn([`routing`,`strategy`],r.routingStrategy),i.has(`routingSessionAffinity`)&&kR(t,[`routing`,`session-affinity`],r.routingSessionAffinity),i.has(`routingSessionAffinityTTL`)&&AR(t,[`routing`,`session-affinity-ttl`],r.routingSessionAffinityTTL),OR(t,[`routing`]));let o=typeof r.streaming?.keepaliveSeconds==`string`?r.streaming.keepaliveSeconds:``,s=typeof r.streaming?.bootstrapRetries==`string`?r.streaming.bootstrapRetries:``,c=typeof r.streaming?.nonstreamKeepaliveInterval==`string`?r.streaming.nonstreamKeepaliveInterval:``;return(i.has(`streaming.keepaliveSeconds`)||i.has(`streaming.bootstrapRetries`))&&(DR(t,[`streaming`]),i.has(`streaming.keepaliveSeconds`)&&MR(t,[`streaming`,`keepalive-seconds`],o),i.has(`streaming.bootstrapRetries`)&&MR(t,[`streaming`,`bootstrap-retries`],s),OR(t,[`streaming`])),i.has(`streaming.nonstreamKeepaliveInterval`)&&MR(t,[`nonstream-keepalive-interval`],c),FR(i)&&(DR(t,[`payload`]),i.has(`payloadDefaultRules`)&&(r.payloadDefaultRules.length>0?t.setIn([`payload`,`default`],bz(r.payloadDefaultRules)):ER(t,[`payload`,`default`])&&t.deleteIn([`payload`,`default`])),i.has(`payloadDefaultRawRules`)&&(r.payloadDefaultRawRules.length>0?t.setIn([`payload`,`default-raw`],Sz(r.payloadDefaultRawRules)):ER(t,[`payload`,`default-raw`])&&t.deleteIn([`payload`,`default-raw`])),i.has(`payloadOverrideRules`)&&(r.payloadOverrideRules.length>0?t.setIn([`payload`,`override`],bz(r.payloadOverrideRules)):ER(t,[`payload`,`override`])&&t.deleteIn([`payload`,`override`])),i.has(`payloadOverrideRawRules`)&&(r.payloadOverrideRawRules.length>0?t.setIn([`payload`,`override-raw`],Sz(r.payloadOverrideRawRules)):ER(t,[`payload`,`override-raw`])&&t.deleteIn([`payload`,`override-raw`])),i.has(`payloadFilterRules`)&&(r.payloadFilterRules.length>0?t.setIn([`payload`,`filter`],xz(r.payloadFilterRules)):ER(t,[`payload`,`filter`])&&t.deleteIn([`payload`,`filter`])),OR(t,[`payload`])),t.toString({indent:2,lineWidth:120,minContentWidth:0})}catch{return e}},[i,n]),setVisualValues:(0,y.useCallback)(e=>{t({type:`set_values`,values:e})},[])}}var Oz=[{value:``,labelKey:`config_management.visual.payload_rules.provider_default`,defaultLabel:`Default`},{value:`openai`,labelKey:`config_management.visual.payload_rules.provider_openai`,defaultLabel:`OpenAI`},{value:`openai-response`,labelKey:`config_management.visual.payload_rules.provider_openai_response`,defaultLabel:`OpenAI Response`},{value:`gemini`,labelKey:`config_management.visual.payload_rules.provider_gemini`,defaultLabel:`Gemini`},{value:`claude`,labelKey:`config_management.visual.payload_rules.provider_claude`,defaultLabel:`Claude`},{value:`codex`,labelKey:`config_management.visual.payload_rules.provider_codex`,defaultLabel:`Codex`},{value:`antigravity`,labelKey:`config_management.visual.payload_rules.provider_antigravity`,defaultLabel:`Antigravity`}],kz=[{value:`string`,labelKey:`config_management.visual.payload_rules.value_type_string`,defaultLabel:`String`},{value:`number`,labelKey:`config_management.visual.payload_rules.value_type_number`,defaultLabel:`Number`},{value:`boolean`,labelKey:`config_management.visual.payload_rules.value_type_boolean`,defaultLabel:`Boolean`},{value:`json`,labelKey:`config_management.visual.payload_rules.value_type_json`,defaultLabel:`JSON`}];function Az(e){return e?/^[\x21-\x7E]+$/.test(e):!1}var jz=30;function Mz({value:e,placeholder:t,ariaLabel:n,disabled:r,className:i,onChange:a}){let{t:o}=ss(),[s,c]=(0,y.useState)(!0),l=(0,y.useRef)(null),u=(0,y.useCallback)(e=>{e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`},[]);return(0,y.useLayoutEffect)(()=>{!s&&l.current&&u(l.current)},[s,e,u]),s?(0,H.jsxs)(`div`,{className:Y.expandableInputWrapper,children:[(0,H.jsx)(`input`,{className:`input ${i??``}`,placeholder:t,"aria-label":n,value:e,onChange:e=>a(e.target.value.replace(/[\r\n]/g,``)),disabled:r}),e.length>jz&&(0,H.jsx)(`button`,{type:`button`,className:Y.expandableToggle,disabled:r,onClick:()=>{c(!1),requestAnimationFrame(()=>{l.current?.focus()})},title:o(`common.expand`),"aria-label":o(`common.expand`),children:`▼`})]}):(0,H.jsxs)(`div`,{className:`${Y.expandableInputWrapper} ${Y.expandableInputExpanded}`,children:[(0,H.jsx)(`textarea`,{ref:l,className:`input ${Y.expandableTextarea} ${i??``}`,placeholder:t,"aria-label":n,value:e,onChange:e=>{a(e.target.value.replace(/[\r\n]/g,``))},disabled:r,rows:2}),(0,H.jsx)(`button`,{type:`button`,className:Y.expandableToggle,disabled:r,onClick:()=>c(!0),title:o(`common.collapse`),"aria-label":o(`common.collapse`),children:`▲`})]})}function Nz(e,t){if(t)return e(`config_management.visual.validation.${t}`)}function Pz(e,t){let n=Oz.map(t=>({value:t.value,label:e(t.labelKey,{defaultValue:t.defaultLabel})})),r=new Set(n.map(e=>e.value));for(let e of t)for(let t of e.models){let e=t.protocol;!e||!e.trim()||r.has(e)||(r.add(e),n.push({value:e,label:e}))}return n}var Fz=(0,y.memo)(function({value:e,disabled:t,onChange:n}){let{t:r}=ss(),i=Kc(e=>e.showNotification),a=(0,y.useMemo)(()=>e.split(`
`).map(e=>e.trim()).filter(Boolean),[e]),[o,s]=(0,y.useState)(()=>a.map(()=>bR())),c=(0,y.useMemo)(()=>o.length===a.length?o:o.length>a.length?o.slice(0,a.length):[...o,...Array.from({length:a.length-o.length},()=>bR())],[o,a.length]),l=(0,y.useId)(),u=`${l}-hint`,d=`${l}-error`,[f,p]=(0,y.useState)(!1),[m,h]=(0,y.useState)(null),[g,_]=(0,y.useState)(``),[v,b]=(0,y.useState)(``);function x(){let e=new Uint8Array(17);return crypto.getRandomValues(e),`sk-`+Array.from(e,e=>`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`[e%62]).join(``)}let S=()=>{h(null),_(``),b(``),p(!0)},C=e=>{let t=c.findIndex(t=>t===e);h(e),_(a[t]??``),b(``),p(!0)},w=()=>{p(!1),_(``),h(null),b(``)},T=e=>{n(e.join(`
`))},E=e=>{let t=c.findIndex(t=>t===e);t<0||(s(c.filter(t=>t!==e)),T(a.filter((e,n)=>n!==t)))},D=()=>{let e=g.trim();if(!e){b(r(`config_management.visual.api_keys.error_empty`));return}if(!Az(e)){b(r(`config_management.visual.api_keys.error_invalid`));return}let t=m?c.findIndex(e=>e===m):-1,n=m===null?[...a,e]:a.map((n,r)=>r===t?e:n);m===null&&s([...c,bR()]),T(n),w()},O=async e=>{let t=await QD(e);i(r(t?`notification.link_copied`:`notification.copy_failed`),t?`success`:`error`)};return(0,H.jsxs)(`div`,{className:`form-group`,style:{marginBottom:0},children:[(0,H.jsxs)(`div`,{className:Y.blockHeaderRow,children:[(0,H.jsx)(`label`,{style:{margin:0},children:r(`config_management.visual.api_keys.label`)}),(0,H.jsx)(U,{size:`sm`,onClick:S,disabled:t,children:r(`config_management.visual.api_keys.add`)})]}),a.length===0?(0,H.jsx)(`div`,{className:Y.emptyState,children:r(`config_management.visual.api_keys.empty`)}):(0,H.jsx)(`div`,{className:`item-list`,style:{marginTop:4},children:a.map((e,n)=>(0,H.jsxs)(`div`,{className:`item-row`,children:[(0,H.jsxs)(`div`,{className:`item-meta`,children:[(0,H.jsxs)(`div`,{className:`pill`,children:[`#`,n+1]}),(0,H.jsx)(`div`,{className:`item-title`,children:r(`config_management.visual.api_keys.input_label`)}),(0,H.jsx)(`div`,{className:`item-subtitle`,children:Fh(String(e||``))})]}),(0,H.jsxs)(`div`,{className:`item-actions`,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>O(e),disabled:t,children:r(`common.copy`)}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>C(c[n]??``),disabled:t,children:r(`config_management.visual.common.edit`)}),(0,H.jsx)(U,{variant:`danger`,size:`sm`,onClick:()=>E(c[n]??``),disabled:t,children:r(`config_management.visual.common.delete`)})]})]},c[n]??`${e}-${n}`))}),(0,H.jsx)(`div`,{className:`hint`,children:r(`config_management.visual.api_keys.hint`)}),(0,H.jsx)(ym,{open:f,onClose:w,title:r(m===null?`config_management.visual.api_keys.add_title`:`config_management.visual.api_keys.edit_title`),footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:w,disabled:t,children:r(`config_management.visual.common.cancel`)}),(0,H.jsx)(U,{onClick:D,disabled:t,children:r(m===null?`config_management.visual.common.add`:`config_management.visual.common.update`)})]}),children:(0,H.jsxs)(`div`,{className:`form-group`,children:[(0,H.jsx)(`label`,{htmlFor:l,children:r(`config_management.visual.api_keys.input_label`)}),(0,H.jsxs)(`div`,{className:Y.apiKeyModalInputRow,children:[(0,H.jsx)(`input`,{id:l,className:`input`,placeholder:r(`config_management.visual.api_keys.input_placeholder`),value:g,onChange:e=>_(e.target.value),disabled:t,"aria-describedby":v?`${d} ${u}`:u,"aria-invalid":!!v}),(0,H.jsx)(U,{type:`button`,variant:`secondary`,size:`sm`,onClick:()=>{_(x()),b(``)},disabled:t,children:r(`config_management.visual.api_keys.generate`)})]}),(0,H.jsx)(`div`,{id:u,className:`hint`,children:r(`config_management.visual.api_keys.input_hint`)}),v&&(0,H.jsx)(`div`,{id:d,className:`error-box`,children:v})]})})]})}),Iz=(0,y.memo)(function({value:e,disabled:t,placeholder:n,inputAriaLabel:r,onChange:i}){let{t:a}=ss(),o=e.length?e:[],[s,c]=(0,y.useState)(()=>o.map(()=>bR())),l=(0,y.useMemo)(()=>s.length===o.length?s:s.length>o.length?s.slice(0,o.length):[...s,...Array.from({length:o.length-s.length},()=>bR())],[s,o.length]),u=(e,t)=>i(o.map((n,r)=>r===e?t:n)),d=()=>{c([...l,bR()]),i([...o,``])},f=e=>{c(l.filter((t,n)=>n!==e)),i(o.filter((t,n)=>n!==e))};return(0,H.jsxs)(`div`,{className:Y.stringList,children:[o.map((e,i)=>(0,H.jsxs)(`div`,{className:Y.stringListRow,children:[(0,H.jsx)(Mz,{placeholder:n,ariaLabel:r??n,value:e,onChange:e=>u(i,e),disabled:t}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>f(i),disabled:t,children:a(`config_management.visual.common.delete`)})]},l[i]??`item-${i}`)),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:d,disabled:t,children:a(`config_management.visual.common.add`)})})]})}),Lz=[{value:`bearer`,labelKey:`config_management.visual.sections.system.store_auth_type_bearer`},{value:`github-token`,labelKey:`config_management.visual.sections.system.store_auth_type_github_token`},{value:`basic`,labelKey:`config_management.visual.sections.system.store_auth_type_basic`},{value:`header`,labelKey:`config_management.visual.sections.system.store_auth_type_header`},{value:`none`,labelKey:`config_management.visual.sections.system.store_auth_type_none`}],Rz=[{value:`registry`,labelKey:`config_management.visual.sections.system.store_auth_apply_registry`},{value:`metadata`,labelKey:`config_management.visual.sections.system.store_auth_apply_metadata`},{value:`artifact`,labelKey:`config_management.visual.sections.system.store_auth_apply_artifact`}],zz=()=>({id:bR(),match:``,applyTo:[],type:`bearer`,tokenEnv:``,usernameEnv:``,passwordEnv:``,headerName:``,headerValueEnv:``,allowInsecure:!1}),Bz=(0,y.memo)(function({value:e,disabled:t,onChange:n}){let{t:r}=ss(),i=(t,r)=>{n(e.map(e=>e.id===t?{...e,...r}:e))},a=()=>n([...e,zz()]),o=t=>n(e.filter(e=>e.id!==t)),s=(e,t)=>{let n=e.applyTo.includes(t)?e.applyTo.filter(e=>e!==t):[...e.applyTo,t];i(e.id,{applyTo:n})};return(0,H.jsxs)(`div`,{className:Y.storeAuthEditor,children:[e.length===0?(0,H.jsx)(`p`,{className:Y.storeAuthEmpty,children:r(`config_management.visual.sections.system.store_auth_empty`)}):null,e.map(e=>{let n=e.type===`bearer`||e.type===`github-token`,a=e.type===`basic`,c=e.type===`header`;return(0,H.jsxs)(`div`,{className:Y.storeAuthRule,children:[(0,H.jsxs)(`div`,{className:Y.storeAuthRuleHeader,children:[(0,H.jsx)(`strong`,{children:e.match||r(`config_management.visual.sections.system.store_auth_rule`)}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>o(e.id),disabled:t,children:r(`config_management.visual.common.delete`)})]}),(0,H.jsxs)(`div`,{className:Y.storeAuthGrid,children:[(0,H.jsxs)(`label`,{className:Y.storeAuthField,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_match`)}),(0,H.jsx)(Mz,{value:e.match,placeholder:`https://api.github.com/repos/owner/repo/releases/`,disabled:t,onChange:t=>i(e.id,{match:t})})]}),(0,H.jsxs)(`label`,{className:Y.storeAuthField,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_type`)}),(0,H.jsx)(hc,{value:e.type,options:Lz.map(e=>({value:e.value,label:r(e.labelKey)})),disabled:t,onChange:t=>i(e.id,{type:t})})]})]}),(0,H.jsxs)(`div`,{className:Y.storeAuthApplyTo,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_apply_to`)}),(0,H.jsx)(`div`,{className:Y.storeAuthCheckboxes,children:Rz.map(n=>(0,H.jsxs)(`label`,{className:Y.storeAuthCheckbox,children:[(0,H.jsx)(`input`,{type:`checkbox`,checked:e.applyTo.includes(n.value),disabled:t,onChange:()=>s(e,n.value)}),(0,H.jsx)(`span`,{children:r(n.labelKey)})]},n.value))}),(0,H.jsx)(`small`,{children:r(`config_management.visual.sections.system.store_auth_apply_to_hint`)})]}),n?(0,H.jsxs)(`label`,{className:Y.storeAuthField,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_token_env`)}),(0,H.jsx)(`input`,{className:`input`,value:e.tokenEnv,placeholder:`CLIPROXY_PLUGIN_STORE_TOKEN`,disabled:t,onChange:t=>i(e.id,{tokenEnv:t.target.value})})]}):null,a?(0,H.jsxs)(`div`,{className:Y.storeAuthGrid,children:[(0,H.jsxs)(`label`,{className:Y.storeAuthField,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_username_env`)}),(0,H.jsx)(`input`,{className:`input`,value:e.usernameEnv,disabled:t,onChange:t=>i(e.id,{usernameEnv:t.target.value})})]}),(0,H.jsxs)(`label`,{className:Y.storeAuthField,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_password_env`)}),(0,H.jsx)(`input`,{className:`input`,value:e.passwordEnv,disabled:t,onChange:t=>i(e.id,{passwordEnv:t.target.value})})]})]}):null,c?(0,H.jsxs)(`div`,{className:Y.storeAuthGrid,children:[(0,H.jsxs)(`label`,{className:Y.storeAuthField,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_header_name`)}),(0,H.jsx)(`input`,{className:`input`,value:e.headerName,placeholder:`X-Plugin-Token`,disabled:t,onChange:t=>i(e.id,{headerName:t.target.value})})]}),(0,H.jsxs)(`label`,{className:Y.storeAuthField,children:[(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_header_value_env`)}),(0,H.jsx)(`input`,{className:`input`,value:e.headerValueEnv,disabled:t,onChange:t=>i(e.id,{headerValueEnv:t.target.value})})]})]}):null,(0,H.jsxs)(`label`,{className:Y.storeAuthCheckbox,children:[(0,H.jsx)(`input`,{type:`checkbox`,checked:e.allowInsecure,disabled:t,onChange:t=>i(e.id,{allowInsecure:t.target.checked})}),(0,H.jsx)(`span`,{children:r(`config_management.visual.sections.system.store_auth_allow_insecure`)})]})]},e.id)}),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:a,disabled:t,children:r(`config_management.visual.sections.system.store_auth_add`)})})]})});function Vz(e){return!!(e.fromProtocol||(e.headers?.length??0)>0||(e.match?.length??0)>0||(e.notMatch?.length??0)>0||(e.exist?.length??0)>0||(e.notExist?.length??0)>0)}var Hz=(0,y.memo)(function({value:e,disabled:t,protocolFirst:n=!1,rawJsonValues:r=!1,onChange:i}){let{t:a}=ss(),o=e,s=(0,y.useMemo)(()=>Pz(a,o),[o,a]),c=(0,y.useMemo)(()=>[{value:``,label:a(`config_management.visual.payload_rules.provider_default`)},{value:`openai`,label:a(`config_management.visual.payload_rules.provider_openai`)},{value:`responses`,label:a(`config_management.visual.payload_rules.provider_responses`)},{value:`gemini`,label:a(`config_management.visual.payload_rules.provider_gemini`)},{value:`claude`,label:a(`config_management.visual.payload_rules.provider_claude`)}],[a]),l=(0,y.useMemo)(()=>kz.map(e=>({value:e.value,label:a(e.labelKey,{defaultValue:e.defaultLabel})})),[a]),u=(0,y.useMemo)(()=>[{value:`true`,label:a(`config_management.visual.payload_rules.boolean_true`)},{value:`false`,label:a(`config_management.visual.payload_rules.boolean_false`)}],[a]),[d,f]=(0,y.useState)({}),p=()=>i([...o,{id:bR(),models:[],params:[]}]),m=e=>i(o.filter((t,n)=>n!==e)),h=(e,t)=>i(o.map((n,r)=>r===e?{...n,...t}:n)),g=e=>{let t=o[e],n={id:bR(),name:``,protocol:void 0};h(e,{models:[...t.models,n]})},_=(e,t)=>{let n=o[e];h(e,{models:n.models.filter((e,n)=>n!==t)})},v=(e,t,n)=>{let r=o[e];h(e,{models:r.models.map((e,r)=>r===t?{...e,...n}:e)})},b=(e,t)=>{f(n=>({...n,[e]:!(n[e]??t)}))},x=(e,t)=>{let n=o[e].models[t];v(e,t,{headers:[...n.headers??[],{id:bR(),name:``,value:``}]})},S=(e,t,n,r)=>{let i=o[e].models[t];v(e,t,{headers:(i.headers??[]).map((e,t)=>t===n?{...e,...r}:e)})},C=(e,t,n)=>{let r=o[e].models[t];v(e,t,{headers:(r.headers??[]).filter((e,t)=>t!==n)})},w=(e,t,n)=>{let r=o[e].models[t];v(e,t,{[n]:[...r[n]??[],{id:bR(),path:``,valueType:`string`,value:``}]})},T=(e,t,n,r,i)=>{let a=o[e].models[t];v(e,t,{[n]:(a[n]??[]).map((e,t)=>t===r?{...e,...i}:e)})},E=(e,t,n,r)=>{let i=o[e].models[t];v(e,t,{[n]:(i[n]??[]).filter((e,t)=>t!==r)})},D=e=>{let t=o[e],n={id:bR(),path:``,valueType:r?`json`:`string`,value:``};h(e,{params:[...t.params,n]})},O=(e,t)=>{let n=o[e];h(e,{params:n.params.filter((e,n)=>n!==t)})},k=(e,t,n)=>{let r=o[e];h(e,{params:r.params.map((e,r)=>r===t?{...e,...n}:e)})},A=e=>{switch(e){case`string`:return a(`config_management.visual.payload_rules.value_string`);case`number`:return a(`config_management.visual.payload_rules.value_number`);case`boolean`:return a(`config_management.visual.payload_rules.value_boolean`);case`json`:return a(`config_management.visual.payload_rules.value_json`);default:return a(`config_management.visual.payload_rules.value_default`)}},j=e=>{let t=BR(r?{...e,valueType:`json`}:e);return Nz(a,t)},M=(e,n,r,i,o)=>o.valueType===`boolean`?(0,H.jsx)(hc,{value:o.value.toLowerCase()===`true`||o.value.toLowerCase()===`false`?o.value.toLowerCase():``,options:u,placeholder:a(`config_management.visual.payload_rules.value_boolean`),disabled:t,ariaLabel:a(`config_management.visual.payload_rules.condition_value`),onChange:t=>T(e,n,r,i,{value:t})}):o.valueType===`json`?(0,H.jsx)(`textarea`,{className:`input ${Y.payloadJsonInput}`,placeholder:A(o.valueType),"aria-label":a(`config_management.visual.payload_rules.condition_value`),value:o.value,onChange:t=>T(e,n,r,i,{value:t.target.value}),disabled:t}):(0,H.jsx)(Mz,{placeholder:A(o.valueType),ariaLabel:a(`config_management.visual.payload_rules.condition_value`),value:o.value,onChange:t=>T(e,n,r,i,{value:t}),disabled:t}),N=(e,n,i)=>r?(0,H.jsx)(`textarea`,{className:`input ${Y.payloadJsonInput}`,placeholder:a(`config_management.visual.payload_rules.value_raw_json`),"aria-label":a(`config_management.visual.payload_rules.param_value`),value:i.value,onChange:t=>k(e,n,{value:t.target.value,valueType:`json`}),disabled:t}):i.valueType===`boolean`?(0,H.jsx)(hc,{value:i.value.toLowerCase()===`true`||i.value.toLowerCase()===`false`?i.value.toLowerCase():``,options:u,placeholder:a(`config_management.visual.payload_rules.value_boolean`),disabled:t,ariaLabel:a(`config_management.visual.payload_rules.param_value`),onChange:t=>k(e,n,{value:t})}):i.valueType===`json`?(0,H.jsx)(`textarea`,{className:`input ${Y.payloadJsonInput}`,placeholder:A(i.valueType),"aria-label":a(`config_management.visual.payload_rules.param_value`),value:i.value,onChange:t=>k(e,n,{value:t.target.value}),disabled:t}):(0,H.jsx)(Mz,{placeholder:A(i.valueType),ariaLabel:a(`config_management.visual.payload_rules.param_value`),value:i.value,onChange:t=>k(e,n,{value:t}),disabled:t});return(0,H.jsxs)(`div`,{className:Y.blockStack,children:[o.map((e,i)=>(0,H.jsxs)(`div`,{className:Y.ruleCard,children:[(0,H.jsxs)(`div`,{className:Y.ruleCardHeader,children:[(0,H.jsxs)(`div`,{className:Y.ruleCardTitle,children:[a(`config_management.visual.payload_rules.rule`),` `,i+1]}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>m(i),disabled:t,children:a(`config_management.visual.common.delete`)})]}),(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:a(`config_management.visual.payload_rules.models`)}),(e.models.length?e.models:[]).map((e,r)=>{let o=Vz(e),u=d[e.id]??o;return(0,H.jsxs)(`div`,{className:Y.payloadModelGroup,children:[(0,H.jsxs)(`div`,{className:[Y.payloadRuleModelRow,n?Y.payloadRuleModelRowProtocolFirst:``].filter(Boolean).join(` `),children:[n?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(hc,{value:e.protocol??``,options:s,disabled:t,ariaLabel:a(`config_management.visual.payload_rules.provider_type`),onChange:e=>v(i,r,{protocol:e||void 0})}),(0,H.jsx)(Mz,{placeholder:a(`config_management.visual.payload_rules.model_name`),ariaLabel:a(`config_management.visual.payload_rules.model_name`),value:e.name,onChange:e=>v(i,r,{name:e}),disabled:t})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Mz,{placeholder:a(`config_management.visual.payload_rules.model_name`),ariaLabel:a(`config_management.visual.payload_rules.model_name`),value:e.name,onChange:e=>v(i,r,{name:e}),disabled:t}),(0,H.jsx)(hc,{value:e.protocol??``,options:s,disabled:t,ariaLabel:a(`config_management.visual.payload_rules.provider_type`),onChange:e=>v(i,r,{protocol:e||void 0})})]}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,className:Y.payloadRowActionButton,onClick:()=>b(e.id,o),disabled:t,children:a(u?`config_management.visual.payload_rules.hide_advanced`:`config_management.visual.payload_rules.advanced`)}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,className:Y.payloadRowActionButton,onClick:()=>_(i,r),disabled:t,children:a(`config_management.visual.common.delete`)})]}),u?(0,H.jsxs)(`div`,{className:Y.payloadModelAdvanced,children:[(0,H.jsx)(`div`,{className:Y.payloadAdvancedGrid,children:(0,H.jsxs)(`div`,{className:Y.fieldShell,children:[(0,H.jsx)(`label`,{className:Y.fieldLabel,children:a(`config_management.visual.payload_rules.from_protocol`)}),(0,H.jsx)(hc,{value:e.fromProtocol??``,options:c,disabled:t,ariaLabel:a(`config_management.visual.payload_rules.from_protocol`),onChange:e=>v(i,r,{fromProtocol:e||void 0})})]})}),(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:a(`config_management.visual.payload_rules.headers`)}),(e.headers??[]).map((e,n)=>(0,H.jsxs)(`div`,{className:Y.payloadHeaderRow,children:[(0,H.jsx)(Mz,{placeholder:a(`config_management.visual.payload_rules.header_name`),ariaLabel:a(`config_management.visual.payload_rules.header_name`),value:e.name,onChange:e=>S(i,r,n,{name:e}),disabled:t}),(0,H.jsx)(Mz,{placeholder:a(`config_management.visual.payload_rules.header_value`),ariaLabel:a(`config_management.visual.payload_rules.header_value`),value:e.value,onChange:e=>S(i,r,n,{value:e}),disabled:t}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,className:Y.payloadRowActionButton,onClick:()=>C(i,r,n),disabled:t,children:a(`config_management.visual.common.delete`)})]},e.id)),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>x(i,r),disabled:t,children:a(`config_management.visual.payload_rules.add_header`)})})]}),[`match`,`notMatch`].map(n=>(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:a(`config_management.visual.payload_rules.${n}`)}),(e[n]??[]).map((e,o)=>{let s=Nz(a,BR(e));return(0,H.jsxs)(`div`,{className:Y.payloadRuleParamGroup,children:[(0,H.jsxs)(`div`,{className:Y.payloadRuleParamRow,children:[(0,H.jsx)(Mz,{placeholder:a(`config_management.visual.payload_rules.condition_path`),ariaLabel:a(`config_management.visual.payload_rules.condition_path`),value:e.path,onChange:e=>T(i,r,n,o,{path:e}),disabled:t}),(0,H.jsx)(hc,{value:e.valueType,options:l,disabled:t,ariaLabel:a(`config_management.visual.payload_rules.param_type`),onChange:t=>T(i,r,n,o,{valueType:t,value:t===`boolean`?`true`:t===`json`&&e.value.trim()===``?`{}`:e.value})}),M(i,r,n,o,e),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,className:Y.payloadRowActionButton,onClick:()=>E(i,r,n,o),disabled:t,children:a(`config_management.visual.common.delete`)})]}),s?(0,H.jsx)(`div`,{className:`error-box ${Y.payloadParamError}`,children:s}):null]},e.id)}),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>w(i,r,n),disabled:t,children:a(`config_management.visual.payload_rules.add_condition`)})})]},n)),(0,H.jsxs)(`div`,{className:Y.payloadAdvancedGrid,children:[(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:a(`config_management.visual.payload_rules.exist`)}),(0,H.jsx)(Iz,{value:e.exist??[],disabled:t,placeholder:a(`config_management.visual.payload_rules.condition_path`),inputAriaLabel:a(`config_management.visual.payload_rules.condition_path`),onChange:e=>v(i,r,{exist:e})})]}),(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:a(`config_management.visual.payload_rules.notExist`)}),(0,H.jsx)(Iz,{value:e.notExist??[],disabled:t,placeholder:a(`config_management.visual.payload_rules.condition_path`),inputAriaLabel:a(`config_management.visual.payload_rules.condition_path`),onChange:e=>v(i,r,{notExist:e})})]})]})]}):null]},e.id)}),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>g(i),disabled:t,children:a(`config_management.visual.payload_rules.add_model`)})})]}),(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:a(`config_management.visual.payload_rules.params`)}),(e.params.length?e.params:[]).map((e,n)=>{let o=j(e);return(0,H.jsxs)(`div`,{className:Y.payloadRuleParamGroup,children:[(0,H.jsxs)(`div`,{className:[Y.payloadRuleParamRow,r?Y.payloadRuleRawParamRow:``].filter(Boolean).join(` `),children:[(0,H.jsx)(Mz,{placeholder:a(`config_management.visual.payload_rules.json_path`),ariaLabel:a(`config_management.visual.payload_rules.json_path`),value:e.path,onChange:e=>k(i,n,{path:e}),disabled:t}),r?null:(0,H.jsx)(hc,{value:e.valueType,options:l,disabled:t,ariaLabel:a(`config_management.visual.payload_rules.param_type`),onChange:t=>k(i,n,{valueType:t,value:t===`boolean`?`true`:t===`json`&&e.value.trim()===``?`{}`:e.value})}),N(i,n,e),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,className:Y.payloadRowActionButton,onClick:()=>O(i,n),disabled:t,children:a(`config_management.visual.common.delete`)})]}),o&&(0,H.jsx)(`div`,{className:`error-box ${Y.payloadParamError}`,children:o})]},e.id)}),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>D(i),disabled:t,children:a(`config_management.visual.payload_rules.add_param`)})})]})]},e.id)),o.length===0&&(0,H.jsx)(`div`,{className:Y.emptyState,children:a(`config_management.visual.payload_rules.no_rules`)}),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:p,disabled:t,children:a(`config_management.visual.payload_rules.add_rule`)})})]})}),Uz=(0,y.memo)(function({value:e,disabled:t,onChange:n}){let{t:r}=ss(),i=e,a=(0,y.useMemo)(()=>Pz(r,i),[i,r]),o=()=>n([...i,{id:bR(),models:[],params:[]}]),s=e=>n(i.filter((t,n)=>n!==e)),c=(e,t)=>n(i.map((n,r)=>r===e?{...n,...t}:n)),l=e=>{let t=i[e],n={id:bR(),name:``,protocol:void 0};c(e,{models:[...t.models,n]})},u=(e,t)=>{let n=i[e];c(e,{models:n.models.filter((e,n)=>n!==t)})},d=(e,t,n)=>{let r=i[e];c(e,{models:r.models.map((e,r)=>r===t?{...e,...n}:e)})};return(0,H.jsxs)(`div`,{className:Y.blockStack,children:[i.map((e,n)=>(0,H.jsxs)(`div`,{className:Y.ruleCard,children:[(0,H.jsxs)(`div`,{className:Y.ruleCardHeader,children:[(0,H.jsxs)(`div`,{className:Y.ruleCardTitle,children:[r(`config_management.visual.payload_rules.rule`),` `,n+1]}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:()=>s(n),disabled:t,children:r(`config_management.visual.common.delete`)})]}),(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:r(`config_management.visual.payload_rules.models`)}),e.models.map((e,i)=>(0,H.jsxs)(`div`,{className:Y.payloadFilterModelRow,children:[(0,H.jsx)(Mz,{placeholder:r(`config_management.visual.payload_rules.model_name`),ariaLabel:r(`config_management.visual.payload_rules.model_name`),value:e.name,onChange:e=>d(n,i,{name:e}),disabled:t}),(0,H.jsx)(hc,{value:e.protocol??``,options:a,disabled:t,ariaLabel:r(`config_management.visual.payload_rules.provider_type`),onChange:e=>d(n,i,{protocol:e||void 0})}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,className:Y.payloadRowActionButton,onClick:()=>u(n,i),disabled:t,children:r(`config_management.visual.common.delete`)})]},e.id)),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>l(n),disabled:t,children:r(`config_management.visual.payload_rules.add_model`)})})]}),(0,H.jsxs)(`div`,{className:Y.blockStack,children:[(0,H.jsx)(`div`,{className:Y.blockLabel,children:r(`config_management.visual.payload_rules.remove_params`)}),(0,H.jsx)(Iz,{value:e.params,disabled:t,placeholder:r(`config_management.visual.payload_rules.json_path_filter`),inputAriaLabel:r(`config_management.visual.payload_rules.json_path_filter`),onChange:e=>c(n,{params:e})})]})]},e.id)),i.length===0&&(0,H.jsx)(`div`,{className:Y.emptyState,children:r(`config_management.visual.payload_rules.no_rules`)}),(0,H.jsx)(`div`,{className:Y.actionRow,children:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:o,disabled:t,children:r(`config_management.visual.payload_rules.add_rule`)})})]})}),Wz=e=>`cfg-field-${e}`,X=e=>`config_management.visual.${e}`,Gz=[{fieldId:`host`,sectionId:`connectivity`,labelKey:X(`sections.server.host`),yamlKeys:[`host`]},{fieldId:`port`,sectionId:`connectivity`,labelKey:X(`sections.server.port`),yamlKeys:[`port`]},{fieldId:`authDir`,sectionId:`connectivity`,labelKey:X(`sections.auth.auth_dir`),hintKey:X(`sections.auth.auth_dir_hint`),yamlKeys:[`auth-dir`]},{fieldId:`apiKeys`,sectionId:`connectivity`,labelKey:X(`api_keys.label`),yamlKeys:[`api-keys`],keywords:[`api key`,`apikey`,`token`]},{fieldId:`tlsEnable`,sectionId:`connectivity`,labelKey:X(`sections.tls.enable`),hintKey:X(`sections.tls.enable_desc`),yamlKeys:[`tls`],keywords:[`tls`,`ssl`,`https`]},{fieldId:`tlsCert`,sectionId:`connectivity`,labelKey:X(`sections.tls.cert`),yamlKeys:[`tls`,`cert`],keywords:[`tls`,`ssl`,`certificate`]},{fieldId:`tlsKey`,sectionId:`connectivity`,labelKey:X(`sections.tls.key`),yamlKeys:[`tls`,`key`],keywords:[`tls`,`ssl`,`private key`]},{fieldId:`rmAllowRemote`,sectionId:`connectivity`,labelKey:X(`sections.remote.allow_remote`),hintKey:X(`sections.remote.allow_remote_desc`),yamlKeys:[`remote-management`,`allow-remote`]},{fieldId:`rmDisableControlPanel`,sectionId:`connectivity`,labelKey:X(`sections.remote.disable_panel`),yamlKeys:[`remote-management`,`disable-control-panel`]},{fieldId:`rmDisableAutoUpdatePanel`,sectionId:`connectivity`,labelKey:X(`sections.remote.disable_auto_update_panel`),yamlKeys:[`remote-management`,`disable-auto-update-panel`]},{fieldId:`rmSecretKey`,sectionId:`connectivity`,labelKey:X(`sections.remote.secret_key`),yamlKeys:[`remote-management`,`secret-key`]},{fieldId:`rmPanelRepo`,sectionId:`connectivity`,labelKey:X(`sections.remote.panel_repo`),yamlKeys:[`remote-management`,`panel-github-repository`]},{fieldId:`proxyUrl`,sectionId:`network`,labelKey:X(`sections.network.proxy_url`),yamlKeys:[`proxy-url`]},{fieldId:`requestRetry`,sectionId:`network`,labelKey:X(`sections.network.request_retry`),yamlKeys:[`request-retry`]},{fieldId:`maxRetryCredentials`,sectionId:`network`,labelKey:X(`sections.network.max_retry_credentials`),hintKey:X(`sections.network.max_retry_credentials_hint`),yamlKeys:[`max-retry-credentials`]},{fieldId:`maxRetryInterval`,sectionId:`network`,labelKey:X(`sections.network.max_retry_interval`),yamlKeys:[`max-retry-interval`]},{fieldId:`authAutoRefreshWorkers`,sectionId:`network`,labelKey:X(`sections.network.auth_auto_refresh_workers`),hintKey:X(`sections.network.auth_auto_refresh_workers_hint`),yamlKeys:[`auth-auto-refresh-workers`]},{fieldId:`routingStrategy`,sectionId:`network`,labelKey:X(`sections.network.routing_strategy`),hintKey:X(`sections.network.routing_strategy_hint`),yamlKeys:[`routing`,`strategy`],keywords:[`round-robin`,`weighted-round-robin`,`wrr`,`fill-first`]},{fieldId:`disableImageGeneration`,sectionId:`network`,labelKey:X(`sections.network.disable_image_generation`),hintKey:X(`sections.network.disable_image_generation_hint`),yamlKeys:[`disable-image-generation`],keywords:[`false`,`true`,`chat`,`passthrough`]},{fieldId:`gptImage2BaseModel`,sectionId:`network`,labelKey:X(`sections.network.gpt_image_2_base_model`),hintKey:X(`sections.network.gpt_image_2_base_model_hint`),yamlKeys:[`gpt-image-2-base-model`]},{fieldId:`routingSessionAffinityTTL`,sectionId:`network`,labelKey:X(`sections.network.session_affinity_ttl`),yamlKeys:[`routing`,`session-affinity-ttl`]},{fieldId:`forceModelPrefix`,sectionId:`network`,labelKey:X(`sections.network.force_model_prefix`),hintKey:X(`sections.network.force_model_prefix_desc`),yamlKeys:[`force-model-prefix`]},{fieldId:`passthroughHeaders`,sectionId:`network`,labelKey:X(`sections.network.passthrough_headers`),hintKey:X(`sections.network.passthrough_headers_desc`),yamlKeys:[`passthrough-headers`]},{fieldId:`disableCooling`,sectionId:`network`,labelKey:X(`sections.network.disable_cooling`),hintKey:X(`sections.network.disable_cooling_desc`),yamlKeys:[`disable-cooling`]},{fieldId:`routingSessionAffinity`,sectionId:`network`,labelKey:X(`sections.network.session_affinity`),yamlKeys:[`routing`,`session-affinity`]},{fieldId:`wsAuth`,sectionId:`network`,labelKey:X(`sections.network.ws_auth`),hintKey:X(`sections.network.ws_auth_desc`),yamlKeys:[`ws-auth`],keywords:[`websocket`]},{fieldId:`debug`,sectionId:`logging`,labelKey:X(`sections.system.debug`),hintKey:X(`sections.system.debug_desc`),yamlKeys:[`debug`]},{fieldId:`commercialMode`,sectionId:`logging`,labelKey:X(`sections.system.commercial_mode`),hintKey:X(`sections.system.commercial_mode_desc`),yamlKeys:[`commercial-mode`]},{fieldId:`loggingToFile`,sectionId:`logging`,labelKey:X(`sections.system.logging_to_file`),hintKey:X(`sections.system.logging_to_file_desc`),yamlKeys:[`logging-to-file`]},{fieldId:`logsMaxTotalSizeMb`,sectionId:`logging`,labelKey:X(`sections.system.logs_max_size`),yamlKeys:[`logs-max-total-size-mb`]},{fieldId:`errorLogsMaxFiles`,sectionId:`logging`,labelKey:X(`sections.system.error_logs_max_files`),yamlKeys:[`error-logs-max-files`]},{fieldId:`redisUsageQueueRetentionSeconds`,sectionId:`logging`,labelKey:X(`sections.system.redis_usage_retention`),hintKey:X(`sections.system.redis_usage_retention_hint`),yamlKeys:[`redis-usage-queue-retention-seconds`]},{fieldId:`usageStatisticsEnabled`,sectionId:`logging`,labelKey:X(`sections.system.usage_statistics_enabled`),hintKey:X(`sections.system.usage_statistics_enabled_desc`),yamlKeys:[`usage-statistics-enabled`]},{fieldId:`quotaSwitchProject`,sectionId:`quota`,labelKey:X(`sections.quota.switch_project`),hintKey:X(`sections.quota.switch_project_desc`),yamlKeys:[`quota-exceeded`,`switch-project`]},{fieldId:`quotaSwitchPreviewModel`,sectionId:`quota`,labelKey:X(`sections.quota.switch_preview_model`),hintKey:X(`sections.quota.switch_preview_model_desc`),yamlKeys:[`quota-exceeded`,`switch-preview-model`]},{fieldId:`quotaAntigravityCredits`,sectionId:`quota`,labelKey:X(`sections.quota.antigravity_credits`),yamlKeys:[`quota-exceeded`,`antigravity-credits`]},{fieldId:`streamingKeepaliveSeconds`,sectionId:`streaming`,labelKey:X(`sections.streaming.keepalive_seconds`),hintKey:X(`sections.streaming.keepalive_hint`),yamlKeys:[`streaming`,`keepalive-seconds`]},{fieldId:`streamingBootstrapRetries`,sectionId:`streaming`,labelKey:X(`sections.streaming.bootstrap_retries`),hintKey:X(`sections.streaming.bootstrap_hint`),yamlKeys:[`streaming`,`bootstrap-retries`]},{fieldId:`streamingNonstreamKeepalive`,sectionId:`streaming`,labelKey:X(`sections.streaming.nonstream_keepalive`),hintKey:X(`sections.streaming.nonstream_keepalive_hint`),yamlKeys:[`streaming`,`nonstream-keepalive-interval`]},{fieldId:`pluginsEnabled`,sectionId:`advanced`,labelKey:X(`sections.system.plugins_enabled`),hintKey:X(`sections.system.plugins_enabled_desc`),yamlKeys:[`plugins`]},{fieldId:`pluginStoreSources`,sectionId:`advanced`,labelKey:X(`sections.system.plugin_store_sources`),hintKey:X(`sections.system.plugin_store_sources_hint`),yamlKeys:[`plugins`,`store-sources`]},{fieldId:`pluginStoreAuth`,sectionId:`advanced`,labelKey:X(`sections.system.plugin_store_auth`),hintKey:X(`sections.system.plugin_store_auth_hint`),yamlKeys:[`plugins`,`store-auth`]},{fieldId:`antigravitySignatureCacheEnabled`,sectionId:`advanced`,labelKey:X(`sections.system.antigravity_signature_cache`),hintKey:X(`sections.system.antigravity_signature_cache_desc`),yamlKeys:[`antigravity-signature-cache-enabled`]},{fieldId:`antigravitySignatureBypassStrict`,sectionId:`advanced`,labelKey:X(`sections.system.antigravity_signature_strict`),hintKey:X(`sections.system.antigravity_signature_strict_desc`),yamlKeys:[`antigravity-signature-bypass-strict`]},{fieldId:`claudeHeaderUserAgent`,sectionId:`advanced`,labelKey:X(`sections.headers.user_agent`),qualifierKey:X(`sections.headers.claude_title`),yamlKeys:[`claude-header-defaults`,`user-agent`],keywords:[`claude`]},{fieldId:`claudeHeaderPackageVersion`,sectionId:`advanced`,labelKey:X(`sections.headers.package_version`),qualifierKey:X(`sections.headers.claude_title`),yamlKeys:[`claude-header-defaults`,`package-version`],keywords:[`claude`]},{fieldId:`claudeHeaderRuntimeVersion`,sectionId:`advanced`,labelKey:X(`sections.headers.runtime_version`),qualifierKey:X(`sections.headers.claude_title`),yamlKeys:[`claude-header-defaults`,`runtime-version`],keywords:[`claude`]},{fieldId:`claudeHeaderOs`,sectionId:`advanced`,labelKey:X(`sections.headers.os`),qualifierKey:X(`sections.headers.claude_title`),yamlKeys:[`claude-header-defaults`,`os`],keywords:[`claude`]},{fieldId:`claudeHeaderArch`,sectionId:`advanced`,labelKey:X(`sections.headers.arch`),qualifierKey:X(`sections.headers.claude_title`),yamlKeys:[`claude-header-defaults`,`arch`],keywords:[`claude`]},{fieldId:`claudeHeaderTimeout`,sectionId:`advanced`,labelKey:X(`sections.headers.timeout`),qualifierKey:X(`sections.headers.claude_title`),yamlKeys:[`claude-header-defaults`,`timeout`],keywords:[`claude`]},{fieldId:`claudeHeaderStabilizeDeviceProfile`,sectionId:`advanced`,labelKey:X(`sections.headers.stabilize_device`),qualifierKey:X(`sections.headers.claude_title`),hintKey:X(`sections.headers.stabilize_device_desc`),yamlKeys:[`claude-header-defaults`,`stabilize-device-profile`],keywords:[`claude`]},{fieldId:`codexHeaderUserAgent`,sectionId:`advanced`,labelKey:X(`sections.headers.user_agent`),qualifierKey:X(`sections.headers.codex_title`),yamlKeys:[`codex-header-defaults`,`user-agent`],keywords:[`codex`]},{fieldId:`codexHeaderBetaFeatures`,sectionId:`advanced`,labelKey:X(`sections.headers.beta_features`),qualifierKey:X(`sections.headers.codex_title`),yamlKeys:[`codex-header-defaults`,`beta-features`],keywords:[`codex`]},{fieldId:`payloadDefaultRules`,sectionId:`payload`,labelKey:X(`sections.payload.default_rules`),hintKey:X(`sections.payload.default_rules_desc`),keywords:[`payload`,`rule`]},{fieldId:`payloadDefaultRawRules`,sectionId:`payload`,labelKey:X(`sections.payload.default_raw_rules`),hintKey:X(`sections.payload.default_raw_rules_desc`),keywords:[`payload`,`rule`,`json`]},{fieldId:`payloadOverrideRules`,sectionId:`payload`,labelKey:X(`sections.payload.override_rules`),hintKey:X(`sections.payload.override_rules_desc`),keywords:[`payload`,`rule`]},{fieldId:`payloadOverrideRawRules`,sectionId:`payload`,labelKey:X(`sections.payload.override_raw_rules`),hintKey:X(`sections.payload.override_raw_rules_desc`),keywords:[`payload`,`rule`,`json`]},{fieldId:`payloadFilterRules`,sectionId:`payload`,labelKey:X(`sections.payload.filter_rules`),hintKey:X(`sections.payload.filter_rules_desc`),keywords:[`payload`,`rule`,`filter`]}],Kz=8;function qz(e,t){let n=e.trim().toLowerCase();if(!n)return[];let r=[];for(let e of Gz){let i=t(e.labelKey).toLowerCase(),a=e.qualifierKey?t(e.qualifierKey).toLowerCase():``,o=e.hintKey?t(e.hintKey).toLowerCase():``,s=(e.yamlKeys??[]).join(` `).toLowerCase(),c=(e.keywords??[]).join(` `).toLowerCase(),l=1/0;i.startsWith(n)?l=0:i.includes(n)?l=1:a.includes(n)||c.includes(n)?l=2:s.includes(n)?l=3:o.includes(n)&&(l=4),Number.isFinite(l)&&r.push({entry:e,score:l})}return r.sort((e,t)=>e.score-t.score),r.slice(0,Kz).map(e=>e.entry)}var Jz=`config-management:editor-mode`;function Yz(e,t){if(t)return e(`config_management.visual.validation.${t}`)}function Xz({title:e,description:t,checked:n,disabled:r,onChange:i}){return(0,H.jsxs)(`div`,{className:Y.toggleRow,children:[(0,H.jsxs)(`div`,{className:Y.toggleCopy,children:[(0,H.jsx)(`div`,{className:Y.toggleTitle,children:e}),t?(0,H.jsx)(`div`,{className:Y.toggleDescription,children:t}):null]}),(0,H.jsx)(Kw,{checked:n,onChange:i,disabled:r,ariaLabel:e})]})}function Zz({children:e}){return(0,H.jsx)(`div`,{className:Y.sectionGrid,children:e})}function Qz({children:e}){return(0,H.jsx)(`div`,{className:Y.sectionStack,children:e})}function $z(){return(0,H.jsx)(`div`,{className:Y.divider})}function eB({fieldId:e,children:t}){return(0,H.jsx)(`div`,{id:Wz(e),className:Y.fieldAnchor,children:t})}function tB({title:e,description:t,children:n}){return(0,H.jsxs)(`div`,{className:Y.subsection,children:[(0,H.jsxs)(`div`,{className:Y.subsectionHeader,children:[(0,H.jsx)(`h3`,{className:Y.subsectionTitle,children:e}),t?(0,H.jsx)(`p`,{className:Y.subsectionDescription,children:t}):null]}),n]})}function nB({label:e,labelId:t,htmlFor:n,hint:r,hintId:i,error:a,errorId:o,children:s}){return(0,H.jsxs)(`div`,{className:Y.fieldShell,children:[(0,H.jsx)(`label`,{id:t,htmlFor:n,className:Y.fieldLabel,children:e}),s,a?(0,H.jsx)(`div`,{id:o,className:`error-box`,children:a}):null,r?(0,H.jsx)(`div`,{id:i,className:Y.fieldHint,children:r}):null]})}function rB({values:e,validationErrors:t,hasPayloadValidationErrors:n=!1,disabled:r=!1,onChange:i}){let{t:a}=ss(),o=oh(),s=!o||o.isCurrentLayer,c=yR(`(max-width: 768px)`),l=(0,y.useId)(),u=`${l}-hint`,d=(0,y.useId)(),f=`${d}-hint`,p=(0,y.useId)(),m=`${p}-hint`,h=`${p}-error`,g=(0,y.useId)(),_=`${g}-hint`,v=`${g}-error`,[b,x]=(0,y.useState)(()=>localStorage.getItem(Jz)===`full`?`full`:`simple`),[S,C]=(0,y.useState)(`connectivity`),w=(0,y.useRef)({}),T=(0,y.useRef)(null),E=(0,y.useRef)({}),[D,O]=(0,y.useState)(``),[k,A]=(0,y.useState)(!1),[j,M]=(0,y.useState)(0),N=(0,y.useId)(),ee=(0,y.useRef)(null),[P,F]=(0,y.useState)(null),I=(0,y.useRef)(null),L=(0,y.useRef)(null),R=(0,y.useRef)(null),z=(0,y.useRef)(null),te=(0,y.useCallback)(e=>{x(e),localStorage.setItem(Jz,e)},[]),B=(0,y.useMemo)(()=>qz(D,a),[D,a]),V=k&&!!D.trim(),ne=B.length>0?Math.min(Math.max(j,0),B.length-1):-1,re=(0,y.useCallback)(e=>{A(!1),te(`full`),C(e.sectionId),F({fieldId:e.fieldId,sectionId:e.sectionId})},[te]);(0,y.useEffect)(()=>{if(b!==`full`||!P||I.current===P)return;I.current=P;let{fieldId:t,sectionId:n}=P,r=(t===`tlsCert`||t===`tlsKey`)&&!e.tlsEnable?`tlsEnable`:t,i=document.getElementById(Wz(r));if(!i){w.current[n]?.scrollIntoView({block:`nearest`,inline:`start`});return}let a=i.closest(`details`)??i.querySelector(`details`);a&&!a.open&&(a.open=!0),R.current!==null&&(clearTimeout(R.current),z.current?.classList.remove(Y.fieldHighlightActive)),w.current[n]?.scrollIntoView({block:`nearest`,inline:`start`}),requestAnimationFrame(()=>{i.scrollIntoView({behavior:`smooth`,block:`center`,inline:`nearest`}),i.classList.add(Y.fieldHighlightActive)}),z.current=i,R.current=window.setTimeout(()=>{i.classList.remove(Y.fieldHighlightActive),R.current=null,z.current=null},1800)},[b,P,e.tlsEnable]),(0,y.useEffect)(()=>()=>{R.current!==null&&clearTimeout(R.current)},[]),(0,y.useEffect)(()=>{if(!k)return;let e=e=>{L.current&&!L.current.contains(e.target)&&A(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[k]),(0,y.useEffect)(()=>{!V||ne<0||(ee.current?.querySelector(`[data-result-index="${ne}"]`))?.scrollIntoView({block:`nearest`})},[ne,V]);let ie=e.streaming.keepaliveSeconds===``||e.streaming.keepaliveSeconds===`0`,ae=e.streaming.nonstreamKeepaliveInterval===``||e.streaming.nonstreamKeepaliveInterval===`0`,oe=Yz(a,t?.port),se=Yz(a,t?.logsMaxTotalSizeMb),ce=Yz(a,t?.errorLogsMaxFiles),le=Yz(a,t?.redisUsageQueueRetentionSeconds),ue=Yz(a,t?.requestRetry),de=Yz(a,t?.maxRetryCredentials),fe=Yz(a,t?.maxRetryInterval),pe=Yz(a,t?.authAutoRefreshWorkers),me=Yz(a,t?.[`streaming.keepaliveSeconds`]),he=Yz(a,t?.[`streaming.bootstrapRetries`]),ge=Yz(a,t?.[`streaming.nonstreamKeepaliveInterval`]),_e=(0,y.useCallback)(e=>i({apiKeysText:e}),[i]),ve=(0,y.useCallback)(e=>i({pluginStoreSources:e}),[i]),ye=(0,y.useCallback)(e=>i({pluginStoreAuth:e}),[i]),be=(0,y.useCallback)(e=>i({payloadDefaultRules:e}),[i]),xe=(0,y.useCallback)(e=>i({payloadDefaultRawRules:e}),[i]),Se=(0,y.useCallback)(e=>i({payloadOverrideRules:e}),[i]),Ce=(0,y.useCallback)(e=>i({payloadOverrideRawRules:e}),[i]),we=(0,y.useCallback)(e=>i({payloadFilterRules:e}),[i]),Te=(0,y.useMemo)(()=>[{value:`false`,label:a(`config_management.visual.sections.network.disable_image_generation_false`)},{value:`true`,label:a(`config_management.visual.sections.network.disable_image_generation_true`)},{value:`chat`,label:a(`config_management.visual.sections.network.disable_image_generation_chat`)},{value:`passthrough`,label:a(`config_management.visual.sections.network.disable_image_generation_passthrough`)}],[a]),Ee=(0,y.useCallback)(e=>e.reduce((e,n)=>e+ +!!t?.[n],0),[t]),De=(0,y.useMemo)(()=>[{id:`connectivity`,title:a(`config_management.visual.sections.connectivity.title`),icon:ps,errorCount:Ee([`port`])},{id:`network`,title:a(`config_management.visual.sections.network.title`),icon:Ns,errorCount:Ee([`requestRetry`,`maxRetryCredentials`,`maxRetryInterval`,`authAutoRefreshWorkers`])},{id:`logging`,title:a(`config_management.visual.sections.logging.title`),icon:xs,errorCount:Ee([`errorLogsMaxFiles`,`logsMaxTotalSizeMb`,`redisUsageQueueRetentionSeconds`])},{id:`quota`,title:a(`config_management.visual.sections.quota.title`),icon:Gs,errorCount:0},{id:`streaming`,title:a(`config_management.visual.sections.streaming.title`),icon:Ws,errorCount:Ee([`streaming.keepaliveSeconds`,`streaming.bootstrapRetries`,`streaming.nonstreamKeepaliveInterval`])},{id:`advanced`,title:a(`config_management.visual.sections.advanced.title`),icon:vs,errorCount:0},{id:`payload`,title:a(`config_management.visual.sections.payload.title`),icon:Xs,errorCount:+!!n}],[Ee,n,a]),Oe=De.some(e=>e.errorCount>0)||n,ke=Object.keys(t??{}).some(e=>e!==`port`&&!!t?.[e])||n,Ae=n?`payload-errors`:`payload-ok`,je=De.find(e=>e.id===S)??De[0];(0,y.useEffect)(()=>{if(b!==`full`||!s||typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting).sort((e,t)=>t.intersectionRatio-e.intersectionRatio);t.length!==0&&C(t[0].target.id)},{rootMargin:`-18% 0px -58% 0px`,threshold:[.12,.3,.55]});for(let t of De){let n=w.current[t.id];n&&e.observe(n)}return()=>e.disconnect()},[s,b,De]),(0,y.useEffect)(()=>{if(b!==`full`||!s||!c)return;let e=T.current,t=E.current[S];if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=e.scrollLeft+(r.left-n.left)-(e.clientWidth-r.width)/2,a=Math.max(e.scrollWidth-e.clientWidth,0),o=Math.min(Math.max(i,0),a);e.scrollTo({left:o,behavior:`smooth`})},[S,s,c,b]);let Me=(0,y.useCallback)(e=>{C(e),w.current[e]?.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`start`})},[]),Ne=(0,H.jsx)(eB,{fieldId:`host`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.server.host`),placeholder:`0.0.0.0`,value:e.host,onChange:e=>i({host:e.target.value}),disabled:r})}),Pe=(0,H.jsx)(eB,{fieldId:`port`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.server.port`),type:`number`,placeholder:`8317`,value:e.port,onChange:e=>i({port:e.target.value}),disabled:r,error:oe})}),Fe=(0,H.jsx)(eB,{fieldId:`proxyUrl`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.network.proxy_url`),placeholder:`socks5://user:pass@127.0.0.1:1080/`,value:e.proxyUrl,onChange:e=>i({proxyUrl:e.target.value}),disabled:r})}),Ie=(0,H.jsx)(eB,{fieldId:`apiKeys`,children:(0,H.jsx)(`div`,{className:Y.subsection,children:(0,H.jsx)(Fz,{value:e.apiKeysText,disabled:r,onChange:_e})})}),Le=(0,H.jsx)(eB,{fieldId:`debug`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.system.debug`),description:a(`config_management.visual.sections.system.debug_desc`),checked:e.debug,disabled:r,onChange:e=>i({debug:e})})}),Re=(0,H.jsx)(eB,{fieldId:`loggingToFile`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.system.logging_to_file`),description:a(`config_management.visual.sections.system.logging_to_file_desc`),checked:e.loggingToFile,disabled:r,onChange:e=>i({loggingToFile:e})})}),ze=(0,H.jsx)(eB,{fieldId:`quotaSwitchProject`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.quota.switch_project`),description:a(`config_management.visual.sections.quota.switch_project_desc`),checked:e.quotaSwitchProject,disabled:r,onChange:e=>i({quotaSwitchProject:e})})}),Be=(0,H.jsx)(eB,{fieldId:`quotaSwitchPreviewModel`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.quota.switch_preview_model`),description:a(`config_management.visual.sections.quota.switch_preview_model_desc`),checked:e.quotaSwitchPreviewModel,disabled:r,onChange:e=>i({quotaSwitchPreviewModel:e})})}),Ve=(0,H.jsx)(`div`,{className:Y.navList,children:De.map((e,t)=>{let n=e.icon;return(0,H.jsxs)(`button`,{type:`button`,className:`${Y.navButton} ${S===e.id?Y.navButtonActive:``}`,onClick:()=>Me(e.id),children:[(0,H.jsx)(`span`,{className:Y.navIndex,children:String(t+1).padStart(2,`0`)}),(0,H.jsx)(`span`,{className:Y.navMain,children:(0,H.jsxs)(`span`,{className:Y.navHeadingRow,children:[(0,H.jsxs)(`span`,{className:Y.navLabelWrap,children:[(0,H.jsx)(`span`,{className:Y.navIcon,children:(0,H.jsx)(n,{size:14})}),(0,H.jsx)(`span`,{className:Y.navLabel,children:e.title})]}),e.errorCount>0?(0,H.jsx)(`span`,{className:Y.navBadge,"aria-hidden":`true`,children:e.errorCount}):null]})})]},e.id)})});return(0,H.jsxs)(`div`,{className:Y.visualEditor,children:[(0,H.jsxs)(`div`,{className:Y.overview,children:[(0,H.jsxs)(`div`,{className:Y.overviewHeader,children:[(0,H.jsxs)(`div`,{className:Y.modeSwitch,role:`group`,"aria-label":a(`config_management.visual.mode.label`),children:[(0,H.jsxs)(`button`,{type:`button`,className:`${Y.modeButton} ${b===`simple`?Y.modeButtonActive:``}`,onClick:()=>te(`simple`),"aria-pressed":b===`simple`,children:[(0,H.jsx)(fs,{size:14}),a(`config_management.visual.mode.simple`)]}),(0,H.jsx)(`button`,{type:`button`,className:`${Y.modeButton} ${b===`full`?Y.modeButtonActive:``}`,onClick:()=>te(`full`),"aria-pressed":b===`full`,children:a(`config_management.visual.mode.full`)})]}),(0,H.jsxs)(`div`,{className:Y.overviewMeta,children:[b===`full`&&je?(0,H.jsx)(`span`,{className:Y.overviewPill,children:je.title}):null,Oe?(0,H.jsx)(`span`,{className:`${Y.overviewPill} ${Y.overviewPillWarning}`,children:a(`config_management.visual.validation.validation_blocked`)}):null]})]}),(0,H.jsxs)(`div`,{className:Y.searchBox,ref:L,children:[(0,H.jsx)(us,{className:Y.searchControl,placeholder:a(`config_management.visual.search.placeholder`),"aria-label":a(`config_management.visual.search.placeholder`),role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":V,"aria-controls":V?N:void 0,"aria-activedescendant":V&&ne>=0?`${N}-opt-${ne}`:void 0,value:D,onChange:e=>{O(e.target.value),A(!0),M(0)},onFocus:()=>A(!0),onKeyDown:e=>{if(!e.nativeEvent.isComposing){if(e.key===`Escape`){A(!1);return}if(e.key===`ArrowDown`){if(e.preventDefault(),!V){A(!0);return}if(B.length===0)return;M((ne+1)%B.length);return}if(e.key===`ArrowUp`){if(e.preventDefault(),!V){A(!0);return}if(B.length===0)return;M(ne<=0?B.length-1:ne-1);return}e.key===`Enter`&&V&&B.length>0&&(e.preventDefault(),re(B[ne]??B[0]))}},rightElement:(0,H.jsx)(`span`,{className:Y.searchIcon,"aria-hidden":`true`,children:(0,H.jsx)(Rs,{size:16})})}),V?(0,H.jsx)(`div`,{className:Y.searchResults,role:`listbox`,id:N,"aria-label":a(`config_management.visual.search.placeholder`),ref:ee,children:B.length>0?B.map((e,t)=>(0,H.jsxs)(`button`,{type:`button`,role:`option`,id:`${N}-opt-${t}`,"data-result-index":t,tabIndex:-1,"aria-selected":t===ne,className:`${Y.searchResultItem} ${t===ne?Y.searchResultItemActive:``}`,onMouseEnter:()=>M(t),onClick:()=>re(e),children:[(0,H.jsxs)(`span`,{className:Y.searchResultLabel,children:[a(e.labelKey),e.qualifierKey?(0,H.jsx)(`span`,{className:Y.searchResultQualifier,children:a(e.qualifierKey)}):null]}),(0,H.jsx)(`span`,{className:Y.searchResultSection,children:a(`config_management.visual.sections.${e.sectionId}.title`)})]},e.fieldId)):(0,H.jsx)(`div`,{className:Y.searchEmpty,children:a(`config_management.visual.search.no_results`)})}):null]})]}),b===`simple`?(0,H.jsxs)(`div`,{className:Y.simpleView,children:[ke?(0,H.jsxs)(`div`,{className:Y.simpleBanner,role:`alert`,children:[(0,H.jsx)(`span`,{children:a(`config_management.visual.mode.validation_banner`)}),(0,H.jsx)(`button`,{type:`button`,className:Y.simpleBannerAction,onClick:()=>te(`full`),children:a(`config_management.visual.mode.switch_to_full`)})]}):null,(0,H.jsxs)(`div`,{className:Y.simpleForm,children:[(0,H.jsx)(`div`,{className:Y.simpleField,children:Ne}),(0,H.jsx)(`div`,{className:Y.simpleField,children:Pe}),Ie,(0,H.jsx)(`div`,{className:Y.simpleField,children:Fe}),Le,Re,ze,Be]}),(0,H.jsx)(`button`,{type:`button`,className:Y.simpleMore,onClick:()=>te(`full`),children:a(`config_management.visual.mode.more_settings`,{total:De.length})})]}):(0,H.jsxs)(`div`,{className:Y.workspace,children:[c?(0,H.jsx)(`div`,{className:Y.mobileSectionNav,children:(0,H.jsx)(`div`,{ref:T,className:Y.mobileSectionNavScroller,"aria-label":a(`config_management.visual.quick_jump`,{defaultValue:`快速跳转`}),children:De.map((e,t)=>(0,H.jsxs)(`button`,{ref:t=>{E.current[e.id]=t},type:`button`,className:`${Y.mobileSectionNavButton} ${S===e.id?Y.mobileSectionNavButtonActive:``}`,onClick:()=>Me(e.id),children:[(0,H.jsx)(`span`,{className:Y.mobileSectionNavIndex,children:String(t+1).padStart(2,`0`)}),(0,H.jsx)(`span`,{className:Y.mobileSectionNavLabel,children:e.title}),e.errorCount>0?(0,H.jsx)(`span`,{className:Y.mobileSectionNavBadge,"aria-hidden":`true`,children:e.errorCount}):null]},e.id))})}):null,(0,H.jsx)(`aside`,{className:Y.sidebar,children:(0,H.jsx)(`div`,{className:Y.sidebarRail,children:Ve})}),(0,H.jsxs)(`div`,{className:Y.sections,children:[(0,H.jsx)(vR,{id:`connectivity`,ref:e=>{w.current.connectivity=e},indexLabel:`01`,icon:(0,H.jsx)(ps,{size:16}),title:a(`config_management.visual.sections.connectivity.title`),description:a(`config_management.visual.sections.connectivity.description`),children:(0,H.jsxs)(Qz,{children:[(0,H.jsxs)(Zz,{children:[Ne,Pe]}),(0,H.jsx)(eB,{fieldId:`authDir`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.auth.auth_dir`),placeholder:`~/.cli-proxy-api`,value:e.authDir,onChange:e=>i({authDir:e.target.value}),disabled:r,hint:a(`config_management.visual.sections.auth.auth_dir_hint`)})}),Ie,(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.tls.title`),hint:a(`config_management.visual.sections.tls.description`),defaultOpen:!1,children:(0,H.jsxs)(Qz,{children:[(0,H.jsx)(eB,{fieldId:`tlsEnable`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.tls.enable`),description:a(`config_management.visual.sections.tls.enable_desc`),checked:e.tlsEnable,disabled:r,onChange:e=>i({tlsEnable:e})})}),e.tlsEnable?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)($z,{}),(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`tlsCert`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.tls.cert`),placeholder:`/path/to/cert.pem`,value:e.tlsCert,onChange:e=>i({tlsCert:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`tlsKey`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.tls.key`),placeholder:`/path/to/key.pem`,value:e.tlsKey,onChange:e=>i({tlsKey:e.target.value}),disabled:r})})]})]}):null]})}),(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.remote.title`),hint:a(`config_management.visual.sections.remote.description`),defaultOpen:!1,children:(0,H.jsxs)(Qz,{children:[(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`rmAllowRemote`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.remote.allow_remote`),description:a(`config_management.visual.sections.remote.allow_remote_desc`),checked:e.rmAllowRemote,disabled:r,onChange:e=>i({rmAllowRemote:e})})}),(0,H.jsx)(eB,{fieldId:`rmDisableControlPanel`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.remote.disable_panel`),description:a(`config_management.visual.sections.remote.disable_panel_desc`),checked:e.rmDisableControlPanel,disabled:r,onChange:e=>i({rmDisableControlPanel:e})})}),(0,H.jsx)(eB,{fieldId:`rmDisableAutoUpdatePanel`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.remote.disable_auto_update_panel`),description:a(`config_management.visual.sections.remote.disable_auto_update_panel_desc`),checked:e.rmDisableAutoUpdatePanel,disabled:r,onChange:e=>i({rmDisableAutoUpdatePanel:e})})})]}),(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`rmSecretKey`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.remote.secret_key`),type:`password`,placeholder:a(`config_management.visual.sections.remote.secret_key_placeholder`),value:e.rmSecretKey,onChange:e=>i({rmSecretKey:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`rmPanelRepo`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.remote.panel_repo`),placeholder:`https://github.com/router-for-me/Cli-Proxy-API-Management-Center`,value:e.rmPanelRepo,onChange:e=>i({rmPanelRepo:e.target.value}),disabled:r})})]})]})})]})}),(0,H.jsx)(vR,{id:`network`,ref:e=>{w.current.network=e},indexLabel:`02`,icon:(0,H.jsx)(Ns,{size:16}),title:a(`config_management.visual.sections.network.title`),description:a(`config_management.visual.sections.network.description`),children:(0,H.jsxs)(Qz,{children:[(0,H.jsxs)(Zz,{children:[Fe,(0,H.jsx)(eB,{fieldId:`requestRetry`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.network.request_retry`),type:`number`,placeholder:`3`,value:e.requestRetry,onChange:e=>i({requestRetry:e.target.value}),disabled:r,error:ue})}),(0,H.jsx)(eB,{fieldId:`maxRetryCredentials`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.network.max_retry_credentials`),type:`number`,placeholder:`0`,value:e.maxRetryCredentials,onChange:e=>i({maxRetryCredentials:e.target.value}),disabled:r,hint:a(`config_management.visual.sections.network.max_retry_credentials_hint`),error:de})}),(0,H.jsx)(eB,{fieldId:`maxRetryInterval`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.network.max_retry_interval`),type:`number`,placeholder:`30`,value:e.maxRetryInterval,onChange:e=>i({maxRetryInterval:e.target.value}),disabled:r,error:fe})}),(0,H.jsx)(eB,{fieldId:`authAutoRefreshWorkers`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.network.auth_auto_refresh_workers`),type:`number`,placeholder:`16`,value:e.authAutoRefreshWorkers,onChange:e=>i({authAutoRefreshWorkers:e.target.value}),disabled:r,hint:a(`config_management.visual.sections.network.auth_auto_refresh_workers_hint`),error:pe})}),(0,H.jsx)(eB,{fieldId:`routingStrategy`,children:(0,H.jsx)(nB,{label:a(`config_management.visual.sections.network.routing_strategy`),labelId:l,hint:a(`config_management.visual.sections.network.routing_strategy_hint`),hintId:u,children:(0,H.jsx)(hc,{value:e.routingStrategy,options:[{value:`round-robin`,label:a(`config_management.visual.sections.network.strategy_round_robin`)},{value:`weighted-round-robin`,label:a(`config_management.visual.sections.network.strategy_weighted_round_robin`)},{value:`fill-first`,label:a(`config_management.visual.sections.network.strategy_fill_first`)}],id:`${l}-select`,disabled:r,ariaLabelledBy:l,ariaDescribedBy:u,onChange:e=>i({routingStrategy:e})})})}),(0,H.jsx)(eB,{fieldId:`disableImageGeneration`,children:(0,H.jsx)(nB,{label:a(`config_management.visual.sections.network.disable_image_generation`),labelId:d,hint:a(`config_management.visual.sections.network.disable_image_generation_hint`),hintId:f,children:(0,H.jsx)(hc,{value:e.disableImageGeneration,options:Te,id:`${d}-select`,disabled:r,ariaLabelledBy:d,ariaDescribedBy:f,onChange:e=>i({disableImageGeneration:e})})})}),(0,H.jsx)(eB,{fieldId:`gptImage2BaseModel`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.network.gpt_image_2_base_model`),placeholder:`gpt-5.4-mini`,value:e.gptImage2BaseModel,onChange:e=>i({gptImage2BaseModel:e.target.value}),disabled:r,hint:a(`config_management.visual.sections.network.gpt_image_2_base_model_hint`)})}),(0,H.jsx)(eB,{fieldId:`routingSessionAffinityTTL`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.network.session_affinity_ttl`),placeholder:`1h`,value:e.routingSessionAffinityTTL,onChange:e=>i({routingSessionAffinityTTL:e.target.value}),disabled:r})})]}),(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`forceModelPrefix`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.network.force_model_prefix`),description:a(`config_management.visual.sections.network.force_model_prefix_desc`),checked:e.forceModelPrefix,disabled:r,onChange:e=>i({forceModelPrefix:e})})}),(0,H.jsx)(eB,{fieldId:`passthroughHeaders`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.network.passthrough_headers`),description:a(`config_management.visual.sections.network.passthrough_headers_desc`),checked:e.passthroughHeaders,disabled:r,onChange:e=>i({passthroughHeaders:e})})}),(0,H.jsx)(eB,{fieldId:`disableCooling`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.network.disable_cooling`),description:a(`config_management.visual.sections.network.disable_cooling_desc`),checked:e.disableCooling,disabled:r,onChange:e=>i({disableCooling:e})})}),(0,H.jsx)(eB,{fieldId:`routingSessionAffinity`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.network.session_affinity`),checked:e.routingSessionAffinity,disabled:r,onChange:e=>i({routingSessionAffinity:e})})}),(0,H.jsx)(eB,{fieldId:`wsAuth`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.network.ws_auth`),description:a(`config_management.visual.sections.network.ws_auth_desc`),checked:e.wsAuth,disabled:r,onChange:e=>i({wsAuth:e})})})]})]})}),(0,H.jsx)(vR,{id:`logging`,ref:e=>{w.current.logging=e},indexLabel:`03`,icon:(0,H.jsx)(xs,{size:16}),title:a(`config_management.visual.sections.logging.title`),description:a(`config_management.visual.sections.logging.description`),children:(0,H.jsxs)(Qz,{children:[(0,H.jsxs)(Zz,{children:[Le,(0,H.jsx)(eB,{fieldId:`commercialMode`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.system.commercial_mode`),description:a(`config_management.visual.sections.system.commercial_mode_desc`),checked:e.commercialMode,disabled:r,onChange:e=>i({commercialMode:e})})}),Re]}),(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`logsMaxTotalSizeMb`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.system.logs_max_size`),type:`number`,placeholder:`0`,value:e.logsMaxTotalSizeMb,onChange:e=>i({logsMaxTotalSizeMb:e.target.value}),disabled:r,error:se})}),(0,H.jsx)(eB,{fieldId:`errorLogsMaxFiles`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.system.error_logs_max_files`),type:`number`,placeholder:`10`,value:e.errorLogsMaxFiles,onChange:e=>i({errorLogsMaxFiles:e.target.value}),disabled:r,error:ce})}),(0,H.jsx)(eB,{fieldId:`redisUsageQueueRetentionSeconds`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.system.redis_usage_retention`),type:`number`,min:1,max:3600,placeholder:`60`,value:e.redisUsageQueueRetentionSeconds,onChange:e=>i({redisUsageQueueRetentionSeconds:e.target.value}),disabled:r,hint:a(`config_management.visual.sections.system.redis_usage_retention_hint`),error:le})})]}),(0,H.jsx)(Zz,{children:(0,H.jsx)(eB,{fieldId:`usageStatisticsEnabled`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.system.usage_statistics_enabled`),description:a(`config_management.visual.sections.system.usage_statistics_enabled_desc`),checked:e.usageStatisticsEnabled,disabled:r,onChange:e=>i({usageStatisticsEnabled:e})})})})]})}),(0,H.jsx)(vR,{id:`quota`,ref:e=>{w.current.quota=e},indexLabel:`04`,icon:(0,H.jsx)(Gs,{size:16}),title:a(`config_management.visual.sections.quota.title`),description:a(`config_management.visual.sections.quota.description`),children:(0,H.jsxs)(Zz,{children:[ze,Be,(0,H.jsx)(eB,{fieldId:`quotaAntigravityCredits`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.quota.antigravity_credits`),checked:e.quotaAntigravityCredits,disabled:r,onChange:e=>i({quotaAntigravityCredits:e})})})]})}),(0,H.jsx)(vR,{id:`streaming`,ref:e=>{w.current.streaming=e},indexLabel:`05`,icon:(0,H.jsx)(Ws,{size:16}),title:a(`config_management.visual.sections.streaming.title`),description:a(`config_management.visual.sections.streaming.description`),children:(0,H.jsxs)(Qz,{children:[(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`streamingKeepaliveSeconds`,children:(0,H.jsx)(nB,{label:a(`config_management.visual.sections.streaming.keepalive_seconds`),htmlFor:p,hint:a(`config_management.visual.sections.streaming.keepalive_hint`),hintId:m,error:me,errorId:h,children:(0,H.jsxs)(`div`,{className:Y.fieldControl,children:[(0,H.jsx)(`input`,{id:p,className:`input`,type:`number`,placeholder:`0`,value:e.streaming.keepaliveSeconds,onChange:t=>i({streaming:{...e.streaming,keepaliveSeconds:t.target.value}}),disabled:r}),ie?(0,H.jsx)(`span`,{className:Y.inlinePill,children:a(`config_management.visual.sections.streaming.disabled`)}):null]})})}),(0,H.jsx)(eB,{fieldId:`streamingBootstrapRetries`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.streaming.bootstrap_retries`),type:`number`,placeholder:`1`,value:e.streaming.bootstrapRetries,onChange:t=>i({streaming:{...e.streaming,bootstrapRetries:t.target.value}}),disabled:r,hint:a(`config_management.visual.sections.streaming.bootstrap_hint`),error:he})})]}),(0,H.jsx)(Zz,{children:(0,H.jsx)(eB,{fieldId:`streamingNonstreamKeepalive`,children:(0,H.jsx)(nB,{label:a(`config_management.visual.sections.streaming.nonstream_keepalive`),htmlFor:g,hint:a(`config_management.visual.sections.streaming.nonstream_keepalive_hint`),hintId:_,error:ge,errorId:v,children:(0,H.jsxs)(`div`,{className:Y.fieldControl,children:[(0,H.jsx)(`input`,{id:g,className:`input`,type:`number`,placeholder:`0`,value:e.streaming.nonstreamKeepaliveInterval,onChange:t=>i({streaming:{...e.streaming,nonstreamKeepaliveInterval:t.target.value}}),disabled:r}),ae?(0,H.jsx)(`span`,{className:Y.inlinePill,children:a(`config_management.visual.sections.streaming.disabled`)}):null]})})})})]})}),(0,H.jsx)(vR,{id:`advanced`,ref:e=>{w.current.advanced=e},indexLabel:`06`,icon:(0,H.jsx)(vs,{size:16}),title:a(`config_management.visual.sections.advanced.title`),description:a(`config_management.visual.sections.advanced.description`),children:(0,H.jsxs)(Qz,{children:[(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.advanced.plugins_title`),defaultOpen:!1,children:(0,H.jsxs)(Qz,{children:[(0,H.jsx)(Zz,{children:(0,H.jsx)(eB,{fieldId:`pluginsEnabled`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.system.plugins_enabled`),description:a(`config_management.visual.sections.system.plugins_enabled_desc`),checked:e.pluginsEnabled,disabled:r,onChange:e=>i({pluginsEnabled:e})})})}),(0,H.jsx)(eB,{fieldId:`pluginStoreSources`,children:(0,H.jsx)(tB,{title:a(`config_management.visual.sections.system.plugin_store_sources`),description:a(`config_management.visual.sections.system.plugin_store_sources_desc`),children:(0,H.jsxs)(`div`,{className:Y.fieldShell,children:[(0,H.jsx)(`label`,{className:Y.fieldLabel,children:a(`config_management.visual.sections.system.plugin_store_sources_label`)}),(0,H.jsx)(Iz,{value:e.pluginStoreSources,disabled:r,placeholder:a(`config_management.visual.sections.system.plugin_store_sources_placeholder`),inputAriaLabel:a(`config_management.visual.sections.system.plugin_store_sources_label`),onChange:ve}),(0,H.jsx)(`div`,{className:Y.fieldHint,children:a(`config_management.visual.sections.system.plugin_store_sources_hint`)})]})})}),(0,H.jsx)(eB,{fieldId:`pluginStoreAuth`,children:(0,H.jsx)(tB,{title:a(`config_management.visual.sections.system.plugin_store_auth`),description:a(`config_management.visual.sections.system.plugin_store_auth_desc`),children:(0,H.jsxs)(`div`,{className:Y.fieldShell,children:[(0,H.jsx)(`div`,{className:Y.fieldHint,children:a(`config_management.visual.sections.system.plugin_store_auth_hint`)}),(0,H.jsx)(Bz,{value:e.pluginStoreAuth,disabled:r,onChange:ye})]})})})]})}),(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.advanced.signature_title`),defaultOpen:!1,children:(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`antigravitySignatureCacheEnabled`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.system.antigravity_signature_cache`),description:a(`config_management.visual.sections.system.antigravity_signature_cache_desc`),checked:e.antigravitySignatureCacheEnabled,disabled:r,onChange:e=>i({antigravitySignatureCacheEnabled:e})})}),(0,H.jsx)(eB,{fieldId:`antigravitySignatureBypassStrict`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.system.antigravity_signature_strict`),description:a(`config_management.visual.sections.system.antigravity_signature_strict_desc`),checked:e.antigravitySignatureBypassStrict,disabled:r,onChange:e=>i({antigravitySignatureBypassStrict:e})})})]})}),(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.headers.title`),hint:a(`config_management.visual.sections.headers.description`),defaultOpen:!1,children:(0,H.jsxs)(Qz,{children:[(0,H.jsx)(`div`,{className:Y.subsectionHeader,children:(0,H.jsx)(`h3`,{className:Y.subsectionTitle,children:a(`config_management.visual.sections.headers.claude_title`)})}),(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`claudeHeaderUserAgent`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.user_agent`),placeholder:`claude-cli/2.1.44 (external, sdk-cli)`,value:e.claudeHeaderUserAgent,onChange:e=>i({claudeHeaderUserAgent:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`claudeHeaderPackageVersion`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.package_version`),placeholder:`0.74.0`,value:e.claudeHeaderPackageVersion,onChange:e=>i({claudeHeaderPackageVersion:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`claudeHeaderRuntimeVersion`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.runtime_version`),placeholder:`v24.3.0`,value:e.claudeHeaderRuntimeVersion,onChange:e=>i({claudeHeaderRuntimeVersion:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`claudeHeaderOs`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.os`),placeholder:`MacOS`,value:e.claudeHeaderOs,onChange:e=>i({claudeHeaderOs:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`claudeHeaderArch`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.arch`),placeholder:`arm64`,value:e.claudeHeaderArch,onChange:e=>i({claudeHeaderArch:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`claudeHeaderTimeout`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.timeout`),placeholder:`600`,value:e.claudeHeaderTimeout,onChange:e=>i({claudeHeaderTimeout:e.target.value}),disabled:r})})]}),(0,H.jsx)(Zz,{children:(0,H.jsx)(eB,{fieldId:`claudeHeaderStabilizeDeviceProfile`,children:(0,H.jsx)(Xz,{title:a(`config_management.visual.sections.headers.stabilize_device`),description:a(`config_management.visual.sections.headers.stabilize_device_desc`),checked:e.claudeHeaderStabilizeDeviceProfile,disabled:r,onChange:e=>i({claudeHeaderStabilizeDeviceProfile:e})})})}),(0,H.jsx)($z,{}),(0,H.jsx)(`div`,{className:Y.subsectionHeader,children:(0,H.jsx)(`h3`,{className:Y.subsectionTitle,children:a(`config_management.visual.sections.headers.codex_title`)})}),(0,H.jsxs)(Zz,{children:[(0,H.jsx)(eB,{fieldId:`codexHeaderUserAgent`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.user_agent`),placeholder:`codex_cli_rs/0.114.0 (Mac OS 14.2.0; x86_64) vscode/1.111.0`,value:e.codexHeaderUserAgent,onChange:e=>i({codexHeaderUserAgent:e.target.value}),disabled:r})}),(0,H.jsx)(eB,{fieldId:`codexHeaderBetaFeatures`,children:(0,H.jsx)(us,{label:a(`config_management.visual.sections.headers.beta_features`),placeholder:`multi_agent`,value:e.codexHeaderBetaFeatures,onChange:e=>i({codexHeaderBetaFeatures:e.target.value}),disabled:r})})]})]})})]})}),(0,H.jsx)(vR,{id:`payload`,ref:e=>{w.current.payload=e},indexLabel:`07`,icon:(0,H.jsx)(Xs,{size:16}),title:a(`config_management.visual.sections.payload.title`),description:a(`config_management.visual.sections.payload.description`),children:(0,H.jsxs)(Qz,{children:[(0,H.jsx)(eB,{fieldId:`payloadDefaultRules`,children:(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.payload.default_rules`),hint:a(`config_management.visual.sections.payload.default_rules_desc`),defaultOpen:n,children:(0,H.jsx)(Hz,{value:e.payloadDefaultRules,disabled:r,onChange:be})},`payloadDefaultRules-${Ae}`)}),(0,H.jsx)(eB,{fieldId:`payloadDefaultRawRules`,children:(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.payload.default_raw_rules`),hint:a(`config_management.visual.sections.payload.default_raw_rules_desc`),defaultOpen:n,children:(0,H.jsx)(Hz,{value:e.payloadDefaultRawRules,disabled:r,rawJsonValues:!0,onChange:xe})},`payloadDefaultRawRules-${Ae}`)}),(0,H.jsx)(eB,{fieldId:`payloadOverrideRules`,children:(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.payload.override_rules`),hint:a(`config_management.visual.sections.payload.override_rules_desc`),defaultOpen:n,children:(0,H.jsx)(Hz,{value:e.payloadOverrideRules,disabled:r,protocolFirst:!0,onChange:Se})},`payloadOverrideRules-${Ae}`)}),(0,H.jsx)(eB,{fieldId:`payloadOverrideRawRules`,children:(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.payload.override_raw_rules`),hint:a(`config_management.visual.sections.payload.override_raw_rules_desc`),defaultOpen:n,children:(0,H.jsx)(Hz,{value:e.payloadOverrideRawRules,disabled:r,protocolFirst:!0,rawJsonValues:!0,onChange:Ce})},`payloadOverrideRawRules-${Ae}`)}),(0,H.jsx)(eB,{fieldId:`payloadFilterRules`,children:(0,H.jsx)(Ub,{label:a(`config_management.visual.sections.payload.filter_rules`),hint:a(`config_management.visual.sections.payload.filter_rules_desc`),defaultOpen:n,children:(0,H.jsx)(Uz,{value:e.payloadFilterRules,disabled:r,onChange:we})},`payloadFilterRules-${Ae}`)})]})})]})]})]})}function iB(e){if(e<768)return!1;for(let t=0,n=pB.length;;){let r=t+n>>1;if(e<pB[r])n=r;else if(e>=mB[r])t=r+1;else return!0;if(t==n)return!1}}function aB(e){return e>=127462&&e<=127487}function oB(e,t,n=!0,r=!0){return(n?sB:cB)(e,t,r)}function sB(e,t,n){if(t==e.length)return t;t&&uB(e.charCodeAt(t))&&dB(e.charCodeAt(t-1))&&t--;let r=lB(e,t);for(t+=fB(r);t<e.length;){let i=lB(e,t);if(r==hB||i==hB||n&&iB(i))t+=fB(i),r=i;else if(aB(i)){let n=0,r=t-2;for(;r>=0&&aB(lB(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function cB(e,t,n){for(;t>0;){let r=sB(e,t-2,n);if(r<t)return r;t--}return 0}function lB(e,t){let n=e.charCodeAt(t);if(!dB(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return uB(r)?(n-55296<<10)+(r-56320)+65536:n}function uB(e){return e>=56320&&e<57344}function dB(e){return e>=55296&&e<56320}function fB(e){return e<65536?1:2}var pB,mB,hB,gB=o((()=>{pB=[],mB=[],(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?mB:pB).push(n+=e[t])})(),hB=8205}));function _B(e){let t=-1;for(let n of e)t+=n.length+1;return t}function vB(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function yB(e,t,n){return vB(e,[``],t,n)}function bB(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function xB(e,t,n=!0,r=!0){return oB(e,t,n,r)}function SB(e){return e>=56320&&e<57344}function CB(e){return e>=55296&&e<56320}function wB(e,t){let n=e.charCodeAt(t);if(!CB(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return SB(r)?(n-55296<<10)+(r-56320)+65536:n}function TB(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function EB(e){return e<65536?1:2}function DB(e,t,n,r=!1){if(t==0&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&t==0&&e[i]==0?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function OB(e,t,n){if(n.length==0)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(cV.empty);e.push(n)}}function kB(e,t,n){let r=e.inserted;for(let i=0,a=0,o=0;o<e.sections.length;){let s=e.sections[o++],c=e.sections[o++];if(c<0)i+=s,a+=s;else{let l=i,u=a,d=cV.empty;for(;l+=s,u+=c,c&&r&&(d=d.append(r[o-2>>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],c=e.sections[o++];t(i,l,a,u,d),i=l,a=u}}}function AB(e,t,n,r=!1){let i=[],a=r?[]:null,o=new yV(e),s=new yV(t);for(let e=-1;;)if(o.done&&s.len||s.done&&o.len)throw Error(`Mismatched change set lengths`);else if(o.ins==-1&&s.ins==-1){let e=Math.min(o.len,s.len);DB(i,e,-1),o.forward(e),s.forward(e)}else if(s.ins>=0&&(o.ins<0||e==o.i||o.off==0&&(s.len<o.len||s.len==o.len&&!n))){let t=s.len;for(DB(i,s.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(DB(i,0,o.ins),a&&OB(a,i,o.text),e=o.i),o.forward(n),t-=n}s.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(s.ins==-1){let e=Math.min(n,s.len);t+=e,n-=e,s.forward(e)}else if(s.ins==0&&s.len<n)n-=s.len,s.next();else break;DB(i,t,e<o.i?o.ins:0),a&&e<o.i&&OB(a,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&s.done)return a?vV.createSet(i,a):_V.create(i);else throw Error(`Mismatched change set lengths`)}function jB(e,t,n=!1){let r=[],i=n?[]:null,a=new yV(e),o=new yV(t);for(let e=!1;;)if(a.done&&o.done)return i?vV.createSet(r,i):_V.create(r);else if(a.ins==0)DB(r,a.len,0,e),a.next();else if(o.len==0&&!o.done)DB(r,0,o.ins,e),i&&OB(i,r,o.text),o.next();else if(a.done||o.done)throw Error(`Mismatched change set lengths`);else{let t=Math.min(a.len2,o.len),n=r.length;if(a.ins==-1){let n=o.ins==-1?-1:o.off?0:o.ins;DB(r,t,n,e),i&&n&&OB(i,r,o.text)}else o.ins==-1?(DB(r,a.off?0:a.len,t,e),i&&OB(i,r,a.textBit(t))):(DB(r,a.off?0:a.len,o.off?0:o.ins,e),i&&!o.off&&OB(i,r,o.text));e=(a.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}function MB(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError(`Selection points outside of document`)}function NB(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}function PB(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function FB(e,t){let n=!1;for(let r of t)zB(e,r)&1&&(n=!0);return n}function IB(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),a=r.filter(e=>!(e&1)),o=e[t.id]>>1;function s(e){let n=[];for(let t=0;t<r.length;t++){let a=BB(e,r[t]);if(i[t]==2)for(let e of a)n.push(e);else n.push(a)}return t.combine(n)}return{create(e){for(let t of r)zB(e,t);return e.values[o]=s(e),1},update(e,n){if(!FB(e,a))return 0;let r=s(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let a=FB(e,r),c=i.config.facets[t.id],l=i.facet(t);if(c&&!a&&NB(n,c))return e.values[o]=l,0;let u=s(e);return t.compare(u,l)?(e.values[o]=l,0):(e.values[o]=u,1)}}}function LB(e){return t=>new OV(t,e)}function RB(e,t,n){let r=[[],[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(s!=null){if(s<=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof AV&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof AV){if(n.has(e.compartment))throw RangeError(`Duplicate use of compartment in extensions`);let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof OV)a(e.inner,e.prec);else if(e instanceof TV)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof CV)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,EV.default);else{let t=e.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,o)}}return a(e,EV.default),r.reduce((e,t)=>e.concat(t))}function zB(e,t){if(t&1)return 2;let n=t>>1,r=e.status[n];if(r==4)throw Error(`Cyclic dependency between fields and/or facets`);if(r&2)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function BB(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}function VB(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))a=e[r++],o=e[r++];else if(i<t.length)a=t[i++],o=t[i++];else return n;!n.length||n[n.length-1]<a?n.push(a,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function HB(e,t,n){let r,i,a;return n?(r=t.changes,i=vV.empty(t.changes.length),a=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(r)),{changes:a,selection:t.selection?t.selection.map(i):e.selection?.map(r),effects:HV.mapEffects(e.effects,r).concat(HV.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function UB(e,t,n){let r=t.selection,i=qB(t.annotations);return t.userEvent&&(i=i.concat(UV.userEvent.of(t.userEvent))),{changes:t.changes instanceof vV?t.changes:vV.of(t.changes||[],n,e.facet(PV)),selection:r&&(r instanceof Z?r:Z.single(r.anchor,r.head)),effects:qB(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}function WB(e,t,n){let r=UB(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let i=1;i<t.length;i++){t[i].filter===!1&&(n=!1);let a=!!t[i].sequential;r=HB(r,UB(e,t[i],a?r.changes.newLength:e.doc.length),a)}let i=UV.create(e,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return KB(n?GB(i):i)}function GB(e){let t=e.startState,n=!0;for(let r of t.facet(FV)){let t=r(e);if(t===!1){n=!1;break}Array.isArray(t)&&(n=n===!0?t:VB(n,t))}if(n!==!0){let r,i;if(n===!1)i=e.changes.invertedDesc,r=vV.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=UV.create(t,r,e.selection&&e.selection.map(i),HV.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(IV);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof UV?i:Array.isArray(i)&&i.length==1&&i[0]instanceof UV?i[0]:WB(t,qB(i),!1)}return e}function KB(e){let t=e.startState,n=t.facet(LV),r=e;for(let i=n.length-1;i>=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=HB(r,UB(t,a,e.changes.newLength),!0))}return r==e?e:UV.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}function qB(e){return e==null?WV:Array.isArray(e)?e:[e]}function JB(e){if(qV)return qV.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>`€`&&(n.toUpperCase()!=n.toLowerCase()||KV.test(n)))return!0}return!1}function YB(e){return t=>{if(!/\S/.test(t))return GV.Space;if(JB(t))return GV.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return GV.Word;return GV.Other}}function XB(e,t,n={}){let r={};for(let t of e)for(let e of Object.keys(t)){let i=t[e],a=r[e];if(a===void 0)r[e]=i;else if(!(a===i||i===void 0))if(Object.hasOwnProperty.call(n,e))r[e]=n[e](a,i);else throw Error(`Config merge conflict for field `+e)}for(let e in t)r[e]===void 0&&(r[e]=t[e]);return r}function ZB(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}function QB(e){if(e.length>1)for(let t=e[0],n=1;n<e.length;n++){let r=e[n];if(ZB(t,r)>0)return e.slice().sort(ZB);t=r}return e}function $B(e,t,n){let r=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&r.set(t.chunk[e],t.chunkPos[e]);let i=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let a=r.get(e.chunk[t]);a!=null&&(n?n.mapPos(a):a)==e.chunkPos[t]&&!n?.touchesRange(a,a+e.chunk[t].length)&&i.add(e.chunk[t])}return i}function eV(e,t){for(let n=e[t];;){let r=(t<<1)+1;if(r>=e.length)break;let i=e[r];if(r+1<e.length&&i.compare(e[r+1])>=0&&(i=e[r+1],r++),n.compare(i)<0)break;e[r]=n,e[t]=i,t=r}}function tV(e,t,n,r,i,a){e.goto(t),n.goto(r);let o=r+i,s=r,c=r-t;for(;;){let t=e.to+c-n.to,r=t||e.endSide-n.endSide,i=r<0?e.to+c:n.to,l=Math.min(i,o);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&nV(e.activeForPoint(e.to),n.activeForPoint(n.to))||a.comparePoint(s,l,e.point,n.point):l>s&&!nV(e.active,n.active)&&a.compareRange(s,l,e.active,n.active),i>o)break;(t||e.openEnd!=n.openEnd)&&a.boundChange&&a.boundChange(i),s=i,r<=0&&e.next(),r>=0&&n.next()}}function nV(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n]&&!e[n].eq(t[n]))return!1;return!0}function rV(e,t){for(let n=t,r=e.length-1;n<r;n++)e[n]=e[n+1];e.pop()}function iV(e,t,n){for(let n=e.length-1;n>=t;n--)e[n+1]=e[n];e[t]=n}function aV(e,t){let n=-1,r=1e9;for(let i=0;i<t.length;i++)(t[i]-r||e[i].endSide-e[n].endSide)<0&&(n=i,r=t[i]);return n}function oV(e,t,n=e.length){let r=0;for(let i=0;i<n&&i<e.length;)e.charCodeAt(i)==9?(r+=t-r%t,i++):(r++,i=xB(e,i));return r}function sV(e,t,n,r){for(let r=0,i=0;;){if(i>=t)return r;if(r==e.length)break;i+=e.charCodeAt(r)==9?n-i%n:1,r=xB(e,r)}return r===!0?-1:e.length}var cV,lV,uV,dV,fV,pV,mV,hV,gV,_V,vV,yV,bV,Z,xV,SV,CV,wV,TV,EV,DV,OV,kV,AV,jV,MV,NV,PV,FV,IV,LV,RV,zV,BV,VV,HV,UV,WV,GV,KV,qV,JV,YV,XV,ZV,QV,$V,eH,tH,nH,rH=o((()=>{gB(),cV=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=bB(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),uV.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=bB(this,e,t);let n=[];return this.decompose(e,t,n,0),uV.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new dV(this),i=new dV(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new dV(this,e)}iterRange(e,t=this.length){return new fV(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new pV(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new lV(t):uV.from(lV.split(t,[]))}},lV=class e extends cV{constructor(e,t=_B(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new mV(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(yB(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=vB(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=bB(this,t,n);let i=vB(this.text,vB(r.text,yB(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):uV.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
`){[e,t]=bB(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},uV=class e extends cV{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=bB(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
`){[e,t]=bB(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new lV(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof lV&&c&&(n=u[u.length-1])instanceof lV&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new lV(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}},cV.empty=new lV([``],0),dV=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof lV?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof lV?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
`,this;e--}else if(r instanceof lV){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=e==0?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof lV?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},fV=class{constructor(e,t,n){this.value=``,this.done=!1,this.cursor=new dV(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value=``,this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=``}},pV=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value=``,this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value=``,this.afterBreak=!1):t?(this.done=!0,this.value=``):n?this.afterBreak?this.value=``:(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}},typeof Symbol<`u`&&(cV.prototype[Symbol.iterator]=function(){return this.iter()},dV.prototype[Symbol.iterator]=fV.prototype[Symbol.iterator]=pV.prototype[Symbol.iterator]=function(){return this}),mV=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}},hV=/\r\n?|\n/,gV=(function(e){return e[e.Simple=0]=`Simple`,e[e.TrackDel=1]=`TrackDel`,e[e.TrackBefore=2]=`TrackBefore`,e[e.TrackAfter=3]=`TrackAfter`,e})(gV||(gV={})),_V=class e{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],a=this.sections[t++];a<0?(e(n,r,i),r+=i):r+=a,n+=i}}iterChangedRanges(e,t=!1){kB(this,e,t)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let n=this.sections[e++],r=this.sections[e++];r<0?t.push(n,r):t.push(r,n)}return new e(t)}composeDesc(e){return this.empty?e:e.empty?this:jB(this,e)}mapDesc(e,t=!1){return e.empty?this:AB(this,e,t)}mapPos(e,t=-1,n=gV.Simple){let r=0,i=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],c=r+o;if(s<0){if(c>e)return i+(e-r);i+=o}else{if(n!=gV.Simple&&c>=e&&(n==gV.TrackDel&&r<e&&c>e||n==gV.TrackBefore&&r<e||n==gV.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=c}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],a=this.sections[n++],o=r+i;if(a>=0&&r<=t&&o>=e)return r<e&&o>t?`cover`:!0;r=o}return!1}toString(){let e=``;for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?` `:``)+n+(r>=0?`:`+r:``)}return e}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!=`number`))throw RangeError(`Invalid JSON representation of ChangeDesc`);return new e(t)}static create(t){return new e(t)}},vV=class e extends _V{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError(`Applying change set to a document with the wrong length`);return kB(this,(t,n,r,i,a)=>e=e.replace(r,r+(n-t),a),!1),e}mapDesc(e,t=!1){return AB(this,e,t,!0)}invert(t){let n=this.sections.slice(),r=[];for(let e=0,i=0;e<n.length;e+=2){let a=n[e],o=n[e+1];if(o>=0){n[e]=o,n[e+1]=a;let s=e>>1;for(;r.length<s;)r.push(cV.empty);r.push(a?t.slice(i,i+a):cV.empty)}i+=a}return new e(n,r)}compose(e){return this.empty?e:e.empty?this:jB(this,e,!0)}map(e,t=!1){return e.empty?this:AB(this,e,t,!0)}iterChanges(e,t=!1){kB(this,e,t)}get desc(){return _V.create(this.sections)}filter(t){let n=[],r=[],i=[],a=new yV(this);done:for(let e=0,o=0;;){let s=e==t.length?1e9:t[e++];for(;o<s||o==s&&a.len==0;){if(a.done)break done;let e=Math.min(a.len,s-o);DB(i,e,-1);let t=a.ins==-1?-1:a.off==0?a.ins:0;DB(n,e,t),t>0&&OB(r,n,a.text),a.forward(e),o+=e}let c=t[e++];for(;o<c;){if(a.done)break done;let e=Math.min(a.len,c-o);DB(n,e,-1),DB(i,e,a.ins==-1?-1:a.off==0?a.ins:0),a.forward(e),o+=e}}return{changes:new e(n,r),filtered:_V.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,r){let i=[],a=[],o=0,s=null;function c(t=!1){if(!t&&!i.length)return;o<n&&DB(i,n-o,-1);let r=new e(i,a);s=s?s.compose(r.map(s)):r,i=[],a=[],o=0}function l(t){if(Array.isArray(t))for(let e of t)l(e);else if(t instanceof e){if(t.length!=n)throw RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);c(),s=s?s.compose(t.map(s)):t}else{let{from:e,to:s=e,insert:l}=t;if(e>s||e<0||s>n)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${n})`);let u=l?typeof l==`string`?cV.of(l.split(r||hV)):l:cV.empty,d=u.length;if(e==s&&d==0)return;e<o&&c(),e>o&&DB(i,e-o,-1),DB(i,s-e,d),OB(a,i,u),o=s}}return l(t),c(!s),s}static empty(t){return new e(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError(`Invalid JSON representation of ChangeSet`);let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];if(typeof i==`number`)n.push(i,-1);else if(!Array.isArray(i)||typeof i[0]!=`number`||i.some((e,t)=>t&&typeof e!=`string`))throw RangeError(`Invalid JSON representation of ChangeSet`);else if(i.length==1)n.push(i[0],0);else{for(;r.length<e;)r.push(cV.empty);r[e]=cV.of(i.slice(1)),n.push(i[0],r[e].length)}}return new e(n,r)}static createSet(t,n){return new e(t,n)}},yV=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?cV.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?cV.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},bV=class e{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(t,n=-1){let r,i;return this.empty?r=i=t.mapPos(this.from,n):(r=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new e(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return Z.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return Z.range(this.anchor,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!=`number`||typeof e.head!=`number`)throw RangeError(`Invalid JSON representation for SelectionRange`);return Z.range(e.anchor,e.head)}static create(t,n,r){return new e(t,n,r)}},Z=class e{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,n=-1){return t.empty?this:e.create(this.ranges.map(e=>e.map(t,n)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new e([this.main],0)}addRange(t,n=!0){return e.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let r=this.ranges.slice();return r[n]=t,e.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!=`number`||t.main>=t.ranges.length)throw RangeError(`Invalid JSON representation for EditorSelection`);return new e(t.ranges.map(e=>bV.fromJSON(e)),t.main)}static single(t,n=t){return new e([e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw RangeError(`A selection needs at least one range`);for(let r=0,i=0;i<t.length;i++){let a=t[i];if(a.empty?a.from<=r:a.from<r)return e.normalized(t.slice(),n);r=a.to}return new e(t,n)}static cursor(e,t=0,n,r){return bV.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n))|(r??16777215)<<6)}static range(e,t,n,r){let i=(n??16777215)<<6|(r==null?7:Math.min(6,r));return t<e?bV.create(t,e,48|i):bV.create(e,t,(t>e?8:0)|i)}static normalized(t,n=0){let r=t[n];t.sort((e,t)=>e.from-t.from),n=t.indexOf(r);for(let r=1;r<t.length;r++){let i=t[r],a=t[r-1];if(i.empty?i.from<=a.to:i.from<a.to){let o=a.from,s=Math.max(i.to,a.to);r<=n&&n--,t.splice(--r,2,i.anchor>i.head?e.range(s,o):e.range(o,s))}}return new e(t,n)}},xV=0,SV=class e{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=xV++,this.default=e([]),this.extensions=typeof i==`function`?i(this):i}get reader(){return this}static define(t={}){return new e(t.combine||(e=>e),t.compareInput||((e,t)=>e===t),t.compare||(t.combine?(e,t)=>e===t:NB),!!t.static,t.enables)}of(e){return new CV([],this,0,e)}compute(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new CV(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new CV(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}},CV=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=xV++}dynamicSlot(e){let t=this.value,n=this.facet.compareInput,r=this.id,i=e[r]>>1,a=this.type==2,o=!1,s=!1,c=[];for(let t of this.dependencies)t==`doc`?o=!0:t==`selection`?s=!0:(e[t.id]??1)&1||c.push(e[t.id]);return{create(e){return e.values[i]=t(e),1},update(e,r){if(o&&r.docChanged||s&&(r.docChanged||r.selection)||FB(e,c)){let r=t(e);if(a?!PB(r,e.values[i],n):!n(r,e.values[i]))return e.values[i]=r,1}return 0},reconfigure:(e,o)=>{let s,c=o.config.address[r];if(c!=null){let r=BB(o,c);if(this.dependencies.every(t=>t instanceof SV?o.facet(t)===e.facet(t):t instanceof TV?o.field(t,!1)==e.field(t,!1):!0)||(a?PB(s=t(e),r,n):n(s=t(e),r)))return e.values[i]=r,0}else s=t(e);return e.values[i]=s,1}}}},wV=SV.define({static:!0}),TV=class e{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(t){let n=new e(xV++,t.create,t.update,t.compare||((e,t)=>e===t),t);return t.provide&&(n.provides=t.provide(n)),n}create(e){return(e.facet(wV).find(e=>e.field==this)?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(wV),i=n.facet(wV),a;return(a=r.find(e=>e.field==this))&&a!=i.find(e=>e.field==this)?(e.values[t]=a.create(e),1):n.config.address[this.id]==null?(e.values[t]=this.create(e),1):(e.values[t]=n.field(this),0)}}}init(e){return[this,wV.of({field:this,create:e})]}get extension(){return this}},EV={lowest:4,low:3,default:2,high:1,highest:0},DV={highest:LB(EV.highest),high:LB(EV.high),default:LB(EV.default),low:LB(EV.low),lowest:LB(EV.lowest)},OV=class{constructor(e,t){this.inner=e,this.prec=t}},kV=class e{of(e){return new AV(this,e)}reconfigure(t){return e.reconfigure.of({compartment:this,extension:t})}get(e){return e.config.compartments.get(this)}},AV=class{constructor(e,t){this.compartment=e,this.inner=t}},jV=class e{constructor(e,t,n,r,i,a){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(t,n,r){let i=[],a=Object.create(null),o=new Map;for(let e of RB(t,n,o))e instanceof TV?i.push(e):(a[e.facet.id]||(a[e.facet.id]=[])).push(e);let s=Object.create(null),c=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push(t=>e.slot(t));let u=r?.config.facets;for(let e in a){let t=a[e],n=t[0].facet,i=u&&u[e]||[];if(t.every(e=>e.type==0))if(s[n.id]=c.length<<1|1,NB(i,t))c.push(r.facet(n));else{let e=n.combine(t.map(e=>e.value));c.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)e.type==0?(s[e.id]=c.length<<1|1,c.push(e.value)):(s[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));s[n.id]=l.length<<1,l.push(e=>IB(e,n,t))}}let d=l.map(e=>e(s));return new e(t,o,d,s,c,a)}},MV=SV.define(),NV=SV.define({combine:e=>e.some(e=>e),static:!0}),PV=SV.define({combine:e=>e.length?e[0]:void 0,static:!0}),FV=SV.define(),IV=SV.define(),LV=SV.define(),RV=SV.define({combine:e=>e.length?e[0]:!1}),zV=class{constructor(e,t){this.type=e,this.value=t}static define(){return new BV}},BV=class{of(e){return new zV(this,e)}},VV=class{constructor(e){this.map=e}of(e){return new HV(this,e)}},HV=class e{constructor(e,t){this.type=e,this.value=t}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new e(this.type,n)}is(e){return this.type==e}static define(e={}){return new VV(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}},HV.reconfigure=HV.define(),HV.appendConfig=HV.define(),UV=class e{constructor(t,n,r,i,a,o){this.startState=t,this.changes=n,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=o,this._doc=null,this._state=null,r&&MB(r,n.newLength),a.some(t=>t.type==e.time)||(this.annotations=a.concat(e.time.of(Date.now())))}static create(t,n,r,i,a,o){return new e(t,n,r,i,a,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(e.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]==`.`))}},UV.time=zV.define(),UV.userEvent=zV.define(),UV.addToHistory=zV.define(),UV.remote=zV.define(),WV=[],GV=(function(e){return e[e.Word=0]=`Word`,e[e.Space=1]=`Space`,e[e.Other=2]=`Other`,e})(GV||(GV={})),KV=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;try{qV=RegExp(`[\\p{Alphabetic}\\p{Number}_]`,`u`)}catch{}JV=class e{constructor(e,t,n,r,i,a){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)zB(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw RangeError(`Field is not present in this state`);return}return zB(this,n),BB(this,n)}update(...e){return WB(this,e,!0)}applyTransaction(t){let n=this.config,{base:r,compartments:i}=n;for(let e of t.effects)e.is(kV.reconfigure)?(n&&(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),n=null),i.set(e.value.compartment,e.value.extension)):e.is(HV.reconfigure)?(n=null,r=e.value):e.is(HV.appendConfig)&&(n=null,r=qB(r).concat(e.value));let a;n?a=t.startState.values.slice():(n=jV.resolve(r,i,this),a=new e(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let o=t.startState.facet(NV)?t.newSelection:t.newSelection.asSingle();new e(n,t.newDoc,o,a,(e,n)=>n.update(e,t),t)}replaceSelection(e){return typeof e==`string`&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:Z.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=qB(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),s=this.changes(o.changes),c=s.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(c);let l=r.mapDesc(s,!0);i.push(o.range.map(l)),r=r.compose(c),a=HV.mapEffects(a,c).concat(HV.mapEffects(qB(o.effects),l))}return{changes:r,selection:Z.create(i,t.mainIndex),effects:a}}changes(t=[]){return t instanceof vV?t:vV.of(t,this.doc.length,this.facet(e.lineSeparator))}toText(t){return cV.of(t.split(this.facet(e.lineSeparator)||hV))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(zB(this,t),BB(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof TV&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(t,n={},r){if(!t||typeof t.doc!=`string`)throw RangeError(`Invalid JSON representation for EditorState`);let i=[];if(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(t,e)){let n=r[e],a=t[e];i.push(n.init(e=>n.spec.fromJSON(a,e)))}}return e.create({doc:t.doc,selection:Z.fromJSON(t.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(t={}){let n=jV.resolve(t.extensions||[],new Map),r=t.doc instanceof cV?t.doc:cV.of((t.doc||``).split(n.staticFacet(e.lineSeparator)||hV)),i=t.selection?t.selection instanceof Z?t.selection:Z.single(t.selection.anchor,t.selection.head):Z.single(0);return MB(i,r.length),n.staticFacet(NV)||(i=i.asSingle()),new e(n,r,i,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(e.tabSize)}get lineBreak(){return this.facet(e.lineSeparator)||`
`}get readOnly(){return this.facet(RV)}phrase(t,...n){for(let n of this.facet(e.phrases))if(Object.prototype.hasOwnProperty.call(n,t)){t=n[t];break}return n.length&&(t=t.replace(/\$(\$|\d*)/g,(e,t)=>{if(t==`$`)return`$`;let r=+(t||1);return!r||r>n.length?e:n[r-1]})),t}languageDataAt(e,t,n=-1){let r=[];for(let i of this.facet(MV))for(let a of i(this,t,n))Object.prototype.hasOwnProperty.call(a,e)&&r.push(a[e]);return r}charCategorizer(e){return YB(this.languageDataAt(`wordChars`,e).join(``))}wordAt(e){let{text:t,from:n,length:r}=this.doc.lineAt(e),i=this.charCategorizer(e),a=e-n,o=e-n;for(;a>0;){let e=xB(t,a,!1);if(i(t.slice(e,a))!=GV.Word)break;a=e}for(;o<r;){let e=xB(t,o);if(i(t.slice(o,e))!=GV.Word)break;o=e}return a==o?null:Z.range(a+n,o+n)}},JV.allowMultipleSelections=NV,JV.tabSize=SV.define({combine:e=>e.length?e[0]:4}),JV.lineSeparator=PV,JV.readOnly=RV,JV.phrases=SV.define({compare(e,t){let n=Object.keys(e),r=Object.keys(t);return n.length==r.length&&n.every(n=>e[n]==t[n])}}),JV.languageData=MV,JV.changeFilter=FV,JV.transactionFilter=IV,JV.transactionExtender=LV,kV.reconfigure=HV.define(),YV=class{eq(e){return this==e}range(e,t=e){return XV.create(e,t,this)}},YV.prototype.startSide=YV.prototype.endSide=0,YV.prototype.point=!1,YV.prototype.mapMode=gV.TrackDel,XV=class e{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(t,n,r){return new e(t,n,r)}},ZV=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.value=n,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,r=0){let i=n?this.to:this.from;for(let a=r,o=i.length;;){if(a==o)return a;let r=a+o>>1,s=i[r]-e||(n?this.value[r].endSide:this.value[r].startSide)-t;if(r==a)return s>=0?a:o;s>=0?o=r:a=r+1}}between(e,t,n,r){for(let i=this.findIndex(t,-1e9,!0),a=this.findIndex(n,1e9,!1,i);i<a;i++)if(r(this.from[i]+e,this.to[i]+e,this.value[i])===!1)return!1}map(t,n){let r=[],i=[],a=[],o=-1,s=-1;for(let e=0;e<this.value.length;e++){let c=this.value[e],l=this.from[e]+t,u=this.to[e]+t,d,f;if(l==u){let e=n.mapPos(l,c.startSide,c.mapMode);if(e==null||(d=f=e,c.startSide!=c.endSide&&(f=n.mapPos(l,c.endSide),f<d)))continue}else if(d=n.mapPos(l,c.startSide),f=n.mapPos(u,c.endSide),d>f||d==f&&c.startSide>0&&c.endSide<=0)continue;(f-d||c.endSide-c.startSide)<0||(o<0&&(o=d),c.point&&(s=Math.max(s,f-d)),r.push(c),i.push(d-o),a.push(f-o))}return{mapped:r.length?new e(i,a,r,s):null,pos:o}}},QV=class e{constructor(e,t,n,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}static create(t,n,r,i){return new e(t,n,r,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(t){let{add:n=[],sort:r=!1,filterFrom:i=0,filterTo:a=this.length}=t,o=t.filter;if(n.length==0&&!o)return this;if(r&&(n=n.slice().sort(ZB)),this.isEmpty)return n.length?e.of(n):this;let s=new eH(this,null,-1).goto(0),c=0,l=[],u=new $V;for(;s.value||c<n.length;)if(c<n.length&&(s.from-n[c].from||s.startSide-n[c].value.startSide)>=0){let e=n[c++];u.addInner(e.from,e.to,e.value)||l.push(e)}else s.rangeIndex==1&&s.chunkIndex<this.chunk.length&&(c==n.length||this.chunkEnd(s.chunkIndex)<n[c].from)&&(!o||i>this.chunkEnd(s.chunkIndex)||a<this.chunkPos[s.chunkIndex])&&u.addChunk(this.chunkPos[s.chunkIndex],this.chunk[s.chunkIndex])?s.nextChunk():((!o||i>s.to||a<s.from||o(s.from,s.to,s.value))&&(u.addInner(s.from,s.to,s.value)||l.push(XV.create(s.from,s.to,s.value))),s.next());return u.finishInner(this.nextLayer.isEmpty&&!l.length?e.empty:this.nextLayer.update({add:l,filter:o,filterFrom:i,filterTo:a}))}map(t){if(t.empty||this.isEmpty)return this;let n=[],r=[],i=-1;for(let e=0;e<this.chunk.length;e++){let a=this.chunkPos[e],o=this.chunk[e],s=t.touchesRange(a,a+o.length);if(s===!1)i=Math.max(i,o.maxPoint),n.push(o),r.push(t.mapPos(a));else if(s===!0){let{mapped:e,pos:s}=o.map(a,t);e&&(i=Math.max(i,e.maxPoint),n.push(e),r.push(s))}}let a=this.nextLayer.map(t);return n.length==0?a:new e(r,n,a||e.empty,i)}between(e,t,n){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let i=this.chunkPos[r],a=this.chunk[r];if(t>=i&&e<=i+a.length&&a.between(i,e-i,t-i,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return tH.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return tH.from(e).goto(t)}static compare(e,t,n,r,i=-1){let a=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),o=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=i),s=$B(a,o,n),c=new nH(a,s,i),l=new nH(o,s,i);n.iterGaps((e,t,n)=>tV(c,e,l,t,n,r)),n.empty&&n.length==0&&tV(c,0,l,0,0,r)}static eq(e,t,n=0,r){r??(r=999999999);let i=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),a=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(i.length!=a.length)return!1;if(!i.length)return!0;let o=$B(i,a),s=new nH(i,o,0).goto(n),c=new nH(a,o,0).goto(n);for(;;){if(s.to!=c.to||!nV(s.active,c.active)||s.point&&(!c.point||!s.point.eq(c.point)))return!1;if(s.to>r)return!0;s.next(),c.next()}}static spans(e,t,n,r,i=-1){let a=new nH(e,null,i).goto(t),o=t,s=a.openStart;for(;;){let e=Math.min(a.to,n);if(a.point){let n=a.activeForPoint(a.to),i=a.pointFrom<t?n.length+1:a.point.startSide<0?n.length:Math.min(n.length,s);r.point(o,e,a.point,n,i,a.pointRank),s=Math.min(a.openEnd(e),n.length)}else e>o&&(r.span(o,e,a.active,s),s=a.openEnd(e));if(a.to>n)return s+(a.point&&a.to>n?1:0);o=a.to,a.next()}}static of(e,t=!1){let n=new $V;for(let r of e instanceof XV?[e]:t?QB(e):e)n.add(r.from,r.to,r.value);return n.finish()}static join(t){if(!t.length)return e.empty;let n=t[t.length-1];for(let r=t.length-2;r>=0;r--)for(let i=t[r];i!=e.empty;i=i.nextLayer)n=new e(i.chunkPos,i.chunk,n,Math.max(i.maxPoint,n.maxPoint));return n}},QV.empty=new QV([],[],null,-1),QV.empty.nextLayer=QV.empty,$V=class e{finishChunk(e){this.chunks.push(new ZV(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(t,n,r){this.addInner(t,n,r)||(this.nextLayer||(this.nextLayer=new e)).add(t,n,r)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(QV.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=QV.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}},eH=class{constructor(e,t,n,r=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},tH=class e{constructor(e){this.heap=e}static from(t,n=null,r=-1){let i=[];for(let e=0;e<t.length;e++)for(let a=t[e];!a.isEmpty;a=a.nextLayer)a.maxPoint>=r&&i.push(new eH(a,n,r,e));return i.length==1?i[0]:new e(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)eV(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)eV(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),eV(this.heap,0)}}},nH=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=tH.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){rV(this.active,e),rV(this.activeTo,e),rV(this.activeRank,e),this.minActive=aV(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:i}=this.cursor;for(;t<this.activeRank.length&&(i-this.activeRank[t]||r-this.activeTo[t])>0;)t++;iV(this.active,t,n),iV(this.activeTo,t,r),iV(this.activeRank,t,i),e&&iV(e,t,this.cursor.from),this.minActive=aV(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),n&&rV(n,r)}else if(!this.cursor.value){this.to=this.endSide=1e9;break}else if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let e=this.cursor.value;if(!e.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}}if(n){this.openStart=0;for(let t=n.length-1;t>=0&&n[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}})),iH,aH,oH,sH,cH,lH,uH,dH=o((()=>{iH=`ͼ`,aH=typeof Symbol>`u`?`__ͼ`:Symbol.for(iH),oH=typeof Symbol>`u`?`__styleSet`+Math.floor(Math.random()*1e8):Symbol(`styleSet`),sH=typeof globalThis<`u`?globalThis:typeof window<`u`?window:{},cH=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function i(e,t,a,o){let s=[],c=/^@(\w+)\b/.exec(e[0]),l=c&&c[1]==`keyframes`;if(c&&t==null)return a.push(e[0]+`;`);for(let n in t){let o=t[n];if(/&/.test(n))i(n.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),o,a);else if(o&&typeof o==`object`){if(!c)throw RangeError(`The value of a property (`+n+`) should be a primitive value.`);i(r(n),o,s,l)}else o!=null&&s.push(n.replace(/_.*/,``).replace(/[A-Z]/g,e=>`-`+e.toLowerCase())+`: `+o+`;`)}(s.length||l)&&a.push((n&&!c&&!o?e.map(n):e).join(`, `)+` {`+s.join(` `)+`}`)}for(let t in e)i(r(t),e[t],this.rules)}getRules(){return this.rules.join(`
`)}static newName(){let e=sH[aH]||1;return sH[aH]=e+1,iH+e.toString(36)}static mount(e,t,n){let r=e[oH],i=n&&n.nonce;r?i&&r.setNonce(i):r=new uH(e,i),r.mount(Array.isArray(t)?t:[t],e)}},lH=new Map,uH=class{constructor(e,t){let n=e.ownerDocument||e,r=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let t=lH.get(n);if(t)return e[oH]=t;this.sheet=new r.CSSStyleSheet,lH.set(n,this)}else this.styleTag=n.createElement(`style`),t&&this.styleTag.setAttribute(`nonce`,t);this.modules=[],e[oH]=this}mount(e,t){let n=this.sheet,r=0,i=0;for(let t=0;t<e.length;t++){let a=e[t],o=this.modules.indexOf(a);if(o<i&&o>-1&&(this.modules.splice(o,1),i--,o=-1),o==-1){if(this.modules.splice(i++,0,a),n)for(let e=0;e<a.rules.length;e++)n.insertRule(a.rules[e],r++)}else{for(;i<o;)r+=this.modules[i++].rules.length;r+=a.rules.length,i++}}if(n)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let e=``;for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+`
`;this.styleTag.textContent=e;let n=t.head||t;this.styleTag.parentNode!=n&&n.insertBefore(this.styleTag,n.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute(`nonce`)!=e&&this.styleTag.setAttribute(`nonce`,e)}}}));function fH(e){var t=!(hH&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||gH&&e.shiftKey&&e.key&&e.key.length==1||e.key==`Unidentified`)&&e.key||(e.shiftKey?mH:pH)[e.keyCode]||e.key||`Unidentified`;return t==`Esc`&&(t=`Escape`),t==`Del`&&(t=`Delete`),t==`Left`&&(t=`ArrowLeft`),t==`Up`&&(t=`ArrowUp`),t==`Right`&&(t=`ArrowRight`),t==`Down`&&(t=`ArrowDown`),t}var pH,mH,hH,gH,_H,vH=o((()=>{for(pH={8:`Backspace`,9:`Tab`,10:`Enter`,12:`NumLock`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,44:`PrintScreen`,45:`Insert`,46:`Delete`,59:`;`,61:`=`,91:`Meta`,92:`Meta`,106:`*`,107:`+`,108:`,`,109:`-`,110:`.`,111:`/`,144:`NumLock`,145:`ScrollLock`,160:`Shift`,161:`Shift`,162:`Control`,163:`Control`,164:`Alt`,165:`Alt`,173:`-`,186:`;`,187:`=`,188:`,`,189:`-`,190:`.`,191:`/`,192:"`",219:`[`,220:`\\`,221:`]`,222:`'`},mH={48:`)`,49:`!`,50:`@`,51:`#`,52:`$`,53:`%`,54:`^`,55:`&`,56:`*`,57:`(`,59:`:`,61:`+`,173:`_`,186:`:`,187:`+`,188:`<`,189:`_`,190:`>`,191:`?`,192:`~`,219:`{`,220:`|`,221:`}`,222:`"`},hH=typeof navigator<`u`&&/Mac/.test(navigator.platform),gH=typeof navigator<`u`&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),_H=0;_H<10;_H++)pH[48+_H]=pH[96+_H]=String(_H);for(_H=1;_H<=24;_H++)pH[_H+111]=`F`+_H;for(_H=65;_H<=90;_H++)pH[_H]=String.fromCharCode(_H+32),mH[_H]=String.fromCharCode(_H);for(var e in pH)mH.hasOwnProperty(e)||(mH[e]=pH[e])}));function yH(){var e=arguments[0];typeof e==`string`&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&typeof n==`object`&&n.nodeType==null&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];typeof i==`string`?e.setAttribute(r,i):i!=null&&(e[r]=i)}t++}for(;t<arguments.length;t++)bH(e,arguments[t]);return e}function bH(e,t){if(typeof t==`string`)e.appendChild(document.createTextNode(t));else if(t!=null)if(t.nodeType!=null)e.appendChild(t);else if(Array.isArray(t))for(var n=0;n<t.length;n++)bH(e,t[n]);else throw RangeError(`Unsupported child node: `+t)}var xH=o((()=>{}));function SH(e){let t;return t=e.nodeType==11?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function CH(e,t){return t?e==t||e.contains(t.nodeType==1?t:t.parentNode):!1}function wH(e,t){if(!t.anchorNode)return!1;try{return CH(e,t.anchorNode)}catch{return!1}}function TH(e){return e.nodeType==3?LH(e,0,e.nodeValue.length).getClientRects():e.nodeType==1?e.getClientRects():[]}function EH(e,t,n,r){return n?kH(e,t,n,r,-1)||kH(e,t,n,r,1):!1}function DH(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t}function OH(e){return e.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function kH(e,t,n,r,i){for(;;){if(e==n&&t==r)return!0;if(t==(i<0?0:AH(e))){if(e.nodeName==`DIV`)return!1;let n=e.parentNode;if(!n||n.nodeType!=1)return!1;t=DH(e)+(i<0?0:1),e=n}else if(e.nodeType==1){if(e=e.childNodes[t+(i<0?-1:0)],e.nodeType==1&&e.contentEditable==`false`)return!1;t=i<0?AH(e):0}else return!1}}function AH(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function jH(e,t){let n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function MH(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function NH(e,t){let n=t.width/e.offsetWidth,r=t.height/e.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(t.width-e.offsetWidth)<1)&&(n=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(t.height-e.offsetHeight)<1)&&(r=1),{scaleX:n,scaleY:r}}function PH(e,t,n,r,i,a,o,s){let c=e.ownerDocument,l=c.defaultView||window;for(let u=e,d=!1;u&&!d;)if(u.nodeType==1){let e,f=u==c.body,p=1,m=1;if(f)e=MH(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(d=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let t=u.getBoundingClientRect();({scaleX:p,scaleY:m}=NH(u,t)),e={left:t.left,right:t.left+u.clientWidth*p,top:t.top,bottom:t.top+u.clientHeight*m}}let h=0,g=0;if(i==`nearest`)t.top<e.top?(g=t.top-(e.top+o),n>0&&t.bottom>e.bottom+g&&(g=t.bottom-e.bottom+o)):t.bottom>e.bottom&&(g=t.bottom-e.bottom+o,n<0&&t.top-g<e.top&&(g=t.top-(e.top+o)));else{let r=t.bottom-t.top,a=e.bottom-e.top;g=(i==`center`&&r<=a?t.top+r/2-a/2:i==`start`||i==`center`&&n<0?t.top-o:t.bottom-a+o)-e.top}if(r==`nearest`?t.left<e.left?(h=t.left-(e.left+a),n>0&&t.right>e.right+h&&(h=t.right-e.right+a)):t.right>e.right&&(h=t.right-e.right+a,n<0&&t.left<e.left+h&&(h=t.left-(e.left+a))):h=(r==`center`?t.left+(t.right-t.left)/2-(e.right-e.left)/2:r==`start`==s?t.left-a:t.right-(e.right-e.left)+a)-e.left,h||g)if(f)l.scrollBy(h,g);else{let e=0,n=0;if(g){let e=u.scrollTop;u.scrollTop+=g/m,n=(u.scrollTop-e)*m}if(h){let t=u.scrollLeft;u.scrollLeft+=h/p,e=(u.scrollLeft-t)*p}t={left:t.left-e,top:t.top-n,right:t.right-e,bottom:t.bottom-n},e&&Math.abs(e-h)<1&&(r=`nearest`),n&&Math.abs(n-g)<1&&(i=`nearest`)}if(f)break;(t.top<e.top||t.bottom>e.bottom||t.left<e.left||t.right>e.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function FH(e){let t=e.ownerDocument,n,r;for(let i=e.parentNode;i&&!(i==t.body||n&&r);)if(i.nodeType==1)!r&&i.scrollHeight>i.clientHeight&&(r=i),!n&&i.scrollWidth>i.clientWidth&&(n=i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;return{x:n,y:r}}function IH(e){if(e.setActive)return e.setActive();if(XG)return e.focus(XG);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(XG==null?{get preventScroll(){return XG={preventScroll:!0},!0}}:void 0),!XG){XG=!1;for(let e=0;e<t.length;){let n=t[e++],r=t[e++],i=t[e++];n.scrollTop!=r&&(n.scrollTop=r),n.scrollLeft!=i&&(n.scrollLeft=i)}}}function LH(e,t,n=t){let r=ZG||(ZG=document.createRange());return r.setEnd(e,n),r.setStart(e,t),r}function RH(e,t,n,r){let i={key:t,code:t,keyCode:n,which:n,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let a=new KeyboardEvent(`keydown`,i);a.synthetic=!0,e.dispatchEvent(a);let o=new KeyboardEvent(`keyup`,i);return o.synthetic=!0,e.dispatchEvent(o),a.defaultPrevented||o.defaultPrevented}function zH(e){for(;e;){if(e&&(e.nodeType==9||e.nodeType==11&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}function BH(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function VH(e,t){let n=t.focusNode,r=t.focusOffset;if(!n||t.anchorNode!=n||t.anchorOffset!=r)return!1;for(r=Math.min(r,AH(n));;)if(r){if(n.nodeType!=1)return!1;let e=n.childNodes[r-1];e.contentEditable==`false`?r--:(n=e,r=AH(n))}else if(n==e)return!0;else r=DH(n),n=n.parentNode}function HH(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function UH(e,t){for(let n=e,r=t;;)if(n.nodeType==3&&r>0)return{node:n,offset:r};else if(n.nodeType==1&&r>0){if(n.contentEditable==`false`)return null;n=n.childNodes[r-1],r=AH(n)}else if(n.parentNode&&!OH(n))r=DH(n),n=n.parentNode;else return null}function WH(e,t){for(let n=e,r=t;;)if(n.nodeType==3&&r<n.nodeValue.length)return{node:n,offset:r};else if(n.nodeType==1&&r<n.childNodes.length){if(n.contentEditable==`false`)return null;n=n.childNodes[r],r=0}else if(n.parentNode&&!OH(n))r=DH(n)+1,n=n.parentNode;else return null}function GH(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}function KH(e,t,n,r,i,a,o,s,c){let{children:l}=e,u=l.length?l[t]:null,d=a.length?a[a.length-1]:null,f=d?d.breakAfter:o;if(!(t==r&&u&&!o&&!f&&a.length<2&&u.merge(n,i,a.length?d:null,n==0,s,c))){if(r<l.length){let e=l[r];e&&(i<e.length||e.breakAfter&&d?.breakAfter)?(t==r&&(e=e.split(i),i=0),!f&&d&&e.merge(0,i,d,!0,0,c)?a[a.length-1]=e:((i||e.children.length&&!e.children[0].length)&&e.merge(0,i,null,!1,0,c),a.push(e))):e?.breakAfter&&(d?d.breakAfter=1:o=1),r++}for(u&&(u.breakAfter=o,n>0&&(!o&&a.length&&u.merge(n,u.length,a[0],!1,s,0)?u.breakAfter=a.shift().breakAfter:(n<u.length||u.children.length&&u.children[u.children.length-1].length==0)&&u.merge(n,u.length,null,!1,s,0),t++));t<r&&a.length;)if(l[r-1].become(a[a.length-1]))r--,a.pop(),c=a.length?0:s;else if(l[t].become(a[0]))t++,a.shift(),s=a.length?0:c;else break;!a.length&&t&&r<l.length&&!l[t-1].breakAfter&&l[r].merge(0,0,l[t-1],!1,s,c)&&t--,(t<r||a.length)&&e.replaceChildren(t,r,a)}}function qH(e,t,n,r,i,a){let o=e.childCursor(),{i:s,off:c}=o.findPos(n,1),{i:l,off:u}=o.findPos(t,-1),d=t-n;for(let e of r)d+=e.length;e.length+=d,KH(e,l,u,s,c,r,0,i,a)}function JH(e,t,n){let r=e.nodeValue.length;t>r&&(t=r);let i=t,a=t,o=0;t==0&&n<0||t==r&&n>=0?JG.chrome||JG.gecko||(t?(i--,o=1):a<r&&(a++,o=-1)):n<0?i--:a<r&&a++;let s=LH(e,i,a).getClientRects();if(!s.length)return null;let c=s[(o?o<0:n>=0)?0:s.length-1];return JG.safari&&!o&&c.width==0&&(c=Array.prototype.find.call(s,e=>e.width)||c),o?jH(c,o<0):c||null}function YH(e,t){let n=e.dom,{children:r}=e,i=0;for(let e=0;i<r.length;i++){let a=r[i],o=e+a.length;if(!(o==e&&a.getSide()<=0)){if(t>e&&t<o&&a.dom.parentNode==n)return a.domAtPos(t-e);if(t<=e)break;e=o}}for(let e=i;e>0;e--){let t=r[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=i;e<r.length;e++){let t=r[e];if(t.dom.parentNode==n)return t.domAtPos(0)}return new QG(n,0)}function XH(e,t,n){let r,{children:i}=e;n>0&&t instanceof iK&&i.length&&(r=i[i.length-1])instanceof iK&&r.mark.eq(t.mark)?XH(r,t.children[0],n-1):(i.push(t),t.setParent(e)),e.length+=t.length}function ZH(e,t,n){let r=null,i=-1,a=null,o=-1;function s(e,t){for(let c=0,l=0;c<e.children.length&&l<=t;c++){let u=e.children[c],d=l+u.length;d>=t&&(u.children.length?s(u,t-l):(!a||a.isHidden&&(n>0||$H(a,u)))&&(d>t||l==d&&u.getSide()>0)?(a=u,o=t-l):(l<t||l==d&&u.getSide()<0&&!u.isHidden)&&(r=u,i=t-l)),l=d}}s(e,t);let c=(n<0?r:a)||r||a;return c?c.coordsAt(Math.max(0,c==r?i:o),n):QH(e)}function QH(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let n=TH(t);return n[n.length-1]||null}function $H(e,t){let n=e.coordsAt(0,1),r=t.coordsAt(0,1);return n&&r&&r.top<n.bottom}function eU(e,t){for(let n in e)n==`class`&&t.class?t.class+=` `+e.class:n==`style`&&t.style?t.style+=`;`+e.style:t[n]=e[n];return t}function tU(e,t,n){if(e==t)return!0;e||(e=sK),t||(t=sK);let r=Object.keys(e),i=Object.keys(t);if(r.length-(n&&r.indexOf(n)>-1?1:0)!=i.length-(n&&i.indexOf(n)>-1?1:0))return!1;for(let a of r)if(a!=n&&(i.indexOf(a)==-1||e[a]!==t[a]))return!1;return!0}function nU(e,t,n){let r=!1;if(t)for(let i in t)n&&i in n||(r=!0,i==`style`?e.style.cssText=``:e.removeAttribute(i));if(n)for(let i in n)t&&t[i]==n[i]||(r=!0,i==`style`?e.style.cssText=n[i]:e.setAttribute(i,n[i]));return r}function rU(e){let t=Object.create(null);for(let n=0;n<e.attributes.length;n++){let r=e.attributes[n];t[r.name]=r.value}return t}function iU(e,t=!1){let{inclusiveStart:n,inclusiveEnd:r}=e;return n??(n=e.inclusive),r??(r=e.inclusive),{start:n??t,end:r??t}}function aU(e,t){return e==t||!!(e&&t&&e.compare(t))}function oU(e,t,n,r=0){let i=n.length-1;i>=0&&n[i]+r>=e?n[i]=Math.max(n[i],t):n.push(e,t)}function sU(e,t){for(let n of t)e=new iK(n,[e],e.length);return e}function cU(e){let t=[];for(let n=0;n<e.length;n++)t.push(1<<e[n]);return t}function lU(e){return e<=247?SK[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?CK[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8204?256:64336<=e&&e<=65023?4:1}function uU(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r.from!=i.from||r.to!=i.to||r.direction!=i.direction||!uU(r.inner,i.inner))return!1}return!0}function dU(e,t,n,r,i){for(let a=0;a<=r.length;a++){let o=a?r[a-1].to:t,s=a<r.length?r[a].from:n,c=a?256:i;for(let t=o,n=c,r=c;t<s;t++){let i=lU(e.charCodeAt(t));i==512?i=n:i==8&&r==4&&(i=16),OK[t]=i==4?2:i,i&7&&(r=i),n=i}for(let e=o,t=c,r=c;e<s;e++){let i=OK[e];if(i==128)e<s-1&&t==OK[e+1]&&t&24?i=OK[e]=t:OK[e]=256;else if(i==64){let i=e+1;for(;i<s&&OK[i]==64;)i++;let a=e&&t==8||i<n&&OK[i]==8?r==1?1:8:256;for(let t=e;t<i;t++)OK[t]=a;e=i-1}else i==8&&r==1&&(OK[e]=1);t=i,i&7&&(r=i)}}}function fU(e,t,n,r,i){let a=i==1?2:1;for(let o=0,s=0,c=0;o<=r.length;o++){let l=o?r[o-1].to:t,u=o<r.length?r[o].from:n;for(let t=l,n,r,o;t<u;t++)if(r=wK[n=e.charCodeAt(t)])if(r<0){for(let e=s-3;e>=0;e-=3)if(TK[e+1]==-r){let n=TK[e+2],r=n&2?i:n&4?n&1?a:i:0;r&&(OK[t]=OK[TK[e]]=r),s=e;break}}else if(TK.length==189)break;else TK[s++]=t,TK[s++]=n,TK[s++]=c;else if((o=OK[t])==2||o==1){let e=o==i;c=+!e;for(let t=s-3;t>=0;t-=3){let n=TK[t+2];if(n&2)break;if(e)TK[t+2]|=2;else{if(n&4)break;TK[t+2]|=4}}}}}function pU(e,t,n,r){for(let i=0,a=r;i<=n.length;i++){let o=i?n[i-1].to:e,s=i<n.length?n[i].from:t;for(let c=o;c<s;){let o=OK[c];if(o==256){let o=c+1;for(;;)if(o==s){if(i==n.length)break;o=n[i++].to,s=i<n.length?n[i].from:t}else if(OK[o]==256)o++;else break;let l=a==1,u=l==((o<t?OK[o]:r)==1)?l?1:2:r;for(let t=o,r=i,a=r?n[r-1].to:e;t>c;)t==a&&(t=n[--r].from,a=r?n[r-1].to:e),OK[--t]=u;c=o}else a=o,c++}}}function mU(e,t,n,r,i,a,o){let s=r%2?2:1;if(r%2==i%2)for(let c=t,l=0;c<n;){let t=!0,u=!1;if(l==a.length||c<a[l].from){let e=OK[c];e!=s&&(t=!1,u=e==16)}let d=!t&&s==1?[]:null,f=t?r:r+1,p=c;run:for(;;)if(l<a.length&&p==a[l].from){if(u)break run;let m=a[l];if(!t)for(let e=m.to,t=l+1;;){if(e==n)break run;if(t<a.length&&a[t].from==e)e=a[t++].to;else if(OK[e]==s)break run;else break}l++,d?d.push(m):(m.from>c&&o.push(new DK(c,m.from,f)),hU(e,m.direction==bK==!(f%2)?r:r+1,i,m.inner,m.from,m.to,o),c=m.to),p=m.to}else if(p==n||(t?OK[p]!=s:OK[p]==s))break;else p++;d?mU(e,c,p,r+1,i,d,o):c<p&&o.push(new DK(c,p,f)),c=p}else for(let c=n,l=a.length;c>t;){let n=!0,u=!1;if(!l||c>a[l-1].to){let e=OK[c-1];e!=s&&(n=!1,u=e==16)}let d=!n&&s==1?[]:null,f=n?r:r+1,p=c;run:for(;;)if(l&&p==a[l-1].to){if(u)break run;let m=a[--l];if(!n)for(let e=m.from,n=l;;){if(e==t)break run;if(n&&a[n-1].to==e)e=a[--n].from;else if(OK[e-1]==s)break run;else break}d?d.push(m):(m.to<c&&o.push(new DK(m.to,c,f)),hU(e,m.direction==bK==!(f%2)?r:r+1,i,m.inner,m.from,m.to,o),c=m.from),p=m.from}else if(p==t||(n?OK[p-1]!=s:OK[p-1]==s))break;else p--;d?mU(e,p,c,r+1,i,d,o):p<c&&o.push(new DK(p,c,f)),c=p}}function hU(e,t,n,r,i,a,o){let s=t%2?2:1;dU(e,i,a,r,s),fU(e,i,a,r,s),pU(i,a,r,s),mU(e,i,a,t,n,r,o)}function gU(e,t,n){if(!e)return[new DK(0,0,+(t==xK))];if(t==bK&&!n.length&&!EK.test(e))return _U(e.length);if(n.length)for(;e.length>OK.length;)OK[OK.length]=256;let r=[],i=t==bK?0:1;return hU(e,i,i,n,0,e.length,r),r}function _U(e){return[new DK(0,e,0)]}function vU(e,t,n,r,i){let a=r.head-e.from,o=DK.find(t,a,r.bidiLevel??-1,r.assoc),s=t[o],c=s.side(i,n);if(a==c){let e=o+=i?1:-1;if(e<0||e>=t.length)return null;s=t[o=e],a=s.side(!i,n),c=s.side(i,n)}let l=xB(e.text,a,s.forward(i,n));(l<s.from||l>s.to)&&(l=c),kK=e.text.slice(Math.min(a,l),Math.max(a,l));let u=o==(i?t.length-1:0)?null:t[o+(i?1:-1)];return u&&l==c&&u.level+ +!i<s.level?Z.cursor(u.side(!i,n)+e.from,u.forward(i,n)?1:-1,u.level):Z.cursor(l+e.from,s.forward(i,n)?-1:1,s.level)}function yU(e,t,n){for(let r=t;r<n;r++){let t=lU(e.charCodeAt(r));if(t==1)return bK;if(t==2||t==4)return xK}return bK}function bU(e,t,n){let r=e.facet(NK);r.length?r[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)||(n?console.error(n+`:`,t):console.error(t))}function xU(e,t){let n=e.state.facet(tq);if(!n.length)return n;let r=n.map(t=>t instanceof Function?t(e):t),i=[];return QV.spans(r,t.from,t.to,{point(){},span(e,n,r,a){let o=e-t.from,s=n-t.from,c=i;for(let e=r.length-1;e>=0;e--,a--){let n=r[e].spec.bidiIsolate,i;if(n??(n=yU(t.text,o,s)),a>0&&c.length&&(i=c[c.length-1]).to==o&&i.direction==n)i.to=s,c=i.inner;else{let e={from:o,to:s,direction:n,inner:[]};c.push(e),c=e.inner}}}}),i}function SU(e){let t=0,n=0,r=0,i=0;for(let a of e.state.facet(nq)){let o=a(e);o&&(o.left!=null&&(t=Math.max(t,o.left)),o.right!=null&&(n=Math.max(n,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:t,right:n,top:r,bottom:i}}function CU(e){return e.node.nodeType==1&&e.node.firstChild&&(e.offset==0||e.node.childNodes[e.offset-1].contentEditable==`false`)&&(e.offset==e.node.childNodes.length||e.node.childNodes[e.offset].contentEditable==`false`)}function wU(e,t){let n=e.observer.selectionRange;if(!n.focusNode)return null;let r=UH(n.focusNode,n.focusOffset),i=WH(n.focusNode,n.focusOffset),a=r||i;if(i&&r&&i.node!=r.node){let t=eK.get(i.node);if(!t||t instanceof rK&&t.text!=i.node.nodeValue)a=i;else if(e.docView.lastCompositionAfterCursor){let e=eK.get(r.node);!e||e instanceof rK&&e.text!=r.node.nodeValue||(a=i)}}if(e.docView.lastCompositionAfterCursor=a!=r,!a)return null;let o=t-a.offset;return{from:o,to:o+a.node.nodeValue.length,node:a.node}}function TU(e,t,n){let r=wU(e,n);if(!r)return null;let{node:i,from:a,to:o}=r,s=i.nodeValue;if(/[\n\r]/.test(s)||e.state.doc.sliceString(r.from,r.to)!=s)return null;let c=t.invertedDesc,l=new iq(c.mapPos(a),c.mapPos(o),a,o),u=[];for(let t=i.parentNode;;t=t.parentNode){let n=eK.get(t);if(n instanceof iK)u.push({node:t,deco:n.mark});else if(n instanceof mK||t.nodeName==`DIV`&&t.parentNode==e.contentDOM)return{range:l,text:i,marks:u,line:t};else if(t!=e.contentDOM)u.push({node:t,deco:new dK({inclusive:!0,attributes:rU(t),tagName:t.tagName.toLowerCase()})});else return null}}function EU(e,t){return e.nodeType==1?(t&&e.childNodes[t-1].contentEditable==`false`?1:0)|(t<e.childNodes.length&&e.childNodes[t].contentEditable==`false`?2:0):0}function DU(e,t,n){let r=new sq;return QV.compare(e,t,n,r),r.changes}function OU(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(n.nodeType==1&&n.contentEditable==`false`)return!0;return!1}function kU(e,t){let n=!1;return t&&e.iterChangedRanges((e,r)=>{e<t.to&&r>t.from&&(n=!0)}),n}function AU(e,t,n=1){let r=e.charCategorizer(t),i=e.doc.lineAt(t),a=t-i.from;if(i.length==0)return Z.cursor(t);a==0?n=1:a==i.length&&(n=-1);let o=a,s=a;n<0?o=xB(i.text,a,!1):s=xB(i.text,a);let c=r(i.text.slice(o,s));for(;o>0;){let e=xB(i.text,o,!1);if(r(i.text.slice(e,o))!=c)break;o=e}for(;s<i.length;){let e=xB(i.text,s);if(r(i.text.slice(s,e))!=c)break;s=e}return Z.range(o+i.from,s+i.from)}function jU(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function MU(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function NU(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function PU(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function FU(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function IU(e,t,n){let r,i,a,o,s=!1,c,l,u,d;for(let f=e.firstChild;f;f=f.nextSibling){let e=TH(f);for(let p=0;p<e.length;p++){let m=e[p];i&&NU(i,m)&&(m=PU(FU(m,i.bottom),i.top));let h=jU(t,m),g=MU(n,m);if(h==0&&g==0)return f.nodeType==3?LU(f,t,n):IU(f,t,n);(!r||o>g||o==g&&a>h)&&(r=f,i=m,a=h,o=g,s=h?t<m.left?p>0:p<e.length-1:!0),h==0?n>m.bottom&&(!u||u.bottom<m.bottom)?(c=f,u=m):n<m.top&&(!d||d.top>m.top)&&(l=f,d=m):u&&NU(u,m)?u=FU(u,m.bottom):d&&NU(d,m)&&(d=PU(d,m.top))}}if(u&&u.bottom>=n?(r=c,i=u):d&&d.top<=n&&(r=l,i=d),!r)return{node:e,offset:0};let f=Math.max(i.left,Math.min(i.right,t));return r.nodeType==3?LU(r,f,n):s&&r.contentEditable!=`false`?IU(r,f,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,r)+ +(t>=(i.left+i.right)/2)}}function LU(e,t,n){let r=e.nodeValue.length,i=-1,a=1e9,o=0;for(let s=0;s<r;s++){let r=LH(e,s,s+1).getClientRects();for(let c=0;c<r.length;c++){let l=r[c];if(l.top==l.bottom)continue;o||(o=t-l.left);let u=(l.top>n?l.top-n:n-l.bottom)-1;if(l.left-1<=t&&l.right+1>=t&&u<a){let n=t>=(l.left+l.right)/2,r=n;if(JG.chrome||JG.gecko){let t=LH(e,s).getBoundingClientRect();Math.abs(t.left-l.right)<.1&&(r=!n)}if(u<=0)return{node:e,offset:s+ +!!r};i=s+ +!!r,a=u}}}return{node:e,offset:i>-1?i:o>0?e.nodeValue.length:0}}function RU(e,t,n,r=-1){let i=e.contentDOM.getBoundingClientRect(),a=i.top+e.viewState.paddingTop,o,{docHeight:s}=e.viewState,{x:c,y:l}=t,u=l-a;if(u<0)return 0;if(u>s)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,i=!1;o=e.elementAtHeight(u),o.type!=lK.Text;)for(;u=r>0?o.bottom+t:o.top-t,!(u>=0&&u<=s);){if(i)return n?null:0;i=!0,r=-r}l=a+u;let d=o.from;if(d<e.viewport.from)return e.viewport.from==0?0:n?null:zU(e,i,o,c,l);if(d>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:zU(e,i,o,c,l);let f=e.dom.ownerDocument,p=e.root.elementFromPoint?e.root:f,m=p.elementFromPoint(c,l);m&&!e.contentDOM.contains(m)&&(m=null),m||(c=Math.max(i.left+1,Math.min(i.right-1,c)),m=p.elementFromPoint(c,l),m&&!e.contentDOM.contains(m)&&(m=null));let h,g=-1;if(m&&e.docView.nearest(m)?.isEditable!=0){if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(c,l);e&&({offsetNode:h,offset:g}=e)}else if(f.caretRangeFromPoint){let e=f.caretRangeFromPoint(c,l);e&&({startContainer:h,startOffset:g}=e)}h&&(!e.contentDOM.contains(h)||JG.safari&&VU(h,g,c)||JG.chrome&&HU(h,g,c))&&(h=void 0),h&&(g=Math.min(AH(h),g))}if(!h||!e.docView.dom.contains(h)){let t=mK.find(e.docView,d);if(!t)return u>o.top+o.height/2?o.to:o.from;({node:h,offset:g}=IU(t.dom,c,l))}let _=e.docView.nearest(h);if(!_)return null;if(_.isWidget&&_.dom?.nodeType==1){let e=_.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?_.posAtStart:_.posAtEnd}else return _.localPosFromDOM(h,g)+_.posAtStart}function zU(e,t,n,r,i){let a=Math.round((r-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&n.height>e.defaultLineHeight*1.5){let t=e.viewState.heightOracle.textHeight,r=Math.floor((i-n.top-(e.defaultLineHeight-t)*.5)/t);a+=r*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(n.from,n.to);return n.from+sV(o,a,e.state.tabSize)}function BU(e,t,n){let r,i=e;if(e.nodeType!=3||t!=(r=e.nodeValue.length))return!1;for(;;){let e=i.nextSibling;if(e){if(e.nodeName==`BR`)break;return!1}else{let e=i.parentNode;if(!e||e.nodeName==`DIV`)break;i=e}}return LH(e,r-1,r).getBoundingClientRect().right>n}function VU(e,t,n){return BU(e,t,n)}function HU(e,t,n){if(t!=0)return BU(e,t,n);for(let t=e;;){let e=t.parentNode;if(!e||e.nodeType!=1||e.firstChild!=t)return!1;if(e.classList.contains(`cm-line`))break;t=e}return n-(e.nodeType==1?e.getBoundingClientRect():LH(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}function UU(e,t,n){let r=e.lineBlockAt(t);if(Array.isArray(r.type)){let e;for(let i of r.type){if(i.from>t)break;if(!(i.to<t)){if(i.from<t&&i.to>t)return i;(!e||i.type==lK.Text&&(e.type!=i.type||(n<0?i.from<t:i.to>t)))&&(e=i)}}return e||r}return r}function WU(e,t,n,r){let i=UU(e,t.head,t.assoc||-1),a=!r||i.type!=lK.Text||!(e.lineWrapping||i.widgetLineBreaks)?null:e.coordsAtPos(t.assoc<0&&t.head>i.from?t.head-1:t.head);if(a){let t=e.dom.getBoundingClientRect(),r=e.textDirectionAt(i.from),o=e.posAtCoords({x:n==(r==yK.LTR)?t.right-1:t.left+1,y:(a.top+a.bottom)/2});if(o!=null)return Z.cursor(o,n?-1:1)}return Z.cursor(n?i.to:i.from,n?-1:1)}function GU(e,t,n,r){let i=e.state.doc.lineAt(t.head),a=e.bidiSpans(i),o=e.textDirectionAt(i.from);for(let s=t,c=null;;){let t=vU(i,a,o,s,n),l=kK;if(!t){if(i.number==(n?e.state.doc.lines:1))return s;l=`
`,i=e.state.doc.line(i.number+(n?1:-1)),a=e.bidiSpans(i),t=e.visualLineSide(i,!n)}if(!c){if(!r)return t;c=r(l)}else if(!c(l))return s;s=t}}function KU(e,t,n){let r=e.state.charCategorizer(t),i=r(n);return e=>{let t=r(e);return i==GV.Space&&(i=t),i==t}}function qU(e,t,n,r){let i=t.head,a=n?1:-1;if(i==(n?e.state.doc.length:0))return Z.cursor(i,t.assoc);let o=t.goalColumn,s,c=e.contentDOM.getBoundingClientRect(),l=e.coordsAtPos(i,t.assoc||-1),u=e.documentTop;if(l)o??(o=l.left-c.left),s=a<0?l.top:l.bottom;else{let t=e.viewState.lineBlockAt(i);o??(o=Math.min(c.right-c.left,e.defaultCharacterWidth*(i-t.from))),s=(a<0?t.top:t.bottom)+u}let d=c.left+o,f=r??e.viewState.heightOracle.textHeight>>1;for(let t=0;;t+=10){let n=s+(f+t)*a,r=RU(e,{x:d,y:n},!1,a);if(n<c.top||n>c.bottom||(a<0?r<i:r>i)){let t=e.docView.coordsForChar(r),i=!t||n<t.top?-1:1;return Z.cursor(r,i,void 0,o)}}}function JU(e,t,n){for(;;){let r=0;for(let i of e)i.between(t-1,t+1,(e,i,a)=>{if(t>e&&t<i){let a=r||n||(t-e<i-t?-1:1);t=a<0?e:i,r=a}});if(!r)return t}}function YU(e,t){let n=null;for(let r=0;r<t.ranges.length;r++){let i=t.ranges[r],a=null;if(i.empty){let t=JU(e,i.from,0);t!=i.from&&(a=Z.cursor(t,-1))}else{let t=JU(e,i.from,-1),n=JU(e,i.to,1);(t!=i.from||n!=i.to)&&(a=Z.range(i.from==i.anchor?t:n,i.from==i.head?t:n))}a&&(n||(n=t.ranges.slice()),n[r]=a)}return n?Z.create(n,t.mainIndex):t}function XU(e,t,n){let r=JU(e.state.facet(eq).map(t=>t(e)),n.from,t.head>n.from?-1:1);return r==n.from?n:Z.cursor(r,r<n.from?1:-1)}function ZU(e,t,n){for(;;){if(!t||n<AH(t))return!1;if(t==e)return!0;n=DH(t)+1,t=t.parentNode}}function QU(e,t){let n;for(;!(e==t||!e);e=e.nextSibling){let t=eK.get(e);if(!(t?.isWidget||e.cmIgnore))return!1;t&&(n||(n=[])).push(t)}if(n){for(let e of n)if(e.overrideDOMText?.length)return!1}return!0}function $U(e,t){let n,{newSel:r}=t,i=e.state.selection.main,a=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:r,to:o}=t.bounds,s=i.from,c=null;(a===8||JG.android&&t.text.length<o-r)&&(s=i.to,c=`end`);let l=nW(e.state.doc.sliceString(r,o,cq),t.text,s-r,c);l&&(JG.chrome&&a==13&&l.toB==l.from+2&&t.text.slice(l.from,l.toB)==`￿￿`&&l.toB--,n={from:r+l.from,to:r+l.toA,insert:cV.of(t.text.slice(l.from,l.toB).split(cq))})}else r&&(!e.hasFocus&&e.state.facet(GK)||r.main.eq(i))&&(r=null);if(!n&&!r)return!1;if(!n&&t.typeOver&&!i.empty&&r&&r.main.empty?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,i.to)}:(JG.mac||JG.android)&&n&&n.from==n.to&&n.from==i.head-1&&/^\. ?$/.test(n.insert.toString())&&e.contentDOM.getAttribute(`autocorrect`)==`off`?(r&&n.insert.length==2&&(r=Z.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:cV.of([n.insert.toString().replace(`.`,` `)])}):n&&n.from>=i.from&&n.to<=i.to&&(n.from!=i.from||n.to!=i.to)&&i.to-i.from-(n.to-n.from)<=4?n={from:i.from,to:i.to,insert:e.state.doc.slice(i.from,n.from).append(n.insert).append(e.state.doc.slice(n.to,i.to))}:e.state.doc.lineAt(i.from).to<i.to&&e.docView.lineHasWidget(i.to)&&e.inputState.insertingTextAt>Date.now()-50?n={from:i.from,to:i.to,insert:e.state.toText(e.inputState.insertingText)}:JG.chrome&&n&&n.from==n.to&&n.from==i.head&&n.insert.toString()==`
`&&e.lineWrapping&&(r&&(r=Z.single(r.main.anchor-1,r.main.head-1)),n={from:i.from,to:i.to,insert:cV.of([` `])}),n)return eW(e,n,r,a);if(r&&!r.main.eq(i)){let t=!1,n=`select`;return e.inputState.lastSelectionTime>Date.now()-50&&(e.inputState.lastSelectionOrigin==`select`&&(t=!0),n=e.inputState.lastSelectionOrigin,n==`select.pointer`&&(r=YU(e.state.facet(eq).map(t=>t(e)),r))),e.dispatch({selection:r,scrollIntoView:t,userEvent:n}),!0}else return!1}function eW(e,t,n,r=-1){if(JG.ios&&e.inputState.flushIOSKey(t))return!0;let i=e.state.selection.main;if(JG.android&&(t.to==i.to&&(t.from==i.from||t.from==i.from-1&&e.state.sliceDoc(t.from,i.from)==` `)&&t.insert.length==1&&t.insert.lines==2&&RH(e.contentDOM,`Enter`,13)||(t.from==i.from-1&&t.to==i.to&&t.insert.length==0||r==8&&t.insert.length<t.to-t.from&&t.to>i.head)&&RH(e.contentDOM,`Backspace`,8)||t.from==i.from&&t.to==i.to+1&&t.insert.length==0&&RH(e.contentDOM,`Delete`,46)))return!0;let a=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let o,s=()=>o||(o=tW(e,t,n));return e.state.facet(FK).some(n=>n(e,t.from,t.to,a,s))||e.dispatch(s()),!0}function tW(e,t,n){let r,i=e.state,a=i.selection.main,o=-1;if(t.from==t.to&&t.from<a.from||t.from>a.to){let n=t.from<a.from?-1:1,r=n<0?a.from:a.to,s=JU(i.facet(eq).map(t=>t(e)),r,n);t.from==s&&(o=s)}if(o>-1)r={changes:t,selection:Z.cursor(t.from+t.insert.length,-1)};else if(t.from>=a.from&&t.to<=a.to&&t.to-t.from>=(a.to-a.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let n=a.from<t.from?i.sliceDoc(a.from,t.from):``,o=a.to>t.to?i.sliceDoc(t.to,a.to):``;r=i.replaceSelection(e.state.toText(n+t.insert.sliceString(0,void 0,e.state.lineBreak)+o))}else{let o=i.changes(t),s=n&&n.main.to<=o.newLength?n.main:void 0;if(i.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=a.to+10&&t.to>=a.to-10){let c=e.state.sliceDoc(t.from,t.to),l,u=n&&wU(e,n.main.head);if(u){let e=t.insert.length-(t.to-t.from);l={from:u.from,to:u.to-e}}else l=e.state.doc.lineAt(a.head);let d=a.to-t.to;r=i.changeByRange(n=>{if(n.from==a.from&&n.to==a.to)return{changes:o,range:s||n.map(o)};let r=n.to-d,u=r-c.length;if(e.state.sliceDoc(u,r)!=c||r>=l.from&&u<=l.to)return{range:n};let f=i.changes({from:u,to:r,insert:t.insert}),p=n.to-a.to;return{changes:f,range:s?Z.range(Math.max(0,s.anchor+p),Math.max(0,s.head+p)):n.map(f)}})}else r={changes:o,selection:s&&i.selection.replaceRange(s)}}let s=`input.type`;return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,s+=`.compose`,e.inputState.compositionFirstChange&&(s+=`.start`,e.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:s,scrollIntoView:!0})}function nW(e,t,n,r){let i=Math.min(e.length,t.length),a=0;for(;a<i&&e.charCodeAt(a)==t.charCodeAt(a);)a++;if(a==i&&e.length==t.length)return null;let o=e.length,s=t.length;for(;o>0&&s>0&&e.charCodeAt(o-1)==t.charCodeAt(s-1);)o--,s--;if(r==`end`){let e=Math.max(0,a-Math.min(o,s));n-=o+e-a}if(o<a&&e.length<t.length){let e=n<=a&&n>=o?a-n:0;a-=e,s=a+(s-o),o=a}else if(s<a){let e=n<=a&&n>=s?a-n:0;a-=e,o=a+(o-s),s=a}return{from:a,toA:o,toB:s}}function rW(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:a}=e.observer.selectionRange;return n&&(t.push(new uq(n,r)),(i!=n||a!=r)&&t.push(new uq(i,a))),t}function iW(e,t){if(e.length==0)return null;let n=e[0].pos,r=e.length==2?e[1].pos:n;return n>-1&&r>-1?Z.single(n+t,r+t):null}function aW(e,t){return(n,r)=>{try{return t.call(e,r,n)}catch(e){bU(n.state,e)}}}function oW(e){let t=Object.create(null);function n(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec,r=e&&e.plugin.domEventHandlers,i=e&&e.plugin.domEventObservers;if(r)for(let e in r){let i=r[e];i&&n(e).handlers.push(aW(t.value,i))}if(i)for(let e in i){let r=i[e];r&&n(e).observers.push(aW(t.value,r))}}for(let e in vq)n(e).handlers.push(vq[e]);for(let e in yq)n(e).observers.push(yq[e]);return t}function sW(e){return Math.max(0,e)*.7+8}function cW(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}function lW(e,t){let n=e.state.facet(AK);return n.length?n[0](t):JG.mac?t.metaKey:t.ctrlKey}function uW(e,t){let n=e.state.facet(jK);return n.length?n[0](t):JG.mac?!t.altKey:!t.ctrlKey}function dW(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let r=SH(e.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let e=0;e<i.length;e++){let n=i[e];if(n.left<=t.clientX&&n.right>=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}function fW(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target,r;n!=e.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(r=eK.get(n))&&r.ignoreEvent(t))return!1;return!0}function pW(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement(`textarea`));n.style.cssText=`position: fixed; left: -10000px; top: 10px`,n.focus(),setTimeout(()=>{e.focus(),n.remove(),hW(e,n.value)},50)}function mW(e,t,n){for(let r of e.facet(t))n=r(n,e);return n}function hW(e,t){t=mW(e.state,LK,t);let{state:n}=e,r,i=1,a=n.toText(t),o=a.lines==n.selection.ranges.length;if(Eq!=null&&n.selection.ranges.every(e=>e.empty)&&Eq==a.toString()){let e=-1;r=n.changeByRange(r=>{let s=n.doc.lineAt(r.from);if(s.from==e)return{range:r};e=s.from;let c=n.toText((o?a.line(i++).text:t)+n.lineBreak);return{changes:{from:s.from,insert:c},range:Z.cursor(r.from+c.length)}})}else r=o?n.changeByRange(e=>{let t=a.line(i++);return{changes:{from:e.from,to:e.to,insert:t.text},range:Z.cursor(e.from+t.length)}}):n.replaceSelection(a);e.dispatch(r,{userEvent:`input.paste`,scrollIntoView:!0})}function gW(e,t,n,r){if(r==1)return Z.cursor(t,n);if(r==2)return AU(e.state,t,n);{let n=mK.find(e.docView,t),r=e.state.doc.lineAt(n?n.posAtEnd:t),i=n?n.posAtStart:r.from,a=n?n.posAtEnd:r.to;return a<e.state.doc.length&&a==r.to&&a++,Z.range(i,a)}}function _W(e,t,n,r){let i=mK.find(e.docView,t);if(!i)return 1;let a=t-i.posAtStart;if(a==0)return 1;if(a==i.length)return-1;let o=i.coordsAt(a,-1);if(o&&xq(n,r,o))return-1;let s=i.coordsAt(a,1);return s&&xq(n,r,s)?1:o&&o.bottom>=r?-1:1}function vW(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:_W(e,n,t.clientX,t.clientY)}}function yW(e){if(!Sq)return e.detail;let t=Cq,n=Tq;return Cq=e,Tq=Date.now(),wq=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(wq+1)%3:1}function bW(e,t){let n=vW(e,t),r=yW(t),i=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),i=i.map(e.changes))},get(t,a,o){let s=vW(e,t),c,l=gW(e,s.pos,s.bias,r);if(n.pos!=s.pos&&!a){let t=gW(e,n.pos,n.bias,r),i=Math.min(t.from,l.from),a=Math.max(t.to,l.to);l=i<l.from?Z.range(i,a):Z.range(a,i)}return a?i.replaceRange(i.main.extend(l.from,l.to)):o&&r==1&&i.ranges.length>1&&(c=xW(i,s.pos))?c:o?i.addRange(l):Z.create([l])}}}function xW(e,t){for(let n=0;n<e.ranges.length;n++){let{from:r,to:i}=e.ranges[n];if(r<=t&&i>=t)return Z.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-+(e.mainIndex>n))}return null}function SW(e,t,n,r){if(n=mW(e.state,LK,n),!n)return;let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:a}=e.inputState,o=r&&a&&uW(e,t)?{from:a.from,to:a.to}:null,s={from:i,insert:n},c=e.state.changes(o?[o,s]:s);e.focus(),e.dispatch({changes:c,selection:{anchor:c.mapPos(i,-1),head:c.mapPos(i,1)},userEvent:o?`move.drop`:`input.drop`}),e.inputState.draggedContent=null}function CW(e,t){let n=e.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement(`textarea`));r.style.cssText=`position: fixed; left: -10000px; top: 10px`,r.value=t,r.focus(),r.selectionEnd=t.length,r.selectionStart=0,setTimeout(()=>{r.remove(),e.focus()},50)}function wW(e){let t=[],n=[],r=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let i=-1;for(let{from:r}of e.selection.ranges){let a=e.doc.lineAt(r);a.number>i&&(t.push(a.text),n.push({from:a.from,to:Math.min(e.doc.length,a.to+1)})),i=a.number}r=!0}return{text:mW(e,RK,t.join(e.lineBreak)),ranges:n,linewise:r}}function TW(e,t){let n=[];for(let r of e.facet(IK)){let i=r(e,t);i&&n.push(i)}return n.length?e.update({effects:n,annotations:Dq.of(!0)}):null}function EW(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=TW(e.state,t);n?e.dispatch(n):e.update([])}},10)}function DW(e){Oq.has(e)||(Oq.add(e),e.addEventListener(`copy`,()=>{}),e.addEventListener(`cut`,()=>{}))}function OW(){Aq=!1}function kW(e,t){return e==t?e:(e.constructor!=t.constructor&&(Aq=!0),t)}function AW(e,t){let n,r;e[t]==null&&(n=e[t-1])instanceof zq&&(r=e[t+1])instanceof zq&&e.splice(t-1,3,new zq(n.length+1+r.length))}function jW(e,t,n){let r=new Uq;return QV.compare(e,t,n,r,0),r.changes}function MW(e,t){let n=e.getBoundingClientRect(),r=e.ownerDocument,i=r.defaultView||window,a=Math.max(0,n.left),o=Math.min(i.innerWidth,n.right),s=Math.max(0,n.top),c=Math.min(i.innerHeight,n.bottom);for(let t=e.parentNode;t&&t!=r.body;)if(t.nodeType==1){let n=t,r=window.getComputedStyle(n);if((n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)&&r.overflow!=`visible`){let r=n.getBoundingClientRect();a=Math.max(a,r.left),o=Math.min(o,r.right),s=Math.max(s,r.top),c=Math.min(t==e.parentNode?i.innerHeight:c,r.bottom)}t=r.position==`absolute`||r.position==`fixed`?n.offsetParent:n.parentNode}else if(t.nodeType==11)t=t.host;else break;return{left:a-n.left,right:Math.max(a,o)-n.left,top:s-(n.top+t),bottom:Math.max(s,c)-(n.top+t)}}function NW(e){let t=e.getBoundingClientRect(),n=e.ownerDocument.defaultView||window;return t.left<n.innerWidth&&t.right>0&&t.top<n.innerHeight&&t.bottom>0}function PW(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}function FW(e,t,n){let r=[],i=e,a=0;return QV.spans(n,e,t,{span(){},point(e,t){e>i&&(r.push({from:i,to:e}),a+=e-i),i=t}},20),i<t&&(r.push({from:i,to:t}),a+=t-i),{total:a,ranges:r}}function IW({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let r=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:i}=t[e],a=i-n;if(r<=a)return n+r;r-=a}}function LW(e,t){let n=0;for(let{from:r,to:i}of e.ranges){if(t<=i){n+=t-r;break}n+=i-r}return n/e.total}function RW(e,t){for(let n of e)if(t(n))return n}function zW(e,t){if(t.scale==1)return e;let n=t.toDOM(e.top),r=t.toDOM(e.bottom);return new Nq(e.from,e.length,n,r-n,Array.isArray(e._content)?e._content.map(e=>zW(e,t)):e._content)}function BW(e,t,n){return new cH(t,{finish(t){return/&/.test(t)?t.replace(/&\w*/,t=>{if(t==`&`)return e;if(!n||!n[t])throw RangeError(`Unsupported selector: ${t}`);return n[t]}):e+` `+t}})}function VW(e,t,n){for(;t;){let r=eK.get(t);if(r&&r.parent==e)return r;let i=t.parentNode;t=i==e.dom?n>0?t.nextSibling:t.previousSibling:i}return null}function HW(e,t){let n=t.startContainer,r=t.startOffset,i=t.endContainer,a=t.endOffset,o=e.docView.domAtPos(e.state.selection.main.anchor);return EH(o.node,o.offset,i,a)&&([n,r,i,a]=[i,a,n,r]),{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:a}}function UW(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return HW(e,n)}let n=null;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.contentDOM.addEventListener(`beforeinput`,r,!0),e.dom.ownerDocument.execCommand(`indent`),e.contentDOM.removeEventListener(`beforeinput`,r,!0),n?HW(e,n):null}function WW(e,t,n){for(let r=e.state.facet(t),i=r.length-1;i>=0;i--){let t=r[i],a=typeof t==`function`?t(e):t;a&&eU(a,n)}return n}function GW(e,t){let n=e.split(/-(?!$)/),r=n[n.length-1];r==`Space`&&(r=` `);let i,a,o,s;for(let e=0;e<n.length-1;++e){let r=n[e];if(/^(cmd|meta|m)$/i.test(r))s=!0;else if(/^a(lt)?$/i.test(r))i=!0;else if(/^(c|ctrl|control)$/i.test(r))a=!0;else if(/^s(hift)?$/i.test(r))o=!0;else if(/^mod$/i.test(r))t==`mac`?s=!0:a=!0;else throw Error(`Unrecognized modifier name: `+r)}return i&&(r=`Alt-`+r),a&&(r=`Ctrl-`+r),s&&(r=`Meta-`+r),o&&(r=`Shift-`+r),r}function KW(e,t,n){return t.altKey&&(e=`Alt-`+e),t.ctrlKey&&(e=`Ctrl-`+e),t.metaKey&&(e=`Meta-`+e),n!==!1&&t.shiftKey&&(e=`Shift-`+e),e}function qW(e){let t=e.facet(pJ),n=mJ.get(t);return n||mJ.set(t,n=YW(t.reduce((e,t)=>e.concat(t),[]))),n}function JW(e,t,n){return XW(qW(e.state),t,e,n)}function YW(e,t=dJ){let n=Object.create(null),r=Object.create(null),i=(e,t)=>{let n=r[e];if(n==null)r[e]=t;else if(n!=t)throw Error(`Key binding `+e+` is used both as a regular binding and as a multi-stroke prefix`)},a=(e,r,a,o,s)=>{let c=n[e]||(n[e]=Object.create(null)),l=r.split(/ (?!$)/).map(e=>GW(e,t));for(let t=1;t<l.length;t++){let n=l.slice(0,t).join(` `);i(n,!0),c[n]||(c[n]={preventDefault:!0,stopPropagation:!1,run:[t=>{let r=hJ={view:t,prefix:n,scope:e};return setTimeout(()=>{hJ==r&&(hJ=null)},gJ),!0}]})}let u=l.join(` `);i(u,!1);let d=c[u]||(c[u]={preventDefault:!1,stopPropagation:!1,run:(c._any?.run)?.slice()||[]});a&&d.run.push(a),o&&(d.preventDefault=!0),s&&(d.stopPropagation=!0)};for(let r of e){let e=r.scope?r.scope.split(` `):[`editor`];if(r.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:i}=r;for(let t in e)e[t].run.push(e=>i(e,_J))}let i=r[t]||r.key;if(i)for(let t of e)a(t,i,r.run,r.preventDefault,r.stopPropagation),r.shift&&a(t,`Shift-`+i,r.shift,r.preventDefault,r.stopPropagation)}return n}function XW(e,t,n,r){_J=t;let i=fH(t),a=EB(wB(i,0))==i.length&&i!=` `,o=``,s=!1,c=!1,l=!1;hJ&&hJ.view==n&&hJ.scope==r&&(o=hJ.prefix+` `,hq.indexOf(t.keyCode)<0&&(c=!0,hJ=null));let u=new Set,d=e=>{if(e){for(let t of e.run)if(!u.has(t)&&(u.add(t),t(n)))return e.stopPropagation&&(l=!0),!0;e.preventDefault&&(e.stopPropagation&&(l=!0),c=!0)}return!1},f=e[r],p,m;return f&&(d(f[o+KW(i,t,!a)])?s=!0:a&&(t.altKey||t.metaKey||t.ctrlKey)&&!(JG.windows&&t.ctrlKey&&t.altKey)&&!(JG.mac&&t.altKey&&!(t.ctrlKey||t.metaKey))&&(p=pH[t.keyCode])&&p!=i?(d(f[o+KW(p,t,!0)])||t.shiftKey&&(m=mH[t.keyCode])!=i&&m!=p&&d(f[o+KW(m,t,!1)]))&&(s=!0):a&&t.shiftKey&&d(f[o+KW(i,t,!0)])&&(s=!0),!s&&d(f._any)&&(s=!0)),c&&(s=!0),s&&l&&t.stopPropagation(),_J=null,s}function ZW(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==yK.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function QW(e,t,n,r){let i=e.coordsAtPos(t,n*2);if(!i)return r;let a=e.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,s=e.posAtCoords({x:a.left+1,y:o}),c=e.posAtCoords({x:a.right-1,y:o});return s==null||c==null?r:{from:Math.max(r.from,Math.min(s,c)),to:Math.min(r.to,Math.max(s,c))}}function $W(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let r=Math.max(n.from,e.viewport.from),i=Math.min(n.to,e.viewport.to),a=e.textDirection==yK.LTR,o=e.contentDOM,s=o.getBoundingClientRect(),c=ZW(e),l=o.querySelector(`.cm-line`),u=l&&window.getComputedStyle(l),d=s.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),f=s.right-(u?parseInt(u.paddingRight):0),p=UU(e,r,1),m=UU(e,i,-1),h=p.type==lK.Text?p:null,g=m.type==lK.Text?m:null;if(h&&(e.lineWrapping||p.widgetLineBreaks)&&(h=QW(e,r,1,h)),g&&(e.lineWrapping||m.widgetLineBreaks)&&(g=QW(e,i,-1,g)),h&&g&&h.from==g.from&&h.to==g.to)return v(y(n.from,n.to,h));{let t=h?y(n.from,null,h):b(p,!1),r=g?y(null,n.to,g):b(m,!0),i=[];return(h||p).to<(g||m).from-(h&&g?1:0)||p.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<r.top?i.push(_(d,t.bottom,f,r.top)):t.bottom<r.top&&e.elementAtHeight((t.bottom+r.top)/2).type==lK.Text&&(t.bottom=r.top=(t.bottom+r.top)/2),v(t).concat(i).concat(v(r))}function _(e,n,r,i){return new vJ(t,e-c.left,n-c.top,r-e,i-n)}function v({top:e,bottom:t,horizontal:n}){let r=[];for(let i=0;i<n.length;i+=2)r.push(_(n[i],e,n[i+1],t));return r}function y(t,n,r){let i=1e9,o=-1e9,s=[];function c(t,n,c,l,u){let p=e.coordsAtPos(t,t==r.to?-2:2),m=e.coordsAtPos(c,c==r.from?2:-2);!p||!m||(i=Math.min(p.top,m.top,i),o=Math.max(p.bottom,m.bottom,o),u==yK.LTR?s.push(a&&n?d:p.left,a&&l?f:m.right):s.push(!a&&l?d:m.left,!a&&n?f:p.right))}let l=t??r.from,u=n??r.to;for(let r of e.visibleRanges)if(r.to>l&&r.from<u)for(let i=Math.max(r.from,l),a=Math.min(r.to,u);;){let r=e.state.doc.lineAt(i);for(let o of e.bidiSpans(r)){let e=o.from+r.from,s=o.to+r.from;if(e>=a)break;s>i&&c(Math.max(e,i),t==null&&e<=l,Math.min(s,a),n==null&&s>=u,o.dir)}if(i=r.to+1,i>=a)break}return s.length==0&&c(l,t==null,u,n==null,e.textDirection),{top:i,bottom:o,horizontal:s}}function b(e,t){let n=s.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}function eG(e,t){return e.constructor==t.constructor&&e.eq(t)}function tG(e){return[JK.define(t=>new yJ(t,e)),bJ.of(e)]}function nG(e={}){return[xJ.of(e),SJ,CJ,wJ,BK.of(!0)]}function rG(e){return e.startState.facet(xJ)!=e.state.facet(xJ)}function iG(e,t){t.style.animationDuration=e.facet(xJ).cursorBlinkRate+`ms`}function aG(){return[EJ,DJ]}function oG(e,t,n,r,i){t.lastIndex=0;for(let a=e.iterRange(n,r),o=n,s;!a.next().done;o+=a.value.length)if(!a.lineBreak)for(;s=t.exec(a.value);)i(o+s.index,s)}function sG(e,t){let n=e.visibleRanges;if(n.length==1&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let r=[];for(let{from:i,to:a}of n)i=Math.max(e.state.doc.lineAt(i).from,i-t),a=Math.min(e.state.doc.lineAt(a).to,a+t),r.length&&r[r.length-1].to>=i?r[r.length-1].to=a:r.push({from:i,to:a});return r}function cG(){if(MJ==null&&typeof document<`u`&&document.body){let e=document.body.style;MJ=(e.tabSize??e.MozTabSize)!=null}return MJ||!1}function lG(e={}){return[NJ.of(e),uG()]}function uG(){return PJ||(PJ=JK.fromClass(class{constructor(e){this.view=e,this.decorations=uK.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(NJ)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new OJ({regexp:e.specialChars,decoration:(t,n,r)=>{let{doc:i}=n.state,a=wB(t[0],0);if(a==9){let e=i.lineAt(r),t=n.state.tabSize,a=oV(e.text,t,r-e.from);return uK.replace({widget:new LJ((t-a%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[a]||(this.decorationCache[a]=uK.replace({widget:new IJ(e,a)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(NJ);e.startState.facet(NJ)==t?this.decorations=this.decorator.updateDeco(e,this.decorations):(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view))}},{decorations:e=>e.decorations}))}function dG(e){return e>=32?FJ:e==10?`␤`:String.fromCharCode(9216+e)}function fG(){return zJ}function pG(e){let t=JK.fromClass(class{constructor(t){this.view=t,this.placeholder=e?uK.set([uK.widget({widget:new BJ(e),side:1}).range(0)]):uK.none}get decorations(){return this.view.state.doc.length?uK.none:this.placeholder}},{decorations:e=>e.decorations});return typeof e==`string`?[t,sJ.contentAttributes.of({"aria-placeholder":e})]:t}function mG(e,t,n){let r=Math.min(t.line,n.line),i=Math.max(t.line,n.line),a=[];if(t.off>VJ||n.off>VJ||t.col<0||n.col<0){let o=Math.min(t.off,n.off),s=Math.max(t.off,n.off);for(let t=r;t<=i;t++){let n=e.doc.line(t);n.length<=s&&a.push(Z.range(n.from+o,n.to+s))}}else{let o=Math.min(t.col,n.col),s=Math.max(t.col,n.col);for(let t=r;t<=i;t++){let n=e.doc.line(t),r=sV(n.text,o,e.tabSize,!0);if(r<0)a.push(Z.cursor(n.to));else{let t=sV(n.text,s,e.tabSize);a.push(Z.range(n.from+r,n.from+t))}}}return a}function hG(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function gG(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),r=e.state.doc.lineAt(n),i=n-r.from,a=i>VJ?-1:i==r.length?hG(e,t.clientX):oV(r.text,e.state.tabSize,n-r.from);return{line:r.number,col:a,off:i}}function _G(e,t){let n=gG(e,t),r=e.state.selection;return n?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(n.line).from),i=e.state.doc.lineAt(t);n={line:i.number,col:n.col,off:Math.min(n.off,i.length)},r=r.map(e.changes)}},get(t,i,a){let o=gG(e,t);if(!o)return r;let s=mG(e.state,n,o);return s.length?a?Z.create(s.concat(r.ranges)):Z.create(s):r}}:null}function vG(e){let t=e?.eventFilter||(e=>e.altKey&&e.button==0);return sJ.mouseSelectionStyle.of((e,n)=>t(n)?_G(e,n):null)}function yG(e={}){let[t,n]=HJ[e.key||`Alt`],r=JK.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||n(e))},keyup(e){(e.keyCode==t||!n(e))&&this.set(!1)},mousemove(e){this.set(n(e))}}});return[r,sJ.contentAttributes.of(e=>e.plugin(r)?.isDown?UJ:null)]}function bG(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}function xG(e,t){let n=parseInt(e.style.left,10);(isNaN(n)||Math.abs(t-n)>1)&&(e.style.left=t+`px`)}function SG(e,t){let{left:n,right:r,top:i,bottom:a}=e.getBoundingClientRect(),o;if(o=e.querySelector(`.cm-tooltip-arrow`)){let e=o.getBoundingClientRect();i=Math.min(e.top,i),a=Math.max(e.bottom,a)}return t.clientX>=n-nY&&t.clientX<=r+nY&&t.clientY>=i-nY&&t.clientY<=a+nY}function CG(e,t,n,r,i,a){let o=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(o.left>r||o.right<r||o.top>i||Math.min(o.bottom,s)<i)return!1;let c=e.posAtCoords({x:r,y:i},!1);return c>=t&&c<=n}function wG(e,t={}){let n=HV.define(),r=TV.define({create(){return[]},update(e,r){if(e.length&&(t.hideOnChange&&(r.docChanged||r.selection)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(r,e))),r.docChanged)){let t=[];for(let n of e){let e=r.changes.mapPos(n.pos,-1,gV.TrackDel);if(e!=null){let i=Object.assign(Object.create(null),n);i.pos=e,i.end!=null&&(i.end=r.changes.mapPos(i.end)),t.push(i)}}e=t}for(let t of r.effects)t.is(n)&&(e=t.value),t.is(rY)&&(e=[]);return e},provide:e=>QJ.from(e)});return{active:r,extension:[r,JK.define(i=>new tY(i,e,r,n,t.hoverTime||300)),eY]}}function TG(e,t){let n=e.plugin(JJ);if(!n)return null;let r=n.manager.tooltips.indexOf(t);return r<0?null:n.manager.tooltipViews[r]}function EG(e,t){let n=e.plugin(aY),r=n?n.specs.indexOf(t):-1;return r>-1?n.panels[r]:null}function DG(e){let t=e.nextSibling;return e.remove(),t}function OG(e){return[kG(),fY.of({...dY,...e})]}function kG(e){let t=[mY];return e&&e.fixed===!1&&t.push(pY.of(!0)),t}function AG(e){return Array.isArray(e)?e:[e]}function jG(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}function MG(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].compare(t[n]))return!1;return!0}function NG(e,t){return e.state.facet(bY).formatNumber(t,e.state)}function PG(e={}){return[bY.of(e),kG(),SY]}function FG(e){let t=9;for(;t<e;)t=t*10+9;return t}function IG(){return wY}var LG,RG,zG,BG,VG,HG,UG,WG,GG,KG,qG,JG,YG,XG,ZG,QG,$G,eK,tK,nK,rK,iK,aK,oK,sK,cK,lK,uK,dK,fK,pK,mK,hK,gK,_K,vK,yK,bK,xK,SK,CK,wK,TK,EK,DK,OK,kK,AK,jK,MK,NK,PK,FK,IK,LK,RK,zK,BK,VK,HK,UK,WK,GK,KK,qK,JK,YK,XK,ZK,QK,$K,eq,tq,nq,rq,iq,aq,oq,sq,cq,lq,uq,dq,fq,pq,mq,hq,gq,_q,vq,yq,bq,xq,Sq,Cq,wq,Tq,Eq,Dq,Oq,kq,Aq,jq,Mq,Nq,Pq,Fq,Iq,Lq,Rq,zq,Bq,Vq,Hq,Uq,Wq,Gq,Kq,qq,Jq,Yq,Xq,Zq,Qq,$q,eJ,tJ,nJ,rJ,iJ,aJ,oJ,sJ,cJ,lJ,uJ,dJ,fJ,pJ,mJ,hJ,gJ,_J,vJ,yJ,bJ,xJ,SJ,CJ,wJ,TJ,EJ,DJ,OJ,kJ,AJ,jJ,MJ,NJ,PJ,FJ,IJ,LJ,RJ,zJ,BJ,VJ,HJ,UJ,WJ,GJ,KJ,qJ,JJ,YJ,XJ,ZJ,QJ,$J,eY,tY,nY,rY,iY,aY,oY,sY,cY,lY,uY,dY,fY,pY,mY,hY,gY,_Y,vY,yY,bY,xY,SY,CY,wY,TY=o((()=>{rH(),dH(),vH(),LG=typeof navigator<`u`?navigator:{userAgent:``,vendor:``,platform:``},RG=typeof document<`u`?document:{documentElement:{style:{}}},zG=/Edge\/(\d+)/.exec(LG.userAgent),BG=/MSIE \d/.test(LG.userAgent),VG=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(LG.userAgent),HG=!!(BG||VG||zG),UG=!HG&&/gecko\/(\d+)/i.test(LG.userAgent),WG=!HG&&/Chrome\/(\d+)/.exec(LG.userAgent),GG=`webkitFontSmoothing`in RG.documentElement.style,KG=!HG&&/Apple Computer/.test(LG.vendor),qG=KG&&(/Mobile\/\w+/.test(LG.userAgent)||LG.maxTouchPoints>2),JG={mac:qG||/Mac/.test(LG.platform),windows:/Win/.test(LG.platform),linux:/Linux|X11/.test(LG.platform),ie:HG,ie_version:BG?RG.documentMode||6:VG?+VG[1]:zG?+zG[1]:0,gecko:UG,gecko_version:UG?+(/Firefox\/(\d+)/.exec(LG.userAgent)||[0,0])[1]:0,chrome:!!WG,chrome_version:WG?+WG[1]:0,ios:qG,android:/Android\b/.test(LG.userAgent),webkit:GG,webkit_version:GG?+(/\bAppleWebKit\/(\d+)/.exec(LG.userAgent)||[0,0])[1]:0,safari:KG,safari_version:KG?+(/\bVersion\/(\d+(\.\d+)?)/.exec(LG.userAgent)||[0,0])[1]:0,tabSize:RG.documentElement.style.tabSize==null?`-moz-tab-size`:`tab-size`},YG=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?AH(t):0),n,Math.min(e.focusOffset,n?AH(n):0))}set(e,t,n,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=r}},XG=null,JG.safari&&JG.safari_version>=26&&(XG=!1),QG=class e{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(t,n){return new e(t.parentNode,DH(t),n)}static after(t,n){return new e(t.parentNode,DH(t)+1,n)}},$G=[],eK=class e{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw RangeError(`Invalid child in posBefore`)}posAfter(e){return this.posBefore(e)+e.length}sync(t,n){if(this.flags&2){let r=this.dom,i=null,a;for(let o of this.children){if(o.flags&7){if(!o.dom&&(a=i?i.nextSibling:r.firstChild)){let t=e.get(a);(!t||!t.parent&&t.canReuseDOM(o))&&o.reuseDOM(a)}o.sync(t,n),o.flags&=-8}if(a=i?i.nextSibling:r.firstChild,n&&!n.written&&n.node==r&&a!=o.dom&&(n.written=!0),o.dom.parentNode==r)for(;a&&a!=o.dom;)a=GH(a);else r.insertBefore(o.dom,a);i=o.dom}for(a=i?i.nextSibling:r.firstChild,a&&n&&n.node==r&&(n.written=!0);a;)a=GH(a)}else if(this.flags&1)for(let e of this.children)e.flags&7&&(e.sync(t,n),e.flags&=-8)}reuseDOM(e){}localPosFromDOM(t,n){let r;if(t==this.dom)r=this.dom.childNodes[n];else{let e=AH(t)==0?0:n==0?-1:1;for(;;){let n=t.parentNode;if(n==this.dom)break;e==0&&n.firstChild!=n.lastChild&&(e=t==n.firstChild?-1:1),t=n}r=e<0?t:t.nextSibling}if(r==this.dom.firstChild)return 0;for(;r&&!e.get(r);)r=r.nextSibling;if(!r)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==r)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,n=0){let r=-1,i=-1,a=-1,o=-1;for(let s=0,c=n,l=n;s<this.children.length;s++){let n=this.children[s],u=c+n.length;if(c<e&&u>t)return n.domBoundsAround(e,t,c);if(u>=e&&r==-1&&(r=s,i=c),c>t&&n.dom.parentNode==this.dom){a=s,o=l;break}l=u,c=u+n.breakAfter}return{from:i,to:o<0?n+this.length:o,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:a<this.children.length&&a>=0?this.children[a].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=$G){this.markDirty();for(let r=e;r<t;r++){let e=this.children[r];e.parent==this&&n.indexOf(e)<0&&e.destroy()}n.length<250?this.children.splice(e,t-e,...n):this.children=[].concat(this.children.slice(0,e),n,this.children.slice(t));for(let e=0;e<n.length;e++)n[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new tK(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace(`View`,``);return e+(this.children.length?`(`+this.children.join()+`)`:this.length?`[`+(e==`Text`?this.text:this.length)+`]`:``)+(this.breakAfter?`#`:``)}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,r,i,a){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}},eK.prototype.breakAfter=0,tK=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}},nK=256,rK=class e extends eK{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(t,n,r){return this.flags&8||r&&(!(r instanceof e)||this.length-(n-t)+r.length>nK||r.flags&8)?!1:(this.text=this.text.slice(0,t)+(r?r.text:``)+this.text.slice(n),this.markDirty(),!0)}split(t){let n=new e(this.text.slice(t));return this.text=this.text.slice(0,t),this.markDirty(),n.flags|=this.flags&8,n}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new QG(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return JH(this.dom,e,t)}},iK=class e extends eK{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}setAttrs(e){if(BH(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(t,n,r,i,a,o){return r&&(!(r instanceof e&&r.mark.eq(this.mark))||t&&a<=0||n<this.length&&o<=0)?!1:(qH(this,t,n,r?r.children.slice():[],a-1,o-1),this.markDirty(),!0)}split(t){let n=[],r=0,i=-1,a=0;for(let e of this.children){let o=r+e.length;o>t&&n.push(r<t?e.split(t-r):e),i<0&&r>=t&&(i=a),r=o,a++}let o=this.length-t;return this.length=t,i>-1&&(this.children.length=i,this.markDirty()),new e(this.mark,n,o)}domAtPos(e){return YH(this,e)}coordsAt(e,t){return ZH(this,e,t)}},aK=class e extends eK{static create(t,n,r){return new e(t,n,r)}constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}split(t){let n=e.create(this.widget,this.length-t,this.side);return this.length-=t,n}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable=`false`))}getSide(){return this.side}merge(t,n,r,i,a,o){return r&&(!(r instanceof e)||!this.widget.compare(r.widget)||t>0&&a<=0||n<this.length&&o<=0)?!1:(this.length=t+(r?r.length:0)+(this.length-n),!0)}become(t){return t instanceof e&&t.side==this.side&&this.widget.constructor==t.widget.constructor?(this.widget.compare(t.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return cV.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):cV.empty}domAtPos(e){return(this.length?e==0:this.side>0)?QG.before(this.dom):QG.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let r=this.dom.getClientRects(),i=null;if(!r.length)return null;let a=this.side?this.side<0:e>0;for(let t=a?r.length-1:0;i=r[t],!(e>0?t==0:t==r.length-1||i.top<i.bottom);t+=a?-1:1);return jH(i,!a)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},oK=class e extends eK{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(t){return t instanceof e&&t.side==this.side}split(){return new e(this.side)}sync(){if(!this.dom){let e=document.createElement(`img`);e.className=`cm-widgetBuffer`,e.setAttribute(`aria-hidden`,`true`),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?QG.before(this.dom):QG.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return cV.empty}get isHidden(){return!0}},rK.prototype.children=aK.prototype.children=oK.prototype.children=$G,sK=Object.create(null),cK=class{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},lK=(function(e){return e[e.Text=0]=`Text`,e[e.WidgetBefore=1]=`WidgetBefore`,e[e.WidgetAfter=2]=`WidgetAfter`,e[e.WidgetRange=3]=`WidgetRange`,e})(lK||(lK={})),uK=class extends YV{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new dK(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new pK(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,r;if(e.isBlockGap)n=-5e8,r=4e8;else{let{start:i,end:a}=iU(e,t);n=(i?t?-3e8:-1:5e8)-1,r=(a?t?2e8:1:-6e8)+1}return new pK(e,n,r,t,e.widget||null,!0)}static line(e){return new fK(e)}static set(e,t=!1){return QV.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}},uK.none=QV.empty,dK=class e extends uK{constructor(e){let{start:t,end:n}=iU(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||`span`,this.class=e.class||``,this.attrs=e.attributes||null}eq(t){return this==t||t instanceof e&&this.tagName==t.tagName&&(this.class||this.attrs?.class)==(t.class||t.attrs?.class)&&tU(this.attrs,t.attrs,`class`)}range(e,t=e){if(e>=t)throw RangeError(`Mark decorations may not be empty`);return super.range(e,t)}},dK.prototype.point=!1,fK=class e extends uK{constructor(e){super(-2e8,-2e8,null,e)}eq(t){return t instanceof e&&this.spec.class==t.spec.class&&tU(this.spec.attributes,t.spec.attributes)}range(e,t=e){if(t!=e)throw RangeError(`Line decoration ranges must be zero-length`);return super.range(e,t)}},fK.prototype.mapMode=gV.TrackBefore,fK.prototype.point=!0,pK=class e extends uK{constructor(e,t,n,r,i,a){super(t,n,i,e),this.block=r,this.isReplace=a,this.mapMode=r?t<=0?gV.TrackBefore:gV.TrackAfter:gV.TrackDel}get type(){return this.startSide==this.endSide?this.startSide<=0?lK.WidgetBefore:lK.WidgetAfter:lK.WidgetRange}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof e&&aU(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw RangeError(`Invalid range for replacement decoration`);if(!this.isReplace&&t!=e)throw RangeError(`Widget decorations can only have zero-length ranges`);return super.range(e,t)}},pK.prototype.point=!0,mK=class e extends eK{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,n,r,i,a,o){if(r){if(!(r instanceof e))return!1;this.dom||r.transferDOM(this)}return i&&this.setDeco(r?r.attrs:null),qH(this,t,n,r?r.children.slice():[],a,o),!0}split(t){let n=new e;if(n.breakAfter=this.breakAfter,this.length==0)return n;let{i:r,off:i}=this.childPos(t);i&&(n.append(this.children[r].split(i),0),this.children[r].merge(i,this.children[r].length,null,!1,0,0),r++);for(let e=r;e<this.children.length;e++)n.append(this.children[e],0);for(;r>0&&this.children[r-1].length==0;)this.children[--r].destroy();return this.children.length=r,this.markDirty(),this.length=t,n}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){tU(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){XH(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=eU(t,this.attrs||{})),n&&(this.attrs=eU({class:n},this.attrs||{}))}domAtPos(e){return YH(this,e)}reuseDOM(e){e.nodeName==`DIV`&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&(BH(this.dom),this.dom.className=`cm-line`,this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement(`div`)),this.dom.className=`cm-line`,this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(nU(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add(`cm-line`),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&&eK.get(n)instanceof iK;)n=n.lastChild;if(!n||!this.length||n.nodeName!=`BR`&&eK.get(n)?.isEditable==0&&(!JG.ios||!this.children.some(e=>e instanceof rK))){let e=document.createElement(`BR`);e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof rK)||/[^ -~]/.test(n.text))return null;let r=TH(n.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=ZH(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=n.bottom-n.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight<t){let r=(t-e.textHeight)/2;return{top:n.top+r,bottom:n.bottom-r,left:n.left,right:n.left}}}return n}become(t){return t instanceof e&&this.children.length==0&&t.children.length==0&&tU(this.attrs,t.attrs)&&this.breakAfter==t.breakAfter}covers(){return!0}static find(t,n){for(let r=0,i=0;r<t.children.length;r++){let a=t.children[r],o=i+a.length;if(o>=n){if(a instanceof e)return a;if(o>n)break}i=o+a.breakAfter}return null}},hK=class e extends eK{constructor(e,t,n){super(),this.widget=e,this.length=t,this.deco=n,this.breakAfter=0,this.prevWidget=null}merge(t,n,r,i,a,o){return r&&(!(r instanceof e)||!this.widget.compare(r.widget)||t>0&&a<=0||n<this.length&&o<=0)?!1:(this.length=t+(r?r.length:0)+(this.length-n),!0)}domAtPos(e){return e==0?QG.before(this.dom):QG.after(this.dom,e==this.length)}split(t){let n=this.length-t;this.length=t;let r=new e(this.widget,n,this.deco);return r.breakAfter=this.breakAfter,r}get children(){return $G}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable=`false`))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):cV.empty}domBoundsAround(){return null}become(t){return t instanceof e&&t.widget.constructor==this.widget.constructor?(t.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,this.deco=t.deco,this.breakAfter=t.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)||(this.widget instanceof gK?null:jH(this.dom.getBoundingClientRect(),this.length?e==0:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:n}=this.deco;return t==n?!1:e<0?t<0:n>0}},gK=class extends cK{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement(`div`);return e.className=`cm-gap`,this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+`px`,!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},_K=class e{constructor(e,t,n,r){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text=``,this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof hK&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new mK),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(sU(new oK(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof hK)&&this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:r}=this.cursor.next(this.skip);if(this.skip=0,r)throw Error(`Ran out of text content when drawing inline views`);if(n){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=t,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e),i=Math.min(r,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(sU(new rK(this.text.slice(this.textOff,this.textOff+i)),t),n),this.atCursorPos=!0,this.textOff+=i,e-=i,n=r<=i?0:t.length}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,i,a){if(this.disallowBlockEffectsFor[a]&&n instanceof pK){if(n.block)throw RangeError(`Block decorations may not be specified via plugins`);if(t>this.doc.lineAt(this.pos).to)throw RangeError(`Decorations that replace line breaks may not be specified via plugins`)}let o=t-e;if(n instanceof pK)if(n.block)n.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new hK(n.widget||vK.block,o,n));else{let a=aK.create(n.widget||vK.inline,o,o?0:n.startSide),s=this.atCursorPos&&!a.isEditable&&i<=r.length&&(e<t||n.startSide>0),c=!a.isEditable&&(e<t||i>r.length||n.startSide<=0),l=this.getLine();this.pendingBuffer==2&&!s&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),s&&(l.append(sU(new oK(1),r),i),i=r.length+Math.max(0,i-r.length)),l.append(sU(a,r),i),this.atCursorPos=c,this.pendingBuffer=c?e<t||i>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text=``,this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(t,n,r,i,a){let o=new e(t,n,r,a);return o.openEnd=QV.spans(i,n,r,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}},vK=class extends cK{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}},vK.inline=new vK(`span`),vK.block=new vK(`div`),yK=(function(e){return e[e.LTR=0]=`LTR`,e[e.RTL=1]=`RTL`,e})(yK||(yK={})),bK=yK.LTR,xK=yK.RTL,SK=cU(`88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008`),CK=cU(`4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333`),wK=Object.create(null),TK=[];for(let e of[`()`,`[]`,`{}`]){let t=e.charCodeAt(0),n=e.charCodeAt(1);wK[t]=n,wK[n]=-t}EK=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,DK=class{get dir(){return this.level%2?xK:bK}constructor(e,t,n){this.from=e,this.to=t,this.level=n}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,n,r){let i=-1;for(let a=0;a<e.length;a++){let o=e[a];if(o.from<=t&&o.to>=t){if(o.level==n)return a;(i<0||(r==0?e[i].level>o.level:r<0?o.from<t:o.to>t))&&(i=a)}}if(i<0)throw RangeError(`Index out of range`);return i}},OK=[],kK=``,AK=SV.define(),jK=SV.define(),MK=SV.define(),NK=SV.define(),PK=SV.define(),FK=SV.define(),IK=SV.define(),LK=SV.define(),RK=SV.define(),zK=SV.define({combine:e=>e.some(e=>e)}),BK=SV.define({combine:e=>e.some(e=>e)}),VK=SV.define(),HK=class e{constructor(e,t=`nearest`,n=`nearest`,r=5,i=5,a=!1){this.range=e,this.y=t,this.x=n,this.yMargin=r,this.xMargin=i,this.isSnapshot=a}map(t){return t.empty?this:new e(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new e(Z.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},UK=HV.define({map:(e,t)=>e.map(t)}),WK=HV.define(),GK=SV.define({combine:e=>!e.length||e[0]}),KK=0,qK=SV.define({combine(e){return e.filter((t,n)=>{for(let r=0;r<n;r++)if(e[r].plugin==t.plugin)return!1;return!0})}}),JK=class e{constructor(e,t,n,r,i){this.id=e,this.create=t,this.domEventHandlers=n,this.domEventObservers=r,this.baseExtensions=i(this),this.extension=this.baseExtensions.concat(qK.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(qK.of({plugin:this,arg:e}))}static define(t,n){let{eventHandlers:r,eventObservers:i,provide:a,decorations:o}=n||{};return new e(KK++,t,r,i,e=>{let t=[];return o&&t.push(QK.of(t=>{let n=t.plugin(e);return n?o(n):uK.none})),a&&t.push(a(e)),t})}static fromClass(t,n){return e.define((e,n)=>new t(e,n),n)}},YK=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(!this.value){if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){bU(e.state,t,`CodeMirror plugin crashed`),this.deactivate()}}else if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(bU(e.state,t,`CodeMirror plugin crashed`),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}return this}destroy(e){if(this.value?.destroy)try{this.value.destroy()}catch(t){bU(e.state,t,`CodeMirror plugin crashed`)}}deactivate(){this.spec=this.value=null}},XK=SV.define(),ZK=SV.define(),QK=SV.define(),$K=SV.define(),eq=SV.define(),tq=SV.define(),nq=SV.define(),rq=SV.define(),iq=class e{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(t){return new e(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>n.toA)){if(r.toA<n.fromA)break;n=n.join(r),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(t,n){if(n.length==0)return t;let r=[];for(let i=0,a=0,o=0,s=0;;i++){let c=i==t.length?null:t[i],l=o-s,u=c?c.fromB:1e9;for(;a<n.length&&n[a]<u;){let t=n[a],i=n[a+1],o=Math.max(s,t),c=Math.min(u,i);if(o<=c&&new e(o+l,c+l,o,c).addToSet(r),i>u)break;a+=2}if(!c)return r;new e(c.fromA,c.toA,c.fromB,c.toB).addToSet(r),o=c.toA,s=c.toB}}},aq=class e{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=vV.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let r=[];this.changes.iterChangedRanges((e,t,n,i)=>r.push(new iq(e,t,n,i))),this.changedRanges=r}static create(t,n,r){return new e(t,n,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},oq=class extends eK{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=uK.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new mK],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new iq(0,0,0,e.state.doc.length)],0,null)}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every(({fromA:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(this.domChanged?.newSel?n=this.domChanged.newSel.head:!kU(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let r=n>-1?TU(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:n,to:r}=this.hasComposition;t=new iq(n,r,e.changes.mapPos(n,-1),e.changes.mapPos(r,1)).addToSet(t.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(JG.ie||JG.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=this.decorations,a=DU(i,this.updateDeco(),e.changes);return t=iq.extendWithRanges(t,a),!(this.flags&7)&&t.length==0?!1:(this.updateInner(t,e.startState.doc.length,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+`px`,this.dom.style.flexBasis=this.minWidth?this.minWidth+`px`:``;let e=JG.chrome||JG.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||r.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=``}),this.markedForComposition.forEach(e=>e.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof hK&&e.widget instanceof gK&&i.push(e.dom);r.updateGaps(i)}updateChildren(e,t,n){let r=n?n.range.addToSet(e.slice()):e,i=this.childCursor(t);for(let e=r.length-1;;e--){let t=e>=0?r[e]:null;if(!t)break;let{fromA:a,toA:o,fromB:s,toB:c}=t,l,u,d,f;if(n&&n.range.fromB<c&&n.range.toB>s){let e=_K.build(this.view.state.doc,s,n.range.fromB,this.decorations,this.dynamicDecorationMap),t=_K.build(this.view.state.doc,n.range.toB,c,this.decorations,this.dynamicDecorationMap);u=e.breakAtStart,d=e.openStart,f=t.openEnd;let r=this.compositionView(n);t.breakAtStart?r.breakAfter=1:t.content.length&&r.merge(r.length,r.length,t.content[0],!1,t.openStart,0)&&(r.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&r.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),l=e.content.concat(r).concat(t.content)}else({content:l,breakAtStart:u,openStart:d,openEnd:f}=_K.build(this.view.state.doc,s,c,this.decorations,this.dynamicDecorationMap));let{i:p,off:m}=i.findPos(o,1),{i:h,off:g}=i.findPos(a,-1);KH(this,h,g,p,m,l,u,d,f)}n&&this.fixCompositionDOM(n)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let e of t.effects)e.is(WK)&&(this.editContextFormatting=e.value)}compositionView(e){let t=new rK(e.text.nodeValue);t.flags|=8;for(let{deco:n}of e.marks)t=new iK(n,[t],t.length);let n=new mK;return n.append(t,0),n}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8|!!t.children.some(e=>e.flags&7),this.markedForComposition.add(t);let n=eK.get(e);n&&n!=t&&(n.dom=null),t.setDOM(e)},n=this.childPos(e.range.fromB,1),r=this.children[n.i];t(e.line,r);for(let i=e.marks.length-1;i>=-1;i--)n=r.childPos(n.off,1),r=r.children[n.i],t(i>=0?e.marks[i].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let n=this.view.root.activeElement,r=n==this.dom,i=!r&&!(this.view.state.facet(GK)||this.dom.tabIndex>-1)&&wH(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(r||t||i))return;let a=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,s=this.moveToLine(this.domAtPos(o.anchor)),c=o.empty?s:this.moveToLine(this.domAtPos(o.head));if(JG.gecko&&o.empty&&!this.hasComposition&&CU(s)){let e=document.createTextNode(``);this.view.observer.ignore(()=>s.node.insertBefore(e,s.node.childNodes[s.offset]||null)),s=c=new QG(e,0),a=!0}let l=this.view.observer.selectionRange;(a||!l.focusNode||(!EH(s.node,s.offset,l.anchorNode,l.anchorOffset)||!EH(c.node,c.offset,l.focusNode,l.focusOffset))&&!this.suppressWidgetCursorChange(l,o))&&(this.view.observer.ignore(()=>{JG.android&&JG.chrome&&this.dom.contains(l.focusNode)&&OU(l.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=SH(this.view.root);if(e)if(o.empty){if(JG.gecko){let e=EU(s.node,s.offset);if(e&&e!=3){let t=(e==1?UH:WH)(s.node,s.offset);t&&(s=new QG(t.node,t.offset))}}e.collapse(s.node,s.offset),o.bidiLevel!=null&&e.caretBidiLevel!==void 0&&(e.caretBidiLevel=o.bidiLevel)}else if(e.extend){e.collapse(s.node,s.offset);try{e.extend(c.node,c.offset)}catch{}}else{let t=document.createRange();o.anchor>o.head&&([s,c]=[c,s]),t.setEnd(c.node,c.offset),t.setStart(s.node,s.offset),e.removeAllRanges(),e.addRange(t)}i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(s,c)),this.impreciseAnchor=s.precise?null:new QG(l.anchorNode,l.anchorOffset),this.impreciseHead=c.precise?null:new QG(l.focusNode,l.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&EH(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=SH(e.root),{anchorNode:r,anchorOffset:i}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let a=mK.find(this,t.head);if(!a)return;let o=a.posAtStart;if(t.head==o||t.head==o+a.length)return;let s=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!s||!c||s.bottom>c.top)return;let l=this.domAtPos(t.head+t.assoc);n.collapse(l.node,l.offset),n.modify(`move`,t.assoc<0?`forward`:`backward`,`lineboundary`),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&n.collapse(r,i)}moveToLine(e){let t=this.dom,n;if(e.node!=t)return e;for(let r=e.offset;!n&&r<t.childNodes.length;r++){let e=eK.get(t.childNodes[r]);e instanceof mK&&(n=e.domAtPos(0))}for(let r=e.offset-1;!n&&r>=0;r--){let e=eK.get(t.childNodes[r]);e instanceof mK&&(n=e.domAtPos(e.length))}return n?new QG(n.node,n.offset,!0):e}nearest(e){for(let t=e;t;){let e=eK.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw RangeError(`Trying to find position for a DOM position outside of the document`);return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(n<e.length||e instanceof mK)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){let n=null,r=0;for(let i=this.length,a=this.children.length-1;a>=0;a--){let o=this.children[a],s=i-o.breakAfter,c=s-o.length;if(s<e)break;if(c<=e&&(c<e||o.covers(-1))&&(s>e||o.covers(1))&&(!n||o instanceof mK&&!(n instanceof mK&&t>=0)))n=o,r=c;else if(n&&c==e&&s==e&&o instanceof hK&&Math.abs(t)<2){if(o.deco.startSide<0)break;a&&(n=null)}i=c}return n?n.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),r=this.children[t];if(!(r instanceof mK))return null;for(;r.children.length;){let{i:e,off:t}=r.childPos(n,1);for(;;e++){if(e==r.children.length)return null;if((r=r.children[e]).length)break}n=t}if(!(r instanceof rK))return null;let i=xB(r.text,n);if(i==n)return null;let a=LH(r.dom,n,i).getClientRects();for(let e=0;e<a.length;e++){let t=a[e];if(e==a.length-1||t.top<t.bottom&&t.left<t.right)return t}return null}measureVisibleLineHeights(e){let t=[],{from:n,to:r}=e,i=this.view.contentDOM.clientWidth,a=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,s=this.view.textDirection==yK.LTR;for(let e=0,c=0;c<this.children.length;c++){let l=this.children[c],u=e+l.length;if(u>r)break;if(e>=n){let n=l.dom.getBoundingClientRect();if(t.push(n.height),a){let t=l.dom.lastChild,r=t?TH(t):[];if(r.length){let t=r[r.length-1],a=s?t.right-n.left:n.right-t.left;a>o&&(o=a,this.minWidth=i,this.minWidthFrom=e,this.minWidthTo=u)}}}e=u+l.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction==`rtl`?yK.RTL:yK.LTR}measureTextSize(){for(let e of this.children)if(e instanceof mK){let t=e.measureTextSize();if(t)return t}let e=document.createElement(`div`),t,n,r;return e.className=`cm-line`,e.style.width=`99999px`,e.style.position=`absolute`,e.textContent=`abc def ghi jkl mno pqr stu`,this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=TH(e.firstChild)[0];t=e.getBoundingClientRect().height,n=i?i.width/27:7,r=i?i.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new tK(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let i=r==t.viewports.length?null:t.viewports[r],a=i?i.from-1:this.length;if(a>n){let r=(t.lineBlockAt(a).bottom-t.lineBlockAt(n).top)/this.view.scaleY;e.push(uK.replace({widget:new gK(r),block:!0,inclusive:!0,isBlockGap:!0}).range(n,a))}if(!i)break;n=i.to+1}return uK.set(e)}updateDeco(){let e=1,t=this.view.state.facet(QK).map(t=>(this.dynamicDecorationMap[e++]=typeof t==`function`)?t(this.view):t),n=!1,r=this.view.state.facet($K).map((e,t)=>{let r=typeof e==`function`;return r&&(n=!0),r?e(this.view):e});for(r.length&&(this.dynamicDecorationMap[e++]=n,t.push(QV.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=t.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let t of this.view.state.facet(VK))try{if(t(this.view,e.range,e))return!0}catch(e){bU(this.view.state,e,`scroll handler`)}let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!n)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,r.left),top:Math.min(n.top,r.top),right:Math.max(n.right,r.right),bottom:Math.max(n.bottom,r.bottom)});let i=SU(this.view),a={left:n.left-i.left,top:n.top-i.top,right:n.right+i.right,bottom:n.bottom+i.bottom},{offsetWidth:o,offsetHeight:s}=this.view.scrollDOM;PH(this.view.scrollDOM,a,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,o),-o),Math.max(Math.min(e.yMargin,s),-s),this.view.textDirection==yK.LTR)}lineHasWidget(e){let{i:t}=this.childCursor().findPos(e);if(t==this.children.length)return!1;let n=e=>e instanceof aK||e.children.some(n);return n(this.children[t])}},sq=class{constructor(){this.changes=[]}compareRange(e,t){oU(e,t,this.changes)}comparePoint(e,t){oU(e,t,this.changes)}boundChange(e){oU(e,e,this.changes)}},cq=`￿`,lq=class{constructor(e,t){this.points=e,this.text=``,this.lineSeparator=t.facet(JV.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=cq}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r);let e=this.text.length;this.readNode(r);let i=r.nextSibling;if(i==t)break;let a=eK.get(r),o=eK.get(i);(a&&o?a.breakAfter:(a?a.breakAfter:OH(r))||OH(i)&&(r.nodeName!=`BR`||r.cmIgnore)&&this.text.length>e)&&!QU(i,t)&&this.lineBreak(),r=i}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,a=1,o;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,n),a=this.lineSeparator.length):(o=r.exec(t))&&(i=o.index,a=o[0].length),this.append(t.slice(n,i<0?t.length:i)),i<0)break;if(this.lineBreak(),a>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=a-1);n=i+a}}readNode(e){if(e.cmIgnore)return;let t=eK.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let e=n.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName==`BR`?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+(ZU(e,n.node,n.offset)?t:0))}},uq=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},dq=class{constructor(e,t,n,r){this.typeOver=r,this.bounds=null,this.text=``,this.domChanged=t>-1;let{impreciseHead:i,impreciseAnchor:a}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let t=i||a?[]:rW(e),n=new lq(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=iW(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=i&&i.node==t.focusNode&&i.offset==t.focusOffset||!CH(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),r=a&&a.node==t.anchorNode&&a.offset==t.anchorOffset||!CH(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),o=e.viewport;if((JG.ios||JG.chrome)&&e.state.selection.main.empty&&n!=r&&(o.from>0||o.to<e.state.doc.length)){let t=Math.min(n,r),i=Math.max(n,r),a=o.from-t,s=o.to-i;(a==0||a==1||t==0)&&(s==0||s==-1||i==e.state.doc.length)&&(n=0,r=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(Z.range(r,n)):this.newSel=Z.single(r,n)}}},fq=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText=``,this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,JG.safari&&e.contentDOM.addEventListener(`input`,()=>null),JG.gecko&&DW(e.contentDOM.ownerDocument)}handleEvent(e){!fW(this.view,e)||this.ignoreDuringComposition(e)||e.type==`keydown`&&this.keydown(e)||(this.view.updateState==0?this.runHandlers(e.type,e):Promise.resolve().then(()=>this.runHandlers(e.type,e)))}runHandlers(e,t){let n=this.handlers[e];if(n){for(let e of n.observers)e(this.view,t);for(let e of n.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=oW(e),n=this.handlers,r=this.view.contentDOM;for(let e in t)if(e!=`scroll`){let i=!t[e].handlers.length,a=n[e];a&&i!=!a.handlers.length&&(r.removeEventListener(e,this.handleEvent),a=null),a||r.addEventListener(e,this.handleEvent,{passive:i})}for(let e in n)e!=`scroll`&&!t[e]&&r.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&hq.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),JG.android&&JG.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return JG.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=pq.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||mq.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key==`Enter`&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,RH(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:JG.safari&&!JG.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}},pq=[{key:`Backspace`,keyCode:8,inputType:`deleteContentBackward`},{key:`Enter`,keyCode:13,inputType:`insertParagraph`},{key:`Enter`,keyCode:13,inputType:`insertLineBreak`},{key:`Delete`,keyCode:46,inputType:`deleteContentForward`}],mq=`dthko`,hq=[16,17,18,20,91,92,224,225],gq=6,_q=class{constructor(e,t,n,r){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=FH(e.contentDOM),this.atoms=e.state.facet(eq).map(t=>t(e));let i=e.contentDOM.ownerDocument;i.addEventListener(`mousemove`,this.move=this.move.bind(this)),i.addEventListener(`mouseup`,this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(JV.allowMultipleSelections)&&lW(e,t),this.dragging=dW(e,t)&&yW(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&cW(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,n=0,r=0,i=0,a=this.view.win.innerWidth,o=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:a}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:i,bottom:o}=this.scrollParents.y.getBoundingClientRect());let s=SU(this.view);e.clientX-s.left<=r+gq?t=-sW(r-e.clientX):e.clientX+s.right>=a-gq&&(t=sW(e.clientX-a)),e.clientY-s.top<=i+gq?n=-sW(i-e.clientY):e.clientY+s.bottom>=o-gq&&(n=sW(e.clientY-o)),this.setScrollSpeed(t,n)}up(e){this.dragging??this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener(`mousemove`,this.move),e.removeEventListener(`mouseup`,this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,n=YU(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:n,userEvent:`select.pointer`}),this.mustSelect=!1}update(e){e.transactions.some(e=>e.isUserEvent(`input.type`))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}},vq=Object.create(null),yq=Object.create(null),bq=JG.ie&&JG.ie_version<15||JG.ios&&JG.webkit_version<604,yq.scroll=e=>{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},vq.keydown=(e,t)=>(e.inputState.setSelectionOrigin(`select`),t.keyCode==27&&e.inputState.tabFocusMode!=0&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),yq.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin(`select.pointer`)},yq.touchmove=e=>{e.inputState.setSelectionOrigin(`select.pointer`)},vq.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let r of e.state.facet(MK))if(n=r(e,t),n)break;if(!n&&t.button==0&&(n=bW(e,t)),n){let r=!e.hasFocus;e.inputState.startMouseSelection(new _q(e,t,n,r)),r&&e.observer.ignore(()=>{IH(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let i=e.inputState.mouseSelection;if(i)return i.start(t),i.dragging===!1}else e.inputState.setSelectionOrigin(`select.pointer`);return!1},xq=(e,t,n)=>t>=n.top&&t<=n.bottom&&e>=n.left&&e<=n.right,Sq=JG.ie&&JG.ie_version<=11,Cq=null,wq=0,Tq=0,vq.dragstart=(e,t)=>{let{selection:{main:n}}=e.state;if(t.target.draggable){let r=e.docView.nearest(t.target);if(r&&r.isWidget){let e=r.posAtStart,t=e+r.length;(e>=n.to||t<=n.from)&&(n=Z.range(e,t))}}let{inputState:r}=e;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,t.dataTransfer&&(t.dataTransfer.setData(`Text`,mW(e.state,RK,e.state.sliceDoc(n.from,n.to))),t.dataTransfer.effectAllowed=`copyMove`),!1},vq.dragend=e=>(e.inputState.draggedContent=null,!1),vq.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let n=t.dataTransfer.files;if(n&&n.length){let r=Array(n.length),i=0,a=()=>{++i==n.length&&SW(e,t,r.filter(e=>e!=null).join(e.state.lineBreak),!1)};for(let e=0;e<n.length;e++){let t=new FileReader;t.onerror=a,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(r[e]=t.result),a()},t.readAsText(n[e])}return!0}else{let n=t.dataTransfer.getData(`Text`);if(n)return SW(e,t,n,!0),!0}return!1},vq.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let n=bq?null:t.clipboardData;return n?(hW(e,n.getData(`text/plain`)||n.getData(`text/uri-list`)),!0):(pW(e),!1)},Eq=null,vq.copy=vq.cut=(e,t)=>{let{text:n,ranges:r,linewise:i}=wW(e.state);if(!n&&!i)return!1;Eq=i?n:null,t.type==`cut`&&!e.state.readOnly&&e.dispatch({changes:r,scrollIntoView:!0,userEvent:`delete.cut`});let a=bq?null:t.clipboardData;return a?(a.clearData(),a.setData(`text/plain`,n),!0):(CW(e,n),!1)},Dq=zV.define(),yq.focus=e=>{e.inputState.lastFocusTime=Date.now(),!e.scrollDOM.scrollTop&&(e.inputState.lastScrollTop||e.inputState.lastScrollLeft)&&(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),EW(e)},yq.blur=e=>{e.observer.clearSelectionRange(),EW(e)},yq.compositionstart=yq.compositionupdate=e=>{e.observer.editContext||(e.inputState.compositionFirstChange??(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},yq.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,JG.chrome&&JG.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},yq.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},vq.beforeinput=(e,t)=>{if((t.inputType==`insertText`||t.inputType==`insertCompositionText`)&&(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),t.inputType==`insertReplacementText`&&e.observer.editContext){let n=t.dataTransfer?.getData(`text/plain`),r=t.getTargetRanges();if(n&&r.length){let t=r[0];return eW(e,{from:e.posAtDOM(t.startContainer,t.startOffset),to:e.posAtDOM(t.endContainer,t.endOffset),insert:e.state.toText(n)},null),!0}}let n;if(JG.chrome&&JG.android&&(n=pq.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(n.key,n.keyCode),n.key==`Backspace`||n.key==`Delete`)){let t=window.visualViewport?.height||0;setTimeout(()=>{(window.visualViewport?.height||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return JG.ios&&t.inputType==`deleteContentForward`&&e.observer.flushSoon(),JG.safari&&t.inputType==`insertText`&&e.inputState.composing>=0&&setTimeout(()=>yq.compositionend(e,t),20),!1},Oq=new Set,kq=[`pre-wrap`,`normal`,`pre-line`,`break-spaces`],Aq=!1,jq=class{constructor(e){this.lineWrapping=e,this.doc=cV.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return kq.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];r<0?n++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,n,r,i,a){let o=kq.indexOf(e)>-1,s=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=n,this.textHeight=r,this.lineLength=i,s){this.heightSamples={};for(let e=0;e<a.length;e++){let t=a[e];t<0?e++:this.heightSamples[Math.floor(t*10)]=!0}}return s}},Mq=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},Nq=class e{constructor(e,t,n,r,i){this.from=e,this.length=t,this.top=n,this.height=r,this._content=i}get type(){return typeof this._content==`number`?lK.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof pK?this._content.widget:null}get widgetLineBreaks(){return typeof this._content==`number`?this._content:0}join(t){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new e(this.from,this.length+t.length,this.top,this.height+t.height,n)}},Pq=(function(e){return e[e.ByPos=0]=`ByPos`,e[e.ByHeight=1]=`ByHeight`,e[e.ByPosNoHeight=2]=`ByPosNoHeight`,e})(Pq||(Pq={})),Fq=.001,Iq=class e{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Fq&&(Aq=!0),this.height=e)}replace(t,n,r){return e.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let i=this,a=n.doc;for(let o=r.length-1;o>=0;o--){let{fromA:s,toA:c,fromB:l,toB:u}=r[o],d=i.lineAt(s,Pq.ByPosNoHeight,n.setDoc(t),0,0),f=d.to>=c?d:i.lineAt(c,Pq.ByPosNoHeight,n,0,0);for(u+=f.to-c,c=f.to;o>0&&d.from<=r[o-1].toA;)s=r[o-1].fromA,l=r[o-1].fromB,o--,s<d.from&&(d=i.lineAt(s,Pq.ByPosNoHeight,n,0,0));l+=d.from-s,s=d.from;let p=Hq.build(n.setDoc(a),e,l,u);i=kW(i,i.replace(s,c,p))}return i.updateHeight(n,0)}static empty(){return new Rq(0,0)}static of(t){if(t.length==1)return t[0];let n=0,r=t.length,i=0,a=0;for(;;)if(n==r)if(i>a*2){let e=t[n-1];e.break?t.splice(--n,1,e.left,null,e.right):t.splice(--n,1,e.left,e.right),r+=1+e.break,i-=e.size}else if(a>i*2){let e=t[r];e.break?t.splice(r,1,e.left,null,e.right):t.splice(r,1,e.left,e.right),r+=2+e.break,a-=e.size}else break;else if(i<a){let e=t[n++];e&&(i+=e.size)}else{let e=t[--r];e&&(a+=e.size)}let o=0;return t[n-1]==null?(o=1,n--):t[n]??(o=1,r++),new Bq(e.of(t.slice(0,n)),o,e.of(t.slice(r)))}},Iq.prototype.size=1,Lq=class extends Iq{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,r){return new Nq(r,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,r,i){return this.blockAt(0,n,r,i)}forEachLine(e,t,n,r,i,a){e<=i+this.length&&t>=i&&a(this.blockAt(0,n,r,i))}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more&&this.setHeight(r.heights[r.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},Rq=class e extends Lq{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,r){return new Nq(r,this.length,n,this.height,this.breaks)}replace(t,n,r){let i=r[0];return r.length==1&&(i instanceof e||i instanceof zq&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof zq?i=new e(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):Iq.of(r)}updateHeight(e,t=0,n=!1,r){return r&&r.from<=t&&r.more?this.setHeight(r.heights[r.index++]):(n||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:``}${this.widgetHeight?`:`+this.widgetHeight:``})`}},zq=class e extends Iq{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,i=r-n+1,a,o=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*i);a=t/i,this.length>i+1&&(o=(this.height-t)/(this.length-i-1))}else a=this.height/i;return{firstLine:n,lastLine:r,perLine:a,perChar:o}}blockAt(e,t,n,r){let{firstLine:i,lastLine:a,perLine:o,perChar:s}=this.heightMetrics(t,r);if(t.lineWrapping){let i=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length)),a=t.doc.lineAt(i),c=o+a.length*s,l=Math.max(n,e-c/2);return new Nq(a.from,a.length,l,c,0)}else{let r=Math.max(0,Math.min(a-i,Math.floor((e-n)/o))),{from:s,length:c}=t.doc.line(i+r);return new Nq(s,c,n+o*r,o,0)}}lineAt(e,t,n,r,i){if(t==Pq.ByHeight)return this.blockAt(e,n,r,i);if(t==Pq.ByPosNoHeight){let{from:t,to:r}=n.doc.lineAt(e);return new Nq(t,r-t,0,0,0)}let{firstLine:a,perLine:o,perChar:s}=this.heightMetrics(n,i),c=n.doc.lineAt(e),l=o+c.length*s,u=c.number-a,d=r+o*u+s*(c.from-i-u);return new Nq(c.from,c.length,Math.max(r,Math.min(d,r+this.height-l)),l,0)}forEachLine(e,t,n,r,i,a){e=Math.max(e,i),t=Math.min(t,i+this.length);let{firstLine:o,perLine:s,perChar:c}=this.heightMetrics(n,i);for(let l=e,u=r;l<=t;){let t=n.doc.lineAt(l);if(l==e){let n=t.number-o;u+=s*n+c*(e-i-n)}let r=s+c*t.length;a(new Nq(t.from,t.length,u,r,0)),u+=r,l=t.to+1}}replace(t,n,r){let i=this.length-n;if(i>0){let t=r[r.length-1];t instanceof e?r[r.length-1]=new e(t.length+i):r.push(null,new e(i-1))}if(t>0){let n=r[0];n instanceof e?r[0]=new e(t+n.length):r.unshift(new e(t-1),null)}return Iq.of(r)}decomposeLeft(t,n){n.push(new e(t-1),null)}decomposeRight(t,n){n.push(null,new e(this.length-t-1))}updateHeight(t,n=0,r=!1,i){let a=n+this.length;if(i&&i.from<=n+this.length&&i.more){let r=[],o=Math.max(n,i.from),s=-1;for(i.from>n&&r.push(new e(i.from-n-1).updateHeight(t,n));o<=a&&i.more;){let e=t.doc.lineAt(o).length;r.length&&r.push(null);let n=i.heights[i.index++];s==-1?s=n:Math.abs(n-s)>=Fq&&(s=-2);let a=new Rq(e,n);a.outdated=!1,r.push(a),o+=e+1}o<=a&&r.push(null,new e(a-o).updateHeight(t,o));let c=Iq.of(r);return(s<0||Math.abs(c.height-this.height)>=Fq||Math.abs(s-this.heightMetrics(t,n).perLine)>=Fq)&&(Aq=!0),kW(this,c)}else(r||this.outdated)&&(this.setHeight(t.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Bq=class extends Iq{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,r){let i=n+this.left.height;return e<i?this.left.blockAt(e,t,n,r):this.right.blockAt(e,t,i,r+this.left.length+this.break)}lineAt(e,t,n,r,i){let a=r+this.left.height,o=i+this.left.length+this.break,s=t==Pq.ByHeight?e<a:e<o,c=s?this.left.lineAt(e,t,n,r,i):this.right.lineAt(e,t,n,a,o);if(this.break||(s?c.to<o:c.from>o))return c;let l=t==Pq.ByPosNoHeight?Pq.ByPosNoHeight:Pq.ByPos;return s?c.join(this.right.lineAt(o,l,n,a,o)):this.left.lineAt(o,l,n,r,i).join(c)}forEachLine(e,t,n,r,i,a){let o=r+this.left.height,s=i+this.left.length+this.break;if(this.break)e<s&&this.left.forEachLine(e,t,n,r,i,a),t>=s&&this.right.forEachLine(e,t,n,o,s,a);else{let c=this.lineAt(s,Pq.ByPos,n,r,i);e<c.from&&this.left.forEachLine(e,c.from-1,n,r,i,a),c.to>=e&&c.from<=t&&a(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,o,s,a)}}replace(e,t,n){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let i=[];e>0&&this.decomposeLeft(e,i);let a=i.length;for(let e of n)i.push(e);if(e>0&&AW(i,a-1),t<this.length){let e=i.length;this.decomposeRight(t,i),AW(i,e)}return Iq.of(i)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Iq.of(this.break?[e,null,t]:[e,t]):(this.left=kW(this.left,e),this.right=kW(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,r){let{left:i,right:a}=this,o=t+i.length+this.break,s=null;return r&&r.from<=t+i.length&&r.more?s=i=i.updateHeight(e,t,n,r):i.updateHeight(e,t,n),r&&r.from<=o+a.length&&r.more?s=a=a.updateHeight(e,o,n,r):a.updateHeight(e,o,n),s?this.balanced(i,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?` `:`-`)+this.right}},Vq=5,Hq=class e{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof Rq?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Rq(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let r=n.widget?n.widget.estimatedHeight:0,i=n.widget?n.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let a=t-e;n.block?this.addBlock(new Lq(a,r,n)):(a||i||r>=Vq)&&this.addLineDeco(r,i,a)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Rq(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new zq(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Rq)return e;let t=new Rq(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos+=e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,n){let r=this.ensureLine();r.length+=n,r.collapsed+=n,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos+=n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Rq)&&!this.isCovered?this.nodes.push(new Rq(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let e of this.nodes)e instanceof Rq&&e.updateHeight(this.oracle,n),n+=e?e.length:1;return this.nodes}static build(t,n,r,i){let a=new e(r,t);return QV.spans(n,r,i,a,0),a.finish(r)}},Uq=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,r){(e<t||n&&n.heightRelevant||r&&r.heightRelevant)&&oU(e,t,this.changes,5)}},Wq=class{constructor(e,t,n,r){this.from=e,this.to=t,this.size=n,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r.from!=i.from||r.to!=i.to||r.size!=i.size)return!1}return!0}draw(e,t){return uK.replace({widget:new Gq(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}},Gq=class extends cK{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement(`div`);return this.vertical?e.style.height=this.size+`px`:(e.style.width=this.size+`px`,e.style.height=`2px`,e.style.display=`inline-block`),e}get estimatedHeight(){return this.vertical?this.size:-1}},Kq=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Jq,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=yK.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(ZK).some(e=>typeof e!=`function`&&e.class==`cm-lineWrapping`);this.heightOracle=new jq(t),this.stateDeco=e.facet(QK).filter(e=>typeof e!=`function`),this.heightMap=Iq.empty().applyChanges(this.stateDeco,cV.empty,this.heightOracle.setDoc(e.doc),[new iq(0,0,0,e.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=uK.set(this.lineGaps.map(e=>e.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>r>=e&&r<=t)){let{from:t,to:n}=this.lineBlockAt(r);e.push(new qq(t,n))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Jq:new Yq(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(zW(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(QK).filter(e=>typeof e!=`function`);let r=e.changedRanges,i=iq.extendWithRanges(r,jW(n,this.stateDeco,e?e.changes:vV.empty(this.state.doc.length))),a=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);OW(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=a||Aq)&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=a);let s=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<s.from||t.range.head>s.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,t));let c=s.from!=this.viewport.from||s.to!=this.viewport.to;this.viewport=s,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(BK)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),r=this.heightOracle,i=n.whiteSpace;this.defaultTextDirection=n.direction==`rtl`?yK.RTL:yK.LTR;let a=this.heightOracle.mustRefreshForWrapping(i),o=t.getBoundingClientRect(),s=a||this.mustMeasureContent||this.contentDOMHeight!=o.height;this.contentDOMHeight=o.height,this.mustMeasureContent=!1;let c=0,l=0;if(o.width&&o.height){let{scaleX:e,scaleY:n}=NH(t,o);(e>.005&&Math.abs(this.scaleX-e)>.005||n>.005&&Math.abs(this.scaleY-n)>.005)&&(this.scaleX=e,this.scaleY=n,c|=16,a=s=!0)}let u=(parseInt(n.paddingTop)||0)*this.scaleY,d=(parseInt(n.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=d)&&(this.paddingTop=u,this.paddingBottom=d,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(s=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let f=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=f&&(this.scrollAnchorHeight=-1,this.scrollTop=f),this.scrolledToBottom=HH(e.scrollDOM);let p=(this.printing?PW:MW)(t,this.paddingTop),m=p.top-this.pixelViewport.top,h=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(s=!0)),!this.inView&&!this.scrollTarget&&!NW(e.dom))return 0;let _=o.width;if((this.contentDOMWidth!=_||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=o.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),s){let t=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(t)&&(a=!0),a||r.lineWrapping&&Math.abs(_-this.contentDOMWidth)>r.charWidth){let{lineHeight:n,charWidth:o,textHeight:s}=e.docView.measureTextSize();a=n>0&&r.refresh(i,n,o,s,Math.max(5,_/o),t),a&&(e.docView.minWidth=0,c|=16)}m>0&&h>0?l=Math.max(m,h):m<0&&h<0&&(l=Math.min(m,h)),OW();for(let n of this.viewports){let i=n.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(n);this.heightMap=(a?Iq.empty().applyChanges(this.stateDeco,cV.empty,this.heightOracle,[new iq(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,a,new Mq(n.from,i))}Aq&&(c|=2)}let v=!this.viewportIsAppropriate(this.viewport,l)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return v&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(l,this.scrollTarget),c|=this.updateForViewport()),(c&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(a?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,i=this.heightOracle,{visibleTop:a,visibleBottom:o}=this,s=new qq(r.lineAt(a-n*1e3,Pq.ByHeight,i,0,0).from,r.lineAt(o+(1-n)*1e3,Pq.ByHeight,i,0,0).to);if(t){let{head:e}=t.range;if(e<s.from||e>s.to){let n=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),a=r.lineAt(e,Pq.ByPos,i,0,0),o;o=t.y==`center`?(a.top+a.bottom)/2-n/2:t.y==`start`||t.y==`nearest`&&e<s.from?a.top:a.bottom-n,s=new qq(r.lineAt(o-1e3/2,Pq.ByHeight,i,0,0).from,r.lineAt(o+n+1e3/2,Pq.ByHeight,i,0,0).to)}}return s}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new qq(this.heightMap.lineAt(n,Pq.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Pq.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Pq.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(t,Pq.ByPos,this.heightOracle,0,0),{visibleTop:a,visibleBottom:o}=this;return(e==0||r<=a-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||i>=o+Math.max(10,Math.min(n,250)))&&r>a-2*1e3&&i<o+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let r of e)t.touchesRange(r.from,r.to)||n.push(new Wq(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,r=n?1e4:2e3,i=r>>1,a=r<<1;if(this.defaultTextDirection!=yK.LTR&&!n)return[];let o=[],s=(r,a,c,l)=>{if(a-r<i)return;let u=this.state.selection.main,d=[u.from];u.empty||d.push(u.to);for(let e of d)if(e>r&&e<a){s(r,e-10,c,l),s(e+10,a,c,l);return}let f=RW(e,e=>e.from>=c.from&&e.to<=c.to&&Math.abs(e.from-r)<i&&Math.abs(e.to-a)<i&&!d.some(t=>e.from<t&&e.to>t));if(!f){if(a<c.to&&t&&n&&t.visibleRanges.some(e=>e.from<=a&&e.to>=a)){let e=t.moveToLineBoundary(Z.cursor(a),!1,!0).head;e>r&&(a=e)}let e=this.gapSize(c,r,a,l);f=new Wq(r,a,e,n||e<2e6?e:2e6)}o.push(f)},c=t=>{if(t.length<a||t.type!=lK.Text)return;let i=FW(t.from,t.to,this.stateDeco);if(i.total<a)return;let o=this.scrollTarget?this.scrollTarget.range.head:null,c,l;if(n){let e=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,n,a;if(o!=null){let r=LW(i,o),s=((this.visibleBottom-this.visibleTop)/2+e)/t.height;n=r-s,a=r+s}else n=(this.visibleTop-t.top-e)/t.height,a=(this.visibleBottom-t.top+e)/t.height;c=IW(i,n),l=IW(i,a)}else{let n=i.total*this.heightOracle.charWidth,a=r*this.heightOracle.charWidth,s=0;if(n>2e6)for(let n of e)n.from>=t.from&&n.from<t.to&&n.size!=n.displaySize&&n.from*this.heightOracle.charWidth+s<this.pixelViewport.left&&(s=n.size-n.displaySize);let u=this.pixelViewport.left+s,d=this.pixelViewport.right+s,f,p;if(o!=null){let e=LW(i,o),t=((d-u)/2+a)/n;f=e-t,p=e+t}else f=(u-a)/n,p=(d+a)/n;c=IW(i,f),l=IW(i,p)}c>t.from&&s(t.from,c,t,i),l<t.to&&s(l,t.to,t,i)};for(let e of this.viewportLines)Array.isArray(e.type)?e.type.forEach(c):c(e);return o}gapSize(e,t,n,r){let i=LW(r,n)-LW(r,t);return this.heightOracle.lineWrapping?e.height*i:r.total*this.heightOracle.charWidth*i}updateLineGaps(e){Wq.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=uK.set(e.map(e=>e.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let n=[];QV.spans(t,this.viewport.from,this.viewport.to,{span(e,t){n.push({from:e,to:t})},point(){}},20);let r=0;if(n.length!=this.visibleRanges.length)r=12;else for(let t=0;t<n.length&&!(r&8);t++){let i=this.visibleRanges[t],a=n[t];(i.from!=a.from||i.to!=a.to)&&(r|=4,e&&e.mapPos(i.from,-1)==a.from&&e.mapPos(i.to,1)==a.to||(r|=8))}return this.visibleRanges=n,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||zW(this.heightMap.lineAt(e,Pq.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||zW(this.heightMap.lineAt(this.scaler.fromDOM(e),Pq.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return zW(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},qq=class{constructor(e,t){this.from=e,this.to=t}},Jq={toDOM(e){return e},fromDOM(e){return e},scale:1,eq(e){return e==this}},Yq=class e{constructor(e,t,n){let r=0,i=0,a=0;this.viewports=n.map(({from:n,to:i})=>{let a=t.lineAt(n,Pq.ByPos,e,0,0).top,o=t.lineAt(i,Pq.ByPos,e,0,0).bottom;return r+=o-a,{from:n,to:i,top:a,bottom:o,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let e of this.viewports)e.domTop=a+(e.top-i)*this.scale,a=e.domBottom=e.domTop+(e.bottom-e.top),i=e.bottom}toDOM(e){for(let t=0,n=0,r=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.top)return r+(e-n)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);n=i.bottom,r=i.domBottom}}fromDOM(e){for(let t=0,n=0,r=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.domTop)return n+(e-r)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);n=i.bottom,r=i.domBottom}}eq(t){return t instanceof e&&this.scale==t.scale&&this.viewports.length==t.viewports.length&&this.viewports.every((e,n)=>e.from==t.viewports[n].from&&e.to==t.viewports[n].to)}},Xq=SV.define({combine:e=>e.join(` `)}),Zq=SV.define({combine:e=>e.indexOf(!0)>-1}),Qq=cH.newName(),$q=cH.newName(),eJ=cH.newName(),tJ={"&light":`.`+$q,"&dark":`.`+eJ},nJ=BW(`.`+Qq,{"&":{position:`relative !important`,boxSizing:`border-box`,"&.cm-focused":{outline:`1px dotted #212121`},display:`flex !important`,flexDirection:`column`},".cm-scroller":{display:`flex !important`,alignItems:`flex-start !important`,fontFamily:`monospace`,lineHeight:1.4,height:`100%`,overflowX:`auto`,position:`relative`,zIndex:0,overflowAnchor:`none`},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:`block`,whiteSpace:`pre`,wordWrap:`normal`,boxSizing:`border-box`,minHeight:`100%`,padding:`4px 0`,outline:`none`,"&[contenteditable=true]":{WebkitUserModify:`read-write-plaintext-only`}},".cm-lineWrapping":{whiteSpace_fallback:`pre-wrap`,whiteSpace:`break-spaces`,wordBreak:`break-word`,overflowWrap:`anywhere`,flexShrink:1},"&light .cm-content":{caretColor:`black`},"&dark .cm-content":{caretColor:`white`},".cm-line":{display:`block`,padding:`0 2px 0 6px`},".cm-layer":{position:`absolute`,left:0,top:0,contain:`size style`,"& > *":{position:`absolute`}},"&light .cm-selectionBackground":{background:`#d9d9d9`},"&dark .cm-selectionBackground":{background:`#222`},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:`#d7d4f0`},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:`#233`},".cm-cursorLayer":{pointerEvents:`none`},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:`steps(1) cm-blink 1.2s infinite`},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:`1.2px solid black`,marginLeft:`-0.6px`,pointerEvents:`none`},".cm-cursor":{display:`none`},"&dark .cm-cursor":{borderLeftColor:`#ddd`},".cm-dropCursor":{position:`absolute`},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:`block`},".cm-iso":{unicodeBidi:`isolate`},".cm-announced":{position:`fixed`,top:`-10000px`},"@media print":{".cm-announced":{display:`none`}},"&light .cm-activeLine":{backgroundColor:`#cceeff44`},"&dark .cm-activeLine":{backgroundColor:`#99eeff33`},"&light .cm-specialChar":{color:`red`},"&dark .cm-specialChar":{color:`#f78`},".cm-gutters":{flexShrink:0,display:`flex`,height:`100%`,boxSizing:`border-box`,zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:`#f5f5f5`,color:`#6c6c6c`,border:`0px solid #ddd`,"&.cm-gutters-before":{borderRightWidth:`1px`},"&.cm-gutters-after":{borderLeftWidth:`1px`}},"&dark .cm-gutters":{backgroundColor:`#333338`,color:`#ccc`},".cm-gutter":{display:`flex !important`,flexDirection:`column`,flexShrink:0,boxSizing:`border-box`,minHeight:`100%`,overflow:`hidden`},".cm-gutterElement":{boxSizing:`border-box`},".cm-lineNumbers .cm-gutterElement":{padding:`0 3px 0 5px`,minWidth:`20px`,textAlign:`right`,whiteSpace:`nowrap`},"&light .cm-activeLineGutter":{backgroundColor:`#e2f2ff`},"&dark .cm-activeLineGutter":{backgroundColor:`#222227`},".cm-panels":{boxSizing:`border-box`,position:`sticky`,left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:`#f5f5f5`,color:`black`},"&light .cm-panels-top":{borderBottom:`1px solid #ddd`},"&light .cm-panels-bottom":{borderTop:`1px solid #ddd`},"&dark .cm-panels":{backgroundColor:`#333338`,color:`white`},".cm-dialog":{padding:`2px 19px 4px 6px`,position:`relative`,"& label":{fontSize:`80%`}},".cm-dialog-close":{position:`absolute`,top:`3px`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,fontSize:`14px`,padding:`0`},".cm-tab":{display:`inline-block`,overflow:`hidden`,verticalAlign:`bottom`},".cm-widgetBuffer":{verticalAlign:`text-top`,height:`1em`,width:0,display:`inline`},".cm-placeholder":{color:`#888`,display:`inline-block`,verticalAlign:`top`,userSelect:`none`},".cm-highlightSpace":{backgroundImage:`radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)`,backgroundPosition:`center`},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:`auto 100%`,backgroundPosition:`right 90%`,backgroundRepeat:`no-repeat`},".cm-trailingSpace":{backgroundColor:`#ff332255`},".cm-button":{verticalAlign:`middle`,color:`inherit`,fontSize:`70%`,padding:`.2em 1em`,borderRadius:`1px`},"&light .cm-button":{backgroundImage:`linear-gradient(#eff1f5, #d9d9df)`,border:`1px solid #888`,"&:active":{backgroundImage:`linear-gradient(#b4b4b4, #d0d3d6)`}},"&dark .cm-button":{backgroundImage:`linear-gradient(#393939, #111)`,border:`1px solid #888`,"&:active":{backgroundImage:`linear-gradient(#111, #333)`}},".cm-textfield":{verticalAlign:`middle`,color:`inherit`,fontSize:`70%`,border:`1px solid silver`,padding:`.2em .5em`},"&light .cm-textfield":{backgroundColor:`white`},"&dark .cm-textfield":{border:`1px solid #555`,backgroundColor:`inherit`}},tJ),rJ={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},iJ=JG.ie&&JG.ie_version<=11,aJ=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new YG,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(JG.ie&&JG.ie_version<=11||JG.ios&&e.composing)&&t.some(e=>e.type==`childList`&&e.removedNodes.length||e.type==`characterData`&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&JG.android&&e.constructor.EDIT_CONTEXT!==!1&&!(JG.chrome&&JG.chrome_version<126)&&(this.editContext=new oJ(e),e.state.facet(GK)&&(e.contentDOM.editContext=this.editContext.editContext)),iJ&&(this.onCharData=e=>{this.queue.push({target:e.target,type:`characterData`,oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia(`print`)),typeof ResizeObserver==`function`&&(this.resizeScroll=new ResizeObserver(()=>{this.view.docView?.lastUpdate<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver==`function`&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent(`Event`)))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent(`Event`))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers(`scroll`,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type==`change`||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,r=this.selectionRange;if(n.state.facet(GK)?n.root.activeElement!=this.dom:!wH(this.dom,r))return;let i=r.anchorNode&&n.docView.nearest(r.anchorNode);if(i&&i.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(JG.ie&&JG.ie_version<=11||JG.android&&JG.chrome)&&!n.state.selection.main.empty&&r.focusNode&&EH(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=SH(e.root);if(!t)return!1;let n=JG.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&UW(this.view,t)||t;if(!n||this.selectionRange.eq(n))return!1;let r=wH(this.dom,n);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&VH(this.dom,n)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(n),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener(`scroll`,this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener(`scroll`,this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,rJ),iJ&&this.dom.addEventListener(`DOMCharacterDataModified`,this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),iJ&&this.dom.removeEventListener(`DOMCharacterDataModified`,this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&RH(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}(!this.delayedAndroidKey||e==`Enter`)&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!this.delayedAndroidKey?.force})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,r=!1;for(let i of e){let e=this.readMutation(i);e&&(e.typeOver&&(r=!0),t==-1?{from:t,to:n}=e:(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:r}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),r=this.selectionChanged&&wH(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new dq(this.view,e,t,n);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let n=this.view.state,r=$U(this.view,t);return this.view.state==n&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type==`attributes`),e.type==`attributes`&&(t.flags|=4),e.type==`childList`){let n=VW(t,e.previousSibling||e.target.previousSibling,-1),r=VW(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else if(e.type==`characterData`)return{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue};else return null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener(`resize`,this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener(`change`,this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener(`beforeprint`,this.onPrint),e.addEventListener(`scroll`,this.onScroll),e.document.addEventListener(`selectionchange`,this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener(`scroll`,this.onScroll),e.removeEventListener(`resize`,this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener(`change`,this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener(`beforeprint`,this.onPrint),e.document.removeEventListener(`selectionchange`,this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(GK)!=e.state.facet(GK)&&(e.view.contentDOM.editContext=e.state.facet(GK)?this.editContext.editContext:null))}destroy(){var e,t,n;this.stop(),(e=this.intersection)==null||e.disconnect(),(t=this.gapIntersection)==null||t.disconnect(),(n=this.resizeScroll)==null||n.disconnect();for(let e of this.scrollTargets)e.removeEventListener(`scroll`,this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}},oJ=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=n=>{let r=e.state.selection.main,{anchor:i,head:a}=r,o=this.toEditorPos(n.updateRangeStart),s=this.toEditorPos(n.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:n.updateRangeStart,editorBase:o,drifted:!1});let c=s-o>n.text.length;o==this.from&&i<this.from?o=i:s==this.to&&i>this.to&&(s=i);let l=nW(e.state.sliceDoc(o,s),n.text,(c?r.from:r.to)-o,c?`end`:null);if(!l){let t=Z.single(this.toEditorPos(n.selectionStart),this.toEditorPos(n.selectionEnd));t.main.eq(r)||e.dispatch({selection:t,userEvent:`select`});return}let u={from:l.from+o,to:l.toA+o,insert:cV.of(n.text.slice(l.from,l.toB).split(`
`))};if((JG.mac||JG.android)&&u.from==a-1&&/^\. ?$/.test(n.text)&&e.contentDOM.getAttribute(`autocorrect`)==`off`&&(u={from:o,to:s,insert:cV.of([n.text.replace(`.`,` `)])}),this.pendingContextChange=u,!e.state.readOnly){let t=this.to-this.from+(u.to-u.from+u.insert.length);eW(e,u,Z.single(this.toEditorPos(n.selectionStart,t),this.toEditorPos(n.selectionEnd,t)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,n.updateRangeStart-1),Math.min(t.text.length,n.updateRangeStart+1)))&&this.handlers.compositionend(n)},this.handlers.characterboundsupdate=n=>{let r=[],i=null;for(let t=this.toEditorPos(n.rangeStart),a=this.toEditorPos(n.rangeEnd);t<a;t++){let n=e.coordsForChar(t);i=n&&new DOMRect(n.left,n.top,n.right-n.left,n.bottom-n.top)||i||new DOMRect,r.push(i)}t.updateCharacterBounds(n.rangeStart,r)},this.handlers.textformatupdate=t=>{let n=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,r=e.underlineThickness;if(!/none/i.test(t)&&!/none/i.test(r)){let i=this.toEditorPos(e.rangeStart),a=this.toEditorPos(e.rangeEnd);if(i<a){let e=`text-decoration: underline ${/^[a-z]/.test(t)?t+` `:t==`Dashed`?`dashed `:t==`Squiggle`?`wavy `:``}${/thin/i.test(r)?1:2}px`;n.push(uK.mark({attributes:{style:e}}).range(i,a))}}}e.dispatch({effects:WK.of(uK.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}};for(let e in this.handlers)t.addEventListener(e,this.handlers[e]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=SH(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,n=!1,r=this.pendingContextChange;return e.changes.iterChanges((i,a,o,s,c)=>{if(n)return;let l=c.length-(a-i);if(r&&a>=r.to)if(r.from==i&&r.to==a&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=l,this.to+=l;return}else r=null,this.revertPending(e.state);if(i+=t,a+=t,a<=this.from)this.from+=l,this.to+=l;else if(i<this.to){if(i<this.from||a>this.to||this.to-this.from+c.length>3e4){n=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(a),c.toString()),this.to+=l}t+=l}),r&&!n&&this.revertPending(e.state),!n}update(e){let t=this.pendingContextChange,n=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(n.from,n.to)&&e.transactions.some(e=>!e.isUserEvent(`input.type`)&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,n=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=n||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(n,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let n=this.composing;return n&&n.drifted?n.editorBase+(e-n.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},sJ=class e{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement(`div`),this.scrollDOM=document.createElement(`div`),this.scrollDOM.tabIndex=-1,this.scrollDOM.className=`cm-scroller`,this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement(`div`),this.announceDOM.className=`cm-announced`,this.announceDOM.setAttribute(`aria-live`,`polite`),this.dom=document.createElement(`div`),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:t}=e;this.dispatchTransactions=e.dispatchTransactions||t&&(e=>e.forEach(e=>t(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||zH(e.parent)||document,this.viewState=new Kq(e.state||JV.create(e)),e.scrollTo&&e.scrollTo.is(UK)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(qK).map(e=>new YK(e));for(let e of this.plugins)e.update(this);this.observer=new aJ(this),this.inputState=new fq(this),this.inputState.ensureHandlers(this.plugins),this.docView=new oq(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),document.fonts?.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof UV?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw Error(`Calls to EditorView.update are not allowed while an update is in progress`);let t=!1,n=!1,r,i=this.state;for(let t of e){if(t.startState!=i)throw RangeError(`Trying to update state with a transaction that doesn't start from the previous state.`);i=t.state}if(this.destroyed){this.viewState.state=i;return}let a=this.hasFocus,o=0,s=null;e.some(e=>e.annotation(Dq))?(this.inputState.notifiedFocused=a,o=1):a!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=a,s=TW(i,a),s||(o=1));let c=this.observer.delayedAndroidKey,l=null;if(c?(this.observer.clearDelayedAndroidKey(),l=this.observer.readChange(),(l&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(l=null)):this.observer.clear(),i.facet(JV.phrases)!=this.state.facet(JV.phrases))return this.setState(i);r=aq.create(this,i,e),r.flags|=o;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(u&&(u=u.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;u=new HK(e.empty?e:Z.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(UK)&&(u=e.value.clip(this.state))}this.viewState.update(r,u),this.bidiCache=uJ.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(rq)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(e=>e.isUserEvent(`select.pointer`)))}finally{this.updateState=0}if(r.startState.facet(Xq)!=r.state.facet(Xq)&&(this.viewState.mustMeasureContent=!0),(t||n||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let e of this.state.facet(PK))try{e(r)}catch(e){bU(this.state,e,`update listener`)}(s||l)&&Promise.resolve().then(()=>{s&&this.state==s.startState&&this.dispatch(s),l&&!$U(this,l)&&c.force&&RH(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw Error(`Calls to EditorView.setState are not allowed while an update is in progress`);if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Kq(e),this.plugins=e.facet(qK).map(e=>new YK(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new oq(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(qK),n=e.state.facet(qK);if(t!=n){let r=[];for(let i of n){let n=t.indexOf(i);if(n<0)r.push(new YK(i));else{let t=this.plugins[n];t.mustUpdate=e,r.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this);t!=n&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(e){bU(this.state,e,`doc view update listener`)}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,r=n.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:a}=this.viewState;Math.abs(r-this.viewState.scrollTop)>1&&(a=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(a<0)if(HH(n))i=-1,a=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(r);i=e.from,a=e.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(e>5){console.warn(this.measureRequests.length?`Measure loop restarted more than 5 times`:`Viewport failed to stabilize`);break}let s=[];o&4||([this.measureRequests,s]=[s,this.measureRequests]);let c=s.map(e=>{try{return e.read(this)}catch(e){return bU(this.state,e),lJ}}),l=aq.create(this,this.state,[]),u=!1;l.flags|=o,t?t.flags|=o:t=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),u=this.docView.update(l),u&&this.docViewUpdate());for(let e=0;e<s.length;e++)if(c[e]!=lJ)try{let t=s[e];t.write&&t.write(c[e],this)}catch(e){bU(this.state,e)}if(u&&this.docView.updateSelection(!0),!l.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,a=-1;continue}else{let e=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-a;if(e>1||e<-1){r+=e,n.scrollTop=r/this.scaleY,a=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(PK))e(t)}get themeClasses(){return Qq+` `+(this.state.facet(Zq)?eJ:$q)+` `+this.state.facet(Xq)}updateAttrs(){let e=WW(this,XK,{class:`cm-editor`+(this.hasFocus?` cm-focused `:` `)+this.themeClasses}),t={spellcheck:`false`,autocorrect:`off`,autocapitalize:`off`,writingsuggestions:`false`,translate:`no`,contenteditable:this.state.facet(GK)?`true`:`false`,class:`cm-content`,style:`${JG.tabSize}: ${this.state.tabSize}`,role:`textbox`,"aria-multiline":`true`};this.state.readOnly&&(t[`aria-readonly`]=`true`),WW(this,ZK,t);let n=this.observer.ignore(()=>{let n=nU(this.contentDOM,this.contentAttrs,t),r=nU(this.dom,this.editorAttrs,e);return n||r});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(t){let n=!0;for(let r of t)for(let t of r.effects)if(t.is(e.announce)){n&&(this.announceDOM.textContent=``),n=!1;let e=this.announceDOM.appendChild(document.createElement(`div`));e.textContent=t.value}}mountStyles(){this.styleModules=this.state.facet(rq);let t=this.state.facet(e.cspNonce);cH.mount(this.root,this.styleModules.concat(nJ).reverse(),t?{nonce:t}:void 0)}readMeasured(){if(this.updateState==2)throw Error(`Reading the editor layout isn't allowed during an update`);this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(t=>t.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return XU(this,e,GU(this,e,t,n))}moveByGroup(e,t){return XU(this,e,GU(this,e,t,t=>KU(this,e.head,t)))}visualLineSide(e,t){let n=this.bidiSpans(e),r=this.textDirectionAt(e.from),i=n[t?n.length-1:0];return Z.cursor(i.side(t,r)+e.from,i.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,n=!0){return WU(this,e,t,n)}moveVertically(e,t,n){return XU(this,e,qU(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),RU(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let r=this.state.doc.lineAt(e),i=this.bidiSpans(r),a=i[DK.find(i,e-r.from,-1,t)];return jH(n,a.dir==yK.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(zK)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>cJ)return _U(e.length);let t=this.textDirectionAt(e.from),n;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||uU(r.isolates,n=xU(this,e))))return r.order;n||(n=xU(this,e));let r=gU(e.text,t,n);return this.bidiCache.push(new uJ(e.from,e.to,t,n,!0,r)),r}get hasFocus(){return(this.dom.ownerDocument.hasFocus()||JG.safari&&this.inputState?.lastContextMenu>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{IH(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return UK.of(new HK(typeof e==`number`?Z.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,n=this.viewState.scrollAnchorAt(e);return UK.of(new HK(Z.cursor(n.from),`start`,`start`,n.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e==`boolean`?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return JK.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return JK.define(()=>({}),{eventObservers:e})}static theme(e,t){let n=cH.newName(),r=[Xq.of(n),rq.of(BW(`.${n}`,e))];return t&&t.dark&&r.push(Zq.of(!0)),r}static baseTheme(e){return DV.lowest(rq.of(BW(`.`+Qq,e,tJ)))}static findFromDOM(e){let t=e.querySelector(`.cm-content`);return(t&&eK.get(t)||eK.get(e))?.rootView?.view||null}},sJ.styleModule=rq,sJ.inputHandler=FK,sJ.clipboardInputFilter=LK,sJ.clipboardOutputFilter=RK,sJ.scrollHandler=VK,sJ.focusChangeEffect=IK,sJ.perLineTextDirection=zK,sJ.exceptionSink=NK,sJ.updateListener=PK,sJ.editable=GK,sJ.mouseSelectionStyle=MK,sJ.dragMovesSelection=jK,sJ.clickAddsSelectionRange=AK,sJ.decorations=QK,sJ.outerDecorations=$K,sJ.atomicRanges=eq,sJ.bidiIsolatedRanges=tq,sJ.scrollMargins=nq,sJ.darkTheme=Zq,sJ.cspNonce=SV.define({combine:e=>e.length?e[0]:``}),sJ.contentAttributes=ZK,sJ.editorAttributes=XK,sJ.lineWrapping=sJ.contentAttributes.of({class:`cm-lineWrapping`}),sJ.announce=HV.define(),cJ=4096,lJ={},uJ=class e{constructor(e,t,n,r,i,a){this.from=e,this.to=t,this.dir=n,this.isolates=r,this.fresh=i,this.order=a}static update(t,n){if(n.empty&&!t.some(e=>e.fresh))return t;let r=[],i=t.length?t[t.length-1].dir:yK.LTR;for(let a=Math.max(0,t.length-10);a<t.length;a++){let o=t[a];o.dir==i&&!n.touchesRange(o.from,o.to)&&r.push(new e(n.mapPos(o.from,1),n.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}},dJ=JG.mac?`mac`:JG.windows?`win`:JG.linux?`linux`:`key`,fJ=DV.default(sJ.domEventHandlers({keydown(e,t){return XW(qW(t.state),e,t,`editor`)}})),pJ=SV.define({enables:fJ}),mJ=new WeakMap,hJ=null,gJ=4e3,_J=null,vJ=class e{constructor(e,t,n,r,i){this.className=e,this.left=t,this.top=n,this.width=r,this.height=i}draw(){let e=document.createElement(`div`);return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className?(this.adjust(e),!0):!1}adjust(e){e.style.left=this.left+`px`,e.style.top=this.top+`px`,this.width!=null&&(e.style.width=this.width+`px`),e.style.height=this.height+`px`}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(t,n,r){if(r.empty){let i=t.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let a=ZW(t);return[new e(n,i.left-a.left,i.top-a.top,null,i.bottom-i.top)]}else return $W(t,n,r)}},yJ=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement(`div`)),this.dom.classList.add(`cm-layer`),t.above&&this.dom.classList.add(`cm-layer-above`),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute(`aria-hidden`,`true`),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(bJ)!=e.state.facet(bJ)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(bJ);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((e,t)=>!eG(e,this.drawn[t]))){let t=this.dom.firstChild,n=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[n].constructor&&r.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(r.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e,JG.safari&&JG.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?``:`none`)}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},bJ=SV.define(),xJ=SV.define({combine(e){return XB(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}}),SJ=tG({above:!0,markers(e){let{state:t}=e,n=t.facet(xJ),r=[];for(let i of t.selection.ranges){let a=i==t.selection.main;if(i.empty||n.drawRangeCursor){let t=a?`cm-cursor cm-cursor-primary`:`cm-cursor cm-cursor-secondary`,n=i.empty?i:Z.cursor(i.head,i.head>i.anchor?-1:1);for(let i of vJ.forRange(e,t,n))r.push(i)}}return r},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName=t.style.animationName==`cm-blink`?`cm-blink2`:`cm-blink`);let n=rG(e);return n&&iG(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){iG(t.state,e)},class:`cm-cursorLayer`}),CJ=tG({above:!1,markers(e){return e.state.selection.ranges.map(t=>t.empty?[]:vJ.forRange(e,`cm-selectionBackground`,t)).reduce((e,t)=>e.concat(t))},update(e,t){return e.docChanged||e.selectionSet||e.viewportChanged||rG(e)},class:`cm-selectionLayer`}),wJ=DV.highest(sJ.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`transparent !important`},caretColor:`transparent !important`},".cm-content":{caretColor:`transparent !important`,"& :focus":{caretColor:`initial !important`,"&::selection, & ::selection":{backgroundColor:`Highlight !important`}}}})),TJ=HV.define({map(e,t){return e==null?null:t.mapPos(e)}}),EJ=TV.define({create(){return null},update(e,t){return e!=null&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(TJ)?t.value:e,e)}}),DJ=JK.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let n=e.state.field(EJ);n==null?this.cursor!=null&&((t=this.cursor)==null||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement(`div`)),this.cursor.className=`cm-dropCursor`),(e.startState.field(EJ)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(EJ),n=t!=null&&e.coordsAtPos(t);if(!n)return null;let r=e.scrollDOM.getBoundingClientRect();return{left:n.left-r.left+e.scrollDOM.scrollLeft*e.scaleX,top:n.top-r.top+e.scrollDOM.scrollTop*e.scaleY,height:n.bottom-n.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:n}=this.view;e?(this.cursor.style.left=e.left/t+`px`,this.cursor.style.top=e.top/n+`px`,this.cursor.style.height=e.height/n+`px`):this.cursor.style.left=`-100000px`}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(EJ)!=e&&this.view.dispatch({effects:TJ.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){(e.target==this.view.contentDOM||!this.view.contentDOM.contains(e.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}}),OJ=class{constructor(e){let{regexp:t,decoration:n,decorate:r,boundary:i,maxLength:a=1e3}=e;if(!t.global)throw RangeError(`The regular expression given to MatchDecorator should have its 'g' flag set`);if(this.regexp=t,r)this.addMatch=(e,t,n,i)=>r(i,n,n+e[0].length,e,t);else if(typeof n==`function`)this.addMatch=(e,t,r,i)=>{let a=n(e,t,r);a&&i(r,r+e[0].length,a)};else if(n)this.addMatch=(e,t,r,i)=>i(r,r+e[0].length,n);else throw RangeError(`Either 'decorate' or 'decoration' should be provided to MatchDecorator`);this.boundary=i,this.maxLength=a}createDeco(e){let t=new $V,n=t.add.bind(t);for(let{from:t,to:r}of sG(e,this.maxLength))oG(e.state.doc,this.regexp,t,r,(t,r)=>this.addMatch(r,e,t,n));return t.finish()}updateDeco(e,t){let n=1e9,r=-1;return e.docChanged&&e.changes.iterChanges((t,i,a,o)=>{o>=e.view.viewport.from&&a<=e.view.viewport.to&&(n=Math.min(a,n),r=Math.max(o,r))}),e.viewportMoved||r-n>1e3?this.createDeco(e.view):r>-1?this.updateRange(e.view,t.map(e.changes),n,r):t}updateRange(e,t,n,r){for(let i of e.visibleRanges){let a=Math.max(i.from,n),o=Math.min(i.to,r);if(o>=a){let n=e.state.doc.lineAt(a),r=n.to<o?e.state.doc.lineAt(o):n,s=Math.max(i.from,n.from),c=Math.min(i.to,r.to);if(this.boundary){for(;a>n.from;a--)if(this.boundary.test(n.text[a-1-n.from])){s=a;break}for(;o<r.to;o++)if(this.boundary.test(r.text[o-r.from])){c=o;break}}let l=[],u,d=(e,t,n)=>l.push(n.range(e,t));if(n==r)for(this.regexp.lastIndex=s-n.from;(u=this.regexp.exec(n.text))&&u.index<c-n.from;)this.addMatch(u,e,u.index+n.from,d);else oG(e.state.doc,this.regexp,s,c,(t,n)=>this.addMatch(n,e,t,d));t=t.update({filterFrom:s,filterTo:c,filter:(e,t)=>e<s||t>c,add:l})}}return t}},kJ=/x/.unicode==null?`g`:`gu`,AJ=RegExp(`[\0-\b
--Ÿ­؜\u2028\u2029-]`,kJ),jJ={0:`null`,7:`bell`,8:`backspace`,10:`newline`,11:`vertical tab`,13:`carriage return`,27:`escape`,8203:`zero width space`,8204:`zero width non-joiner`,8205:`zero width joiner`,8206:`left-to-right mark`,8207:`right-to-left mark`,8232:`line separator`,8237:`left-to-right override`,8238:`right-to-left override`,8294:`left-to-right isolate`,8295:`right-to-left isolate`,8297:`pop directional isolate`,8233:`paragraph separator`,65279:`zero width no-break space`,65532:`object replacement`},MJ=null,NJ=SV.define({combine(e){let t=XB(e,{render:null,specialChars:AJ,addSpecialChars:null});return(t.replaceTabs=!cG())&&(t.specialChars=RegExp(` |`+t.specialChars.source,kJ)),t.addSpecialChars&&(t.specialChars=RegExp(t.specialChars.source+`|`+t.addSpecialChars.source,kJ)),t}}),PJ=null,FJ=`•`,IJ=class extends cK{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=dG(this.code),n=e.state.phrase(`Control character`)+` `+(jJ[this.code]||`0x`+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,n,t);if(r)return r;let i=document.createElement(`span`);return i.textContent=t,i.title=n,i.setAttribute(`aria-label`,n),i.className=`cm-specialChar`,i}ignoreEvent(){return!1}},LJ=class extends cK{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement(`span`);return e.textContent=` `,e.className=`cm-tab`,e.style.width=this.width+`px`,e}ignoreEvent(){return!1}},RJ=uK.line({class:`cm-activeLine`}),zJ=JK.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,n=[];for(let r of e.state.selection.ranges){let i=e.lineBlockAt(r.head);i.from>t&&(n.push(RJ.range(i.from)),t=i.from)}return uK.set(n)}},{decorations:e=>e.decorations}),BJ=class extends cK{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement(`span`);return t.className=`cm-placeholder`,t.style.pointerEvents=`none`,t.appendChild(typeof this.content==`string`?document.createTextNode(this.content):typeof this.content==`function`?this.content(e):this.content.cloneNode(!0)),t.setAttribute(`aria-hidden`,`true`),t}coordsAt(e){let t=e.firstChild?TH(e.firstChild):[];if(!t.length)return null;let n=window.getComputedStyle(e.parentNode),r=jH(t[0],n.direction!=`rtl`),i=parseInt(n.lineHeight);return r.bottom-r.top>i*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+i}:r}ignoreEvent(){return!1}},VJ=2e3,HJ={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},UJ={style:`cursor: crosshair`},WJ=`-10000px`,GJ=class{constructor(e,t,n,r){this.facet=t,this.createTooltipView=n,this.removeTooltipView=r,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let i=null;this.tooltipViews=this.tooltips.map(e=>i=n(e,i))}update(e,t){var n;let r=e.state.facet(this.facet),i=r.filter(e=>e);if(r===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let a=[],o=t?[]:null;for(let n=0;n<i.length;n++){let r=i[n],s=-1;if(r){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==r.create&&(s=e)}if(s<0)a[n]=this.createTooltipView(r,n?a[n-1]:null),o&&(o[n]=!!r.above);else{let r=a[n]=this.tooltipViews[s];o&&(o[n]=t[s]),r.update&&r.update(e)}}}for(let e of this.tooltipViews)a.indexOf(e)<0&&(this.removeTooltipView(e),(n=e.destroy)==null||n.call(e));return t&&(o.forEach((e,n)=>t[n]=e),t.length=o.length),this.input=r,this.tooltips=i,this.tooltipViews=a,!0}},KJ=SV.define({combine:e=>({position:JG.ios?`absolute`:e.find(e=>e.position)?.position||`fixed`,parent:e.find(e=>e.parent)?.parent||null,tooltipSpace:e.find(e=>e.tooltipSpace)?.tooltipSpace||bG})}),qJ=new WeakMap,JJ=JK.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(KJ);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver==`function`?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new GJ(e,ZJ,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver=typeof IntersectionObserver==`function`?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener(`resize`,this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement(`div`),this.container.style.position=`relative`,this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let n=t||e.geometryChanged,r=e.state.facet(KJ);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(e,t){let n=e.create(this.view),r=t?t.dom:null;if(n.dom.classList.add(`cm-tooltip`),e.arrow&&!n.dom.querySelector(`.cm-tooltip > .cm-tooltip-arrow`)){let e=document.createElement(`div`);e.className=`cm-tooltip-arrow`,n.dom.appendChild(e)}return n.dom.style.position=this.position,n.dom.style.top=WJ,n.dom.style.left=`0px`,this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var e,t,n;this.view.win.removeEventListener(`resize`,this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),(e=t.destroy)==null||e.call(t);this.parent&&this.container.remove(),(t=this.resizeObserver)==null||t.disconnect(),(n=this.intersectionObserver)==null||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,n=!1;if(this.position==`fixed`&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if(JG.safari){let t=e.getBoundingClientRect();n=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}else n=!!e.offsetParent&&e.offsetParent!=this.container.ownerDocument.body}if(n||this.position==`absolute`)if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(e=n.width/this.parent.offsetWidth,t=n.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=SU(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(KJ).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:n}}writeMeasure(e){if(e.makeAbsolute){this.madeAbsolute=!0,this.position=`absolute`;for(let e of this.manager.tooltipViews)e.dom.style.position=`absolute`}let{visible:t,space:n,scaleX:r,scaleY:i}=e,a=[];for(let o=0;o<this.manager.tooltips.length;o++){let s=this.manager.tooltips[o],c=this.manager.tooltipViews[o],{dom:l}=c,u=e.pos[o],d=e.size[o];if(!u||s.clip!==!1&&(u.bottom<=Math.max(t.top,n.top)||u.top>=Math.min(t.bottom,n.bottom)||u.right<Math.max(t.left,n.left)-.1||u.left>Math.min(t.right,n.right)+.1)){l.style.top=WJ;continue}let f=s.arrow?c.dom.querySelector(`.cm-tooltip-arrow`):null,p=f?7:0,m=d.right-d.left,h=qJ.get(c)??d.bottom-d.top,g=c.offset||XJ,_=this.view.textDirection==yK.LTR,v=d.width>n.right-n.left?_?n.left:n.right-d.width:_?Math.max(n.left,Math.min(u.left-(f?14:0)+g.x,n.right-m)):Math.min(Math.max(n.left,u.left-m+(f?14:0)-g.x),n.right-m),y=this.above[o];!s.strictSide&&(y?u.top-h-p-g.y<n.top:u.bottom+h+p+g.y>n.bottom)&&y==n.bottom-u.bottom>u.top-n.top&&(y=this.above[o]=!y);let b=(y?u.top-n.top:n.bottom-u.bottom)-p;if(b<h&&c.resize!==!1){if(b<this.view.defaultLineHeight){l.style.top=WJ;continue}qJ.set(c,h),l.style.height=(h=b)/i+`px`}else l.style.height&&(l.style.height=``);let x=y?u.top-h-p-g.y:u.bottom+p+g.y,S=v+m;if(c.overlap!==!0)for(let e of a)e.left<S&&e.right>v&&e.top<x+h&&e.bottom>x&&(x=y?e.top-h-2-p:e.bottom+p+2);if(this.position==`absolute`?(l.style.top=(x-e.parent.top)/i+`px`,xG(l,(v-e.parent.left)/r)):(l.style.top=x/i+`px`,xG(l,v/r)),f){let e=u.left+(_?g.x:-g.x)-(v+14-7);f.style.left=e/r+`px`}c.overlap!==!0&&a.push({left:v,top:x,right:S,bottom:x+h}),l.classList.toggle(`cm-tooltip-above`,y),l.classList.toggle(`cm-tooltip-below`,!y),c.positioned&&c.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=WJ}},{eventObservers:{scroll(){this.maybeMeasure()}}}),YJ=sJ.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:`border-box`},"&light .cm-tooltip":{border:`1px solid #bbb`,backgroundColor:`#f5f5f5`},"&light .cm-tooltip-section:not(:first-child)":{borderTop:`1px solid #bbb`},"&dark .cm-tooltip":{backgroundColor:`#333338`,color:`white`},".cm-tooltip-arrow":{height:`7px`,width:`14px`,position:`absolute`,zIndex:-1,overflow:`hidden`,"&:before, &:after":{content:`''`,position:`absolute`,width:0,height:0,borderLeft:`7px solid transparent`,borderRight:`7px solid transparent`},".cm-tooltip-above &":{bottom:`-7px`,"&:before":{borderTop:`7px solid #bbb`},"&:after":{borderTop:`7px solid #f5f5f5`,bottom:`1px`}},".cm-tooltip-below &":{top:`-7px`,"&:before":{borderBottom:`7px solid #bbb`},"&:after":{borderBottom:`7px solid #f5f5f5`,top:`1px`}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:`#333338`,borderBottomColor:`#333338`},"&:after":{borderTopColor:`transparent`,borderBottomColor:`transparent`}}}),XJ={x:0,y:0},ZJ=SV.define({enables:[JJ,YJ]}),QJ=SV.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])}),$J=class e{static create(t){return new e(t)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement(`div`),this.dom.classList.add(`cm-tooltip-hover`),this.manager=new GJ(e,QJ,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let n=e.create(this.view);return n.dom.classList.add(`cm-tooltip-section`),this.dom.insertBefore(n.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&n.mount&&n.mount(this.view),n}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)==null||e.call(t)}passProp(e){let t;for(let n of this.manager.tooltipViews){let r=n[e];if(r!==void 0){if(t===void 0)t=r;else if(t!==r)return}}return t}get offset(){return this.passProp(`offset`)}get getCoords(){return this.passProp(`getCoords`)}get overlap(){return this.passProp(`overlap`)}get resize(){return this.passProp(`resize`)}},eY=ZJ.compute([QJ],e=>{let t=e.facet(QJ);return t.length===0?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>e.end??e.pos)),create:$J.create,above:t[0].above,arrow:t.some(e=>e.arrow)}}),tY=class{constructor(e,t,n,r,i){this.view=e,this.source=t,this.field=n,this.setHover=r,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener(`mouseleave`,this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener(`mousemove`,this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,n=e.docView.nearest(t.target);if(!n)return;let r,i=1;if(n instanceof aK)r=n.posAtStart;else{if(r=e.posAtCoords(t),r==null)return;let n=e.coordsAtPos(r);if(!n||t.y<n.top||t.y>n.bottom||t.x<n.left-e.defaultCharacterWidth||t.x>n.right+e.defaultCharacterWidth)return;let a=e.bidiSpans(e.state.doc.lineAt(r)).find(e=>e.from<=r&&e.to>=r),o=a&&a.dir==yK.RTL?-1:1;i=t.x<n.left?-o:o}let a=this.source(e,r,i);if(a?.then){let t=this.pending={pos:r};a.then(n=>{this.pending==t&&(this.pending=null,n&&!(Array.isArray(n)&&!n.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(n)?n:[n])}))},t=>bU(e.state,t,`hover tooltip`))}else a&&!(Array.isArray(a)&&!a.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(a)?a:[a])})}get tooltip(){let e=this.view.plugin(JJ),t=e?e.manager.tooltips.findIndex(e=>e.create==$J.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:t,tooltip:n}=this;if(t.length&&n&&!SG(n.dom,e)||this.pending){let{pos:n}=t[0]||this.pending,r=t[0]?.end??n;(n==r?this.view.posAtCoords(this.lastMove)!=n:!CG(this.view,n,r,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=n=>{e.removeEventListener(`mouseleave`,t),this.active.length&&!this.view.dom.contains(n.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener(`mouseleave`,t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener(`mouseleave`,this.mouseleave),this.view.dom.removeEventListener(`mousemove`,this.mousemove)}},nY=4,rY=HV.define(),iY=SV.define({combine(e){let t,n;for(let r of e)t=t||r.topContainer,n=n||r.bottomContainer;return{topContainer:t,bottomContainer:n}}}),aY=JK.fromClass(class{constructor(e){this.input=e.state.facet(sY),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(iY);this.top=new oY(e,!0,t.topContainer),this.bottom=new oY(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add(`cm-panel`),e.mount&&e.mount()}update(e){let t=e.state.facet(iY);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new oY(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new oY(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(sY);if(n!=this.input){let t=n.filter(e=>e),r=[],i=[],a=[],o=[];for(let n of t){let t=this.specs.indexOf(n),s;t<0?(s=n(e.view),o.push(s)):(s=this.panels[t],s.update&&s.update(e)),r.push(s),(s.top?i:a).push(s)}this.specs=t,this.panels=r,this.top.sync(i),this.bottom.sync(a);for(let e of o)e.dom.classList.add(`cm-panel`),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>sJ.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})}),oY=class{constructor(e,t,n){this.view=e,this.top=t,this.container=n,this.dom=void 0,this.classes=``,this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement(`div`),this.dom.className=this.top?`cm-panels cm-panels-top`:`cm-panels cm-panels-bottom`,this.dom.style[this.top?`top`:`bottom`]=`0`;let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=DG(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=DG(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(` `))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(` `))e&&this.container.classList.add(e)}}},sY=SV.define({enables:aY}),cY=class extends YV{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}},cY.prototype.elementClass=``,cY.prototype.toDOM=void 0,cY.prototype.mapMode=gV.TrackBefore,cY.prototype.startSide=cY.prototype.endSide=-1,cY.prototype.point=!0,lY=SV.define(),uY=SV.define(),dY={class:``,renderEmptyElements:!1,elementStyle:``,markers:()=>QV.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:`before`},fY=SV.define(),pY=SV.define({combine:e=>e.some(e=>e)}),mY=JK.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement(`div`),this.dom.className=`cm-gutters cm-gutters-before`,this.dom.setAttribute(`aria-hidden`,`true`),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+`px`,this.gutters=e.state.facet(fY).map(t=>new gY(e,t)),this.fixed=!e.state.facet(pY);for(let e of this.gutters)e.config.side==`after`?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position=`sticky`),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement(`div`),this.domAfter.className=`cm-gutters cm-gutters-after`,this.domAfter.setAttribute(`aria-hidden`,`true`),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+`px`,this.domAfter.style.position=this.fixed?`sticky`:``,this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,n=e.view.viewport,r=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}if(e.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+`px`;this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(pY)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?`sticky`:``,this.domAfter&&(this.domAfter.style.position=this.fixed?`sticky`:``)),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=QV.iter(this.view.state.facet(lY),this.view.viewport.from),r=[],i=this.gutters.map(e=>new hY(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(e.type)){let t=!0;for(let a of e.type)if(a.type==lK.Text&&t){jG(n,r,a.from);for(let e of i)e.line(this.view,a,r);t=!1}else if(a.widget)for(let e of i)e.widget(this.view,a)}else if(e.type==lK.Text){jG(n,r,e.from);for(let t of i)t.line(this.view,e,r)}else if(e.widget)for(let t of i)t.widget(this.view,e);for(let e of i)e.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(fY),n=e.state.facet(fY),r=e.docChanged||e.heightChanged||e.viewportChanged||!QV.eq(e.startState.facet(lY),e.state.facet(lY),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(r=!0);else{r=!0;let i=[];for(let r of n){let n=t.indexOf(r);n<0?i.push(new gY(this.view,r)):(this.gutters[n].update(e),i.push(this.gutters[n]))}for(let e of this.gutters)e.dom.remove(),i.indexOf(e)<0&&e.destroy();for(let e of i)e.config.side==`after`?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.gutters=i}return r}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>sJ.scrollMargins.of(t=>{let n=t.plugin(e);if(!n||n.gutters.length==0||!n.fixed)return null;let r=n.dom.offsetWidth*t.scaleX,i=n.domAfter?n.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==yK.LTR?{left:r,right:i}:{right:r,left:i}})}),hY=class{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=QV.iter(e.markers,t.from)}addElement(e,t,n){let{gutter:r}=this,i=(t.top-this.height)/e.scaleY,a=t.height/e.scaleY;if(this.i==r.elements.length){let t=new _Y(e,a,i,n);r.elements.push(t),r.dom.appendChild(t.dom)}else r.elements[this.i].update(e,a,i,n);this.height=t.bottom,this.i++}line(e,t,n){let r=[];jG(this.cursor,r,t.from),n.length&&(r=r.concat(n));let i=this.gutter.config.lineMarker(e,t,r);i&&r.unshift(i);let a=this.gutter;r.length==0&&!a.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let n=this.gutter.config.widgetMarker(e,t.widget,t),r=n?[n]:null;for(let n of e.state.facet(uY)){let i=n(e,t.widget,t);i&&(r||(r=[])).push(i)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},gY=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement(`div`),this.dom.className=`cm-gutter`+(this.config.class?` `+this.config.class:``);for(let n in t.domEventHandlers)this.dom.addEventListener(n,r=>{let i=r.target,a;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let e=i.getBoundingClientRect();a=(e.top+e.bottom)/2}else a=r.clientY;let o=e.lineBlockAtHeight(a-e.documentTop);t.domEventHandlers[n](e,o,r)&&r.preventDefault()});this.markers=AG(t.markers(e)),t.initialSpacer&&(this.spacer=new _Y(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+=`visibility: hidden; pointer-events: none`)}update(e){let t=this.markers;if(this.markers=AG(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let n=e.view.viewport;return!QV.eq(this.markers,t,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},_Y=class{constructor(e,t,n,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement(`div`),this.dom.className=`cm-gutterElement`,this.update(e,t,n,r)}update(e,t,n,r){this.height!=t&&(this.height=t,this.dom.style.height=t+`px`),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+`px`:``),MG(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let n=`cm-gutterElement`,r=this.dom.firstChild;for(let i=0,a=0;;){let o=a,s=i<t.length?t[i++]:null,c=!1;if(s){let e=s.elementClass;e&&(n+=` `+e);for(let e=a;e<this.markers.length;e++)if(this.markers[e].compare(s)){o=e,c=!0;break}}else o=this.markers.length;for(;a<o;){let e=this.markers[a++];if(e.toDOM){e.destroy(r);let t=r.nextSibling;r.remove(),r=t}}if(!s)break;s.toDOM&&(c?r=r.nextSibling:this.dom.insertBefore(s.toDOM(e),r)),c&&a++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}},vY=SV.define(),yY=SV.define(),bY=SV.define({combine(e){return XB(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let r=n[e],i=t[e];n[e]=r?(e,t,n)=>r(e,t,n)||i(e,t,n):i}return n}})}}),xY=class extends cY{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}},SY=fY.compute([bY],e=>({class:`cm-lineNumbers`,renderEmptyElements:!1,markers(e){return e.state.facet(vY)},lineMarker(e,t,n){return n.some(e=>e.toDOM)?null:new xY(NG(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,n)=>{for(let r of e.state.facet(yY)){let i=r(e,t,n);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(bY)!=e.state.facet(bY),initialSpacer(e){return new xY(NG(e,FG(e.state.doc.lines)))},updateSpacer(e,t){let n=NG(t.view,FG(t.view.state.doc.lines));return n==e.number?e:new xY(n)},domEventHandlers:e.facet(bY).domEventHandlers,side:`before`})),CY=new class extends cY{constructor(){super(...arguments),this.elementClass=`cm-activeLineGutter`}},wY=lY.compute([`selection`],e=>{let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.head).from;i>n&&(n=i,t.push(CY.range(i)))}return QV.of(t)})}));function EY(e,t,n,r){switch(e){case-2:return n<t;case-1:return r>=t&&n<t;case 0:return n<t&&r>t;case 1:return n<=t&&r>t;case 2:return r>t;case 4:return!0}}function DY(e,t,n,r){for(;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let t=!r&&e instanceof ZY&&e.index<0?null:e.parent;if(!t)return e;e=t}let i=r?0:KY.IgnoreOverlays;if(r)for(let r=e,a=r.parent;a;r=a,a=r.parent)r instanceof ZY&&r.index<0&&a.enter(t,n,i)?.from!=r.from&&(e=a);for(;;){let r=e.enter(t,n,i);if(!r)return e;e=r}}function OY(e,t,n,r){let i=e.cursor(),a=[];if(!i.firstChild())return a;if(n!=null){for(let e=!1;!e;)if(e=i.type.is(n),!i.nextSibling())return a}for(;;){if(r!=null&&i.type.is(r))return a;if(i.type.is(t)&&a.push(i.node),!i.nextSibling())return r==null?a:[]}}function kY(e,t,n=t.length-1){for(let r=e;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(t[n]&&t[n]!=r.name)return!1;n--}}return!0}function AY(e){if(!e.length)return null;let t=0,n=e[0];for(let r=1;r<e.length;r++){let i=e[r];(i.from>n.from||i.to<n.to)&&(n=i,t=r)}let r=n instanceof ZY&&n.index<0?null:n.parent,i=e.slice();return r?i[t]=r:i.splice(t,1),new eX(i,n)}function jY(e,t,n){let r=e.resolveInner(t,n),i=null;for(let e=r instanceof ZY?r:r.context.parent;e;e=e.parent)if(e.index<0){let a=e.parent;(i||(i=[r])).push(a.resolve(t,n)),e=a}else{let a=BY.get(e.tree);if(a&&a.overlay&&a.overlay[0].from<=t&&a.overlay[a.overlay.length-1].to>=t){let o=new ZY(a.tree,a.overlay[0].from+e.from,-1,e);(i||(i=[r])).push(DY(o,t,n,!1))}}return i?AY(i):r}function MY(e){return e.children.some(e=>e instanceof YY||!e.type.isAnonymous||MY(e))}function NY(e){let{buffer:t,nodeSet:n,maxBufferLength:r=IY,reused:i=[],minRepeatType:a=n.types.length}=e,o=Array.isArray(t)?new JY(t,t.length):t,s=n.types,c=0,l=0;function u(e,t,_,v,y,b){let{id:x,start:S,end:C,size:w}=o,T=l,E=c;if(w<0)if(o.next(),w==-1){let t=i[x];_.push(t),v.push(S-e);return}else if(w==-3){c=x;return}else if(w==-4){l=x;return}else throw RangeError(`Unrecognized record size: ${w}`);let D=s[x],O,k,A=S-e;if(C-S<=r&&(k=h(o.pos-t,y))){let t=new Uint16Array(k.size-k.skip),r=o.pos-k.size,i=t.length;for(;o.pos>r;)i=g(k.start,t,i);O=new YY(t,C-k.start,n),A=k.start-e}else{let e=o.pos-w;o.next();let t=[],n=[],i=x>=a?x:-1,s=0,c=C;for(;o.pos>e;)i>=0&&o.id==i&&o.size>=0?(o.end<=c-r&&(p(t,n,S,s,o.end,c,i,T,E),s=t.length,c=o.end),o.next()):b>2500?d(S,e,t,n):u(S,e,t,n,i,b+1);if(i>=0&&s>0&&s<t.length&&p(t,n,S,s,S,c,i,T,E),t.reverse(),n.reverse(),i>-1&&s>0){let e=f(D,E);O=FY(D,t,n,0,t.length,0,C-S,e,e)}else O=m(D,t,n,C-S,T-C,E)}_.push(O),v.push(A)}function d(e,t,i,a){let s=[],c=0,l=-1;for(;o.pos>t;){let{id:e,start:t,end:n,size:i}=o;if(i>4)o.next();else if(l>-1&&t<l)break;else l<0&&(l=n-r),s.push(e,t,n),c++,o.next()}if(c){let t=new Uint16Array(c*4),r=s[s.length-2];for(let e=s.length-3,n=0;e>=0;e-=3)t[n++]=s[e],t[n++]=s[e+1]-r,t[n++]=s[e+2]-r,t[n++]=n;i.push(new YY(t,s[2]-r,n)),a.push(r-e)}}function f(e,t){return(n,r,i)=>{let a=0,o=n.length-1,s,c;if(o>=0&&(s=n[o])instanceof qY){if(!o&&s.type==e&&s.length==i)return s;(c=s.prop(zY.lookAhead))&&(a=r[o]+s.length+c)}return m(e,n,r,i,a,t)}}function p(e,t,r,i,a,o,s,c,l){let u=[],d=[];for(;e.length>i;)u.push(e.pop()),d.push(t.pop()+r-a);e.push(m(n.types[s],u,d,o-a,c-o,l)),t.push(a-r)}function m(e,t,n,r,i,a,o){if(a){let e=[zY.contextHash,a];o=o?[e].concat(o):[e]}if(i>25){let e=[zY.lookAhead,i];o=o?[e].concat(o):[e]}return new qY(e,t,n,r,o)}function h(e,t){let n=o.fork(),i=0,s=0,c=0,l=n.end-r,u={size:0,start:0,skip:0};scan:for(let r=n.pos-e;n.pos>r;){let e=n.size;if(n.id==t&&e>=0){u.size=i,u.start=s,u.skip=c,c+=4,i+=4,n.next();continue}let o=n.pos-e;if(e<0||o<r||n.start<l)break;let d=n.id>=a?4:0,f=n.start;for(n.next();n.pos>o;){if(n.size<0)if(n.size==-3||n.size==-4)d+=4;else break scan;else n.id>=a&&(d+=4);n.next()}s=f,i+=e,c+=d}return(t<0||i==e)&&(u.size=i,u.start=s,u.skip=c),u.size>4?u:void 0}function g(e,t,n){let{id:r,start:i,end:s,size:u}=o;if(o.next(),u>=0&&r<a){let a=n;if(u>4){let r=o.pos-(u-4);for(;o.pos>r;)n=g(e,t,n)}t[--n]=a,t[--n]=s-e,t[--n]=i-e,t[--n]=r}else u==-3?c=r:u==-4&&(l=r);return n}let _=[],v=[];for(;o.pos>0;)u(e.start||0,e.bufferStart||0,_,v,-1,0);let y=e.length??(_.length?v[0]+_[0].length:0);return new qY(s[e.topID],_.reverse(),v.reverse(),y)}function PY(e,t){if(!e.isAnonymous||t instanceof YY||t.type!=e)return 1;let n=nX.get(t);if(n==null){n=1;for(let r of t.children){if(r.type!=e||!(r instanceof qY)){n=1;break}n+=PY(e,r)}nX.set(t,n)}return n}function FY(e,t,n,r,i,a,o,s,c){let l=0;for(let n=r;n<i;n++)l+=PY(e,t[n]);let u=Math.ceil(l*1.5/8),d=[],f=[];function p(t,n,r,i,o){for(let s=r;s<i;){let r=s,l=n[s],m=PY(e,t[s]);for(s++;s<i;s++){let n=PY(e,t[s]);if(m+n>=u)break;m+=n}if(s==r+1){if(m>u){let e=t[r];p(e.children,e.positions,0,e.children.length,n[r]+o);continue}d.push(t[r])}else{let i=n[s-1]+t[s-1].length-l;d.push(FY(e,t,n,r,s,l,i,null,c))}f.push(l+o-a)}}return p(t,n,r,i,0),(s||c)(d,f,o)}var IY,LY,RY,zY,BY,VY,HY,UY,WY,GY,KY,qY,JY,YY,XY,ZY,QY,$Y,eX,tX,nX,rX,iX,aX,oX=o((()=>{IY=1024,LY=0,RY=class{constructor(e,t){this.from=e,this.to=t}},zY=class{constructor(e={}){this.id=LY++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw Error(`This node type doesn't define a deserialize function`)}),this.combine=e.combine||null}add(e){if(this.perNode)throw RangeError(`Can't add per-node props to node types`);return typeof e!=`function`&&(e=HY.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}},zY.closedBy=new zY({deserialize:e=>e.split(` `)}),zY.openedBy=new zY({deserialize:e=>e.split(` `)}),zY.group=new zY({deserialize:e=>e.split(` `)}),zY.isolate=new zY({deserialize:e=>{if(e&&e!=`rtl`&&e!=`ltr`&&e!=`auto`)throw RangeError(`Invalid value for isolate: `+e);return e||`auto`}}),zY.contextHash=new zY({perNode:!0}),zY.lookAhead=new zY({perNode:!0}),zY.mounted=new zY({perNode:!0}),BY=class{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}static get(e){return e&&e.props&&e.props[zY.mounted.id]}},VY=Object.create(null),HY=class e{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(t){let n=t.props&&t.props.length?Object.create(null):VY,r=!!t.top|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),i=new e(t.name||``,n,t.id,r);if(t.props){for(let e of t.props)if(Array.isArray(e)||(e=e(i)),e){if(e[0].perNode)throw RangeError(`Can't store a per-node prop on a node type`);n[e[0].id]=e[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e==`string`){if(this.name==e)return!0;let t=this.prop(zY.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let r of n.split(` `))t[r]=e[n];return e=>{for(let n=e.prop(zY.group),r=-1;r<(n?n.length:0);r++){let i=t[r<0?e.name:n[r]];if(i)return i}}}},HY.none=new HY(``,Object.create(null),0,8),UY=class e{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw RangeError(`Node type ids should correspond to array positions when creating a node set`)}extend(...t){let n=[];for(let e of this.types){let r=null;for(let n of t){let t=n(e);if(t){r||(r=Object.assign({},e.props));let n=t[1],i=t[0];i.combine&&i.id in r&&(n=i.combine(r[i.id],n)),r[i.id]=n}}n.push(r?new HY(e.name,r,e.id,e.flags):e)}return new e(n)}},WY=new WeakMap,GY=new WeakMap,(function(e){e[e.ExcludeBuffers=1]=`ExcludeBuffers`,e[e.IncludeAnonymous=2]=`IncludeAnonymous`,e[e.IgnoreMounts=4]=`IgnoreMounts`,e[e.IgnoreOverlays=8]=`IgnoreOverlays`})(KY||(KY={})),qY=class e{constructor(e,t,n,r,i){if(this.type=e,this.children=t,this.positions=n,this.length=r,this.props=null,i&&i.length){this.props=Object.create(null);for(let[e,t]of i)this.props[typeof e==`number`?e:e.id]=t}}toString(){let e=BY.get(this);if(e&&!e.overlay)return e.tree.toString();let t=``;for(let e of this.children){let n=e.toString();n&&(t&&(t+=`,`),t+=n)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?`(`+t+`)`:``):t}cursor(e=0){return new tX(this.topNode,e)}cursorAt(e,t=0,n=0){let r=WY.get(this)||this.topNode,i=new tX(r);return i.moveTo(e,t),WY.set(this,i._tree),i}get topNode(){return new ZY(this,0,0,null)}resolve(e,t=0){let n=DY(WY.get(this)||this.topNode,e,t,!1);return WY.set(this,n),n}resolveInner(e,t=0){let n=DY(GY.get(this)||this.topNode,e,t,!0);return GY.set(this,n),n}resolveStack(e,t=0){return jY(this,e,t)}iterate(e){let{enter:t,leave:n,from:r=0,to:i=this.length}=e,a=e.mode||0,o=(a&KY.IncludeAnonymous)>0;for(let e=this.cursor(a|KY.IncludeAnonymous);;){let a=!1;if(e.from<=i&&e.to>=r&&(!o&&e.type.isAnonymous||t(e)!==!1)){if(e.firstChild())continue;a=!0}for(;a&&n&&(o||!e.type.isAnonymous)&&n(e),!e.nextSibling();){if(!e.parent())return;a=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(t={}){return this.children.length<=8?this:FY(HY.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,r)=>new e(this.type,t,n,r,this.propValues),t.makeTree||((t,n,r)=>new e(HY.none,t,n,r)))}static build(e){return NY(e)}},qY.empty=new qY(HY.none,[],[],0),JY=class e{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new e(this.buffer,this.index)}},YY=class e{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return HY.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(`,`)}childString(e){let t=this.buffer[e],n=this.buffer[e+3],r=this.set.types[t],i=r.name;if(/\W/.test(i)&&!r.isError&&(i=JSON.stringify(i)),e+=4,n==e)return i;let a=[];for(;e<n;)a.push(this.childString(e)),e=this.buffer[e+3];return i+`(`+a.join(`,`)+`)`}findChild(e,t,n,r,i){let{buffer:a}=this,o=-1;for(let s=e;s!=t&&!(EY(i,r,a[s+1],a[s+2])&&(o=s,n>0));s=a[s+3]);return o}slice(t,n,r){let i=this.buffer,a=new Uint16Array(n-t),o=0;for(let e=t,s=0;e<n;){a[s++]=i[e++],a[s++]=i[e++]-r;let n=a[s++]=i[e++]-r;a[s++]=i[e++]-t,o=Math.max(o,n)}return new e(a,o,this.set)}},XY=class{cursor(e=0){return new tX(this,e)}getChild(e,t=null,n=null){let r=OY(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return OY(this,e,t,n)}resolve(e,t=0){return DY(this,e,t,!1)}resolveInner(e,t=0){return DY(this,e,t,!0)}matchContext(e){return kY(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),n=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(n=t,t=e.prevSibling):t=e}return n}get node(){return this}get next(){return this.parent}},ZY=class e extends XY{constructor(e,t,n,r){super(),this._tree=e,this.from=t,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,n,r,i,a=0){for(let o=this;;){for(let{children:s,positions:c}=o._tree,l=n>0?s.length:-1;t!=l;t+=n){let l=s[t],u=c[t]+o.from;if(EY(i,r,u,u+l.length)){if(l instanceof YY){if(a&KY.ExcludeBuffers)continue;let e=l.findChild(0,l.buffer.length,n,r-u,i);if(e>-1)return new $Y(new QY(o,l,t,u),null,e)}else if(a&KY.IncludeAnonymous||!l.type.isAnonymous||MY(l)){let s;if(!(a&KY.IgnoreMounts)&&(s=BY.get(l))&&!s.overlay)return new e(s.tree,u,t,o);let c=new e(l,u,t,o);return a&KY.IncludeAnonymous||!c.type.isAnonymous?c:c.nextChild(n<0?l.children.length-1:0,n,r,i)}}}if(a&KY.IncludeAnonymous||!o.type.isAnonymous||(t=o.index>=0?o.index+n:n<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(t,n,r=0){let i;if(!(r&KY.IgnoreOverlays)&&(i=BY.get(this._tree))&&i.overlay){let r=t-this.from;for(let{from:t,to:a}of i.overlay)if((n>0?t<=r:t<r)&&(n<0?a>=r:a>r))return new e(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}},QY=class{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}},$Y=class e extends XY{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){super(),this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(t,n,r){let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],t,n-this.context.start,r);return a<0?null:new e(this.context,this,a)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(t,n,r=0){if(r&KY.ExcludeBuffers)return null;let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],n>0?1:-1,t-this.context.start,n);return a<0?null:new e(this.context,this,a)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:t}=this.context,n=t.buffer[this.index+3];return n<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new e(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new e(this.context,this._parent,t.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,i=n.buffer[this.index+3];if(i>r){let a=n.buffer[this.index+1];e.push(n.slice(r,i,a)),t.push(0)}return new qY(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}},eX=class{constructor(e,t){this.heads=e,this.node=t}get next(){return AY(this.heads)}},tX=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof ZY)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return e?e instanceof ZY?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&KY.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&KY.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&KY.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let e=n<0?0:this.stack[n]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(e)}return n<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(r.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:n}=r)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let r=t+e,i=e<0?-1:n._tree.children.length;r!=i;r+=e){let e=n._tree.children[r];if(this.mode&KY.IncludeAnonymous||e instanceof YY||!e.type.isAnonymous||MY(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)scan:for(let r=this.index,i=this.stack.length;i>=0;){for(let a=e;a;a=a._parent)if(a.index==r){if(r==this.index)return a;t=a,n=i+1;break scan}r=this.stack[--i]}for(let e=n;e<this.stack.length;e++)t=new $Y(this.buffer,t,this.stack[e]);return this.bufferNode=new $Y(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(e){if(!this.buffer)return kY(this.node.parent,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let r=e.length-1,i=this.stack.length-1;r>=0;i--){if(i<0)return kY(this._tree,e,r);let a=n[t.buffer[this.stack[i]]];if(!a.isAnonymous){if(e[r]&&e[r]!=a.name)return!1;r--}}return!0}},nX=new WeakMap,rX=class e{constructor(e,t,n,r,i=!1,a=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=!!i|(a?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,n=[],r=!1){let i=[new e(0,t.length,t,0,!1,r)];for(let e of n)e.to>t.length&&i.push(e);return i}static applyChanges(t,n,r=128){if(!n.length)return t;let i=[],a=1,o=t.length?t[0]:null;for(let s=0,c=0,l=0;;s++){let u=s<n.length?n[s]:null,d=u?u.fromA:1e9;if(d-c>=r)for(;o&&o.from<d;){let n=o;if(c>=n.from||d<=n.to||l){let t=Math.max(n.from,c)-l,r=Math.min(n.to,d)-l;n=t>=r?null:new e(t,r,n.tree,n.offset+l,s>0,!!u)}if(n&&i.push(n),o.to>d)break;o=a<t.length?t[a++]:null}if(!u)break;c=u.toA,l=u.toA-u.toB}return i}},iX=class{startParse(e,t,n){return typeof e==`string`&&(e=new aX(e)),n=n?n.length?n.map(e=>new RY(e.from,e.to)):[new RY(0,0)]:[new RY(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let e=r.advance();if(e)return e}}},aX=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}},new zY({perNode:!0})}));function sX(e,t){return e.length==t.length&&e.every((e,n)=>e==t[n])}function cX(e){let t=[[]];for(let n=0;n<e.length;n++)for(let r=0,i=t.length;r<i;r++)t.push(t[r].concat(e[n]));return t.sort((e,t)=>t.length-e.length)}function lX(e){let t=Object.create(null);for(let n in e){let r=e[n];Array.isArray(r)||(r=[r]);for(let e of n.split(` `))if(e){let n=[],i=2,a=e;for(let t=0;;){if(a==`...`&&t>0&&t+3==e.length){i=1;break}let r=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!r)throw RangeError(`Invalid path: `+e);if(n.push(r[0]==`*`?``:r[0][0]==`"`?JSON.parse(r[0]):r[0]),t+=r[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&o==`!`){i=0;break}if(o!=`/`)throw RangeError(`Invalid path: `+e);a=e.slice(t)}let o=n.length-1,s=n[o];if(!s)throw RangeError(`Invalid path: `+e);t[s]=new yX(r,i,o>0?n.slice(0,o):null).sort(t[s])}}return vX.add(t)}function uX(e,t){let n=Object.create(null);for(let t of e)if(!Array.isArray(t.tag))n[t.tag.id]=t.class;else for(let e of t.tag)n[e.id]=t.class;let{scope:r,all:i=null}=t||{};return{style:e=>{let t=i;for(let r of e)for(let e of r.set){let r=n[e.id];if(r){t=t?t+` `+r:r;break}}return t},scope:r}}function dX(e,t){let n=null;for(let r of e){let e=r.style(t);e&&(n=n?n+` `+e:e)}return n}function fX(e,t,n,r=0,i=e.length){let a=new bX(r,Array.isArray(t)?t:[t],n);a.highlightRange(e.cursor(),r,i,``,a.highlighters),a.flush(i)}function pX(e){let t=e.type.prop(vX);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}var mX,hX,gX,_X,vX,yX,bX,xX,SX,CX,wX,TX,EX,DX,OX,kX,AX,jX,MX,NX,PX,FX,Q,IX=o((()=>{oX(),mX=0,hX=class e{constructor(e,t,n,r){this.name=e,this.set=t,this.base=n,this.modified=r,this.id=mX++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(t,n){let r=typeof t==`string`?t:`?`;if(t instanceof e&&(n=t),n?.base)throw Error(`Can not derive from a modified tag`);let i=new e(r,[],null,[]);if(i.set.push(i),n)for(let e of n.set)i.set.push(e);return i}static defineModifier(e){let t=new _X(e);return e=>e.modified.indexOf(t)>-1?e:_X.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}},gX=0,_X=class e{constructor(e){this.name=e,this.instances=[],this.id=gX++}static get(t,n){if(!n.length)return t;let r=n[0].instances.find(e=>e.base==t&&sX(n,e.modified));if(r)return r;let i=[],a=new hX(t.name,i,t,n);for(let e of n)e.instances.push(a);let o=cX(n);for(let n of t.set)if(!n.modified.length)for(let t of o)i.push(e.get(n,t));return a}},vX=new zY({combine(e,t){let n,r,i;for(;e||t;){if(!e||t&&e.depth>=t.depth?(i=t,t=t.next):(i=e,e=e.next),n&&n.mode==i.mode&&!i.context&&!n.context)continue;let a=new yX(i.tags,i.mode,i.context);n?n.next=a:r=a,n=a}return r}}),yX=class{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}},yX.empty=new yX([],2,null),bX=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=``}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,r,i){let{type:a,from:o,to:s}=e;if(o>=n||s<=t)return;a.isTop&&(i=this.highlighters.filter(e=>!e.scope||e.scope(a)));let c=r,l=pX(e)||yX.empty,u=dX(i,l.tags);if(u&&(c&&(c+=` `),c+=u,l.mode==1&&(r+=(r?` `:``)+u)),this.startSpan(Math.max(t,o),c),l.opaque)return;let d=e.tree&&e.tree.prop(zY.mounted);if(d&&d.overlay){let a=e.node.enter(d.overlay[0].from+o,1),l=this.highlighters.filter(e=>!e.scope||e.scope(d.tree.type)),u=e.firstChild();for(let f=0,p=o;;f++){let m=f<d.overlay.length?d.overlay[f]:null,h=m?m.from+o:s,g=Math.max(t,p),_=Math.min(n,h);if(g<_&&u)for(;e.from<_&&(this.highlightRange(e,g,_,r,i),this.startSpan(Math.min(_,e.to),c),!(e.to>=h||!e.nextSibling())););if(!m||h>n)break;p=m.to+o,p>t&&(this.highlightRange(a.cursor(),Math.max(t,m.from+o),Math.min(n,p),``,l),this.startSpan(Math.min(n,p),c))}u&&e.parent()}else if(e.firstChild()){d&&(r=``);do{if(e.to<=t)continue;if(e.from>=n)break;this.highlightRange(e,t,n,r,i),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}},xX=hX.define,SX=xX(),CX=xX(),wX=xX(CX),TX=xX(CX),EX=xX(),DX=xX(EX),OX=xX(EX),kX=xX(),AX=xX(kX),jX=xX(),MX=xX(),NX=xX(),PX=xX(NX),FX=xX(),Q={comment:SX,lineComment:xX(SX),blockComment:xX(SX),docComment:xX(SX),name:CX,variableName:xX(CX),typeName:wX,tagName:xX(wX),propertyName:TX,attributeName:xX(TX),className:xX(CX),labelName:xX(CX),namespace:xX(CX),macroName:xX(CX),literal:EX,string:DX,docString:xX(DX),character:xX(DX),attributeValue:xX(DX),number:OX,integer:xX(OX),float:xX(OX),bool:xX(EX),regexp:xX(EX),escape:xX(EX),color:xX(EX),url:xX(EX),keyword:jX,self:xX(jX),null:xX(jX),atom:xX(jX),unit:xX(jX),modifier:xX(jX),operatorKeyword:xX(jX),controlKeyword:xX(jX),definitionKeyword:xX(jX),moduleKeyword:xX(jX),operator:MX,derefOperator:xX(MX),arithmeticOperator:xX(MX),logicOperator:xX(MX),bitwiseOperator:xX(MX),compareOperator:xX(MX),updateOperator:xX(MX),definitionOperator:xX(MX),typeOperator:xX(MX),controlOperator:xX(MX),punctuation:NX,separator:xX(NX),bracket:PX,angleBracket:xX(PX),squareBracket:xX(PX),paren:xX(PX),brace:xX(PX),content:kX,heading:AX,heading1:xX(AX),heading2:xX(AX),heading3:xX(AX),heading4:xX(AX),heading5:xX(AX),heading6:xX(AX),contentSeparator:xX(kX),list:xX(kX),quote:xX(kX),emphasis:xX(kX),strong:xX(kX),link:xX(kX),monospace:xX(kX),strikethrough:xX(kX),inserted:xX(),deleted:xX(),changed:xX(),invalid:xX(),meta:FX,documentMeta:xX(FX),annotation:xX(FX),processingInstruction:xX(FX),definition:hX.defineModifier(`definition`),constant:hX.defineModifier(`constant`),function:hX.defineModifier(`function`),standard:hX.defineModifier(`standard`),local:hX.defineModifier(`local`),special:hX.defineModifier(`special`)};for(let e in Q){let t=Q[e];t instanceof hX&&(t.name=e)}uX([{tag:Q.link,class:`tok-link`},{tag:Q.heading,class:`tok-heading`},{tag:Q.emphasis,class:`tok-emphasis`},{tag:Q.strong,class:`tok-strong`},{tag:Q.keyword,class:`tok-keyword`},{tag:Q.atom,class:`tok-atom`},{tag:Q.bool,class:`tok-bool`},{tag:Q.url,class:`tok-url`},{tag:Q.labelName,class:`tok-labelName`},{tag:Q.inserted,class:`tok-inserted`},{tag:Q.deleted,class:`tok-deleted`},{tag:Q.literal,class:`tok-literal`},{tag:Q.string,class:`tok-string`},{tag:Q.number,class:`tok-number`},{tag:[Q.regexp,Q.escape,Q.special(Q.string)],class:`tok-string2`},{tag:Q.variableName,class:`tok-variableName`},{tag:Q.local(Q.variableName),class:`tok-variableName tok-local`},{tag:Q.definition(Q.variableName),class:`tok-variableName tok-definition`},{tag:Q.special(Q.variableName),class:`tok-variableName2`},{tag:Q.definition(Q.propertyName),class:`tok-propertyName tok-definition`},{tag:Q.typeName,class:`tok-typeName`},{tag:Q.namespace,class:`tok-namespace`},{tag:Q.className,class:`tok-className`},{tag:Q.macroName,class:`tok-macroName`},{tag:Q.propertyName,class:`tok-propertyName`},{tag:Q.operator,class:`tok-operator`},{tag:Q.comment,class:`tok-comment`},{tag:Q.meta,class:`tok-meta`},{tag:Q.invalid,class:`tok-invalid`},{tag:Q.punctuation,class:`tok-punctuation`}])}));function LX(e){return SV.define({combine:e?t=>t.concat(e):void 0})}function RX(e,t,n){let r=e.facet(IZ),i=zX(e).topNode;if(!r||r.allowsNesting)for(let e=i;e;e=e.enter(t,n,KY.ExcludeBuffers))e.type.isTop&&(i=e);return i}function zX(e){let t=e.field(DZ.state,!1);return t?t.tree:qY.empty}function BX(e,t,n){return rX.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}function VX(e){let t=e.facet(zZ);return t.charCodeAt(0)==9?e.tabSize*t.length:t.length}function HX(e,t){let n=``,r=e.tabSize,i=e.facet(zZ)[0];if(i==` `){for(;t>=r;)n+=` `,t-=r;i=` `}for(let e=0;e<t;e++)n+=i;return n}function UX(e,t){e instanceof JV&&(e=new BZ(e));for(let n of e.state.facet(RZ)){let r=n(e,t);if(r!==void 0)return r}let n=zX(e.state);return n.length>=t?WX(e,n,t):null}function WX(e,t,n){let r=t.resolveStack(n),i=t.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=r.node){let e=[];for(let t=i;t&&!(t.from<r.node.from||t.to>r.node.to||t.from==r.node.from&&t.type==r.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)r={node:e[t],next:r}}return GX(r,e,n)}function GX(e,t,n){for(let r=e;r;r=r.next){let e=qX(r.node);if(e)return e(HZ.create(t,n,r))}return 0}function KX(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function qX(e){let t=e.type.prop(VZ);if(t)return t;let n=e.firstChild,r;if(n&&(r=n.type.prop(zY.closedBy))){let t=e.lastChild,n=t&&r.indexOf(t.name)>-1;return e=>QX(e,!0,1,void 0,n&&!KX(e)?t.from:void 0)}return e.parent==null?JX:null}function JX(){return 0}function YX(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function XX(e){let t=e.node,n=t.childAfter(t.from),r=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,a=e.state.doc.lineAt(n.from),o=i==null||i<=a.from?a.to:Math.min(a.to,i);for(let e=n.to;;){let i=t.childAfter(e);if(!i||i==r)return null;if(!i.type.isSkipped){if(i.from>=o)return null;let e=/^ */.exec(a.text.slice(n.to-a.from))[0].length;return{from:n.from,to:n.to+e}}e=i.to}}function ZX({closing:e,align:t=!0,units:n=1}){return r=>QX(r,t,n,e)}function QX(e,t,n,r,i){let a=e.textAfter,o=a.match(/^\s*/)[0].length,s=r&&a.slice(o,o+r.length)==r||i==e.pos+o,c=t?XX(e):null;return c?s?e.column(c.from):e.column(c.to):e.baseIndent+(s?0:e.unit*n)}function $X(){return JV.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent(`input.type`)&&!e.isUserEvent(`input.complete`))return e;let t=e.startState.languageDataAt(`indentOnInput`,e.startState.selection.main.head);if(!t.length)return e;let n=e.newDoc,{head:r}=e.newSelection.main,i=n.lineAt(r);if(r>i.from+UZ)return e;let a=n.sliceString(i.from,r);if(!t.some(e=>e.test(a)))return e;let{state:o}=e,s=-1,c=[];for(let{head:e}of o.selection.ranges){let t=o.doc.lineAt(e);if(t.from==s)continue;s=t.from;let n=UX(o,t.from);if(n==null)continue;let r=/^\s*/.exec(t.text)[0],i=HX(o,n);r!=i&&c.push({from:t.from,to:t.from+r.length,insert:i})}return c.length?[e,{changes:c,sequential:!0}]:e})}function eZ(e){let t=e.firstChild,n=e.lastChild;return t&&t.to<n.from?{from:t.to,to:n.type.isError?e.to:n.from}:null}function tZ(e,t,n){let r=zX(e);if(r.length<n)return null;let i=r.resolveStack(n,1),a=null;for(let o=i;o;o=o.next){let i=o.node;if(i.to<=n||i.from>n)continue;if(a&&i.from<t)break;let s=i.type.prop(GZ);if(s&&(i.to<r.length-50||r.length==e.doc.length||!nZ(i))){let r=s(i,e);r&&r.from<=n&&r.from>=t&&r.to>n&&(a=r)}}return a}function nZ(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function rZ(e,t,n){for(let r of e.facet(WZ)){let i=r(e,t,n);if(i)return i}return tZ(e,t,n)}function iZ(e,t){let n=t.mapPos(e.from,1),r=t.mapPos(e.to,-1);return n>=r?void 0:{from:n,to:r}}function aZ(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}function oZ(e,t,n=t){let r=!1;return e.between(t,n,(e,i)=>{e<n&&i>t&&(r=!0)}),r?e.update({filterFrom:t,filterTo:n,filter:(e,r)=>e>=n||r<=t}):e}function sZ(e,t,n){var r;let i=null;return(r=e.field(JZ,!1))==null||r.between(t,n,(e,t)=>{(!i||i.from>e)&&(i={from:e,to:t})}),i}function cZ(e,t,n){let r=!1;return e.between(t,t,(e,i)=>{e==t&&i==n&&(r=!0)}),r}function lZ(e,t){return e.field(JZ,!1)?t:t.concat(HV.appendConfig.of(dZ()))}function uZ(e,t,n=!0){let r=e.state.doc.lineAt(t.from).number,i=e.state.doc.lineAt(t.to).number;return sJ.announce.of(`${e.state.phrase(n?`Folded lines`:`Unfolded lines`)} ${r} ${e.state.phrase(`to`)} ${i}.`)}function dZ(e){let t=[JZ,oQ];return e&&t.push(tQ.of(e)),t}function fZ(e,t){let{state:n}=e,r=n.facet(tQ),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),r=sZ(e.state,n.from,n.to);r&&e.dispatch({effects:qZ.of(r)}),t.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(e,i,t);let a=document.createElement(`span`);return a.textContent=r.placeholderText,a.setAttribute(`aria-label`,n.phrase(`folded code`)),a.title=n.phrase(`unfold`),a.className=`cm-foldPlaceholder`,a.onclick=i,a}function pZ(e={}){let t={...iQ,...e},n=new aQ(t,!0),r=new aQ(t,!1),i=JK.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(IZ)!=e.state.facet(IZ)||e.startState.field(JZ,!1)!=e.state.field(JZ,!1)||zX(e.startState)!=zX(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new $V;for(let i of e.viewportLineBlocks){let a=sZ(e.state,i.from,i.to)?r:rZ(e.state,i.from,i.to)?n:null;a&&t.add(i.from,i.from,a)}return t.finish()}}),{domEventHandlers:a}=t;return[i,OG({class:`cm-foldGutter`,markers(e){return e.plugin(i)?.markers||QV.empty},initialSpacer(){return new aQ(t,!1)},domEventHandlers:{...a,click:(e,t,n)=>{if(a.click&&a.click(e,t,n))return!0;let r=sZ(e.state,t.from,t.to);if(r)return e.dispatch({effects:qZ.of(r)}),!0;let i=rZ(e.state,t.from,t.to);return i?(e.dispatch({effects:KZ.of(i)}),!0):!1}}}),dZ()]}function mZ(e){let t=e.facet(cQ);return t.length?t:e.facet(lQ)}function hZ(e,t){let n=[dQ],r;return e instanceof sQ&&(e.module&&n.push(sJ.styleModule.of(e.module)),r=e.themeType),t?.fallback?n.push(lQ.of(e)):r?n.push(cQ.computeN([sJ.darkTheme],t=>t.facet(sJ.darkTheme)==(r==`dark`)?[e]:[])):n.push(cQ.of(e)),n}function gZ(e){let t=[],n=e.matched?_Q:vQ;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}function _Z(e={}){return[gQ.of(e),yQ]}function vZ(e,t,n){let r=e.prop(t<0?zY.openedBy:zY.closedBy);if(r)return r;if(e.name.length==1){let r=n.indexOf(e.name);if(r>-1&&r%2==+(t<0))return[n[r+t]]}return null}function yZ(e){let t=e.type.prop(bQ);return t?t(e.node):e}function bZ(e,t,n,r={}){let i=r.maxScanDistance||mQ,a=r.brackets||hQ,o=zX(e),s=o.resolveInner(t,n);for(let r=s;r;r=r.parent){let i=vZ(r.type,n,a);if(i&&r.from<r.to){let o=yZ(r);if(o&&(n>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return xZ(e,t,n,r,o,i,a)}}return SZ(e,t,n,o,s.type,i,a)}function xZ(e,t,n,r,i,a,o){let s=r.parent,c={from:i.from,to:i.to},l=0,u=s?.cursor();if(u&&(n<0?u.childBefore(r.from):u.childAfter(r.to)))do if(n<0?u.to<=r.from:u.from>=r.to){if(l==0&&a.indexOf(u.type.name)>-1&&u.from<u.to){let e=yZ(u);return{start:c,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}else if(vZ(u.type,n,o))l++;else if(vZ(u.type,-n,o)){if(l==0){let e=yZ(u);return{start:c,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}l--}}while(n<0?u.prevSibling():u.nextSibling());return{start:c,matched:!1}}function SZ(e,t,n,r,i,a,o){let s=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),c=o.indexOf(s);if(c<0||c%2==0!=n>0)return null;let l={from:n<0?t-1:t,to:n>0?t+1:t},u=e.doc.iterRange(t,n>0?e.doc.length:0),d=0;for(let e=0;!u.next().done&&e<=a;){let a=u.value;n<0&&(e+=a.length);let s=t+e*n;for(let e=n>0?0:a.length-1,t=n>0?a.length:-1;e!=t;e+=n){let t=o.indexOf(a[e]);if(!(t<0||r.resolveInner(s+e,1).type!=i))if(t%2==0==n>0)d++;else if(d==1)return{start:l,end:{from:s+e,to:s+e+1},matched:t>>1==c>>1};else d--}n>0&&(e+=a.length)}return u.done?{start:l,matched:!1}:null}function CZ(e,t){CQ.indexOf(e)>-1||(CQ.push(e),console.warn(t))}function wZ(e,t){let n=[];for(let r of t.split(` `)){let t=[];for(let n of r.split(`.`)){let r=e[n]||Q[n];r?typeof r==`function`?t.length?t=t.map(r):CZ(n,`Modifier ${n} used at start of tag`):t.length?CZ(n,`Tag ${n} used as modifier`):t=Array.isArray(r)?r:[r]:CZ(n,`Unknown highlighting tag ${n}`)}for(let e of t)n.push(e)}if(!n.length)return 0;let r=t.replace(/ /g,`_`),i=r+` `+n.map(e=>e.id),a=wQ[i];if(a)return a.id;let o=wQ[i]=HY.define({id:SQ.length,name:r,props:[lX({[r]:n})]});return SQ.push(o),o.id}var TZ,EZ,DZ,OZ,kZ,AZ,jZ,MZ,NZ,PZ,FZ,IZ,LZ,RZ,zZ,BZ,VZ,HZ,UZ,WZ,GZ,KZ,qZ,JZ,YZ,XZ,ZZ,QZ,$Z,eQ,tQ,nQ,rQ,iQ,aQ,oQ,sQ,cQ,lQ,uQ,dQ,fQ,pQ,mQ,hQ,gQ,_Q,vQ,yQ,bQ,xQ,SQ,CQ,wQ,TQ,EQ=o((()=>{oX(),rH(),TY(),IX(),dH(),TZ=new zY,EZ=new zY,DZ=class{constructor(e,t,n=[],r=``){this.data=e,this.name=r,JV.prototype.hasOwnProperty(`tree`)||Object.defineProperty(JV.prototype,"tree",{get(){return zX(this)}}),this.parser=t,this.extension=[IZ.of(this),JV.languageData.of((e,t,n)=>{let r=RX(e,t,n),i=r.type.prop(TZ);if(!i)return[];let a=e.facet(i),o=r.type.prop(EZ);if(o){let i=r.resolve(t-r.from,n);for(let t of o)if(t.test(i,e)){let n=e.facet(t.facet);return t.type==`replace`?n:n.concat(a)}}return a})].concat(n)}isActiveAt(e,t,n=-1){return RX(e,t,n).type.prop(TZ)==this.data}findRegions(e){let t=e.facet(IZ);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(e,t)=>{if(e.prop(TZ)==this.data){n.push({from:t,to:t+e.length});return}let i=e.prop(zY.mounted);if(i){if(i.tree.prop(TZ)==this.data){if(i.overlay)for(let e of i.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}else if(i.overlay){let e=n.length;if(r(i.tree,i.overlay[0].from+t),n.length>e)return}}for(let n=0;n<e.children.length;n++){let i=e.children[n];i instanceof qY&&r(i,e.positions[n]+t)}};return r(zX(e),0),n}get allowsNesting(){return!0}},DZ.setState=HV.define(),OZ=class e extends DZ{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(t){let n=LX(t.languageData);return new e(n,t.parser.configure({props:[TZ.add(e=>e.isTop?n:void 0)]}),t.name)}configure(t,n){return new e(this.data,this.parser.configure(t),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}},kZ=class{constructor(e){this.doc=e,this.cursorPos=0,this.string=``,this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},AZ=null,jZ=class e{constructor(e,t,n=[],r,i,a,o,s){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=i,this.viewport=a,this.skipped=o,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}static create(t,n,r){return new e(t,n,[],qY.empty,0,r,[],null)}startParse(){return this.parser.startParse(new kZ(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=qY.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{if(typeof e==`number`){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let n=this.parse.advance();if(n)if(this.fragments=this.withoutTempSkipped(rX.addTree(n,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=this.parse.stoppedAt??this.state.doc.length,this.tree=n,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(rX.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=AZ;AZ=this;try{return e()}finally{AZ=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=BX(e,t.from,t.to);return e}changes(t,n){let{fragments:r,tree:i,treeLen:a,viewport:o,skipped:s}=this;if(this.takeTree(),!t.empty){let e=[];if(t.iterChangedRanges((t,n,r,i)=>e.push({fromA:t,toA:n,fromB:r,toB:i})),r=rX.applyChanges(r,e),i=qY.empty,a=0,o={from:t.mapPos(o.from,-1),to:t.mapPos(o.to,1)},this.skipped.length){s=[];for(let e of this.skipped){let n=t.mapPos(e.from,1),r=t.mapPos(e.to,-1);n<r&&s.push({from:n,to:r})}}}return new e(this.parser,n,r,i,a,o,s,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:n,to:r}=this.skipped[t];n<e.to&&r>e.from&&(this.fragments=BX(this.fragments,n,r),this.skipped.splice(t--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends iX{createParse(t,n,r){let i=r[0].from,a=r[r.length-1].to;return{parsedPos:i,advance(){let t=AZ;if(t){for(let e of r)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=a,new qY(HY.none,[],[],a-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return AZ}},MZ=class e{constructor(e){this.context=e,this.tree=e.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(t.changes,t.state),r=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new e(n)}static init(t){let n=Math.min(3e3,t.doc.length),r=jZ.create(t.facet(IZ).parser,t,{from:0,to:n});return r.work(20,n)||r.takeTree(),new e(r)}},DZ.state=TV.define({create:MZ.init,update(e,t){for(let e of t.effects)if(e.is(DZ.setState))return e.value;return t.startState.facet(IZ)==t.state.facet(IZ)?e.apply(t):MZ.init(t.state)}}),NZ=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)},typeof requestIdleCallback<`u`&&(NZ=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)}),PZ=typeof navigator<`u`&&navigator.scheduling?.isInputPending?()=>navigator.scheduling.isInputPending():null,FZ=JK.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(DZ.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(DZ.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=NZ(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:r}}=this.view,i=n.field(DZ.state);if(i.tree==i.context.tree&&i.context.isDone(r+1e5))return;let a=Date.now()+Math.min(this.chunkBudget,100,e&&!PZ?Math.max(25,e.timeRemaining()-5):1e9),o=i.context.treeLen<r&&n.doc.length>r+1e3,s=i.context.work(()=>PZ&&PZ()||Date.now()>a,r+(o?0:1e5));this.chunkBudget-=Date.now()-t,(s||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:DZ.setState.of(new MZ(i.context))})),this.chunkBudget>0&&!(s&&!o)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>bU(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),IZ=SV.define({combine(e){return e.length?e[0]:null},enables:e=>[DZ.state,FZ,sJ.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]}),LZ=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},RZ=SV.define(),zZ=SV.define({combine:e=>{if(!e.length)return` `;let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw Error(`Invalid indent unit: `+JSON.stringify(e[0]));return t}}),BZ=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=VX(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:i}=this.options;return r!=null&&r>=n.from&&r<=n.to?i&&r==e?{text:``,from:e}:(t<0?r<e:r<=e)?{text:n.text.slice(r-n.from),from:r}:{text:n.text.slice(0,r-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return``;let{text:n,from:r}=this.lineAt(e,t);return n.slice(e-r,Math.min(n.length,e+100-r))}column(e,t=1){let{text:n,from:r}=this.lineAt(e,t),i=this.countColumn(n,e-r),a=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return a>-1&&(i+=a-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return oV(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(r);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},VZ=new zY,HZ=class e extends BZ{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.context=n}get node(){return this.context.node}static create(t,n,r){return new e(t,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(YX(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){return GX(this.context.next,this.base,this.pos)}},UZ=200,WZ=SV.define(),GZ=new zY,KZ=HV.define({map:iZ}),qZ=HV.define({map:iZ}),JZ=TV.define({create(){return uK.none},update(e,t){t.isUserEvent(`delete`)&&t.changes.iterChangedRanges((t,n)=>e=oZ(e,t,n)),e=e.map(t.changes);for(let n of t.effects)if(n.is(KZ)&&!cZ(e,n.value.from,n.value.to)){let{preparePlaceholder:r}=t.state.facet(tQ),i=r?uK.replace({widget:new rQ(r(t.state,n.value))}):nQ;e=e.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(qZ)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));return t.selection&&(e=oZ(e,t.selection.main.head)),e},provide:e=>sJ.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw RangeError(`Invalid JSON for fold state`);let t=[];for(let n=0;n<e.length;){let r=e[n++],i=e[n++];if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid JSON for fold state`);t.push(nQ.range(r,i))}return uK.set(t,!0)}}),YZ=e=>{for(let t of aZ(e)){let n=rZ(e.state,t.from,t.to);if(n)return e.dispatch({effects:lZ(e.state,[KZ.of(n),uZ(e,n)])}),!0}return!1},XZ=e=>{if(!e.state.field(JZ,!1))return!1;let t=[];for(let n of aZ(e)){let r=sZ(e.state,n.from,n.to);r&&t.push(qZ.of(r),uZ(e,r,!1))}return t.length&&e.dispatch({effects:t}),t.length>0},ZZ=e=>{let{state:t}=e,n=[];for(let r=0;r<t.doc.length;){let i=e.lineBlockAt(r),a=rZ(t,i.from,i.to);a&&n.push(KZ.of(a)),r=(a?e.lineBlockAt(a.to):i).to+1}return n.length&&e.dispatch({effects:lZ(e.state,n)}),!!n.length},QZ=e=>{let t=e.state.field(JZ,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(qZ.of({from:e,to:t}))}),e.dispatch({effects:n}),!0},$Z=[{key:`Ctrl-Shift-[`,mac:`Cmd-Alt-[`,run:YZ},{key:`Ctrl-Shift-]`,mac:`Cmd-Alt-]`,run:XZ},{key:`Ctrl-Alt-[`,run:ZZ},{key:`Ctrl-Alt-]`,run:QZ}],eQ={placeholderDOM:null,preparePlaceholder:null,placeholderText:`…`},tQ=SV.define({combine(e){return XB(e,eQ)}}),nQ=uK.replace({widget:new class extends cK{toDOM(e){return fZ(e,null)}}}),rQ=class extends cK{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return fZ(e,this.value)}},iQ={openText:`⌄`,closedText:``,markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1},aQ=class extends cY{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement(`span`);return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?`Fold line`:`Unfold line`),t}},oQ=sJ.baseTheme({".cm-foldPlaceholder":{backgroundColor:`#eee`,border:`1px solid #ddd`,color:`#888`,borderRadius:`.2em`,margin:`0 1px`,padding:`0 1px`,cursor:`pointer`},".cm-foldGutter span":{padding:`0 1px`,cursor:`pointer`}}),sQ=class e{constructor(e,t){this.specs=e;let n;function r(e){let t=cH.newName();return(n||(n=Object.create(null)))[`.`+t]=e,t}let i=typeof t.all==`string`?t.all:t.all?r(t.all):void 0,a=t.scope;this.scope=a instanceof DZ?e=>e.prop(TZ)==a.data:a?e=>e==a:void 0,this.style=uX(e.map(e=>({tag:e.tag,class:e.class||r(Object.assign({},e,{tag:null}))})),{all:i}).style,this.module=n?new cH(n):null,this.themeType=t.themeType}static define(t,n){return new e(t,n||{})}},cQ=SV.define(),lQ=SV.define({combine(e){return e.length?[e[0]]:null}}),uQ=class{constructor(e){this.markCache=Object.create(null),this.tree=zX(e.state),this.decorations=this.buildDeco(e,mZ(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=zX(e.state),n=mZ(e.state),r=n!=mZ(e.startState),{viewport:i}=e.view,a=e.changes.mapPos(this.decoratedTo,1);t.length<i.to&&!r&&t.type==this.tree.type&&a>=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=a):(t!=this.tree||e.viewportChanged||r)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n),this.decoratedTo=i.to)}buildDeco(e,t){if(!t||!this.tree.length)return uK.none;let n=new $V;for(let{from:r,to:i}of e.visibleRanges)fX(this.tree,t,(e,t,r)=>{n.add(e,t,this.markCache[r]||(this.markCache[r]=uK.mark({class:r})))},r,i);return n.finish()}},dQ=DV.high(JK.fromClass(uQ,{decorations:e=>e.decorations})),fQ=sQ.define([{tag:Q.meta,color:`#404740`},{tag:Q.link,textDecoration:`underline`},{tag:Q.heading,textDecoration:`underline`,fontWeight:`bold`},{tag:Q.emphasis,fontStyle:`italic`},{tag:Q.strong,fontWeight:`bold`},{tag:Q.strikethrough,textDecoration:`line-through`},{tag:Q.keyword,color:`#708`},{tag:[Q.atom,Q.bool,Q.url,Q.contentSeparator,Q.labelName],color:`#219`},{tag:[Q.literal,Q.inserted],color:`#164`},{tag:[Q.string,Q.deleted],color:`#a11`},{tag:[Q.regexp,Q.escape,Q.special(Q.string)],color:`#e40`},{tag:Q.definition(Q.variableName),color:`#00f`},{tag:Q.local(Q.variableName),color:`#30a`},{tag:[Q.typeName,Q.namespace],color:`#085`},{tag:Q.className,color:`#167`},{tag:[Q.special(Q.variableName),Q.macroName],color:`#256`},{tag:Q.definition(Q.propertyName),color:`#00c`},{tag:Q.comment,color:`#940`},{tag:Q.invalid,color:`#f00`}]),pQ=sJ.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:`#328c8252`},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:`#bb555544`}}),mQ=1e4,hQ=`()[]{}`,gQ=SV.define({combine(e){return XB(e,{afterCursor:!0,brackets:hQ,maxScanDistance:mQ,renderMatch:gZ})}}),_Q=uK.mark({class:`cm-matchingBracket`}),vQ=uK.mark({class:`cm-nonmatchingBracket`}),yQ=[TV.define({create(){return uK.none},update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],r=t.state.facet(gQ);for(let e of t.state.selection.ranges){if(!e.empty)continue;let i=bZ(t.state,e.head,-1,r)||e.head>0&&bZ(t.state,e.head-1,1,r)||r.afterCursor&&(bZ(t.state,e.head,1,r)||e.head<t.state.doc.length&&bZ(t.state,e.head+1,-1,r));i&&(n=n.concat(r.renderMatch(i,t.state)))}return uK.set(n,!0)},provide:e=>sJ.decorations.from(e)}),pQ],bQ=new zY,xQ=Object.create(null),SQ=[HY.none],CQ=[],wQ=Object.create(null),TQ=Object.create(null);for(let[e,t]of[[`variable`,`variableName`],[`variable-2`,`variableName.special`],[`string-2`,`string.special`],[`def`,`variableName.definition`],[`tag`,`tagName`],[`attribute`,`attributeName`],[`type`,`typeName`],[`builtin`,`variableName.standard`],[`qualifier`,`modifier`],[`error`,`invalid`],[`header`,`heading`],[`property`,`propertyName`]])TQ[e]=wZ(xQ,t);yK.RTL,yK.LTR}));dH(),IX();var DQ=class e{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}offset(t,n=t){return new e(this.fromA+t,this.toA+t,this.fromB+n,this.toB+n)}};function OQ(e,t,n,r,i,a){if(e==r)return[];let o=RQ(e,t,n,r,i,a),s=zQ(e,t+o,n,r,i+o,a);t+=o,n-=s,i+=o,a-=s;let c=n-t,l=a-i;if(!c||!l)return[new DQ(t,n,i,a)];if(c>l){let o=e.slice(t,n).indexOf(r.slice(i,a));if(o>-1)return[new DQ(t,t+o,i,i),new DQ(t+o+l,n,a,a)]}else if(l>c){let o=r.slice(i,a).indexOf(e.slice(t,n));if(o>-1)return[new DQ(t,t,i,i+o),new DQ(n,n,i+o+c,a)]}if(c==1||l==1)return[new DQ(t,n,i,a)];let u=VQ(e,t,n,r,i,a);if(u){let[o,s,c]=u;return OQ(e,t,o,r,i,s).concat(OQ(e,o+c,n,r,s+c,a))}return MQ(e,t,n,r,i,a)}var kQ=1e9,AQ=0,jQ=!1;function MQ(e,t,n,r,i,a){let o=n-t,s=a-i;if(kQ<1e9&&Math.min(o,s)>kQ*16||AQ>0&&Date.now()>AQ)return Math.min(o,s)>kQ*64?[new DQ(t,n,i,a)]:HQ(e,t,n,r,i,a);let c=Math.ceil((o+s)/2);PQ.reset(c),FQ.reset(c);let l=(n,a)=>e.charCodeAt(t+n)==r.charCodeAt(i+a),u=(t,i)=>e.charCodeAt(n-t-1)==r.charCodeAt(a-i-1),d=(o-s)%2==0?null:FQ,f=d?null:PQ;for(let p=0;p<c;p++){if(p>kQ||AQ>0&&!(p&63)&&Date.now()>AQ)return HQ(e,t,n,r,i,a);let m=PQ.advance(p,o,s,c,d,!1,l)||FQ.advance(p,o,s,c,f,!0,u);if(m)return IQ(e,t,n,t+m[0],r,i,a,i+m[1])}return[new DQ(t,n,i,a)]}var NQ=class{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let e=0;e<this.len;e++)this.vec[e]=-1;this.vec[e+1]=0,this.start=this.end=0}advance(e,t,n,r,i,a,o){for(let s=-e+this.start;s<=e-this.end;s+=2){let c=r+s,l=s==-e||s!=e&&this.vec[c-1]<this.vec[c+1]?this.vec[c+1]:this.vec[c-1]+1,u=l-s;for(;l<t&&u<n&&o(l,u);)l++,u++;if(this.vec[c]=l,l>t)this.end+=2;else if(u>n)this.start+=2;else if(i){let e=r+(t-n)-s;if(e>=0&&e<this.len&&i.vec[e]!=-1)if(a){let n=i.vec[e];if(n>=t-l)return[n,r+n-e]}else{let n=t-i.vec[e];if(l>=n)return[l,u]}}}return null}},PQ=new NQ,FQ=new NQ;function IQ(e,t,n,r,i,a,o,s){let c=!1;return!r$(e,r)&&++r==n&&(c=!0),!r$(i,s)&&++s==o&&(c=!0),c?[new DQ(t,n,a,o)]:OQ(e,t,r,i,a,s).concat(OQ(e,r,n,i,s,o))}function LQ(e,t){let n=1,r=Math.min(e,t);for(;n<r;)n<<=1;return n}function RQ(e,t,n,r,i,a){if(t==n||t==a||e.charCodeAt(t)!=r.charCodeAt(i))return 0;let o=LQ(n-t,a-i);for(let s=t,c=i;;){let i=s+o,l=c+o;if(i>n||l>a||e.slice(s,i)!=r.slice(c,l)){if(o==1)return s-t-+!r$(e,s);o>>=1}else if(i==n||l==a)return i-t;else s=i,c=l}}function zQ(e,t,n,r,i,a){if(t==n||i==a||e.charCodeAt(n-1)!=r.charCodeAt(a-1))return 0;let o=LQ(n-t,a-i);for(let s=n,c=a;;){let a=s-o,l=c-o;if(a<t||l<i||e.slice(a,s)!=r.slice(l,c)){if(o==1)return n-s-+!r$(e,s);o>>=1}else if(a==t||l==i)return n-a;else s=a,c=l}}function BQ(e,t,n,r,i,a,o,s){let c=r.slice(i,a),l=null;for(;;){if(l||o<s)return l;for(let s=t+o;;){r$(e,s)||s++;let u=s+o;if(r$(e,u)||(u+=u==s+1?1:-1),u>=n)break;let d=e.slice(s,u),f=-1;for(;(f=c.indexOf(d,f+1))!=-1;){let o=RQ(e,u,n,r,i+f+d.length,a),c=zQ(e,t,s,r,i,i+f),p=d.length+o+c;(!l||l[2]<p)&&(l=[s-c,i+f-c,p])}s=u}if(s<0)return l;o>>=1}}function VQ(e,t,n,r,i,a){let o=n-t,s=a-i;if(o<s){let o=VQ(r,i,a,e,t,n);return o&&[o[1],o[0],o[2]]}return o<4||s*2<o?null:BQ(e,t,n,r,i,a,Math.floor(o/4),-1)}function HQ(e,t,n,r,i,a){jQ=!0;let o=n-t,s=a-i,c;if(o<s){let s=BQ(r,i,a,e,t,n,Math.floor(o/6),50);c=s&&[s[1],s[0],s[2]]}else c=BQ(e,t,n,r,i,a,Math.floor(s/6),50);if(!c)return[new DQ(t,n,i,a)];let[l,u,d]=c;return OQ(e,t,l,r,i,u).concat(OQ(e,l+d,n,r,u+d,a))}function UQ(e,t){for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];r.toA>i.fromA-t&&r.toB>i.fromB-t&&(e[n-1]=new DQ(r.fromA,i.toA,r.fromB,i.toB),e.splice(n--,1))}}function WQ(e,t,n){for(;;){UQ(n,1);let r=!1;for(let i=0;i<n.length;i++){let a=n[i],o,s;(o=RQ(e,a.fromA,a.toA,t,a.fromB,a.toB))&&(a=n[i]=new DQ(a.fromA+o,a.toA,a.fromB+o,a.toB)),(s=zQ(e,a.fromA,a.toA,t,a.fromB,a.toB))&&(a=n[i]=new DQ(a.fromA,a.toA-s,a.fromB,a.toB-s));let c=a.toA-a.fromA,l=a.toB-a.fromB;if(c&&l)continue;let u=a.fromA-(i?n[i-1].toA:0),d=(i<n.length-1?n[i+1].fromA:e.length)-a.toA;if(!u||!d)continue;let f=c?e.slice(a.fromA,a.toA):t.slice(a.fromB,a.toB);u<=f.length&&e.slice(a.fromA-u,a.fromA)==f.slice(f.length-u)?(n[i]=new DQ(a.fromA-u,a.toA-u,a.fromB-u,a.toB-u),r=!0):d<=f.length&&e.slice(a.toA,a.toA+d)==f.slice(0,d)&&(n[i]=new DQ(a.fromA+d,a.toA+d,a.fromB+d,a.toB+d),r=!0)}if(!r)break}return n}function GQ(e,t,n){for(let r=0,i=0;i<e.length;i++){let a=e[i],o=a.toA-a.fromA,s=a.toB-a.fromB;if(o&&s||o>3||s>3){let c=i==e.length-1?t.length:e[i+1].fromA,l=a.fromA-r,u=c-a.toA,d=QQ(t,a.fromA,l),f=ZQ(t,a.toA,u),p=a.fromA-d,m=f-a.toA;if((!o||!s)&&p&&m){let l=Math.max(o,s),[u,h,g]=o?[t,a.fromA,a.toA]:[n,a.fromB,a.toB];l>p&&t.slice(d,a.fromA)==u.slice(g-p,g)?(a=e[i]=new DQ(d,d+o,a.fromB-p,a.toB-p),d=a.fromA,f=ZQ(t,a.toA,c-a.toA)):l>m&&t.slice(a.toA,f)==u.slice(h,h+m)&&(a=e[i]=new DQ(f-o,f,a.fromB+m,a.toB+m),f=a.toA,d=QQ(t,a.fromA,a.fromA-r)),p=a.fromA-d,m=f-a.toA}if(p||m)a=e[i]=new DQ(a.fromA-p,a.toA+m,a.fromB-p,a.toB+m);else if(!o){let t=e$(n,a.fromB,a.toB),r,o=t<0?-1:$Q(n,a.toB,a.fromB);t>-1&&(r=t-a.fromB)<=u&&n.slice(a.fromB,t)==n.slice(a.toB,a.toB+r)?a=e[i]=a.offset(r):o>-1&&(r=a.toB-o)<=l&&n.slice(a.fromB-r,a.fromB)==n.slice(o,a.toB)&&(a=e[i]=a.offset(-r))}else if(!s){let n=e$(t,a.fromA,a.toA),r,o=n<0?-1:$Q(t,a.toA,a.fromA);n>-1&&(r=n-a.fromA)<=u&&t.slice(a.fromA,n)==t.slice(a.toA,a.toA+r)?a=e[i]=a.offset(r):o>-1&&(r=a.toA-o)<=l&&t.slice(a.fromA-r,a.fromA)==t.slice(o,a.toA)&&(a=e[i]=a.offset(-r))}}r=a.toA}return UQ(e,3),e}var KQ;try{KQ=RegExp(`[\\p{Alphabetic}\\p{Number}]`,`u`)}catch{}function qQ(e){return e>48&&e<58||e>64&&e<91||e>96&&e<123}function JQ(e,t){if(t==e.length)return 0;let n=e.charCodeAt(t);return n<192?+!!qQ(n):KQ?!t$(n)||t==e.length-1?+!!KQ.test(String.fromCharCode(n)):KQ.test(e.slice(t,t+2))?2:0:0}function YQ(e,t){if(!t)return 0;let n=e.charCodeAt(t-1);return n<192?+!!qQ(n):KQ?!n$(n)||t==1?+!!KQ.test(String.fromCharCode(n)):KQ.test(e.slice(t-2,t))?2:0:0}var XQ=8;function ZQ(e,t,n){if(t==e.length||!YQ(e,t))return t;for(let r=t,i=t+n,a=0;a<XQ;a++){let t=JQ(e,r);if(!t||r+t>i)return r;r+=t}return t}function QQ(e,t,n){if(!t||!JQ(e,t))return t;for(let r=t,i=t-n,a=0;a<XQ;a++){let t=YQ(e,r);if(!t||r-t<i)return r;r-=t}return t}function $Q(e,t,n){for(;t!=n;t--)if(e.charCodeAt(t-1)==10)return t;return-1}function e$(e,t,n){for(;t!=n;t++)if(e.charCodeAt(t)==10)return t;return-1}var t$=e=>e>=55296&&e<=56319,n$=e=>e>=56320&&e<=57343;function r$(e,t){return!t||t==e.length||!t$(e.charCodeAt(t-1))||!n$(e.charCodeAt(t))}function i$(e,t,n){let r=n?.override;return r?r(e,t):(kQ=(n?.scanLimit??1e9)>>1,AQ=n?.timeout?Date.now()+n.timeout:0,jQ=!1,WQ(e,t,OQ(e,0,e.length,t,0,t.length)))}function a$(){return!jQ}function o$(e,t,n){return GQ(i$(e,t,n),e,t)}var s$=class e{constructor(e,t,n,r,i,a=!0){this.changes=e,this.fromA=t,this.toA=n,this.fromB=r,this.toB=i,this.precise=a}offset(t,n){return t||n?new e(this.changes,this.fromA+t,this.toA+t,this.fromB+n,this.toB+n,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,t,n){return u$(o$(e.toString(),t.toString(),n),e,t,0,0,a$())}static updateA(e,t,n,r,i){return m$(p$(e,r,!0,n.length),e,t,n,i)}static updateB(e,t,n,r,i){return m$(p$(e,r,!1,t.length),e,t,n,i)}};function c$(e,t,n,r){let i=n.lineAt(e),a=r.lineAt(t);return i.to==e&&a.to==t&&e<n.length&&t<r.length?[e+1,t+1]:[i.from,a.from]}function l$(e,t,n,r){let i=n.lineAt(e),a=r.lineAt(t);return i.from==e&&a.from==t?[e,t]:[i.to+1,a.to+1]}function u$(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length;s++){let c=e[s],[l,u]=c$(c.fromA+r,c.fromB+i,t,n),[d,f]=l$(c.toA+r,c.toB+i,t,n),p=[c.offset(-l+r,-u+i)];for(;s<e.length-1;){let a=e[s+1],[o,c]=c$(a.fromA+r,a.fromB+i,t,n);if(o>d+1&&c>f+1)break;p.push(a.offset(-l+r,-u+i)),[d,f]=l$(a.toA+r,a.toB+i,t,n),s++}o.push(new s$(p,l,Math.max(l,d),u,Math.max(u,f),a))}return o}var d$=1e3;function f$(e,t,n,r){let i=0,a=e.length;for(;;){if(i==a){let r=0,a=0;i&&({toA:r,toB:a}=e[i-1]);let o=t-(n?r:a);return[r+o,a+o]}let o=i+a>>1,s=e[o],[c,l]=n?[s.fromA,s.toA]:[s.fromB,s.toB];if(c>t)a=o;else if(l<=t)i=o+1;else return r?[s.fromA,s.fromB]:[s.toA,s.toB]}}function p$(e,t,n,r){let i=[];return t.iterChangedRanges((a,o,s,c)=>{let l=0,u=n?t.length:r,d=0,f=n?r:t.length;a>d$&&([l,d]=f$(e,a-d$,n,!0)),o<t.length-d$&&([u,f]=f$(e,o+d$,n,!1));let p=c-s-(o-a),m,[h,g]=n?[p,0]:[0,p];i.length&&(m=i[i.length-1]).toA>=l?i[i.length-1]={fromA:m.fromA,fromB:m.fromB,toA:u,toB:f,diffA:m.diffA+h,diffB:m.diffB+g}:i.push({fromA:l,toA:u,fromB:d,toB:f,diffA:h,diffB:g})}),i}function m$(e,t,n,r,i){if(!e.length)return t;let a=[];for(let o=0,s=0,c=0,l=0;;o++){let u=o==e.length?null:e[o],d=u?u.fromA+s:n.length,f=u?u.fromB+c:r.length;for(;l<t.length;){let e=t[l];if(u&&(e.toA+s>d||e.toB+c>f))break;a.push(e.offset(s,c)),l++}if(!u)break;let p=u.toA+s+u.diffA,m=u.toB+c+u.diffB,h=o$(n.sliceString(d,p),r.sliceString(f,m),i);for(let e of u$(h,n,r,d,f,a$()))a.push(e);for(s+=u.diffA,c+=u.diffB;l<t.length;){let e=t[l];if(e.fromA+s>p&&e.fromB+c>m)break;l++}}return a}var h$={diffModal:`DiffModal-module__diffModal___v1LSh`,content:`DiffModal-module__content___CqXvC`,emptyState:`DiffModal-module__emptyState___gS4Kg`,diffContainer:`DiffModal-module__diffContainer___AoJKb`,fileHeader:`DiffModal-module__fileHeader___7jkN4`,fileIcon:`DiffModal-module__fileIcon___OxYTx`,fileName:`DiffModal-module__fileName___2ylCY`,fileStats:`DiffModal-module__fileStats___bN8WB`,statAdditions:`DiffModal-module__statAdditions___EKdp8`,statDeletions:`DiffModal-module__statDeletions___Py0Xg`,statBar:`DiffModal-module__statBar___tR7TQ`,statBlock:`DiffModal-module__statBlock___4qKhG`,statBlockAdd:`DiffModal-module__statBlockAdd___VI4yX`,statBlockDel:`DiffModal-module__statBlockDel___39sMa`,diffBody:`DiffModal-module__diffBody___9dIqe`,hunk:`DiffModal-module__hunk___AcNIC`,hunkHeader:`DiffModal-module__hunkHeader___xUVgg`,hunkGutter:`DiffModal-module__hunkGutter___QVKqi`,hunkExpandIcon:`DiffModal-module__hunkExpandIcon___zbAx-`,hunkText:`DiffModal-module__hunkText___iPVut`,diffLine:`DiffModal-module__diffLine___9KzZK`,lineNum:`DiffModal-module__lineNum___VXwKE`,lineNumEmpty:`DiffModal-module__lineNumEmpty___I-5AK`,linePrefix:`DiffModal-module__linePrefix___ofp2Q`,lineText:`DiffModal-module__lineText___Zdyo3`,context:`DiffModal-module__context___RnJqZ`,deletion:`DiffModal-module__deletion___rms8N`,addition:`DiffModal-module__addition___a6g2h`};rH();var g$=3,_$=(e,t)=>Math.max(0,Math.min(t,e.length));function v$(e,t){let n=cV.of(e.split(`
`)),r=cV.of(t.split(`
`)),i=s$.build(n,r),a=0,o=0;return{hunks:i.map(e=>{let t=[],i=e.fromA<e.toA,s=e.fromB<e.toB,c=[];if(i){let t=n.lineAt(e.fromA).number,r=n.lineAt(e.toA-1).number;for(let e=t;e<=r;e++)c.push({num:e,text:n.line(e).text})}let l=[];if(s){let t=r.lineAt(e.fromB).number,n=r.lineAt(e.toB-1).number;for(let e=t;e<=n;e++)l.push({num:e,text:r.line(e).text})}o+=c.length,a+=l.length;let u,d,f,p;if(i)u=c[0].num-1,d=c[c.length-1].num+1;else{let t=_$(n,e.fromA),r=n.lineAt(t);e.fromA===r.from?(u=r.number-1,d=r.number):(u=r.number,d=r.number+1)}if(s)f=l[0].num-1,p=l[l.length-1].num+1;else{let t=_$(r,e.fromB),n=r.lineAt(t);e.fromB===n.from?(f=n.number-1,p=n.number):(f=n.number,p=n.number+1)}let m=Math.min(g$,Math.max(0,u),Math.max(0,f));for(let e=m;e>0;e--){let r=u-e+1,i=f-e+1;r>=1&&i>=1&&r<=n.lines&&t.push({type:`context`,oldNum:r,newNum:i,text:n.line(r).text})}for(let e of c)t.push({type:`deletion`,oldNum:e.num,newNum:null,text:e.text});for(let e of l)t.push({type:`addition`,oldNum:null,newNum:e.num,text:e.text});let h=Math.max(0,Math.min(g$,n.lines-d+1)),g=Math.max(0,Math.min(g$,r.lines-p+1)),_=Math.min(h,g);for(let e=0;e<_;e++){let i=d+e,a=p+e;i>=1&&i<=n.lines&&a>=1&&a<=r.lines&&t.push({type:`context`,oldNum:i,newNum:a,text:n.line(i).text})}let v=t.find(e=>e.oldNum!==null)?.oldNum??1,y=t.find(e=>e.newNum!==null)?.newNum??1;return{oldStart:v,oldCount:t.filter(e=>e.type!==`addition`).length,newStart:y,newCount:t.filter(e=>e.type!==`deletion`).length,lines:t}}),additions:a,deletions:o}}var y$=5;function b$({additions:e,deletions:t}){let n=e+t;if(n===0)return null;let r=Math.round(e/n*y$);return(0,H.jsx)(`span`,{className:h$.statBar,children:Array.from({length:y$},(e,t)=>(0,H.jsx)(`span`,{className:`${h$.statBlock} ${t<r?h$.statBlockAdd:h$.statBlockDel}`},t))})}function x$({open:e,original:t,modified:n,onConfirm:r,onCancel:i,loading:a=!1}){let{t:o}=ss(),s=(0,y.useMemo)(()=>v$(t,n),[t,n]);return(0,H.jsx)(ym,{open:e,title:o(`config_management.diff.title`),onClose:i,width:`min(1200px, 90vw)`,className:h$.diffModal,closeDisabled:a,footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:i,disabled:a,children:o(`common.cancel`)}),(0,H.jsx)(U,{onClick:r,loading:a,disabled:a,children:o(`config_management.diff.confirm`)})]}),children:(0,H.jsx)(`div`,{className:h$.content,children:s.hunks.length===0?(0,H.jsx)(`div`,{className:h$.emptyState,children:o(`config_management.diff.no_changes`)}):(0,H.jsxs)(`div`,{className:h$.diffContainer,children:[(0,H.jsxs)(`div`,{className:h$.fileHeader,children:[(0,H.jsx)(`svg`,{className:h$.fileIcon,viewBox:`0 0 16 16`,width:`16`,height:`16`,children:(0,H.jsx)(`path`,{fillRule:`evenodd`,d:`M3.75 1.5a.25.25 0 00-.25.25v11.5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25V6H9.75A1.75 1.75 0 018 4.25V1.5H3.75zm5.75.56v2.19c0 .138.112.25.25.25h2.19L9.5 2.06zM2 1.75C2 .784 2.784 0 3.75 0h5.086c.464 0 .909.184 1.237.513l3.414 3.414c.329.328.513.773.513 1.237v8.086A1.75 1.75 0 0112.25 15h-8.5A1.75 1.75 0 012 13.25V1.75z`,fill:`currentColor`})}),(0,H.jsx)(`span`,{className:h$.fileName,children:`config.yaml`}),(0,H.jsxs)(`span`,{className:h$.fileStats,children:[(0,H.jsxs)(`span`,{className:h$.statAdditions,children:[`+`,s.additions]}),(0,H.jsxs)(`span`,{className:h$.statDeletions,children:[`-`,s.deletions]}),(0,H.jsx)(b$,{additions:s.additions,deletions:s.deletions})]})]}),(0,H.jsx)(`div`,{className:h$.diffBody,children:s.hunks.map((e,t)=>(0,H.jsxs)(`div`,{className:h$.hunk,children:[(0,H.jsxs)(`div`,{className:h$.hunkHeader,children:[(0,H.jsx)(`span`,{className:h$.hunkGutter,children:(0,H.jsx)(`svg`,{className:h$.hunkExpandIcon,viewBox:`0 0 16 16`,width:`12`,height:`12`,children:(0,H.jsx)(`path`,{d:`M8.177 1.677l2.896 2.896a.25.25 0 01-.177.427H8.75v1.25a.75.75 0 01-1.5 0V5H5.104a.25.25 0 01-.177-.427l2.896-2.896a.25.25 0 01.354 0zM7.25 11.75a.75.75 0 011.5 0V13h2.146a.25.25 0 01.177.427l-2.896 2.896a.25.25 0 01-.354 0l-2.896-2.896A.25.25 0 015.104 13H7.25v-1.25z`,fill:`currentColor`})})}),(0,H.jsx)(`span`,{className:h$.hunkGutter}),(0,H.jsxs)(`span`,{className:h$.hunkText,children:[`@@ -`,e.oldStart,`,`,e.oldCount,` +`,e.newStart,`,`,e.newCount,` @@`]})]}),e.lines.map((e,n)=>(0,H.jsxs)(`div`,{className:`${h$.diffLine} ${h$[e.type]}`,children:[(0,H.jsx)(`span`,{className:`${h$.lineNum} ${e.oldNum===null?h$.lineNumEmpty:``}`,children:e.oldNum??``}),(0,H.jsx)(`span`,{className:`${h$.lineNum} ${e.newNum===null?h$.lineNumEmpty:``}`,children:e.newNum??``}),(0,H.jsx)(`span`,{className:h$.linePrefix,children:e.type===`deletion`?`-`:e.type===`addition`?`+`:` `}),(0,H.jsx)(`code`,{className:h$.lineText,children:e.text||` `})]},`${t}-${n}`))]},t))})]})})})}var S$={container:`ConfigPage-module__container___5kN-Y`,pageHeader:`ConfigPage-module__pageHeader___Zulyi`,pageHeaderCopy:`ConfigPage-module__pageHeaderCopy___fiTfJ`,pageTitle:`ConfigPage-module__pageTitle___BoVLE`,tabBar:`ConfigPage-module__tabBar___PelpE`,tabItem:`ConfigPage-module__tabItem___Uj1rU`,tabActive:`ConfigPage-module__tabActive___sZLh-`,workspaceShell:`ConfigPage-module__workspaceShell___Ztz3J`,content:`ConfigPage-module__content___PgFbt`,sourceWorkspace:`ConfigPage-module__sourceWorkspace___bUuLs`,sourceToolbar:`ConfigPage-module__sourceToolbar___fhCdI`,searchInputWrapper:`ConfigPage-module__searchInputWrapper___-GeEQ`,searchInput:`ConfigPage-module__searchInput___ock8o`,searchRight:`ConfigPage-module__searchRight___pwWBV`,searchCount:`ConfigPage-module__searchCount___AIry7`,searchButton:`ConfigPage-module__searchButton___GRbfi`,searchActions:`ConfigPage-module__searchActions___ZGITa`,editorWrapper:`ConfigPage-module__editorWrapper___yBudn`,modified:`ConfigPage-module__modified___4mzgT`,saved:`ConfigPage-module__saved___zmZx2`,error:`ConfigPage-module__error___qlpX1`,floatingActionContainer:`ConfigPage-module__floatingActionContainer___3ZQ-z`,floatingActionList:`ConfigPage-module__floatingActionList___ky8bV`,floatingStatus:`ConfigPage-module__floatingStatus___u8zOi`,floatingStatusCompact:`ConfigPage-module__floatingStatusCompact___STwcZ`,floatingActionButton:`ConfigPage-module__floatingActionButton___Htxmz`,dirtyDot:`ConfigPage-module__dirtyDot___zXEnD`};function C$(){return C$=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},C$.apply(null,arguments)}var w$=o((()=>{}));function T$(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}var E$=o((()=>{}));function D$(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return i?(r(n.update(i)),!0):!1}}function O$(e,t){let n=e.languageDataAt(`commentTokens`,t,1);return n.length?n[0]:{}}function k$(e,{open:t,close:n},r,i){let a=e.sliceDoc(r-x1,r),o=e.sliceDoc(i,i+x1),s=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(o)[0].length,l=a.length-s;if(a.slice(l-t.length,l)==t&&o.slice(c,c+n.length)==n)return{open:{pos:r-s,margin:s&&1},close:{pos:i+c,margin:c&&1}};let u,d;i-r<=2*x1?u=d=e.sliceDoc(r,i):(u=e.sliceDoc(r,r+x1),d=e.sliceDoc(i-x1,i));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-n.length;return u.slice(f,f+t.length)==t&&d.slice(m,m+n.length)==n?{open:{pos:r+f+t.length,margin:+!!/\s/.test(u.charAt(f+t.length))},close:{pos:i-p-n.length,margin:+!!/\s/.test(d.charAt(m-1))}}:null}function A$(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}function j$(e,t,n=t.selection.ranges){let r=n.map(e=>O$(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>k$(t,r[n],e.from,e.to));if(e!=2&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+` `},{from:e.to,insert:` `+r[t].close}]))};if(e!=1&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:a,close:o}=n;e.push({from:a.pos-i.open.length,to:a.pos+a.margin},{from:o.pos-o.margin,to:o.pos+i.close.length})}return{changes:e}}return null}function M$(e,t,n=t.selection.ranges){let r=[],i=-1;for(let{from:e,to:a}of n){let n=r.length,o=1e9,s=O$(t,e).line;if(s){for(let n=e;n<=a;){let c=t.doc.lineAt(n);if(c.from>i&&(e==a||a>c.from)){i=c.from;let e=/^\s*/.exec(c.text)[0].length,t=e==c.length,n=c.text.slice(e,e+s.length)==s?e:-1;e<c.text.length&&e<o&&(o=e),r.push({line:c,comment:n,token:s,indent:e,empty:t,single:!1})}n=c.to+1}if(o<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=o);r.length==n+1&&(r[n].single=!0)}}if(e!=2&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:a,single:o}of r)(o||!a)&&e.push({from:t.from+i,insert:n+` `});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}else if(e!=1&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,a=r+i.length;t.text[a-t.from]==` `&&a++,e.push({from:r,to:a})}return{changes:e}}return null}function N$(e={}){return[E1,T1.of(e),sJ.domEventHandlers({beforeinput(e,t){let n=e.inputType==`historyUndo`?D1:e.inputType==`historyRedo`?O1:null;return n?(e.preventDefault(),n(t)):!1}})]}function P$(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(E1,!1);if(!i)return!1;let a=i.pop(e,n,t);return a?(r(a),!0):!1}}function F$(e,t,n,r){let i=t+1>n+20?t-n-1:0,a=e.slice(i,t);return a.push(r),a}function I$(e,t){let n=[],r=!1;return e.iterChangedRanges((e,t)=>n.push(e,t)),t.iterChangedRanges((e,t,i,a)=>{for(let e=0;e<n.length;){let t=n[e++],o=n[e++];a>=t&&i<=o&&(r=!0)}}),r}function L$(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((e,n)=>e.empty!=t.ranges[n].empty).length===0}function R$(e,t){return e.length?t.length?e.concat(t):e:t}function z$(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-N1));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),F$(e,e.length-1,1e9,n.setSelAfter(r)))}else return[j1.selection([t])]}function B$(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function V$(e,t){if(!e.length)return e;let n=e.length,r=M1;for(;n;){let i=H$(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}else t=i.mapped,n--,r=i.selectionsAfter}return r.length?[j1.selection(r)]:M1}function H$(e,t,n){let r=R$(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):M1,n);if(!e.changes)return j1.selection(r);let i=e.changes.map(t),a=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(a):a;return new j1(i,HV.mapEffects(e.effects,t),o,e.startSelection.map(a),r)}function U$(e,t){return Z.create(e.ranges.map(t),e.mainIndex)}function W$(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:`select`})}function G$({state:e,dispatch:t},n){let r=U$(e.selection,n);return r.eq(e.selection,!0)?!1:(t(W$(e,r)),!0)}function K$(e,t){return Z.cursor(t?e.to:e.from)}function q$(e,t){return G$(e,n=>n.empty?e.moveByChar(n,t):K$(n,t))}function J$(e){return e.textDirectionAt(e.state.selection.main.head)==yK.LTR}function Y$(e,t){return G$(e,n=>n.empty?e.moveByGroup(n,t):K$(n,t))}function X$(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Z$(e,t,n){let r=zX(e).resolveInner(t.head),i=n?zY.closedBy:zY.openedBy;for(let a=t.head;;){let t=n?r.childAfter(a):r.childBefore(a);if(!t)break;X$(e,t,i)?r=t:a=n?t.to:t.from}let a=r.type.prop(i),o,s;return s=a&&(o=n?bZ(e,r.from,1):bZ(e,r.to,-1))&&o.matched?n?o.end.to:o.end.from:n?r.to:r.from,Z.cursor(s,n?-1:1)}function Q$(e,t){return G$(e,n=>{if(!n.empty)return K$(n,t);let r=e.moveVertically(n,t);return r.head==n.head?e.moveToLineBoundary(n,t):r})}function $$(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,i;if(t){for(let t of e.state.facet(sJ.scrollMargins)){let i=t(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}i=e.scrollDOM.clientHeight-n-r}else i=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,i-5)}}function e1(e,t){let n=$$(e),{state:r}=e,i=U$(r.selection,r=>r.empty?e.moveVertically(r,t,n.height):K$(r,t));if(i.eq(r.selection))return!1;let a;if(n.selfScroll){let t=e.coordsAtPos(r.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),s=o.top+n.marginTop,c=o.bottom-n.marginBottom;t&&t.top>s&&t.bottom<c&&(a=sJ.scrollIntoView(i.main.head,{y:`start`,yMargin:t.top-s}))}return e.dispatch(W$(r,i),{effects:a}),!0}function t1(e,t,n){let r=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?r.to:r.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==r.from&&r.length){let n=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&t.head!=r.from+n&&(i=Z.cursor(r.from+n))}return i}function n1(e,t,n){let r=!1,i=U$(e.selection,t=>{let i=bZ(e,t.head,-1)||bZ(e,t.head,1)||t.head>0&&bZ(e,t.head-1,1)||t.head<e.doc.length&&bZ(e,t.head+1,-1);if(!i||!i.end)return t;r=!0;let a=i.start.from==t.head?i.end.to:i.end.from;return n?Z.range(t.anchor,a):Z.cursor(a)});return r?(t(W$(e,i)),!0):!1}function r1(e,t){let n=U$(e.state.selection,e=>{let n=t(e);return Z.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return n.eq(e.state.selection)?!1:(e.dispatch(W$(e.state,n)),!0)}function i1(e,t){return r1(e,n=>e.moveByChar(n,t))}function a1(e,t){return r1(e,n=>e.moveByGroup(n,t))}function o1(e,t){return r1(e,n=>e.moveVertically(n,t))}function s1(e,t){return r1(e,n=>e.moveVertically(n,t,$$(e).height))}function c1(e,t){let{state:n}=e,r=n.selection,i=n.selection.ranges.slice();for(let r of n.selection.ranges){let a=n.doc.lineAt(r.head);if(t?a.to<e.state.doc.length:a.from>0)for(let n=r;;){let r=e.moveVertically(n,t);if(r.head<a.from||r.head>a.to){i.some(e=>e.head==r.head)||i.push(r);break}else if(r.head==n.head)break;else n=r}}return i.length==r.ranges.length?!1:(e.dispatch(W$(n,Z.create(i,i.length-1))),!0)}function l1(e,t){if(e.state.readOnly)return!1;let n=`delete.selection`,{state:r}=e,i=r.changeByRange(r=>{let{from:i,to:a}=r;if(i==a){let o=t(r);o<i?(n=`delete.backward`,o=u1(e,o,!1)):o>i&&(n=`delete.forward`,o=u1(e,o,!0)),i=Math.min(i,o),a=Math.max(a,o)}else i=u1(e,i,!1),a=u1(e,a,!0);return i==a?{range:r}:{changes:{from:i,to:a},range:Z.cursor(i,i<r.head?-1:1)}});return i.changes.empty?!1:(e.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:n==`delete.selection`?sJ.announce.of(r.phrase(`Selection deleted`)):void 0})),!0)}function u1(e,t,n){if(e instanceof sJ)for(let r of e.state.facet(sJ.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}function d1(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=a.to,e.ranges.push(r)}else t.push({from:i.from,to:a.to,ranges:[r]});n=a.number+1}return t}function f1(e,t,n){if(e.readOnly)return!1;let r=[],i=[];for(let t of d1(e)){if(n?t.to==e.doc.length:t.from==0)continue;let a=e.doc.lineAt(n?t.to+1:t.from-1),o=a.length+1;if(n){r.push({from:t.to,to:a.to},{from:t.from,insert:a.text+e.lineBreak});for(let n of t.ranges)i.push(Z.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{r.push({from:a.from,to:t.from},{from:t.to,insert:e.lineBreak+a.text});for(let e of t.ranges)i.push(Z.range(e.anchor-o,e.head-o))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:Z.create(i,e.selection.mainIndex),userEvent:`move.line`})),!0):!1}function p1(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of d1(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:r,scrollIntoView:!0,userEvent:`input.copyline`})),!0}function m1(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=zX(e).resolveInner(t),r=n.childBefore(t),i=n.childAfter(t),a;return r&&i&&r.to<=t&&i.from>=t&&(a=r.type.prop(zY.closedBy))&&a.indexOf(i.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}function h1(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(n=>{let{from:r,to:i}=n,a=t.doc.lineAt(r),o=!e&&r==i&&m1(t,r);e&&(r=i=(i<=a.to?a:t.doc.lineAt(i)).to);let s=new BZ(t,{simulateBreak:r,simulateDoubleBreak:!!o}),c=UX(s,r);for(c??(c=oV(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize));i<a.to&&/\s/.test(a.text[i-a.from]);)i++;o?{from:r,to:i}=o:r>a.from&&r<a.from+100&&!/\S/.test(a.text.slice(0,r))&&(r=a.from);let l=[``,HX(t,c)];return o&&l.push(HX(t,s.lineIndent(a.from,-1))),{changes:{from:r,to:i,insert:cV.of(l)},range:Z.cursor(r+1+l[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:`input`})),!0}}function g1(e,t){let n=-1;return e.changeByRange(r=>{let i=[];for(let a=r.from;a<=r.to;){let o=e.doc.lineAt(a);o.number>n&&(r.empty||r.to>o.from)&&(t(o,i,r),n=o.number),a=o.to+1}let a=e.changes(i);return{changes:i,range:Z.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}var _1,v1,y1,b1,x1,S1,C1,w1,T1,E1,D1,O1,k1,A1,j1,M1,N1,P1,F1,I1,L1,R1,z1,B1,V1,H1,U1,W1,G1,K1,q1,J1,Y1,X1,Z1,Q1,$1,e0,t0,n0,r0,i0,a0,o0,s0,c0,l0,u0,d0,f0,p0,m0,h0,g0,_0,v0,y0,b0,x0,S0,C0,w0,T0,E0,D0,O0,k0,A0,j0,M0,N0,P0,F0,I0,L0,R0,z0,B0,V0,H0,U0,W0,G0,K0,q0,J0,Y0,X0,Z0,Q0=o((()=>{rH(),TY(),EQ(),oX(),_1=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=O$(e.state,n.from);return r.line?v1(e):r.block?b1(e):!1},v1=D$(M$,0),y1=D$(j$,0),b1=D$((e,t)=>j$(e,t,A$(t)),0),x1=50,S1=zV.define(),C1=zV.define(),w1=SV.define(),T1=SV.define({combine(e){return XB(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),E1=TV.define({create(){return F1.empty},update(e,t){let n=t.state.facet(T1),r=t.annotation(S1);if(r){let i=j1.fromTransaction(t,r.selection),a=r.side,o=a==0?e.undone:e.done;return o=i?F$(o,o.length,n.minDepth,i):z$(o,t.startState.selection),new F1(a==0?r.rest:o,a==0?o:r.rest)}let i=t.annotation(C1);if((i==`full`||i==`before`)&&(e=e.isolate()),t.annotation(UV.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=j1.fromTransaction(t),o=t.annotation(UV.time),s=t.annotation(UV.userEvent);return a?e=e.addChanges(a,o,s,n,t):t.selection&&(e=e.addSelection(t.startState.selection,o,s,n.newGroupDelay)),(i==`full`||i==`after`)&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}},fromJSON(e){return new F1(e.done.map(j1.fromJSON),e.undone.map(j1.fromJSON))}}),D1=P$(0,!1),O1=P$(1,!1),k1=P$(0,!0),A1=P$(1,!0),j1=class e{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){return{changes:this.changes?.toJSON(),mapped:this.mapped?.toJSON(),startSelection:this.startSelection?.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(t){return new e(t.changes&&vV.fromJSON(t.changes),[],t.mapped&&_V.fromJSON(t.mapped),t.startSelection&&Z.fromJSON(t.startSelection),t.selectionsAfter.map(Z.fromJSON))}static fromTransaction(t,n){let r=M1;for(let e of t.startState.facet(w1)){let n=e(t);n.length&&(r=r.concat(n))}return!r.length&&t.changes.empty?null:new e(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,M1)}static selection(t){return new e(void 0,M1,void 0,void 0,t)}},M1=[],N1=200,P1=/^(input\.type|delete)($|\.)/,F1=class e{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new e(this.done,this.undone):this}addChanges(t,n,r,i,a){let o=this.done,s=o[o.length-1];return o=s&&s.changes&&!s.changes.empty&&t.changes&&(!r||P1.test(r))&&(!s.selectionsAfter.length&&n-this.prevTime<i.newGroupDelay&&i.joinToEvent(a,I$(s.changes,t.changes))||r==`input.type.compose`)?F$(o,o.length-1,i.minDepth,new j1(t.changes.compose(s.changes),R$(HV.mapEffects(t.effects,s.changes),s.effects),s.mapped,s.startSelection,M1)):F$(o,o.length,i.minDepth,t),new e(o,M1,n,r)}addSelection(t,n,r,i){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:M1;return a.length>0&&n-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&L$(a[a.length-1],t)?this:new e(z$(this.done,t),this.undone,n,r)}addMapping(t){return new e(V$(this.done,t),V$(this.undone,t),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let i=r[r.length-1],a=i.selectionsAfter[0]||t.selection;if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:S1.of({side:e,rest:B$(r),selection:a}),userEvent:e==0?`select.undo`:`select.redo`,scrollIntoView:!0});if(i.changes){let n=r.length==1?M1:r.slice(0,r.length-1);return i.mapped&&(n=V$(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:S1.of({side:e,rest:n,selection:a}),filter:!1,userEvent:e==0?`undo`:`redo`,scrollIntoView:!0})}else return null}},F1.empty=new F1(M1,M1),I1=[{key:`Mod-z`,run:D1,preventDefault:!0},{key:`Mod-y`,mac:`Mod-Shift-z`,run:O1,preventDefault:!0},{linux:`Ctrl-Shift-z`,run:O1,preventDefault:!0},{key:`Mod-u`,run:k1,preventDefault:!0},{key:`Alt-u`,mac:`Mod-Shift-u`,run:A1,preventDefault:!0}],L1=e=>q$(e,!J$(e)),R1=e=>q$(e,J$(e)),z1=e=>Y$(e,!J$(e)),B1=e=>Y$(e,J$(e)),typeof Intl<`u`&&Intl.Segmenter,V1=e=>G$(e,t=>Z$(e.state,t,!J$(e))),H1=e=>G$(e,t=>Z$(e.state,t,J$(e))),U1=e=>Q$(e,!1),W1=e=>Q$(e,!0),G1=e=>e1(e,!1),K1=e=>e1(e,!0),q1=e=>G$(e,t=>t1(e,t,!0)),J1=e=>G$(e,t=>t1(e,t,!1)),Y1=e=>G$(e,t=>t1(e,t,!J$(e))),X1=e=>G$(e,t=>t1(e,t,J$(e))),Z1=e=>G$(e,t=>Z.cursor(e.lineBlockAt(t.head).from,1)),Q1=e=>G$(e,t=>Z.cursor(e.lineBlockAt(t.head).to,-1)),$1=({state:e,dispatch:t})=>n1(e,t,!1),e0=e=>i1(e,!J$(e)),t0=e=>i1(e,J$(e)),n0=e=>a1(e,!J$(e)),r0=e=>a1(e,J$(e)),i0=e=>r1(e,t=>Z$(e.state,t,!J$(e))),a0=e=>r1(e,t=>Z$(e.state,t,J$(e))),o0=e=>o1(e,!1),s0=e=>o1(e,!0),c0=e=>s1(e,!1),l0=e=>s1(e,!0),u0=e=>r1(e,t=>t1(e,t,!0)),d0=e=>r1(e,t=>t1(e,t,!1)),f0=e=>r1(e,t=>t1(e,t,!J$(e))),p0=e=>r1(e,t=>t1(e,t,J$(e))),m0=e=>r1(e,t=>Z.cursor(e.lineBlockAt(t.head).from)),h0=e=>r1(e,t=>Z.cursor(e.lineBlockAt(t.head).to)),g0=({state:e,dispatch:t})=>(t(W$(e,{anchor:0})),!0),_0=({state:e,dispatch:t})=>(t(W$(e,{anchor:e.doc.length})),!0),v0=({state:e,dispatch:t})=>(t(W$(e,{anchor:e.selection.main.anchor,head:0})),!0),y0=({state:e,dispatch:t})=>(t(W$(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),b0=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:`select`})),!0),x0=({state:e,dispatch:t})=>{let n=d1(e).map(({from:t,to:n})=>Z.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:Z.create(n),userEvent:`select`})),!0},S0=({state:e,dispatch:t})=>{let n=U$(e.selection,t=>{let n=zX(e),r=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=r.node.from&&e.node.to<=r.node.to&&(r=e)}for(let e=r;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return Z.range(n.to,n.from)}return t});return n.eq(e.selection)?!1:(t(W$(e,n)),!0)},C0=e=>c1(e,!1),w0=e=>c1(e,!0),T0=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=Z.create([n.main]):n.main.empty||(r=Z.create([Z.cursor(n.main.head)])),r?(t(W$(e,r)),!0):!1},E0=(e,t,n)=>l1(e,r=>{let i=r.from,{state:a}=e,o=a.doc.lineAt(i),s,c;if(n&&!t&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(s=o.text.slice(0,i-o.from))){if(s[s.length-1]==` `)return i-1;let e=oV(s,a.tabSize)%VX(a)||VX(a);for(let t=0;t<e&&s[s.length-1-t]==` `;t++)i--;c=i}else c=xB(o.text,i-o.from,t,t)+o.from,c==i&&o.number!=(t?a.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(o.text.slice(c-o.from,i-o.from))&&(c=xB(o.text,c-o.from,!1,!1)+o.from);return c}),D0=e=>E0(e,!1,!0),O0=e=>E0(e,!0,!1),k0=(e,t)=>l1(e,n=>{let r=n.head,{state:i}=e,a=i.doc.lineAt(r),o=i.charCategorizer(r);for(let e=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?i.doc.lines:1)&&(r+=t?1:-1);break}let s=xB(a.text,r-a.from,t)+a.from,c=a.text.slice(Math.min(r,s)-a.from,Math.max(r,s)-a.from),l=o(c);if(e!=null&&l!=e)break;(c!=` `||r!=n.head)&&(e=l),r=s}return r}),A0=e=>k0(e,!1),j0=e=>k0(e,!0),M0=e=>l1(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),N0=e=>l1(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),P0=e=>l1(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),F0=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:cV.of([``,``])},range:Z.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:`input`})),!0},I0=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||t.from==0||t.from==e.doc.length)return{range:t};let n=t.from,r=e.doc.lineAt(n),i=n==r.from?n-1:xB(r.text,n-r.from,!1)+r.from,a=n==r.to?n+1:xB(r.text,n-r.from,!0)+r.from;return{changes:{from:i,to:a,insert:e.doc.slice(n,a).append(e.doc.slice(i,n))},range:Z.cursor(a)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:`move.character`})),!0)},L0=({state:e,dispatch:t})=>f1(e,t,!1),R0=({state:e,dispatch:t})=>f1(e,t,!0),z0=({state:e,dispatch:t})=>p1(e,t,!1),B0=({state:e,dispatch:t})=>p1(e,t,!0),V0=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(d1(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=U$(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:`delete.line`}),!0},H0=h1(!1),U0=h1(!0),W0=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new BZ(e,{overrideIndentation:e=>n[e]??-1}),i=g1(e,(t,i,a)=>{let o=UX(r,t.from);if(o==null)return;/\S/.test(t.text)||(o=0);let s=/^\s*/.exec(t.text)[0],c=HX(e,o);(s!=c||a.from<t.from+s.length)&&(n[t.from]=o,i.push({from:t.from,to:t.from+s.length,insert:c}))});return i.changes.empty||t(e.update(i,{userEvent:`indent`})),!0},G0=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(g1(e,(t,n)=>{n.push({from:t.from,insert:e.facet(zZ)})}),{userEvent:`input.indent`})),!0),K0=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(g1(e,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let i=oV(r,e.tabSize),a=0,o=HX(e,Math.max(0,i-VX(e)));for(;a<r.length&&a<o.length&&r.charCodeAt(a)==o.charCodeAt(a);)a++;n.push({from:t.from+a,to:t.from+r.length,insert:o.slice(a)})}),{userEvent:`delete.dedent`})),!0),q0=e=>(e.setTabFocusMode(),!0),J0=[{key:`Ctrl-b`,run:L1,shift:e0,preventDefault:!0},{key:`Ctrl-f`,run:R1,shift:t0},{key:`Ctrl-p`,run:U1,shift:o0},{key:`Ctrl-n`,run:W1,shift:s0},{key:`Ctrl-a`,run:Z1,shift:m0},{key:`Ctrl-e`,run:Q1,shift:h0},{key:`Ctrl-d`,run:O0},{key:`Ctrl-h`,run:D0},{key:`Ctrl-k`,run:M0},{key:`Ctrl-Alt-h`,run:A0},{key:`Ctrl-o`,run:F0},{key:`Ctrl-t`,run:I0},{key:`Ctrl-v`,run:K1}],Y0=[{key:`ArrowLeft`,run:L1,shift:e0,preventDefault:!0},{key:`Mod-ArrowLeft`,mac:`Alt-ArrowLeft`,run:z1,shift:n0,preventDefault:!0},{mac:`Cmd-ArrowLeft`,run:Y1,shift:f0,preventDefault:!0},{key:`ArrowRight`,run:R1,shift:t0,preventDefault:!0},{key:`Mod-ArrowRight`,mac:`Alt-ArrowRight`,run:B1,shift:r0,preventDefault:!0},{mac:`Cmd-ArrowRight`,run:X1,shift:p0,preventDefault:!0},{key:`ArrowUp`,run:U1,shift:o0,preventDefault:!0},{mac:`Cmd-ArrowUp`,run:g0,shift:v0},{mac:`Ctrl-ArrowUp`,run:G1,shift:c0},{key:`ArrowDown`,run:W1,shift:s0,preventDefault:!0},{mac:`Cmd-ArrowDown`,run:_0,shift:y0},{mac:`Ctrl-ArrowDown`,run:K1,shift:l0},{key:`PageUp`,run:G1,shift:c0},{key:`PageDown`,run:K1,shift:l0},{key:`Home`,run:J1,shift:d0,preventDefault:!0},{key:`Mod-Home`,run:g0,shift:v0},{key:`End`,run:q1,shift:u0,preventDefault:!0},{key:`Mod-End`,run:_0,shift:y0},{key:`Enter`,run:H0,shift:H0},{key:`Mod-a`,run:b0},{key:`Backspace`,run:D0,shift:D0,preventDefault:!0},{key:`Delete`,run:O0,preventDefault:!0},{key:`Mod-Backspace`,mac:`Alt-Backspace`,run:A0,preventDefault:!0},{key:`Mod-Delete`,mac:`Alt-Delete`,run:j0,preventDefault:!0},{mac:`Mod-Backspace`,run:N0,preventDefault:!0},{mac:`Mod-Delete`,run:P0,preventDefault:!0}].concat(J0.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),X0=[{key:`Alt-ArrowLeft`,mac:`Ctrl-ArrowLeft`,run:V1,shift:i0},{key:`Alt-ArrowRight`,mac:`Ctrl-ArrowRight`,run:H1,shift:a0},{key:`Alt-ArrowUp`,run:L0},{key:`Shift-Alt-ArrowUp`,run:z0},{key:`Alt-ArrowDown`,run:R0},{key:`Shift-Alt-ArrowDown`,run:B0},{key:`Mod-Alt-ArrowUp`,run:C0},{key:`Mod-Alt-ArrowDown`,run:w0},{key:`Escape`,run:T0},{key:`Mod-Enter`,run:U0},{key:`Alt-l`,mac:`Ctrl-l`,run:x0},{key:`Mod-i`,run:S0,preventDefault:!0},{key:`Mod-[`,run:K0},{key:`Mod-]`,run:G0},{key:`Mod-Alt-\\`,run:W0},{key:`Shift-Mod-k`,run:V0},{key:`Shift-Mod-\\`,run:$1},{key:`Mod-/`,run:_1},{key:`Alt-A`,run:y1},{key:`Ctrl-m`,mac:`Shift-Alt-m`,run:q0}].concat(Y0),Z0={key:`Tab`,run:G0,shift:K0}}));function $0(e){try{return new RegExp(e,C2),!0}catch{return!1}}function e2(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}function t2(e){let t=yH(`input`,{class:`cm-textfield`,name:`line`,value:String(e.state.doc.lineAt(e.state.selection.main.head).number)}),n=yH(`form`,{class:`cm-gotoLine`,onkeydown:t=>{t.keyCode==27?(t.preventDefault(),e.dispatch({effects:O2.of(!1)}),e.focus()):t.keyCode==13&&(t.preventDefault(),r())},onsubmit:e=>{e.preventDefault(),r()}},yH(`label`,e.state.phrase(`Go to line`),`: `,t),` `,yH(`button`,{class:`cm-button`,type:`submit`},e.state.phrase(`go`)),yH(`button`,{name:`close`,onclick:()=>{e.dispatch({effects:O2.of(!1)}),e.focus()},"aria-label":e.state.phrase(`close`),type:`button`},[`×`]));function r(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:r}=e,i=r.doc.lineAt(r.selection.main.head),[,a,o,s,c]=n,l=s?+s.slice(1):0,u=o?+o:i.number;if(o&&c){let e=u/100;a&&(e=e*(a==`-`?-1:1)+i.number/r.doc.lines),u=Math.round(r.doc.lines*e)}else o&&a&&(u=u*(a==`-`?-1:1)+i.number);let d=r.doc.line(Math.max(1,Math.min(r.doc.lines,u))),f=Z.cursor(d.from+Math.max(0,Math.min(l,d.length)));e.dispatch({effects:[O2.of(!1),sJ.scrollIntoView(f.from,{y:`center`})],selection:f}),e.focus()}return{dom:n}}function n2(e){let t=[L2,I2];return e&&t.push(N2.of(e)),t}function r2(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=GV.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=GV.Word)}function i2(e,t,n,r){return e(t.sliceDoc(n,n+1))==GV.Word&&e(t.sliceDoc(r-1,r))==GV.Word}function a2(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),a=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new x2(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new x2(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(a){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}function o2(e){return e?[B2.of(e),d4]:d4}function s2(e,t,n,r){return new x2(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?c2(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}function c2(e,t){return(n,r,i,a)=>((a>n||a+i.length<r)&&(a=Math.max(0,n-2),i=e.sliceString(a,Math.min(e.length,r+2))),(t(u2(i,n-a))!=GV.Word||t(d2(i,n-a))!=GV.Word)&&(t(d2(i,r-a))!=GV.Word||t(u2(i,r-a))!=GV.Word))}function l2(e,t,n,r){return new w2(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?f2(t.charCategorizer(t.selection.main.head)):void 0},n,r)}function u2(e,t){return e.slice(xB(e,t,!1),t)}function d2(e,t){return e.slice(t,xB(e,t))}function f2(e){return(t,n,r)=>!r[0].length||(e(u2(r.input,r.index))!=GV.Word||e(d2(r.input,r.index))!=GV.Word)&&(e(d2(r.input,r.index+r[0].length))!=GV.Word||e(u2(r.input,r.index+r[0].length))!=GV.Word)}function p2(e){return t=>{let n=t.state.field(q2,!1);return n&&n.query.spec.valid?e(t,n):i4(t)}}function m2(e){return e.state.facet(B2).createPanel(e)}function h2(e,t){let n=e.selection.main,r=n.empty||n.to>n.from+100?``:e.sliceDoc(n.from,n.to);if(t&&!r)return t;let i=e.facet(B2);return new V2({search:t?.literal??i.literal?r:r.replace(/\n/g,`\\n`),caseSensitive:t?.caseSensitive??i.caseSensitive,literal:t?.literal??i.literal,regexp:t?.regexp??i.regexp,wholeWord:t?.wholeWord??i.wholeWord})}function g2(e){let t=EG(e,m2);return t&&t.dom.querySelector(`[main-field]`)}function _2(e){let t=g2(e);t&&t==e.root.activeElement&&t.select()}function v2(e,t){return e.state.phrase(t)}function y2(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-c4),o=Math.min(i,n+c4),s=e.state.sliceDoc(a,o);if(a!=r.from){for(let e=0;e<c4;e++)if(!l4.test(s[e+1])&&l4.test(s[e])){s=s.slice(e);break}}if(o!=i){for(let e=s.length-1;e>s.length-c4;e--)if(!l4.test(s[e-1])&&l4.test(s[e])){s=s.slice(0,e);break}}return sJ.announce.of(`${e.state.phrase(`current match`)}. ${s} ${e.state.phrase(`on line`)} ${r.number}.`)}var b2,x2,S2,C2,w2,T2,E2,D2,O2,k2,A2,j2,M2,N2,P2,F2,I2,L2,R2,z2,B2,V2,H2,U2,W2,G2,K2,q2,J2,Y2,X2,Z2,Q2,$2,e4,t4,n4,r4,i4,a4,o4,s4,c4,l4,u4,d4,f4=o((()=>{TY(),rH(),xH(),b2=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFKD`):e=>e,x2=class{constructor(e,t,n=0,r=e.length,i,a){this.test=a,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer=``,this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(b2(e)):b2,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return wB(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=TB(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=EB(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n;;e++){let a=r.charCodeAt(e),o=this.match(a,i,this.bufferPos+this.bufferStart);if(e==r.length-1){if(o)return this.value=o,this;break}i==n&&e<t.length&&t.charCodeAt(e)==a&&i++}}}match(e,t,n){let r=null;for(let t=0;t<this.matches.length;t+=2){let i=this.matches[t],a=!1;this.query.charCodeAt(i)==e&&(i==this.query.length-1?r={from:this.matches[t+1],to:n}:(this.matches[t]++,a=!0)),a||(this.matches.splice(t,2),t-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?r={from:t,to:n}:this.matches.push(1,t)),r&&this.test&&!this.test(r.from,r.to,this.buffer,this.bufferStart)&&(r=null),r}},typeof Symbol<`u`&&(x2.prototype[Symbol.iterator]=function(){return this}),S2={from:-1,to:-1,match:/.*/.exec(``)},C2=`gm`+(/x/.unicode==null?``:`u`),w2=class{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine=``,this.done=!1,this.value=S2,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new D2(e,t,n,r,i);this.re=new RegExp(t,C2+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.iter=e.iter();let a=e.lineAt(r);this.curLineStart=a.from,this.matchPos=e2(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine=``:(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=``:this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=e2(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},T2=new WeakMap,E2=class e{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(t,n,r){let i=T2.get(t);if(!i||i.from>=r||i.to<=n){let i=new e(n,t.sliceString(n,r));return T2.set(t,i),i}if(i.from==n&&i.to==r)return i;let{text:a,from:o}=i;return o>n&&(a=t.sliceString(n,o)+a,o=n),i.to<r&&(a+=t.sliceString(i.to,r)),T2.set(t,new e(o,a)),new e(n,a.slice(n-o,r-o))}},D2=class{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=S2,this.matchPos=e2(e,r),this.re=new RegExp(t,C2+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.flat=E2.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=e2(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=E2.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}},typeof Symbol<`u`&&(w2.prototype[Symbol.iterator]=D2.prototype[Symbol.iterator]=function(){return this}),O2=HV.define(),k2=TV.define({create(){return!0},update(e,t){for(let n of t.effects)n.is(O2)&&(e=n.value);return e},provide:e=>sY.from(e,e=>e?t2:null)}),A2=e=>{let t=EG(e,t2);if(!t){let n=[O2.of(!0)];e.state.field(k2,!1)??n.push(HV.appendConfig.of([k2,j2])),e.dispatch({effects:n}),t=EG(e,t2)}return t&&t.dom.querySelector(`input`).select(),!0},j2=sJ.baseTheme({".cm-panel.cm-gotoLine":{padding:`2px 6px 4px`,position:`relative`,"& label":{fontSize:`80%`},"& [name=close]":{position:`absolute`,top:`0`,bottom:`0`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,padding:`0`}}}),M2={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},N2=SV.define({combine(e){return XB(e,M2,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}}),P2=uK.mark({class:`cm-selectionMatch`}),F2=uK.mark({class:`cm-selectionMatch cm-selectionMatch-main`}),I2=JK.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(N2),{state:n}=e,r=n.selection;if(r.ranges.length>1)return uK.none;let i=r.main,a,o=null;if(i.empty){if(!t.highlightWordAroundCursor)return uK.none;let e=n.wordAt(i.head);if(!e)return uK.none;o=n.charCategorizer(i.head),a=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return uK.none;if(t.wholeWords){if(a=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(r2(o,n,i.from,i.to)&&i2(o,n,i.from,i.to)))return uK.none}else if(a=n.sliceDoc(i.from,i.to),!a)return uK.none}let s=[];for(let r of e.visibleRanges){let e=new x2(n.doc,a,r.from,r.to);for(;!e.next().done;){let{from:r,to:a}=e.value;if((!o||r2(o,n,r,a))&&(i.empty&&r<=i.from&&a>=i.to?s.push(F2.range(r,a)):(r>=i.to||a<=i.from)&&s.push(P2.range(r,a)),s.length>t.maxMatches))return uK.none}}return uK.set(s)}},{decorations:e=>e.decorations}),L2=sJ.baseTheme({".cm-selectionMatch":{backgroundColor:`#99ff7780`},".cm-searchMatch .cm-selectionMatch":{backgroundColor:`transparent`}}),R2=({state:e,dispatch:t})=>{let{selection:n}=e,r=Z.create(n.ranges.map(t=>e.wordAt(t.head)||Z.cursor(t.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)},z2=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return R2({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=a2(e,r);return i?(t(e.update({selection:e.selection.addRange(Z.range(i.from,i.to),!1),effects:sJ.scrollIntoView(i.to)})),!0):!1},B2=SV.define({combine(e){return XB(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new s4(e),scrollToMatch:e=>sJ.scrollIntoView(e)})}}),V2=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&(!this.regexp||$0(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
`:t==`r`?`\r`:t==`t`?` `:`\\`)}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new W2(this):new U2(this)}getCursor(e,t=0,n){let r=e.doc?e:JV.create({doc:e});return n??(n=r.doc.length),this.regexp?l2(this,r,t,n):s2(this,r,t,n)}},H2=class{constructor(e){this.spec=e}},U2=class extends H2{constructor(e){super(e)}nextMatch(e,t,n){let r=s2(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);r=s2(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let n=Math.max(t,r-1e4-this.spec.unquoted.length),i=s2(this.spec,e,n,r),a=null;for(;!i.nextOverlapping().done;)a=i.value;if(a)return a;if(n==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=s2(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=s2(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},W2=class extends H2{nextMatch(e,t,n){let r=l2(this.spec,e,n,e.doc.length).next();return r.done&&(r=l2(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-r*1e4),a=l2(this.spec,e,i,n),o=null;for(;!a.next().done;)o=a.value;if(o&&(i==t||o.from>i+10))return o;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n==`&`)return e.match[0];if(n==`$`)return`$`;for(let t=n.length;t>0;t--){let r=+n.slice(0,t);if(r>0&&r<e.match.length)return e.match[r]+n.slice(t)}return t})}matchAll(e,t){let n=l2(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=l2(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},G2=HV.define(),K2=HV.define(),q2=TV.define({create(e){return new J2(h2(e).create(),null)},update(e,t){for(let n of t.effects)n.is(G2)?e=new J2(n.value.create(),e.panel):n.is(K2)&&(e=new J2(e.query,n.value?m2:null));return e},provide:e=>sY.from(e,e=>e.panel)}),J2=class{constructor(e,t){this.query=e,this.panel=t}},Y2=uK.mark({class:`cm-searchMatch`}),X2=uK.mark({class:`cm-searchMatch cm-searchMatch-selected`}),Z2=JK.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(q2))}update(e){let t=e.state.field(q2);(t!=e.startState.field(q2)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return uK.none;let{view:n}=this,r=new $V;for(let t=0,i=n.visibleRanges,a=i.length;t<a;t++){let{from:o,to:s}=i[t];for(;t<a-1&&s>i[t+1].from-500;)s=i[++t].to;e.highlight(n.state,o,s,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);r.add(e,t,i?X2:Y2)})}return r.finish()}},{decorations:e=>e.decorations}),Q2=p2((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let i=Z.single(r.from,r.to),a=e.state.facet(B2);return e.dispatch({selection:i,effects:[y2(e,r),a.scrollToMatch(i.main,e)],userEvent:`select.search`}),_2(e),!0}),$2=p2((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,i=t.prevMatch(n,r,r);if(!i)return!1;let a=Z.single(i.from,i.to),o=e.state.facet(B2);return e.dispatch({selection:a,effects:[y2(e,i),o.scrollToMatch(a.main,e)],userEvent:`select.search`}),_2(e),!0}),e4=p2((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:Z.create(n.map(e=>Z.range(e.from,e.to))),userEvent:`select.search.matches`}),!0)}),t4=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,a=[],o=0;for(let t=new x2(e.doc,e.sliceDoc(r,i));!t.next().done;){if(a.length>1e3)return!1;t.value.from==r&&(o=a.length),a.push(Z.range(t.value.from,t.value.to))}return t(e.update({selection:Z.create(a,o),userEvent:`select.search.matches`})),!0},n4=p2((e,{query:t})=>{let{state:n}=e,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let o=a,s=[],c,l,u=[];o.from==r&&o.to==i&&(l=n.toText(t.getReplacement(o)),s.push({from:o.from,to:o.to,insert:l}),o=t.nextMatch(n,o.from,o.to),u.push(sJ.announce.of(n.phrase(`replaced match on line $`,n.doc.lineAt(r).number)+`.`)));let d=e.state.changes(s);return o&&(c=Z.single(o.from,o.to).map(d),u.push(y2(e,o)),u.push(n.facet(B2).scrollToMatch(c.main,e))),e.dispatch({changes:d,selection:c,effects:u,userEvent:`input.replace`}),!0}),r4=p2((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:r}=e;return{from:n,to:r,insert:t.getReplacement(e)}});if(!n.length)return!1;let r=e.state.phrase(`replaced $ matches`,n.length)+`.`;return e.dispatch({changes:n,effects:sJ.announce.of(r),userEvent:`input.replace.all`}),!0}),i4=e=>{let t=e.state.field(q2,!1);if(t&&t.panel){let n=g2(e);if(n&&n!=e.root.activeElement){let r=h2(e.state,t.query.spec);r.valid&&e.dispatch({effects:G2.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[K2.of(!0),t?G2.of(h2(e.state,t.query.spec)):HV.appendConfig.of(d4)]});return!0},a4=e=>{let t=e.state.field(q2,!1);if(!t||!t.panel)return!1;let n=EG(e,m2);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:K2.of(!1)}),!0},o4=[{key:`Mod-f`,run:i4,scope:`editor search-panel`},{key:`F3`,run:Q2,shift:$2,scope:`editor search-panel`,preventDefault:!0},{key:`Mod-g`,run:Q2,shift:$2,scope:`editor search-panel`,preventDefault:!0},{key:`Escape`,run:a4,scope:`editor search-panel`},{key:`Mod-Shift-l`,run:t4},{key:`Mod-Alt-g`,run:A2},{key:`Mod-d`,run:z2,preventDefault:!0}],s4=class{constructor(e){this.view=e;let t=this.query=e.state.field(q2).query.spec;this.commit=this.commit.bind(this),this.searchField=yH(`input`,{value:t.search,placeholder:v2(e,`Find`),"aria-label":v2(e,`Find`),class:`cm-textfield`,name:`search`,form:``,"main-field":`true`,onchange:this.commit,onkeyup:this.commit}),this.replaceField=yH(`input`,{value:t.replace,placeholder:v2(e,`Replace`),"aria-label":v2(e,`Replace`),class:`cm-textfield`,name:`replace`,form:``,onchange:this.commit,onkeyup:this.commit}),this.caseField=yH(`input`,{type:`checkbox`,name:`case`,form:``,checked:t.caseSensitive,onchange:this.commit}),this.reField=yH(`input`,{type:`checkbox`,name:`re`,form:``,checked:t.regexp,onchange:this.commit}),this.wordField=yH(`input`,{type:`checkbox`,name:`word`,form:``,checked:t.wholeWord,onchange:this.commit});function n(e,t,n){return yH(`button`,{class:`cm-button`,name:e,onclick:t,type:`button`},n)}this.dom=yH(`div`,{onkeydown:e=>this.keydown(e),class:`cm-search`},[this.searchField,n(`next`,()=>Q2(e),[v2(e,`next`)]),n(`prev`,()=>$2(e),[v2(e,`previous`)]),n(`select`,()=>e4(e),[v2(e,`all`)]),yH(`label`,null,[this.caseField,v2(e,`match case`)]),yH(`label`,null,[this.reField,v2(e,`regexp`)]),yH(`label`,null,[this.wordField,v2(e,`by word`)]),...e.state.readOnly?[]:[yH(`br`),this.replaceField,n(`replace`,()=>n4(e),[v2(e,`replace`)]),n(`replaceAll`,()=>r4(e),[v2(e,`replace all`)])],yH(`button`,{name:`close`,onclick:()=>a4(e),"aria-label":v2(e,`close`),type:`button`},[`×`])])}commit(){let e=new V2({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:G2.of(e)}))}keydown(e){JW(this.view,e,`search-panel`)?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?$2:Q2)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),n4(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(G2)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(B2).top}},c4=30,l4=/[\s\.,:;?!]/,u4=sJ.baseTheme({".cm-panel.cm-search":{padding:`2px 6px 4px`,position:`relative`,"& [name=close]":{position:`absolute`,top:`0`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0},"& input, & button, & label":{margin:`.2em .6em .2em 0`},"& input[type=checkbox]":{marginRight:`.2em`},"& label":{fontSize:`80%`,whiteSpace:`pre`}},"&light .cm-searchMatch":{backgroundColor:`#ffff0054`},"&dark .cm-searchMatch":{backgroundColor:`#00ffff8a`},"&light .cm-searchMatch-selected":{backgroundColor:`#ff6a0054`},"&dark .cm-searchMatch-selected":{backgroundColor:`#ff00ff8a`}}),d4=[q2,DV.low(Z2),u4]}));function p4(e){let t=Object.keys(e).join(``),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,``)),`[${n?`\\w`:``}${t.replace(/[^\w\s]/g,`\\$&`)}]`}function m4(e){let t=Object.create(null),n=Object.create(null);for(let{label:r}of e){t[r[0]]=!0;for(let e=1;e<r.length;e++)n[r[e]]=!0}let r=p4(t)+p4(n)+`*$`;return[RegExp(`^`+r),new RegExp(r)]}function h4(e){let t=e.map(e=>typeof e==`string`?{label:e}:e),[n,r]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:m4(t);return e=>{let i=e.matchBefore(r);return i||e.explicit?{from:i?i.from:e.pos,options:t,validFor:n}:null}}function g4(e){return e.selection.main.from}function _4(e,t){let{source:n}=e,r=t&&n[0]!=`^`,i=n[n.length-1]!=`$`;return!r&&!i?e:RegExp(`${r?`^`:``}(?:${n})${i?`$`:``}`,e.flags??(e.ignoreCase?`i`:``))}function v4(e,t,n,r){let{main:i}=e.selection,a=n-i.from,o=r-i.from;return{...e.changeByRange(s=>{if(s!=i&&n!=r&&e.sliceDoc(s.from+a,s.from+o)!=e.sliceDoc(n,r))return{range:s};let c=e.toText(t);return{changes:{from:s.from+a,to:r==i.from?s.to:s.from+o,insert:c},range:Z.cursor(s.from+a+c.length)}}),scrollIntoView:!0,userEvent:`input.complete`}}function y4(e){if(!Array.isArray(e))return e;let t=Z4.get(e);return t||Z4.set(e,t=h4(e)),t}function b4(e,t){return e?t?e+` `+t:e:t}function x4(e,t,n,r,i,a){let o=e.textDirection==yK.RTL,s=o,c=!1,l=`top`,u,d,f=t.left-i.left,p=i.right-t.right,m=r.right-r.left,h=r.bottom-r.top;if(s&&f<Math.min(m,p)?s=!1:!s&&p<Math.min(m,f)&&(s=!0),m<=(s?f:p))u=Math.max(i.top,Math.min(n.top,i.bottom-h))-t.top,d=Math.min(400,s?f:p);else{c=!0,d=Math.min(400,(o?t.right:i.right-t.left)-30);let e=i.bottom-t.bottom;e>=h||e>t.top?u=n.bottom-t.top:(l=`bottom`,u=t.bottom-n.top)}let g=(t.bottom-t.top)/a.offsetHeight,_=(t.right-t.left)/a.offsetWidth;return{style:`${l}: ${u/g}px; max-width: ${d/_}px`,class:`cm-completionInfo-`+(c?o?`left-narrow`:`right-narrow`:s?`left`:`right`)}}function S4(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement(`div`);return t.classList.add(`cm-completionIcon`),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>`cm-completionIcon-`+e)),t.setAttribute(`aria-hidden`,`true`),t},position:20}),t.push({render(e,t,n,r){let i=document.createElement(`span`);i.className=`cm-completionLabel`;let a=e.displayLabel||e.label,o=0;for(let e=0;e<r.length;){let t=r[e++],n=r[e++];t>o&&i.appendChild(document.createTextNode(a.slice(o,t)));let s=i.appendChild(document.createElement(`span`));s.appendChild(document.createTextNode(a.slice(t,n))),s.className=`cm-completionMatchedText`,o=n}return o<a.length&&i.appendChild(document.createTextNode(a.slice(o))),i},position:50},{render(e){if(!e.detail)return null;let t=document.createElement(`span`);return t.className=`cm-completionDetail`,t.textContent=e.detail,t},position:80}),t.sort((e,t)=>e.position-t.position).map(e=>e.render)}function C4(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let r=Math.floor((e-t)/n);return{from:e-(r+1)*n,to:e-r*n}}function w4(e,t){return n=>new r3(n,e,t)}function T4(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.height/e.offsetHeight;r.top<n.top?e.scrollTop-=(n.top-r.top)/i:r.bottom>n.bottom&&(e.scrollTop+=(r.bottom-n.bottom)/i)}function E4(e){return(e.boost||0)*100+(e.apply?10:0)+(e.info?5:0)+ +!!e.type}function D4(e,t){let n=[],r=null,i=null,a=e=>{n.push(e);let{section:t}=e.completion;if(t){r||(r=[]);let e=typeof t==`string`?t:t.name;r.some(t=>t.name==e)||r.push(typeof t==`string`?{name:e}:t)}},o=t.facet(n3);for(let r of e)if(r.hasResult()){let e=r.result.getMatch;if(r.result.filter===!1)for(let t of r.result.options)a(new Y4(t,r.source,e?e(t):[],1e9-n.length));else{let n=t.sliceDoc(r.from,r.to),s,c=o.filterStrict?new t3(n):new e3(n);for(let t of r.result.options)if(s=c.match(t.label)){let n=t.displayLabel?e?e(t,s.matched):[]:s.matched,o=s.score+(t.boost||0);if(a(new Y4(t,r.source,n,o)),typeof t.section==`object`&&t.section.rank===`dynamic`){let{name:e}=t.section;i||(i=Object.create(null)),i[e]=Math.max(o,i[e]||-1e9)}}}}if(r){let e=Object.create(null),t=0,a=(e,t)=>(e.rank===`dynamic`&&t.rank===`dynamic`?i[t.name]-i[e.name]:0)||(typeof e.rank==`number`?e.rank:1e9)-(typeof t.rank==`number`?t.rank:1e9)||(e.name<t.name?-1:1);for(let n of r.sort(a))t-=1e5,e[n.name]=t;for(let t of n){let{section:n}=t.completion;n&&(t.score+=e[typeof n==`string`?n:n.name])}}let s=[],c=null,l=o.compareCompletions;for(let e of n.sort((e,t)=>t.score-e.score||l(e.completion,t.completion))){let t=e.completion;!c||c.label!=t.label||c.detail!=t.detail||c.type!=null&&t.type!=null&&c.type!=t.type||c.apply!=t.apply||c.boost!=t.boost?s.push(e):E4(e.completion)>E4(c)&&(s[s.length-1]=e),c=e.completion}return s}function O4(e,t){if(e==t)return!0;for(let n=0,r=0;;){for(;n<e.length&&!e[n].hasResult();)n++;for(;r<t.length&&!t[r].hasResult();)r++;let i=n==e.length,a=r==t.length;if(i||a)return i==a;if(e[n++].result!=t[r++].result)return!1}}function k4(e,t){let n={"aria-autocomplete":`list`,"aria-haspopup":`listbox`,"aria-controls":e};return t>-1&&(n[`aria-activedescendant`]=e+`-`+t),n}function A4(e,t){if(e.isUserEvent(`input.complete`)){let n=e.annotation(X4);if(n&&t.activateOnCompletion(n))return 12}let n=e.isUserEvent(`input.type`);return n&&t.activateOnTyping?5:n?1:e.isUserEvent(`delete.backward`)?2:e.selection?8:e.docChanged?16:0}function j4(e,t,n,r){if(!e)return!1;let i=t.sliceDoc(n,r);return typeof e==`function`?e(i,n,r,t):_4(e,!0).test(i)}function M4(e,t){let n=t.completion.apply||t.completion.label,r=e.state.field(p3).active.find(e=>e.source==t.source);return r instanceof u3?(typeof n==`string`?e.dispatch({...v4(e.state,n,r.from,r.to),annotations:X4.of(t.completion)}):n(e,t.completion,r.from,r.to),!0):!1}function N4(e,t=`option`){return n=>{let r=n.state.field(p3,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(n3).interactionDelay)return!1;let i=1,a;t==`page`&&(a=TG(n,r.open.tooltip))&&(i=Math.max(2,Math.floor(a.dom.offsetHeight/a.dom.querySelector(`li`).offsetHeight)-1));let{length:o}=r.open.options,s=r.open.selected>-1?r.open.selected+i*(e?1:-1):e?0:o-1;return s<0?s=t==`page`?0:o-1:s>=o&&(s=t==`page`?o-1:0),n.dispatch({effects:f3.of(s)}),!0}}function P4(){return[j3,O3]}function F4(e){for(let t=0;t<16;t+=2)if(k3.charCodeAt(t)==e)return k3.charAt(t+1);return TB(e<128?e:e+1)}function I4(e,t){return e.languageDataAt(`closeBrackets`,t)[0]||T3}function L4(e,t){let n=I4(e,e.selection.main.head),r=n.brackets||T3.brackets;for(let i of r){let a=F4(wB(i,0));if(t==i)return a==i?U4(e,i,r.indexOf(i+i+i)>-1,n):V4(e,i,a,n.before||T3.before);if(t==a&&R4(e,e.selection.main.from))return H4(e,i,a)}return null}function R4(e,t){let n=!1;return e.field(O3).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function z4(e,t){let n=e.sliceString(t,t+2);return n.slice(0,EB(wB(n,0)))}function B4(e,t){let n=e.sliceString(t-2,t);return EB(wB(n,0))==n.length?n:n.slice(1)}function V4(e,t,n,r){let i=null,a=e.changeByRange(a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:E3.of(a.to+t.length),range:Z.range(a.anchor+t.length,a.head+t.length)};let o=z4(e.doc,a.head);return!o||/\s/.test(o)||r.indexOf(o)>-1?{changes:{insert:t+n,from:a.head},effects:E3.of(a.head+t.length),range:Z.cursor(a.head+t.length)}:{range:i=a}});return i?null:e.update(a,{scrollIntoView:!0,userEvent:`input.type`})}function H4(e,t,n){let r=null,i=e.changeByRange(t=>t.empty&&z4(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:Z.cursor(t.head+n.length)}:r={range:t});return r?null:e.update(i,{scrollIntoView:!0,userEvent:`input.type`})}function U4(e,t,n,r){let i=r.stringPrefixes||T3.stringPrefixes,a=null,o=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:t,from:r.to}],effects:E3.of(r.to+t.length),range:Z.range(r.anchor+t.length,r.head+t.length)};let o=r.head,s=z4(e.doc,o),c;if(s==t){if(W4(e,o))return{changes:{insert:t+t,from:o},effects:E3.of(o+t.length),range:Z.cursor(o+t.length)};if(R4(e,o)){let r=n&&e.sliceDoc(o,o+t.length*3)==t+t+t?t+t+t:t;return{changes:{from:o,to:o+r.length,insert:r},range:Z.cursor(o+r.length)}}}else if(n&&e.sliceDoc(o-2*t.length,o)==t+t&&(c=K4(e,o-2*t.length,i))>-1&&W4(e,c))return{changes:{insert:t+t+t+t,from:o},effects:E3.of(o+t.length),range:Z.cursor(o+t.length)};else if(e.charCategorizer(o)(s)!=GV.Word&&K4(e,o,i)>-1&&!G4(e,o,t,i))return{changes:{insert:t+t,from:o},effects:E3.of(o+t.length),range:Z.cursor(o+t.length)};return{range:a=r}});return a?null:e.update(o,{scrollIntoView:!0,userEvent:`input.type`})}function W4(e,t){let n=zX(e).resolveInner(t+1);return n.parent&&n.from==t}function G4(e,t,n,r){let i=zX(e).resolveInner(t,-1),a=r.reduce((e,t)=>Math.max(e,t.length),0);for(let o=0;o<5;o++){let o=e.sliceDoc(i.from,Math.min(i.to,i.from+n.length+a)),s=o.indexOf(n);if(!s||s>-1&&r.indexOf(o.slice(0,s))>-1){let t=i.firstChild;for(;t&&t.from==i.from&&t.to-t.from>n.length+s;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let c=i.to==t&&i.parent;if(!c)break;i=c}return!1}function K4(e,t,n){let r=e.charCategorizer(t);if(r(e.sliceDoc(t-1,t))!=GV.Word)return t;for(let i of n){let n=t-i.length;if(e.sliceDoc(n,t)==i&&r(e.sliceDoc(n-1,n))!=GV.Word)return n}return-1}function q4(e={}){return[C3,p3,n3.of(e),x3,F3,w3]}var J4,Y4,X4,Z4,Q4,$4,e3,t3,n3,r3,i3,a3,o3,s3,c3,l3,u3,d3,f3,p3,m3,h3,g3,_3,v3,y3,b3,x3,S3,C3,w3,T3,E3,D3,O3,k3,A3,j3,M3,N3,P3,F3,I3=o((()=>{rH(),TY(),EQ(),J4=class{constructor(e,t,n,r){this.state=e,this.pos=t,this.explicit=n,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=zX(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),n=Math.max(t.from,this.pos-250),r=t.text.slice(n-t.from,this.pos-t.from),i=r.search(_4(e,!1));return i<0?null:{from:n+i,to:this.pos,text:r.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,n){e==`abort`&&this.abortListeners&&(this.abortListeners.push(t),n&&n.onDocChange&&(this.abortOnDocChange=!0))}},Y4=class{constructor(e,t,n,r){this.completion=e,this.source=t,this.match=n,this.score=r}},X4=zV.define(),Z4=new WeakMap,Q4=HV.define(),$4=HV.define(),e3=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let n=wB(e,t),r=EB(n);this.chars.push(n);let i=e.slice(t,t+r),a=i.toUpperCase();this.folded.push(wB(a==i?i.toLowerCase():a,0)),t+=r}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:r,precise:i,byWord:a}=this;if(t.length==1){let r=wB(e,0),i=EB(r),a=i==e.length?0:-100;if(r!=t[0])if(r==n[0])a+=-200;else return null;return this.ret(a,[0,i])}let o=e.indexOf(this.pattern);if(o==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let s=t.length,c=0;if(o<0){for(let i=0,a=Math.min(e.length,200);i<a&&c<s;){let a=wB(e,i);(a==t[c]||a==n[c])&&(r[c++]=i),i+=EB(a)}if(c<s)return null}let l=0,u=0,d=!1,f=0,p=-1,m=-1,h=/[a-z]/.test(e),g=!0;for(let r=0,c=Math.min(e.length,200),_=0;r<c&&u<s;){let c=wB(e,r);o<0&&(l<s&&c==t[l]&&(i[l++]=r),f<s&&(c==t[f]||c==n[f]?(f==0&&(p=r),m=r+1,f++):f=0));let v,y=c<255?c>=48&&c<=57||c>=97&&c<=122?2:+(c>=65&&c<=90):(v=TB(c))==v.toLowerCase()?v==v.toUpperCase()?0:2:1;(!r||y==1&&h||_==0&&y!=0)&&(t[u]==c||n[u]==c&&(d=!0)?a[u++]=r:a.length&&(g=!1)),_=y,r+=EB(c)}return u==s&&a[0]==0&&g?this.result(-100+(d?-200:0),a,e):f==s&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):f==s?this.ret(-900-e.length,[p,m]):u==s?this.result(-100+(d?-200:0)+-700+(g?0:-1100),a,e):t.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,t,n){let r=[],i=0;for(let e of t){let t=e+(this.astral?EB(wB(n,e)):1);i&&r[i-1]==e?r[i-1]=t:(r[i++]=e,r[i++]=t)}return this.ret(e-n.length,r)}},t3=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),n=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return n==null?null:(this.matched=[0,t.length],this.score=n+(e.length==this.pattern.length?0:-100),this)}},n3=SV.define({combine(e){return XB(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>``,optionClass:()=>``,aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:x4,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>n=>b4(e(n),t(n)),optionClass:(e,t)=>n=>b4(e(n),t(n)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}}),r3=class{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass=``;let r=e.state.field(t),{options:i,selected:a}=r.open,o=e.state.facet(n3);this.optionContent=S4(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=C4(i.length,a,o.maxRenderedOptions),this.dom=document.createElement(`div`),this.dom.className=`cm-tooltip-autocomplete`,this.updateTooltipClass(e.state),this.dom.addEventListener(`mousedown`,n=>{let{options:r}=e.state.field(t).open;for(let t=n.target,i;t&&t!=this.dom;t=t.parentNode)if(t.nodeName==`LI`&&(i=/-(\d+)$/.exec(t.id))&&+i[1]<r.length){this.applyCompletion(e,r[+i[1]]),n.preventDefault();return}}),this.dom.addEventListener(`focusout`,t=>{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(n3).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:$4.of(null)})}),this.showOptions(i,r.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener(`scroll`,()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){let t=e.state.field(this.stateField),n=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),t!=n){let{options:r,selected:i,disabled:a}=t.open;(!n.open||n.open.options!=r)&&(this.range=C4(r.length,i,e.state.facet(n3).maxRenderedOptions),this.showOptions(r,t.id)),this.updateSel(),a!=n.open?.disabled&&this.dom.classList.toggle(`cm-tooltip-autocomplete-disabled`,!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(` `))e&&this.dom.classList.remove(e);for(let e of t.split(` `))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=C4(t.options.length,t.selected,this.view.state.facet(n3).maxRenderedOptions),this.showOptions(t.options,e.id));let n=this.updateSelectedOption(t.selected);if(n){this.destroyInfo();let{completion:r}=t.options[t.selected],{info:i}=r;if(!i)return;let a=typeof i==`string`?document.createTextNode(i):i(r);if(!a)return;`then`in a?a.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,r)}).catch(e=>bU(this.view.state,e,`completion info`)):(this.addInfoPane(a,r),n.setAttribute(`aria-describedby`,this.info.id))}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement(`div`);if(n.className=`cm-tooltip cm-completionInfo`,n.id=`cm-completionInfo-`+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:r}=e;n.appendChild(t),this.infoDestroy=r||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,r=this.range.from;n;n=n.nextSibling,r++)n.nodeName!=`LI`||!n.id?r--:r==e?n.hasAttribute(`aria-selected`)||(n.setAttribute(`aria-selected`,`true`),t=n):n.hasAttribute(`aria-selected`)&&(n.removeAttribute(`aria-selected`),n.removeAttribute(`aria-describedby`));return t&&T4(this.list,t),t}measureInfo(){let e=this.dom.querySelector(`[aria-selected]`);if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),i=this.space;if(!i){let e=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return r.top>Math.min(i.bottom,t.bottom)-10||r.bottom<Math.max(i.top,t.top)+10?null:this.view.state.facet(n3).positionInfo(this.view,t,r,n,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className=`cm-tooltip cm-completionInfo `+(e.class||``)):this.info.style.cssText=`top: -1e6px`)}createListBox(e,t,n){let r=document.createElement(`ul`);r.id=t,r.setAttribute(`role`,`listbox`),r.setAttribute(`aria-expanded`,`true`),r.setAttribute(`aria-label`,this.view.state.phrase(`Completions`)),r.addEventListener(`mousedown`,e=>{e.target==r&&e.preventDefault()});let i=null;for(let a=n.from;a<n.to;a++){let{completion:o,match:s}=e[a],{section:c}=o;if(c){let e=typeof c==`string`?c:c.name;if(e!=i&&(a>n.from||n.from==0))if(i=e,typeof c!=`string`&&c.header)r.appendChild(c.header(c));else{let t=r.appendChild(document.createElement(`completion-section`));t.textContent=e}}let l=r.appendChild(document.createElement(`li`));l.id=t+`-`+a,l.setAttribute(`role`,`option`);let u=this.optionClass(o);u&&(l.className=u);for(let e of this.optionContent){let t=e(o,this.view.state,this.view,s);t&&l.appendChild(t)}}return n.from&&r.classList.add(`cm-completionListIncompleteTop`),n.to<e.length&&r.classList.add(`cm-completionListIncompleteBottom`),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}},i3=class e{constructor(e,t,n,r,i,a){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=r,this.selected=i,this.disabled=a}setSelected(t,n){return t==this.selected||t>=this.options.length?this:new e(this.options,k4(n,t),this.tooltip,this.timestamp,t,this.disabled)}static build(t,n,r,i,a,o){if(i&&!o&&t.some(e=>e.isPending))return i.setDisabled();let s=D4(t,n);if(!s.length)return i&&t.some(e=>e.isPending)?i.setDisabled():null;let c=n.facet(n3).selectOnOpen?0:-1;if(i&&i.selected!=c&&i.selected!=-1){let e=i.options[i.selected].completion;for(let t=0;t<s.length;t++)if(s[t].completion==e){c=t;break}}return new e(s,k4(r,c),{pos:t.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:m3,above:a.aboveCursor},i?i.timestamp:Date.now(),c,!1)}map(t){return new e(this.options,this.attrs,{...this.tooltip,pos:t.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new e(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},a3=class e{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new e(c3,`cm-ac-`+Math.floor(Math.random()*2e6).toString(36),null)}update(t){let{state:n}=t,r=n.facet(n3),i=(r.override||n.languageDataAt(`autocomplete`,g4(n)).map(y4)).map(e=>(this.active.find(t=>t.source==e)||new l3(e,+!!this.active.some(e=>e.state!=0))).update(t,r));i.length==this.active.length&&i.every((e,t)=>e==this.active[t])&&(i=this.active);let a=this.open,o=t.effects.some(e=>e.is(d3));a&&t.docChanged&&(a=a.map(t.changes)),t.selection||i.some(e=>e.hasResult()&&t.changes.touchesRange(e.from,e.to))||!O4(i,this.active)||o?a=i3.build(i,n,this.id,a,r,o):a&&a.disabled&&!i.some(e=>e.isPending)&&(a=null),!a&&i.every(e=>!e.isPending)&&i.some(e=>e.hasResult())&&(i=i.map(e=>e.hasResult()?new l3(e.source,0):e));for(let e of t.effects)e.is(f3)&&(a=a&&a.setSelected(e.value,this.id));return i==this.active&&a==this.open?this:new e(i,this.id,a)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?o3:s3}},o3={"aria-autocomplete":`list`},s3={},c3=[],l3=class e{constructor(e,t,n=!1){this.source=e,this.state=t,this.explicit=n}hasResult(){return!1}get isPending(){return this.state==1}update(t,n){let r=A4(t,n),i=this;(r&8||r&16&&this.touches(t))&&(i=new e(i.source,0)),r&4&&i.state==0&&(i=new e(this.source,1)),i=i.updateFor(t,r);for(let n of t.effects)if(n.is(Q4))i=new e(i.source,1,n.value);else if(n.is($4))i=new e(i.source,0);else if(n.is(d3))for(let e of n.value)e.source==i.source&&(i=e);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(g4(e.state))}},u3=class e extends l3{constructor(e,t,n,r,i,a){super(e,3,t),this.limit=n,this.result=r,this.from=i,this.to=a}hasResult(){return!0}updateFor(t,n){if(!(n&3))return this.map(t.changes);let r=this.result;r.map&&!t.changes.empty&&(r=r.map(r,t.changes));let i=t.changes.mapPos(this.from),a=t.changes.mapPos(this.to,1),o=g4(t.state);if(o>a||!r||n&2&&(g4(t.startState)==this.from||o<this.limit))return new l3(this.source,n&4?1:0);let s=t.changes.mapPos(this.limit);return j4(r.validFor,t.state,i,a)?new e(this.source,this.explicit,s,r,i,a):r.update&&(r=r.update(r,i,a,new J4(t.state,o,!1)))?new e(this.source,this.explicit,s,r,r.from,r.to??g4(t.state)):new l3(this.source,1,this.explicit)}map(t){return t.empty?this:(this.result.map?this.result.map(this.result,t):this.result)?new e(this.source,this.explicit,t.mapPos(this.limit),this.result,t.mapPos(this.from),t.mapPos(this.to,1)):new l3(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}},d3=HV.define({map(e,t){return e.map(e=>e.map(t))}}),f3=HV.define(),p3=TV.define({create(){return a3.start()},update(e,t){return e.update(t)},provide:e=>[ZJ.from(e,e=>e.tooltip),sJ.contentAttributes.from(e,e=>e.attrs)]}),m3=w4(p3,M4),h3=e=>{let t=e.state.field(p3,!1);return e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(n3).interactionDelay?!1:M4(e,t.open.options[t.open.selected])},g3=e=>e.state.field(p3,!1)?(e.dispatch({effects:Q4.of(!0)}),!0):!1,_3=e=>{let t=e.state.field(p3,!1);return!t||!t.active.some(e=>e.state!=0)?!1:(e.dispatch({effects:$4.of(null)}),!0)},v3=class{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}},y3=50,b3=1e3,x3=JK.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(p3).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(p3),n=e.state.facet(n3);if(!e.selectionSet&&!e.docChanged&&e.startState.field(p3)==t)return;let r=e.transactions.some(e=>{let t=A4(e,n);return t&8||(e.selection||e.docChanged)&&!(t&3)});for(let t=0;t<this.running.length;t++){let n=this.running[t];if(r||n.context.abortOnDocChange&&e.docChanged||n.updates.length+e.transactions.length>y3&&Date.now()-n.time>b3){for(let e of n.context.abortListeners)try{e()}catch(e){bU(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(Q4)))&&(this.pendingStart=!0);let i=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let t of e.transactions)t.isUserEvent(`input.type`)?this.composing=2:this.composing==2&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(p3);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(n3).updateSyncTime))}startQuery(e){let{state:t}=this.view,n=g4(t),r=new J4(t,n,e.explicit,this.view),i=new v3(e,r);this.running.push(i),Promise.resolve(e.source(r)).then(e=>{i.context.aborted||(i.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:$4.of(null)}),bU(this.view.state,e)})}scheduleAccept(){this.running.every(e=>e.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(n3).updateSyncTime))}accept(){this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(n3),n=this.view.state.field(p3);for(let r=0;r<this.running.length;r++){let i=this.running[r];if(i.done===void 0)continue;if(this.running.splice(r--,1),i.done){let n=g4(i.updates.length?i.updates[0].startState:this.view.state),r=Math.min(n,i.done.from+ +!i.active.explicit),a=new u3(i.active.source,i.active.explicit,r,i.done,i.done.from,i.done.to??n);for(let e of i.updates)a=a.update(e,t);if(a.hasResult()){e.push(a);continue}}let a=n.active.find(e=>e.source==i.active.source);if(a&&a.isPending)if(i.done==null){let n=new l3(i.active.source,0);for(let e of i.updates)n=n.update(e,t);n.isPending||e.push(n)}else this.startQuery(a)}(e.length||n.open&&n.open.disabled)&&this.view.dispatch({effects:d3.of(e)})}},{eventHandlers:{blur(e){let t=this.view.state.field(p3,!1);if(t&&t.tooltip&&this.view.state.facet(n3).closeOnBlur){let n=t.open&&TG(this.view,t.open.tooltip);(!n||!n.dom.contains(e.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:$4.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Q4.of(!1)}),20),this.composing=0}}}),S3=typeof navigator==`object`&&/Win/.test(navigator.platform),C3=DV.highest(sJ.domEventHandlers({keydown(e,t){let n=t.state.field(p3,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||e.key.length>1||e.ctrlKey&&!(S3&&e.altKey)||e.metaKey)return!1;let r=n.open.options[n.open.selected],i=n.active.find(e=>e.source==r.source),a=r.completion.commitCharacters||i.result.commitCharacters;return a&&a.indexOf(e.key)>-1&&M4(t,r),!1}})),w3=sJ.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:`monospace`,whiteSpace:`nowrap`,overflow:`hidden auto`,maxWidth_fallback:`700px`,maxWidth:`min(700px, 95vw)`,minWidth:`250px`,maxHeight:`10em`,height:`100%`,listStyle:`none`,margin:0,padding:0,"& > li, & > completion-section":{padding:`1px 3px`,lineHeight:1.2},"& > li":{overflowX:`hidden`,textOverflow:`ellipsis`,cursor:`pointer`},"& > completion-section":{display:`list-item`,borderBottom:`1px solid silver`,paddingLeft:`0.5em`,opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:`#17c`,color:`white`},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:`#777`},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:`#347`,color:`white`},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:`#444`},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:`"···"`,opacity:.5,display:`block`,textAlign:`center`},".cm-tooltip.cm-completionInfo":{position:`absolute`,padding:`3px 9px`,width:`max-content`,maxWidth:`400px`,boxSizing:`border-box`,whiteSpace:`pre-line`},".cm-completionInfo.cm-completionInfo-left":{right:`100%`},".cm-completionInfo.cm-completionInfo-right":{left:`100%`},".cm-completionInfo.cm-completionInfo-left-narrow":{right:`30px`},".cm-completionInfo.cm-completionInfo-right-narrow":{left:`30px`},"&light .cm-snippetField":{backgroundColor:`#00000022`},"&dark .cm-snippetField":{backgroundColor:`#ffffff22`},".cm-snippetFieldPosition":{verticalAlign:`text-top`,width:0,height:`1.15em`,display:`inline-block`,margin:`0 -0.7px -.7em`,borderLeft:`1.4px dotted #888`},".cm-completionMatchedText":{textDecoration:`underline`},".cm-completionDetail":{marginLeft:`0.5em`,fontStyle:`italic`},".cm-completionIcon":{fontSize:`90%`,width:`.8em`,display:`inline-block`,textAlign:`center`,paddingRight:`.6em`,opacity:`0.6`,boxSizing:`content-box`},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:`'ƒ'`}},".cm-completionIcon-class":{"&:after":{content:`'○'`}},".cm-completionIcon-interface":{"&:after":{content:`'◌'`}},".cm-completionIcon-variable":{"&:after":{content:`'𝑥'`}},".cm-completionIcon-constant":{"&:after":{content:`'𝐶'`}},".cm-completionIcon-type":{"&:after":{content:`'𝑡'`}},".cm-completionIcon-enum":{"&:after":{content:`''`}},".cm-completionIcon-property":{"&:after":{content:`'□'`}},".cm-completionIcon-keyword":{"&:after":{content:`'🔑︎'`}},".cm-completionIcon-namespace":{"&:after":{content:`'▢'`}},".cm-completionIcon-text":{"&:after":{content:`'abc'`,fontSize:`50%`,verticalAlign:`middle`}}}),T3={brackets:[`(`,`[`,`{`,`'`,`"`],before:`)]}:;>`,stringPrefixes:[]},E3=HV.define({map(e,t){return t.mapPos(e,-1,gV.TrackAfter)??void 0}}),D3=new class extends YV{},D3.startSide=1,D3.endSide=-1,O3=TV.define({create(){return QV.empty},update(e,t){if(e=e.map(t.changes),t.selection){let n=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=n.from&&e<=n.to})}for(let n of t.effects)n.is(E3)&&(e=e.update({add:[D3.range(n.value,n.value+1)]}));return e}}),k3=`()[]{}<>«»»«[]{}`,A3=typeof navigator==`object`&&/Android\b/.test(navigator.userAgent),j3=sJ.inputHandler.of((e,t,n,r)=>{if((A3?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let i=e.state.selection.main;if(r.length>2||r.length==2&&EB(wB(r,0))==1||t!=i.from||n!=i.to)return!1;let a=L4(e.state,r);return a?(e.dispatch(a),!0):!1}),M3=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=I4(e,e.selection.main.head).brackets||T3.brackets,r=null,i=e.changeByRange(t=>{if(t.empty){let r=B4(e.doc,t.head);for(let i of n)if(i==r&&z4(e.doc,t.head)==F4(wB(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:Z.cursor(t.head-i.length)}}return{range:r=t}});return r||t(e.update(i,{scrollIntoView:!0,userEvent:`delete.backward`})),!r},N3=[{key:`Backspace`,run:M3}],P3=[{key:`Ctrl-Space`,run:g3},{mac:"Alt-`",run:g3},{mac:`Alt-i`,run:g3},{key:`Escape`,run:_3},{key:`ArrowDown`,run:N4(!0)},{key:`ArrowUp`,run:N4(!1)},{key:`PageDown`,run:N4(!0,`page`)},{key:`PageUp`,run:N4(!1,`page`)},{key:`Enter`,run:h3}],F3=DV.highest(pJ.computeN([n3],e=>e.facet(n3).defaultKeymap?[P3]:[]))}));function L3(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new Y3(e,n,t||i.diagnostics[0]);else if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;else r=new Y3(r.from,n,r.diagnostic)}),r}function R3(e,t){let n=t.pos,r=t.end||n,i=e.state.facet(o6).hideOn(e,n,r);if(i!=null)return i;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(Z3))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function z3(e,t){return e.field(e6,!1)?t:t.concat(HV.appendConfig.of(d6))}function B3(e,t,n){let{diagnostics:r}=e.state.field(e6),i,a=-1,o=-1;r.between(t-+(n<0),t+ +(n>0),(e,r,{spec:s})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=s.diagnostics,a=e,o=r,!1});let s=e.state.facet(o6).tooltipFilter;return i&&s&&(i=s(i,e.state)),i?{pos:a,end:o,above:e.state.doc.lineAt(a).to<o,create(){return{dom:V3(e,i)}}}:null}function V3(e,t){return yH(`ul`,{class:`cm-tooltip-lint`},t.map(t=>W3(e,t,!1)))}function H3(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function U3(e){let t=[];if(e)actions:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue actions}}t.push(``)}return t}function W3(e,t,n){let r=n?U3(t.actions):[];return yH(`li`,{class:`cm-diagnostic cm-diagnostic-`+t.severity},yH(`span`,{class:`cm-diagnosticText`},t.renderMessage?t.renderMessage(e):t.message),t.actions?.map((n,i)=>{let a=!1,o=r=>{if(r.preventDefault(),a)return;a=!0;let i=L3(e.state.field(e6).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:s}=n,c=r[i]?s.indexOf(r[i]):-1,l=c<0?s:[s.slice(0,c),yH(`u`,s.slice(c,c+1)),s.slice(c+1)];return yH(`button`,{type:`button`,class:`cm-diagnosticAction`+(n.markClass?` `+n.markClass:``),onclick:o,onmousedown:o,"aria-label":` Action: ${s}${c<0?``:` (access key "${r[i]})"`}.`},l)}),t.source&&yH(`div`,{class:`cm-diagnosticSource`},t.source))}function G3(e,t=`viewBox="0 0 40 40"`){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function K3(e){return G3(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,`width="6" height="3"`)}function q3(e){return e==`error`?4:e==`warning`?3:e==`info`?2:1}function J3(e){let t=`hint`,n=1;for(let r of e){let e=q3(r.severity);e>n&&(n=e,t=r.severity)}return t}var Y3,X3,Z3,Q3,$3,e6,t6,n6,r6,i6,a6,o6,s6,c6,l6,u6,d6,f6=o((()=>{TY(),rH(),xH(),Y3=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},X3=class e{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(t,n,r){let i=r.facet(o6).markerFilter;i&&(t=i(t,r));let a=t.slice().sort((e,t)=>e.from-t.from||e.to-t.to),o=new $V,s=[],c=0,l=r.doc.iter(),u=0,d=r.doc.length;for(let e=0;;){let t=e==a.length?null:a[e];if(!t&&!s.length)break;let n,r;if(s.length)n=c,r=s.reduce((e,t)=>Math.min(e,t.to),t&&t.from>n?t.from:1e8);else{if(n=t.from,n>d)break;r=t.to,s.push(t),e++}for(;e<a.length;){let t=a[e];if(t.from==n&&(t.to>t.from||t.to==n))s.push(t),e++,r=Math.min(t.to,r);else{r=Math.min(t.from,r);break}}r=Math.min(r,d);let i=!1;if(s.some(e=>e.from==n&&(e.to==r||r==d))&&(i=n==r,!i&&r-n<10)){let e=n-(u+l.value.length);e>0&&(l.next(e),u=n);for(let e=n;;){if(e>=r){i=!0;break}if(!l.lineBreak&&u+l.value.length>e)break;e=u+l.value.length,u+=l.value.length,l.next()}}let f=J3(s);if(i)o.add(n,n,uK.widget({widget:new s6(f),diagnostics:s.slice()}));else{let e=s.reduce((e,t)=>t.markClass?e+` `+t.markClass:e,``);o.add(n,r,uK.mark({class:`cm-lintRange cm-lintRange-`+f+e,diagnostics:s.slice(),inclusiveEnd:s.some(e=>e.to>r)}))}if(c=r,c==d)break;for(let e=0;e<s.length;e++)s[e].to<=c&&s.splice(e--,1)}let f=o.finish();return new e(f,n,L3(f))}},Z3=HV.define(),Q3=HV.define(),$3=HV.define(),e6=TV.define({create(){return new X3(uK.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=L3(n,e.selected.diagnostic,i)||L3(n,null,i)}!n.size&&i&&t.state.facet(o6).autoPanel&&(i=null),e=new X3(n,i,r)}for(let n of t.effects)if(n.is(Z3)){let r=t.state.facet(o6).autoPanel?n.value.length?l6.open:null:e.panel;e=X3.init(n.value,r,t.state)}else n.is(Q3)?e=new X3(e.diagnostics,n.value?l6.open:null,e.selected):n.is($3)&&(e=new X3(e.diagnostics,e.panel,n.value));return e},provide:e=>[sY.from(e,e=>e.panel),sJ.decorations.from(e,e=>e.diagnostics)]}),t6=uK.mark({class:`cm-lintRange cm-lintRange-active`}),n6=e=>{let t=e.state.field(e6,!1);(!t||!t.panel)&&e.dispatch({effects:z3(e.state,[Q3.of(!0)])});let n=EG(e,l6.open);return n&&n.dom.querySelector(`.cm-panel-lint ul`).focus(),!0},r6=e=>{let t=e.state.field(e6,!1);return!t||!t.panel?!1:(e.dispatch({effects:Q3.of(!1)}),!0)},i6=e=>{let t=e.state.field(e6,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},a6=[{key:`Mod-Shift-m`,run:n6,preventDefault:!0},{key:`F8`,run:i6}],o6=SV.define({combine(e){return{sources:e.map(e=>e.source).filter(e=>e!=null),...XB(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:H3,tooltipFilter:H3,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,r,i)=>e(n,r,i)||t(n,r,i):e:t,autoPanel:(e,t)=>e||t})}}}),s6=class extends cK{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return yH(`span`,{class:`cm-lintPoint cm-lintPoint-`+this.sev})}},c6=class{constructor(e,t){this.diagnostic=t,this.id=`item_`+Math.floor(Math.random()*4294967295).toString(16),this.dom=W3(e,t,!0),this.dom.id=this.id,this.dom.setAttribute(`role`,`option`)}},l6=class e{constructor(e){this.view=e,this.items=[];let t=t=>{if(t.keyCode==27)r6(this.view),this.view.focus();else if(t.keyCode==38||t.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(t.keyCode==40||t.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(t.keyCode==36)this.moveSelection(0);else if(t.keyCode==35)this.moveSelection(this.items.length-1);else if(t.keyCode==13)this.view.focus();else if(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],r=U3(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=L3(this.view.state.field(e6).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}else return;t.preventDefault()},n=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=yH(`ul`,{tabIndex:0,role:`listbox`,"aria-label":this.view.state.phrase(`Diagnostics`),onkeydown:t,onclick:n}),this.dom=yH(`div`,{class:`cm-panel-lint`},this.list,yH(`button`,{type:`button`,name:`close`,"aria-label":this.view.state.phrase(`close`),onclick:()=>r6(this.view)},`×`)),this.update()}get selectedIndex(){let e=this.view.state.field(e6).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(e6),n=0,r=!1,i=null,a=new Set;for(e.between(0,this.view.state.doc.length,(e,o,{spec:s})=>{for(let e of s.diagnostics){if(a.has(e))continue;a.add(e);let o=-1,s;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){o=t;break}o<0?(s=new c6(this.view,e),this.items.splice(n,0,s),r=!0):(s=this.items[o],o>n&&(this.items.splice(n,o-n),r=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute(`aria-selected`)||(s.dom.setAttribute(`aria-selected`,`true`),i=s):s.dom.hasAttribute(`aria-selected`)&&s.dom.removeAttribute(`aria-selected`),n++}});n<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new c6(this.view,{from:-1,to:-1,severity:`info`,message:this.view.state.phrase(`No diagnostics`)})),r=!0),i?(this.list.setAttribute(`aria-activedescendant`,i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute(`aria-activedescendant`),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=L3(this.view.state.field(e6).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:$3.of(t)})}static open(t){return new e(t)}},u6=sJ.baseTheme({".cm-diagnostic":{padding:`3px 6px 3px 8px`,marginLeft:`-1px`,display:`block`,whiteSpace:`pre-wrap`},".cm-diagnostic-error":{borderLeft:`5px solid #d11`},".cm-diagnostic-warning":{borderLeft:`5px solid orange`},".cm-diagnostic-info":{borderLeft:`5px solid #999`},".cm-diagnostic-hint":{borderLeft:`5px solid #66d`},".cm-diagnosticAction":{font:`inherit`,border:`none`,padding:`2px 4px`,backgroundColor:`#444`,color:`white`,borderRadius:`3px`,marginLeft:`8px`,cursor:`pointer`},".cm-diagnosticSource":{fontSize:`70%`,opacity:.7},".cm-lintRange":{backgroundPosition:`left bottom`,backgroundRepeat:`repeat-x`,paddingBottom:`0.7px`},".cm-lintRange-error":{backgroundImage:K3(`#d11`)},".cm-lintRange-warning":{backgroundImage:K3(`orange`)},".cm-lintRange-info":{backgroundImage:K3(`#999`)},".cm-lintRange-hint":{backgroundImage:K3(`#66d`)},".cm-lintRange-active":{backgroundColor:`#ffdd9980`},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:`relative`,"&:after":{content:`""`,position:`absolute`,bottom:0,left:`-2px`,borderLeft:`3px solid transparent`,borderRight:`3px solid transparent`,borderBottom:`4px solid #d11`}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:`orange`}},".cm-lintPoint-info":{"&:after":{borderBottomColor:`#999`}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:`#66d`}},".cm-panel.cm-panel-lint":{position:`relative`,"& ul":{maxHeight:`100px`,overflowY:`auto`,"& [aria-selected]":{backgroundColor:`#ddd`,"& u":{textDecoration:`underline`}},"&:focus [aria-selected]":{background_fallback:`#bdf`,backgroundColor:`Highlight`,color_fallback:`white`,color:`HighlightText`},"& u":{textDecoration:`none`},padding:0,margin:0},"& [name=close]":{position:`absolute`,top:`0`,right:`2px`,background:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0}}}),d6=[e6,sJ.decorations.compute([e6],e=>{let{selected:t,panel:n}=e.field(e6);return!t||!n||t.from==t.to?uK.none:uK.set([t6.range(t.from,t.to)])}),wG(B3,{hideOn:R3}),u6]})),p6,m6=o((()=>{TY(),rH(),Q0(),f4(),I3(),EQ(),f6(),p6=function(e){e===void 0&&(e={});var t=e.crosshairCursor,n=t!==void 0&&t,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(N3)),e.defaultKeymap!==!1&&(r=r.concat(X0)),e.searchKeymap!==!1&&(r=r.concat(o4)),e.historyKeymap!==!1&&(r=r.concat(I1)),e.foldKeymap!==!1&&(r=r.concat($Z)),e.completionKeymap!==!1&&(r=r.concat(P3)),e.lintKeymap!==!1&&(r=r.concat(a6));var i=[];return e.lineNumbers!==!1&&i.push(PG()),e.highlightActiveLineGutter!==!1&&i.push(IG()),e.highlightSpecialChars!==!1&&i.push(lG()),e.history!==!1&&i.push(N$()),e.foldGutter!==!1&&i.push(pZ()),e.drawSelection!==!1&&i.push(nG()),e.dropCursor!==!1&&i.push(aG()),e.allowMultipleSelections!==!1&&i.push(JV.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push($X()),e.syntaxHighlighting!==!1&&i.push(hZ(fQ,{fallback:!0})),e.bracketMatching!==!1&&i.push(_Z()),e.closeBrackets!==!1&&i.push(P4()),e.autocompletion!==!1&&i.push(q4()),e.rectangularSelection!==!1&&i.push(vG()),n!==!1&&i.push(yG()),e.highlightActiveLine!==!1&&i.push(fG()),e.highlightSelectionMatches!==!1&&i.push(n2()),e.tabSize&&typeof e.tabSize==`number`&&i.push(zZ.of(` `.repeat(e.tabSize))),i.concat([pJ.of(r.flat())]).filter(Boolean)}})),h6,g6,_6,v6,y6,b6,x6,S6,C6,w6,T6,E6,D6,O6,k6,A6,j6,M6,N6,P6=o((()=>{TY(),EQ(),IX(),h6=`#e5c07b`,g6=`#e06c75`,_6=`#56b6c2`,v6=`#ffffff`,y6=`#abb2bf`,b6=`#7d8799`,x6=`#61afef`,S6=`#98c379`,C6=`#d19a66`,w6=`#c678dd`,T6=`#21252b`,E6=`#2c313a`,D6=`#282c34`,O6=`#353a42`,k6=`#3E4451`,A6=`#528bff`,j6=sJ.theme({"&":{color:y6,backgroundColor:D6},".cm-content":{caretColor:A6},".cm-cursor, .cm-dropCursor":{borderLeftColor:A6},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:k6},".cm-panels":{backgroundColor:T6,color:y6},".cm-panels.cm-panels-top":{borderBottom:`2px solid black`},".cm-panels.cm-panels-bottom":{borderTop:`2px solid black`},".cm-searchMatch":{backgroundColor:`#72a1ff59`,outline:`1px solid #457dff`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`#6199ff2f`},".cm-activeLine":{backgroundColor:`#6699ff0b`},".cm-selectionMatch":{backgroundColor:`#aafe661a`},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:`#bad0f847`},".cm-gutters":{backgroundColor:D6,color:b6,border:`none`},".cm-activeLineGutter":{backgroundColor:E6},".cm-foldPlaceholder":{backgroundColor:`transparent`,border:`none`,color:`#ddd`},".cm-tooltip":{border:`none`,backgroundColor:O6},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:`transparent`,borderBottomColor:`transparent`},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:O6,borderBottomColor:O6},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:E6,color:y6}}},{dark:!0}),M6=sQ.define([{tag:Q.keyword,color:w6},{tag:[Q.name,Q.deleted,Q.character,Q.propertyName,Q.macroName],color:g6},{tag:[Q.function(Q.variableName),Q.labelName],color:x6},{tag:[Q.color,Q.constant(Q.name),Q.standard(Q.name)],color:C6},{tag:[Q.definition(Q.name),Q.separator],color:y6},{tag:[Q.typeName,Q.className,Q.number,Q.changed,Q.annotation,Q.modifier,Q.self,Q.namespace],color:h6},{tag:[Q.operator,Q.operatorKeyword,Q.url,Q.escape,Q.regexp,Q.link,Q.special(Q.string)],color:_6},{tag:[Q.meta,Q.comment],color:b6},{tag:Q.strong,fontWeight:`bold`},{tag:Q.emphasis,fontStyle:`italic`},{tag:Q.strikethrough,textDecoration:`line-through`},{tag:Q.link,color:b6,textDecoration:`underline`},{tag:Q.heading,fontWeight:`bold`,color:g6},{tag:[Q.atom,Q.bool,Q.special(Q.variableName)],color:C6},{tag:[Q.processingInstruction,Q.string,Q.inserted],color:S6},{tag:Q.invalid,color:v6}]),N6=[j6,hZ(M6)]})),F6,I6=o((()=>{TY(),F6=sJ.theme({"&":{backgroundColor:`#fff`}},{dark:!1})})),L6,R6=o((()=>{Q0(),m6(),TY(),P6(),rH(),I6(),P6(),I6(),L6=function(e){e===void 0&&(e={});var t=e,n=t.indentWithTab,r=n===void 0||n,i=t.editable,a=i===void 0||i,o=t.readOnly,s=o!==void 0&&o,c=t.theme,l=c===void 0?`light`:c,u=t.placeholder,d=u===void 0?``:u,f=t.basicSetup,p=f===void 0||f,m=[];switch(r&&m.unshift(pJ.of([Z0])),p&&(typeof p==`boolean`?m.unshift(p6()):m.unshift(p6(p))),d&&m.unshift(pG(d)),l){case`light`:m.push(F6);break;case`dark`:m.push(N6);break;case`none`:break;default:m.push(l);break}return a===!1&&m.push(sJ.editable.of(!1)),s&&m.push(JV.readOnly.of(!0)),[...m]}})),z6,B6=o((()=>{z6=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(e=>!e.empty)})})),V6,H6,U6,W6,G6=o((()=>{V6=class{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(e=>{try{e()}catch(e){console.error(`TimeoutLatch callback error:`,e)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}},H6=class{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}},U6=null,W6=()=>typeof window>`u`?new H6:(U6||(U6=new H6),U6)}));function K6(e,t,n,r,i,a){if(!e&&!t&&!n&&!r&&!i&&!a)return null;var o=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:i,maxWidth:a});return o===J6?Y6:(J6=o,Y6=sJ.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:i,maxWidth:a}}),Y6)}var q6,J6,Y6,X6=o((()=>{TY(),q6=sJ.theme({"& .cm-scroller":{height:`100% !important`}}),J6=null,Y6=null}));function Z6(e){var t=e.value,n=e.selection,r=e.onChange,i=e.onStatistics,a=e.onCreateEditor,o=e.onUpdate,s=e.extensions,c=s===void 0?t8:s,l=e.autoFocus,u=e.theme,d=u===void 0?`light`:u,f=e.height,p=f===void 0?null:f,m=e.minHeight,h=m===void 0?null:m,g=e.maxHeight,_=g===void 0?null:g,v=e.width,y=v===void 0?null:v,b=e.minWidth,x=b===void 0?null:b,S=e.maxWidth,C=S===void 0?null:S,w=e.placeholder,T=w===void 0?``:w,E=e.editable,D=E===void 0||E,O=e.readOnly,k=O!==void 0&&O,A=e.indentWithTab,j=A===void 0||A,M=e.basicSetup,N=M===void 0||M,ee=e.root,P=e.initialState,F=(0,Q6.useState)(),I=F[0],L=F[1],R=(0,Q6.useState)(),z=R[0],te=R[1],B=(0,Q6.useState)(),V=B[0],ne=B[1],re=(0,Q6.useState)(()=>({current:null}))[0],ie=(0,Q6.useState)(()=>({current:null}))[0],ae=K6(p,h,_,y,x,C),oe=sJ.updateListener.of(e=>{e.docChanged&&typeof r==`function`&&!e.transactions.some(e=>e.annotation($6))&&(re.current?re.current.reset():(re.current=new V6(()=>{if(ie.current){var e=ie.current;ie.current=null,e()}re.current=null},e8),W6().add(re.current)),r(e.state.doc.toString(),e)),i&&i(z6(e))}),se=L6({theme:d,editable:D,readOnly:k,placeholder:T,indentWithTab:j,basicSetup:N}),ce=[oe,...ae?[ae]:[],q6,...se];return o&&typeof o==`function`&&ce.push(sJ.updateListener.of(o)),ce=ce.concat(c),(0,Q6.useLayoutEffect)(()=>{if(I&&!V){var e={doc:t,selection:n,extensions:ce},r=P?JV.fromJSON(P.json,e,P.fields):JV.create(e);if(ne(r),!z){var i=new sJ({state:r,parent:I,root:ee});te(i),a&&a(i,r)}}return()=>{z&&(ne(void 0),te(void 0))}},[I,V]),(0,Q6.useEffect)(()=>{e.container&&L(e.container)},[e.container]),(0,Q6.useEffect)(()=>()=>{z&&(z.destroy(),te(void 0)),re.current&&(re.current.cancel(),re.current=null)},[z]),(0,Q6.useEffect)(()=>{l&&z&&z.focus()},[l,z]),(0,Q6.useEffect)(()=>{z&&z.dispatch({effects:HV.reconfigure.of(ce)})},[d,c,p,h,_,y,x,C,T,D,k,j,N,r,o]),(0,Q6.useEffect)(()=>{if(t!==void 0){var e=z?z.state.doc.toString():``;if(z&&t!==e){var n=re.current&&!re.current.isDone,r=()=>{z&&t!==z.state.doc.toString()&&z.dispatch({changes:{from:0,to:z.state.doc.toString().length,insert:t||``},annotations:[$6.of(!0)]})};n?ie.current=r:r()}}},[t,z]),{state:V,setState:ne,view:z,setView:te,container:I,setContainer:L}}var Q6,$6,e8,t8,n8=o((()=>{Q6=u(f()),rH(),TY(),R6(),B6(),G6(),X6(),$6=zV.define(),e8=200,t8=[]})),r8,i8,a8,o8,s8=o((()=>{w$(),E$(),r8=u(f()),n8(),i8=ls(),TY(),rH(),m6(),n8(),R6(),B6(),a8=[`className`,`value`,`selection`,`extensions`,`onChange`,`onStatistics`,`onCreateEditor`,`onUpdate`,`autoFocus`,`theme`,`height`,`minHeight`,`maxHeight`,`width`,`minWidth`,`maxWidth`,`basicSetup`,`placeholder`,`indentWithTab`,`editable`,`readOnly`,`root`,`initialState`],o8=(0,r8.forwardRef)((e,t)=>{var n=e.className,r=e.value,i=r===void 0?``:r,a=e.selection,o=e.extensions,s=o===void 0?[]:o,c=e.onChange,l=e.onStatistics,u=e.onCreateEditor,d=e.onUpdate,f=e.autoFocus,p=e.theme,m=p===void 0?`light`:p,h=e.height,g=e.minHeight,_=e.maxHeight,v=e.width,y=e.minWidth,b=e.maxWidth,x=e.basicSetup,S=e.placeholder,C=e.indentWithTab,w=e.editable,T=e.readOnly,E=e.root,D=e.initialState,O=T$(e,a8),k=(0,r8.useRef)(null),A=Z6({root:E,value:i,autoFocus:f,theme:m,height:h,minHeight:g,maxHeight:_,width:v,minWidth:y,maxWidth:b,basicSetup:x,placeholder:S,indentWithTab:C,editable:w,readOnly:T,selection:a,onChange:c,onStatistics:l,onCreateEditor:u,onUpdate:d,extensions:s,initialState:D}),j=A.state,M=A.view,N=A.container,ee=A.setContainer;(0,r8.useImperativeHandle)(t,()=>({editor:k.current,state:j,view:M}),[k,N,j,M]);var P=(0,r8.useCallback)(e=>{k.current=e,ee(e)},[ee]);if(typeof i!=`string`)throw Error(`value must be typeof string but got `+typeof i);return(0,i8.jsx)(`div`,C$({ref:P,className:(typeof m==`string`?`cm-theme-`+m:`cm-theme`)+(n?` `+n:``)},O))}),o8.displayName=`CodeMirror`}));function c8(e,t=Uint16Array){if(typeof e!=`string`)return e;let n=null;for(let r=0,i=0;r<e.length;){let a=0;for(;;){let t=e.charCodeAt(r++),n=!1;if(t==126){a=65535;break}t>=92&&t--,t>=34&&t--;let i=t-32;if(i>=46&&(i-=46,n=!0),a+=i,n)break;a*=46}n?n[i++]=a:n=new t(a)}return n}function l8(e,t,n,r,i,a){let o=0,s=1<<r,{dialect:c}=n.p.parser;scan:for(;(s&e[o])!=0;){let n=e[o+1];for(let r=o+3;r<n;r+=2)if((e[r+1]&s)>0){let n=e[r];if(c.allows(n)&&(t.token.value==-1||t.token.value==n||d8(n,t.token.value,i,a))){t.acceptToken(n);break}}let r=t.next,l=0,u=e[o+2];if(t.next<0&&u>l&&e[n+u*3-3]==65535){o=e[n+u*3-1];continue scan}for(;l<u;){let i=l+u>>1,a=n+i+(i<<1),s=e[a],c=e[a+1]||65536;if(r<s)u=i;else if(r>=c)l=i+1;else{o=e[a+2],t.advance();continue scan}}break}}function u8(e,t,n){for(let r=t,i;(i=e[r])!=65535;r++)if(i==n)return r-t;return-1}function d8(e,t,n,r){let i=u8(n,r,t);return i<0||u8(n,r,e)<i}function f8(e,t,n){let r=e.cursor(KY.IncludeAnonymous);for(r.moveTo(t);;)if(!(n<0?r.childBefore(t):r.childAfter(t)))for(;;){if((n<0?r.to<t:r.from>t)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,t-25)):Math.min(e.length,Math.max(r.from+1,t+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:e.length}}function p8(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(r.pos==e.pos&&r.sameState(e)){t[n].score<e.score&&(t[n]=e);return}}t.push(e)}function m8(e,t){return e[t]|e[t+1]<<16}function h8(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||e!=null&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.score<n.score)&&(t=n)}return t}function g8(e){if(e.external){let t=+!!e.extend;return(n,r)=>e.external(n,r)<<1|t}return e.get}var _8,v8,y8,b8,x8,S8,C8,w8,T8,E8,D8,O8,k8,A8,j8,M8,N8,P8,F8,I8=o((()=>{oX(),_8=class e{constructor(e,t,n,r,i,a,o,s,c,l=0,u){this.p=e,this.stack=t,this.state=n,this.reducePos=r,this.pos=i,this.score=a,this.buffer=o,this.bufferBase=s,this.curContext=c,this.lookAhead=l,this.parent=u}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?`!`+this.score:``}`}static start(t,n,r=0){let i=t.parser.context;return new e(t,[],n,r,r,0,[],0,i?new v8(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let t=e>>19,n=e&65535,{parser:r}=this.p,i=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=r.dynamicPrecedence(n);if(a&&(this.score+=a),t==0){this.pushState(r.getGoto(this.state,n,!0),this.reducePos),n<r.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,i?8:4,!0),this.reduceContext(n,this.reducePos);return}let o=this.stack.length-(t-1)*3-(e&262144?6:0),s=o?this.stack[o-2]:this.p.ranges[0].from,c=this.reducePos-s;c>=2e3&&!this.p.parser.nodeSet.types[n]?.isAnonymous&&(s==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=s,this.p.lastBigReductionSize=c));let l=o?this.stack[o-1]:0,u=this.bufferBase+this.buffer.length-l;if(n<r.minRepeatTerm||e&131072){let e=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,s,e,u+4,!0)}if(e&262144)this.state=this.stack[o];else{let e=this.stack[o-3];this.state=r.getGoto(e,n,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(n,s)}storeNode(e,t,n,r=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,r=this.buffer.length;if(r==0&&e.parent&&(r=e.bufferBase-e.parent.bufferBase,e=e.parent),r>0&&e.buffer[r-4]==0&&e.buffer[r-1]>-1){if(t==n)return;if(e.buffer[r-2]>=t){e.buffer[r-2]=n;return}}}if(!i||this.pos==n)this.buffer.push(e,t,n,r);else{let i=this.buffer.length;if(i>0&&(this.buffer[i-4]!=0||this.buffer[i-1]<0)){let e=!1;for(let t=i;t>0&&this.buffer[t-2]>n;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;i>0&&this.buffer[i-2]>n;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,r>4&&(r-=4)}this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=r}}shift(e,t,n,r){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=r,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,r,4);else{let i=e,{parser:a}=this.p;(r>this.pos||t<=a.maxNode)&&(this.pos=r,a.stateFlag(i,1)||(this.reducePos=r)),this.pushState(i,n),this.shiftContext(t,n),t<=a.maxNode&&this.buffer.push(t,n,r,4)}}apply(e,t,n,r){e&65536?this.reduce(e):this.shift(e,t,n,r)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let t=this,n=t.buffer.length;for(;n>0&&t.buffer[n-2]>t.reducePos;)n-=4;let r=t.buffer.slice(n),i=t.bufferBase+n;for(;t&&i==t.bufferBase;)t=t.parent;return new e(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,t)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new y8(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let n=[];for(let r=0,i;r<t.length;r+=2)(i=t[r+1])!=this.state&&this.p.parser.hasAction(i,e)&&n.push(t[r],i);if(this.stack.length<120)for(let e=0;n.length<8&&e<t.length;e+=2){let r=t[e+1];n.some((e,t)=>t&1&&e==r)||n.push(t[e],r)}t=n}let n=[];for(let e=0;e<t.length&&n.length<4;e+=2){let r=t[e+1];if(r==this.state)continue;let i=this.split();i.pushState(r,this.pos),i.storeNode(0,i.pos,i.pos,4,!0),i.shiftContext(t[e],this.pos),i.reducePos=this.pos,i.score-=200,n.push(i)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,r=t&65535,i=this.stack.length-n*3;if(i<0||e.getGoto(this.stack[i],r,!1)<0){let e=this.findForcedReduction();if(e==null)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(r,i)=>{if(!t.includes(r))return t.push(r),e.allActions(r,t=>{if(!(t&393216))if(t&65536){let n=(t>>19)-i;if(n>1){let r=t&65535,i=this.stack.length-n*3;if(i>=0&&e.getGoto(this.stack[i],r,!1)>=0)return n<<19|65536|r}}else{let e=n(t,i+1);if(e!=null)return e}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new v8(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},v8=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},y8=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}},b8=class e{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(t,n=t.bufferBase+t.buffer.length){return new e(t,n,n-t.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new e(this.stack,this.pos,this.index)}},x8=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},S8=new x8,C8=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk=``,this.chunkOff=0,this.chunk2=``,this.chunk2Pos=0,this.next=-1,this.token=S8,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,r=this.rangeIndex,i=this.pos+e;for(;i<n.from;){if(!r)return null;let e=this.ranges[--r];i-=n.from-e.to,n=e}for(;t<0?i>n.to:i>=n.to;){if(r==this.ranges.length-1)return null;let e=this.ranges[++r];i+=e.from-n.to,n=e}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,r;if(t>=0&&t<this.chunk.length)n=this.pos+e,r=this.chunk.charCodeAt(t);else{let t=this.resolveOffset(e,1);if(t==null)return-1;if(n=t,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let e=this.rangeIndex,t=this.range;for(;t.to<=n;)t=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>t.to&&(this.chunk2=this.chunk2.slice(0,t.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw RangeError(`Token end out of bounds`);this.token.value=e,this.token.end=n}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk=``,this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=S8,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk=``,this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n=``;for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}},w8=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;l8(this.data,e,t,this.id,n.data,n.tokenPrecTable)}},w8.prototype.contextual=w8.prototype.fallback=w8.prototype.extend=!1,T8=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e==`string`?c8(e):e}token(e,t){let n=e.pos,r=0;for(;;){let n=e.next<0,i=e.resolveOffset(1,1);if(l8(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||r++,i==null)break;e.reset(i,e.token)}r&&(e.reset(n,e.token),e.acceptToken(this.elseToken,r))}},T8.prototype.contextual=w8.prototype.fallback=w8.prototype.extend=!1,E8=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}},D8=typeof process<`u`&&/\bparse\b/.test({}.LOG),O8=null,k8=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?f8(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?f8(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],r=this.index[t];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=n.children[r],a=this.start[t]+n.positions[r];if(a>e)return this.nextStart=a,null;if(i instanceof qY){if(a==e){if(a<this.safeFrom)return null;let e=a+i.length;if(e<=this.safeTo){let t=i.prop(zY.lookAhead);if(!t||e+t<this.fragment.to)return i}}this.index[t]++,a+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+i.length}}},A8=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new x8)}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:i}=r,a=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,s=0;for(let r=0;r<i.length;r++){if(!(1<<r&a))continue;let c=i[r],l=this.tokens[r];if(!(n&&!c.fallback)&&((c.contextual||l.start!=e.pos||l.mask!=a||l.context!=o)&&(this.updateCachedToken(l,c,e),l.mask=a,l.context=o),l.lookAhead>l.end+25&&(s=Math.max(l.lookAhead,s)),l.value!=0)){let r=t;if(l.extended>-1&&(t=this.addActions(e,l.extended,l.end,t)),t=this.addActions(e,l.value,l.end,t),!c.extend&&(n=l,t>r))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),!n&&e.pos==this.stream.end&&(n=new x8,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new x8,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){let r=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(r,e),n),e.value>-1){let{parser:t}=n.p;for(let r=0;r<t.specialized.length;r++)if(t.specialized[r]==e.value){let i=t.specializers[r](this.stream.read(e.start,e.end),n);if(i>=0&&n.p.parser.dialect.allows(i>>1)){i&1?e.extended=i>>1:e.value=i>>1;break}}}else e.value=0,e.end=this.stream.clipPos(r+1)}putAction(e,t,n,r){for(let t=0;t<r;t+=3)if(this.actions[t]==e)return r;return this.actions[r++]=e,this.actions[r++]=t,this.actions[r++]=n,r}addActions(e,t,n,r){let{state:i}=e,{parser:a}=e.p,{data:o}=a;for(let e=0;e<2;e++)for(let s=a.stateSlot(i,e?2:1);;s+=3){if(o[s]==65535)if(o[s+1]==1)s=m8(o,s+2);else{r==0&&o[s+1]==2&&(r=this.putAction(m8(o,s+2),t,n,r));break}o[s]==t&&(r=this.putAction(m8(o,s+1),t,n,r))}return r}},j8=class{constructor(e,t,n,r){this.parser=e,this.input=t,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new C8(t,r),this.tokens=new A8(e,this.stream),this.topTerm=e.top[1];let{from:i}=r[0];this.stacks=[_8.start(this,e.top[0],i)],this.fragments=n.length&&this.stream.end-i>e.bufferLength*4?new k8(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],r,i;if(this.bigReductionCount>300&&e.length==1){let[t]=e;for(;t.forceReduce()&&t.stack.length&&t.stack[t.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let a=0;a<e.length;a++){let o=e[a];for(;;){if(this.tokens.mainToken=null,o.pos>t)n.push(o);else if(this.advanceStack(o,n,e))continue;else{r||(r=[],i=[]),r.push(o);let e=this.tokens.getMainToken(o);i.push(e.value,e.end)}break}}if(!n.length){let e=r&&h8(r);if(e)return D8&&console.log(`Finish with `+this.stackID(e)),this.stackToTree(e);if(this.parser.strict)throw D8&&r&&console.log(`Stuck with token `+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):`none`)),SyntaxError(`No parse at `+t);this.recovering||(this.recovering=5)}if(this.recovering&&r){let e=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,i,n);if(e)return D8&&console.log(`Force-finish `+this.stackID(e)),this.stackToTree(e.forceAll())}if(this.recovering){let e=this.recovering==1?1:this.recovering*3;if(n.length>e)for(n.sort((e,t)=>t.score-e.score);n.length>e;)n.pop();n.some(e=>e.reducePos>t)&&this.recovering--}else if(n.length>1){outer:for(let e=0;e<n.length-1;e++){let t=n[e];for(let r=e+1;r<n.length;r++){let i=n[r];if(t.sameState(i)||t.buffer.length>500&&i.buffer.length>500)if((t.score-i.score||t.buffer.length-i.buffer.length)>0)n.splice(r--,1);else{n.splice(e--,1);continue outer}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let e=1;e<n.length;e++)n[e].pos<this.minStackPos&&(this.minStackPos=n[e].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw RangeError(`Can't move stoppedAt forward`);this.stoppedAt=e}advanceStack(e,t,n){let r=e.pos,{parser:i}=this,a=D8?this.stackID(e)+` -> `:``;if(this.stoppedAt!=null&&r>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(r);o;){let r=this.parser.nodeSet.types[o.type.id]==o.type?i.getGoto(e.state,o.type.id):-1;if(r>-1&&o.length&&(!t||(o.prop(zY.contextHash)||0)==n))return e.useNode(o,r),D8&&console.log(a+this.stackID(e)+` (via reuse of ${i.getName(o.type.id)})`),!0;if(!(o instanceof qY)||o.children.length==0||o.positions[0]>0)break;let s=o.children[0];if(s instanceof qY&&o.positions[0]==0)o=s;else break}}let o=i.stateSlot(e.state,4);if(o>0)return e.reduce(o),D8&&console.log(a+this.stackID(e)+` (via always-reduce ${i.getName(o&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let o=0;o<s.length;){let c=s[o++],l=s[o++],u=s[o++],d=o==s.length||!n,f=d?e:e.split(),p=this.tokens.mainToken;if(f.apply(c,l,p?p.start:f.pos,u),D8&&console.log(a+this.stackID(f)+` (via ${c&65536?`reduce of ${i.getName(c&65535)}`:`shift`} for ${i.getName(l)} @ ${r}${f==e?``:`, split`})`),d)return!0;f.pos>r?t.push(f):n.push(f)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return p8(e,t),!0}}runRecovery(e,t,n){let r=null,i=!1;for(let a=0;a<e.length;a++){let o=e[a],s=t[a<<1],c=t[(a<<1)+1],l=D8?this.stackID(o)+` -> `:``;if(o.deadEnd&&(i||(i=!0,o.restart(),D8&&console.log(l+this.stackID(o)+` (restarted)`),this.advanceFully(o,n))))continue;let u=o.split(),d=l;for(let e=0;e<10&&u.forceReduce()&&(D8&&console.log(d+this.stackID(u)+` (via force-reduce)`),!this.advanceFully(u,n));e++)D8&&(d=this.stackID(u)+` -> `);for(let e of o.recoverByInsert(s))D8&&console.log(l+this.stackID(e)+` (via recover-insert)`),this.advanceFully(e,n);this.stream.end>o.pos?(c==o.pos&&(c++,s=0),o.recoverByDelete(s,c),D8&&console.log(l+this.stackID(o)+` (via recover-delete ${this.parser.getName(s)})`),p8(o,n)):(!r||r.score<o.score)&&(r=o)}return r}stackToTree(e){return e.close(),qY.build({buffer:b8.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(O8||(O8=new WeakMap)).get(e);return t||O8.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}},M8=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}},N8=e=>e,P8=class{constructor(e){this.start=e.start,this.shift=e.shift||N8,this.reduce=e.reduce||N8,this.reuse=e.reuse||N8,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},F8=class e extends iX{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(` `);this.minRepeatTerm=t.length;for(let n=0;n<e.repeatNodeCount;n++)t.push(``);let n=Object.keys(e.topRules).map(t=>e.topRules[t][1]),r=[];for(let e=0;e<t.length;e++)r.push([]);function i(e,t,n){r[e].push([t,t.deserialize(String(n))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];typeof e==`string`&&(e=zY[e]);for(let n=1;n<t.length;){let r=t[n++];if(r>=0)i(r,e,t[n++]);else{let a=t[n+-r];for(let o=-r;o>0;o--)i(t[n++],e,a);n++}}}this.nodeSet=new UY(t.map((t,i)=>HY.define({name:i>=this.minRepeatTerm?void 0:t,id:i,props:r[i],top:n.indexOf(i)>-1,error:i==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=IY;let a=c8(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(g8),this.states=c8(e.states,Uint32Array),this.data=c8(e.stateData),this.goto=c8(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(e=>typeof e==`number`?new w8(a,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let r=new j8(this,e,t,n);for(let i of this.wrappers)r=i(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let i=r[t+1];;){let t=r[i++],a=t&1,o=r[i++];if(a&&n)return o;for(let n=i+(t>>1);i<n;i++)if(r[i]==e)return o;if(a)return-1}}hasAction(e,t){let n=this.data;for(let r=0;r<2;r++)for(let i=this.stateSlot(e,r?2:1),a;;i+=3){if((a=n[i])==65535)if(n[i+1]==1)a=n[i=m8(n,i+2)];else if(n[i+1]==2)return m8(n,i+2);else break;if(a==t||a==0)return m8(n,i+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let n=this.stateSlot(e,4),r=n?t(n):void 0;for(let n=this.stateSlot(e,1);r==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=m8(this.data,n+2);else break;r=t(m8(this.data,n+1))}return r}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=m8(this.data,n+2);else break;if(!(this.data[n+2]&1)){let e=this.data[n+1];t.some((t,n)=>n&1&&t==e)||t.push(this.data[n],e)}}return t}configure(t){let n=Object.assign(Object.create(e.prototype),this);if(t.props&&(n.nodeSet=this.nodeSet.extend(...t.props)),t.top){let e=this.topRules[t.top];if(!e)throw RangeError(`Invalid top rule name ${t.top}`);n.top=e}return t.tokenizers&&(n.tokenizers=this.tokenizers.map(e=>{let n=t.tokenizers.find(t=>t.from==e);return n?n.to:e})),t.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((e,r)=>{let i=t.specializers.find(t=>t.from==e.external);if(!i)return e;let a=Object.assign(Object.assign({},e),{external:i.to});return n.specializers[r]=g8(a),a})),t.contextTracker&&(n.context=t.contextTracker),t.dialect&&(n.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(n.strict=t.strict),t.wrap&&(n.wrappers=n.wrappers.concat(t.wrap)),t.bufferLength!=null&&(n.bufferLength=t.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let r of e.split(` `)){let e=t.indexOf(r);e>=0&&(n[e]=!0)}let r=null;for(let e=0;e<t.length;e++)if(!n[e])for(let n=this.dialects[t[e]],i;(i=this.data[n++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[i]=1;return new M8(e,n,r)}static deserialize(t){return new e(t)}}}));function L8(e,t){for(let n=0,r=t-e.pos-1;;r--,n++){let t=e.peek(r);if(z8(t)||t==-1)return n}}function R8(e){return e==32||e==9}function z8(e){return e==10||e==13}function B8(e){return R8(e)||z8(e)}function V8(e){return e<0||B8(e)}function H8(e,t,n=0){return e.peek(n)==t&&e.peek(n+1)==t&&e.peek(n+2)==t&&V8(e.peek(n+3))}function U8(e){return e>32&&e<127&&e!=34&&e!=37&&e!=44&&e!=60&&e!=62&&e!=92&&e!=94&&e!=96&&e!=123&&e!=124&&e!=125}function W8(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function G8(e,t){return e.next==37?(e.advance(),W8(e.next)&&e.advance(),W8(e.next)&&e.advance(),!0):U8(e.next)||t&&e.next==44?(e.advance(),!0):!1}function K8(e){if(e.advance(),e.next==60){for(e.advance();;)if(!G8(e,!0)){e.next==62&&e.advance();break}}else for(;G8(e,!1););}function q8(e){for(e.advance();!V8(e.next)&&X8(e.tag)!=`f`;)e.advance()}function J8(e,t){let n=e.next,r=!1,i=e.pos;for(e.advance();;){let a=e.next;if(a<0)break;if(e.advance(),a==n)if(a==39)if(e.next==39)e.advance();else break;else break;else if(a==92&&n==34)e.next>=0&&e.advance();else if(z8(a)){if(t)return!1;r=!0}else if(t&&e.pos>=i+1024)return!1}return!r}function Y8(e){for(let t=[],n=e.pos+1024;;)if(e.next==91||e.next==123)t.push(e.next),e.advance();else if(e.next==39||e.next==34){if(!J8(e,!0))return!1}else if(e.next==93||e.next==125){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else if(e.next<0||e.pos>n||z8(e.next))return!1;else e.advance()}function X8(e){return e<33?`u`:e>125?`s`:j5[e-33]}function Z8(e,t){let n=X8(e);return n!=`u`&&!(t&&n==`f`)}function Q8(e,t,n,r){if(X8(e.next)==`s`||(e.next==63||e.next==58||e.next==45)&&Z8(e.peek(1),n))e.advance();else return!1;let i=e.pos;for(;;){let a=e.next,o=0,s=r+1;for(;B8(a);){if(z8(a)){if(t)return!1;s=0}else s++;a=e.peek(++o)}if(!(a>=0&&(a==58?Z8(e.peek(o+1),n):a==35?e.peek(o-1)!=32:Z8(a,n)))||!n&&s<=r||s==0&&!n&&(H8(e,45,o)||H8(e,46,o)))break;if(t&&X8(a)==`f`)return!1;for(let t=o;t>=0;t--)e.advance();if(t&&e.pos>i+1024)return!1}return!0}var $8,e5,t5,n5,r5,i5,a5,o5,s5,c5,l5,u5,d5,f5,p5,m5,h5,g5,_5,v5,y5,b5,x5,S5,C5,w5,T5,E5,D5,O5,k5,A5,j5,M5,N5,P5,F5,I5=o((()=>{I8(),IX(),$8=63,e5=64,t5=1,n5=2,r5=3,i5=4,a5=5,o5=6,s5=7,c5=65,l5=66,u5=8,d5=9,f5=10,p5=11,m5=12,h5=13,g5=19,_5=20,v5=29,y5=33,b5=34,x5=47,S5=0,C5=1,w5=2,T5=3,E5=4,D5=class{constructor(e,t,n){this.parent=e,this.depth=t,this.type=n,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+n}},D5.top=new D5(null,-1,S5),O5=new P8({start:D5.top,reduce(e,t){return e.type==T5&&(t==_5||t==b5)?e.parent:e},shift(e,t,n,r){if(t==r5)return new D5(e,L8(r,r.pos),C5);if(t==c5||t==a5)return new D5(e,L8(r,r.pos),w5);if(t==$8)return e.parent;if(t==g5||t==y5)return new D5(e,0,T5);if(t==h5&&e.type==E5)return e.parent;if(t==x5){let t=/[1-9]/.exec(r.read(r.pos,n.pos));if(t)return new D5(e,e.depth+ +t[0],E5)}return e},hash(e){return e.hash}}),k5=new E8((e,t)=>{if(e.next==-1&&t.canShift(e5))return e.acceptToken(e5);let n=e.peek(-1);if((z8(n)||n<0)&&t.context.type!=T5){if(H8(e,45))if(t.canShift($8))e.acceptToken($8);else return e.acceptToken(t5,3);if(H8(e,46))if(t.canShift($8))e.acceptToken($8);else return e.acceptToken(n5,3);let n=0;for(;e.next==32;)n++,e.advance();(n<t.context.depth||n==t.context.depth&&t.context.type==C5&&(e.next!=45||!V8(e.peek(1))))&&e.next!=-1&&!z8(e.next)&&e.next!=35&&e.acceptToken($8,-n)}},{contextual:!0}),A5=new E8((e,t)=>{if(t.context.type==T5){e.next==63&&(e.advance(),V8(e.next)&&e.acceptToken(s5));return}if(e.next==45)e.advance(),V8(e.next)&&e.acceptToken(t.context.type==C5&&t.context.depth==L8(e,e.pos-1)?i5:r5);else if(e.next==63)e.advance(),V8(e.next)&&e.acceptToken(t.context.type==w5&&t.context.depth==L8(e,e.pos-1)?o5:a5);else{let n=e.pos;for(;;)if(R8(e.next)){if(e.pos==n)return;e.advance()}else if(e.next==33)K8(e);else if(e.next==38)q8(e);else if(e.next==42){q8(e);break}else if(e.next==39||e.next==34){if(J8(e,!0))break;return}else if(e.next==91||e.next==123){if(!Y8(e))return;break}else{Q8(e,!0,!1,0);break}for(;R8(e.next);)e.advance();if(e.next==58){if(e.pos==n&&t.canShift(v5))return;V8(e.peek(1))&&e.acceptTokenTo(t.context.type==w5&&t.context.depth==L8(e,n)?l5:c5,n)}}},{contextual:!0}),j5=`iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif`,M5=new E8((e,t)=>{if(e.next==33)K8(e),e.acceptToken(m5);else if(e.next==38||e.next==42){let t=e.next==38?f5:p5;q8(e),e.acceptToken(t)}else e.next==39||e.next==34?(J8(e,!1),e.acceptToken(d5)):Q8(e,!1,t.context.type==T5,t.context.depth)&&e.acceptToken(u5)}),N5=new E8((e,t)=>{let n=t.context.type==E5?t.context.depth:-1,r=e.pos;scan:for(;;){let i=0,a=e.next;for(;a==32;)a=e.peek(++i);if(!i&&(H8(e,45,i)||H8(e,46,i))||!z8(a)&&(n<0&&(n=Math.max(t.context.depth+1,i)),i<n))break;for(;;){if(e.next<0)break scan;let t=z8(e.next);if(e.advance(),t)continue scan;r=e.pos}}e.acceptTokenTo(h5,r)}),P5=lX({DirectiveName:Q.keyword,DirectiveContent:Q.attributeValue,"DirectiveEnd DocEnd":Q.meta,QuotedLiteral:Q.string,BlockLiteralHeader:Q.special(Q.string),BlockLiteralContent:Q.content,Literal:Q.content,"Key/Literal Key/QuotedLiteral":Q.definition(Q.propertyName),"Anchor Alias":Q.labelName,Tag:Q.typeName,Comment:Q.lineComment,": , -":Q.separator,"?":Q.punctuation,"[ ]":Q.squareBracket,"{ }":Q.brace}),F5=F8.deserialize({version:14,states:"5lQ!ZQgOOO#PQfO'#CpO#uQfO'#DOOOQR'#Dv'#DvO$qQgO'#DRO%gQdO'#DUO%nQgO'#DUO&ROaO'#D[OOQR'#Du'#DuO&{QgO'#D^O'rQgO'#D`OOQR'#Dt'#DtO(iOqO'#DbOOQP'#Dj'#DjO(zQaO'#CmO)YQgO'#CmOOQP'#Cm'#CmQ)jQaOOQ)uQgOOQ]QgOOO*PQdO'#CrO*nQdO'#CtOOQO'#Dw'#DwO+]Q`O'#CxO+hQdO'#CwO+rQ`O'#CwOOQO'#Cv'#CvO+wQdO'#CvOOQO'#Cq'#CqO,UQ`O,59[O,^QfO,59[OOQR,59[,59[OOQO'#Cx'#CxO,eQ`O'#DPO,pQdO'#DPOOQO'#Dx'#DxO,zQdO'#DxO-XQ`O,59jO-aQfO,59jOOQR,59j,59jOOQR'#DS'#DSO-hQcO,59mO-sQgO'#DVO.TQ`O'#DVO.YQcO,59pOOQR'#DX'#DXO#|QfO'#DWO.hQcO'#DWOOQR,59v,59vO.yOWO,59vO/OOaO,59vO/WOaO,59vO/cQgO'#D_OOQR,59x,59xO0VQgO'#DaOOQR,59z,59zOOQP,59|,59|O0yOaO,59|O1ROaO,59|O1aOqO,59|OOQP-E7h-E7hO1oQgO,59XOOQP,59X,59XO2PQaO'#DeO2_QgO'#DeO2oQgO'#DkOOQP'#Dk'#DkQ)jQaOOO3PQdO'#CsOOQO,59^,59^O3kQdO'#CuOOQO,59`,59`OOQO,59c,59cO4VQdO,59cO4aQdO'#CzO4kQ`O'#CzOOQO,59b,59bOOQU,5:Q,5:QOOQR1G.v1G.vO4pQ`O1G.vOOQU-E7d-E7dO4xQdO,59kOOQO,59k,59kO5SQdO'#DQO5^Q`O'#DQOOQO,5:d,5:dOOQU,5:R,5:ROOQR1G/U1G/UO5cQ`O1G/UOOQU-E7e-E7eO5kQgO'#DhO5xQcO1G/XOOQR1G/X1G/XOOQR,59q,59qO6TQgO,59qO6eQdO'#DiO6lQgO'#DiO7PQcO1G/[OOQR1G/[1G/[OOQR,59r,59rO#|QfO,59rOOQR1G/b1G/bO7_OWO1G/bO7dOaO1G/bOOQR,59y,59yOOQR,59{,59{OOQP1G/h1G/hO7lOaO1G/hO7tOaO1G/hO8POaO1G/hOOQP1G.s1G.sO8_QgO,5:POOQP,5:P,5:POOQP,5:V,5:VOOQP-E7i-E7iOOQO,59_,59_OOQO,59a,59aOOQO1G.}1G.}OOQO,59f,59fO8oQdO,59fOOQR7+$b7+$bP,XQ`O'#DfOOQO1G/V1G/VOOQO,59l,59lO8yQdO,59lOOQR7+$p7+$pP9TQ`O'#DgOOQR'#DT'#DTOOQR,5:S,5:SOOQR-E7f-E7fOOQR7+$s7+$sOOQR1G/]1G/]O9YQgO'#DYO9jQ`O'#DYOOQR,5:T,5:TO#|QfO'#DZO9oQcO'#DZOOQR-E7g-E7gOOQR7+$v7+$vOOQR1G/^1G/^OOQR7+$|7+$|O:QOWO7+$|OOQP7+%S7+%SO:VOaO7+%SO:_OaO7+%SOOQP1G/k1G/kOOQO1G/Q1G/QOOQO1G/W1G/WOOQR,59t,59tO:jQgO,59tOOQR,59u,59uO#|QfO,59uOOQR<<Hh<<HhOOQP<<Hn<<HnO:zOaO<<HnOOQR1G/`1G/`OOQR1G/a1G/aOOQPAN>YAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:`⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document`,maxTerm:74,context:O5,nodeProps:[[`isolate`,-3,8,9,14,``],[`openedBy`,18,`[`,32,`{`],[`closedBy`,19,`]`,33,`}`]],propSources:[P5],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[k5,A5,M5,N5,0,1],topRules:{Stream:[0,15]},tokenPrec:0})}));function L5(){return new LZ(R5)}var R5,z5=o((()=>{I5(),EQ(),oX(),IX(),I8(),R5=OZ.define({name:`yaml`,parser:F5.configure({props:[VZ.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if(t.name==`BlockLiteralContent`&&t.from<t.to)return e.baseIndentFor(t);if(t.name==`BlockLiteral`)return e.baseIndentFor(t)+e.unit;if(t.name==`BlockSequence`||t.name==`BlockMapping`)return e.column(t.firstChild.from,1);if(t.name==`QuotedLiteral`)return null;if(t.name==`Literal`){let n=e.column(t.from,1);if(n==e.lineIndent(t.from,1))return n;if(t.to>e.pos)return null}}return null},FlowMapping:ZX({closing:`}`}),FlowSequence:ZX({closing:`]`})}),GZ.add({"FlowMapping FlowSequence":eZ,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:`#`},indentOnInput:/^\s*[\]\}]$/}}),Q.meta})),B5=c({default:()=>V5});function V5({value:e,onChange:t,editorRef:n,theme:r,editable:i,placeholder:a}){return(0,U5.jsx)(o8,{ref:n,value:e,onChange:t,extensions:(0,H5.useMemo)(()=>[L5(),o2(),n2(),pJ.of(o4)],[]),theme:r,editable:i,placeholder:a,height:`100%`,style:{height:`100%`},basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightActiveLine:!0,foldGutter:!0,dropCursor:!0,allowMultipleSelections:!0,indentOnInput:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,rectangularSelection:!0,crosshairCursor:!1,highlightSelectionMatches:!0,closeBracketsKeymap:!0,searchKeymap:!0,foldKeymap:!0,completionKeymap:!1,lintKeymap:!0}})}var H5,U5,W5=o((()=>{H5=u(f(),1),s8(),z5(),f4(),TY(),U5=ls()})),G5=(0,y.lazy)(()=>E(()=>Promise.resolve().then(()=>(W5(),B5)),void 0,import.meta.url));function K5(e){try{let t=gR(e);return!t||typeof t!=`object`||Array.isArray(t)?!1:!!t[`commercial-mode`]}catch{return!1}}function q5(e){try{return hR(e).toString({indent:2,lineWidth:120,minContentWidth:0})}catch{return e}}function J5(){let{t:e}=ss(),t=oh(),n=!t||t.isCurrentLayer,r=Kc(e=>e.showNotification),i=Kc(e=>e.showConfirmation),a=am(e=>e.connectionStatus),o=tl(e=>e.resolvedTheme),s=yR(`(max-width: 768px)`),{visualValues:c,visualDirty:l,visualParseError:u,visualValidationErrors:d,visualHasPayloadValidationErrors:f,loadVisualValuesFromYaml:p,applyVisualChangesToYaml:m,setVisualValues:h}=Dz(),[g,_]=(0,y.useState)(()=>{let e=localStorage.getItem(`config-management:tab`);return e===`visual`||e===`source`?e:`visual`}),[v,b]=(0,y.useState)(``),[x,C]=(0,y.useState)(!0),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(``),[O,k]=(0,y.useState)(!1),[A,j]=(0,y.useState)(!1),[M,N]=(0,y.useState)(``),[ee,P]=(0,y.useState)(``),[F,I]=(0,y.useState)(``),[L,R]=(0,y.useState)(`visual`),[z,te]=(0,y.useState)(``),[B,V]=(0,y.useState)({current:0,total:0}),[ne,re]=(0,y.useState)(``),ie=(0,y.useRef)(null),ae=(0,y.useRef)(null),oe=a!==`connected`,se=O||l,ce=n,le=!!u,ue=g===`visual`&&(Object.values(d).some(Boolean)||f);uT({enabled:n,shouldBlock:se,dialog:(0,y.useMemo)(()=>({title:e(`common.unsaved_changes_title`),message:e(`common.unsaved_changes_message`),confirmText:e(`common.confirm`),cancelText:e(`common.cancel`)}),[e])});let de=(0,y.useCallback)(async()=>{C(!0),D(``);try{let e=await Z_.fetchConfigYaml();b(e),k(!1),j(!1),N(e),P(e),I(e),p(e)}catch(t){let n=t instanceof Error?t.message:e(`notification.refresh_failed`);D(n)}finally{C(!1)}},[p,e]);(0,y.useEffect)(()=>{de()},[de]),(0,y.useEffect)(()=>{g!==`visual`||!u||(_(`source`),localStorage.setItem(`config-management:tab`,`source`),r(e(`config_management.visual_mode_unavailable_detail`,{message:u}),`error`))},[g,r,e,u]);let fe=async()=>{T(!0);try{let t=await Z_.fetchConfigYaml();if(t!==F){let n=L===`visual`&&!O?m(t):ee,i=L===`visual`?q5(t):t;I(t),N(i),P(n),i===n&&(k(!1),j(!1),b(t),p(t),r(e(`config_management.diff.no_changes`),`info`));return}let n=K5(t)!==K5(ee);await Z_.saveConfigYaml(ee);let i=await Z_.fetchConfigYaml();k(!1),j(!1),b(i),N(i),P(i),I(i),p(i);try{jp.getState().clearCache(),await jp.getState().fetchConfig(!0)}catch(t){let n=t instanceof Error?t.message:typeof t==`string`?t:``;r(`${e(`notification.refresh_failed`)}${n?`: ${n}`:``}`,`error`)}r(e(`config_management.save_success`),`success`),n&&r(e(`notification.commercial_mode_restart_required`),`warning`)}catch(t){let n=t instanceof Error?t.message:``;r(`${e(`notification.save_failed`)}: ${n}`,`error`)}finally{T(!1)}},pe=async()=>{if(g===`visual`&&u){r(e(`config_management.visual_mode_save_blocked`),`error`);return}T(!0);try{let t=await Z_.fetchConfigYaml(),n=O?v:t;if(g!==`source`){let i=hR(t);if(i.errors.length>0){r(e(`config_management.visual_mode_latest_yaml_invalid`,{message:i.errors[0]?.message??e(`config_management.visual_mode_save_blocked`)}),`error`);return}if(n!==t){let t=hR(n);if(t.errors.length>0){r(e(`config_management.visual_mode_latest_yaml_invalid`,{message:t.errors[0]?.message??e(`config_management.visual_mode_save_blocked`)}),`error`);return}}}let i=g===`source`?v:m(n),a=t;if(g!==`source`&&(a=q5(t)),a===i){k(!1),b(t),N(t),P(i),I(t),p(t),r(e(`config_management.diff.no_changes`),`info`);return}N(a),P(i),I(t),R(g),j(!0)}catch(t){let n=t instanceof Error?t.message:``;r(`${e(`notification.save_failed`)}: ${n}`,`error`)}finally{T(!1)}},me=(0,y.useCallback)(e=>{b(e),k(!0)},[]),he=(0,y.useCallback)(t=>{if(t!==g){if(t===`source`){if(l){let e=m(v);e!==v&&(b(e),k(!0))}}else{let t=p(v);if(!t.ok){r(e(`config_management.visual_mode_unavailable_detail`,{message:t.error}),`error`);return}}_(t),localStorage.setItem(`config-management:tab`,t)}},[g,m,v,p,r,e,l]),ge=(0,y.useCallback)((e,t=`next`)=>{if(!e||!ie.current?.view)return;let n=ie.current.view,r=n.state.doc.toString(),i=[],a=e.toLowerCase(),o=r.toLowerCase(),s=0;for(;s<o.length;){let e=o.indexOf(a,s);if(e===-1)break;i.push(e),s=e+1}if(i.length===0){V({current:0,total:0});return}let c=n.state.selection.main,l=t===`prev`?c.from:c.to,u=0;if(t===`next`)for(let e=0;e<i.length;e++){if(i[e]>l){u=e;break}e===i.length-1&&(u=0)}else for(let e=i.length-1;e>=0;e--){if(i[e]<l){u=e;break}e===0&&(u=i.length-1)}let d=i[u];V({current:u+1,total:i.length}),n.dispatch({selection:{anchor:d,head:d+e.length},scrollIntoView:!0}),n.focus()},[]),_e=(0,y.useCallback)(e=>{te(e),e?V({current:0,total:0}):(V({current:0,total:0}),re(``))},[]),ve=(0,y.useCallback)((e=`next`)=>{z&&(re(z),ge(z,e))},[z,ge]),ye=(0,y.useCallback)(e=>{e.key===`Enter`&&(e.preventDefault(),ve(e.shiftKey?`prev`:`next`))},[ve]),be=(0,y.useCallback)(()=>{ne&&ge(ne,`prev`)},[ne,ge]),xe=(0,y.useCallback)(()=>{ne&&ge(ne,`next`)},[ne,ge]);iA(ae,`--config-action-bar-height`,ce);let Se=()=>e(oe?`config_management.status_disconnected`:x?`config_management.status_loading`:E?`config_management.status_load_failed`:le?`config_management.visual_mode_unavailable`:ue?`config_management.visual.validation.validation_blocked`:w?`config_management.status_saving`:se?`config_management.status_dirty`:`config_management.status_loaded`),Ce=()=>E||le||ue?S$.error:se?S$.modified:!x&&!w?S$.saved:``,we=()=>s?oe?e(`config_management.status_disconnected_short`,{defaultValue:`Disconnected`}):x?e(`config_management.status_loading_short`,{defaultValue:`Loading`}):E?e(`config_management.status_load_failed_short`,{defaultValue:`Failed`}):le?e(`config_management.visual_mode_unavailable_short`,{defaultValue:`YAML issue`}):ue?e(`config_management.visual.validation_blocked_short`,{defaultValue:`Fix errors`}):w?e(`config_management.status_saving_short`,{defaultValue:`Saving`}):se?e(`config_management.status_dirty_short`,{defaultValue:`Unsaved`}):e(`config_management.status_loaded_short`,{defaultValue:`Loaded`}):Se(),Te=(0,y.useCallback)(()=>{if(!se){de();return}i({title:e(`common.unsaved_changes_title`),message:e(`config_management.reload_confirm_message`),confirmText:e(`config_management.reload`),cancelText:e(`common.cancel`),variant:`danger`,onConfirm:async()=>{await de()}})},[se,de,i,e]),Ee=(0,H.jsx)(`div`,{className:S$.floatingActionContainer,ref:ae,children:(0,H.jsxs)(`div`,{className:S$.floatingActionList,children:[(0,H.jsx)(`div`,{className:`${S$.floatingStatus} ${s?S$.floatingStatusCompact:``} ${Ce()}`,children:we()}),(0,H.jsx)(`button`,{type:`button`,className:S$.floatingActionButton,onClick:Te,disabled:x||w,title:e(`config_management.reload`),"aria-label":e(`config_management.reload`),children:(0,H.jsx)(Cs,{size:16})}),(0,H.jsxs)(`button`,{type:`button`,className:S$.floatingActionButton,onClick:pe,disabled:oe||x||w||!se||A||le||ue,title:e(`config_management.save`),"aria-label":e(`config_management.save`),children:[(0,H.jsx)(Bs,{size:16}),se&&(0,H.jsx)(`span`,{className:S$.dirtyDot,"aria-hidden":`true`})]})]})});return(0,H.jsxs)(`div`,{className:S$.container,children:[(0,H.jsx)(`div`,{className:S$.pageHeader,children:(0,H.jsxs)(`div`,{className:S$.pageHeaderCopy,children:[(0,H.jsx)(`h1`,{className:S$.pageTitle,children:e(`config_management.title`)}),(0,H.jsxs)(`div`,{className:S$.tabBar,children:[(0,H.jsx)(`button`,{type:`button`,className:`${S$.tabItem} ${g===`visual`?S$.tabActive:``}`,onClick:()=>he(`visual`),disabled:w||x,children:e(`config_management.tabs.visual`,{defaultValue:`可视化编辑`})}),(0,H.jsx)(`button`,{type:`button`,className:`${S$.tabItem} ${g===`source`?S$.tabActive:``}`,onClick:()=>he(`source`),disabled:w||x,children:e(`config_management.tabs.source`,{defaultValue:`源代码编辑`})})]})]})}),(0,H.jsx)(`div`,{className:S$.workspaceShell,children:(0,H.jsxs)(`div`,{className:S$.content,children:[E&&(0,H.jsx)(`div`,{className:`error-box`,children:E}),!E&&u&&(0,H.jsx)(`div`,{className:`error-box`,children:e(`config_management.visual_mode_unavailable_detail`,{message:u})}),g===`visual`?(0,H.jsx)(rB,{values:c,validationErrors:d,hasPayloadValidationErrors:f,disabled:oe||x,onChange:h}):(0,H.jsxs)(`div`,{className:S$.sourceWorkspace,children:[(0,H.jsxs)(`div`,{className:S$.sourceToolbar,children:[(0,H.jsx)(`div`,{className:S$.searchInputWrapper,children:(0,H.jsx)(us,{value:z,onChange:e=>_e(e.target.value),onKeyDown:ye,placeholder:e(`config_management.search_placeholder`,{defaultValue:`搜索配置内容...`}),disabled:oe||x,className:S$.searchInput,rightElement:(0,H.jsxs)(`div`,{className:S$.searchRight,children:[z&&ne===z&&(0,H.jsx)(`span`,{className:S$.searchCount,children:B.total>0?`${B.current} / ${B.total}`:e(`config_management.search_no_results`,{defaultValue:`无结果`})}),(0,H.jsx)(`button`,{type:`button`,className:S$.searchButton,onClick:()=>ve(`next`),disabled:!z||oe||x,title:e(`config_management.search_button`,{defaultValue:`搜索`}),children:(0,H.jsx)(Rs,{size:16})})]})})}),(0,H.jsxs)(`div`,{className:S$.searchActions,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:be,disabled:!z||ne!==z||B.total===0,title:e(`config_management.search_prev`,{defaultValue:`上一个`}),children:(0,H.jsx)(Fs,{size:16})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:xe,disabled:!z||ne!==z||B.total===0,title:e(`config_management.search_next`,{defaultValue:`下一个`}),children:(0,H.jsx)(Is,{size:16})})]})]}),(0,H.jsx)(`div`,{className:S$.editorWrapper,children:(0,H.jsx)(y.Suspense,{fallback:null,children:(0,H.jsx)(G5,{editorRef:ie,value:v,onChange:me,theme:o,editable:!oe&&!x,placeholder:e(`config_management.editor_placeholder`)})})})]})]})}),ce&&typeof document<`u`?(0,S.createPortal)(Ee,document.body):null,(0,H.jsx)(x$,{open:A,original:M,modified:ee,onConfirm:fe,onCancel:()=>j(!1),loading:w})]})}function Y5(e,t){let[n,r]=(0,y.useState)(()=>{try{let n=window.localStorage.getItem(e);return n?JSON.parse(n):t}catch(n){return console.error(`Error reading localStorage key "${e}":`,n),t}});return[n,(0,y.useCallback)(t=>{r(n=>{let r=t instanceof Function?t(n):t;try{window.localStorage.setItem(e,JSON.stringify(r))}catch(t){console.error(`Error setting localStorage key "${e}":`,t)}return r})},[e])]}var X5=[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`,`OPTIONS`,`HEAD`],Z5=[`2xx`,`3xx`,`4xx`,`5xx`],Q5=e=>{if(typeof e==`number`){if(e>=200&&e<300)return`2xx`;if(e>=300&&e<400)return`3xx`;if(e>=400&&e<500)return`4xx`;if(e>=500&&e<600)return`5xx`}},$5=RegExp(`\\b(${X5.join(`|`)})\\b`),e7=/^\[?(\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?)\]?/,t7=/^\[?(trace|debug|info|warn|warning|error|fatal)\s*\]?(?=\s|\[|$)\s*/i,n7=/^\[([^\]]+)\]/,r7=/\b(?:\d+(?:\.\d+)?\s*(?:µs|us|ms|s|m))(?:\s*\d+(?:\.\d+)?\s*(?:µs|us|ms|s|m))*\b/i,i7=/\b(?:\d{1,3}\.){3}\d{1,3}\b/,a7=/\b(?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}\b/i,o7=/^([a-f0-9]{8}|--------)$/i,s7=/\brequest[_-]?id=([A-Za-z0-9][A-Za-z0-9._:-]{0,127})\b/i,c7=/^\d{1,2}:\d{2}:\d{2}(?:\.\d{1,3})?$/,l7=/^\[GIN\]\s+(\d{4})\/(\d{2})\/(\d{2})\s*-\s*(\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?)\s*$/,u7=[/\|\s*([1-5]\d{2})\s*\|/,/\b([1-5]\d{2})\s*-/,RegExp(`\\b(?:${X5.join(`|`)})\\s+\\S+\\s+([1-5]\\d{2})\\b`),/\b(?:status|code|http)[:\s]+([1-5]\d{2})\b/i,/\b([1-5]\d{2})\s+(?:OK|Created|Accepted|No Content|Moved|Found|Bad Request|Unauthorized|Forbidden|Not Found|Method Not Allowed|Internal Server Error|Bad Gateway|Service Unavailable|Gateway Timeout)\b/i],d7=e=>{for(let t of u7){let n=e.match(t);if(!n)continue;let r=Number.parseInt(n[1],10);if(Number.isFinite(r)&&r>=100&&r<=599)return r}},f7=e=>{let t=e.match(i7);if(t)return t[0];let n=e.match(a7);if(!n)return;let r=n[0];if(!c7.test(r)&&!(!r.includes(`::`)&&r.split(`:`).length!==8))return r},p7=e=>{let t=e.trim(),n=t.match(/^(\d{4}-\d{2}-\d{2})[ T](\d{2}:\d{2}:\d{2})/);return n?`${n[1]} ${n[2]}`:t},m7=e=>{let t=e.match(r7);if(t)return t[0].replace(/\s+/g,``)},h7=e=>{let t=e.trim().toLowerCase();if(t===`warning`||t===`warn`)return`warn`;if(t===`info`)return`info`;if(t===`error`)return`error`;if(t===`fatal`)return`fatal`;if(t===`debug`)return`debug`;if(t===`trace`)return`trace`},g7=e=>{let t=e.toLowerCase();if(/\bfatal\b/.test(t))return`fatal`;if(/\berror\b/.test(t))return`error`;if(/\bwarn(?:ing)?\b/.test(t)||e.includes(`警告`))return`warn`;if(/\binfo\b/.test(t))return`info`;if(/\bdebug\b/.test(t))return`debug`;if(/\btrace\b/.test(t))return`trace`},_7=e=>{let t=e.match(s7);if(!t)return;let n=t[1];if(!/^-+$/.test(n))return n},v7=e=>{let t=e.match($5);if(!t)return{};let n=t[1],r=t.index??0,i=e.slice(r+t[0].length).trim();return{method:n,path:i?i.split(/\s+/)[0]:void 0}},y7=e=>{let t=e.trim(),n,r=t.match(e7);r&&(n=r[1],t=t.slice(r[0].length).trim());let i,a=t.match(/^\[([a-f0-9]{8}|--------)\]\s*/i);if(a){let e=a[1];/^-+$/.test(e)||(i=e),t=t.slice(a[0].length).trim()}let o,s=t.match(t7);s&&(o=h7(s[1]),t=t.slice(s[0].length).trim());let c,l=t.match(n7);l&&(c=l[1],t=t.slice(l[0].length).trim());let u,d,f,p,m,h=t;if(t.includes(`|`)){let e=t.split(`|`).map(e=>e.trim()).filter(Boolean),r=new Set,a=e.findIndex(e=>l7.test(e));if(a>=0){let t=e[a].match(l7);if(t){let e=`${t[1]}-${t[2]}-${t[3]} ${t[4]}`,i=p7(e),o=n?p7(n):void 0;n?o===i&&r.add(a):(n=e,r.add(a))}}let o=e.findIndex(e=>o7.test(e)||!!_7(e));if(o>=0){let t=_7(e[o]);if(t)i=t,r.add(o);else{let t=e[o].match(o7);if(t){let e=t[1];/^-+$/.test(e)||(i=e),r.add(o)}}}let s=e.findIndex(e=>/^\d{3}$/.test(e));if(s>=0){let t=e[s].match(/^(\d{3})$/);if(t){let e=Number.parseInt(t[1],10);e>=100&&e<=599&&(u=e,r.add(s))}}let l=e.findIndex(e=>r7.test(e));if(l>=0){let t=m7(e[l]);t&&(d=t,r.add(l))}let g=e.findIndex(e=>!!f7(e));if(g>=0){let t=f7(e[g]);t&&(f=t,r.add(g))}let _=e.findIndex(e=>{let{method:t}=v7(e);return!!t});if(_>=0){let t=v7(e[_]);p=t.method,m=t.path,r.add(_)}let v=e.findIndex(e=>n7.test(e));if(v>=0){let t=e[v].match(n7);t&&(c=t[1],r.add(v))}h=e.filter((e,t)=>!r.has(t)).join(` | `)}else{u=d7(t);let e=m7(t);e&&(d=e),f=f7(t);let n=v7(t);p=n.method,m=n.path,i||(i=_7(t))}if(o||(o=g7(e)),h){let e=h.match(l7);if(e){let t=`${e[1]}-${e[2]}-${e[3]} ${e[4]}`;n||(n=t),p7(n)===p7(t)&&(h=``)}}return{raw:e,timestamp:n,level:o,source:c,requestId:i,statusCode:u,latency:d,ip:f,method:p,path:m,message:h}},b7=12;function x7(e){let{parsedLines:t}=e,[n,r]=Y5(`logsPage.methodFilters`,[]),[i,a]=Y5(`logsPage.statusFilters`,[]),[o,s]=Y5(`logsPage.pathFilters`,[]),c=(0,y.useMemo)(()=>new Set(n),[n]),l=(0,y.useMemo)(()=>new Set(i),[i]),u=(0,y.useMemo)(()=>new Set(o),[o]),d=n.length>0||i.length>0||o.length>0,f=(0,y.useMemo)(()=>{let e={};return t.forEach(t=>{t.method&&(e[t.method]=(e[t.method]??0)+1)}),e},[t]),p=(0,y.useMemo)(()=>{let e={};return t.forEach(t=>{let n=Q5(t.statusCode);n&&(e[n]=(e[n]??0)+1)}),e},[t]),m=(0,y.useMemo)(()=>{let e=new Map;return t.forEach(t=>{t.path&&e.set(t.path,(e.get(t.path)??0)+1)}),Array.from(e.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,b7).map(([e,t])=>({path:e,count:t}))},[t]);return(0,y.useEffect)(()=>{if(t.length===0)return;let e=new Set(m.map(e=>e.path));s(t=>{if(t.length===0)return t;let n=t.filter(t=>e.has(t));return n.length===t.length?t:n})},[t.length,m,s]),{methodFilters:n,statusFilters:i,pathFilters:o,methodFilterSet:c,statusFilterSet:l,pathFilterSet:u,hasStructuredFilters:d,methodCounts:f,statusCounts:p,pathOptions:m,toggleMethodFilter:e=>{r(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},toggleStatusFilter:e=>{a(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},togglePathFilter:e=>{s(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},clearStructuredFilters:()=>{r([]),a([]),s([])}}}var S7=200,C7=72,w7=e=>!e||e.scrollHeight-e.scrollTop-e.clientHeight<=24;function T7(e){let{logState:t,setLogState:n,loading:r,isSearching:i,filteredLineCount:a,hasStructuredFilters:o,showRawLogs:s}=e,c=(0,y.useRef)(null),l=(0,y.useRef)(!1),u=(0,y.useRef)(null),d=!i&&t.visibleFrom>0,f=(0,y.useCallback)(()=>{let e=c.current;e&&(e.scrollTop=e.scrollHeight)},[]),p=(0,y.useCallback)(()=>{l.current=!0},[]),m=(0,y.useCallback)(()=>{let e=c.current;e&&(u.current||i||n(t=>t.visibleFrom<=0?t:(u.current={scrollHeight:e.scrollHeight,scrollTop:e.scrollTop},{...t,visibleFrom:Math.max(t.visibleFrom-S7,0)})))},[i,n]),h=(0,y.useCallback)(e=>{let t=c.current;t&&(i||d&&(u.current||t.scrollTop>C7||m()))},[d,i,m]);(0,y.useLayoutEffect)(()=>{let e=c.current,t=u.current;if(!e||!t)return;let n=e.scrollHeight-t.scrollHeight;e.scrollTop=t.scrollTop+n,u.current=null},[t.visibleFrom]);let g=(0,y.useCallback)(()=>{let e=c.current;e&&d&&(i||u.current||e.scrollHeight>e.clientHeight+1||m())},[d,i,m]);return(0,y.useEffect)(()=>{if(r||!c.current)return;let e=window.requestAnimationFrame(()=>{g()});return()=>{window.cancelAnimationFrame(e)}},[a,o,r,t.visibleFrom,s,g]),(0,y.useEffect)(()=>{let e=()=>{window.requestAnimationFrame(()=>{g()})};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[g]),(0,y.useEffect)(()=>{l.current&&(r||c.current&&(f(),l.current=!1))},[r,t.buffer,t.visibleFrom,f]),{logViewerRef:c,canLoadMore:d,handleLogScroll:h,scrollToBottom:f,requestScrollToBottom:p}}var $={container:`LogsPage-module__container___aQ0JL`,pageTitle:`LogsPage-module__pageTitle___vZY55`,tabBar:`LogsPage-module__tabBar___bI3hW`,tabItem:`LogsPage-module__tabItem___5tb4J`,tabActive:`LogsPage-module__tabActive___JjbWX`,content:`LogsPage-module__content___hGaGn`,logCard:`LogsPage-module__logCard___KG4Jd`,toolbar:`LogsPage-module__toolbar___9dY5F`,filters:`LogsPage-module__filters___nUahU`,searchWrapper:`LogsPage-module__searchWrapper___mrEmr`,filterPanelHeader:`LogsPage-module__filterPanelHeader___Oi5tO`,filterPanelToggle:`LogsPage-module__filterPanelToggle___ADZED`,filterPanelButtonContent:`LogsPage-module__filterPanelButtonContent___sgOCp`,filterPanelCount:`LogsPage-module__filterPanelCount___kAJ5-`,structuredFilters:`LogsPage-module__structuredFilters___fW4v7`,filterChipGroup:`LogsPage-module__filterChipGroup___bbPoy`,filterChipLabel:`LogsPage-module__filterChipLabel___jy0D3`,filterChipList:`LogsPage-module__filterChipList___hHeOY`,filterChip:`LogsPage-module__filterChip___Efqh7`,filterChipActive:`LogsPage-module__filterChipActive___8S8ki`,filterChipHint:`LogsPage-module__filterChipHint___shcVo`,searchInput:`LogsPage-module__searchInput___eoPij`,searchIcon:`LogsPage-module__searchIcon___73cvF`,searchClear:`LogsPage-module__searchClear___yTM1y`,filterStats:`LogsPage-module__filterStats___IaTXF`,removedCount:`LogsPage-module__removedCount___bNgxC`,actionButton:`LogsPage-module__actionButton___aYJPR`,buttonContent:`LogsPage-module__buttonContent___qjHrB`,switchLabel:`LogsPage-module__switchLabel___EfB3d`,logPanel:`LogsPage-module__logPanel___2wjiP`,errorPanel:`LogsPage-module__errorPanel___0w-se`,errorLogViewer:`LogsPage-module__errorLogViewer___dYvlG`,errorLogViewerMeta:`LogsPage-module__errorLogViewerMeta___Dy7Ay`,errorLogContent:`LogsPage-module__errorLogContent___6GzNt`,loadMoreBanner:`LogsPage-module__loadMoreBanner___BUD0t`,loadMoreCount:`LogsPage-module__loadMoreCount___UsdBd`,loadMoreStats:`LogsPage-module__loadMoreStats___e9bVk`,logList:`LogsPage-module__logList___lFt6f`,rawLog:`LogsPage-module__rawLog___F5YBd`,logRow:`LogsPage-module__logRow___rxZS5`,rowWarn:`LogsPage-module__rowWarn___Lhg4M`,rowError:`LogsPage-module__rowError___XQ3Qi`,timestamp:`LogsPage-module__timestamp___TZvLq`,rowMain:`LogsPage-module__rowMain___f--We`,badge:`LogsPage-module__badge___tR566`,pill:`LogsPage-module__pill___vGA2z`,source:`LogsPage-module__source___nv7Zu`,requestIdBadge:`LogsPage-module__requestIdBadge___yPO1b`,statusBadge:`LogsPage-module__statusBadge___hj08j`,statusSuccess:`LogsPage-module__statusSuccess___3llcn`,statusInfo:`LogsPage-module__statusInfo___B6DaE`,statusWarn:`LogsPage-module__statusWarn___1Dwki`,statusError:`LogsPage-module__statusError___xxTDc`,levelInfo:`LogsPage-module__levelInfo___oZMOp`,levelWarn:`LogsPage-module__levelWarn___DsCD0`,levelError:`LogsPage-module__levelError___8VjWc`,levelDebug:`LogsPage-module__levelDebug___l-5yk`,levelTrace:`LogsPage-module__levelTrace___XvRLF`,methodBadge:`LogsPage-module__methodBadge___Cf9jC`,path:`LogsPage-module__path___frHAs`,message:`LogsPage-module__message___bNHRw`,logCardFullscreen:`LogsPage-module__logCardFullscreen___y99Q8`,logPanelFullscreen:`LogsPage-module__logPanelFullscreen___lHzBV`},E7=100,D7=1e4,O7=650,k7=10,A7=e=>typeof e==`number`?e>1?e-1:void 0:e,j7=(e,t)=>{let n={limit:D7};if(!e)return n;t.cursor&&(n.cursor=t.cursor);let r=A7(t.after);return r!==void 0&&(n.after=r),n},M7=(e,t)=>{let n=Math.min(e.length,t.length);for(let r=n;r>0;--r){let n=!0;for(let i=0;i<r;i+=1)if(e[e.length-r+i]!==t[i]){n=!1;break}if(n)return r}return 0},N7=(e,t)=>{if(e.length===0||t.length===0)return[...e,...t];let n=M7(e,t);return[...e,...t.slice(n)]},P7=e=>typeof e!=`object`||!e?``:[e.data,e.details].filter(e=>e!==void 0).map(e=>{if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return``}}).join(` `),F7=e=>`${Ec(e)} ${P7(e)}`.toLowerCase().includes(`logging to file disabled`),I7=async e=>{if(e instanceof Blob)return e.text();if(e instanceof ArrayBuffer)return new TextDecoder().decode(e);if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}};function L7(){let{t:e}=ss(),{showNotification:t,showConfirmation:n}=Kc(),r=am(e=>e.connectionStatus),i=jp(e=>e.config),a=i?.requestLog??!1,o=i?.loggingToFile??!1,s=!o,[c,l]=(0,y.useState)(!1),u=s||c,[d,f]=(0,y.useState)(`logs`),[p,m]=(0,y.useState)({buffer:[],visibleFrom:0}),[h,g]=(0,y.useState)(!0),[_,v]=(0,y.useState)(``),[b,x]=Y5(`logsPage.autoRefresh`,!1),[S,C]=(0,y.useState)(``),w=(0,y.useDeferredValue)(S),[T,E]=Y5(`logsPage.hideManagementLogs`,!0),[D,O]=Y5(`logsPage.showRawLogs`,!1),[k,A]=Y5(`logsPage.structuredFiltersExpanded`,!0),[j,M]=(0,y.useState)([]),[N,ee]=(0,y.useState)(!1),[P,F]=(0,y.useState)(``),[I,L]=(0,y.useState)(null),[R,z]=(0,y.useState)(``),[te,B]=(0,y.useState)(``),[V,ne]=(0,y.useState)(!1),[re,ie]=(0,y.useState)(null),[ae,oe]=(0,y.useState)(!1),[se,ce]=(0,y.useState)(!1),le=(0,y.useRef)(0),ue=(0,y.useRef)(null),de=(0,y.useRef)(!1),fe=(0,y.useRef)(!1),pe=(0,y.useRef)({}),me=()=>{pe.current={}},he=(e,t)=>{let n=pe.current,r={};e.nextCursor&&(r.cursor=e.nextCursor),e.latestAfter===void 0?t&&n.after!==void 0&&(r.after=n.after):r.after=e.latestAfter,pe.current=r},ge=r!==`connected`,_e=ge||h||s,ve=ge||u,ye=ge||u;async function be(t=!1){if(r!==`connected`){g(!1);return}if(s){t||(me(),l(!1),m({buffer:[],visibleFrom:0}),v(``),g(!1));return}if(de.current){t||(fe.current=!0);return}de.current=!0,t||g(!0),v(``);try{let e=!t||w7(Ue.current);e&&We();let n=j7(t,pe.current),r=await Fy.fetchLogs(n);l(!1),he(r,t);let i=Array.isArray(r.lines)?r.lines:[];if(t&&r.cursorReset){let e=i.slice(-1e4),t=Math.max(e.length-E7,0);m({buffer:e,visibleFrom:t})}else if(t&&i.length>0)m(t=>{let n=t.buffer.length-t.visibleFrom,r=N7(t.buffer,i),a=Math.max(r.length-D7,0),o=a>0?r.slice(a):r,s=Math.max(t.visibleFrom-a,0);return e&&(s=Math.max(o.length-n,0)),{buffer:o,visibleFrom:s}});else if(!t){let e=i.slice(-1e4),t=Math.max(e.length-E7,0);m({buffer:e,visibleFrom:t})}}catch(n){if(console.error(`Failed to load logs:`,n),F7(n)){t||(me(),l(!0),m({buffer:[],visibleFrom:0}),v(``));return}t||v(Ec(n)||e(`logs.load_error`))}finally{t||g(!1),de.current=!1,fe.current&&(fe.current=!1,be(!1))}}Ah(()=>be(!1));let xe=async()=>{if(s){t(e(`logs.cpa_file_logging_required`),`warning`);return}if(c){t(e(`logs.file_logging_required`),`warning`);return}n({title:e(`logs.clear_confirm_title`,{defaultValue:`Clear Logs`}),message:e(`logs.clear_confirm`),variant:`danger`,confirmText:e(`common.confirm`),onConfirm:async()=>{try{await Fy.clearLogs(),m({buffer:[],visibleFrom:0}),me(),l(!1),t(e(`logs.clear_success`),`success`)}catch(n){let r=Ec(n);t(`${e(`notification.delete_failed`)}${r?`: ${r}`:``}`,`error`)}}})},Se=()=>{let n=p.buffer.join(`
`);WA({filename:`logs.txt`,blob:new Blob([n],{type:`text/plain`})}),t(e(`logs.download_success`),`success`)},Ce=async()=>{if(r!==`connected`){ee(!1);return}ee(!0),F(``);try{let e=await Fy.fetchErrorLogs();M(Array.isArray(e.files)?e.files:[])}catch(t){console.error(`Failed to load error logs:`,t),M([]);let n=Ec(t);F(n?`${e(`logs.error_logs_load_error`)}: ${n}`:e(`logs.error_logs_load_error`))}finally{ee(!1)}},we=async n=>{try{let r=await Fy.downloadErrorLog(n);WA({filename:n,blob:new Blob([r.data],{type:`text/plain`})}),t(e(`logs.error_log_download_success`),`success`)}catch(n){let r=Ec(n);t(`${e(`notification.download_failed`)}${r?`: ${r}`:``}`,`error`)}},Te=async t=>{let n=le.current+1;le.current=n,L(t),z(``),B(``),ne(!0);try{let e=await I7((await Fy.downloadErrorLog(t.name)).data);if(le.current!==n)return;z(e)}catch(t){if(le.current!==n)return;let r=Ec(t);B(r?`${e(`logs.error_log_open_failed`)}: ${r}`:e(`logs.error_log_open_failed`))}finally{le.current===n&&ne(!1)}},Ee=()=>{le.current+=1,L(null),z(``),B(``),ne(!1)},De=async()=>{let n=await QD(R);t(n?e(`logs.error_log_copy_success`):e(`logs.copy_failed`,{defaultValue:`Copy failed`}),n?`success`:`error`)};(0,y.useEffect)(()=>{r===`connected`&&(me(),l(!1),be(!1))},[r,o]),(0,y.useEffect)(()=>{d===`errors`&&r===`connected`&&Ce()},[d,r,a]),(0,y.useEffect)(()=>{if(!b||r!==`connected`||u)return;let e=window.setInterval(()=>{be(!0)},8e3);return()=>window.clearInterval(e)},[b,r,u]);let Oe=(0,y.useMemo)(()=>p.buffer.slice(p.visibleFrom),[p.buffer,p.visibleFrom]),ke=w.trim(),Ae=ke.length>0,je=Ae?p.buffer:Oe,Me=(0,y.useMemo)(()=>{let e=je;if(T&&(e=e.filter(e=>!e.includes(Ac))),ke){let t=ke.toLowerCase();e=e.filter(e=>e.toLowerCase().includes(t))}return e.map(e=>y7(e))},[je,T,ke]),Ne=x7({parsedLines:Me}),Pe=`logs-structured-filters`,Fe=Ne.methodFilters.length+Ne.statusFilters.length+Ne.pathFilters.length,{filteredParsedLines:Ie,filteredLines:Le,removedCount:Re}=(0,y.useMemo)(()=>{let e=Me.filter(e=>{if(Ne.methodFilterSet.size>0&&(!e.method||!Ne.methodFilterSet.has(e.method)))return!1;let t=Q5(e.statusCode);return!(Ne.statusFilterSet.size>0&&(!t||!Ne.statusFilterSet.has(t))||Ne.pathFilterSet.size>0&&(!e.path||!Ne.pathFilterSet.has(e.path)))});return{filteredParsedLines:e,filteredLines:e.map(e=>e.raw),removedCount:Math.max(je.length-e.length,0)}},[je,Ne.methodFilterSet,Ne.pathFilterSet,Ne.statusFilterSet,Me]),ze=(0,y.useMemo)(()=>D?[]:Ie,[Ie,D]),Be=(0,y.useMemo)(()=>Le.join(`
`),[Le]),{canLoadMore:Ve,handleLogScroll:He,logViewerRef:Ue,requestScrollToBottom:We}=T7({logState:p,setLogState:m,loading:h,isSearching:Ae,filteredLineCount:Le.length,hasStructuredFilters:Ne.hasStructuredFilters,showRawLogs:D}),Ge=async n=>{await QD(n)?t(e(`logs.copy_success`,{defaultValue:`Copied to clipboard`}),`success`):t(e(`logs.copy_failed`,{defaultValue:`Copy failed`}),`error`)},Ke=()=>{ue.current?.timer&&(window.clearTimeout(ue.current.timer),ue.current.timer=null)},qe=(e,t)=>{a&&t&&(re||(Ke(),ue.current={timer:window.setTimeout(()=>{ie(t),ue.current&&(ue.current.fired=!0,ue.current.timer=null)},O7),startX:e.clientX,startY:e.clientY,fired:!1}))},Je=()=>{Ke(),ue.current=null},Ye=e=>{let t=ue.current;if(!t||t.timer===null||t.fired)return;let n=Math.abs(e.clientX-t.startX),r=Math.abs(e.clientY-t.startY);(n>k7||r>k7)&&Je()},Xe=()=>{ae||ie(null)},Ze=async n=>{oe(!0);try{let r=await Fy.downloadRequestLogById(n);WA({filename:`request-${n}.log`,blob:new Blob([r.data],{type:`text/plain`})}),t(e(`logs.request_log_download_success`),`success`),ie(null)}catch(n){let r=Ec(n);t(`${e(`notification.download_failed`)}${r?`: ${r}`:``}`,`error`)}finally{oe(!1)}};return(0,y.useEffect)(()=>()=>{ue.current?.timer&&(window.clearTimeout(ue.current.timer),ue.current.timer=null)},[]),(0,y.useEffect)(()=>{if(!se)return;document.body.classList.add(`logs-fullscreen-active`),hm();let e=e=>{e.key===`Escape`&&(document.querySelector(`.modal-overlay`)||ce(!1))};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),document.body.classList.remove(`logs-fullscreen-active`),gm()}},[se]),(0,H.jsxs)(`div`,{className:$.container,children:[(0,H.jsx)(`h1`,{className:$.pageTitle,children:e(`logs.title`)}),(0,H.jsxs)(`div`,{className:$.tabBar,children:[(0,H.jsx)(`button`,{type:`button`,className:`${$.tabItem} ${d===`logs`?$.tabActive:``}`,onClick:()=>f(`logs`),children:e(`logs.log_content`)}),(0,H.jsx)(`button`,{type:`button`,className:`${$.tabItem} ${d===`errors`?$.tabActive:``}`,onClick:()=>{ce(!1),f(`errors`)},children:e(`logs.error_logs_modal_title`)})]}),(0,H.jsxs)(`div`,{className:$.content,children:[d===`logs`&&(0,H.jsxs)(Ij,{className:[$.logCard,se?$.logCardFullscreen:``].filter(Boolean).join(` `),children:[u&&(0,H.jsx)(`div`,{className:`status-badge warning`,children:e(s?`logs.cpa_file_logging_required`:`logs.file_logging_required`)}),_&&(0,H.jsx)(`div`,{className:`error-box`,children:_}),(0,H.jsxs)(`div`,{className:$.filters,children:[!se&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`div`,{className:$.searchWrapper,children:(0,H.jsx)(us,{value:S,onChange:e=>C(e.target.value),placeholder:e(`logs.search_placeholder`),className:$.searchInput,rightElement:S?(0,H.jsx)(`button`,{type:`button`,className:$.searchClear,onClick:()=>C(``),title:`Clear`,"aria-label":`Clear`,children:(0,H.jsx)(zs,{size:16})}):(0,H.jsx)(Rs,{size:16,className:$.searchIcon})})}),(0,H.jsx)(`div`,{className:$.filterPanelHeader,children:(0,H.jsx)(U,{type:`button`,variant:`secondary`,size:`sm`,className:$.filterPanelToggle,onClick:()=>A(e=>!e),"aria-expanded":k,"aria-controls":Pe,title:e(k?`logs.filter_panel_collapse`:`logs.filter_panel_expand`),children:(0,H.jsxs)(`span`,{className:$.filterPanelButtonContent,children:[(0,H.jsx)(fs,{size:16}),(0,H.jsx)(`span`,{children:e(`logs.filter_panel_title`)}),Fe>0&&(0,H.jsx)(`span`,{className:$.filterPanelCount,children:e(`logs.filter_panel_active_count`,{count:Fe})}),k?(0,H.jsx)(Fs,{size:16}):(0,H.jsx)(Is,{size:16})]})})})]}),!se&&k&&(0,H.jsxs)(`div`,{id:Pe,className:$.structuredFilters,children:[(0,H.jsxs)(`div`,{className:$.filterChipGroup,children:[(0,H.jsx)(`span`,{className:$.filterChipLabel,children:e(`logs.filter_method`)}),(0,H.jsx)(`div`,{className:$.filterChipList,children:X5.map(e=>{let t=Ne.methodFilters.includes(e),n=Ne.methodCounts[e]??0;return(0,H.jsxs)(`button`,{type:`button`,className:`${$.filterChip} ${t?$.filterChipActive:``}`,onClick:()=>Ne.toggleMethodFilter(e),disabled:n===0&&!t,"aria-pressed":t,children:[e,` (`,n,`)`]},e)})})]}),(0,H.jsxs)(`div`,{className:$.filterChipGroup,children:[(0,H.jsx)(`span`,{className:$.filterChipLabel,children:e(`logs.filter_status`)}),(0,H.jsx)(`div`,{className:$.filterChipList,children:Z5.map(t=>{let n=Ne.statusFilters.includes(t),r=Ne.statusCounts[t]??0;return(0,H.jsxs)(`button`,{type:`button`,className:`${$.filterChip} ${n?$.filterChipActive:``}`,onClick:()=>Ne.toggleStatusFilter(t),disabled:r===0&&!n,"aria-pressed":n,children:[e(`logs.filter_status_${t}`),` (`,r,`)`]},t)})})]}),(0,H.jsxs)(`div`,{className:$.filterChipGroup,children:[(0,H.jsx)(`span`,{className:$.filterChipLabel,children:e(`logs.filter_path`)}),(0,H.jsx)(`div`,{className:$.filterChipList,children:Ne.pathOptions.length===0?(0,H.jsx)(`span`,{className:$.filterChipHint,children:e(`logs.filter_path_empty`)}):Ne.pathOptions.map(({path:e,count:t})=>{let n=Ne.pathFilters.includes(e);return(0,H.jsxs)(`button`,{type:`button`,className:`${$.filterChip} ${n?$.filterChipActive:``}`,onClick:()=>Ne.togglePathFilter(e),"aria-pressed":n,title:e,children:[e,` (`,t,`)`]},e)})})]}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:Ne.clearStructuredFilters,disabled:!Ne.hasStructuredFilters,children:e(`logs.clear_filters`)})]}),(0,H.jsx)(Kw,{checked:T,onChange:E,label:(0,H.jsxs)(`span`,{className:$.switchLabel,children:[(0,H.jsx)(Hs,{size:16}),e(`logs.hide_management_logs`,{prefix:`/v0/management`})]})}),(0,H.jsx)(Kw,{checked:D,onChange:O,label:(0,H.jsxs)(`span`,{className:$.switchLabel,title:e(`logs.show_raw_logs_hint`,{defaultValue:`Show original log text for easier multi-line copy`}),children:[(0,H.jsx)(Xs,{size:16}),e(`logs.show_raw_logs`,{defaultValue:`Show raw logs`})]})}),(0,H.jsxs)(`div`,{className:$.toolbar,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>be(!1),disabled:_e,className:$.actionButton,children:(0,H.jsxs)(`span`,{className:$.buttonContent,children:[(0,H.jsx)(Cs,{size:16}),e(`logs.refresh_button`)]})}),(0,H.jsx)(Kw,{checked:b,onChange:e=>x(e),disabled:ve,label:(0,H.jsxs)(`span`,{className:$.switchLabel,children:[(0,H.jsx)(Gs,{size:16}),e(`logs.auto_refresh`)]})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:Se,disabled:p.buffer.length===0,className:$.actionButton,children:(0,H.jsxs)(`span`,{className:$.buttonContent,children:[(0,H.jsx)(ws,{size:16}),e(`logs.download_button`)]})}),(0,H.jsx)(U,{variant:`danger`,size:`sm`,onClick:xe,disabled:ye,className:$.actionButton,children:(0,H.jsxs)(`span`,{className:$.buttonContent,children:[(0,H.jsx)(Es,{size:16}),e(`logs.clear_button`)]})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>ce(e=>!e),className:$.actionButton,"aria-pressed":se,title:e(se?`logs.exit_fullscreen_button`:`logs.fullscreen_button`),children:(0,H.jsxs)(`span`,{className:$.buttonContent,children:[se?(0,H.jsx)(Os,{size:16}):(0,H.jsx)(Ds,{size:16}),e(se?`logs.exit_fullscreen_button`:`logs.fullscreen_button`)]})})]})]}),h?(0,H.jsx)(`div`,{className:`hint`,children:e(`logs.loading`)}):p.buffer.length>0&&Le.length>0?(0,H.jsxs)(`div`,{ref:Ue,className:[$.logPanel,se?$.logPanelFullscreen:``].filter(Boolean).join(` `),onScroll:He,children:[Ve&&(0,H.jsxs)(`div`,{className:$.loadMoreBanner,children:[(0,H.jsx)(`span`,{children:e(`logs.load_more_hint`)}),(0,H.jsxs)(`div`,{className:$.loadMoreStats,children:[(0,H.jsx)(`span`,{children:e(`logs.loaded_lines`,{count:Le.length})}),Re>0&&(0,H.jsx)(`span`,{className:$.loadMoreCount,children:e(`logs.filtered_lines`,{count:Re})}),(0,H.jsx)(`span`,{className:$.loadMoreCount,children:e(`logs.hidden_lines`,{count:p.visibleFrom})})]})]}),D?(0,H.jsx)(`pre`,{className:$.rawLog,spellCheck:!1,children:Be}):(0,H.jsx)(`div`,{className:$.logList,children:ze.map((t,n)=>{let r=[$.logRow];return t.level===`warn`&&r.push($.rowWarn),(t.level===`error`||t.level===`fatal`)&&r.push($.rowError),(0,H.jsxs)(`div`,{className:r.join(` `),onDoubleClick:()=>{Ge(t.raw)},onPointerDown:e=>qe(e,t.requestId),onPointerUp:Je,onPointerLeave:Je,onPointerCancel:Je,onPointerMove:Ye,title:e(`logs.double_click_copy_hint`,{defaultValue:`Double-click to copy`}),children:[(0,H.jsx)(`div`,{className:$.timestamp,children:t.timestamp||``}),(0,H.jsxs)(`div`,{className:$.rowMain,children:[t.level&&(0,H.jsx)(`span`,{className:[$.badge,t.level===`info`?$.levelInfo:``,t.level===`warn`?$.levelWarn:``,t.level===`error`||t.level===`fatal`?$.levelError:``,t.level===`debug`?$.levelDebug:``,t.level===`trace`?$.levelTrace:``].filter(Boolean).join(` `),children:t.level.toUpperCase()}),t.source&&(0,H.jsx)(`span`,{className:$.source,title:t.source,children:t.source}),t.requestId&&(0,H.jsx)(`span`,{className:[$.badge,$.requestIdBadge].join(` `),title:t.requestId,children:t.requestId}),typeof t.statusCode==`number`&&(0,H.jsx)(`span`,{className:[$.badge,$.statusBadge,t.statusCode>=200&&t.statusCode<300?$.statusSuccess:t.statusCode>=300&&t.statusCode<400?$.statusInfo:t.statusCode>=400&&t.statusCode<500?$.statusWarn:$.statusError].join(` `),children:t.statusCode}),t.latency&&(0,H.jsx)(`span`,{className:$.pill,children:t.latency}),t.ip&&(0,H.jsx)(`span`,{className:$.pill,children:t.ip}),t.method&&(0,H.jsx)(`span`,{className:[$.badge,$.methodBadge].join(` `),children:t.method}),t.path&&(0,H.jsx)(`span`,{className:$.path,title:t.path,children:t.path}),t.message&&(0,H.jsx)(`span`,{className:$.message,children:t.message})]})]},`${p.visibleFrom+n}-${t.raw}`)})})]}):p.buffer.length>0?(0,H.jsx)(ZD,{title:e(`logs.search_empty_title`),description:e(`logs.search_empty_desc`)}):u?(0,H.jsx)(ZD,{title:e(s?`logs.cpa_file_logging_required_title`:`logs.file_logging_required_title`),description:e(s?`logs.cpa_file_logging_required_desc`:`logs.file_logging_required_desc`)}):(0,H.jsx)(ZD,{title:e(`logs.empty_title`),description:e(`logs.empty_desc`)})]}),d===`errors`&&(0,H.jsx)(Ij,{extra:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:Ce,loading:N,disabled:ge,children:e(`common.refresh`)}),children:(0,H.jsxs)(`div`,{className:`stack`,children:[(0,H.jsx)(`div`,{className:`hint`,children:e(`logs.error_logs_description`)}),a&&(0,H.jsx)(`div`,{children:(0,H.jsx)(`div`,{className:`status-badge warning`,children:e(`logs.error_logs_request_log_enabled`)})}),P&&(0,H.jsx)(`div`,{className:`error-box`,children:P}),(0,H.jsx)(`div`,{className:$.errorPanel,children:N?(0,H.jsx)(`div`,{className:`hint`,children:e(`common.loading`)}):j.length===0?(0,H.jsx)(`div`,{className:`hint`,children:e(`logs.error_logs_empty`)}):(0,H.jsx)(`div`,{className:`item-list`,children:j.map(t=>(0,H.jsxs)(`div`,{className:`item-row`,children:[(0,H.jsxs)(`div`,{className:`item-meta`,children:[(0,H.jsx)(`div`,{className:`item-title`,children:t.name}),(0,H.jsxs)(`div`,{className:`item-subtitle`,children:[t.size?`${(t.size/1024).toFixed(1)} KB`:``,` `,t.modified?Bh(t.modified):``]})]}),(0,H.jsxs)(`div`,{className:`item-actions`,children:[(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>{Te(t)},disabled:ge,children:(0,H.jsxs)(`span`,{className:$.buttonContent,children:[(0,H.jsx)(Vs,{size:16}),e(`logs.error_logs_open`)]})}),(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>we(t.name),disabled:ge,children:e(`logs.error_logs_download`)})]})]},t.name))})})]})})]}),(0,H.jsx)(ym,{open:!!I,onClose:Ee,title:I?.name??e(`logs.error_log_view_title`),width:960,footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:Ee,children:e(`common.close`)}),(0,H.jsx)(U,{variant:`secondary`,onClick:()=>{De()},disabled:!R||V,children:e(`common.copy`)}),(0,H.jsx)(U,{onClick:()=>{I&&we(I.name)},disabled:!I||V,children:e(`logs.error_logs_download`)})]}),children:(0,H.jsxs)(`div`,{className:$.errorLogViewer,children:[I&&(0,H.jsxs)(`div`,{className:$.errorLogViewerMeta,children:[(0,H.jsxs)(`span`,{children:[e(`logs.error_logs_size`),`:`,` `,I.size?`${(I.size/1024).toFixed(1)} KB`:`-`]}),(0,H.jsxs)(`span`,{children:[e(`logs.error_logs_modified`),`:`,` `,I.modified?Bh(I.modified):`-`]})]}),te&&(0,H.jsx)(`div`,{className:`error-box`,children:te}),V?(0,H.jsx)(`div`,{className:`hint`,children:e(`common.loading`)}):R?(0,H.jsx)(`pre`,{className:$.errorLogContent,spellCheck:!1,children:R}):te?null:(0,H.jsx)(`div`,{className:`hint`,children:e(`logs.error_log_empty_content`)})]})}),(0,H.jsx)(ym,{open:!!re,onClose:Xe,title:e(`logs.request_log_download_title`),footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:Xe,disabled:ae,children:e(`common.cancel`)}),(0,H.jsx)(U,{onClick:()=>{re&&Ze(re)},loading:ae,disabled:!re,children:e(`common.confirm`)})]}),children:re?e(`logs.request_log_download_confirm`,{id:re}):null})]})}var R7=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eZhipu%3c/title%3e%3cpath%20d='M11.991%2023.503a.24.24%200%2000-.244.248.24.24%200%2000.244.249.24.24%200%2000.245-.249.24.24%200%2000-.22-.247l-.025-.001zM9.671%205.365a1.697%201.697%200%20011.099%202.132l-.071.172-.016.04-.018.054c-.07.16-.104.32-.104.498-.035.71.47%201.279%201.186%201.314h.366c1.309.053%202.338%201.173%202.286%202.523-.052%201.332-1.152%202.38-2.478%202.327h-.174c-.715.018-1.274.64-1.239%201.368%200%20.124.018.23.053.337.209.373.54.658.96.8.75.23%201.517-.125%201.9-.782l.018-.035c.402-.64%201.17-.96%201.92-.711.854.284%201.378%201.226%201.099%202.167a1.661%201.661%200%2001-2.077%201.102%201.711%201.711%200%2001-.907-.711l-.017-.035c-.2-.323-.463-.58-.851-.711l-.056-.018a1.646%201.646%200%2000-1.954.746%201.66%201.66%200%2001-1.065.764%201.677%201.677%200%2001-1.989-1.279c-.209-.906.332-1.83%201.257-2.043a1.51%201.51%200%2001.296-.035h.018c.68-.071%201.151-.622%201.116-1.333a1.307%201.307%200%2000-.227-.693%202.515%202.515%200%2001-.366-1.403%202.39%202.39%200%2001.366-1.208c.14-.195.21-.444.227-.693.018-.71-.506-1.261-1.186-1.332l-.07-.018a1.43%201.43%200%2001-.299-.07l-.05-.019a1.7%201.7%200%2001-1.047-2.114%201.68%201.68%200%20012.094-1.101zm-5.575%2010.11c.26-.264.639-.367.994-.27.355.096.633.379.728.74.095.362-.007.748-.267%201.013-.402.41-1.053.41-1.455%200a1.062%201.062%200%20010-1.482zm14.845-.294c.359-.09.738.024.992.297.254.274.344.665.237%201.025-.107.36-.396.634-.756.718-.551.128-1.1-.22-1.23-.781a1.05%201.05%200%2001.757-1.26zm-.064-4.39c.314.32.49.753.49%201.206%200%20.452-.176.886-.49%201.206-.315.32-.74.5-1.185.5-.444%200-.87-.18-1.184-.5a1.727%201.727%200%20010-2.412%201.654%201.654%200%20012.369%200zm-11.243.163c.364.484.447%201.128.218%201.691a1.665%201.665%200%2001-2.188.923c-.855-.36-1.26-1.358-.907-2.228a1.68%201.68%200%20011.33-1.038c.593-.08%201.183.169%201.547.652zm11.545-4.221c.368%200%20.708.2.892.524.184.324.184.724%200%201.048a1.026%201.026%200%2001-.892.524c-.568%200-1.03-.47-1.03-1.048%200-.579.462-1.048%201.03-1.048zm-14.358%200c.368%200%20.707.2.891.524.184.324.184.724%200%201.048a1.026%201.026%200%2001-.891.524c-.569%200-1.03-.47-1.03-1.048%200-.579.461-1.048%201.03-1.048zm10.031-1.475c.925%200%201.675.764%201.675%201.706s-.75%201.705-1.675%201.705-1.674-.763-1.674-1.705c0-.942.75-1.706%201.674-1.706zm-2.626-.684c.362-.082.653-.356.761-.718a1.062%201.062%200%2000-.238-1.028%201.017%201.017%200%2000-.996-.294c-.547.14-.881.7-.752%201.257.13.558.675.907%201.225.783zm0%2016.876c.359-.087.644-.36.75-.72a1.062%201.062%200%2000-.237-1.019%201.018%201.018%200%2000-.985-.301%201.037%201.037%200%2000-.762.717c-.108.361-.017.754.239%201.028.245.263.606.377.953.305l.043-.01zM17.19%203.5a.631.631%200%2000.628-.64c0-.355-.279-.64-.628-.64a.631.631%200%2000-.628.64c0%20.355.28.64.628.64zm-10.38%200a.631.631%200%2000.628-.64c0-.355-.28-.64-.628-.64a.631.631%200%2000-.628.64c0%20.355.279.64.628.64zm-5.182%207.852a.631.631%200%2000-.628.64c0%20.354.28.639.628.639a.63.63%200%2000.627-.606l.001-.034a.62.62%200%2000-.628-.64zm5.182%209.13a.631.631%200%2000-.628.64c0%20.355.279.64.628.64a.631.631%200%2000.628-.64c0-.355-.28-.64-.628-.64zm10.38.018a.631.631%200%2000-.628.64c0%20.355.28.64.628.64a.631.631%200%2000.628-.64c0-.355-.279-.64-.628-.64zm5.182-9.148a.631.631%200%2000-.628.64c0%20.354.279.639.628.639a.631.631%200%2000.628-.64c0-.355-.28-.64-.628-.64zm-.384-4.992a.24.24%200%2000.244-.249.24.24%200%2000-.244-.249.24.24%200%2000-.244.249c0%20.142.122.249.244.249zM11.991.497a.24.24%200%2000.245-.248A.24.24%200%200011.99%200a.24.24%200%2000-.244.249c0%20.133.108.236.223.247l.021.001zM2.011%206.36a.24.24%200%2000.245-.249.24.24%200%2000-.244-.249.24.24%200%2000-.244.249.24.24%200%2000.244.249zm0%2011.263a.24.24%200%2000-.243.248.24.24%200%2000.244.249.24.24%200%2000.244-.249.252.252%200%2000-.244-.248zm19.995-.018a.24.24%200%2000-.245.248.24.24%200%2000.245.25.24.24%200%2000.244-.25.252.252%200%2000-.244-.248z'%20fill='%233859FF'%20fill-rule='nonzero'%3e%3c/path%3e%3c/svg%3e`,z7=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eDeepSeek%3c/title%3e%3cpath%20d='M23.748%204.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434%201.202-.422%201.84.027%201.436.633%202.58%201.838%203.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526%205.526%200%2001-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365%2011.365%200%2000-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055%203.055%200%2001-.465.137%209.597%209.597%200%2000-2.883-.102c-1.885.21-3.39%201.102-4.497%202.623C.082%208.606-.231%2010.684.152%2012.85c.403%202.284%201.569%204.175%203.36%205.653%201.858%201.533%203.997%202.284%206.438%202.14%201.482-.085%203.133-.284%204.994-1.86.47.234.962.327%201.78.397.63.059%201.236-.03%201.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926%201.096-1.296%202.746-2.642%203.392-7.003.05-.347.007-.565%200-.845-.004-.17.035-.237.23-.256a4.173%204.173%200%20001.545-.475c1.396-.763%201.96-2.015%202.093-3.517.02-.23-.004-.467-.247-.588zM11.581%2018c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696%204.696%200%20011.529-.039c2.132.312%203.946%201.265%205.468%202.774.868.86%201.525%201.887%202.202%202.891.72%201.066%201.494%202.082%202.48%202.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306%200%2001.415-.287.302.302%200%2001.2.288.306.306%200%2001-.31.307.303.303%200%2001-.304-.308zm3.11%201.596c-.2.081-.399.151-.59.16a1.245%201.245%200%2001-.798-.254c-.274-.23-.47-.358-.552-.758a1.73%201.73%200%2001.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559%200%2001-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136%201.146.016.352.144.618.408%201.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z'%20fill='%234D6BFE'%3e%3c/path%3e%3c/svg%3e`,B7=`data:image/svg+xml,%3csvg%20height='1em'%20style='flex:none;line-height:1'%20viewBox='0%200%2024%2024'%20width='1em'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eMinimax%3c/title%3e%3cdefs%3e%3clinearGradient%20id='lobe-icons-minimax-fill'%20x1='0%25'%20x2='100.182%25'%20y1='50.057%25'%20y2='50.057%25'%3e%3cstop%20offset='0%25'%20stop-color='%23E2167E'%3e%3c/stop%3e%3cstop%20offset='100%25'%20stop-color='%23FE603C'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M16.278%202c1.156%200%202.093.927%202.093%202.07v12.501a.74.74%200%2000.744.709.74.74%200%2000.743-.709V9.099a2.06%202.06%200%20012.071-2.049A2.06%202.06%200%200124%209.1v6.561a.649.649%200%2001-.652.645.649.649%200%2001-.653-.645V9.1a.762.762%200%2000-.766-.758.762.762%200%2000-.766.758v7.472a2.037%202.037%200%2001-2.048%202.026%202.037%202.037%200%2001-2.048-2.026v-12.5a.785.785%200%2000-.788-.753.785.785%200%2000-.789.752l-.001%2015.904A2.037%202.037%200%200113.441%2022a2.037%202.037%200%2001-2.048-2.026V18.04c0-.356.292-.645.652-.645.36%200%20.652.289.652.645v1.934c0%20.263.142.506.372.638.23.131.514.131.744%200a.734.734%200%2000.372-.638V4.07c0-1.143.937-2.07%202.093-2.07zm-5.674%200c1.156%200%202.093.927%202.093%202.07v11.523a.648.648%200%2001-.652.645.648.648%200%2001-.652-.645V4.07a.785.785%200%2000-.789-.78.785.785%200%2000-.789.78v14.013a2.06%202.06%200%2001-2.07%202.048%202.06%202.06%200%2001-2.071-2.048V9.1a.762.762%200%2000-.766-.758.762.762%200%2000-.766.758v3.8a2.06%202.06%200%2001-2.071%202.049A2.06%202.06%200%20010%2012.9v-1.378c0-.357.292-.646.652-.646.36%200%20.653.29.653.646V12.9c0%20.418.343.757.766.757s.766-.339.766-.757V9.099a2.06%202.06%200%20012.07-2.048%202.06%202.06%200%20012.071%202.048v8.984c0%20.419.343.758.767.758.423%200%20.766-.339.766-.758V4.07c0-1.143.937-2.07%202.093-2.07z'%20fill='url(%23lobe-icons-minimax-fill)'%20fill-rule='nonzero'%3e%3c/path%3e%3c/svg%3e`,V7={container:`SystemPage-module__container___KAydo`,pageTitle:`SystemPage-module__pageTitle___DiF5E`,content:`SystemPage-module__content___SauLn`,aboutCard:`SystemPage-module__aboutCard___v2-ui`,aboutHeader:`SystemPage-module__aboutHeader___hT4-J`,aboutLogo:`SystemPage-module__aboutLogo___KXoLr`,aboutTitle:`SystemPage-module__aboutTitle___BTLGy`,aboutInfoGrid:`SystemPage-module__aboutInfoGrid___b7AR0`,infoTile:`SystemPage-module__infoTile___6AuIY`,tapTile:`SystemPage-module__tapTile___-9SaX`,tileLabel:`SystemPage-module__tileLabel___eMn4v`,tileHeader:`SystemPage-module__tileHeader___w4Ej0`,tileAction:`SystemPage-module__tileAction___WKXuS`,tileValue:`SystemPage-module__tileValue___Up02X`,tileSub:`SystemPage-module__tileSub___ysVDj`,section:`SystemPage-module__section___Q6rCw`,sectionTitle:`SystemPage-module__sectionTitle___GOXpQ`,sectionDescription:`SystemPage-module__sectionDescription___nI7Jo`,clearLoginActions:`SystemPage-module__clearLoginActions___4ek-m`,infoGrid:`SystemPage-module__infoGrid___NNFgo`,infoRow:`SystemPage-module__infoRow___E8Q0J`,label:`SystemPage-module__label___Xw4tZ`,value:`SystemPage-module__value___pii6g`,modelsList:`SystemPage-module__modelsList___id54Q`,modelItem:`SystemPage-module__modelItem___ZTm4G`,modelTags:`SystemPage-module__modelTags___M0sci`,groupTitle:`SystemPage-module__groupTitle___bTqIN`,groupIcon:`SystemPage-module__groupIcon___-XXrb`,modelTag:`SystemPage-module__modelTag___5Ar53`,modelName:`SystemPage-module__modelName___LKdAK`,modelAlias:`SystemPage-module__modelAlias___zioM-`,versionCheck:`SystemPage-module__versionCheck___V09h4`,versionInfo:`SystemPage-module__versionInfo___cmujE`,versionItem:`SystemPage-module__versionItem___NmHd7`,version:`SystemPage-module__version___XoIFT`,quickLinks:`SystemPage-module__quickLinks___QTmT3`,linkCard:`SystemPage-module__linkCard___iSrVF`,linkIcon:`SystemPage-module__linkIcon___gNqz2`,github:`SystemPage-module__github___V8I3m`,docs:`SystemPage-module__docs___cA-rG`,linkContent:`SystemPage-module__linkContent___Rfh7h`,linkTitle:`SystemPage-module__linkTitle___Zpr4Q`,linkDesc:`SystemPage-module__linkDesc___KKavC`},H7={gpt:{light:Ux,dark:Wx},claude:Bx,gemini:Hx,qwen:tO,kimi:{light:tS,dark:eS},glm:R7,grok:{light:Qx,dark:$x},deepseek:z7,minimax:B7},U7=e=>{if(!e)return null;let t=e.trim().replace(/^v/i,``);if(!t)return null;let n=t.split(/[^0-9]+/).filter(Boolean).map(e=>Number.parseInt(e,10)).filter(Number.isFinite);return n.length?n:null},W7=(e,t)=>{let n=U7(e),r=U7(t);if(!n||!r)return null;let i=Math.max(n.length,r.length);for(let e=0;e<i;e++){let t=n[e]||0,i=r[e]||0;if(t>i)return 1;if(t<i)return-1}return 0};function G7(){let{t:e,i18n:t}=ss(),{showNotification:n,showConfirmation:r}=Kc(),i=tl(e=>e.resolvedTheme),a=am(),o=jp(e=>e.config),s=jp(e=>e.fetchConfig),c=jp(e=>e.clearCache),l=jp(e=>e.updateConfigValue),u=$p(e=>e.models),d=$p(e=>e.loading),f=$p(e=>e.error),p=$p(e=>e.fetchModels),[m,h]=(0,y.useState)(),[g,_]=(0,y.useState)(!1),[v,b]=(0,y.useState)(!1),[S,C]=(0,y.useState)(!1),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(!1),O=(0,y.useRef)(0),k=(0,y.useRef)(null),A=(0,y.useMemo)(()=>t.language?.toLowerCase().startsWith(`zh`)?`其他`:`Other`,[t.language]),j=(0,y.useMemo)(()=>Fp(u,{otherLabel:A}),[u,A]),M=o?.requestLog??!1,N=v!==M,ee=a.connectionStatus===`connected`&&!!o,P=a.serverVersion||e(`system_info.version_unknown`),F=Uh(a.serverBuildDate,t.language)||e(`system_info.version_unknown`),I=e=>{let t=H7[e];return t?typeof t==`string`?t:i===`dark`?t.dark:t.light:null},L=ib(),R=async({forceRefresh:t=!1}={})=>{if(a.connectionStatus!==`connected`){h({type:`warning`,message:e(`notification.connection_required`)});return}if(!a.apiBase){n(e(`notification.connection_required`),`warning`);return}h({type:`muted`,message:e(`system_info.models_loading`)});try{let n=(await L({force:t}))[0],r=await p(a.apiBase,n,t),i=r.length>0;h({type:i?`success`:`warning`,message:i?e(`system_info.models_count`,{count:r.length}):e(`system_info.models_empty`)})}catch(t){let n=t instanceof Error?t.message:typeof t==`string`?t:``,r=n?`: ${n}`:``,i=`${e(`system_info.models_error`)}${r}`;h({type:`error`,message:i})}},z=()=>{r({title:e(`system_info.clear_login_title`,{defaultValue:`Clear Login Storage`}),message:e(`system_info.clear_login_confirm`),variant:`danger`,confirmText:e(`common.confirm`),onConfirm:()=>{a.logout(),!(typeof localStorage>`u`)&&([zc,`isLoggedIn`,`apiBase`,`apiUrl`,`managementKey`].forEach(e=>localStorage.removeItem(e)),n(e(`notification.login_storage_cleared`),`success`))}})},te=(0,y.useCallback)(()=>{C(!1),b(M),_(!0)},[M]),B=(0,y.useCallback)(()=>{if(O.current+=1,k.current&&clearTimeout(k.current),O.current>=7){O.current=0,k.current=null,te();return}k.current=setTimeout(()=>{O.current=0,k.current=null},1500)},[te]),V=(0,y.useCallback)(()=>{_(!1),C(!1)},[]),ne=async()=>{if(!ee)return;if(!N){_(!1);return}let t=M;T(!0),l(`request-log`,v);try{await Ep.updateRequestLog(v),c(`request-log`),n(e(`notification.request_log_updated`),`success`),_(!1)}catch(r){let i=r instanceof Error?r.message:typeof r==`string`?r:``;l(`request-log`,t),n(`${e(`notification.update_failed`)}${i?`: ${i}`:``}`,`error`)}finally{T(!1)}},re=(0,y.useCallback)(async()=>{D(!0);try{let t=await Iy.checkLatest(),r=t?.[`latest-version`]??t?.latest_version??t?.latest??``,i=typeof r==`string`?r:String(r??``),o=W7(i,a.serverVersion);if(!i){n(e(`system_info.version_check_error`),`error`);return}if(o===null){n(e(`system_info.version_current_missing`),`warning`);return}o>0?n(e(`system_info.version_update_available`,{version:i}),`warning`):n(e(`system_info.version_is_latest`),`success`)}catch(t){let r=t instanceof Error?t.message:typeof t==`string`?t:``,i=r?`: ${r}`:``;n(`${e(`system_info.version_check_error`)}${i}`,`error`)}finally{D(!1)}},[a.serverVersion,n,e]);return(0,y.useEffect)(()=>{s().catch(()=>{})},[s]),(0,y.useEffect)(()=>{g&&!S&&b(M)},[g,S,M]),(0,y.useEffect)(()=>()=>{k.current&&clearTimeout(k.current)},[]),(0,y.useEffect)(()=>{R()},[a.connectionStatus,a.apiBase]),(0,H.jsxs)(`div`,{className:V7.container,children:[(0,H.jsx)(`h1`,{className:V7.pageTitle,children:e(`system_info.title`)}),(0,H.jsxs)(`div`,{className:V7.content,children:[(0,H.jsxs)(Ij,{className:V7.aboutCard,children:[(0,H.jsxs)(`div`,{className:V7.aboutHeader,children:[(0,H.jsx)(`img`,{src:x,alt:`CPAMC`,className:V7.aboutLogo}),(0,H.jsx)(`div`,{className:V7.aboutTitle,children:e(`system_info.about_title`)})]}),(0,H.jsxs)(`div`,{className:V7.aboutInfoGrid,children:[(0,H.jsxs)(`button`,{type:`button`,className:`${V7.infoTile} ${V7.tapTile}`,onClick:B,children:[(0,H.jsx)(`div`,{className:V7.tileHeader,children:(0,H.jsx)(`div`,{className:V7.tileLabel,children:e(`footer.version`)})}),(0,H.jsx)(`div`,{className:V7.tileValue,children:`v1.21.3`})]}),(0,H.jsxs)(`div`,{className:V7.infoTile,children:[(0,H.jsxs)(`div`,{className:V7.tileHeader,children:[(0,H.jsx)(`div`,{className:V7.tileLabel,children:e(`footer.api_version`)}),(0,H.jsx)(U,{type:`button`,variant:`ghost`,size:`sm`,className:V7.tileAction,onClick:()=>void re(),loading:E,title:e(`system_info.version_check_button`),"aria-label":e(`system_info.version_check_button`),children:e(`system_info.version_check_button`)})]}),(0,H.jsx)(`div`,{className:V7.tileValue,children:P})]}),(0,H.jsxs)(`div`,{className:V7.infoTile,children:[(0,H.jsx)(`div`,{className:V7.tileLabel,children:e(`footer.build_date`)}),(0,H.jsx)(`div`,{className:V7.tileValue,children:F})]}),(0,H.jsxs)(`div`,{className:V7.infoTile,children:[(0,H.jsx)(`div`,{className:V7.tileLabel,children:e(`connection.status`)}),(0,H.jsx)(`div`,{className:V7.tileValue,children:e(`common.${a.connectionStatus}_status`)}),(0,H.jsx)(`div`,{className:V7.tileSub,children:a.apiBase||`-`})]})]})]}),(0,H.jsxs)(Ij,{title:e(`system_info.quick_links_title`),children:[(0,H.jsx)(`p`,{className:V7.sectionDescription,children:e(`system_info.quick_links_desc`)}),(0,H.jsxs)(`div`,{className:V7.quickLinks,children:[(0,H.jsxs)(`a`,{href:`https://github.com/router-for-me/CLIProxyAPI`,target:`_blank`,rel:`noopener noreferrer`,className:V7.linkCard,children:[(0,H.jsx)(`div`,{className:`${V7.linkIcon} ${V7.github}`,children:(0,H.jsx)(qs,{size:22})}),(0,H.jsxs)(`div`,{className:V7.linkContent,children:[(0,H.jsxs)(`div`,{className:V7.linkTitle,children:[e(`system_info.link_main_repo`),(0,H.jsx)(Js,{size:14})]}),(0,H.jsx)(`div`,{className:V7.linkDesc,children:e(`system_info.link_main_repo_desc`)})]})]}),(0,H.jsxs)(`a`,{href:`https://github.com/router-for-me/Cli-Proxy-API-Management-Center`,target:`_blank`,rel:`noopener noreferrer`,className:V7.linkCard,children:[(0,H.jsx)(`div`,{className:`${V7.linkIcon} ${V7.github}`,children:(0,H.jsx)(Xs,{size:22})}),(0,H.jsxs)(`div`,{className:V7.linkContent,children:[(0,H.jsxs)(`div`,{className:V7.linkTitle,children:[e(`system_info.link_webui_repo`),(0,H.jsx)(Js,{size:14})]}),(0,H.jsx)(`div`,{className:V7.linkDesc,children:e(`system_info.link_webui_repo_desc`)})]})]}),(0,H.jsxs)(`a`,{href:`https://help.router-for.me/`,target:`_blank`,rel:`noopener noreferrer`,className:V7.linkCard,children:[(0,H.jsx)(`div`,{className:`${V7.linkIcon} ${V7.docs}`,children:(0,H.jsx)(Ys,{size:22})}),(0,H.jsxs)(`div`,{className:V7.linkContent,children:[(0,H.jsxs)(`div`,{className:V7.linkTitle,children:[e(`system_info.link_docs`),(0,H.jsx)(Js,{size:14})]}),(0,H.jsx)(`div`,{className:V7.linkDesc,children:e(`system_info.link_docs_desc`)})]})]})]})]}),(0,H.jsxs)(Ij,{title:e(`system_info.models_title`),extra:(0,H.jsx)(U,{variant:`secondary`,size:`sm`,onClick:()=>R({forceRefresh:!0}),loading:d,children:e(`common.refresh`)}),children:[(0,H.jsx)(`p`,{className:V7.sectionDescription,children:e(`system_info.models_desc`)}),m&&(0,H.jsx)(`div`,{className:`status-badge ${m.type}`,children:m.message}),f&&(0,H.jsx)(`div`,{className:`error-box`,children:f}),d?(0,H.jsx)(`div`,{className:`hint`,children:e(`common.loading`)}):u.length===0?(0,H.jsx)(`div`,{className:`hint`,children:e(`system_info.models_empty`)}):(0,H.jsx)(`div`,{className:`item-list`,children:j.map(t=>{let n=I(t.id);return(0,H.jsxs)(`div`,{className:`item-row`,children:[(0,H.jsxs)(`div`,{className:`item-meta`,children:[(0,H.jsxs)(`div`,{className:V7.groupTitle,children:[n&&(0,H.jsx)(`img`,{src:n,alt:``,className:V7.groupIcon}),(0,H.jsx)(`span`,{className:`item-title`,children:t.label})]}),(0,H.jsx)(`div`,{className:`item-subtitle`,children:e(`system_info.models_count`,{count:t.items.length})})]}),(0,H.jsx)(`div`,{className:V7.modelTags,children:t.items.map(e=>(0,H.jsxs)(`span`,{className:V7.modelTag,title:e.description||``,children:[(0,H.jsx)(`span`,{className:V7.modelName,children:e.name}),e.alias&&(0,H.jsx)(`span`,{className:V7.modelAlias,children:e.alias})]},`${e.name}-${e.alias??`default`}`))})]},t.id)})})]}),(0,H.jsxs)(Ij,{title:e(`system_info.clear_login_title`),children:[(0,H.jsx)(`p`,{className:V7.sectionDescription,children:e(`system_info.clear_login_desc`)}),(0,H.jsx)(`div`,{className:V7.clearLoginActions,children:(0,H.jsx)(U,{variant:`danger`,onClick:z,children:e(`system_info.clear_login_button`)})})]})]}),(0,H.jsx)(ym,{open:g,onClose:V,title:e(`basic_settings.request_log_title`),footer:(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(U,{variant:`secondary`,onClick:V,disabled:w,children:e(`common.cancel`)}),(0,H.jsx)(U,{onClick:ne,loading:w,disabled:!ee||!N,children:e(`common.save`)})]}),children:(0,H.jsxs)(`div`,{className:`request-log-modal`,children:[(0,H.jsx)(`div`,{className:`status-badge warning`,children:e(`basic_settings.request_log_warning`)}),(0,H.jsx)(Kw,{label:e(`basic_settings.request_log_enable`),labelPosition:`left`,checked:v,disabled:!ee||w,onChange:e=>{b(e),C(!0)}})]})})]})}var K7=e=>[{path:`/`,element:(0,H.jsx)(cx,{})},{path:`/dashboard`,element:(0,H.jsx)(cx,{})},{path:`/settings`,element:(0,H.jsx)(ei,{to:`/config`,replace:!0})},{path:`/api-keys`,element:(0,H.jsx)(ei,{to:`/config`,replace:!0})},{path:`/quick-start`,element:(0,H.jsx)(XD,{fixedBrand:`apikeyFun`})},{path:`/quick-start/*`,element:(0,H.jsx)(ei,{to:`/quick-start`,replace:!0})},{path:`/ai-providers`,element:(0,H.jsx)(XD,{})},{path:`/ai-providers/*`,element:(0,H.jsx)(ei,{to:`/ai-providers`,replace:!0})},{path:`/auth-files`,element:(0,H.jsx)(Fj,{})},{path:`/auth-files/oauth-excluded`,element:(0,H.jsx)(Jj,{})},{path:`/auth-files/oauth-model-alias`,element:(0,H.jsx)(Qj,{})},{path:`/oauth`,element:(0,H.jsx)(MM,{})},{path:`/quota`,element:(0,H.jsx)(EN,{})},...e?[{path:`/plugin-pages/:pluginId/:menuIndex`,element:(0,H.jsx)(jN,{})},{path:`/plugins`,element:(0,H.jsx)(JN,{})},{path:`/plugin-store`,element:(0,H.jsx)(CP,{})},{path:`/plugins/*`,element:(0,H.jsx)(ei,{to:`/plugins`,replace:!0})}]:[{path:`/plugin-pages/*`,element:(0,H.jsx)(ei,{to:`/`,replace:!0})},{path:`/plugins/*`,element:(0,H.jsx)(ei,{to:`/`,replace:!0})},{path:`/plugin-store`,element:(0,H.jsx)(ei,{to:`/`,replace:!0})}],{path:`/config`,element:(0,H.jsx)(J5,{})},{path:`/logs`,element:(0,H.jsx)(L7,{})},{path:`/system`,element:(0,H.jsx)(G7,{})},{path:`*`,element:(0,H.jsx)(ei,{to:`/`,replace:!0})}];function q7({location:e}){return yr(K7(am(e=>e.supportsPlugin)),e)}var J7={dashboard:(0,H.jsx)(Zs,{size:18}),quickStart:(0,H.jsx)(Qs,{size:18}),aiProviders:(0,H.jsx)(nc,{size:18}),authFiles:(0,H.jsx)(rc,{size:18}),oauth:(0,H.jsx)(ic,{size:18}),quota:(0,H.jsx)(ac,{size:18}),plugins:(0,H.jsx)(ec,{size:18}),pluginStore:(0,H.jsx)(tc,{size:18}),config:(0,H.jsx)($s,{size:18}),logs:(0,H.jsx)(oc,{size:18}),system:(0,H.jsx)(sc,{size:18})},Y7=`sidebar-nav-tooltip`,X7=8,Z7=e=>e.flatMap(e=>e.kind===`drawer`?e.children:[e]);function Q7(e,t,n){(0,y.useEffect)(()=>{if(!e)return;let r=e=>{t.current?.contains(e.target)||n()},i=e=>{e.key===`Escape`&&n()};return document.addEventListener(`mousedown`,r),document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`keydown`,i)}},[e,t,n])}function $7({src:e}){let[t,n]=(0,y.useState)(!1);return e&&!t?(0,H.jsx)(`img`,{src:e,alt:``,onError:()=>n(!0)}):(0,H.jsx)(ec,{size:18})}var e9={width:16,height:16,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,focusable:`false`},t9={refresh:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}),(0,H.jsx)(`path`,{d:`M21 3v5h-5`})]}),menu:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`path`,{d:`M4 7h16`}),(0,H.jsx)(`path`,{d:`M4 12h16`}),(0,H.jsx)(`path`,{d:`M4 17h16`})]}),close:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`path`,{d:`M18 6 6 18`}),(0,H.jsx)(`path`,{d:`m6 6 12 12`})]}),chevronLeft:(0,H.jsx)(`svg`,{...e9,children:(0,H.jsx)(`path`,{d:`m14 18-6-6 6-6`})}),chevronRight:(0,H.jsx)(`svg`,{...e9,children:(0,H.jsx)(`path`,{d:`m10 6 6 6-6 6`})}),language:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,H.jsx)(`path`,{d:`M2 12h20`}),(0,H.jsx)(`path`,{d:`M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z`})]}),sun:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,H.jsx)(`path`,{d:`M12 2v2`}),(0,H.jsx)(`path`,{d:`M12 20v2`}),(0,H.jsx)(`path`,{d:`m4.93 4.93 1.41 1.41`}),(0,H.jsx)(`path`,{d:`m17.66 17.66 1.41 1.41`}),(0,H.jsx)(`path`,{d:`M2 12h2`}),(0,H.jsx)(`path`,{d:`M20 12h2`}),(0,H.jsx)(`path`,{d:`m6.34 17.66-1.41 1.41`}),(0,H.jsx)(`path`,{d:`m19.07 4.93-1.41 1.41`})]}),moon:(0,H.jsx)(`svg`,{...e9,children:(0,H.jsx)(`path`,{d:`M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9z`})}),whiteTheme:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`7`}),(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`,fill:`currentColor`,stroke:`none`})]}),autoTheme:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`defs`,{children:(0,H.jsx)(`clipPath`,{id:`mainLayoutAutoThemeSunLeftHalf`,children:(0,H.jsx)(`rect`,{x:`0`,y:`0`,width:`12`,height:`24`})})}),(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,H.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`,clipPath:`url(#mainLayoutAutoThemeSunLeftHalf)`,fill:`currentColor`}),(0,H.jsx)(`path`,{d:`M12 2v2`}),(0,H.jsx)(`path`,{d:`M12 20v2`}),(0,H.jsx)(`path`,{d:`M4.93 4.93l1.41 1.41`}),(0,H.jsx)(`path`,{d:`M17.66 17.66l1.41 1.41`}),(0,H.jsx)(`path`,{d:`M2 12h2`}),(0,H.jsx)(`path`,{d:`M20 12h2`}),(0,H.jsx)(`path`,{d:`M6.34 17.66l-1.41 1.41`}),(0,H.jsx)(`path`,{d:`M19.07 4.93l-1.41 1.41`})]}),logout:(0,H.jsxs)(`svg`,{...e9,children:[(0,H.jsx)(`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}),(0,H.jsx)(`path`,{d:`m16 17 5-5-5-5`}),(0,H.jsx)(`path`,{d:`M21 12H9`})]})},n9=[{key:`auto`,labelKey:`theme.auto`,colors:{bg:`linear-gradient(135deg, #ffffff 0 50%, #111111 50% 100%)`,card:`linear-gradient(135deg, #ffffff 0 50%, #1a1a1a 50% 100%)`,border:`#bdbdbd`,text:`#2d2a26`,textMuted:`linear-gradient(135deg, #c9c9c9 0 50%, #5a5a5a 50% 100%)`}},{key:`white`,labelKey:`theme.white`,colors:{bg:`#ffffff`,card:`#ffffff`,border:`#e5e5e5`,text:`#2d2a26`,textMuted:`#a29c95`}},{key:`light`,labelKey:`theme.light`,colors:{bg:`#faf9f5`,card:`#f0eee8`,border:`#e3e1db`,text:`#2d2a26`,textMuted:`#a29c95`}},{key:`dark`,labelKey:`theme.dark`,colors:{bg:`#151412`,card:`#1d1b18`,border:`#3a3530`,text:`#f6f4f1`,textMuted:`#9c958d`}}];function r9(){let{t:e}=ss(),{showNotification:t}=Kc(),n=ur(),r=am(e=>e.logout),i=am(e=>e.connectionStatus),a=am(e=>e.apiBase),o=am(e=>e.supportsPlugin),s=jp(e=>e.fetchConfig),c=jp(e=>e.clearCache),l=jp(e=>e.config),u=tl(e=>e.theme),d=tl(e=>e.setTheme),f=pl(e=>e.language),p=pl(e=>e.setLanguage),[m,h]=(0,y.useState)(!1),[g,_]=(0,y.useState)(!1),[v,b]=(0,y.useState)(null),[S,C]=(0,y.useState)(null),[w,T]=(0,y.useState)(!1),[E,D]=(0,y.useState)(!1),[O,k]=(0,y.useState)([]),[A,j]=(0,y.useState)(()=>new Set),M=(0,y.useRef)(null),N=(0,y.useRef)(0),ee=(0,y.useRef)(null),P=(0,y.useRef)(null),F=(0,y.useRef)(null),I=(0,y.useRef)(null),L=(0,y.useRef)(null),R=e(`title.abbr`),z=n.pathname.startsWith(`/logs`),te=n.pathname.startsWith(`/plugin-pages`),B=!g||m;(0,y.useLayoutEffect)(()=>{let e=()=>{let e=L.current?.offsetHeight;e&&document.documentElement.style.setProperty(`--header-height`,`${e}px`)};e();let t=typeof ResizeObserver<`u`&&L.current?new ResizeObserver(e):null;return t&&L.current&&t.observe(L.current),window.addEventListener(`resize`,e),()=>{t&&t.disconnect(),window.removeEventListener(`resize`,e)}},[]),(0,y.useLayoutEffect)(()=>{if(!S)return;let e=()=>{let e=ee.current;if(!e)return;let t=e.offsetHeight/2,n=X7+t,r=Math.max(n,window.innerHeight-X7-t),i=Math.min(r,Math.max(n,S.anchorTop));C(e=>!e||e.targetID!==S.targetID||e.top===i?e:{...e,top:i})};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[S]),(0,y.useLayoutEffect)(()=>{let e=()=>{let e=M.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.left+t.width/2;document.documentElement.style.setProperty(`--content-center-x`,`${n}px`)};e();let t=typeof ResizeObserver<`u`&&M.current?new ResizeObserver(e):null;return t&&M.current&&t.observe(M.current),window.addEventListener(`resize`,e),()=>{t&&t.disconnect(),window.removeEventListener(`resize`,e),document.documentElement.style.removeProperty(`--content-center-x`)}},[]);let V=(0,y.useCallback)(()=>T(!1),[]),ne=(0,y.useCallback)(()=>D(!1),[]);Q7(w,F,V),Q7(E,I,ne);let re=(0,y.useCallback)(()=>{T(e=>!e),D(!1)},[]),ie=(0,y.useCallback)(()=>{D(e=>!e),T(!1)},[]),ae=(0,y.useCallback)(e=>{d(e),D(!1)},[d]),oe=(0,y.useCallback)(e=>{sl(e)&&(p(e),T(!1))},[p]);(0,y.useEffect)(()=>{s().catch(()=>{})},[s]);let se=(0,y.useCallback)(async()=>{if(i!==`connected`||!o){k([]);return}try{let e=await eb.list();k(fM(e.plugins))}catch{k([])}},[i,o]),ce=(0,y.useCallback)(async()=>{let e=++N.current;if(i!==`connected`){b(null);return}try{let t=await Dy.list();if(e!==N.current)return;b(Array.isArray(t?.files)?t.files.length:null)}catch{if(e!==N.current)return;b(null)}},[i]);(0,y.useEffect)(()=>{let e=window.setTimeout(()=>{se(),ce()},0);return window.addEventListener($j,se),window.addEventListener(HA,ce),()=>{N.current+=1,window.clearTimeout(e),window.removeEventListener($j,se),window.removeEventListener(HA,ce)}},[a,se,ce]);let le=O.reduce((e,t)=>{let n=e.find(e=>e.pluginID===t.pluginID);return n?(n.entries.push(t),e):(e.push({pluginID:t.pluginID,pluginTitle:t.pluginTitle,entries:[t]}),e)},[]),ue=o?le.flatMap(t=>{if(t.entries.length===1){let e=t.entries[0],n=rM(e.pluginLogo,a);return[{path:e.route,label:e.label,meta:e.description,icon:(0,H.jsx)($7,{src:n})}]}let n=rM(t.entries[0]?.pluginLogo??``,a);return[{kind:`drawer`,id:`plugin-pages-${t.pluginID}`,label:t.pluginTitle,meta:e(`plugin_resource.page_count`,{count:t.entries.length}),icon:(0,H.jsx)($7,{src:n}),children:t.entries.map(e=>({path:e.route,label:e.label,meta:e.description,icon:(0,H.jsx)(`span`,{className:`nav-sub-dot`,"aria-hidden":`true`})}))}]}):[],de=lC(l),fe={path:`/quick-start`,label:de?PS:void 0,labelKey:de?void 0:`nav.quick_start`,metaKey:`nav_meta.quick_start`,icon:J7.quickStart},pe=[{id:`operate`,labelKey:`nav_groups.operate`,items:[{path:`/`,labelKey:`nav.dashboard`,metaKey:`nav_meta.dashboard`,icon:J7.dashboard},...de?[]:[fe]]},{id:`gateway`,labelKey:`nav_groups.gateway`,items:[{path:`/ai-providers`,labelKey:`nav.ai_providers`,metaKey:`nav_meta.ai_providers`,icon:J7.aiProviders},{path:`/auth-files`,labelKey:`nav.auth_files`,metaKey:`nav_meta.auth_files`,badge:v??void 0,badgeLabel:typeof v==`number`?e(`sidebar.auth_files_count`,{count:v}):void 0,icon:J7.authFiles},{path:`/oauth`,labelKey:`nav.oauth`,metaKey:`nav_meta.oauth`,icon:J7.oauth},...de?[fe]:[]]},{id:`observe`,labelKey:`nav_groups.observe`,items:[{path:`/quota`,labelKey:`nav.quota_management`,metaKey:`nav_meta.quota_management`,icon:J7.quota},{path:`/logs`,labelKey:`nav.logs`,metaKey:`nav_meta.logs`,icon:J7.logs}]},{id:`control`,labelKey:`nav_groups.control`,items:[{path:`/config`,labelKey:`nav.config_management`,metaKey:`nav_meta.config_management`,icon:J7.config},...o?[{path:`/plugins`,labelKey:`nav.plugins`,metaKey:`nav_meta.plugins`,icon:J7.plugins},{path:`/plugin-store`,labelKey:`nav.plugin_store`,metaKey:`nav_meta.plugin_store`,icon:J7.pluginStore}]:[],{path:`/system`,labelKey:`nav.system_info`,metaKey:`nav_meta.system_info`,icon:J7.system}]},...ue.length>0?[{id:`plugin-pages`,labelKey:`nav_groups.plugin_pages`,items:ue}]:[]],me=pe.flatMap(e=>Z7(e.items)).map(e=>e.path),he=e=>{let t=e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e,n=t===`/dashboard`?`/`:t,r=me.indexOf(`/auth-files`);if(r!==-1){if(n===`/auth-files`)return r;if(n.startsWith(`/auth-files/`))return n.startsWith(`/auth-files/oauth-excluded`)?r+.1:n.startsWith(`/auth-files/oauth-model-alias`)?r+.2:r+.05}let i=me.indexOf(n);if(i!==-1)return i;let a=me.findIndex(e=>e!==`/`&&n.startsWith(`${e}/`));return a===-1?null:a},ge=(0,y.useCallback)((e,t)=>{let n=e=>{let t=e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e;return t===`/dashboard`?`/`:t},r=n(e),i=n(t),a=e=>e===`/auth-files`||e.startsWith(`/auth-files/`);return a(r)&&a(i)?`ios`:`vertical`},[]),_e=async()=>{c();let n=(await Promise.allSettled([s(!0),se(),ce(),kh()])).find(e=>e.status===`rejected`);if(n&&n.status===`rejected`){let r=n.reason,i=typeof r==`string`?r:r instanceof Error?r.message:``;t(`${e(`notification.refresh_failed`)}${i?`: ${i}`:``}`,`error`);return}t(e(`notification.data_refreshed`),`success`)},ve=(0,y.useCallback)(e=>{j(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),ye=(0,y.useCallback)((e,t,n,r)=>{let i=e.currentTarget.getBoundingClientRect(),a=i.top+i.height/2;C({targetID:t,label:n,meta:r,anchorTop:a,top:a})},[]),be=(0,y.useCallback)(()=>C(null),[]),xe=(0,y.useCallback)((e,t,n,r)=>{let i=P.current;i&&i!==e.currentTarget||ye(e,t,n,r)},[ye]),Se=(0,y.useCallback)(()=>{P.current||be()},[be]),Ce=(0,y.useCallback)((e,t,n,r)=>{P.current=e.currentTarget,ye(e,t,n,r)},[ye]),we=(0,y.useCallback)((e,t,n,r)=>{P.current===e.currentTarget&&(P.current=null),e.currentTarget.matches(`:hover`)?ye(e,t,n,r):be()},[be,ye]),Te=(e,t)=>typeof e==`number`?(0,H.jsxs)(H.Fragment,{children:[e>0?(0,H.jsx)(`span`,{className:`nav-badge`,"aria-hidden":`true`,children:e}):null,t?(0,H.jsx)(`span`,{className:`nav-badge-sr-only`,children:t}):null]}):null,Ee=(t,n=`nav-item`)=>{let r=t.label??(t.labelKey?e(t.labelKey):``),i=t.meta??(t.metaKey?e(t.metaKey):``),a=t.badgeLabel?`${r}, ${t.badgeLabel}`:r;return(0,H.jsxs)(Yi,{to:t.path,className:({isActive:e})=>`${n} ${e?`active`:``}`,onClick:()=>{P.current=null,h(!1),be()},"aria-label":B?void 0:a,"aria-describedby":!B&&i&&S?.targetID===t.path?Y7:void 0,onMouseEnter:B?void 0:e=>xe(e,t.path,r,i),onMouseLeave:B?void 0:Se,onFocus:B?void 0:e=>Ce(e,t.path,r,i),onBlur:B?void 0:e=>we(e,t.path,r,i),children:[(0,H.jsx)(`span`,{className:`nav-icon`,children:t.icon}),B?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:`nav-text`,children:(0,H.jsx)(`span`,{className:`nav-label`,children:r})}),Te(t.badge,t.badgeLabel)]}):Te(t.badge)]},t.path)},De=e=>{if(e.kind!==`drawer`)return Ee(e);let t=e.children.some(e=>e.path===n.pathname),r=t||A.has(e.id);return(0,H.jsxs)(`div`,{className:`nav-drawer ${r?`open`:``}`,children:[(0,H.jsxs)(`button`,{type:`button`,className:`nav-item nav-drawer-toggle ${t?`active`:``} ${r?`open`:``}`,onClick:()=>ve(e.id),"aria-label":B?void 0:e.label,"aria-describedby":!B&&e.meta&&S?.targetID===e.id?Y7:void 0,"aria-expanded":r,onMouseEnter:B?void 0:t=>xe(t,e.id,e.label,e.meta),onMouseLeave:B?void 0:Se,onFocus:B?void 0:t=>Ce(t,e.id,e.label,e.meta),onBlur:B?void 0:t=>we(t,e.id,e.label,e.meta),children:[(0,H.jsx)(`span`,{className:`nav-icon`,children:e.icon}),B&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`span`,{className:`nav-text`,children:(0,H.jsx)(`span`,{className:`nav-label`,children:e.label})}),(0,H.jsx)(`span`,{className:`nav-drawer-caret`,"aria-hidden":`true`,children:(0,H.jsx)(Is,{size:14})})]})]}),r?(0,H.jsx)(`div`,{className:`nav-sub-list`,children:e.children.map(e=>Ee(e,`nav-item nav-sub-item`))}):null]},e.id)},Oe=m?e(`sidebar.toggle_collapse`,{defaultValue:`Close navigation`}):e(`sidebar.toggle_expand`,{defaultValue:`Open navigation`});return(0,H.jsxs)(`div`,{className:`app-shell ${g?`sidebar-is-collapsed`:``} ${te?`plugin-resource-shell`:``}`,children:[(0,H.jsx)(`div`,{className:`top-gradient-blur`,"aria-hidden":`true`}),(0,H.jsxs)(`header`,{className:`main-header`,ref:L,children:[(0,H.jsx)(`button`,{type:`button`,className:`sidebar-toggle-floating`,onClick:()=>{be(),_(e=>!e)},title:e(g?`sidebar.expand`:`sidebar.collapse`),"aria-label":e(g?`sidebar.expand`:`sidebar.collapse`),children:g?t9.chevronRight:t9.chevronLeft}),(0,H.jsx)(`div`,{className:`mobile-sidebar-actions`,children:(0,H.jsx)(U,{className:`mobile-menu-btn`,variant:`ghost`,size:`sm`,onClick:()=>h(e=>!e),title:Oe,"aria-label":Oe,children:m?t9.close:t9.menu})}),(0,H.jsxs)(`div`,{className:`header-actions floating-actions`,children:[(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:_e,title:e(`header.refresh_all`),children:t9.refresh}),(0,H.jsxs)(`div`,{className:`language-menu ${w?`open`:``}`,ref:F,children:[(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:re,title:e(`language.switch`),"aria-label":e(`language.switch`),"aria-haspopup":`menu`,"aria-expanded":w,children:t9.language}),w&&(0,H.jsx)(`div`,{className:`notification entering language-menu-popover`,role:`menu`,"aria-label":e(`language.switch`),children:Hc.map(t=>(0,H.jsxs)(`button`,{type:`button`,className:`language-menu-option ${f===t?`active`:``}`,onClick:()=>oe(t),role:`menuitemradio`,"aria-checked":f===t,children:[(0,H.jsx)(`span`,{children:e(Uc[t])}),f===t?(0,H.jsx)(`span`,{className:`language-menu-check`,children:`✓`}):null]},t))})]}),(0,H.jsxs)(`div`,{className:`theme-menu ${E?`open`:``}`,ref:I,children:[(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:ie,title:e(`theme.switch`),"aria-label":e(`theme.switch`),"aria-haspopup":`menu`,"aria-expanded":E,children:u===`auto`?t9.autoTheme:u===`dark`?t9.moon:u===`white`?t9.whiteTheme:t9.sun}),E&&(0,H.jsx)(`div`,{className:`notification entering theme-menu-popover`,role:`menu`,"aria-label":e(`theme.switch`),children:n9.map(t=>(0,H.jsxs)(`button`,{type:`button`,className:`theme-card ${u===t.key?`active`:``}`,onClick:()=>ae(t.key),role:`menuitemradio`,"aria-checked":u===t.key,children:[(0,H.jsxs)(`div`,{className:`theme-card-preview`,style:{background:t.colors.bg,border:`1px solid ${t.colors.border}`},children:[(0,H.jsx)(`div`,{className:`theme-card-header`,style:{background:t.colors.card,borderBottom:`1px solid ${t.colors.border}`}}),(0,H.jsxs)(`div`,{className:`theme-card-body`,children:[(0,H.jsx)(`div`,{className:`theme-card-sidebar`,style:{background:t.colors.card,borderRight:`1px solid ${t.colors.border}`}}),(0,H.jsxs)(`div`,{className:`theme-card-content`,style:{background:t.colors.bg},children:[(0,H.jsx)(`div`,{className:`theme-card-line`,style:{background:t.colors.textMuted}}),(0,H.jsx)(`div`,{className:`theme-card-line short`,style:{background:t.colors.textMuted}})]})]})]}),(0,H.jsx)(`span`,{className:`theme-card-label`,children:e(t.labelKey)})]},t.key))})]}),(0,H.jsx)(U,{variant:`ghost`,size:`sm`,onClick:r,title:e(`header.logout`),children:t9.logout})]})]}),(0,H.jsxs)(`div`,{className:`main-body`,children:[(0,H.jsx)(`button`,{type:`button`,className:`sidebar-backdrop ${m?`visible`:``}`,onClick:()=>h(!1),"aria-label":e(`common.close`),"aria-hidden":!m,tabIndex:m?0:-1}),(0,H.jsxs)(`aside`,{className:`sidebar ${m?`open`:``} ${g?`collapsed`:``}`,children:[(0,H.jsx)(`div`,{className:`sidebar-header`,children:(0,H.jsxs)(`div`,{className:`sidebar-brand`,title:`CLI Proxy API Management Center`,children:[(0,H.jsx)(`img`,{src:x,alt:`CPAMC logo`,className:`sidebar-brand-logo`}),B&&(0,H.jsxs)(`span`,{className:`sidebar-brand-text`,children:[(0,H.jsx)(`span`,{className:`sidebar-brand-title`,children:R}),(0,H.jsx)(`span`,{className:`sidebar-brand-subtitle`,children:e(`sidebar.subtitle`)})]})]})}),(0,H.jsx)(`div`,{className:`nav-section`,children:pe.map((t,n)=>(0,H.jsxs)(`div`,{className:`nav-group`,children:[B?(0,H.jsx)(`div`,{className:`nav-group-label`,children:e(t.labelKey)}):n>0&&(0,H.jsx)(`div`,{className:`nav-group-divider`,"aria-hidden":`true`}),t.items.map(e=>De(e))]},t.id))})]}),!B&&S&&(0,H.jsxs)(`div`,{ref:ee,id:Y7,className:`nav-tooltip`,role:`tooltip`,style:{top:S.top},children:[(0,H.jsx)(`span`,{className:`nav-tooltip-label`,"aria-hidden":`true`,children:S.label}),S.meta?(0,H.jsx)(`span`,{className:`nav-tooltip-meta`,children:S.meta}):null]}),(0,H.jsx)(`div`,{className:`content${z?` content-logs`:``}${te?` content-plugin-resource`:``}`,ref:M,children:(0,H.jsx)(`main`,{className:`main-content${z?` main-content-logs`:``}${te?` main-content-plugin-resource`:``}`,children:(0,H.jsx)(Dh,{render:e=>(0,H.jsx)(q7,{location:e}),getRouteOrder:he,getTransitionVariant:ge,scrollContainerRef:M})})})]})]})}function i9({children:e}){let t=ur(),n=am(e=>e.isAuthenticated),r=am(e=>e.managementKey),i=am(e=>e.apiBase),a=am(e=>e.checkAuth),[o,s]=(0,y.useState)(!1);return(0,y.useEffect)(()=>{(async()=>{if(!n&&r&&i){s(!0);try{await a()}finally{s(!1)}}})()},[i,n,r,a]),o?(0,H.jsx)(`div`,{className:`main-content`,children:(0,H.jsx)(RO,{})}):n?e:(0,H.jsx)(ei,{to:`/login`,replace:!0,state:{from:t}})}function a9(){return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(um,{}),(0,H.jsx)(bm,{}),(0,H.jsx)(ti,{})]})}var o9=Wi([{element:(0,H.jsx)(a9,{}),children:[{path:`/login`,element:(0,H.jsx)(cm,{})},{path:`/*`,element:(0,H.jsx)(i9,{children:(0,H.jsx)(r9,{})})}]}]);function s9(){let e=tl(e=>e.initializeTheme),t=pl(e=>e.language),n=pl(e=>e.setLanguage);return(0,y.useEffect)(()=>e(),[e]),(0,y.useEffect)(()=>{n(t)},[]),(0,y.useEffect)(()=>{document.documentElement.lang=t},[t]),(0,H.jsx)(pa,{router:o9})}document.title=`CLI Proxy API Management Center`,document.documentElement.setAttribute(`translate`,`no`),document.documentElement.classList.add(`notranslate`);var c9=document.querySelector(`link[rel="icon"]`);if(c9)c9.href=x,c9.type=`image/jpeg`;else{let e=document.createElement(`link`);e.rel=`icon`,e.type=`image/jpeg`,e.href=x,document.head.appendChild(e)}(0,b.createRoot)(document.getElementById(`root`)).render((0,H.jsx)(y.StrictMode,{children:(0,H.jsx)(s9,{})}));</script>
<style rel="stylesheet" crossorigin>*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}#root{width:100%;height:100%}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:root{--bg-secondary:#faf9f5;--bg-primary:#f0eee8;--bg-tertiary:#e9e6df;--bg-hover:var(--bg-tertiary);--bg-quinary:#f6f4ee;--bg-error-light:#c657461a;--floating-surface:#fffdf9;--floating-shadow:0 12px 26px #00000024;--text-primary:#2d2a26;--text-secondary:#6d6760;--text-tertiary:#a29c95;--text-quaternary:#c0bab3;--text-muted:var(--text-tertiary);--border-color:#e3e1db;--border-secondary:var(--border-color);--border-primary:#d5d2cb;--border-hover:#cecac4;--primary-color:#8b8680;--primary-hover:#7f7a74;--primary-active:#726d67;--primary-contrast:#fff;--success-color:#10b981;--quota-medium-color:#e0aa14;--warning-color:#c65746;--error-color:#c65746;--danger-color:var(--error-color);--info-color:var(--primary-color);--warning-bg:#c657461f;--warning-border:#c6574659;--warning-text:var(--warning-color);--success-badge-bg:#d1fae5;--success-badge-text:#065f46;--success-badge-border:#6ee7b7;--failure-badge-bg:#c6574624;--failure-badge-text:#8a3a30;--failure-badge-border:#c6574659;--count-badge-bg:#8b86802e;--count-badge-text:var(--primary-active);--shadow:0 1px 2px 0 #00000014;--shadow-lg:0 10px 18px -3px #0000001a;--radius-md:8px;--primary-8:color-mix(in srgb, var(--primary-color) 8%, transparent);--primary-10:color-mix(in srgb, var(--primary-color) 10%, transparent);--primary-30:color-mix(in srgb, var(--primary-color) 30%, transparent);--amber-color:#d97706;--amber-text:#92400e;--amber-10:color-mix(in srgb, var(--amber-color) 10%, transparent);--amber-30:color-mix(in srgb, var(--amber-color) 30%, transparent);--destructive-color:var(--error-color);--destructive-10:color-mix(in srgb, var(--destructive-color) 10%, transparent);--destructive-30:color-mix(in srgb, var(--destructive-color) 30%, transparent);--muted-bg:var(--bg-tertiary);--muted-foreground:var(--text-secondary);--accent-bg:var(--bg-tertiary);--glass-blur:12px;--glass-backdrop-filter:blur(var(--glass-blur));--glass-filter:blur(var(--glass-blur));--glass-bg:color-mix(in srgb, var(--bg-primary) 82%, transparent);--glass-bg-secondary:color-mix(in srgb, var(--bg-secondary) 82%, transparent);--glass-border:color-mix(in srgb, var(--border-color) 60%, transparent);--viz-success:#10b981;--viz-failure:#c65746;--ease-out-strong:cubic-bezier(.23, 1, .32, 1);--dur-press:.16s;--dur-hover:.2s}[data-theme=white]{--bg-secondary:#fff;--bg-primary:#fff;--bg-tertiary:#f6f6f6;--bg-hover:var(--bg-tertiary);--bg-quinary:#fff;--bg-error-light:#c6574614;--floating-surface:#fff;--floating-shadow:0 12px 26px #0000001f;--text-primary:#2d2a26;--text-secondary:#6d6760;--text-tertiary:#a29c95;--text-quaternary:#c0bab3;--text-muted:var(--text-tertiary);--border-color:#e5e5e5;--border-secondary:var(--border-color);--border-primary:#d9d9d9;--border-hover:#ccc;--primary-color:#8b8680;--primary-hover:#7f7a74;--primary-active:#726d67;--primary-contrast:#fff;--success-color:#10b981;--quota-medium-color:#e0aa14;--warning-color:#c65746;--error-color:#c65746;--danger-color:var(--error-color);--info-color:var(--primary-color);--warning-bg:#c657461f;--warning-border:#c6574659;--warning-text:var(--warning-color);--success-badge-bg:#d1fae5;--success-badge-text:#065f46;--success-badge-border:#6ee7b7;--failure-badge-bg:#c6574624;--failure-badge-text:#8a3a30;--failure-badge-border:#c6574659;--count-badge-bg:#8b86802e;--count-badge-text:var(--primary-active);--shadow:0 1px 2px 0 #00000014;--shadow-lg:0 10px 18px -3px #0000001a;--radius-md:8px;--primary-8:color-mix(in srgb, var(--primary-color) 8%, transparent);--primary-10:color-mix(in srgb, var(--primary-color) 10%, transparent);--primary-30:color-mix(in srgb, var(--primary-color) 30%, transparent);--amber-color:#d97706;--amber-text:#92400e;--amber-10:color-mix(in srgb, var(--amber-color) 10%, transparent);--amber-30:color-mix(in srgb, var(--amber-color) 30%, transparent);--destructive-color:var(--error-color);--destructive-10:color-mix(in srgb, var(--destructive-color) 10%, transparent);--destructive-30:color-mix(in srgb, var(--destructive-color) 30%, transparent);--muted-bg:var(--bg-tertiary);--muted-foreground:var(--text-secondary);--accent-bg:var(--bg-tertiary)}[data-theme=dark]{--bg-secondary:#151412;--bg-primary:#1d1b18;--bg-tertiary:#262320;--bg-hover:#2e2a26;--bg-quinary:#191714;--bg-error-light:#c657462e;--floating-surface:#2a2723;--floating-shadow:0 14px 30px #0006;--text-primary:#f6f4f1;--text-secondary:#c9c3bb;--text-tertiary:#9c958d;--text-quaternary:#6f6962;--text-muted:var(--text-tertiary);--border-color:#3a3530;--border-secondary:var(--border-color);--border-primary:#4a453f;--border-hover:#5a544d;--primary-color:#8b8680;--primary-hover:#9a948e;--primary-active:#a6a099;--primary-contrast:#fff;--success-color:#10b981;--quota-medium-color:#ffd862;--warning-color:#c65746;--error-color:#c65746;--danger-color:var(--error-color);--info-color:var(--primary-color);--warning-bg:#c6574638;--warning-border:#c6574673;--warning-text:#f1b0a6;--success-badge-bg:#064e3b4d;--success-badge-text:#6ee7b7;--success-badge-border:#059669;--failure-badge-bg:#c657463d;--failure-badge-text:#f1b0a6;--failure-badge-border:#c6574680;--count-badge-bg:#8b868047;--count-badge-text:var(--primary-active);--shadow:0 1px 3px 0 #0000004d;--shadow-lg:0 10px 15px -3px #0000004d;--radius-md:8px;--primary-8:color-mix(in srgb, var(--primary-color) 8%, transparent);--primary-10:color-mix(in srgb, var(--primary-color) 10%, transparent);--primary-30:color-mix(in srgb, var(--primary-color) 30%, transparent);--amber-color:#f59e0b;--amber-text:#fcd34d;--amber-10:color-mix(in srgb, var(--amber-color) 14%, transparent);--amber-30:color-mix(in srgb, var(--amber-color) 38%, transparent);--destructive-color:var(--error-color);--destructive-10:color-mix(in srgb, var(--destructive-color) 14%, transparent);--destructive-30:color-mix(in srgb, var(--destructive-color) 38%, transparent);--muted-bg:var(--bg-tertiary);--muted-foreground:var(--text-secondary);--accent-bg:var(--bg-tertiary);--glass-border:color-mix(in srgb, var(--border-color) 55%, transparent);--viz-success:#0fae78;--viz-failure:#cf4b3a}@media (max-width:768px),(prefers-reduced-motion:reduce),(prefers-reduced-transparency:reduce){:root{--glass-backdrop-filter:none;--glass-filter:none;--glass-bg:var(--bg-primary);--glass-bg-secondary:var(--bg-secondary);--glass-border:var(--border-color)}}.btn{cursor:pointer;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:600;transition:all .15s;display:inline-flex}.btn.btn-primary{background-color:var(--primary-color);color:var(--primary-contrast,#fff);border-color:var(--primary-color)}.btn.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn.btn-secondary{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.btn.btn-secondary:hover{background-color:var(--bg-hover,var(--bg-tertiary));border-color:var(--border-hover)}.btn.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn.btn-ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn.btn-danger{color:#fff;background-color:#c65746;border-color:#c65746}.btn.btn-danger:hover{background-color:#b94a39}.btn.btn-full{width:100%}.btn.btn-sm{padding:8px 10px;font-size:14px}.btn:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .btn,[data-theme=dark] .btn.btn-secondary,[data-theme=dark] .btn.btn-ghost{color:#fff}.input,textarea{border:1px solid var(--border-color);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:8px;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.input:focus,textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #8b86802e}.form-group{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-primary);font-weight:600}.form-group .hint{color:var(--text-secondary);font-size:13px}.card{background-color:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:12px;padding:24px}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.card-header>*{min-width:0}.card-header .title{min-width:0;color:var(--text-primary);flex:auto;font-size:18px;font-weight:700}.status-badge{border:1px solid var(--border-color);border-radius:9999px;align-items:center;gap:6px;margin-bottom:16px;padding:4px 10px;font-size:13px;display:inline-flex}.status-badge+*{display:block}.status-badge.success{color:#10b981;background:#10b98114;border-color:#10b98159}.status-badge.warning,.status-badge.error{color:#c65746;background:#c6574614;border-color:#c6574659}.status-badge.muted{color:var(--text-secondary)}.notification-container{z-index:3000;flex-direction:column;gap:8px;max-width:360px;display:flex;position:fixed;top:24px;right:24px}@keyframes notification-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes notification-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.notification{box-shadow:var(--shadow);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:16px;display:flex}.notification.entering{animation:.3s ease-out forwards notification-enter}.notification.exiting{animation:.3s ease-in forwards notification-exit}.notification.success{border-color:#10b98166}.notification.warning,.notification.error{border-color:#c6574666}.notification .message{flex:1;font-weight:500}.notification .close-btn{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.notification .close-btn svg{display:block}.notification .close-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.pill{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:9999px;padding:4px 10px;font-size:12px}.loading-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@supports (color:color-mix(in srgb, currentColor 22%, transparent)){.loading-spinner{border-color:color-mix(in srgb, currentColor 22%, transparent);border-top-color:currentColor}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{z-index:2000;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-overlay.modal-overlay-entering{animation:.25s ease-out forwards modal-overlay-fade-in}.modal-overlay.modal-overlay-closing{animation:.35s ease-in forwards modal-overlay-fade-out}@keyframes modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-overlay-fade-out{0%{opacity:1}to{opacity:0}}.modal{background:var(--bg-primary);border:1px solid var(--border-color);transform-origin:calc(100% - 28px) 28px;border-radius:12px;flex-direction:column;max-width:100%;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a}.modal.modal-entering{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards modal-scale-in}.modal.modal-closing{animation:.35s cubic-bezier(.4,0,.2,1) forwards modal-collapse-to-close}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.85)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modal-collapse-to-close{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}.modal-close-floating{background:var(--bg-secondary);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;z-index:10;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,transform .15s;display:inline-flex;position:absolute;top:12px;right:12px}.modal-close-floating svg{display:block}.modal-close-floating:hover{color:var(--text-primary);background:var(--bg-tertiary);transform:scale(1.1)}.modal-close-floating:active{transform:scale(.95)}.modal-close-floating:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-close-floating:disabled:hover{color:var(--text-secondary);background:var(--bg-secondary);transform:none}.modal-header{border-bottom:1px solid var(--border-color);align-items:center;padding:16px 24px;display:flex}.modal-header .modal-title{color:var(--text-primary);font-size:18px;font-weight:700}.modal-body{max-height:65vh;padding:24px;overflow:auto}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-primary);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}@media (max-width:768px){.modal-overlay{padding:16px}.modal{border-radius:8px;max-height:calc(100vh - 32px)}@supports (height:100dvh){.modal{max-height:calc(100dvh - 32px)}}.modal-header{padding:16px 52px 16px 16px}.modal-body{max-height:min(60vh,100vh - 180px);padding:16px}@supports (height:100dvh){.modal-body{max-height:min(60dvh,100dvh - 180px)}}.modal-footer{flex-direction:column-reverse;align-items:stretch;padding:16px}.modal-footer .btn{width:100%}}.request-log-modal{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.request-log-modal .status-badge{margin-bottom:0}.empty-state{border:1px dashed var(--border-color);background:var(--bg-secondary);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.empty-state .empty-content{align-items:center;gap:16px;display:flex}.empty-state .empty-icon{border:2px solid var(--border-color);width:42px;height:42px;color:var(--text-secondary);border-radius:9999px;flex:0 0 42px;justify-content:center;align-items:center;line-height:0;display:inline-flex}.empty-state .empty-icon svg{flex-shrink:0;width:20px;height:20px;display:block}.empty-state .empty-title{color:var(--text-primary);font-weight:700}.empty-state .empty-desc{color:var(--text-secondary);margin-top:4px}.empty-state .empty-action .btn>span{justify-content:center;align-items:center;gap:8px;line-height:1;display:inline-flex}.empty-state .empty-action .btn svg{flex-shrink:0;display:block}.item-list{flex-direction:column;gap:8px;display:flex}.item-row{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.item-row .item-meta{flex-direction:column;gap:6px;display:flex}.item-row .item-title{color:var(--text-primary);font-weight:700}.item-row .item-subtitle{color:var(--text-secondary);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.item-row .item-actions{gap:8px;display:flex}.error-box{color:#c65746;background:#c657461a;border:1px solid #c6574666;border-radius:8px;padding:8px 16px}.stack{flex-direction:column;gap:24px;display:flex}.hint{color:var(--text-secondary)}:root{--header-height:80px;--shell-gutter:24px;--sidebar-panel-width:216px;--sidebar-collapsed-width:60px;--sidebar-active-width:var(--sidebar-panel-width);--sidebar-gap:0px;--floating-control-size:38px}.app-shell{--sidebar-active-width:var(--sidebar-panel-width);background:var(--bg-secondary);height:100vh;min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex;position:relative;overflow:hidden}.app-shell.sidebar-is-collapsed{--sidebar-active-width:var(--sidebar-collapsed-width)}@media (max-width:768px){.app-shell{height:auto;min-height:100vh;overflow:visible auto}}.app-shell.plugin-resource-shell .top-gradient-blur{display:none}.top-gradient-blur{top:0;right:0;left:var(--sidebar-active-width);z-index:998;pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--bg-secondary) 88%, #0d0c0a) 0%, color-mix(in srgb, var(--bg-secondary) 54%, transparent) 36%, color-mix(in srgb, var(--bg-secondary) 22%, transparent) 66%, transparent 100%);--glass-blur:22px;height:141px;-webkit-backdrop-filter:var(--glass-backdrop-filter);transition:left .3s;position:fixed;-webkit-mask-image:linear-gradient(#000 0%,#000000e6 24%,#00000094 48%,#00000038 72%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000e6 24%,#00000094 48%,#00000038 72%,#0000 100%)}.main-header{z-index:1001;height:var(--header-height);pointer-events:none;background:0 0;border:0;position:fixed;top:0;left:0;right:0}.main-header .sidebar-toggle-floating{top:50%;left:calc(var(--sidebar-active-width) - 12px);border:1px solid color-mix(in srgb, var(--border-color) 78%, transparent);background:var(--bg-primary);width:24px;height:52px;color:color-mix(in srgb, var(--text-secondary) 88%, transparent);cursor:pointer;pointer-events:auto;border-radius:14px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .15s,left .3s;display:inline-flex;position:fixed;transform:translateY(-50%);box-shadow:4px 0 14px #0000002e,inset 0 1px #ffffff08}.main-header .sidebar-toggle-floating svg{width:14px;height:14px}.main-header .sidebar-toggle-floating:hover{background:color-mix(in srgb, var(--bg-primary) 90%, var(--text-primary) 10%);border-color:color-mix(in srgb, var(--border-hover) 86%, transparent);color:var(--text-primary);transform:translateY(-50%)translate(2px)}.main-header .sidebar-toggle-floating:active{transform:translateY(-50%)translate(0)}.main-header .sidebar-toggle-floating:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-color) 24%, transparent), 4px 0 14px #0000002e;outline:none}.main-header .mobile-sidebar-actions,.main-header .header-actions{top:var(--shell-gutter);border:1px solid color-mix(in srgb, var(--border-color) 68%, transparent);background:color-mix(in srgb, var(--bg-primary) 68%, transparent);color:var(--text-secondary);--glass-blur:16px;-webkit-backdrop-filter:var(--glass-backdrop-filter);pointer-events:auto;border-radius:16px;align-items:center;gap:4px;padding:6px;display:inline-flex;position:absolute;box-shadow:0 18px 44px #0000002b,inset 0 1px #ffffff0a}.main-header .mobile-sidebar-actions{left:var(--shell-gutter);display:none}.main-header .header-actions{right:var(--shell-gutter)}.main-header .mobile-sidebar-actions .btn,.main-header .header-actions .btn{width:var(--floating-control-size);height:var(--floating-control-size);min-width:var(--floating-control-size);color:var(--text-secondary);background:0 0;border-color:#0000;border-radius:11px;padding:0}.main-header .mobile-sidebar-actions .btn>span,.main-header .header-actions .btn>span{justify-content:center;align-items:center;line-height:0;display:inline-flex}.main-header .mobile-sidebar-actions .btn:hover,.main-header .header-actions .btn:hover{background:color-mix(in srgb, var(--text-primary) 8%, transparent);color:var(--text-primary);border-color:#0000}.main-header .mobile-sidebar-actions .btn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-color) 26%, transparent);outline:none}.main-header .header-actions .btn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-color) 26%, transparent);outline:none}.main-header .mobile-menu-btn{flex-shrink:0;display:none}.main-header .language-menu,.main-header .theme-menu{align-items:center;display:inline-flex;position:relative}.main-header .language-menu-popover,.main-header .theme-menu-popover{z-index:1002;border:1px solid color-mix(in srgb, var(--border-color) 74%, transparent);background:color-mix(in srgb, var(--bg-primary) 88%, transparent);--glass-blur:16px;-webkit-backdrop-filter:var(--glass-backdrop-filter);position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 20px 48px #00000038}.main-header .language-menu-popover{flex-direction:column;gap:2px;min-width:164px;padding:4px;display:flex}.main-header .language-menu-option{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.main-header .language-menu-option:hover{background:color-mix(in srgb, var(--text-primary) 8%, transparent)}.main-header .language-menu-option:focus-visible{background:color-mix(in srgb, var(--text-primary) 8%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-color) 22%, transparent);outline:none}.main-header .language-menu-option.active{color:var(--primary-color);font-weight:600}.main-header .language-menu-check{font-size:13px;line-height:1}.main-header .theme-menu-popover{gap:4px;width:max-content;max-width:calc(100vw - 16px);padding:8px 8px 4px;display:flex}.main-header .theme-card{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px 6px 4px;transition:border-color .15s,background-color .15s;display:flex}.main-header .theme-card:hover{background:color-mix(in srgb, var(--text-primary) 8%, transparent)}.main-header .theme-card:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-color) 22%, transparent);outline:none}.main-header .theme-card.active{border-color:var(--primary-color)}.main-header .theme-card-preview{border-radius:4px;flex-direction:column;width:72px;height:52px;display:flex;overflow:hidden}.main-header .theme-card-header{flex-shrink:0;height:10px}.main-header .theme-card-body{flex:1;min-height:0;display:flex}.main-header .theme-card-sidebar{flex-shrink:0;width:16px}.main-header .theme-card-content{flex-direction:column;flex:1;justify-content:center;gap:4px;padding:5px 8px;display:flex}.main-header .theme-card-line{border-radius:1px;height:3px}.main-header .theme-card-line.short{width:60%}.main-header .theme-card-label{color:var(--text-primary);white-space:nowrap;font-size:11px;font-weight:500}.main-header svg{display:block}.main-body{flex:1;gap:0;height:100vh;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}@supports (height:100dvh){.main-body{height:100dvh}}.sidebar-backdrop{opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);background:#08080857;border:0;margin:0;padding:0;transition:opacity .15s;display:none}.sidebar{z-index:999;width:var(--sidebar-panel-width);background:var(--bg-primary);border:0;border-right:1px solid color-mix(in srgb, var(--border-color) 78%, transparent);height:100vh;box-shadow:none;scrollbar-width:none;border-radius:0;flex-direction:column;flex-shrink:0;gap:8px;padding:14px 10px;transition:width .3s,transform .3s,padding .3s;display:flex;position:relative;overflow-y:auto}@supports (height:100dvh){.sidebar{height:100dvh}}.sidebar::-webkit-scrollbar{display:none}.sidebar.collapsed{width:var(--sidebar-collapsed-width);padding:14px 8px}.sidebar.collapsed .sidebar-header{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar.collapsed .nav-item{justify-content:center;padding:10px;position:relative}.sidebar.collapsed .nav-badge{min-width:15px;height:15px;color:var(--bg-primary);background:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary);border-radius:9999px;margin-left:0;padding:0 4px;font-size:9px;position:absolute;top:1px;right:1px}.sidebar.collapsed .nav-group-label{display:none}.sidebar.collapsed .nav-group-divider{display:block}.sidebar.collapsed .nav-drawer-caret{display:none}.sidebar.collapsed .nav-sub-list{border-left:0;margin-left:0;padding-left:0}.sidebar .sidebar-header{border-bottom:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);flex-shrink:0;align-items:center;gap:8px;min-height:36px;margin-bottom:2px;padding:2px 2px 10px;display:flex}.sidebar .sidebar-brand{min-width:0;color:var(--text-primary);flex:1;align-items:center;gap:10px;padding:0 6px;display:flex}.sidebar .sidebar-brand-logo{object-fit:contain;width:30px;height:30px;box-shadow:none;border-radius:7px;flex-shrink:0}.sidebar .sidebar-brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.sidebar .sidebar-brand-title{min-width:0;color:var(--text-primary);letter-spacing:0;white-space:nowrap;font-size:15px;font-weight:800;overflow:hidden}.sidebar .sidebar-brand-subtitle{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10.5px;font-weight:500;overflow:hidden}.sidebar .nav-section{flex-direction:column;flex:1;gap:10px;display:flex}.sidebar .nav-group{flex-direction:column;gap:4px;display:flex}.sidebar .nav-group-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--text-primary) 42%, transparent);-webkit-user-select:none;user-select:none;padding:0 10px 2px;font-size:10px;font-weight:700}.sidebar .nav-group-divider{background:color-mix(in srgb, var(--border-color) 70%, transparent);width:24px;height:1px;margin:4px auto;display:none}.sidebar .nav-drawer{flex-direction:column;gap:4px;display:flex}.sidebar .nav-drawer-toggle{width:100%;font:inherit;text-align:left;background:0 0}.sidebar .nav-drawer-caret{color:color-mix(in srgb, var(--text-primary) 46%, transparent);margin-left:auto;line-height:0;transition:transform .15s}.sidebar .nav-drawer-toggle.open .nav-drawer-caret{transform:rotate(180deg)}.sidebar .nav-sub-list{border-left:1px solid color-mix(in srgb, var(--border-color) 72%, transparent);flex-direction:column;gap:2px;margin-left:18px;padding-left:10px;display:flex}.sidebar .nav-item{color:var(--text-primary);cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s;display:flex}.sidebar .nav-item .nav-icon{width:18px;height:18px;color:color-mix(in srgb, var(--text-primary) 58%, transparent);flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.sidebar .nav-item .nav-icon svg{width:16px;height:16px;display:block}.sidebar .nav-item .nav-icon img{object-fit:cover;border-radius:4px;width:16px;height:16px;display:block}.sidebar .nav-item .nav-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.sidebar .nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar .nav-item .nav-badge{background:color-mix(in srgb, var(--text-primary) 9%, transparent);min-width:18px;height:18px;color:var(--text-primary);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.sidebar .nav-item .nav-badge-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar .nav-item:hover{background:color-mix(in srgb, var(--text-primary) 7%, transparent);border-color:color-mix(in srgb, var(--border-color) 58%, transparent);transform:translate(1px)}.sidebar .nav-item:hover .nav-icon{color:color-mix(in srgb, var(--text-primary) 82%, transparent)}.sidebar .nav-item.active{background:color-mix(in srgb, var(--text-primary) 10%, transparent);color:var(--text-primary);border-color:color-mix(in srgb, var(--border-hover) 70%, transparent);box-shadow:inset 0 1px #ffffff0a}.sidebar .nav-item.active .nav-icon{color:var(--primary-active)}.sidebar .nav-item.nav-sub-item{border-radius:8px;min-height:30px;padding:5px 10px;font-size:12.5px;font-weight:600}.sidebar .nav-item.nav-sub-item .nav-icon{width:16px;height:16px}.sidebar .nav-item .nav-sub-dot{opacity:.62;background:currentColor;border-radius:9999px;width:6px;height:6px}.nav-tooltip{left:calc(var(--sidebar-collapsed-width) + 12px);z-index:1002;box-sizing:border-box;width:max-content;max-width:min(320px, 100vw - var(--sidebar-collapsed-width) - 24px);color:#f6f4f1;pointer-events:none;max-height:calc(100vh - 16px);animation:nav-tooltip-in .15s ease ease-out;background:#24211c;border-radius:10px;flex-direction:column;gap:3px;padding:9px 12px;display:flex;position:fixed;overflow:hidden;transform:translateY(-50%);box-shadow:0 14px 36px #00000052}.nav-tooltip .nav-tooltip-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:650;overflow:hidden}.nav-tooltip .nav-tooltip-meta{overflow-wrap:anywhere;color:#f6f4f199;white-space:normal;max-width:100%;font-size:11.5px}@keyframes nav-tooltip-in{0%{opacity:0;transform:translateY(-50%)translate(-4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.content{scrollbar-gutter:stable;flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:auto}@supports (height:100dvh){.content{height:100dvh}}.content.content-logs{overflow:hidden}.content.content-plugin-resource{scrollbar-gutter:auto;overflow:hidden}.main-content{flex-direction:column;flex:1 0 auto;gap:24px;min-height:100%;padding:70px clamp(20px,3vw,48px) 40px;display:flex;overflow-x:hidden}.main-content.main-content-logs{flex:auto;min-height:0;overflow:hidden}.main-content.main-content-plugin-resource{background:#fff;flex:auto;gap:0;min-height:0;padding:0;overflow:hidden}.main-content.main-content-plugin-resource .page-transition,.main-content.main-content-plugin-resource .page-transition__layer{background:#fff;gap:0;height:100%}@media (max-width:768px){:root{--header-height:74px;--shell-gutter:12px;--sidebar-panel-width:min(280px, calc(100vw - 24px));--floating-control-size:36px}.top-gradient-blur{height:114px}.nav-tooltip,.main-header .sidebar-toggle-floating{display:none}.main-header .header-actions{top:var(--shell-gutter);right:var(--shell-gutter);max-width:calc(100vw - var(--shell-gutter) - var(--shell-gutter) - var(--floating-control-size) - 14px);border-radius:14px;gap:2px;padding:5px}.main-header .mobile-sidebar-actions{top:var(--shell-gutter);left:var(--shell-gutter);border-radius:14px;gap:2px;padding:5px;display:inline-flex}.main-header .mobile-menu-btn{display:inline-flex}.main-header .language-menu-popover{left:0;right:auto}.main-header .theme-menu-popover{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;width:min(188px,100vw - 16px);display:grid;left:auto;right:0;transform:none}.main-header .theme-card{width:100%;min-width:0}.main-header .theme-card-label{white-space:normal;text-align:center;line-height:1.2}.main-body{height:auto;min-height:100vh;padding:0;overflow:visible}@supports (min-height:100dvh){.main-body{min-height:100dvh}}.sidebar-backdrop{z-index:999;background:#08080875;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.sidebar{z-index:1000;width:var(--sidebar-panel-width);background:var(--bg-primary);border:0;border-right:1px solid color-mix(in srgb, var(--border-color) 78%, transparent);height:auto;box-shadow:none;border-radius:0;position:fixed;top:0;bottom:0;left:0;transform:translate(calc(-100% - 24px))}.sidebar.open{transform:translate(0)}.sidebar.collapsed{width:var(--sidebar-panel-width);padding:14px 10px}.sidebar.collapsed .sidebar-brand,.sidebar.collapsed .nav-item{justify-content:flex-start}.sidebar.collapsed .nav-badge{min-width:18px;height:18px;color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 9%, transparent);box-shadow:none;margin-left:auto;padding:0 5px;font-size:10.5px;position:static}.content{height:auto;min-height:100vh;overflow:visible auto}.content.content-logs{height:auto;overflow:visible auto}.content.content-plugin-resource{height:100vh;min-height:100vh;overflow:hidden}@supports (height:100dvh){.content.content-plugin-resource{height:100dvh;min-height:100dvh}}.main-content{padding:calc(var(--header-height) + 16px) 16px 24px}.main-content.main-content-plugin-resource{min-height:0;padding:0;overflow:hidden}.main-content.main-content-logs{flex:none;min-height:auto;overflow:visible}}body{background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s,color .3s}html.modal-open,body.modal-open,body.modal-open .content{overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.Select-module__wrap___8GKsa{align-items:center;display:inline-flex;position:relative}.Select-module__wrapFullWidth___uQ1gt{width:100%}.Select-module__trigger___nKY0l{border:1px solid var(--border-color);background-color:var(--bg-primary);width:100%;height:40px;box-shadow:var(--shadow);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;appearance:none;text-align:left;box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.Select-module__trigger___nKY0l:hover{border-color:var(--border-hover)}.Select-module__trigger___nKY0l:focus{box-shadow:var(--shadow), 0 0 0 3px #8b86802e;outline:none}.Select-module__trigger___nKY0l[aria-expanded=true]{border-color:var(--primary-color);box-shadow:var(--shadow), 0 0 0 3px #8b86802e}.Select-module__triggerSm___0Ozlc{height:28px;box-shadow:none;padding:0 10px;font-size:12px}.Select-module__triggerText___zQEIp{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Select-module__placeholder___N04iW{color:var(--text-tertiary)}.Select-module__triggerIcon___ipYKn{color:var(--text-secondary);flex-shrink:0;transition:transform .2s;display:inline-flex}[aria-expanded=true]>.Select-module__triggerIcon___ipYKn{transform:rotate(180deg)}.Select-module__dropdown___6YdcD{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:12px;flex-direction:column;gap:4px;max-height:240px;padding:6px;display:flex;position:fixed;overflow-y:auto}.Select-module__option___EKsSG{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s}.Select-module__option___EKsSG:hover{background:var(--bg-secondary)}.Select-module__optionActive___y280o{background:#8b86801a;border-color:#8b868080;font-weight:600}.Select-module__optionHighlighted___CPa3K{background:var(--bg-secondary)}.SelectionCheckbox-module__root___LiMQt{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex;position:relative}.SelectionCheckbox-module__disabled___-T-uP{cursor:not-allowed;opacity:.6}.SelectionCheckbox-module__input___b-Hpm{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.SelectionCheckbox-module__box___FRD4m{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 92%, transparent);width:22px;height:22px;color:var(--primary-contrast,#fff);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.SelectionCheckbox-module__root___LiMQt:hover .SelectionCheckbox-module__box___FRD4m{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 16%, transparent)}.SelectionCheckbox-module__root___LiMQt:active .SelectionCheckbox-module__box___FRD4m{transform:scale(.95)}.SelectionCheckbox-module__disabled___-T-uP:hover .SelectionCheckbox-module__box___FRD4m{border-color:var(--border-color);box-shadow:none}.SelectionCheckbox-module__disabled___-T-uP:active .SelectionCheckbox-module__box___FRD4m{transform:none}.SelectionCheckbox-module__input___b-Hpm:focus-visible+.SelectionCheckbox-module__box___FRD4m{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 16%, transparent), 0 0 0 1px color-mix(in srgb, var(--primary-color) 50%, transparent)}.SelectionCheckbox-module__boxChecked___4lydu{border-color:var(--primary-color);background:var(--primary-color)}.SelectionCheckbox-module__boxChecked___4lydu svg{stroke-width:2.4px;display:block}.SelectionCheckbox-module__label___twhQj{color:var(--text-primary);font-size:14px;font-weight:500}.LoginPage-module__container___bHtIX{background:var(--bg-secondary);min-height:100vh;display:flex}.LoginPage-module__brandPanel___kKUR5{background:#000;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px;display:flex;position:relative;overflow:hidden}@media (max-width:768px){.LoginPage-module__brandPanel___kKUR5{display:none}}.LoginPage-module__brandContent___ZEhbk{z-index:1;flex-direction:column;align-items:flex-end;gap:0;width:100%;padding:0;display:flex;position:relative}@keyframes LoginPage-module__brandFadeIn___tpmGl{0%{opacity:0;transform:translateY(-10px)}to{opacity:var(--target-opacity,.9);transform:translateY(0)}}.LoginPage-module__brandWord___3DkwD{color:#ffffffe6;letter-spacing:-.02em;text-transform:uppercase;text-align:right;opacity:0;padding-right:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14vw;font-weight:900;line-height:.85;animation:.8s ease-out forwards LoginPage-module__brandFadeIn___tpmGl}.LoginPage-module__brandWord___3DkwD:first-child{--target-opacity:.95;animation-delay:.1s}.LoginPage-module__brandWord___3DkwD:nth-child(2){--target-opacity:.7;animation-delay:.35s}.LoginPage-module__brandWord___3DkwD:nth-child(3){--target-opacity:.45;animation-delay:.6s}.LoginPage-module__formPanel___Nrtrt{background:var(--bg-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px;display:flex;position:relative}@media (max-width:768px){.LoginPage-module__formPanel___Nrtrt{min-height:100vh;padding:24px}}.LoginPage-module__formContent___H8fD-{flex-direction:column;align-items:center;gap:32px;width:100%;max-width:420px;display:flex}.LoginPage-module__logo___ASmao{object-fit:cover;width:80px;height:80px;box-shadow:var(--shadow-lg);border:3px solid var(--border-color);border-radius:12px}.LoginPage-module__loginCard___OgP-R{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:24px;padding:32px;display:flex}@media (max-width:768px){.LoginPage-module__loginCard___OgP-R{box-shadow:none;background:0 0;border:none;padding:24px}}.LoginPage-module__loginHeader___3kAvs{text-align:center;flex-direction:column;gap:8px;display:flex}.LoginPage-module__titleRow___9h914{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.LoginPage-module__title___I-LuY{color:var(--text-primary);font-size:22px;font-weight:800}.LoginPage-module__subtitle___Q41SH{color:var(--text-secondary);font-size:14px}.LoginPage-module__languageSelect___KUNwV{flex:none;min-width:108px}.LoginPage-module__connectionBox___B5--X{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;flex-direction:column;gap:4px;padding:16px;display:flex}.LoginPage-module__connectionBox___B5--X .LoginPage-module__label___2fkY-{color:var(--text-secondary);font-size:14px}.LoginPage-module__connectionBox___B5--X .LoginPage-module__value___JFrYC{color:var(--text-primary);word-break:break-all;font-weight:700}.LoginPage-module__connectionBox___B5--X .LoginPage-module__hint___bcz4d{color:var(--text-secondary);font-size:12px}.LoginPage-module__toggleAdvanced___4aKnv{justify-content:flex-start;width:100%;display:flex}.LoginPage-module__toggleLabel___C3t9M{color:var(--text-secondary);font-size:14px;font-weight:500}.LoginPage-module__errorBox___wX1tT{color:#c65746;background:#c657461a;border:1px solid #c6574666;border-radius:8px;padding:8px 16px;font-size:14px}@keyframes LoginPage-module__splashEnter___K-Jk9{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes LoginPage-module__splashLogoPulse___DIteW{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes LoginPage-module__splashLoading___jAaFC{0%{transform-origin:0;transform:scaleX(0)}50%{transform-origin:0;transform:scaleX(1)}50.01%{transform-origin:100%}to{transform-origin:100%;transform:scaleX(0)}}.LoginPage-module__splashContent___Cc3DZ{flex-direction:column;align-items:center;gap:16px;animation:.6s ease-out LoginPage-module__splashEnter___K-Jk9;display:flex}.LoginPage-module__splashLogo___yzbbw{border-radius:12px;width:auto;height:80px;animation:1.5s ease-in-out infinite LoginPage-module__splashLogoPulse___DIteW;box-shadow:0 10px 15px -3px #0000001a}.LoginPage-module__splashTitle___G-HEP{color:var(--text-primary);letter-spacing:-.5px;margin:0;font-size:28px;font-weight:800}.LoginPage-module__splashSubtitle___BYSQi{color:var(--text-secondary);margin:-8px 0 0;font-size:16px;font-weight:500}.LoginPage-module__splashLoader___SdvUl{background:var(--border-color);border-radius:9999px;width:120px;height:3px;margin-top:16px;overflow:hidden}.LoginPage-module__splashLoaderBar___lyVXw{background:var(--primary-color);border-radius:9999px;width:100%;height:100%;animation:1.2s ease-in-out infinite LoginPage-module__splashLoading___jAaFC}.page-transition{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.page-transition__layer{background:var(--bg-secondary);-webkit-backface-visibility:hidden;backface-visibility:hidden;flex-direction:column;flex:1;gap:24px;min-height:0;display:flex;transform:translateZ(0)}.page-transition__layer--exit{pointer-events:none;will-change:transform, opacity;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.page-transition__layer--stacked{display:none}.page-transition__layer--stacked.page-transition__layer--stacked-keep{pointer-events:none;opacity:0;will-change:transform, opacity;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.page-transition--animating .page-transition__layer{will-change:transform, opacity}.page-transition--animating .page-transition__layer:not(.page-transition__layer--exit):not(.page-transition__layer--stacked){position:relative}.LiveWire-module__wire___VqROJ{--wire-color:var(--viz-success,#10b981);--wire-stroke:color-mix(in srgb, var(--wire-color) 88%, var(--text-primary));width:100%;height:100%;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.LiveWire-module__canvas___J0D-f{width:100%;height:100%;display:block;overflow:visible}.LiveWire-module__line___d269h{stroke:var(--wire-stroke);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:1.3s cubic-bezier(.25,.6,.35,1) .55s backwards LiveWire-module__wireDraw___iIgfV}.LiveWire-module__area___5UlLy{animation:.9s ease-out 1.25s backwards LiveWire-module__wireFade___vggde}.LiveWire-module__idleLine___nQIzF{stroke:var(--text-quaternary);stroke-width:1.5px;stroke-dasharray:4 6;fill:none}.LiveWire-module__pulse___eS-2V{background:var(--wire-stroke);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--wire-color) 45%, transparent);transition:top .4s var(--ease-out-strong,ease-out);border-radius:50%;animation:2.4s ease-out 1.9s infinite LiveWire-module__wirePulse___Sazgz;position:absolute;right:5%;transform:translate(50%,-50%)}@keyframes LiveWire-module__wireDraw___iIgfV{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes LiveWire-module__wireFade___vggde{0%{opacity:0}to{opacity:1}}@keyframes LiveWire-module__wirePulse___Sazgz{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--wire-color) 45%, transparent)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.LiveWire-module__line___d269h,.LiveWire-module__area___5UlLy,.LiveWire-module__pulse___eS-2V{animation:none}.LiveWire-module__pulse___eS-2V{transition:none}}.Meter-module__track___TZ2y-{background:color-mix(in srgb, var(--meter-fill) 16%, transparent);border-radius:9999px;width:100%;height:6px;position:relative;overflow:hidden}.Meter-module__fill___agcj5{background:var(--meter-fill);height:100%;transition:width .36s var(--ease-out-strong,ease);border-radius:9999px}@media (prefers-reduced-motion:reduce){.Meter-module__fill___agcj5{transition:none}}.Sparkline-module__sparkline___74Npe{width:100%;height:32px;display:block;overflow:visible}.Sparkline-module__empty___-fTgh{border-bottom:1px solid var(--border-color);width:100%;height:32px}.Collapsible-module__root___pblku{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);overflow:hidden}.Collapsible-module__summary___9zX-c{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:500;list-style:none;display:flex}.Collapsible-module__summary___9zX-c::-webkit-details-marker{display:none}.Collapsible-module__summary___9zX-c:hover{background:color-mix(in srgb, var(--accent-bg) 35%, transparent)}.Collapsible-module__summary___9zX-c:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.Collapsible-module__summaryLabel___G6Rv3{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.Collapsible-module__summaryHint___zzQq-{color:var(--muted-foreground);font-size:12px;font-weight:400}.Collapsible-module__chevron___L6d3B{width:16px;height:16px;color:var(--muted-foreground);flex-shrink:0;transition:transform .2s}.Collapsible-module__root___pblku[open] .Collapsible-module__chevron___L6d3B{transform:rotate(180deg)}.Collapsible-module__content___rwqsf{border-top:1px solid var(--border-color);padding:14px}.Collapsible-module__contentFlush___WXXdd{border-top:1px solid var(--border-color);padding:0}.ThroughputChart-module__chart___-FaCM{--chart-height:208px;--bar-max-width:24px;flex-direction:column;gap:16px;margin:0;display:flex}.ThroughputChart-module__legend___5JQlE{color:var(--text-secondary);flex-wrap:wrap;gap:24px;font-size:13px;display:flex}.ThroughputChart-module__legendItem___QsoEr{align-items:center;gap:4px;display:inline-flex}.ThroughputChart-module__legendValue___E-KrF{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:650}.ThroughputChart-module__legendSwatch___vKp8w{border-radius:3px;flex:none;width:10px;height:10px}.ThroughputChart-module__swatchSuccess___71fp7{background:var(--viz-success)}.ThroughputChart-module__swatchFailure___4NtxJ{background:var(--viz-failure)}.ThroughputChart-module__plot___vHBTu{gap:8px;padding-top:22px;display:flex}.ThroughputChart-module__yAxis___95MPg{width:40px;height:var(--chart-height);flex:none;position:relative}@media (max-width:768px){.ThroughputChart-module__yAxis___95MPg{width:30px}}.ThroughputChart-module__yTick___-qXXk{color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;position:absolute;right:0;transform:translateY(-50%)}.ThroughputChart-module__canvas___0f37X{min-width:0;height:var(--chart-height);flex:1;position:relative}.ThroughputChart-module__gridlines___wwLsr{position:absolute;top:0;bottom:0;left:0;right:0}.ThroughputChart-module__gridline___qENb3{background:var(--border-color);height:1px;position:absolute;left:0;right:0}.ThroughputChart-module__gridline___qENb3:last-child{background:var(--border-primary)}.ThroughputChart-module__columns___fD5i7{align-items:flex-end;gap:2px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.ThroughputChart-module__column___RaitD{cursor:default;flex:1 1 0;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative}.ThroughputChart-module__stack___-YquN{width:100%;max-width:var(--bar-max-width);height:100%;animation:.42s cubic-bezier(.4,0,.2,1) both ThroughputChart-module__barGrow___65yaS;animation-delay:var(--bar-delay,0s);transform-origin:bottom;flex-direction:column;justify-content:flex-end;margin:0 auto;transition:filter .12s ease-out;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.ThroughputChart-module__stack___-YquN{transition:none;animation:none}}.ThroughputChart-module__columnActive___cFDyr .ThroughputChart-module__stack___-YquN{filter:brightness(1.06)}.ThroughputChart-module__segment___ijOMN{border-radius:4px 4px 0 0;width:100%;display:block}.ThroughputChart-module__segmentSuccess___OqHlT{background:var(--viz-success)}.ThroughputChart-module__segmentFailure___2ajQl{background:var(--viz-failure)}.ThroughputChart-module__segmentGap___kXfwL{margin-bottom:2px}.ThroughputChart-module__segmentSquareTop___L2fgA{border-radius:0}.ThroughputChart-module__idleTick___kZ-JF{background:var(--border-primary);border-radius:9999px;width:100%;height:2px;display:block}.ThroughputChart-module__peakLabel___J0i8w{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;margin-bottom:6px;font-size:11px;font-weight:650;animation:.24s ease-out .62s backwards ThroughputChart-module__peakFade___9U9Rk;position:absolute;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.ThroughputChart-module__peakLabel___J0i8w{animation:none}}.ThroughputChart-module__noRequests___BJa6D{color:var(--text-tertiary);pointer-events:none;place-items:center;margin:0;font-size:13px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.ThroughputChart-module__tooltip___S9UYJ{--glass-blur:10px;z-index:2;border:1px solid var(--glass-border);background:var(--glass-bg);min-width:132px;-webkit-backdrop-filter:var(--glass-backdrop-filter);box-shadow:var(--shadow-lg);color:var(--text-secondary);pointer-events:none;transition:left .2s var(--ease-out-strong,ease-out), transform .2s var(--ease-out-strong,ease-out), opacity .15s ease-out;border-radius:8px;flex-direction:column;gap:3px;padding:8px 16px;font-size:12px;display:flex;position:absolute;top:4px}@starting-style{.ThroughputChart-module__tooltip___S9UYJ{opacity:0}}@media (prefers-reduced-motion:reduce){.ThroughputChart-module__tooltip___S9UYJ{transition:opacity .15s ease-out}}.ThroughputChart-module__tooltipTime___GZtRW{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:650}.ThroughputChart-module__tooltipRow___aF9iN{align-items:center;gap:4px;display:flex}.ThroughputChart-module__tooltipRow___aF9iN b{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-left:auto}.ThroughputChart-module__tooltipRate___fpdoz{border-top:1px solid var(--border-color);color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-top:2px;padding-top:4px}.ThroughputChart-module__xAxis___etggi{height:16px;margin-left:48px;position:relative}@media (max-width:768px){.ThroughputChart-module__xAxis___etggi{margin-left:38px}}.ThroughputChart-module__xTick___IRup4{color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;position:absolute;transform:translate(-50%)}.ThroughputChart-module__tableToggle___xSkCt{font-size:13px}.ThroughputChart-module__table___qvr48{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.ThroughputChart-module__table___qvr48 th,.ThroughputChart-module__table___qvr48 td{text-align:right;border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:5px 8px}.ThroughputChart-module__table___qvr48 thead th{color:var(--text-tertiary);white-space:nowrap;font-weight:600}.ThroughputChart-module__table___qvr48 tbody th[scope=row]{text-align:left;color:var(--text-primary);font-weight:500}.ThroughputChart-module__placeholder___CdaMa{border:1px dashed var(--border-primary);background:color-mix(in srgb, var(--bg-secondary) 60%, transparent);text-align:center;border-radius:12px;flex-direction:column;gap:4px;padding:32px;display:flex}.ThroughputChart-module__placeholderTitle___--Mu2{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.ThroughputChart-module__placeholderHint___NIiCf{color:var(--text-secondary);margin:0;font-size:13px}@keyframes ThroughputChart-module__barGrow___65yaS{0%{opacity:0;transform:scaleY(.02)}to{opacity:1;transform:scaleY(1)}}@keyframes ThroughputChart-module__peakFade___9U9Rk{0%{opacity:0}to{opacity:1}}.dashboard-module__page___UF6ee{flex-direction:column;gap:clamp(44px,6.5vh,76px);width:100%;max-width:1120px;margin:0 auto;display:flex;position:relative}.dashboard-module__ambient___25f--{z-index:0;pointer-events:none;height:560px;position:absolute;top:0;bottom:auto;left:-40px;right:-40px;overflow:hidden}.dashboard-module__washTop___2D-R1{background:radial-gradient(ellipse 75% 70% at 50% 18%, color-mix(in srgb, var(--viz-success) 10%, transparent), transparent 70%);width:min(960px,96vw);height:480px;position:absolute;top:0;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#0000,#000 26% 62%,#0000);mask-image:linear-gradient(#0000,#000 26% 62%,#0000)}.dashboard-module__gridWash___IJsAj{background-image:linear-gradient(to right, var(--border-color) 1px, transparent 1px), linear-gradient(to bottom, var(--border-color) 1px, transparent 1px);opacity:.24;-webkit-mask-composite:source-in;background-size:72px 72px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 48px),radial-gradient(70% 60% at 50% 0,#000 0%,#0000 78%);mask-image:linear-gradient(#0000,#000 48px),radial-gradient(70% 60% at 50% 0,#000 0%,#0000 78%);-webkit-mask-composite:source-in;mask-composite:intersect}.dashboard-module__hero___MkU3k{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(24px,4vw,56px);padding-top:clamp(16px,3vh,40px);padding-bottom:clamp(64px,11vh,120px);display:grid;position:relative}@media (max-width:900px){.dashboard-module__hero___MkU3k{grid-template-columns:minmax(0,1fr);padding-bottom:clamp(48px,8vh,72px)}}.dashboard-module__heroWire___CyDZk{z-index:0;pointer-events:none;height:clamp(88px,15vh,160px);position:absolute;bottom:-10px;left:0;right:0}.dashboard-module__heroCopy___7eu3Y{z-index:1;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;display:flex;position:relative}.dashboard-module__heroTitle___bjdUU{letter-spacing:-.035em;color:var(--text-primary);text-wrap:balance;margin:0;font-size:clamp(44px,6.2vw,80px);font-weight:700;line-height:1.05}.dashboard-module__heroPeriod___pihps{letter-spacing:0;margin-inline-start:clamp(4px,.08em,7px);display:inline}.dashboard-module__heroPeriodLive___rE5lR{animation:3.2s ease-in-out 1.8s infinite dashboard-module__periodBreath___NC0oZ}@media (prefers-reduced-motion:reduce){.dashboard-module__heroPeriodLive___rE5lR{animation:none}}.dashboard-module__heroMeta___SsmPi{letter-spacing:.02em;color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:13px}.dashboard-module__heroActions___nMO4M{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.dashboard-module__primaryAction___9gfgH,.dashboard-module__ghostAction___N9jjF{transition:transform var(--dur-press) var(--ease-out-strong), background-color .15s ease, border-color .15s ease, box-shadow var(--dur-hover) var(--ease-out-strong), color .15s ease;border-radius:9999px;align-items:center;gap:6px;padding:11px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.dashboard-module__primaryAction___9gfgH:active,.dashboard-module__ghostAction___N9jjF:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.dashboard-module__primaryAction___9gfgH,.dashboard-module__ghostAction___N9jjF{transition:none}.dashboard-module__primaryAction___9gfgH:active,.dashboard-module__ghostAction___N9jjF:active{transform:none}}.dashboard-module__primaryAction___9gfgH{background:var(--text-primary);color:var(--bg-secondary);border:1px solid #0000}@media (hover:hover) and (pointer:fine){.dashboard-module__primaryAction___9gfgH:hover{background:color-mix(in srgb, var(--text-primary) 86%, var(--bg-secondary));box-shadow:0 12px 26px color-mix(in srgb, var(--text-primary) 22%, transparent);transform:translateY(-1px)}}.dashboard-module__primaryAction___9gfgH:active{transform:translateY(0)scale(.97)}@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){.dashboard-module__primaryAction___9gfgH:hover{transform:none}}.dashboard-module__ghostAction___N9jjF{color:var(--text-secondary);background:0 0;border:none;padding-left:4px;padding-right:4px}@media (hover:hover) and (pointer:fine){.dashboard-module__ghostAction___N9jjF:hover{color:var(--text-primary);background:0 0}.dashboard-module__ghostAction___N9jjF:hover .dashboard-module__linkArrow___vWko7{transform:translate(3px)}}.dashboard-module__linkArrow___vWko7{transition:transform var(--dur-hover,.2s) var(--ease-out-strong,ease-out);display:inline-block}@media (prefers-reduced-motion:reduce){.dashboard-module__linkArrow___vWko7{transition:none;transform:none!important}}.dashboard-module__heroPanel___sFbi-{--glass-blur:14px;z-index:1;border:1px solid var(--glass-border);background:linear-gradient(145deg, color-mix(in srgb, var(--bg-primary) 90%, transparent), color-mix(in srgb, var(--bg-secondary) 74%, transparent));-webkit-backdrop-filter:var(--glass-backdrop-filter);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;gap:4px;padding:clamp(24px,2.5vw,28px);display:flex;position:relative}.dashboard-module__heroPanelTop___sNg4k{justify-content:space-between;align-items:center;gap:8px;display:flex}.dashboard-module__heroPanelLabel___jUpVi{letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:700}.dashboard-module__liveBadge___9fdYq{border:1px solid color-mix(in srgb, var(--viz-success) 35%, transparent);background:color-mix(in srgb, var(--viz-success) 8%, transparent);letter-spacing:.14em;text-transform:uppercase;color:var(--success-badge-text);border-radius:9999px;align-items:center;gap:6px;padding:3px 9px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.dashboard-module__liveDot___VGdIG{background:var(--viz-success);border-radius:50%;width:6px;height:6px;animation:2s ease-out infinite dashboard-module__livePing___3wKU9}@media (prefers-reduced-motion:reduce){.dashboard-module__liveDot___VGdIG{animation:none}}.dashboard-module__heroFigure___wRcDD{letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:clamp(42px,5.6vw,62px);font-weight:600;line-height:1.05}.dashboard-module__heroPanelMeta___LTO6H{color:var(--text-secondary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.dashboard-module__ratioBar___QbYaG{gap:2px;height:6px;margin-top:8px;display:flex}.dashboard-module__ratioSegment___QPj4X{border-radius:3px;min-width:4px;display:block}.dashboard-module__heroSplit___iBb4m{border-top:1px solid var(--border-color);color:var(--text-secondary);flex-wrap:wrap;gap:16px;padding-top:8px;font-size:12px;display:flex}.dashboard-module__heroSplitItem___9Xb7t{align-items:center;gap:6px;display:inline-flex}.dashboard-module__heroSplitItem___9Xb7t b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.dashboard-module__splitSwatch___T1BAm{border-radius:2px;flex:none;width:8px;height:8px}.dashboard-module__splitSuccess___YzZ3r{background:var(--viz-success)}.dashboard-module__splitFailure___uod1c{background:var(--viz-failure)}.dashboard-module__statsRow___N02MY{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid;position:relative}@media (max-width:900px){.dashboard-module__statsRow___N02MY{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:460px){.dashboard-module__statsRow___N02MY{grid-template-columns:minmax(0,1fr)}}.dashboard-module__statTile___pRszo{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 82%, transparent);border-radius:14px;flex-direction:column;gap:6px;padding:24px;transition:border-color .15s;display:flex}.dashboard-module__statTile___pRszo:before{content:"";background:var(--tile-accent,var(--border-hover));border-radius:9999px;width:28px;height:3px;margin-bottom:2px}@media (hover:hover) and (pointer:fine){.dashboard-module__statTile___pRszo:hover{border-color:var(--border-hover)}}@media (prefers-reduced-motion:reduce){.dashboard-module__statTile___pRszo{transition:none}}.dashboard-module__statLabel___vBc52{color:var(--text-secondary);font-size:12px;font-weight:600}.dashboard-module__statValue___HlP6a{letter-spacing:-.01em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:28px;font-weight:600;line-height:1.1}.dashboard-module__statMeter___iqQ0d{margin:4px 0 2px}.dashboard-module__statHint___jA1Lx{color:var(--text-tertiary);font-size:12px;line-height:1.45}.dashboard-module__section___SU27P{z-index:1;flex-direction:column;gap:24px;display:flex;position:relative}.dashboard-module__sectionHead___HiDgg{flex-direction:column;gap:6px;display:flex}.dashboard-module__eyebrow___9pOzG{letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:7px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:700;display:inline-flex}.dashboard-module__eyebrow___9pOzG:before{content:"▍";color:var(--viz-success);font-size:12px;line-height:1}.dashboard-module__sectionTitle___mdUFh{letter-spacing:-.02em;color:var(--text-primary);text-wrap:balance;margin:0;font-size:clamp(22px,2.6vw,30px);font-weight:650;line-height:1.18}.dashboard-module__sectionDescription___njtD8{max-width:64ch;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.dashboard-module__panel___yFev0{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 82%, transparent);border-radius:16px;flex-direction:column;gap:16px;padding:clamp(24px,2.4vw,28px);display:flex}.dashboard-module__panelHead___JCcHO{flex-direction:column;gap:4px;display:flex}.dashboard-module__panelTitle___DPM1j{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:18px;font-weight:650}.dashboard-module__panelLink___b7hxz{color:var(--primary-active);align-self:flex-start;margin-top:auto;font-size:13px;font-weight:600;text-decoration:none}@media (hover:hover) and (pointer:fine){.dashboard-module__panelLink___b7hxz:hover{text-decoration:underline}.dashboard-module__panelLink___b7hxz:hover .dashboard-module__linkArrow___vWko7{transform:translate(3px)}}.dashboard-module__emptyNote___ZPLt3{text-align:center;color:var(--text-tertiary);margin:0;padding:24px 0;font-size:13px}.dashboard-module__fleetList___znqyo{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-module__fleetRow___CMqRX{border-bottom:1px solid var(--border-color);grid-template-columns:auto minmax(0,1.3fr) minmax(80px,1fr) auto minmax(96px,.7fr);align-items:center;gap:16px;padding:16px 0;display:grid}.dashboard-module__fleetRow___CMqRX:last-child{border-bottom:none}@media (max-width:760px){.dashboard-module__fleetRow___CMqRX{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}}.dashboard-module__fleetRank___Ll1Rd{color:var(--text-quaternary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:600}@media (max-width:760px){.dashboard-module__fleetRank___Ll1Rd{display:none}}.dashboard-module__fleetIdentity___Ly9vN{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-module__fleetName___RORQt{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.dashboard-module__fleetMeta___xo-1P{color:var(--text-tertiary);font-size:12px}.dashboard-module__fleetSpark___Ya30N{height:28px}@media (max-width:760px){.dashboard-module__fleetSpark___Ya30N{order:3;grid-column:1/-1}}.dashboard-module__fleetNumbers___aQeog{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.dashboard-module__fleetTotal___MadmX{color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:15px;font-weight:600}.dashboard-module__fleetTotalLabel___RhSuG{color:var(--text-tertiary);font-size:11px}.dashboard-module__fleetRate___jYvLy{flex-direction:column;gap:5px;display:flex}.dashboard-module__fleetRateValue___Tj2Kl{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12.5px;font-weight:600}.dashboard-module__fleetMeter___l-m4d{height:5px}.dashboard-module__detailGrid___Zr06g{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid;position:relative}@media (max-width:900px){.dashboard-module__detailGrid___Zr06g{grid-template-columns:minmax(0,1fr)}}.dashboard-module__healthBar___XMGkG{gap:2px;height:10px;margin-top:4px;display:flex}.dashboard-module__healthSegment___vawrq{border-radius:3px;min-width:4px;display:block}.dashboard-module__healthActive___zZV8L{background:var(--viz-success)}.dashboard-module__healthUnavailable___F49dV{background:var(--amber-color)}.dashboard-module__healthDisabled___guPq-{background:var(--text-quaternary)}.dashboard-module__healthLegend___3ewIe{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.dashboard-module__healthLegend___3ewIe li{align-items:center;gap:6px;display:inline-flex}.dashboard-module__healthLegend___3ewIe b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.dashboard-module__healthKey___2cAw2{border-radius:2px;flex:none;width:8px;height:8px}.dashboard-module__typeBreakdown___Pa2Q3{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;padding-top:16px;display:flex}.dashboard-module__typeBreakdownLabel___jt9VW{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:700}.dashboard-module__typeList___edMu9{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dashboard-module__typeChip___-twi3{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 60%, transparent);color:var(--text-secondary);border-radius:9999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.dashboard-module__typeChip___-twi3 b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.dashboard-module__specList___naEGe{flex-direction:column;margin:0;display:flex}.dashboard-module__specRow___IH1wt{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;display:flex}.dashboard-module__specRow___IH1wt:last-child{border-bottom:none}.dashboard-module__specLabel___QxD73{color:var(--text-secondary);font-size:13px}.dashboard-module__specValue___eI8Ot{color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:13px;font-weight:600;overflow:hidden}.dashboard-module__specMono___5y8cr{font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:500}.dashboard-module__toggleList___Krb90{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dashboard-module__togglePill___QJYAj{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:9999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.dashboard-module__togglePill___QJYAj b{font-weight:650}.dashboard-module__toggleOn___VmR3w{border-color:color-mix(in srgb, var(--viz-success) 40%, transparent);background:color-mix(in srgb, var(--viz-success) 10%, transparent)}.dashboard-module__toggleOn___VmR3w b{color:var(--success-badge-text)}.dashboard-module__toggleOff___XWtlD{background:color-mix(in srgb, var(--bg-secondary) 60%, transparent)}.dashboard-module__toggleOff___XWtlD b{color:var(--text-tertiary)}.dashboard-module__ctaGrid___OQEZ7{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:900px){.dashboard-module__ctaGrid___OQEZ7{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.dashboard-module__ctaGrid___OQEZ7{grid-template-columns:minmax(0,1fr)}}.dashboard-module__ctaCard___-fF7e{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 76%, transparent);transition:transform var(--dur-press) var(--ease-out-strong), border-color .15s ease, box-shadow var(--dur-hover) var(--ease-out-strong);border-radius:14px;flex-direction:column;gap:6px;padding:24px;text-decoration:none;display:flex;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.dashboard-module__ctaCard___-fF7e:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 14px 30px #0000001f}.dashboard-module__ctaCard___-fF7e:hover .dashboard-module__ctaArrow___IBWKn{opacity:1;transform:translate(3px)}}.dashboard-module__ctaCard___-fF7e:active{transform:translateY(0)scale(.98)}@media (prefers-reduced-motion:reduce){.dashboard-module__ctaCard___-fF7e{transition:none}.dashboard-module__ctaCard___-fF7e:active{transform:none}}@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){.dashboard-module__ctaCard___-fF7e:hover,.dashboard-module__ctaCard___-fF7e:hover .dashboard-module__ctaArrow___IBWKn{transform:none}}.dashboard-module__ctaIcon___ulbkn{border:1px solid var(--border-color);background:color-mix(in srgb, var(--text-primary) 6%, transparent);width:36px;height:36px;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.dashboard-module__ctaTitle___5vVvg{color:var(--text-primary);font-size:15px;font-weight:650}.dashboard-module__ctaDescription___rSwmK{color:var(--text-secondary);font-size:13px;line-height:1.5}.dashboard-module__ctaArrow___IBWKn{color:var(--text-tertiary);opacity:.55;transition:transform var(--dur-hover) var(--ease-out-strong), opacity var(--dur-hover) var(--ease-out-strong);font-size:15px;position:absolute;top:24px;right:24px}@keyframes dashboard-module__periodBreath___NC0oZ{0%,to{opacity:1}50%{opacity:.45}}@keyframes dashboard-module__livePing___3wKU9{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viz-success) 40%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.Skeleton-module__skeleton___XePp7{background:linear-gradient(90deg, var(--bg-tertiary) 0%, var(--bg-hover) 50%, var(--bg-tertiary) 100%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite Skeleton-module__shimmer___vu211;display:block}@keyframes Skeleton-module__shimmer___vu211{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.Skeleton-module__skeleton___XePp7{background:var(--bg-tertiary);animation:none}}.ProviderHeaderCard-module__card___-vito{flex-direction:column;gap:12px;display:flex}.ProviderHeaderCard-module__row___8x7Kv{flex-direction:column;gap:16px;display:flex}@media (min-width:1024px){.ProviderHeaderCard-module__row___8x7Kv{flex-direction:row;justify-content:space-between;align-items:center}}.ProviderHeaderCard-module__titleArea___wB2EB{flex-direction:column;gap:6px;min-width:0;display:flex}.ProviderHeaderCard-module__title___gZU4U{color:var(--text-primary);margin:0;font-size:30px;font-weight:700;line-height:1.2}.ProviderHeaderCard-module__quickStartCard___R5pLj{gap:14px}.ProviderHeaderCard-module__quickStartCard___R5pLj .ProviderHeaderCard-module__title___gZU4U{letter-spacing:0;font-size:32px;font-weight:720;line-height:1.18}.ProviderHeaderCard-module__quickStartCard___R5pLj .ProviderHeaderCard-module__btn___V-Ldg{font-size:14px;font-weight:600;line-height:1}.ProviderHeaderCard-module__subtitle___ahXHM{color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.5}.ProviderHeaderCard-module__actions___mjRJJ{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (min-width:1024px){.ProviderHeaderCard-module__actions___mjRJJ{justify-content:flex-end}}.ProviderHeaderCard-module__btn___V-Ldg{border-radius:var(--radius-md);cursor:pointer;height:34px;color:var(--text-primary);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.ProviderHeaderCard-module__btn___V-Ldg:disabled{opacity:.6;cursor:not-allowed}.ProviderHeaderCard-module__btn___V-Ldg:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.ProviderHeaderCard-module__btnOutline___P7piG{border-color:var(--border-color);background:var(--bg-primary)}.ProviderHeaderCard-module__btnOutline___P7piG:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.ProviderHeaderCard-module__btnPrimary___-U6YA{background:var(--primary-color);color:var(--primary-contrast)}.ProviderHeaderCard-module__btnPrimary___-U6YA:hover:not(:disabled){background:var(--primary-hover)}.ProviderHeaderCard-module__btnPrimary___-U6YA:active:not(:disabled){background:var(--primary-active)}.ProviderHeaderCard-module__chips___kt9b-{flex-wrap:wrap;gap:8px;display:flex}.ProviderHeaderCard-module__chip___U2QSK{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--muted-bg);color:var(--muted-foreground);align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.ProviderHeaderCard-module__chipPrimary___u8TVQ{border-color:var(--primary-30);background:var(--primary-10);color:var(--primary-color)}.ProviderHeaderCard-module__chipAmber___1vTiO{border-color:var(--amber-30);background:var(--amber-10);color:var(--amber-text)}.ProviderHeaderCard-module__spin___JVOx1{animation:.9s linear infinite ProviderHeaderCard-module__pwc-spin___Ehj71;display:inline-flex}.ProviderHeaderCard-module__btnIcon___zQlLw{align-items:center;display:inline-flex}@keyframes ProviderHeaderCard-module__pwc-spin___Ehj71{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){.ProviderHeaderCard-module__quickStartCard___R5pLj .ProviderHeaderCard-module__title___gZU4U{font-size:28px;line-height:1.2}}.ProviderCategoryList-module__stack___kBxsD{flex-direction:column;align-self:start;gap:12px;min-width:0;display:flex}.ProviderCategoryList-module__aside___PBIjb{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:12px;min-width:0;padding:12px}.ProviderCategoryList-module__eyebrow___oNTkj{letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground);margin:4px 8px 8px;font-size:12px;font-weight:500}.ProviderCategoryList-module__list___i2RZA{flex-direction:column;gap:4px;display:flex}.ProviderCategoryList-module__item___WRCng{border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.ProviderCategoryList-module__item___WRCng:hover:not(.ProviderCategoryList-module__active___MLw6R){background:color-mix(in srgb, var(--accent-bg) 50%, transparent);border-color:var(--border-color)}.ProviderCategoryList-module__item___WRCng:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.ProviderCategoryList-module__item___WRCng.ProviderCategoryList-module__active___MLw6R{border-color:var(--primary-30);background:var(--primary-10);color:var(--primary-color)}.ProviderCategoryList-module__itemLeft___z9fEi{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.ProviderCategoryList-module__logo___8TKKa{border-radius:var(--radius-md);object-fit:contain;background:var(--bg-tertiary);flex-shrink:0;width:26px;height:26px;padding:2px}.ProviderCategoryList-module__logoTransparent___waebo{background:0 0}.ProviderCategoryList-module__logoThemeSurface___ea1Qt{box-sizing:border-box;background:#000;padding:5px}[data-theme=dark] .ProviderCategoryList-module__logoThemeSurface___ea1Qt{background:#fff}.ProviderCategoryList-module__logoThemeDark___je6QA{display:none}[data-theme=dark] .ProviderCategoryList-module__logoThemeDark___je6QA{display:block}[data-theme=dark] .ProviderCategoryList-module__logoThemeLight___VerKO{display:none}[data-theme=dark] .ProviderCategoryList-module__logoInvertOnDark___4YQXt{filter:invert()hue-rotate(180deg)}.ProviderCategoryList-module__itemText___YV93M{flex-direction:column;min-width:0;display:flex}.ProviderCategoryList-module__itemTitle___tWmJK{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.ProviderCategoryList-module__itemSubtitle___hUfT0{color:var(--muted-foreground);margin-top:2px;font-size:12px;font-weight:400}.ProviderCategoryList-module__active___MLw6R .ProviderCategoryList-module__itemSubtitle___hUfT0{color:var(--primary-color);opacity:.85}.ProviderCategoryList-module__badge___mYck8{border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border-color);min-width:26px;color:var(--muted-foreground);flex-shrink:0;justify-content:center;align-items:center;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.ProviderCategoryList-module__badgeAmber___n2AT5{background:var(--amber-10);border-color:var(--amber-30);color:var(--amber-text)}.Table-module__wrap___BoMJd{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);overflow:hidden}.Table-module__scroll___hyI-i{overflow-x:auto}.Table-module__table___2tzS9{border-collapse:separate;border-spacing:0;width:100%;color:var(--text-primary);font-size:13px}.Table-module__head___exzqF{background:var(--muted-bg)}.Table-module__head___exzqF th{color:var(--muted-foreground);text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle;padding:10px 14px;font-size:12px;font-weight:500}.Table-module__head___exzqF th.Table-module__alignRight___sq06f{text-align:right}.Table-module__body___7J59-{background:var(--bg-primary)}.Table-module__row___jJz3d{transition:background-color .15s}.Table-module__row___jJz3d td{border-bottom:1px solid var(--border-color);vertical-align:top;padding:12px 14px;line-height:1.5}.Table-module__row___jJz3d:hover td{background:color-mix(in srgb, var(--accent-bg) 50%, transparent)}.Table-module__row___jJz3d.Table-module__selected___-MWZq td{background:var(--primary-8)}.Table-module__body___7J59- .Table-module__row___jJz3d:last-child td{border-bottom:none}.Table-module__alignRight___sq06f{text-align:right}.ToggleSwitch-module__root___IUqKD{cursor:pointer;align-items:center;gap:8px;display:inline-flex;position:relative}.ToggleSwitch-module__labelLeft___Pc6fJ .ToggleSwitch-module__label___4iQkR{order:-1}.ToggleSwitch-module__disabled___GNGHj{cursor:not-allowed}.ToggleSwitch-module__root___IUqKD input{opacity:0;width:0;height:0;position:absolute}.ToggleSwitch-module__track___zFtXx{background:var(--border-color);border-radius:9999px;width:44px;height:24px;transition:background .15s;position:relative}.ToggleSwitch-module__thumb___gQ45C{background:#fff;border-radius:9999px;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000000d}.ToggleSwitch-module__root___IUqKD input:checked+.ToggleSwitch-module__track___zFtXx{background:var(--primary-color)}.ToggleSwitch-module__root___IUqKD input:checked+.ToggleSwitch-module__track___zFtXx .ToggleSwitch-module__thumb___gQ45C{transform:translate(20px)}.ToggleSwitch-module__label___4iQkR{color:var(--text-primary);font-weight:600}.ProviderResourceTable-module__providerTable___gPviT{table-layout:fixed;min-width:960px}.ProviderResourceTable-module__providerTable___gPviT tbody tr:hover .ProviderResourceTable-module__actionsCell___zCEoe{background:color-mix(in srgb, var(--accent-bg) 50%, transparent)}.ProviderResourceTable-module__primaryCell___fLp9r{flex-direction:column;gap:4px;min-width:0;display:flex}.ProviderResourceTable-module__primaryName___dfYeV{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:500;overflow:hidden}.ProviderResourceTable-module__primarySub___QABoS{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.ProviderResourceTable-module__baseUrl___FNjG7{width:100%;min-width:0;max-width:100%;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;display:block;overflow:hidden}.ProviderResourceTable-module__chip___U7kQV{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--muted-bg);color:var(--muted-foreground);align-items:center;padding:3px 9px;font-size:12px;display:inline-flex}.ProviderResourceTable-module__metricsCell___1OlzF{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ProviderResourceTable-module__metric___aEHez{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--muted-bg);white-space:nowrap;align-items:center;gap:4px;padding:3px 9px;font-size:12px;line-height:1.4;display:inline-flex}.ProviderResourceTable-module__metricLabel___t8rAu{color:var(--muted-foreground)}.ProviderResourceTable-module__metricValue___VTEWB{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.ProviderResourceTable-module__flagTag___2i4Y4{border-radius:var(--radius-md);border:1px solid var(--primary-30);background:var(--primary-10);color:var(--primary-color);white-space:nowrap;align-items:center;padding:3px 9px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.ProviderResourceTable-module__statusBadge___dk8Hi{border-radius:var(--radius-md);white-space:nowrap;border:1px solid;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.ProviderResourceTable-module__statusCell___8599N{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;max-width:190px;display:flex}.ProviderResourceTable-module__stats___73Ql1{flex-wrap:wrap;gap:4px;max-width:100%;display:flex}.ProviderResourceTable-module__statPill___-ANv0{white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.ProviderResourceTable-module__statSuccess___LrHac{background-color:var(--success-badge-bg);color:var(--success-badge-text);border-color:var(--success-badge-border)}.ProviderResourceTable-module__statFailure___yGMe3{background-color:var(--failure-badge-bg);color:var(--failure-badge-text);border-color:var(--failure-badge-border)}.ProviderResourceTable-module__statusActive___Zw5FB{border-color:var(--success-badge-border);background:var(--success-badge-bg);color:var(--success-badge-text)}.ProviderResourceTable-module__statusDisabled___BKP-G{border-color:var(--amber-30);background:var(--amber-10);color:var(--amber-text)}.ProviderResourceTable-module__statusBarWrap___n9vAB{width:min(100%,178px);min-width:0}.ProviderResourceTable-module__actionsHead___FGGf4,.ProviderResourceTable-module__actionsCell___zCEoe{width:176px;min-width:176px;position:sticky;right:0;box-shadow:-12px 0 16px -18px #0f172a73}.ProviderResourceTable-module__actionsHead___FGGf4{z-index:3;background:var(--muted-bg)}.ProviderResourceTable-module__actionsCell___zCEoe{z-index:2;background:var(--bg-primary)}.ProviderResourceTable-module__actionsCellSelected___nrnrY{background:var(--primary-8)}.ProviderResourceTable-module__actions___4j-hn{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.ProviderResourceTable-module__toggleWrap___1u1Vz{align-items:center;margin-right:4px;display:inline-flex}.ProviderResourceTable-module__iconBtn___RYOTP{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.ProviderResourceTable-module__iconBtn___RYOTP:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.ProviderResourceTable-module__iconBtn___RYOTP:disabled{opacity:.5;cursor:not-allowed}.ProviderResourceTable-module__iconBtn___RYOTP:focus-visible{outline:2px solid var(--primary-color);outline-offset:-1px}.ProviderResourceTable-module__iconBtnDanger___OCat1{color:var(--destructive-color)}.ProviderResourceTable-module__iconBtnDanger___OCat1:hover:not(:disabled){background:var(--destructive-10);color:var(--destructive-color)}.providerStatusBar-module__statusBar___CO-2Q{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:6px;width:100%;max-width:100%;display:grid}.providerStatusBar-module__statusBlocks___GUtae{gap:2px;width:100%;min-width:0;display:flex;position:relative}.providerStatusBar-module__statusBlockWrapper___7PmJZ{cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1 1 0;min-width:0;position:relative}.providerStatusBar-module__statusBlock___Bo-Dp{border-radius:2px;width:100%;height:6px;transition:transform .15s,opacity .15s}.providerStatusBar-module__statusBlockWrapper___7PmJZ:hover .providerStatusBar-module__statusBlock___Bo-Dp,.providerStatusBar-module__statusBlockWrapper___7PmJZ.providerStatusBar-module__statusBlockActive___FgyJm .providerStatusBar-module__statusBlock___Bo-Dp{opacity:.9;transform:scaleY(1.8)}.providerStatusBar-module__statusBlockIdle___SNDuL{background-color:var(--border-color)}.providerStatusBar-module__statusTooltip___pI78F{background:var(--bg-primary);border:1px solid var(--border-color);white-space:nowrap;z-index:1000;pointer-events:none;color:var(--text-primary);border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.5;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001f}.providerStatusBar-module__statusTooltip___pI78F:after{content:"";border:5px solid #0000;border-top-color:var(--bg-primary);position:absolute;top:100%;left:50%;transform:translate(-50%)}.providerStatusBar-module__statusTooltip___pI78F:before{content:"";border:6px solid #0000;border-top-color:var(--border-color);position:absolute;top:100%;left:50%;transform:translate(-50%)}.providerStatusBar-module__statusTooltipLeft___ZskB1{left:0;transform:translate(0)}.providerStatusBar-module__statusTooltipLeft___ZskB1:after,.providerStatusBar-module__statusTooltipLeft___ZskB1:before{left:8px;transform:none}.providerStatusBar-module__statusTooltipRight___Ajuc0{left:auto;right:0;transform:translate(0)}.providerStatusBar-module__statusTooltipRight___Ajuc0:after,.providerStatusBar-module__statusTooltipRight___Ajuc0:before{left:auto;right:8px;transform:none}.providerStatusBar-module__tooltipTime___u6zEq{color:var(--text-secondary);margin-bottom:2px;display:block}.providerStatusBar-module__tooltipStats___uvspI{align-items:center;gap:8px;display:flex}.providerStatusBar-module__tooltipSuccess___km1zF{color:var(--success-color,#22c55e)}.providerStatusBar-module__tooltipFailure___rNWH9{color:var(--danger-color,#ef4444)}.providerStatusBar-module__tooltipRate___YZaf1{color:var(--text-secondary);margin-left:2px}.providerStatusBar-module__statusRate___gq06G{white-space:nowrap;background:var(--bg-tertiary);min-width:48px;color:var(--text-secondary);font-variant-numeric:tabular-nums;border-radius:4px;justify-content:center;align-items:center;padding:2px 6px;font-size:12px;font-weight:600;display:inline-flex}.providerStatusBar-module__statusRateHigh___Q976x{color:var(--success-badge-text,#065f46);background:var(--success-badge-bg,#d1fae5)}.providerStatusBar-module__statusRateMedium___ExaLs{color:var(--warning-text,#92400e);background:var(--warning-bg,#fef3c7)}.providerStatusBar-module__statusRateLow___iNJnD{color:var(--failure-badge-text);background:var(--failure-badge-bg)}.ProviderResourceToolbar-module__root___3OtVO{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ProviderResourceToolbar-module__sortGroup___Owd8u{align-items:center;gap:6px;display:flex}.ProviderResourceToolbar-module__label___Xpn6H{color:var(--muted-foreground);white-space:nowrap;font-size:12px}.ProviderResourceToolbar-module__dirBtn___Si6-Q{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.ProviderResourceToolbar-module__dirBtn___Si6-Q:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ProviderResourceToolbar-module__filterGroup___GCSLL{position:relative}.ProviderResourceToolbar-module__filterTrigger___7nyg5{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);height:30px;color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:0 11px;font-size:13px;transition:background-color .15s,border-color .15s;display:inline-flex}.ProviderResourceToolbar-module__filterTrigger___7nyg5:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ProviderResourceToolbar-module__filterTrigger___7nyg5:disabled{opacity:.6;cursor:not-allowed}.ProviderResourceToolbar-module__filterPanel___By-o1{z-index:1000;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:6px;min-width:220px;max-width:320px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 20px #00000014}.ProviderResourceToolbar-module__filterToolbar___rAN5t{justify-content:flex-end;align-items:center;gap:6px;display:flex}.ProviderResourceToolbar-module__filterToolbarBtn___H8kEF{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;padding:3px 9px;font-size:12px}.ProviderResourceToolbar-module__filterToolbarBtn___H8kEF:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ProviderResourceToolbar-module__filterToolbarBtn___H8kEF:disabled{opacity:.5;cursor:not-allowed}.ProviderResourceToolbar-module__filterEmpty___YoLaV{text-align:center;color:var(--muted-foreground);padding:12px;font-size:13px}.ProviderResourceToolbar-module__filterList___bLUS8{flex-direction:column;gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.ProviderResourceToolbar-module__filterItem___ayJYT{border-radius:var(--radius-sm);padding:4px 6px}.ProviderResourceToolbar-module__filterItem___ayJYT:hover{background:var(--bg-tertiary)}.ProviderResourceToolbar-module__filterItemLabel___WgP0a{word-break:break-all;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:13px}.ProviderResourcePanel-module__panel___CMeiX{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:16px;min-width:0;padding:20px;display:flex}.ProviderResourcePanel-module__header___Ud2jP,.ProviderResourcePanel-module__headerMain___aGFKi{flex-direction:column;gap:12px;display:flex}@media (min-width:768px){.ProviderResourcePanel-module__headerMain___aGFKi{flex-direction:row;justify-content:space-between;align-items:flex-start}}.ProviderResourcePanel-module__headerToolbarRow___lBCoP{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ProviderResourcePanel-module__titleArea___SIpoX{flex-direction:column;min-width:0;display:flex}.ProviderResourcePanel-module__titleRow___T1AfI{align-items:center;gap:12px;display:flex}.ProviderResourcePanel-module__titleLink___Utbwk{border-radius:var(--radius-md);width:-moz-fit-content;width:fit-content;max-width:100%;color:inherit;cursor:pointer;margin:-4px -6px;padding:4px 6px;text-decoration:none}.ProviderResourcePanel-module__titleLink___Utbwk:hover .ProviderResourcePanel-module__title___Zw2Hc,.ProviderResourcePanel-module__titleLink___Utbwk:hover .ProviderResourcePanel-module__titleExternalIcon___JyfC0{color:var(--text-primary)}.ProviderResourcePanel-module__titleLink___Utbwk:hover .ProviderResourcePanel-module__titleExternalIcon___JyfC0{opacity:1;transform:translate(1px,-1px)}.ProviderResourcePanel-module__titleLink___Utbwk:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px}.ProviderResourcePanel-module__logo___7eyxv{border-radius:var(--radius-md);object-fit:contain;flex-shrink:0;width:26px;height:26px}.ProviderResourcePanel-module__logoThemeSurface___LgWln{background:#000;padding:5px}[data-theme=dark] .ProviderResourcePanel-module__logoThemeSurface___LgWln{background:#fff}.ProviderResourcePanel-module__logoThemeDark___CvmjO{display:none}[data-theme=dark] .ProviderResourcePanel-module__logoThemeDark___CvmjO{display:block}[data-theme=dark] .ProviderResourcePanel-module__logoThemeLight___4rDnc{display:none}[data-theme=dark] .ProviderResourcePanel-module__logoInvertOnDark___yeOZu{filter:invert()hue-rotate(180deg)}.ProviderResourcePanel-module__title___Zw2Hc{color:var(--text-primary);letter-spacing:-.005em;margin:0;font-size:22px;font-weight:600}.ProviderResourcePanel-module__titleExternalIcon___JyfC0{color:var(--muted-foreground);opacity:.72;flex-shrink:0;transition:color .16s,opacity .16s,transform .16s}.ProviderResourcePanel-module__sponsorLink___0zkZG{width:-moz-fit-content;width:fit-content;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);overflow-wrap:anywhere;align-items:center;gap:8px;max-width:min(520px,100%);margin-top:10px;padding:8px 11px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.ProviderResourcePanel-module__sponsorLink___0zkZG:hover{border-color:var(--border-hover);background:var(--bg-hover);transform:translateY(-1px)}.ProviderResourcePanel-module__sponsorLink___0zkZG:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.ProviderResourcePanel-module__sponsorLinkEmphasis___UYDlu{color:var(--amber-text);border-color:color-mix(in srgb, var(--amber-color) 48%, var(--border-color));background:color-mix(in srgb, var(--amber-color) 14%, var(--bg-primary));box-shadow:0 1px 0 color-mix(in srgb, var(--amber-color) 18%, transparent)}.ProviderResourcePanel-module__sponsorLinkEmphasis___UYDlu:hover{border-color:color-mix(in srgb, var(--amber-color) 72%, var(--border-color));background:color-mix(in srgb, var(--amber-color) 20%, var(--bg-primary));box-shadow:0 4px 12px color-mix(in srgb, var(--amber-color) 18%, transparent)}.ProviderResourcePanel-module__sponsorLinkEmphasis___UYDlu:focus-visible{outline-color:var(--amber-color)}.ProviderResourcePanel-module__sponsorLinkText___n464i{overflow-wrap:anywhere;min-width:0}.ProviderResourcePanel-module__sponsorLinkIcon___QHGUt{color:currentColor;flex-shrink:0}.ProviderResourcePanel-module__sponsorLink___0zkZG:hover .ProviderResourcePanel-module__sponsorLinkIcon___QHGUt{transform:translate(1px,-1px)}.ProviderResourcePanel-module__searchWrap___95CD5{min-width:0;position:relative}@media (min-width:768px){.ProviderResourcePanel-module__searchWrap___95CD5{width:280px}}.ProviderResourcePanel-module__searchInput___TA7QZ{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);width:100%;height:38px;color:var(--text-primary);box-sizing:border-box;padding:0 12px 0 38px;font-size:14px}.ProviderResourcePanel-module__searchInput___TA7QZ::placeholder{color:var(--text-tertiary)}.ProviderResourcePanel-module__searchInput___TA7QZ:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-10);outline:none}.ProviderResourcePanel-module__searchIcon___u6sCR{color:var(--muted-foreground);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.ProviderResourcePanel-module__empty___1gkyi{border:1px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;color:var(--muted-foreground);padding:32px;font-size:14px}.ProviderResourcePanel-module__emptyAction___EzR3x{margin-top:12px}.ProviderResourcePanel-module__emptyActionButton___lCUjo{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:7px 13px;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.ProviderResourcePanel-module__emptyActionButton___lCUjo:hover{border-color:var(--border-hover);background:var(--bg-hover)}.ProviderResourcePanel-module__emptyActionButton___lCUjo:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.ProviderResourcePanel-module__emptyActionButton___lCUjo:disabled{cursor:not-allowed;opacity:.6}.ProviderResourcePanel-module__emptyActionButtonEmphasis___kUgz8{color:var(--amber-text);border-color:color-mix(in srgb, var(--amber-color) 48%, var(--border-color));background:color-mix(in srgb, var(--amber-color) 14%, var(--bg-primary));box-shadow:0 1px 0 color-mix(in srgb, var(--amber-color) 18%, transparent);font-weight:600}.ProviderResourcePanel-module__emptyActionButtonEmphasis___kUgz8:hover{border-color:color-mix(in srgb, var(--amber-color) 72%, var(--border-color));background:color-mix(in srgb, var(--amber-color) 20%, var(--bg-primary));box-shadow:0 4px 12px color-mix(in srgb, var(--amber-color) 18%, transparent)}.ProviderResourcePanel-module__emptyActionButtonEmphasis___kUgz8:focus-visible{outline-color:var(--amber-color)}.sharedForm-module__form___PT91R{flex-direction:column;gap:16px;min-width:0;max-width:100%;display:flex}.sharedForm-module__quickStartForm___eBaxv{gap:20px}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__section___i8OOd{gap:14px}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sectionTitle___82MzD{letter-spacing:0;font-size:17px;font-weight:700;line-height:1.35}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sectionDesc___pBlrt{max-width:72ch;color:var(--text-secondary);font-size:14px;line-height:1.6}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__field___67Fow{gap:7px}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__label___sL6bS{font-size:13px;font-weight:600;line-height:1.45}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__labelHint___M7UU6{color:var(--muted-foreground);font-size:12px;line-height:1.6}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__input___5xUXx,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__passwordInput___rSuUg,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__textarea___CdY6q,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoverySearch___18P-i{font-size:14px;line-height:1.45}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__entryCard___4UpBh{gap:12px}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__entryCardHeader___9w6Nq{font-size:13px;line-height:1.45}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorGroupTitle___28tgM{gap:3px}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorGroupTitle___28tgM strong{font-size:14px;font-weight:650;line-height:1.4}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorUrlOptionText___k-K0x,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__checkboxText___LnhPu{font-size:14px;line-height:1.45}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorUrlOptionText___k-K0x small,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__checkboxText___LnhPu small,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorProtocolUrl___KWimM,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorUsageResult___-gE-n,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__connectivityError___MLzpW,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryEmpty___yCmmN,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryItem___K7Etw,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryBatchLabel___pHhDl,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryName___PQCDn{font-size:12px;line-height:1.6}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorProtocolName___IdnAd{font-size:13px;font-weight:650;line-height:1.4}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorUsageMain___6O5cH{line-height:1.45}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__sponsorUsageMeta___hf3Jw,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryAlias___XGl7Y,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryCount___nHCkA,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryAddedTag___HJanN{font-size:12px;line-height:1.55}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__connectivityBtn___xuFLs,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__discoveryApplyBtn___Iu3oS,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__addBtn___O-Vjb,.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__removeBtn___iEUNe{font-size:13px;font-weight:600;line-height:1}.sharedForm-module__quickStartForm___eBaxv .sharedForm-module__footerBtn___DyIZY{font-size:14px;font-weight:600;line-height:1}.sharedForm-module__quickStartForm___eBaxv details summary{font-size:14px;font-weight:650;line-height:1.45}.sharedForm-module__section___i8OOd{flex-direction:column;gap:12px;min-width:0;display:flex}.sharedForm-module__sectionTitle___82MzD{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}.sharedForm-module__sectionDesc___pBlrt{color:var(--muted-foreground);margin:0;font-size:12px;line-height:1.5}.sharedForm-module__field___67Fow{gap:6px;min-width:0;display:grid}.sharedForm-module__label___sL6bS{color:var(--text-primary);font-size:12px;font-weight:500}.sharedForm-module__labelHint___M7UU6{color:var(--muted-foreground);font-size:11px;font-weight:400}.sharedForm-module__input___5xUXx,.sharedForm-module__passwordInput___rSuUg,.sharedForm-module__textarea___CdY6q{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);width:100%;height:36px;color:var(--text-primary);box-sizing:border-box;padding:8px 12px;font-family:inherit;font-size:13px}.sharedForm-module__input___5xUXx::placeholder,.sharedForm-module__passwordInput___rSuUg::placeholder,.sharedForm-module__textarea___CdY6q::placeholder{color:var(--text-tertiary)}.sharedForm-module__input___5xUXx:focus,.sharedForm-module__passwordInput___rSuUg:focus,.sharedForm-module__textarea___CdY6q:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-10);outline:none}.sharedForm-module__input___5xUXx:disabled,.sharedForm-module__passwordInput___rSuUg:disabled,.sharedForm-module__textarea___CdY6q:disabled{opacity:.6;cursor:not-allowed}.sharedForm-module__textarea___CdY6q{resize:vertical;height:auto;min-height:80px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;line-height:1.5}.sharedForm-module__checkboxRow___-oiND{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;display:flex}.sharedForm-module__checkboxBox___eIVJQ{border:1px solid var(--border-color);background:var(--bg-primary);cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:2px;display:inline-flex;position:relative}.sharedForm-module__checkboxBox___eIVJQ:checked{background:var(--primary-color);border-color:var(--primary-color)}.sharedForm-module__checkboxBox___eIVJQ:checked:after{content:"";border-left:2px solid var(--primary-contrast);border-bottom:2px solid var(--primary-contrast);width:8px;height:4px;transform:rotate(-45deg)translateY(-2px)}.sharedForm-module__checkboxBox___eIVJQ:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.sharedForm-module__checkboxText___LnhPu{color:var(--text-primary);flex-direction:column;gap:2px;font-size:13px;display:flex}.sharedForm-module__checkboxText___LnhPu small{color:var(--muted-foreground);font-size:11px}.sharedForm-module__fieldRow___FmfR-{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.sharedForm-module__divider___hp8lX{border:0;border-top:1px solid var(--border-color);margin:4px 0}.sharedForm-module__errorBox___tj-8g{border:1px solid var(--destructive-30);background:var(--destructive-10);color:var(--destructive-color);border-radius:var(--radius-md);padding:10px 12px;font-size:12px;line-height:1.5}.sharedForm-module__dl___fU3jy{grid-template-columns:1fr 1fr;gap:12px 16px;margin:0;display:grid}.sharedForm-module__dt___WtuBR{color:var(--muted-foreground);font-size:11px;font-weight:500}.sharedForm-module__dd___xdoZu{color:var(--text-primary);word-break:break-word;margin:2px 0 0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.sharedForm-module__detailHeader___Gwp7N{margin-bottom:4px}.sharedForm-module__entryCard___4UpBh{border:1px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;background:var(--bg-secondary);flex-direction:column;gap:10px;min-width:0;max-width:100%;padding:12px;display:flex}.sharedForm-module__entryCardHeader___9w6Nq{min-width:0;color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:500;display:flex}.sharedForm-module__entryCardToggle___UcMtL{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.sharedForm-module__entryCardToggle___UcMtL:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;border-radius:var(--radius-sm)}.sharedForm-module__sponsorGroupTitle___28tgM{flex-direction:column;gap:2px;min-width:0;display:flex}.sharedForm-module__sponsorGroupTitle___28tgM strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sharedForm-module__sponsorGroupSummary___Y7N47{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.sharedForm-module__sponsorSummaryKey___EBaXE,.sharedForm-module__sponsorSummaryUrl___piG39{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-block;overflow:hidden}.sharedForm-module__sponsorSummaryKey___EBaXE{max-width:140px;color:var(--text-primary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.sharedForm-module__sponsorSummaryUrl___piG39{max-width:min(360px,45vw);color:var(--muted-foreground);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.sharedForm-module__entryCardHeaderRight___XQk-H{flex-shrink:0;align-items:center;gap:6px;display:flex}.sharedForm-module__entryCardBody___jWMCE{flex-direction:column;gap:10px;min-width:0;display:flex}.sharedForm-module__entryCardIconBtn___JXSmn{border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.sharedForm-module__entryCardIconBtn___JXSmn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sharedForm-module__entryCardIconBtn___JXSmn:focus-visible{outline:2px solid var(--primary-color);outline-offset:-1px}.sharedForm-module__entryCardChevron___-MhgW{transition:transform .15s}.sharedForm-module__entryCardChevronOpen___3ETxF{transform:rotate(180deg)}.sharedForm-module__entriesToolbar___ZMhPO{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:2px;display:flex}.sharedForm-module__entriesToolbarSplit___ZVvqH{justify-content:space-between}.sharedForm-module__sponsorUrlOptions___lxMgi{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:560px){.sharedForm-module__sponsorUrlOptions___lxMgi{grid-template-columns:repeat(2,minmax(0,1fr))}}.sharedForm-module__sponsorUrlOption___rAD4B{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;transition:border-color .15s,background-color .15s;display:flex}.sharedForm-module__sponsorUrlOption___rAD4B input{accent-color:var(--primary-color);flex-shrink:0;margin:2px 0 0}.sharedForm-module__sponsorUrlOption___rAD4B input:disabled{cursor:not-allowed}.sharedForm-module__sponsorUrlOption___rAD4B:hover{border-color:var(--primary-color)}.sharedForm-module__sponsorUrlOptionActive___4CZJz{border-color:var(--primary-color);background:var(--primary-10)}.sharedForm-module__sponsorUrlOptionText___k-K0x{min-width:0;color:var(--text-primary);flex-direction:column;gap:2px;font-size:13px;display:flex}.sharedForm-module__sponsorUrlOptionText___k-K0x small{color:var(--muted-foreground);overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.4}.sharedForm-module__sponsorUrlOptionText___k-K0x .sharedForm-module__sponsorUrlOptionDescription___-P-PR{font-family:inherit;font-size:12px;line-height:1.45}.sharedForm-module__sponsorProtocolGrid___CK-SJ{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:560px){.sharedForm-module__sponsorProtocolGrid___CK-SJ{grid-template-columns:repeat(3,minmax(0,1fr))}}.sharedForm-module__sponsorProtocolCard___glgc4{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.sharedForm-module__sponsorProtocolName___IdnAd{color:var(--text-primary);font-size:12px;font-weight:600}.sharedForm-module__sponsorProtocolUrl___KWimM{color:var(--muted-foreground);overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.4}.sharedForm-module__sponsorUsageSection___tKfkP{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.sharedForm-module__sponsorUsageResult___-gE-n{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--success-color) 34%, var(--border-color));border-radius:var(--radius-md);background:color-mix(in srgb, var(--success-color) 8%, var(--bg-primary));width:100%;color:var(--text-primary);flex-direction:column;gap:4px;padding:8px 10px;font-size:11px;line-height:1.4;display:flex}.sharedForm-module__sponsorUsageResultWarning___IQs1P{color:var(--warning-text);border-color:var(--warning-border);background:var(--warning-bg)}.sharedForm-module__sponsorUsageMain___6O5cH{align-items:center;gap:6px;font-weight:500;display:flex}.sharedForm-module__sponsorUsageMeta___hf3Jw{color:var(--muted-foreground)}.sharedForm-module__connectivityRow___yytvW{align-items:center;gap:8px;margin-top:4px;display:flex}.sharedForm-module__connectivityBtn___xuFLs{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);height:28px;color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.sharedForm-module__connectivityBtn___xuFLs:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.sharedForm-module__connectivityBtn___xuFLs:disabled{opacity:.6;cursor:not-allowed}.sharedForm-module__connectivityBtnGhost___Ks4Ys{border-radius:var(--radius-md);height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.sharedForm-module__connectivityBtnGhost___Ks4Ys:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.sharedForm-module__connectivityBtnGhost___Ks4Ys:disabled{opacity:.6;cursor:not-allowed}.sharedForm-module__connectivityError___MLzpW{border:1px solid var(--destructive-30);background:var(--destructive-10);color:var(--destructive-color);border-radius:var(--radius-md);word-break:break-word;padding:8px 10px;font-size:11px;line-height:1.4}.sharedForm-module__connectivityHintSuccess___bCB6B{color:var(--primary-color);font-size:11px}.sharedForm-module__statusIcon___Qo3og{justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.sharedForm-module__statusIconLoading___Jr4Oi{color:var(--text-secondary);animation:.8s linear infinite sharedForm-module__spin___ebAKO}.sharedForm-module__statusIconSuccess___XeAnb{color:var(--success-color)}.sharedForm-module__statusIconError___1-Uh3{color:var(--destructive-color)}.sharedForm-module__discoveryPanel___AhjnU{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:10px;padding:12px;display:flex}.sharedForm-module__discoveryToolbar___pxuM6{align-items:center;gap:8px;display:flex}.sharedForm-module__discoverySearchWrap___6FqGI{flex:1;align-items:center;display:flex;position:relative}.sharedForm-module__discoverySearchIcon___ygwRw{color:var(--muted-foreground);pointer-events:none;align-items:center;display:inline-flex;position:absolute;left:10px}.sharedForm-module__discoverySearch___18P-i{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);width:100%;height:32px;color:var(--text-primary);box-sizing:border-box;padding:6px 10px 6px 30px;font-size:12px}.sharedForm-module__discoverySearch___18P-i::placeholder{color:var(--text-tertiary)}.sharedForm-module__discoverySearch___18P-i:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-10);outline:none}.sharedForm-module__discoveryEmpty___yCmmN{text-align:center;color:var(--muted-foreground);border:1px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);padding:16px;font-size:12px}.sharedForm-module__discoveryBatchRow___RSSTs{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.sharedForm-module__discoveryBatchLabel___pHhDl{color:var(--text-primary);font-size:12px;font-weight:500}.sharedForm-module__discoveryCount___nHCkA{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.sharedForm-module__discoveryList___UmHOn{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);flex-direction:column;gap:2px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.sharedForm-module__discoveryItem___K7Etw{border-bottom:1px solid var(--border-color);color:var(--text-primary);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.sharedForm-module__discoveryItem___K7Etw:last-child{border-bottom:0}.sharedForm-module__discoveryItemExisting___OZBJe{background:var(--muted-bg);color:var(--muted-foreground)}.sharedForm-module__discoveryName___PQCDn{word-break:break-all;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.sharedForm-module__discoveryNameGroup___clmbn{flex-direction:column;gap:2px;min-width:0;display:inline-flex}.sharedForm-module__discoveryAlias___XGl7Y{color:var(--muted-foreground);word-break:break-all;font-size:11px}.sharedForm-module__discoveryAddedTag___HJanN{color:var(--muted-foreground);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-primary);padding:2px 8px;font-size:11px}.sharedForm-module__discoveryFooter___Is7iL{justify-content:flex-end;align-items:center;gap:8px;display:flex}.sharedForm-module__discoveryApplyBtn___Iu3oS{border-radius:var(--radius-md);background:var(--primary-color);height:30px;color:var(--primary-contrast);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:500;transition:background-color .15s;display:inline-flex}.sharedForm-module__discoveryApplyBtn___Iu3oS:hover:not(:disabled){background:var(--primary-hover)}.sharedForm-module__discoveryApplyBtn___Iu3oS:disabled{opacity:.6;cursor:not-allowed}@keyframes sharedForm-module__spin___ebAKO{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sharedForm-module__passwordField___XUXUd{align-items:center;min-width:0;display:flex;position:relative}.sharedForm-module__passwordInput___rSuUg{padding-right:36px}.sharedForm-module__passwordToggle___uGvUz{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;right:8px}.sharedForm-module__passwordToggle___uGvUz:hover:not(:disabled){color:var(--text-primary)}.sharedForm-module__passwordToggle___uGvUz:disabled{opacity:.5;cursor:not-allowed}.sharedForm-module__entriesList___-jY7O{flex-direction:column;gap:10px;display:flex}.sharedForm-module__modelAliasRow___pthzi{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;display:grid}@media (max-width:520px){.sharedForm-module__modelAliasRow___pthzi{grid-template-columns:1fr auto}.sharedForm-module__modelAliasRow___pthzi input:first-child{grid-column:1/-1}}.sharedForm-module__modelEntry___e3PHD{flex-direction:column;gap:8px;min-width:0;display:flex}.sharedForm-module__modelEntryActions___Mv-1o{flex-shrink:0;align-items:center;gap:6px;display:flex}.sharedForm-module__modelEntryDetails___d5g0-{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);flex-direction:column;gap:10px;padding:12px;display:flex}.sharedForm-module__thinkingFieldset___amnlc{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.sharedForm-module__thinkingExistingHint___HWgL-{color:var(--warning-color);margin:0;font-size:11px;line-height:1.5}.sharedForm-module__thinkingLevelGrid___iWzn1{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (max-width:520px){.sharedForm-module__thinkingLevelGrid___iWzn1{grid-template-columns:1fr}}.sharedForm-module__thinkingLevelOption___mklmI{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);box-sizing:border-box;width:100%;min-width:0;padding:8px 10px}.sharedForm-module__thinkingLevelLabel___8OZO5{min-width:0;color:var(--text-secondary);flex:1;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.sharedForm-module__thinkingLevelLabel___8OZO5 code{color:var(--muted-foreground);font-size:10px;font-weight:400}.sharedForm-module__thinkingLevelOptionSelected___XzjLp{border-color:color-mix(in srgb, var(--primary-color) 50%, var(--border-color));background:color-mix(in srgb, var(--primary-color) 8%, var(--bg-primary))}.sharedForm-module__thinkingLevelOptionSelected___XzjLp .sharedForm-module__thinkingLevelLabel___8OZO5{color:var(--text-primary)}.sharedForm-module__entrySummary___FshGG{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.sharedForm-module__entrySummaryKey___LxYFt{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-primary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;display:inline-block;overflow:hidden}.sharedForm-module__entryBadge___KwpqS{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--muted-foreground);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:1px 7px;font-size:10px;font-weight:500;display:inline-flex}.sharedForm-module__showMoreBtn___cipR-{border-radius:var(--radius-md);border:1px dashed var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;align-self:center;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.sharedForm-module__showMoreBtn___cipR-:hover{border-color:var(--primary-color);color:var(--primary-color)}.sharedForm-module__removeBtn___iEUNe{border-radius:var(--radius-md);color:var(--destructive-color);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.sharedForm-module__removeBtn___iEUNe:hover{background:var(--destructive-10)}.sharedForm-module__removeBtn___iEUNe:disabled{opacity:.5;cursor:not-allowed}.sharedForm-module__addBtn___O-Vjb{border-radius:var(--radius-md);border:1px dashed var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.sharedForm-module__addBtn___O-Vjb:hover{border-color:var(--primary-color);color:var(--primary-color)}.sharedForm-module__footerBtn___DyIZY{border-radius:var(--radius-md);cursor:pointer;height:32px;color:var(--text-primary);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .15s;display:inline-flex}.sharedForm-module__footerBtn___DyIZY:disabled{opacity:.6;cursor:not-allowed}.sharedForm-module__footerBtnGhost___6XhK0{background:0 0;border-color:#0000}.sharedForm-module__footerBtnGhost___6XhK0:hover:not(:disabled){background:var(--bg-tertiary)}.sharedForm-module__footerBtnOutline___mplFu{border-color:var(--border-color);background:var(--bg-primary)}.sharedForm-module__footerBtnOutline___mplFu:hover:not(:disabled){background:var(--bg-tertiary)}.sharedForm-module__footerBtnPrimary___RbN5Y{background:var(--primary-color);color:var(--primary-contrast)}.sharedForm-module__footerBtnPrimary___RbN5Y:hover:not(:disabled){background:var(--primary-hover)}.sharedForm-module__apiKeyEntriesSection___BiWv-{min-width:0;max-width:100%;margin-top:16px}.sharedForm-module__apiKeyEntriesLabel___k7lKa{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.sharedForm-module__apiKeyEntryList___sun97{flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.sharedForm-module__apiKeyEntryCard___uW3Az{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;padding:8px 12px;font-size:12px;display:flex}.sharedForm-module__apiKeyEntryIndex___0Vn5O{background:var(--primary-color);width:20px;height:20px;color:var(--primary-contrast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.sharedForm-module__apiKeyEntryKey___nFskf{color:var(--text-primary);overflow-wrap:anywhere;word-break:break-all;min-width:0;max-width:100%;font-family:Monaco,Menlo,Consolas,Ubuntu Mono,monospace;font-weight:600}.sharedForm-module__apiKeyEntryProxy___o-PFf{color:var(--text-tertiary);overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;font-size:11px}.sharedForm-module__apiKeyEntryProxy___o-PFf:before{content:"| Proxy: ";color:var(--text-quaternary)}.sharedForm-module__apiKeyEntryStats___DWlE3{gap:6px;margin-left:auto;display:flex}.sharedForm-module__apiKeyEntryStat___pC-og{border-radius:10px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.sharedForm-module__apiKeyEntryStat___pC-og svg{display:block}.sharedForm-module__apiKeyEntryStatSuccess___PbODP{background:var(--success-badge-bg);color:var(--success-badge-text)}.sharedForm-module__apiKeyEntryStatFailure___0l7My{background:var(--failure-badge-bg);color:var(--failure-badge-text)}.SponsorQuickStartPanel-module__panel___WanDv{background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:22px;min-width:0;padding:20px;display:flex}.SponsorQuickStartPanel-module__header___tCgCw{flex-direction:row;align-items:flex-start;min-width:0;display:flex}.SponsorQuickStartPanel-module__topLink___Bo7sg{border-radius:var(--radius-md);min-width:0;max-width:100%;height:30px;color:var(--muted-foreground);overflow-wrap:anywhere;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.SponsorQuickStartPanel-module__topLink___Bo7sg:hover{background:var(--bg-hover);color:var(--text-primary)}.SponsorQuickStartPanel-module__topLink___Bo7sg:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.SponsorQuickStartPanel-module__topLink___Bo7sg svg{flex-shrink:0}.SponsorQuickStartPanel-module__titleRow___p9NN3{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.SponsorQuickStartPanel-module__logo___0BbrZ{border-radius:var(--radius-md);object-fit:contain;flex-shrink:0;width:30px;height:30px}.SponsorQuickStartPanel-module__titleText___CiGYk{flex-direction:column;gap:4px;min-width:0;display:flex}.SponsorQuickStartPanel-module__title___6T9tS{color:var(--text-primary);letter-spacing:0;margin:0;font-size:24px;font-weight:700;line-height:1.22}.SponsorQuickStartPanel-module__footer___I9JkV{justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}.SponsorQuickStartPanel-module__empty___BFE7c{border:1px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;color:var(--muted-foreground);padding:32px;font-size:14px}.SponsorQuickStartPanel-module__emptyActions___JfEjQ{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.SponsorQuickStartPanel-module__emptyActionButton___esMyY{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;padding:7px 13px;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.SponsorQuickStartPanel-module__emptyActionButton___esMyY:hover{border-color:var(--border-hover);background:var(--bg-hover)}.SponsorQuickStartPanel-module__emptyActionButton___esMyY:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.SponsorQuickStartPanel-module__emptyActionButton___esMyY:disabled{cursor:not-allowed;opacity:.6}.SponsorQuickStartPanel-module__emptyActionButtonPrimary___jkGpV{border-color:var(--primary-color);background:var(--primary-color);color:var(--primary-contrast);font-weight:600}.SponsorQuickStartPanel-module__emptyActionButtonPrimary___jkGpV:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}.SponsorQuickStartPanel-module__emptyActionButtonPrimary___jkGpV:focus-visible{outline-color:var(--primary-color)}.SponsorQuickStartPanel-module__emptyActionButtonEmphasis___SFvE3{color:var(--amber-text);border-color:color-mix(in srgb, var(--amber-color) 48%, var(--border-color));background:color-mix(in srgb, var(--amber-color) 14%, var(--bg-primary));box-shadow:0 1px 0 color-mix(in srgb, var(--amber-color) 18%, transparent);font-weight:600}.SponsorQuickStartPanel-module__emptyActionButtonEmphasis___SFvE3:hover{border-color:color-mix(in srgb, var(--amber-color) 72%, var(--border-color));background:color-mix(in srgb, var(--amber-color) 20%, var(--bg-primary));box-shadow:0 4px 12px color-mix(in srgb, var(--amber-color) 18%, transparent)}.SponsorQuickStartPanel-module__emptyActionButtonEmphasis___SFvE3:focus-visible{outline-color:var(--amber-color)}.SponsorQuickStartPanel-module__primaryAction___xpqum{height:38px;font-size:14px;font-weight:600;line-height:1}.SponsorQuickStartPanel-module__spin___74eZ9{animation:.8s linear infinite SponsorQuickStartPanel-module__sponsor-quick-start-spin___iLZgr}@keyframes SponsorQuickStartPanel-module__sponsor-quick-start-spin___iLZgr{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){.SponsorQuickStartPanel-module__panel___WanDv{gap:18px;padding:16px}.SponsorQuickStartPanel-module__title___6T9tS{font-size:22px;line-height:1.25}.SponsorQuickStartPanel-module__titleRow___p9NN3{gap:10px}.SponsorQuickStartPanel-module__footer___I9JkV{justify-content:stretch}.SponsorQuickStartPanel-module__footer___I9JkV button{justify-content:center;width:100%}}.Sheet-module__overlay___z8D5E{opacity:0;z-index:2000;background:#00000080;justify-content:flex-end;transition:opacity .2s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.Sheet-module__overlay___z8D5E.Sheet-module__entering___-FNfE{opacity:1}.Sheet-module__overlay___z8D5E.Sheet-module__exiting___q7zPi{opacity:0}.Sheet-module__content___ITPBZ{background:var(--bg-primary);border-left:1px solid var(--border-color);box-shadow:var(--floating-shadow);outline:none;flex-direction:column;height:100%;transition:transform .28s cubic-bezier(.32,.72,0,1);display:flex;position:relative;transform:translate(100%)}.Sheet-module__content___ITPBZ.Sheet-module__entering___-FNfE{transform:translate(0)}.Sheet-module__content___ITPBZ.Sheet-module__exiting___q7zPi{transform:translate(100%)}.Sheet-module__sizeMd___ziRMr{width:min(640px,100vw)}.Sheet-module__sizeLg___32pg7{width:min(720px,100vw)}.Sheet-module__sizeXl___AvWCt{width:min(960px,100vw)}.Sheet-module__header___cUB1H{border-bottom:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:4px;padding:20px 56px 20px 24px;display:flex}.Sheet-module__eyebrow___Duxhe{text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-size:11px;font-weight:500}.Sheet-module__title___1-JZS{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.Sheet-module__description___Xg2Ae{color:var(--muted-foreground);margin:0;font-size:13px;line-height:1.5}.Sheet-module__body___Aso8V{flex:1;padding:24px;overflow-y:auto}.Sheet-module__footer___kLZWM{border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;display:flex}.Sheet-module__closeBtn___s0cgQ{width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex;position:absolute;top:14px;right:14px}.Sheet-module__closeBtn___s0cgQ:hover{background:var(--bg-tertiary);color:var(--text-primary)}.Sheet-module__closeBtn___s0cgQ:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:640px){.Sheet-module__content___ITPBZ{border-left:none;width:100vw!important}.Sheet-module__header___cUB1H{padding:16px 52px 16px 16px}.Sheet-module__body___Aso8V{padding:16px}.Sheet-module__footer___kLZWM{padding:12px 16px}}.ExcludedModelRuleChip-module__chipRow___GZYjd{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.ExcludedModelRuleChip-module__chip___ZHu9n{min-width:0;max-width:100%;color:var(--text-primary);border-radius:9999px;align-items:center;gap:4px;padding:4px 5px 4px 9px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5;display:inline-flex}.ExcludedModelRuleChip-module__label___zHuRH{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ExcludedModelRuleChip-module__detail___BSOjb{color:var(--text-tertiary);flex-shrink:0;font-size:10px}.ExcludedModelRuleChip-module__exact___Ly9hr{border:1px solid color-mix(in srgb, var(--primary-color) 45%, var(--border-color));background:color-mix(in srgb, var(--primary-color) 8%, var(--bg-primary))}.ExcludedModelRuleChip-module__wildcard___8GF-X{border:1px dashed color-mix(in srgb, var(--primary-color) 38%, var(--border-color));color:var(--text-secondary);background:0 0}.ExcludedModelRuleChip-module__unknown___QmPur{border:1px dashed var(--border-color);color:var(--text-tertiary);background:0 0}.ExcludedModelRuleChip-module__remove___yO0z3{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ExcludedModelRuleChip-module__remove___yO0z3:active:not(:disabled){transform:scale(.9)}.ExcludedModelRuleChip-module__remove___yO0z3:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.ExcludedModelRuleChip-module__remove___yO0z3:disabled{cursor:not-allowed;opacity:.5}@media (hover:hover) and (pointer:fine){.ExcludedModelRuleChip-module__remove___yO0z3:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}}@media (prefers-reduced-motion:reduce){.ExcludedModelRuleChip-module__remove___yO0z3{transition:none}.ExcludedModelRuleChip-module__remove___yO0z3:active:not(:disabled){transform:none}}.ExcludedModelsPicker-module__root___RYF7X{flex-direction:column;gap:8px;min-width:0;display:flex}.ExcludedModelsPicker-module__trigger___ycSKU{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;min-height:40px;color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex;position:relative;overflow:hidden}.ExcludedModelsPicker-module__trigger___ycSKU:active:not(:disabled){transform:scale(.99)}.ExcludedModelsPicker-module__trigger___ycSKU:focus-visible{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #8b86802e}.ExcludedModelsPicker-module__trigger___ycSKU:disabled{cursor:not-allowed;opacity:.6}@media (hover:hover) and (pointer:fine){.ExcludedModelsPicker-module__trigger___ycSKU:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary-color) 40%, var(--border-color))}}.ExcludedModelsPicker-module__triggerText___lbBd4{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.ExcludedModelsPicker-module__triggerSpinner___xL-cS{color:var(--text-tertiary);flex-shrink:0;animation:.9s linear infinite ExcludedModelsPicker-module__excluded-spin___g-h0p}.ExcludedModelsPicker-module__chevron___FcR89{color:var(--text-tertiary);transition:transform var(--dur-hover,.2s) var(--ease-out-strong,ease-out);flex-shrink:0}.ExcludedModelsPicker-module__triggerOpen___OMivu .ExcludedModelsPicker-module__chevron___FcR89{transform:rotate(180deg)}.ExcludedModelsPicker-module__meter___0ZOIu{background:var(--bg-tertiary);height:2px;position:absolute;bottom:0;left:0;right:0}.ExcludedModelsPicker-module__meterFill___svWrl{background:color-mix(in srgb, var(--primary-color) 70%, var(--text-primary));height:100%;transition:width .36s var(--ease-out-strong,ease);display:block}.ExcludedModelsPicker-module__disclosure___5zAsh{grid-template-rows:0fr;transition:grid-template-rows .12s ease-in;display:grid}.ExcludedModelsPicker-module__disclosureOpen___BTQ7b{transition:grid-template-rows var(--dur-hover,.2s) var(--ease-out-strong,ease-out);grid-template-rows:1fr}.ExcludedModelsPicker-module__disclosureInner___swIxx{min-height:0;overflow:hidden}.ExcludedModelsPicker-module__panel___-GHUW{border:1px solid var(--border-color);background:var(--bg-secondary);transform-origin:top;animation:ExcludedModelsPicker-module__excluded-panel-in___sw1uB var(--dur-hover,.2s) var(--ease-out-strong,ease-out) both;border-radius:8px;flex-direction:column;margin-top:6px;display:flex;overflow:hidden}@keyframes ExcludedModelsPicker-module__excluded-panel-in___sw1uB{0%{opacity:0;transform:scale(.98)}}@keyframes ExcludedModelsPicker-module__excluded-spin___g-h0p{to{transform:rotate(360deg)}}.ExcludedModelsPicker-module__searchRow___vhaLm{border-bottom:1px solid var(--border-color);align-items:center;padding:8px;display:flex;position:relative}.ExcludedModelsPicker-module__searchIcon___kl49Z{color:var(--text-tertiary);pointer-events:none;position:absolute;left:18px}.ExcludedModelsPicker-module__search___eAW6Q{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:4px;padding:6px 10px 6px 32px;font-size:12px}.ExcludedModelsPicker-module__search___eAW6Q::placeholder{color:var(--text-tertiary)}.ExcludedModelsPicker-module__search___eAW6Q:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #8b86802e}.ExcludedModelsPicker-module__list___r-52c{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;max-height:260px;padding:6px;display:flex;overflow-y:auto}.ExcludedModelsPicker-module__row___-dgzQ{cursor:pointer;transition:background-color var(--dur-press,.16s) var(--ease-out-strong,ease-out);border-radius:4px;align-items:center;gap:8px;padding:7px 8px;display:flex}.ExcludedModelsPicker-module__row___-dgzQ:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.ExcludedModelsPicker-module__rowHighlighted___TXsS-{background:var(--bg-tertiary)}.ExcludedModelsPicker-module__rowExcluded___QwTAb .ExcludedModelsPicker-module__checkbox___LBJlR{border-color:var(--primary-color);background:var(--primary-color);color:var(--bg-primary)}.ExcludedModelsPicker-module__rowLocked___yX5xZ{cursor:default;opacity:.62}.ExcludedModelsPicker-module__checkbox___LBJlR{border:1px solid var(--border-color);background:var(--bg-primary);width:16px;height:16px;transition:background-color var(--dur-press,.16s) var(--ease-out-strong,ease-out), border-color var(--dur-press,.16s) var(--ease-out-strong,ease-out);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ExcludedModelsPicker-module__rowText___VJ0uV{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ExcludedModelsPicker-module__rowId___6yGuV{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.ExcludedModelsPicker-module__rowDisplayName___c-Ifl,.ExcludedModelsPicker-module__rowReason___1c7c2{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ExcludedModelsPicker-module__badge___vrwIy{border:1px dashed color-mix(in srgb, var(--primary-color) 38%, var(--border-color));color:var(--text-secondary);border-radius:9999px;flex-shrink:0;padding:2px 6px;font-size:10px}.ExcludedModelsPicker-module__badgeMuted___SAngk{color:var(--text-tertiary);border-style:dotted}.ExcludedModelsPicker-module__noResults___Qohto{color:var(--text-tertiary);text-align:center;margin:0;padding:24px 8px;font-size:12px}.ExcludedModelsPicker-module__footer___eApyV{border-top:1px solid var(--border-color);background:var(--bg-primary);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.ExcludedModelsPicker-module__footerCount___S0dwv{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.ExcludedModelsPicker-module__footerActions___1UCO6{align-items:center;gap:4px;display:inline-flex}.ExcludedModelsPicker-module__footerButton___BcU1G{color:var(--text-secondary);cursor:pointer;transition:background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);background:0 0;border:0;border-radius:4px;padding:4px 8px;font-size:11px}.ExcludedModelsPicker-module__footerButton___BcU1G:active:not(:disabled){transform:scale(.96)}.ExcludedModelsPicker-module__footerButton___BcU1G:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.ExcludedModelsPicker-module__footerButton___BcU1G:disabled{cursor:not-allowed;opacity:.5}@media (hover:hover) and (pointer:fine){.ExcludedModelsPicker-module__footerButton___BcU1G:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}}.ExcludedModelsPicker-module__catalogNotice___Vuj8F{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:12px;font-size:12px;display:flex}.ExcludedModelsPicker-module__retryButton___xLpOx{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:11px}.ExcludedModelsPicker-module__retryButton___xLpOx:active{transform:scale(.96)}.ExcludedModelsPicker-module__chipsMore___qiTQK{color:var(--text-tertiary);align-self:center;font-size:11px}.ExcludedModelsPicker-module__ruleEditor___BnPbg{flex-direction:column;gap:6px;display:flex}.ExcludedModelsPicker-module__ruleLabel___Vs3uq{color:var(--text-secondary);font-size:12px;font-weight:500}.ExcludedModelsPicker-module__ruleMatches___aaZnY{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ExcludedModelsPicker-module__ruleMatches___aaZnY li{color:var(--text-tertiary);align-items:center;gap:6px;font-size:11px;display:flex}.ExcludedModelsPicker-module__ruleMatches___aaZnY code{color:var(--text-secondary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.ExcludedModelsPicker-module__ruleMatchNone___GTDUi{color:var(--warning-color,#c65746)}.ExcludedModelsPicker-module__ruleWarning___lcScQ{color:var(--warning-color,#c65746);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}@media (prefers-reduced-motion:reduce){.ExcludedModelsPicker-module__disclosure___5zAsh,.ExcludedModelsPicker-module__disclosureOpen___BTQ7b{transition:none}.ExcludedModelsPicker-module__panel___-GHUW{animation:none}.ExcludedModelsPicker-module__trigger___ycSKU,.ExcludedModelsPicker-module__chevron___FcR89,.ExcludedModelsPicker-module__meterFill___svWrl,.ExcludedModelsPicker-module__row___-dgzQ,.ExcludedModelsPicker-module__checkbox___LBJlR,.ExcludedModelsPicker-module__footerButton___BcU1G,.ExcludedModelsPicker-module__retryButton___xLpOx{transition:none}.ExcludedModelsPicker-module__triggerSpinner___xL-cS{animation:none}.ExcludedModelsPicker-module__trigger___ycSKU:active:not(:disabled),.ExcludedModelsPicker-module__footerButton___BcU1G:active:not(:disabled),.ExcludedModelsPicker-module__retryButton___xLpOx:active{transform:none}}.ProvidersWorkbenchPage-module__page___b5s-a{box-sizing:border-box;flex-direction:column;gap:20px;width:100%;padding:24px;display:flex}.ProvidersWorkbenchPage-module__layout___MCNil{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (min-width:1280px){.ProvidersWorkbenchPage-module__layout___MCNil{grid-template-columns:240px minmax(0,1fr)}.ProvidersWorkbenchPage-module__layoutSingle___xRaf-{grid-template-columns:minmax(0,1fr)}}.ProvidersWorkbenchPage-module__modelCatalogSlot___bAD6H{margin-top:4px}@media (max-width:768px){.ProvidersWorkbenchPage-module__page___b5s-a{gap:16px;padding:16px}}.AuthFileQuota-module__quotaSection___B1NkU{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:color-mix(in srgb, var(--bg-secondary) 55%, transparent);border-radius:10px;flex-direction:column;gap:9px;padding:10px 11px;display:flex}.AuthFileQuota-module__quotaMessage___cvzkK{color:var(--text-tertiary);text-align:center;padding:5px 4px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.5}button.AuthFileQuota-module__quotaMessageAction___B2326{cursor:pointer;color:var(--text-secondary);background:0 0;border:0;transition:color .15s}button.AuthFileQuota-module__quotaMessageAction___B2326:hover:not(:disabled){color:var(--primary-hover)}button.AuthFileQuota-module__quotaMessageAction___B2326:disabled{cursor:not-allowed;color:var(--text-quaternary)}.AuthFileQuota-module__quotaError___j6Dml{color:var(--danger-color);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.AuthFileQuota-module__quotaCardActions___Wy2PY{justify-content:flex-end;gap:6px;display:flex}.AuthFileQuota-module__quotaResetCreditButton___CdV7t{white-space:nowrap}.AuthFileQuota-module__quotaRow___ufmMU{flex-direction:column;gap:4px;display:flex}.AuthFileQuota-module__quotaRowHeader___V-41W{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.AuthFileQuota-module__quotaModel___C-dFE{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.AuthFileQuota-module__quotaMeta___uftxo{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:baseline;gap:6px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;display:inline-flex}.AuthFileQuota-module__quotaPercent___WY2j6{color:var(--text-primary);font-weight:650}.AuthFileQuota-module__quotaReset___qSOIY{color:var(--text-quaternary)}.AuthFileQuota-module__quotaAmount___xZEJm{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px}.AuthFileQuota-module__quotaBar___5C9oU{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:9999px;height:6px;overflow:hidden}.AuthFileQuota-module__quotaBarFill___vBml3{height:100%;transition:width .36s var(--ease-out-strong,ease);border-radius:9999px}.AuthFileQuota-module__quotaBarFillHigh___Z22Yp{background:var(--viz-success)}.AuthFileQuota-module__quotaBarFillMedium___FwcLR{background:var(--quota-medium-color)}.AuthFileQuota-module__quotaBarFillLow___ose2c{background:var(--viz-failure)}.AuthFileQuota-module__codexPlan___qVz5l{flex-wrap:wrap;gap:6px;display:flex}.AuthFileQuota-module__codexPlanItem___VZnNr{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 70%, transparent);border-radius:9999px;align-items:baseline;gap:5px;padding:3px 8px;display:inline-flex}.AuthFileQuota-module__codexPlanLabel___K-Sbq{color:var(--text-tertiary);font-size:10.5px}.AuthFileQuota-module__codexPlanValue___6W2YL{color:var(--text-secondary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:650}.AuthFileQuota-module__premiumPlanValue___3e3wf{color:var(--amber-text);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:700}.AuthFileQuota-module__elitePlanValue___H1P29{color:#526379;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:700}[data-theme=dark] .AuthFileQuota-module__elitePlanValue___H1P29{color:#c3d3e4}.AuthFileQuota-module__antigravityQuotaGroup___cGr3L{flex-direction:column;gap:6px;display:flex}.AuthFileQuota-module__antigravityQuotaGroup___cGr3L+.AuthFileQuota-module__antigravityQuotaGroup___cGr3L{border-top:1px dashed color-mix(in srgb, var(--border-color) 80%, transparent);margin-top:3px;padding-top:8px}.AuthFileQuota-module__antigravityQuotaGroupHeader___I5iUs{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.AuthFileQuota-module__antigravityQuotaGroupTitle___IcwtE{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:700}.AuthFileQuota-module__antigravityQuotaGroupDescription___QIQvW{color:var(--text-quaternary);font-size:10.5px}.AuthFileQuota-module__codexResetCredits___ck-iL{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);border-radius:8px;flex-direction:column;gap:4px;padding:8px 9px;display:flex}.AuthFileQuota-module__codexResetCreditsTitle___L5hee{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:700}.AuthFileQuota-module__codexResetCreditRow___BpvcM{justify-content:space-between;align-items:baseline;gap:8px;font-size:11.5px;display:flex}.AuthFileQuota-module__codexResetCreditLabel___CXf0-{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.AuthFileQuota-module__codexResetCreditTime___TjNwy{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.AuthFileQuota-module__codexResetCreditsError___HoA4w{color:var(--danger-color);overflow-wrap:anywhere;font-size:11px}@media (max-width:768px){.AuthFileQuota-module__quotaRowHeader___V-41W{flex-direction:column;align-items:flex-start}.AuthFileQuota-module__quotaModel___C-dFE{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;width:100%;overflow:visible}}@media (prefers-reduced-motion:reduce){.AuthFileQuota-module__quotaBarFill___vBml3{transition:none}}.AuthFileCard-module__card___uGYSU{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 82%, transparent);transition:transform var(--dur-hover,.2s) var(--ease-out-strong,ease-out), border-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), box-shadow var(--dur-hover,.2s) var(--ease-out-strong,ease-out);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.AuthFileCard-module__card___uGYSU:hover{border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 12px 26px -14px #00000029}}.AuthFileCard-module__cardCompact___OASyT{gap:10px;padding:13px 14px}.AuthFileCard-module__cardSelected___8nfCV{border-color:color-mix(in srgb, var(--primary-color) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary-color) 40%, transparent)}.AuthFileCard-module__cardDisabled___VNdBP{background:color-mix(in srgb, var(--bg-primary) 55%, transparent)}.AuthFileCard-module__cardDisabled___VNdBP .AuthFileCard-module__head___v8x8N,.AuthFileCard-module__cardDisabled___VNdBP .AuthFileCard-module__fileName___4SoBR,.AuthFileCard-module__cardDisabled___VNdBP .AuthFileCard-module__note___1z3AW,.AuthFileCard-module__cardDisabled___VNdBP .AuthFileCard-module__health___QjVqU,.AuthFileCard-module__cardDisabled___VNdBP .AuthFileCard-module__metaRow___nfLnW{opacity:.55}.AuthFileCard-module__cardEnter___sxjp9{animation:AuthFileCard-module__card-in___3x8Zj .45s var(--ease-out-strong,ease-out) both;animation-delay:var(--card-delay,0s)}@keyframes AuthFileCard-module__card-in___3x8Zj{0%{opacity:0;transform:translateY(16px)}}.AuthFileCard-module__head___v8x8N{align-items:flex-start;gap:10px;display:flex}.AuthFileCard-module__selection___U0qhE{margin-top:8px}.AuthFileCard-module__avatar___ZtCqm{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.AuthFileCard-module__avatarImage___liG5p{object-fit:contain;width:20px;height:20px}.AuthFileCard-module__avatarFallback___y-dhT{font-size:14px;font-weight:700}.AuthFileCard-module__identity___eeILs{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.AuthFileCard-module__badgeRow___rU21A{align-items:center;gap:6px;display:flex}.AuthFileCard-module__typeBadge___-WBFZ{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.5}.AuthFileCard-module__stateBadge___GrbCH{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:9999px;align-items:center;gap:5px;margin-left:auto;padding:2px 8px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:700;line-height:1.6;display:inline-flex}.AuthFileCard-module__stateDot___OXXQL{background:var(--text-quaternary);border-radius:50%;width:5px;height:5px}.AuthFileCard-module__stateActive___G5S8g{color:var(--success-badge-text);border-color:color-mix(in srgb, var(--viz-success) 35%, transparent);background:color-mix(in srgb, var(--viz-success) 8%, transparent)}.AuthFileCard-module__stateActive___G5S8g .AuthFileCard-module__stateDot___OXXQL{background:var(--viz-success)}.AuthFileCard-module__stateWarning___9jbNL{color:var(--amber-text);border-color:var(--amber-30);background:var(--amber-10)}.AuthFileCard-module__stateWarning___9jbNL .AuthFileCard-module__stateDot___OXXQL{background:var(--amber-color)}.AuthFileCard-module__stateDisabled___6YxCO{color:var(--text-tertiary);border-color:var(--border-color);background:var(--bg-tertiary)}.AuthFileCard-module__stateVirtual___X3Cqd{color:var(--text-secondary);border-style:dashed;border-color:var(--border-hover)}.AuthFileCard-module__account___Rff3G{letter-spacing:-.005em;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.35;overflow:hidden}.AuthFileCard-module__accountMono___j0kio{letter-spacing:-.01em;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.AuthFileCard-module__fileName___4SoBR{color:var(--text-tertiary);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:-4px 0 0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.AuthFileCard-module__note___1z3AW{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;line-height:1.5;overflow:hidden}.AuthFileCard-module__warning___fbAFD{color:var(--warning-text);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;align-items:flex-start;gap:6px;padding:7px 9px;font-size:12px;line-height:1.45;display:flex}.AuthFileCard-module__warning___fbAFD span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.AuthFileCard-module__warningIcon___uDlER{flex-shrink:0;margin-top:2px}.AuthFileCard-module__health___QjVqU{flex-direction:column;gap:7px;display:flex}.AuthFileCard-module__healthHead___qOS-e{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.AuthFileCard-module__healthLabel___aT74P{letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:700}.AuthFileCard-module__healthCounts___CpV5-{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11.5px;font-weight:600;display:inline-flex}.AuthFileCard-module__countOk___3T-mO,.AuthFileCard-module__countFail___FiHCK{color:var(--text-quaternary)}.AuthFileCard-module__countLive___GrmF6.AuthFileCard-module__countOk___3T-mO{color:var(--viz-success)}.AuthFileCard-module__countLive___GrmF6.AuthFileCard-module__countFail___FiHCK{color:var(--viz-failure)}.AuthFileCard-module__statusBar___l4HLW{align-items:center;gap:8px;display:flex}.AuthFileCard-module__statusBlocks___QcWpO{flex:1;gap:2px;min-width:0;display:flex}.AuthFileCard-module__statusBlockWrapper___XDWa-{flex:1 1 0;min-width:3px;position:relative}.AuthFileCard-module__statusBlock___HUSel{border-radius:2px;height:14px}.AuthFileCard-module__statusBlockIdle___fhxJM{background:color-mix(in srgb, var(--text-quaternary) 26%, transparent)}.AuthFileCard-module__statusBlockActive___cEW6c .AuthFileCard-module__statusBlock___HUSel{outline:1px solid var(--text-secondary);outline-offset:1px}.AuthFileCard-module__statusRate___Qq2JK{font-variant-numeric:tabular-nums;color:var(--text-quaternary);text-align:right;min-width:40px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11.5px;font-weight:650}.AuthFileCard-module__statusRateHigh___KqEoP{color:var(--viz-success)}.AuthFileCard-module__statusRateMedium___2EC-8{color:var(--quota-medium-color)}.AuthFileCard-module__statusRateLow___6aoPQ{color:var(--viz-failure)}.AuthFileCard-module__statusTooltip___Wkvm1{z-index:20;background:var(--floating-surface);border:1px solid var(--border-color);min-width:150px;box-shadow:var(--floating-shadow);pointer-events:none;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.5;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.AuthFileCard-module__statusTooltipLeft___8BuX-{left:0;transform:none}.AuthFileCard-module__statusTooltipRight___IH6DF{left:auto;right:0;transform:none}.AuthFileCard-module__tooltipTime___0UfaN{color:var(--text-tertiary);letter-spacing:.03em}.AuthFileCard-module__tooltipStats___IyHCo{color:var(--text-secondary);flex-wrap:wrap;gap:6px;display:flex}.AuthFileCard-module__tooltipSuccess___p9K34{color:var(--viz-success)}.AuthFileCard-module__tooltipFailure___YFaP8{color:var(--viz-failure)}.AuthFileCard-module__tooltipRate___GoIfn{color:var(--text-secondary)}.AuthFileCard-module__metaRow___nfLnW{font-variant-numeric:tabular-nums;color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:4px 7px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11.5px;display:flex}.AuthFileCard-module__metaDivider___YdOzs{color:var(--text-quaternary);-webkit-user-select:none;user-select:none}.AuthFileCard-module__metaPriority___MNn3v,.AuthFileCard-module__metaWeight___ev--T{white-space:nowrap;border:1px solid #0000;border-radius:9999px;align-items:baseline;gap:4px;padding:2px 6px;font-weight:650;line-height:1.35;display:inline-flex}.AuthFileCard-module__metaPriority___MNn3v{color:var(--text-secondary);background:color-mix(in srgb, var(--text-quaternary) 10%, transparent);border-color:color-mix(in srgb, var(--text-quaternary) 24%, transparent)}.AuthFileCard-module__metaWeight___ev--T{color:var(--primary-active);background:var(--primary-10);border-color:var(--primary-30)}.AuthFileCard-module__metaMetricLabel___ZyF33{color:currentColor;opacity:.78;font-size:10px;font-weight:600}.AuthFileCard-module__actions___rRBeL{border-top:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.AuthFileCard-module__actionsMain___9-6f3{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.AuthFileCard-module__utilityActions___1eq5S{align-items:center;gap:4px;display:flex}.AuthFileCard-module__actions___rRBeL .btn>span{justify-content:center;align-items:center;gap:6px;line-height:1;display:inline-flex}.AuthFileCard-module__actions___rRBeL .btn svg{flex-shrink:0;display:block}.AuthFileCard-module__card___uGYSU .AuthFileCard-module__actions___rRBeL .AuthFileCard-module__iconButton___XdMXe{border:1px solid var(--border-color);width:30px;height:30px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.AuthFileCard-module__card___uGYSU .AuthFileCard-module__actions___rRBeL .AuthFileCard-module__iconButton___XdMXe.btn-danger{color:var(--danger-color);border-color:color-mix(in srgb, var(--danger-color) 28%, transparent)}@media (hover:hover) and (pointer:fine){.AuthFileCard-module__card___uGYSU .AuthFileCard-module__actions___rRBeL .AuthFileCard-module__iconButton___XdMXe:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-tertiary)}.AuthFileCard-module__card___uGYSU .AuthFileCard-module__actions___rRBeL .AuthFileCard-module__iconButton___XdMXe.btn-danger:hover:not(:disabled){color:var(--danger-color);border-color:color-mix(in srgb, var(--danger-color) 45%, transparent);background:var(--destructive-10)}}.AuthFileCard-module__actions___rRBeL .btn{transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out), background-color .15s ease, border-color .15s ease, color .15s ease}.AuthFileCard-module__actions___rRBeL .btn:active:not(:disabled){transform:scale(.96)}.AuthFileCard-module__toggleWrap___QD-r9{flex-shrink:0;align-items:center;gap:8px;display:flex}.AuthFileCard-module__toggleLabel___StDgj{color:var(--text-tertiary);white-space:nowrap;font-size:11px}@media (max-width:768px){.AuthFileCard-module__actions___rRBeL{flex-wrap:wrap}.AuthFileCard-module__actionsMain___9-6f3{width:100%}.AuthFileCard-module__actionsMain___9-6f3>.btn{flex:auto;min-width:0}.AuthFileCard-module__toggleWrap___QD-r9{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){.AuthFileCard-module__card___uGYSU{transition:none}.AuthFileCard-module__cardEnter___sxjp9{animation:none}.AuthFileCard-module__actions___rRBeL .btn{transition:none}.AuthFileCard-module__actions___rRBeL .btn:active:not(:disabled){transform:none}}.AuthFileDetailsSheet-module__editor___DbnN-{flex-direction:column;gap:16px;display:flex}.AuthFileDetailsSheet-module__loading___H-cxN{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:24px 0;font-size:13px;display:flex}.AuthFileDetailsSheet-module__error___0Uib2{color:var(--danger-color);background:var(--bg-error-light);border:1px solid var(--warning-border);overflow-wrap:anywhere;border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.5}.AuthFileDetailsSheet-module__jsonWrapper___sDPqO{flex-direction:column;gap:6px;display:flex}.AuthFileDetailsSheet-module__label___b-EEy{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10.5px;font-weight:700}.AuthFileDetailsSheet-module__textarea___5tXvP{box-sizing:border-box;resize:vertical;width:100%;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:10px 12px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55}.AuthFileDetailsSheet-module__textarea___5tXvP:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-10);outline:none}.AuthFileDetailsSheet-module__textareaInvalid___IyPX0{border-color:var(--danger-color)!important}.AuthFileDetailsSheet-module__invalidPreview___XEQ5F{max-height:240px;color:var(--text-secondary);background:var(--bg-secondary);border:1px dashed var(--border-hover);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:0;padding:10px 12px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;overflow:auto}.AuthFileDetailsSheet-module__fields___fA024{flex-direction:column;gap:14px;display:flex}.AuthFileModelsModal-module__list___owxkk{flex-direction:column;gap:4px;max-height:min(52dvh,480px);padding-right:2px;display:flex;overflow-y:auto}.AuthFileModelsModal-module__item___pNrxv{cursor:pointer;transition:background-color .15s ease, border-color .15s ease, transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);border:1px solid #0000;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.AuthFileModelsModal-module__item___pNrxv:active{transform:scale(.99)}@media (hover:hover) and (pointer:fine){.AuthFileModelsModal-module__item___pNrxv:hover{background:var(--bg-tertiary);border-color:color-mix(in srgb, var(--border-color) 70%, transparent)}}.AuthFileModelsModal-module__itemExcluded___BKMCE{opacity:.55}.AuthFileModelsModal-module__modelId___Y02bh{color:var(--text-primary);overflow-wrap:anywhere;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12.5px;font-weight:600}.AuthFileModelsModal-module__modelDisplayName___wrhaX{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.AuthFileModelsModal-module__modelType___O1w-v{letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:9999px;padding:1px 6px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:650}.AuthFileModelsModal-module__excludedBadge___9NpWz{color:var(--failure-badge-text);background:var(--failure-badge-bg);border:1px solid var(--failure-badge-border);white-space:nowrap;border-radius:9999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:600}@media (prefers-reduced-motion:reduce){.AuthFileModelsModal-module__item___pNrxv{transition:none}.AuthFileModelsModal-module__item___pNrxv:active{transform:none}}.AuthFilesToolbar-module__toolbar___xJGiG{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.AuthFilesToolbar-module__search___2q5J4{flex:220px;min-width:180px;max-width:340px}.AuthFilesToolbar-module__search___2q5J4 .form-group{margin-bottom:0}.AuthFilesToolbar-module__search___2q5J4 .input{border-radius:10px;height:36px;font-size:13px}.AuthFilesToolbar-module__searchIcon___sQlFr{color:var(--text-quaternary)}.AuthFilesToolbar-module__segmented___OI8vp{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:9999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.AuthFilesToolbar-module__segment___wRkEj{cursor:pointer;color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);background:0 0;border:0;border-radius:9999px;padding:6px 12px;font-size:12px;font-weight:550;line-height:1.3}.AuthFilesToolbar-module__segment___wRkEj:active{transform:scale(.96)}.AuthFilesToolbar-module__segment___wRkEj:focus-visible{outline:2px solid var(--primary-color);outline-offset:-1px}@media (hover:hover) and (pointer:fine){.AuthFilesToolbar-module__segment___wRkEj:hover{color:var(--text-primary)}}.AuthFilesToolbar-module__segmentActive___4XmQp{color:var(--text-primary);background:var(--bg-primary);box-shadow:var(--shadow);font-weight:650}.AuthFilesToolbar-module__segmentProblem___fftxA.AuthFilesToolbar-module__segmentActive___4XmQp{color:var(--danger-color)}.AuthFilesToolbar-module__sort___hfQv4{min-width:120px}.AuthFilesToolbar-module__display___ZcDgU{position:relative}.AuthFilesToolbar-module__displayButton___v26R8{border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;height:32px;color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), border-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);border-radius:9999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:550;display:inline-flex}.AuthFilesToolbar-module__displayButton___v26R8:active{transform:scale(.96)}.AuthFilesToolbar-module__displayButton___v26R8:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}@media (hover:hover) and (pointer:fine){.AuthFilesToolbar-module__displayButton___v26R8:hover{color:var(--text-primary);border-color:var(--border-hover)}}.AuthFilesToolbar-module__displayButtonActive___hkNkR{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-primary)}.AuthFilesToolbar-module__popover___64-5U{z-index:1000;border:1px solid var(--border-color);background:var(--floating-surface);min-width:216px;box-shadow:var(--floating-shadow);transform-origin:100% 0;animation:AuthFilesToolbar-module__toolbar-popover-in___oVLK9 var(--dur-hover,.2s) var(--ease-out-strong,ease-out) both;border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 6px);right:0}@keyframes AuthFilesToolbar-module__toolbar-popover-in___oVLK9{0%{opacity:0;transform:scale(.95)}}.AuthFilesToolbar-module__popoverRow___hYSuJ{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:12.5px;display:flex}.AuthFilesToolbar-module__pageSizeInput___A1-5i{border:1px solid var(--border-color);background:var(--bg-secondary);width:64px;height:30px;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;border-radius:8px;padding:0 8px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12.5px}.AuthFilesToolbar-module__pageSizeInput___A1-5i:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-10);outline:none}.AuthFilesToolbar-module__deleteAction___2-7Wv{cursor:pointer;height:32px;color:var(--danger-color);white-space:nowrap;transition:background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), border-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);background:0 0;border:1px solid #0000;border-radius:9999px;align-items:center;gap:6px;margin-left:auto;padding:0 12px;font-size:12px;font-weight:550;display:inline-flex}.AuthFilesToolbar-module__deleteAction___2-7Wv:disabled{cursor:not-allowed;opacity:.5}.AuthFilesToolbar-module__deleteAction___2-7Wv:active:not(:disabled){transform:scale(.96)}.AuthFilesToolbar-module__deleteAction___2-7Wv:focus-visible{outline:2px solid var(--danger-color);outline-offset:1px}@media (hover:hover) and (pointer:fine){.AuthFilesToolbar-module__deleteAction___2-7Wv:hover:not(:disabled){background:var(--destructive-10);border-color:var(--destructive-30)}}@media (max-width:900px){.AuthFilesToolbar-module__search___2q5J4{flex-basis:100%;max-width:none}.AuthFilesToolbar-module__deleteAction___2-7Wv{margin-left:0}}@media (max-width:768px){.AuthFilesToolbar-module__segmented___OI8vp{scrollbar-width:none;max-width:100%;overflow-x:auto}.AuthFilesToolbar-module__segmented___OI8vp::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){.AuthFilesToolbar-module__segment___wRkEj,.AuthFilesToolbar-module__displayButton___v26R8,.AuthFilesToolbar-module__deleteAction___2-7Wv{transition:none}.AuthFilesToolbar-module__segment___wRkEj:active,.AuthFilesToolbar-module__displayButton___v26R8:active,.AuthFilesToolbar-module__deleteAction___2-7Wv:active:not(:disabled){transform:none}.AuthFilesToolbar-module__popover___64-5U{animation:none}}.BatchActionBar-module__container___oXLfi{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:var(--content-center-x,50%);z-index:1000;pointer-events:none;width:min(960px,100vw - 24px);position:fixed;transform:translate(-50%)}.BatchActionBar-module__bar___cs-m2{pointer-events:auto;--glass-blur:14px;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);box-shadow:var(--shadow-lg);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 14px;display:flex}.BatchActionBar-module__left___EoCU-,.BatchActionBar-module__right___g4L9L{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.BatchActionBar-module__count___38ZzY{font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap;padding-right:4px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;font-weight:650}.BatchActionBar-module__bar___cs-m2 .btn{transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out), background-color .15s ease, border-color .15s ease, color .15s ease}.BatchActionBar-module__bar___cs-m2 .btn:active:not(:disabled){transform:scale(.96)}@media (max-width:768px){.BatchActionBar-module__container___oXLfi{width:calc(100vw - 16px)}.BatchActionBar-module__bar___cs-m2{flex-direction:column;align-items:stretch}.BatchActionBar-module__left___EoCU-,.BatchActionBar-module__right___g4L9L{justify-content:center}}@media (prefers-reduced-motion:reduce){.BatchActionBar-module__bar___cs-m2 .btn{transition:none}.BatchActionBar-module__bar___cs-m2 .btn:active:not(:disabled){transform:none}}.OAuthConfigPanels-module__panel___lTVNC{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 82%, transparent);border-radius:16px;flex-direction:column;gap:14px;padding:clamp(16px,2vw,20px);display:flex}.OAuthConfigPanels-module__panelHead___QcS1O{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.OAuthConfigPanels-module__panelTitle___8OaGJ{letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:15px;font-weight:650}.OAuthConfigPanels-module__panelExtra___r-RbC{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.OAuthConfigPanels-module__panelBody___nUIRf{flex-direction:column;gap:8px;min-width:0;display:flex}.OAuthConfigPanels-module__viewModeSwitch___q-BNt{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.OAuthConfigPanels-module__list___yNnv7{flex-direction:column;gap:6px;display:flex}.OAuthConfigPanels-module__item___r5I4p{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:color-mix(in srgb, var(--bg-secondary) 45%, transparent);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;transition:background-color .15s,border-color .15s;display:flex}@media (hover:hover) and (pointer:fine){.OAuthConfigPanels-module__item___r5I4p:hover{border-color:var(--border-hover);background:color-mix(in srgb, var(--bg-secondary) 80%, transparent)}}.OAuthConfigPanels-module__itemInfo___RPe-i{flex-direction:column;gap:2px;min-width:0;display:flex}.OAuthConfigPanels-module__itemProvider___K0Crk{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12.5px;font-weight:650;overflow:hidden}.OAuthConfigPanels-module__itemCount___62JzB{color:var(--text-tertiary);font-size:11.5px}.OAuthConfigPanels-module__itemActions___DgULF{flex-shrink:0;align-items:center;gap:6px;display:flex}.OAuthConfigPanels-module__aliasChartSection___tVJBR{flex-direction:column;gap:8px;min-width:0;display:flex}.OAuthConfigPanels-module__aliasChartHeader___Fwa9W{justify-content:space-between;align-items:center;gap:8px;display:flex}.OAuthConfigPanels-module__aliasChartTitle___Iwot1{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10.5px;font-weight:700}.OAuthConfigPanels-module__aliasChart___43R2f{min-width:0}.OAuthConfigPanels-module__panel___lTVNC .btn{transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out), background-color .15s ease, border-color .15s ease, color .15s ease}.OAuthConfigPanels-module__panel___lTVNC .btn:active:not(:disabled){transform:scale(.96)}@media (prefers-reduced-motion:reduce){.OAuthConfigPanels-module__panel___lTVNC .btn{transition:none}.OAuthConfigPanels-module__panel___lTVNC .btn:active:not(:disabled){transform:none}}.ModelMappingDiagram-module__scrollContainer___CVtMl{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.ModelMappingDiagram-module__tapHint___WVg9j{z-index:3;color:var(--text-secondary);margin-bottom:8px;padding:0 4px;font-size:12px;position:sticky;left:0}.ModelMappingDiagram-module__container___5GMeJ{-webkit-user-select:none;user-select:none;justify-content:space-between;min-width:100%;min-height:300px;padding:20px 0;display:inline-flex;position:relative}@media (max-width:768px){.ModelMappingDiagram-module__container___5GMeJ{min-width:max(100%,960px);padding:12px 0}}.ModelMappingDiagram-module__connections___-pgzq{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.ModelMappingDiagram-module__connections___-pgzq path{fill:none;stroke-width:2px}.ModelMappingDiagram-module__column___Guf-v{z-index:2;flex-direction:column;flex:none;gap:12px;display:flex}.ModelMappingDiagram-module__column___Guf-v.ModelMappingDiagram-module__providers___n0NN6{align-items:flex-end;min-width:140px}.ModelMappingDiagram-module__column___Guf-v.ModelMappingDiagram-module__sources___N646E,.ModelMappingDiagram-module__column___Guf-v.ModelMappingDiagram-module__aliases___zg5ma{align-items:flex-start;min-width:200px}.ModelMappingDiagram-module__columnHeader___QAC6y{color:var(--text-secondary);text-transform:uppercase;margin-bottom:8px;padding:0 4px;font-size:13px;font-weight:600}.ModelMappingDiagram-module__item___KBTKp{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;justify-content:space-between;align-items:center;width:100%;max-width:280px;padding:10px 14px;font-size:13px;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000000d}.ModelMappingDiagram-module__item___KBTKp:hover{border-color:var(--primary-color);z-index:10;transform:translateY(-1px);box-shadow:0 4px 6px #0000000d}.ModelMappingDiagram-module__item___KBTKp.ModelMappingDiagram-module__dropTarget___dAYPB{background-color:var(--bg-secondary);border-color:var(--primary-color);border-width:2px}.ModelMappingDiagram-module__item___KBTKp.ModelMappingDiagram-module__selected___r3Gyz{border-color:var(--primary-color);background-color:var(--bg-secondary);box-shadow:0 0 0 2px #8b86802e}.ModelMappingDiagram-module__providerItem___4PZQM{border-left:3px solid #0000;align-items:center;gap:8px;padding-left:8px;display:flex}.ModelMappingDiagram-module__providerItem___4PZQM .ModelMappingDiagram-module__providerLabel___E2vNu{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.ModelMappingDiagram-module__providerItem___4PZQM .ModelMappingDiagram-module__collapseBtn___RXanB{background:var(--bg-secondary);cursor:pointer;width:24px;height:24px;color:var(--text-secondary);border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.ModelMappingDiagram-module__providerItem___4PZQM .ModelMappingDiagram-module__collapseBtn___RXanB:hover{background:var(--border-color);color:var(--text-primary)}.ModelMappingDiagram-module__providerItem___4PZQM .ModelMappingDiagram-module__chevronDown___AP7zK,.ModelMappingDiagram-module__providerItem___4PZQM .ModelMappingDiagram-module__chevronRight___bbMVy{border-style:solid;width:0;height:0;display:inline-block}.ModelMappingDiagram-module__providerItem___4PZQM .ModelMappingDiagram-module__chevronDown___AP7zK{border-width:5px 4px 0;border-color:currentColor #0000 #0000}.ModelMappingDiagram-module__providerItem___4PZQM .ModelMappingDiagram-module__chevronRight___bbMVy{border-width:4px 0 4px 5px;border-color:#0000 #0000 #0000 currentColor}.ModelMappingDiagram-module__providerGroup___5JNQu{justify-content:flex-end;align-items:center;width:100%;display:flex}.ModelMappingDiagram-module__sourceItem___TjDG6,.ModelMappingDiagram-module__aliasItem___h6w7D{cursor:grab}.ModelMappingDiagram-module__sourceItem___TjDG6:active,.ModelMappingDiagram-module__aliasItem___h6w7D:active{cursor:grabbing}.ModelMappingDiagram-module__sourceItem___TjDG6.ModelMappingDiagram-module__dragging___lhx9y,.ModelMappingDiagram-module__aliasItem___h6w7D.ModelMappingDiagram-module__dragging___lhx9y{opacity:.5;border-style:dashed}.ModelMappingDiagram-module__dot___AOWIN{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%}.ModelMappingDiagram-module__dot___AOWIN.ModelMappingDiagram-module__dotLeft___BKXAm{background:var(--text-tertiary);left:-3px}.ModelMappingDiagram-module__sourceItem___TjDG6 .ModelMappingDiagram-module__dot___AOWIN{right:-3px}.ModelMappingDiagram-module__providerBadge___cRzux{background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;margin-right:8px;padding:2px 6px;font-size:11px;font-weight:500}.ModelMappingDiagram-module__itemName___MjfSv{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ModelMappingDiagram-module__itemCount___B-gtl{color:var(--text-tertiary);background:var(--bg-secondary);border-radius:10px;margin-left:8px;padding:1px 6px;font-size:11px}.ModelMappingDiagram-module__contextMenu___VHX-s{background:var(--bg-primary);border:1px solid var(--border-color);z-index:9999;border-radius:6px;min-width:120px;padding:4px 0;position:fixed;overflow:hidden;box-shadow:0 4px 12px #00000026}.ModelMappingDiagram-module__contextMenu___VHX-s .ModelMappingDiagram-module__menuItem___e-LvI{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background-color .1s;display:flex}.ModelMappingDiagram-module__contextMenu___VHX-s .ModelMappingDiagram-module__menuItem___e-LvI:hover{background-color:var(--bg-secondary)}.ModelMappingDiagram-module__contextMenu___VHX-s .ModelMappingDiagram-module__menuItem___e-LvI.ModelMappingDiagram-module__danger___klXxM{color:var(--error-color)}.ModelMappingDiagram-module__contextMenu___VHX-s .ModelMappingDiagram-module__menuItem___e-LvI.ModelMappingDiagram-module__danger___klXxM:hover{background-color:var(--bg-error-light)}.ModelMappingDiagram-module__contextMenu___VHX-s .ModelMappingDiagram-module__menuDivider___XtoCo{background:var(--border-color);cursor:default;pointer-events:none;height:1px;margin:4px 0;padding:0}.ModelMappingDiagram-module__settingsEmpty___N0gFF{color:var(--text-tertiary);text-align:center;padding:24px 0;font-size:13px}.ModelMappingDiagram-module__settingsList___ovuWo{flex-direction:column;gap:8px;display:flex}.ModelMappingDiagram-module__settingsRow___wH-TW{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:16px;padding:8px 16px;display:grid}@media (max-width:768px){.ModelMappingDiagram-module__settingsRow___wH-TW{grid-template-columns:1fr;align-items:flex-start}}.ModelMappingDiagram-module__settingsNames___QDn9j{color:var(--text-primary);align-items:center;gap:4px;min-width:0;font-size:13px;display:flex}.ModelMappingDiagram-module__settingsSource___Hz9zo,.ModelMappingDiagram-module__settingsAlias___Ov9zt{white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.ModelMappingDiagram-module__settingsArrow___SKvFd{color:var(--text-tertiary)}.ModelMappingDiagram-module__settingsActions___PYXMU{align-items:center;gap:8px;display:flex}.ModelMappingDiagram-module__settingsLabel___R--i-{color:var(--text-secondary);font-size:12px}.ModelMappingDiagram-module__settingsDelete___PDG7z{color:var(--error-color);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px}.ModelMappingDiagram-module__settingsDelete___PDG7z:hover{background:var(--bg-error-light)}.ProviderTabs-module__tabs___n-cuP{border-bottom:1px solid var(--border-color);scrollbar-width:none;align-items:stretch;gap:2px;display:flex;overflow-x:auto}.ProviderTabs-module__tabs___n-cuP::-webkit-scrollbar{display:none}.ProviderTabs-module__tab___H3sif{cursor:pointer;color:var(--text-secondary);white-space:nowrap;transition:color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out);background:0 0;border:0;border-radius:8px 8px 0 0;flex-shrink:0;align-items:center;gap:7px;padding:8px 12px 11px;font-size:13px;font-weight:550;display:inline-flex;position:relative}.ProviderTabs-module__tab___H3sif:after{content:"";height:2px;transition:background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out);background:0 0;border-radius:9999px;position:absolute;bottom:-1px;left:10px;right:10px}.ProviderTabs-module__tab___H3sif:active{transform:translateY(.5px)}.ProviderTabs-module__tab___H3sif:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.ProviderTabs-module__tab___H3sif:hover{color:var(--text-primary);background:color-mix(in srgb, var(--bg-tertiary) 55%, transparent)}}.ProviderTabs-module__tabActive___g2pr3{color:var(--text-primary);font-weight:650}.ProviderTabs-module__tabActive___g2pr3:after{background:var(--text-primary)}.ProviderTabs-module__tabGlyph___fRPPT{color:var(--text-tertiary);flex-shrink:0}.ProviderTabs-module__tabActive___g2pr3 .ProviderTabs-module__tabGlyph___fRPPT{color:var(--text-primary)}.ProviderTabs-module__tabIconWrap___ZotRT{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.ProviderTabs-module__tabIcon___V2PI4{object-fit:contain;width:15px;height:15px;display:block}.ProviderTabs-module__tabIconFallback___SwMK5{color:var(--text-secondary);font-size:10px;font-weight:700}.ProviderTabs-module__tabLabel___dEpsW{line-height:1.4}.ProviderTabs-module__tabCount___wgH75{font-variant-numeric:tabular-nums;color:var(--text-tertiary);background:color-mix(in srgb, var(--text-primary) 6%, transparent);border-radius:9999px;padding:0 6px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10.5px;font-weight:650;line-height:1.6}.ProviderTabs-module__tabActive___g2pr3 .ProviderTabs-module__tabCount___wgH75{color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 10%, transparent)}@media (prefers-reduced-motion:reduce){.ProviderTabs-module__tab___H3sif,.ProviderTabs-module__tab___H3sif:after{transition:none}.ProviderTabs-module__tab___H3sif:active{transform:none}}.VaultHeader-module__header___QpXg-{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.VaultHeader-module__copy___xsxh7{flex-direction:column;gap:7px;min-width:0;display:flex}.VaultHeader-module__title___taELk{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(26px,3.2vw,30px);font-weight:700;line-height:1.15}.VaultHeader-module__meta___itSa2{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:500;display:flex}.VaultHeader-module__meta___itSa2:before{content:"▍";color:var(--viz-success);align-self:center;margin-right:1px;font-size:13px;line-height:1}.VaultHeader-module__metaDot___GW2IC{color:var(--text-quaternary);-webkit-user-select:none;user-select:none}.VaultHeader-module__metaTotal___KJQaA{color:var(--text-secondary)}.VaultHeader-module__metaActive___NlBGq{color:var(--viz-success)}.VaultHeader-module__metaMuted___VH7nG{color:var(--text-tertiary)}.VaultHeader-module__metaProblem___wopsT{color:var(--viz-failure)}.VaultHeader-module__actions___2FRo9{flex-shrink:0;align-items:center;gap:6px;display:flex}.VaultHeader-module__primaryAction___xVhcB{cursor:pointer;background:var(--text-primary);color:var(--bg-secondary);transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out), background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), box-shadow var(--dur-hover,.2s) var(--ease-out-strong,ease-out);border:0;border-radius:9999px;align-items:center;gap:7px;padding:10px 18px;font-size:13.5px;font-weight:600;line-height:1;display:inline-flex}.VaultHeader-module__primaryAction___xVhcB:disabled{cursor:not-allowed;opacity:.55}.VaultHeader-module__primaryAction___xVhcB:active:not(:disabled){transform:translateY(0)scale(.97)}.VaultHeader-module__primaryAction___xVhcB:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (hover:hover) and (pointer:fine){.VaultHeader-module__primaryAction___xVhcB:hover:not(:disabled){background:color-mix(in srgb, var(--text-primary) 86%, var(--bg-secondary));box-shadow:0 12px 26px color-mix(in srgb, var(--text-primary) 22%, transparent);transform:translateY(-1px)}}.VaultHeader-module__ghostAction___JFOFe{cursor:pointer;color:var(--text-secondary);transition:color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), transform var(--dur-press,.16s) var(--ease-out-strong,ease-out);background:0 0;border:0;border-radius:9999px;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:550;line-height:1;display:inline-flex}.VaultHeader-module__ghostAction___JFOFe:disabled{cursor:not-allowed;opacity:.55}.VaultHeader-module__ghostAction___JFOFe:active:not(:disabled){transform:scale(.97)}.VaultHeader-module__ghostAction___JFOFe:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (hover:hover) and (pointer:fine){.VaultHeader-module__ghostAction___JFOFe:hover:not(:disabled){color:var(--text-primary)}}.VaultHeader-module__spinning___kQLgi{animation:.8s linear infinite VaultHeader-module__vault-spin___2UExm}@keyframes VaultHeader-module__vault-spin___2UExm{to{transform:rotate(360deg)}}@media (max-width:768px){.VaultHeader-module__header___QpXg-{flex-direction:column;align-items:stretch}.VaultHeader-module__actions___2FRo9{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.VaultHeader-module__primaryAction___xVhcB,.VaultHeader-module__ghostAction___JFOFe{transition:none}.VaultHeader-module__primaryAction___xVhcB:active:not(:disabled),.VaultHeader-module__ghostAction___JFOFe:active:not(:disabled){transform:none}.VaultHeader-module__spinning___kQLgi{animation:none}}.VaultPulse-module__pulse___sIxw6{pointer-events:none;-webkit-user-select:none;user-select:none;align-items:flex-end;gap:10px;height:34px;display:flex}.VaultPulse-module__bars___gD2H-{border-bottom:1px solid color-mix(in srgb, var(--border-color) 85%, transparent);flex:1;align-items:flex-end;gap:3px;min-width:0;height:100%;padding-bottom:3px;display:flex;-webkit-mask-image:linear-gradient(90deg,#0000,#000 2% 98%,#0000);mask-image:linear-gradient(90deg,#0000,#000 2% 98%,#0000)}.VaultPulse-module__bar___c828U{transform-origin:bottom;min-width:2px;max-width:14px;animation:VaultPulse-module__pulse-bar-in___-8e-h .45s var(--ease-out-strong,ease-out) both;animation-delay:calc(.35s + var(--bar-delay,0s));border-radius:2px 2px 1px 1px;flex:1 1 0}@keyframes VaultPulse-module__pulse-bar-in___-8e-h{0%{transform:scaleY(0)}}.VaultPulse-module__barLive___x0GKQ{background:var(--viz-success);height:100%}.VaultPulse-module__barIdle___jGSJ8{background:color-mix(in srgb, var(--text-quaternary) 55%, transparent);height:42%}.VaultPulse-module__barWarning___wGFd7{background:var(--amber-color);height:72%}.VaultPulse-module__barProblem___N0qGr{background:var(--viz-failure);height:58%}.VaultPulse-module__barDisabled___k2lFu{opacity:.32;height:30%}.VaultPulse-module__overflow___Y7HPQ{font-variant-numeric:tabular-nums;color:var(--text-tertiary);flex-shrink:0;padding-bottom:1px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:650;line-height:1}.VaultPulse-module__idleLine___Gs7Ll{border-bottom:2px dashed var(--text-quaternary);opacity:.6;flex:1;height:0;margin-bottom:6px}@media (prefers-reduced-motion:reduce){.VaultPulse-module__bar___c828U{animation:none}}.AuthFilesPage-module__page___JPd3G{width:100%;min-width:0;padding-bottom:calc(var(--auth-files-action-bar-height,0px) + 16px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:20px;display:flex}.AuthFilesPage-module__workbench___6lAP6{flex-direction:column;gap:14px;min-width:0;display:flex}.AuthFilesPage-module__errorBanner___03gC7{color:var(--danger-color);background:var(--bg-error-light);border:1px solid var(--warning-border);overflow-wrap:anywhere;border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.5}.AuthFilesPage-module__grid___aXe04{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:stretch;gap:16px;display:grid}.AuthFilesPage-module__gridCompact___jvWkO{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.AuthFilesPage-module__gridQuota___jeDKQ{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.AuthFilesPage-module__emptyActions___9Gal6{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.AuthFilesPage-module__pagination___GnfXF{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.AuthFilesPage-module__pageInfo___YpJQV{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-tertiary);white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.AuthFilesPage-module__configGrid___KGRYV{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:1024px){.AuthFilesPage-module__configGrid___KGRYV{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.AuthFilesPage-module__page___JPd3G{gap:16px}}.SecondaryScreenShell-module__container___9DAwq{flex-direction:column;gap:24px;min-height:0;display:flex}.SecondaryScreenShell-module__topBar___vHzq4{z-index:5;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:44px;padding:8px 16px;display:grid;position:sticky;top:0}.SecondaryScreenShell-module__topBarTitle___Q8LCy{text-align:center;min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;justify-self:center;font-size:16px;font-weight:650;overflow:hidden}.SecondaryScreenShell-module__backButton___d6Zgy{justify-self:start;gap:0;padding-left:6px;padding-right:10px}.SecondaryScreenShell-module__backButton___d6Zgy>span:last-child{align-items:center;gap:6px;display:inline-flex}.SecondaryScreenShell-module__backIcon___R8Iyn{justify-content:center;align-items:center;display:inline-flex}.SecondaryScreenShell-module__backIcon___R8Iyn svg{display:block}.SecondaryScreenShell-module__backText___CODk7{font-weight:600;line-height:18px}.SecondaryScreenShell-module__rightSlot___ZvWJR{justify-content:flex-end;justify-self:end;display:flex}.SecondaryScreenShell-module__loadingState___4Jbsa{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:48px 0;display:flex}.SecondaryScreenShell-module__content___nVk3R{flex-direction:column;gap:24px;display:flex}.AuthFilesOAuthExcludedEditPage-module__pageContent___42nA2{width:100%;max-width:1000px;margin:0 auto;padding:0 24px 48px}@media (max-width:768px){.AuthFilesOAuthExcludedEditPage-module__pageContent___42nA2{padding-left:16px;padding-right:16px}}.AuthFilesOAuthExcludedEditPage-module__settingsCard___EE-1z{padding:0;overflow:visible}.AuthFilesOAuthExcludedEditPage-module__settingsHeader___Jm0RO{border-bottom:1px solid var(--border-color);flex-direction:column;gap:4px;padding:16px 24px;display:flex}@media (max-width:768px){.AuthFilesOAuthExcludedEditPage-module__settingsHeader___Jm0RO{padding-left:16px;padding-right:16px}}.AuthFilesOAuthExcludedEditPage-module__settingsHeaderTitle___nOj9w{color:var(--text-primary);align-items:center;gap:4px;font-weight:700;display:inline-flex}.AuthFilesOAuthExcludedEditPage-module__settingsHeaderHint___EzQSN{color:var(--text-secondary);font-size:13px}.AuthFilesOAuthExcludedEditPage-module__settingsSection___ozndx{flex-direction:column;gap:8px;padding:16px 24px 24px;display:flex}@media (max-width:768px){.AuthFilesOAuthExcludedEditPage-module__settingsSection___ozndx{padding-left:16px;padding-right:16px}}.AuthFilesOAuthExcludedEditPage-module__settingsRow___z6QPQ{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}@media (max-width:768px){.AuthFilesOAuthExcludedEditPage-module__settingsRow___z6QPQ{flex-direction:column;align-items:stretch;gap:8px}}.AuthFilesOAuthExcludedEditPage-module__settingsInfo___lRYwp{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.AuthFilesOAuthExcludedEditPage-module__settingsLabel___KbPgc{color:var(--text-primary);font-size:14px;font-weight:600}.AuthFilesOAuthExcludedEditPage-module__settingsDesc___6LSPN{color:var(--text-secondary);font-size:13px}.AuthFilesOAuthExcludedEditPage-module__settingsControl___luVcd{flex:none;width:min(360px,45%);min-width:220px}@media (max-width:768px){.AuthFilesOAuthExcludedEditPage-module__settingsControl___luVcd{width:100%;min-width:0}}.AuthFilesOAuthExcludedEditPage-module__tagList___Is0Fd{flex-wrap:wrap;gap:4px;display:flex}.AuthFilesOAuthExcludedEditPage-module__tag___fyrKv{border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.AuthFilesOAuthExcludedEditPage-module__tag___fyrKv:hover{border-color:var(--primary-color);color:var(--text-primary);background-color:var(--bg-tertiary)}.AuthFilesOAuthExcludedEditPage-module__tag___fyrKv:disabled{opacity:.6;cursor:not-allowed}.AuthFilesOAuthExcludedEditPage-module__tagActive___EkiBG,.AuthFilesOAuthExcludedEditPage-module__tagActive___EkiBG:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.AuthFilesOAuthExcludedEditPage-module__emptyModels___kAuwa{color:var(--text-secondary);text-align:center;padding:32px 24px;font-size:13px}@media (max-width:768px){.AuthFilesOAuthExcludedEditPage-module__emptyModels___kAuwa{padding-left:16px;padding-right:16px}}.AuthFilesOAuthModelAliasEditPage-module__pageContent___mxGSP{width:100%;max-width:1000px;margin:0 auto;padding:0 24px 48px}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__pageContent___mxGSP{padding-left:16px;padding-right:16px}}.AuthFilesOAuthModelAliasEditPage-module__settingsCard___4uMxA{padding:0;overflow:visible}.AuthFilesOAuthModelAliasEditPage-module__settingsHeader___h4vIs{border-bottom:1px solid var(--border-color);flex-direction:column;gap:4px;padding:16px 24px;display:flex}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__settingsHeader___h4vIs{padding-left:16px;padding-right:16px}}.AuthFilesOAuthModelAliasEditPage-module__settingsHeaderTitle___GExPS{color:var(--text-primary);align-items:center;gap:4px;font-weight:700;display:inline-flex}.AuthFilesOAuthModelAliasEditPage-module__settingsHeaderHint___C94bR{color:var(--text-secondary);font-size:13px}.AuthFilesOAuthModelAliasEditPage-module__settingsSection___JQr18{flex-direction:column;gap:8px;padding:16px 24px 24px;display:flex}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__settingsSection___JQr18{padding-left:16px;padding-right:16px}}.AuthFilesOAuthModelAliasEditPage-module__settingsRow___qzQdL{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__settingsRow___qzQdL{flex-direction:column;align-items:stretch;gap:8px}}.AuthFilesOAuthModelAliasEditPage-module__settingsInfo___Jt7Ub{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.AuthFilesOAuthModelAliasEditPage-module__settingsLabel___v6dmL{color:var(--text-primary);font-size:14px;font-weight:600}.AuthFilesOAuthModelAliasEditPage-module__settingsDesc___TgK3P{color:var(--text-secondary);font-size:13px}.AuthFilesOAuthModelAliasEditPage-module__settingsControl___nSl-3{flex:none;width:min(360px,45%);min-width:220px}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__settingsControl___nSl-3{width:100%;min-width:0}}.AuthFilesOAuthModelAliasEditPage-module__tagList___OxNTF{flex-wrap:wrap;gap:4px;display:flex}.AuthFilesOAuthModelAliasEditPage-module__tag___sULm6{border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.AuthFilesOAuthModelAliasEditPage-module__tag___sULm6:hover{border-color:var(--primary-color);color:var(--text-primary);background-color:var(--bg-tertiary)}.AuthFilesOAuthModelAliasEditPage-module__tag___sULm6:disabled{opacity:.6;cursor:not-allowed}.AuthFilesOAuthModelAliasEditPage-module__tagActive___CcyFC,.AuthFilesOAuthModelAliasEditPage-module__tagActive___CcyFC:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.AuthFilesOAuthModelAliasEditPage-module__mappingsHeader___wddAp{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__mappingsHeader___wddAp{padding-left:16px;padding-right:16px}}.AuthFilesOAuthModelAliasEditPage-module__mappingsTitle___QywAa{color:var(--text-primary);font-weight:700}.AuthFilesOAuthModelAliasEditPage-module__modelsHint___nQAc7{color:var(--text-secondary);border-bottom:1px solid var(--border-color);align-items:center;gap:4px;padding:8px 24px;font-size:13px;display:flex}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__modelsHint___nQAc7{padding-left:16px;padding-right:16px}}.AuthFilesOAuthModelAliasEditPage-module__mappingsBody___jOz-S{padding:8px 24px 24px}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__mappingsBody___jOz-S{padding-left:16px;padding-right:16px}}.AuthFilesOAuthModelAliasEditPage-module__mappingRow___NTr41{border-bottom:1px solid var(--border-color);grid-template-columns:1fr auto 1fr auto auto;align-items:center;gap:8px;padding:10px 0;display:grid}.AuthFilesOAuthModelAliasEditPage-module__mappingRow___NTr41:last-child{border-bottom:none}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__mappingRow___NTr41{grid-template-columns:1fr;gap:8px}}.AuthFilesOAuthModelAliasEditPage-module__mappingSeparator___dN9rZ{color:var(--text-secondary);text-align:center}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__mappingSeparator___dN9rZ{display:none}}.AuthFilesOAuthModelAliasEditPage-module__mappingAliasInput___iG0V3{width:100%}.AuthFilesOAuthModelAliasEditPage-module__mappingFork___4pAg3{align-items:center;display:flex}@media (max-width:768px){.AuthFilesOAuthModelAliasEditPage-module__mappingFork___4pAg3{justify-content:flex-start}}.OAuthPage-module__container___LCCdH{width:100%}.OAuthPage-module__cardTitle___yFaP0{align-items:center;gap:8px;display:flex}.OAuthPage-module__cardTitleIcon___eAnql{flex:none;width:24px;height:24px}.OAuthPage-module__cardTitleIconFallback___FCoi8{width:24px;height:24px;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.OAuthPage-module__pageTitle___BQQ2z{color:var(--text-primary);margin:0 0 32px;font-size:28px;font-weight:700}.OAuthPage-module__content___Phg9V{flex-direction:column;gap:32px;display:flex}.OAuthPage-module__providerSection___bIxOF{flex-direction:column;gap:16px;display:flex}.OAuthPage-module__providerList___lmT4T{flex-direction:column;gap:32px;display:flex}.OAuthPage-module__sectionTitle___8gdP9{color:var(--text-secondary);letter-spacing:.08em;margin:0;font-size:13px;font-weight:700}.OAuthPage-module__featuredCard___oKu32{background:radial-gradient(circle at 92% -35%, #1783ff3d, transparent 42%), linear-gradient(135deg, color-mix(in srgb, #1783ff 10%, var(--bg-primary)), var(--bg-primary) 64%);box-shadow:0 14px 32px -26px #1783fff2, var(--shadow);border-color:#000;position:relative;overflow:hidden}.OAuthPage-module__featuredCard___oKu32>*{z-index:1;position:relative}.OAuthPage-module__featuredCard___oKu32 .OAuthPage-module__cardTitle___yFaP0{gap:16px;font-size:21px}.OAuthPage-module__featuredCard___oKu32 .OAuthPage-module__cardTitleIcon___eAnql{box-sizing:content-box;background:#000;border-radius:11px;width:24px;height:24px;padding:7px}.OAuthPage-module__featuredCard___oKu32 .OAuthPage-module__featuredActions___FEuj7{flex-wrap:wrap;gap:8px;display:flex}.OAuthPage-module__featuredCard___oKu32 .btn-primary{background:#1783ff;border-color:#1783ff;box-shadow:0 8px 20px -12px #1783ffe6}.OAuthPage-module__featuredCard___oKu32 .btn-primary:hover{background:#0875ed;border-color:#0875ed}@media (max-width:768px){.OAuthPage-module__featuredCard___oKu32 .card-header>.btn{width:100%}}[data-theme=dark] .OAuthPage-module__featuredCard___oKu32 .OAuthPage-module__cardTitleIcon___eAnql{background:#fff}.OAuthPage-module__recommendedBadge___Qwsjm{min-height:24px;color:color-mix(in srgb, #1783ff 82%, var(--text-primary));letter-spacing:0;white-space:nowrap;background:#1783ff1c;border:1px solid #1783ff57;border-radius:9999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.OAuthPage-module__featuredHint___UZb9s{max-width:720px;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.65}.OAuthPage-module__cardContent___1sXLA{flex-direction:column;gap:16px;display:flex}.OAuthPage-module__cardContent___1sXLA .form-group{margin-bottom:0}.OAuthPage-module__cardContent___1sXLA .status-badge{align-self:flex-start;margin-bottom:0}.OAuthPage-module__cardHint___ttOpd{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.OAuthPage-module__cardHintSecondary___tWM17{color:var(--text-tertiary);margin:0;font-size:12px;line-height:1.5}.OAuthPage-module__oauthSection___1olLq{flex-direction:column;gap:24px;display:flex}.OAuthPage-module__oauthGrid___wjAyh{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;display:grid}@media (max-width:768px){.OAuthPage-module__oauthGrid___wjAyh{grid-template-columns:1fr}}.OAuthPage-module__oauthCard___CYTnC{flex-direction:column;gap:16px;display:flex}.OAuthPage-module__oauthStatus___h7bbL{border-radius:8px;padding:16px;font-size:14px}.OAuthPage-module__oauthStatus___h7bbL.OAuthPage-module__success___UHta0{color:#16a34a;background-color:#22c55e1a}.OAuthPage-module__oauthStatus___h7bbL.OAuthPage-module__error___057CD{color:#c65746;background-color:#c657461f}.OAuthPage-module__oauthStatus___h7bbL.OAuthPage-module__waiting___CbNSk{color:var(--primary-color);background-color:#8b86801f}.OAuthPage-module__callbackSection___8kA31{flex-direction:column;gap:8px;margin-top:0;display:flex}.OAuthPage-module__callbackActions___wtkMI{gap:16px;display:flex}.OAuthPage-module__authUrlBox___Iu1d4{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:8px;flex-direction:column;gap:4px;padding:16px;display:flex}.OAuthPage-module__authUrlLabel___mYFJB{color:var(--text-secondary);font-size:14px}.OAuthPage-module__authUrlValue___axvUJ{color:var(--text-primary);word-break:break-all;overflow-wrap:anywhere;max-width:100%;font-weight:700;line-height:1.5}.OAuthPage-module__authUrlActions___venPj{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.OAuthPage-module__successActions___wHpp9{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.OAuthPage-module__geminiProjectField___g456A .form-group{gap:8px;margin-top:0;margin-bottom:0}.OAuthPage-module__geminiProjectField___g456A .input:disabled{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-tertiary);cursor:not-allowed}.OAuthPage-module__formItem___Bgt9S{flex-direction:column;gap:4px;display:flex}.OAuthPage-module__formItemLabel___QZFrG{color:var(--text-primary);margin:0;font-weight:600}.OAuthPage-module__filePicker___NmFjy{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.OAuthPage-module__fileName___9ZbQI{border:1px solid var(--border-color);background:var(--bg-primary);min-width:220px;color:var(--text-primary);border-radius:8px;flex:1;padding:10px 12px;font-size:14px}.OAuthPage-module__fileNamePlaceholder___WHjj4{color:var(--text-secondary)}.OAuthPage-module__connectionBox___Gwo4r{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:8px;padding:16px;display:flex}.OAuthPage-module__connectionLabel___cJMrf{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.OAuthPage-module__keyValueList___lEOY0{flex-direction:column;gap:6px;display:flex}.OAuthPage-module__keyValueItem___XOwWB{grid-template-columns:140px 1fr;align-items:start;gap:10px;display:grid}@media (max-width:768px){.OAuthPage-module__keyValueItem___XOwWB{grid-template-columns:1fr;gap:2px}}.OAuthPage-module__keyValueKey___WF-VN{color:var(--text-secondary);font-size:13px}.OAuthPage-module__keyValueValue___m2I-C{color:var(--text-primary);word-break:break-all;overflow-wrap:anywhere}.QuotaHeader-module__header___FQh-X{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.QuotaHeader-module__copy___hYH3x{flex-direction:column;gap:7px;min-width:0;display:flex}.QuotaHeader-module__title___X-zzl{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:clamp(26px,3.2vw,30px);font-weight:700;line-height:1.15}.QuotaHeader-module__meta___vypl5{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:500;display:flex}.QuotaHeader-module__meta___vypl5:before{content:"▍";color:var(--viz-success);align-self:center;margin-right:1px;font-size:13px;line-height:1}.QuotaHeader-module__metaDot___oelCy{color:var(--text-quaternary);-webkit-user-select:none;user-select:none}.QuotaHeader-module__metaTotal___5Tdcc{color:var(--text-secondary)}.QuotaHeader-module__metaLoaded___5XtFO{color:var(--viz-success)}.QuotaHeader-module__metaMuted___ofGDe{color:var(--text-tertiary)}.QuotaHeader-module__metaAttention___vgrfI{color:var(--viz-failure)}.QuotaHeader-module__actions___dPTDc{flex-shrink:0;align-items:center;gap:6px;display:flex}.QuotaHeader-module__primaryAction___wLlcP{cursor:pointer;background:var(--text-primary);color:var(--bg-secondary);transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out), background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), box-shadow var(--dur-hover,.2s) var(--ease-out-strong,ease-out);border:0;border-radius:9999px;align-items:center;gap:7px;padding:10px 18px;font-size:13.5px;font-weight:600;line-height:1;display:inline-flex}.QuotaHeader-module__primaryAction___wLlcP:disabled{cursor:not-allowed;opacity:.55}.QuotaHeader-module__primaryAction___wLlcP:active:not(:disabled){transform:translateY(0)scale(.97)}.QuotaHeader-module__primaryAction___wLlcP:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (hover:hover) and (pointer:fine){.QuotaHeader-module__primaryAction___wLlcP:hover:not(:disabled){background:color-mix(in srgb, var(--text-primary) 86%, var(--bg-secondary));box-shadow:0 12px 26px color-mix(in srgb, var(--text-primary) 22%, transparent);transform:translateY(-1px)}}.QuotaHeader-module__spinning___JcwhP{animation:.8s linear infinite QuotaHeader-module__quota-spin___ZMw-y}@keyframes QuotaHeader-module__quota-spin___ZMw-y{to{transform:rotate(360deg)}}@media (max-width:768px){.QuotaHeader-module__header___FQh-X{flex-direction:column;align-items:stretch}.QuotaHeader-module__actions___dPTDc{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.QuotaHeader-module__primaryAction___wLlcP{transition:none}.QuotaHeader-module__primaryAction___wLlcP:active:not(:disabled){transform:none}.QuotaHeader-module__spinning___JcwhP{animation:none}}.QuotaBody-module__quotaRow___-JMVn{flex-direction:column;gap:5px;min-width:0;display:flex}.QuotaBody-module__quotaRowHeader___n2wsn{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.QuotaBody-module__quotaModel___wBOTG{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.QuotaBody-module__quotaMeta___CiLdu{font-variant-numeric:tabular-nums;letter-spacing:.01em;flex-shrink:0;align-items:baseline;gap:7px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11.5px;display:inline-flex}.QuotaBody-module__quotaPercent___osiSO{color:var(--text-primary);font-weight:650}.QuotaBody-module__quotaReset___Y0Tf1{color:var(--text-quaternary)}.QuotaBody-module__quotaAmount___h-5qY{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace}.QuotaBody-module__quotaMessage___IiV5-{color:var(--text-tertiary);text-align:center;padding:6px 4px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.5}.QuotaBody-module__quotaBar___eDsVI{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:9999px;height:6px;overflow:hidden}.QuotaBody-module__quotaBarFill___PAoP7{height:100%;transition:width .36s var(--ease-out-strong,ease);transform-origin:0;animation:QuotaBody-module__quota-meter-fill___3Udkp .48s var(--ease-out-strong,ease-out) both;animation-delay:calc(var(--meter-index,0) * 40ms);border-radius:9999px}@keyframes QuotaBody-module__quota-meter-fill___3Udkp{0%{transform:scaleX(0)}}.QuotaBody-module__quotaBarFillHigh___B1-wA{background:var(--viz-success)}.QuotaBody-module__quotaBarFillMedium___B53dC{background:var(--quota-medium-color)}.QuotaBody-module__quotaBarFillLow___gX3vN{background:var(--viz-failure)}.QuotaBody-module__antigravityQuotaGroup___Eala9{flex-direction:column;gap:7px;display:flex}.QuotaBody-module__antigravityQuotaGroup___Eala9+.QuotaBody-module__antigravityQuotaGroup___Eala9{border-top:1px dashed color-mix(in srgb, var(--border-color) 80%, transparent);margin-top:3px;padding-top:9px}.QuotaBody-module__antigravityQuotaGroupHeader___Innz6{flex-direction:column;gap:2px;min-width:0;display:flex}.QuotaBody-module__antigravityQuotaGroupTitle___gG6fV{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;font-weight:700}.QuotaBody-module__antigravityQuotaGroupDescription___I9BdI{color:var(--text-quaternary);font-size:11px;line-height:1.4}@media (max-width:768px){.QuotaBody-module__quotaRowHeader___n2wsn{flex-direction:column;align-items:flex-start}.QuotaBody-module__quotaModel___wBOTG{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;width:100%;overflow:visible}}@media (prefers-reduced-motion:reduce){.QuotaBody-module__quotaBarFill___PAoP7{transition:none;animation:none}}.QuotaBody-module__codexPlan___yquoE{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px;display:flex}.QuotaBody-module__codexPlanItem___HqY0k{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.QuotaBody-module__codexPlanLabel___2-GjA{color:var(--text-tertiary);flex:none}.QuotaBody-module__codexPlanValue___x0NdC{color:var(--text-primary);text-transform:capitalize;min-width:0;font-weight:600}.QuotaBody-module__codexResetCredits___jS3Iz{flex-direction:column;gap:6px;padding-top:2px;display:flex}.QuotaBody-module__codexResetCreditsTitle___M-xya{color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1.35}.QuotaBody-module__codexResetCreditRow___pYGVe{border:1px solid color-mix(in srgb, var(--border-color) 72%, transparent);background-color:color-mix(in srgb, var(--bg-secondary) 72%, transparent);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:6px 8px;font-size:12px;line-height:1.35;display:flex}.QuotaBody-module__codexResetCreditLabel___Ahtkh{color:var(--text-tertiary);white-space:nowrap;flex:none}.QuotaBody-module__codexResetCreditTime___jLiPP{color:var(--text-primary);text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:600}.QuotaBody-module__codexResetCreditsError___D8Nqz{color:var(--warning-text);background-color:var(--warning-bg);border:1px solid var(--warning-border);border-radius:4px;padding:4px 8px;font-size:12px;line-height:1.4}.QuotaBody-module__codexPlanSeparator___7Kus9{background-color:var(--border-color);width:1px;height:12px}.QuotaBody-module__premiumPlanValue___vsqQ-{white-space:nowrap;isolation:isolate;color:#6b4b00;text-shadow:0 1px #ffffff8c;text-transform:capitalize;background:radial-gradient(circle at 18% 24%,#fffffff5 0%,#ffffffb8 18%,#fff0 42%),linear-gradient(135deg,#fff9e3 0%,#ffe07f 52%,#e0aa14 100%);border:1px solid #d9a516b8;border-radius:999px;flex:none;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex;position:relative;overflow:visible;box-shadow:0 1px 3px #855c0029,inset 0 0 0 1px #ffffff38,0 0 16px #ffd66247}.QuotaBody-module__premiumPlanValue___vsqQ-:before{content:"";border-radius:inherit;--glass-blur:9px;filter:var(--glass-filter);opacity:.75;pointer-events:none;z-index:-1;background:radial-gradient(circle at 18% 22%,#ffffffe6 0%,#ffed9e94 32%,#ffd75b00 72%);position:absolute;top:-6px;bottom:-6px;left:-9px;right:-9px}@media (dynamic-range:high){.QuotaBody-module__premiumPlanValue___vsqQ-{color:#704c00;color:color(display-p3 .43 .3 0);background:radial-gradient(circle at 18% 24%,#fffcf0 0%,#fff7d2d1 18%,#fff2b400 42%),linear-gradient(135deg,#fffae1,#ffda46,#f2ac00);background:radial-gradient(circle at 18% 24%,color(display-p3 1 .99 .94) 0%,color(display-p3 1 .97 .82/.82) 18%,color(display-p3 1 .95 .7/0) 42%),linear-gradient(135deg,color(display-p3 1 .98 .88),color(display-p3 .99 .86 .34),color(display-p3 .92 .68 .05));border-color:#ebb900d9;border-color:color(display-p3 .9 .73 .12/.85);box-shadow:0 1px 4px #76470038,inset 0 0 0 1px #fffadc4d,0 0 18px #ffe22f5c;box-shadow:0 1px 4px color(display-p3 .45 .28 0/.22),inset 0 0 0 1px color(display-p3 1 .98 .86/.3),0 0 18px color(display-p3 1 .89 .2/.36)}}@supports (color:color(rec2100-linear 1 1 1)){@media (dynamic-range:high){.QuotaBody-module__premiumPlanValue___vsqQ-{dynamic-range-limit:no-limit;box-shadow:0 1px 4px #76470038, 0 0 0 1px #fffadc4d inset, 0 0 14px #ffe22f5c, 0 0 30px color(rec2100-linear 3.6 2.9 .7 / .48)}@supports (color:color(display-p3 0 0 0)){.QuotaBody-module__premiumPlanValue___vsqQ-{box-shadow:0 1px 4px color(display-p3 .45 .28 0/.22), 0 0 0 1px color(display-p3 1 .98 .86/.3) inset, 0 0 14px color(display-p3 1 .89 .2/.36), 0 0 30px color(rec2100-linear 3.6 2.9 .7 / .48)}}.QuotaBody-module__premiumPlanValue___vsqQ-:before{background:radial-gradient(circle at 18% 22%, color(rec2100-linear 6.5 6.2 5.4 / .92) 0%, color(rec2100-linear 2.4 2 .6 / .62) 34%, color(rec2100-linear 1 .85 .12 / 0) 76%);opacity:.92}}}[data-theme=dark] .QuotaBody-module__premiumPlanValue___vsqQ-{color:#fff0a8;text-shadow:0 0 10px #ffd44f38;background:radial-gradient(circle at 18% 24%,#ffe58a52 0%,#ffd6622e 18%,#ffd66200 44%),linear-gradient(135deg,#4f3d0b 0%,#6e5510 48%,#8f6d10 100%);border-color:#e2b432b3;box-shadow:0 1px 6px #00000047,inset 0 0 0 1px #ffdc7829,0 0 18px #ffc42c38}[data-theme=dark] .QuotaBody-module__premiumPlanValue___vsqQ-:before{opacity:.8;background:radial-gradient(circle at 18% 24%,#ffe58a6b 0%,#ffc54247 34%,#fb00 74%)}@media (dynamic-range:high){[data-theme=dark] .QuotaBody-module__premiumPlanValue___vsqQ-{color:#ffed95;color:color(display-p3 1 .93 .58);background:radial-gradient(circle at 18% 24%,#ffe26161 0%,#ffd13133 18%,#ffd13100 44%),linear-gradient(135deg,#573f00,#7f5b00,#a37400);background:radial-gradient(circle at 18% 24%,color(display-p3 1 .89 .38/.38) 0%,color(display-p3 1 .82 .2/.2) 18%,color(display-p3 1 .82 .2/0) 44%),linear-gradient(135deg,color(display-p3 .33 .25 .04),color(display-p3 .48 .36 .08),color(display-p3 .62 .46 .09));border-color:#ce9700c7;border-color:color(display-p3 .78 .6 .16/.78);box-shadow:0 1px 8px #00000052,inset 0 0 0 1px #f9ca002e,0 0 20px #ffc21447;box-shadow:0 1px 8px color(display-p3 0 0 0/.32),inset 0 0 0 1px color(display-p3 .95 .8 .24/.18),0 0 20px color(display-p3 1 .76 .1/.28)}}@supports (color:color(rec2100-linear 1 1 1)){@media (dynamic-range:high){[data-theme=dark] .QuotaBody-module__premiumPlanValue___vsqQ-{dynamic-range-limit:no-limit;box-shadow:0 1px 8px #00000052, 0 0 0 1px #f9ca002e inset, 0 0 16px #ffc21447, 0 0 28px color(rec2100-linear 4.8 3.5 .45 / .4)}@supports (color:color(display-p3 0 0 0)){[data-theme=dark] .QuotaBody-module__premiumPlanValue___vsqQ-{box-shadow:0 1px 8px color(display-p3 0 0 0/.32), 0 0 0 1px color(display-p3 .95 .8 .24/.18) inset, 0 0 16px color(display-p3 1 .76 .1/.28), 0 0 28px color(rec2100-linear 4.8 3.5 .45 / .4)}}[data-theme=dark] .QuotaBody-module__premiumPlanValue___vsqQ-:before{background:radial-gradient(circle at 18% 24%, color(rec2100-linear 5.6 4.1 .75 / .64) 0%, color(rec2100-linear 2.2 1.5 .2 / .34) 34%, color(rec2100-linear 1.2 .9 .06 / 0) 74%);opacity:.95}}}.QuotaBody-module__elitePlanValue___yF4r4{letter-spacing:.03em;white-space:nowrap;isolation:isolate;color:#1f2a38;text-shadow:0 1px #ffffffa6;text-transform:capitalize;background-color:#0000;background-image:radial-gradient(circle at 20% 20%,#ffffffe6 0%,#ffffff4d 22%,#fff0 46%),linear-gradient(100deg,#0000 40%,#ffffff61 46%,#fffffff5 50%,#ffffff61 54%,#0000 60%),linear-gradient(78deg,#0000 28%,#5060766b 50%,#0000 72%),linear-gradient(92deg,#0000 44%,#c4e2fc52 50%,#0000 56%),linear-gradient(#fff 0%,#e3eaf1 26%,#a5b2c2 45%,#78879a 54%,#c3cdd8 78%,#f2f6fa 100%),linear-gradient(135deg,#fff 0%,#8c9eb299 42%,#384250f2 100%);background-position:0 0,-50% 0,170% 0,-80% 0,0 0,0 0;background-repeat:no-repeat;background-size:auto,200% 100%,260% 100%,300% 100%,auto,auto;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,border-box;background-clip:padding-box,padding-box,padding-box,padding-box,padding-box,border-box;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;padding:2px 9px;font-size:12px;font-weight:700;animation:12s ease-in-out infinite alternate QuotaBody-module__eliteLiquid___RMX2Q;display:inline-flex;position:relative;overflow:visible;box-shadow:0 1px 3px #1e2a3a47,inset 0 1px 1px #ffffffeb,inset 0 -1.5px 2px #3c4a5c66,0 0 14px #82a0c85c}.QuotaBody-module__elitePlanValue___yF4r4:before{content:"";border-radius:inherit;--glass-blur:9px;filter:var(--glass-filter);opacity:.75;pointer-events:none;z-index:-1;background:radial-gradient(circle at 24% 30%,#fffffff2 0%,#c4dcf480 38%,#b2cdee00 74%);animation:7s ease-in-out infinite alternate QuotaBody-module__eliteBreathe___9ZW9s;position:absolute;top:-6px;bottom:-6px;left:-9px;right:-9px}.QuotaBody-module__elitePlanValue___yF4r4:after{content:"";border-radius:inherit;pointer-events:none;background-image:linear-gradient(105deg,#0000 38%,#ffffff14 44%,#ffffffbf 50%,#ffffff14 56%,#0000 62%);background-position:240% 0;background-repeat:no-repeat;background-size:260% 100%;animation:7.5s cubic-bezier(.4,0,.2,1) 1.2s infinite QuotaBody-module__eliteSheen___41NZk;position:absolute;top:1px;bottom:1px;left:1px;right:1px}@supports (color:color(rec2100-linear 1 1 1)){@media (dynamic-range:high){.QuotaBody-module__elitePlanValue___yF4r4{dynamic-range-limit:no-limit;box-shadow:0 1px 3px #1e2a3a47, inset 0 1px 1px #ffffffeb, inset 0 -1.5px 2px #3c4a5c66, 0 0 22px color(rec2100-linear 1.5 1.8 2.3 / .42)}.QuotaBody-module__elitePlanValue___yF4r4:after{background-image:linear-gradient(105deg, transparent 38%, color(rec2100-linear 1.2 1.3 1.5 / .1) 44%, color(rec2100-linear 2.6 2.8 3.2 / .8) 50%, color(rec2100-linear 1.2 1.3 1.5 / .1) 56%, transparent 62%)}}}@keyframes QuotaBody-module__eliteLiquid___RMX2Q{0%{background-position:0 0,-50% 0,170% 0,-80% 0,0 0,0 0}to{background-position:0 0,150% 0,-70% 0,190% 0,0 0,0 0}}@keyframes QuotaBody-module__eliteSheen___41NZk{0%{background-position:240% 0}13%{background-position:-140% 0}to{background-position:-140% 0}}@keyframes QuotaBody-module__eliteBreathe___9ZW9s{0%{opacity:.55}to{opacity:.9}}[data-theme=dark] .QuotaBody-module__elitePlanValue___yF4r4{background-color:#0000;background-image:radial-gradient(circle at 20% 20%,#ffffffe6 0%,#ffffff4d 22%,#fff0 46%),linear-gradient(100deg,#0000 40%,#fff6 46%,#fff 50%,#fff6 54%,#0000 60%),linear-gradient(78deg,#0000 28%,#50607675 50%,#0000 72%),linear-gradient(92deg,#0000 44%,#c4e2fc57 50%,#0000 56%),linear-gradient(#fff 0%,#eef2f6 30%,#c2ccd7 47%,#8b98a8 54%,#d6dee6 80%,#f7fafc 100%),linear-gradient(135deg,#fffffffa 0%,#9bafc38c 45%,#5a6878e6 100%);background-position:0 0,-50% 0,170% 0,-80% 0,0 0,0 0;background-repeat:no-repeat;background-size:auto,200% 100%,260% 100%,300% 100%,auto,auto;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,border-box;background-clip:padding-box,padding-box,padding-box,padding-box,padding-box,border-box;box-shadow:0 1px 5px #0006,inset 0 1px 1px #ffffffeb,inset 0 -1.5px 2px #4a5a6e66,0 0 18px #bedafa5c}@supports (color:color(rec2100-linear 1 1 1)){@media (dynamic-range:high){[data-theme=dark] .QuotaBody-module__elitePlanValue___yF4r4{dynamic-range-limit:no-limit;box-shadow:0 1px 5px #0006, inset 0 1px 1px #ffffffeb, inset 0 -1.5px 2px #4a5a6e66, 0 0 26px color(rec2100-linear 1.7 2.1 2.6 / .44)}}}@media (prefers-reduced-motion:reduce){.QuotaBody-module__elitePlanValue___yF4r4,[data-theme=dark] .QuotaBody-module__elitePlanValue___yF4r4{background-position:0 0,42% 0,60% 0,30% 0,0 0,0 0;animation:none}.QuotaBody-module__elitePlanValue___yF4r4:before,[data-theme=dark] .QuotaBody-module__elitePlanValue___yF4r4:before{opacity:.75;animation:none}.QuotaBody-module__elitePlanValue___yF4r4:after,[data-theme=dark] .QuotaBody-module__elitePlanValue___yF4r4:after{content:none}}@media (max-width:768px){.QuotaBody-module__premiumPlanValue___vsqQ-{background:radial-gradient(circle at 18% 24%,#ffffffe0 0%,#ffffff94 18%,#fff0 42%),linear-gradient(135deg,#fff9e3 0%,#ffe07f 52%,#e0aa14 100%);overflow:hidden;box-shadow:0 1px 3px #855c0029,inset 0 0 0 1px #ffffff38,0 0 10px #ffd66238}.QuotaBody-module__premiumPlanValue___vsqQ-:before{content:none}[data-theme=dark] .QuotaBody-module__premiumPlanValue___vsqQ-{background:radial-gradient(circle at 18% 24%,#ffe58a47 0%,#ffd66224 18%,#ffd66200 44%),linear-gradient(135deg,#4f3d0b 0%,#6e5510 48%,#8f6d10 100%);box-shadow:0 1px 6px #00000047,inset 0 0 0 1px #ffdc7829,0 0 10px #ffc42c2e}.QuotaBody-module__elitePlanValue___yF4r4{overflow:hidden;box-shadow:0 1px 3px #1e2a3a47,inset 0 1px 1px #ffffffeb,inset 0 -1.5px 2px #3c4a5c66,0 0 9px #82a0c84d}.QuotaBody-module__elitePlanValue___yF4r4:before{content:none}[data-theme=dark] .QuotaBody-module__elitePlanValue___yF4r4{box-shadow:0 1px 5px #0006,inset 0 1px 1px #ffffffeb,inset 0 -1.5px 2px #4a5a6e66,0 0 10px #bedafa4d}}.QuotaCard-module__card___gsSw0{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 82%, transparent);transition:transform var(--dur-hover,.2s) var(--ease-out-strong,ease-out), border-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), box-shadow var(--dur-hover,.2s) var(--ease-out-strong,ease-out);border-radius:14px;flex-direction:column;gap:11px;padding:15px 16px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.QuotaCard-module__card___gsSw0:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 12px 26px -14px #00000029}}.QuotaCard-module__cardEnter___UF7tD{animation:QuotaCard-module__quota-card-in___GedV- .45s var(--ease-out-strong,ease-out) both;animation-delay:var(--card-delay,0s)}@keyframes QuotaCard-module__quota-card-in___GedV-{0%{opacity:0;transform:translateY(16px)}}.QuotaCard-module__head___vJx5a{align-items:center;gap:9px;min-width:0;display:flex}.QuotaCard-module__iconWrap___xTv0M{background:color-mix(in srgb, var(--bg-tertiary) 60%, transparent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.QuotaCard-module__icon___5ZUbX{object-fit:contain;width:16px;height:16px;display:block}.QuotaCard-module__iconFallback___i6gvn{color:var(--text-secondary);font-size:11px;font-weight:700}.QuotaCard-module__fileName___1QWup{letter-spacing:.01em;min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12.5px;font-weight:600;overflow:hidden}.QuotaCard-module__body___QvXLv{flex-direction:column;gap:9px;min-width:0;display:flex}.QuotaCard-module__idleBody___-LVRC{cursor:pointer;border:1px dashed var(--border-color);width:100%;min-height:76px;color:var(--text-tertiary);transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out), border-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), color var(--dur-hover,.2s) var(--ease-out-strong,ease-out);background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 10px;display:flex}.QuotaCard-module__idleBody___-LVRC:disabled{cursor:not-allowed;opacity:.55}.QuotaCard-module__idleBody___-LVRC:active:not(:disabled){transform:scale(.98)}.QuotaCard-module__idleBody___-LVRC:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (hover:hover) and (pointer:fine){.QuotaCard-module__idleBody___-LVRC:hover:not(:disabled){border-color:color-mix(in srgb, var(--primary-color) 35%, var(--border-color));color:var(--text-secondary);border-style:solid}}.QuotaCard-module__idleGlyph___-MyUb{opacity:.8;flex-shrink:0}.QuotaCard-module__idleHint___ki8K6{text-align:center;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.5}.QuotaCard-module__skeleton___itY8q{flex-direction:column;gap:11px;padding:4px 0 2px;display:flex}.QuotaCard-module__skeletonRow___I4TdX{flex-direction:column;gap:6px;display:flex}.QuotaCard-module__skeletonLabel___y0Wxn,.QuotaCard-module__skeletonTrack___GfCHZ{background-color:color-mix(in srgb, var(--text-primary) 8%, transparent);background-image:linear-gradient(90deg, transparent 20%, color-mix(in srgb, var(--text-primary) 6%, transparent) 50%, transparent 80%);background-repeat:no-repeat;background-size:220% 100%;border-radius:9999px;animation:1.2s linear infinite QuotaCard-module__quota-skeleton-sweep___mYYkB;display:block}@keyframes QuotaCard-module__quota-skeleton-sweep___mYYkB{0%{background-position:-110% 0}to{background-position:210% 0}}.QuotaCard-module__skeletonLabel___y0Wxn{width:40%;height:10px}.QuotaCard-module__skeletonTrack___GfCHZ{width:100%;height:6px}.QuotaCard-module__srOnly___LVxLF{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.QuotaCard-module__errorStrip___XvHgW{color:var(--viz-failure);background:color-mix(in srgb, var(--viz-failure) 8%, transparent);border:1px solid color-mix(in srgb, var(--viz-failure) 32%, transparent);overflow-wrap:anywhere;border-radius:9px;padding:8px 10px;font-size:11.5px;line-height:1.5}.QuotaCard-module__actionRow___mzLCF{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.QuotaCard-module__actionPill___GQddc{cursor:pointer;border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;transition:transform var(--dur-press,.16s) var(--ease-out-strong,ease-out), border-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), background-color var(--dur-hover,.2s) var(--ease-out-strong,ease-out), color var(--dur-hover,.2s) var(--ease-out-strong,ease-out);background:0 0;border-radius:9999px;align-items:center;gap:5px;padding:5px 11px;font-size:11.5px;font-weight:600;line-height:1.4;display:inline-flex}.QuotaCard-module__actionPill___GQddc:disabled{cursor:not-allowed;opacity:.5}.QuotaCard-module__actionPill___GQddc:active:not(:disabled){transform:scale(.97)}.QuotaCard-module__actionPill___GQddc:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (hover:hover) and (pointer:fine){.QuotaCard-module__actionPill___GQddc:hover:not(:disabled){border-color:var(--border-hover);background:color-mix(in srgb, var(--bg-tertiary) 55%, transparent);color:var(--text-primary)}}.QuotaCard-module__spinning___bpwYE{animation:.8s linear infinite QuotaCard-module__quota-card-spin___PpW3V}@keyframes QuotaCard-module__quota-card-spin___PpW3V{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.QuotaCard-module__card___gsSw0,.QuotaCard-module__idleBody___-LVRC,.QuotaCard-module__actionPill___GQddc{transition:none}.QuotaCard-module__idleBody___-LVRC:active:not(:disabled),.QuotaCard-module__actionPill___GQddc:active:not(:disabled){transform:none}.QuotaCard-module__cardEnter___UF7tD,.QuotaCard-module__skeletonLabel___y0Wxn,.QuotaCard-module__skeletonTrack___GfCHZ,.QuotaCard-module__spinning___bpwYE{animation:none}}.QuotaTimeline-module__timeline___WCTXL{flex-direction:column;gap:16px;display:flex}.QuotaTimeline-module__head___u4fSV{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.QuotaTimeline-module__title___2Z27g{color:var(--text-primary);margin:0;font-size:18px;font-weight:650}.QuotaTimeline-module__range___XLn9W{color:var(--text-quaternary);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:12px}.QuotaTimeline-module__controls___PqNbq{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.QuotaTimeline-module__nav___QxfPe,.QuotaTimeline-module__modes___7xT9o{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.QuotaTimeline-module__nav___QxfPe button,.QuotaTimeline-module__modes___7xT9o button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:4px 12px;font-size:12.5px;transition:all .15s}.QuotaTimeline-module__nav___QxfPe button:hover:not(:disabled),.QuotaTimeline-module__modes___7xT9o button:hover:not(:disabled){color:var(--text-primary)}.QuotaTimeline-module__nav___QxfPe button:disabled,.QuotaTimeline-module__modes___7xT9o button:disabled{opacity:.5;cursor:default}.QuotaTimeline-module__nav___QxfPe button[aria-pressed=true],.QuotaTimeline-module__modes___7xT9o button[aria-pressed=true]{background:var(--floating-surface,var(--bg-primary));border-color:var(--border-hover);color:var(--text-primary)}.QuotaTimeline-module__chart___N7OxP{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:12px;overflow:hidden}.QuotaTimeline-module__empty___0HP5I{min-height:96px;color:var(--text-quaternary);text-align:center;place-items:center;padding:24px;font-size:12px;display:grid}.QuotaTimeline-module__axis___C3EoC,.QuotaTimeline-module__lane___zSZC1{grid-template-columns:210px 1fr;display:grid}.QuotaTimeline-module__axis___C3EoC{border-bottom:1px solid var(--border-color)}.QuotaTimeline-module__axisLabel___w0acY{letter-spacing:.06em;text-transform:uppercase;color:var(--text-quaternary);align-items:flex-end;padding:8px 12px;font-size:10.5px;font-weight:600;display:flex}.QuotaTimeline-module__axisCells___8KfD4{display:flex}.QuotaTimeline-module__axisCell___10NSx{border-left:1px solid var(--border-color);flex-direction:column;flex:1 1 0;align-items:center;gap:1px;min-width:0;padding:6px 2px;display:flex}.QuotaTimeline-module__axisCell___10NSx[data-weekend="1"]{background:#ffffff04}.QuotaTimeline-module__axisCell___10NSx[data-today="1"]{background:#ffffff08}.QuotaTimeline-module__axisWeekday___lkS5X{color:var(--text-quaternary);min-height:12px;font-size:10px}.QuotaTimeline-module__axisDate___bxHvj{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px;font-weight:600}.QuotaTimeline-module__lane___zSZC1{border-top:1px solid var(--border-color)}.QuotaTimeline-module__lane___zSZC1:hover{background:#ffffff03}.QuotaTimeline-module__laneHead___t0-03{flex-direction:column;gap:3px;min-width:0;padding:9px 12px;display:flex}.QuotaTimeline-module__laneTop___I3-LV{align-items:center;gap:6px;min-width:0;display:flex}.QuotaTimeline-module__laneDot___sSNpR{background:var(--provider-accent,var(--text-quaternary));border-radius:50%;flex:none;width:7px;height:7px}.QuotaTimeline-module__laneName___26MaX{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.QuotaTimeline-module__lanePeriod___7d5MF{color:var(--count-badge-text,var(--text-secondary));background:var(--count-badge-bg,var(--bg-tertiary));border-radius:999px;flex:none;padding:0 6px;font-size:10px;font-weight:600}.QuotaTimeline-module__laneLimits___wbA3K{flex-wrap:wrap;gap:4px;display:flex}.QuotaTimeline-module__laneLimit___GD2aZ{color:var(--text-quaternary);background:var(--bg-tertiary);border-radius:4px;padding:1px 6px;font-size:10.5px}.QuotaTimeline-module__laneLimit___GD2aZ b{color:var(--text-secondary);font-variant-numeric:tabular-nums}.QuotaTimeline-module__track___f0X5S{align-items:center;min-height:46px;display:flex;position:relative}.QuotaTimeline-module__trackGrid___cIq61{display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.QuotaTimeline-module__trackGrid___cIq61>span{border-left:1px solid var(--border-color);flex:1 1 0}.QuotaTimeline-module__trackGrid___cIq61>span[data-weekend="1"]{background:#ffffff04}.QuotaTimeline-module__nowLine___W7b6l{background:var(--text-tertiary,var(--text-quaternary));opacity:.8;z-index:1;width:1px;position:absolute;top:0;bottom:0}.QuotaTimeline-module__window___Cpst9{z-index:2;white-space:nowrap;border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:10.5px;display:flex;position:absolute;overflow:hidden}.QuotaTimeline-module__windowLive___w4cNY{background:color-mix(in srgb, var(--provider-accent) 26%, transparent);border:1px solid color-mix(in srgb, var(--provider-accent) 45%, transparent);color:var(--text-primary)}.QuotaTimeline-module__windowNext___R6YYa{border:1px dashed color-mix(in srgb, var(--provider-accent) 32%, transparent);color:var(--text-quaternary);background:0 0}.QuotaTimeline-module__windowPast___CLBpt{background:color-mix(in srgb, var(--provider-accent) 8%, transparent);color:var(--text-quaternary);border:1px solid #0000}.QuotaTimeline-module__windowFill___57KH0{background:color-mix(in srgb, var(--provider-accent) 34%, transparent);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.QuotaTimeline-module__windowLabel___dWzzW{text-overflow:ellipsis;font-variant-numeric:tabular-nums;position:relative;overflow:hidden}.QuotaTimeline-module__laneIdle___-tEF7{z-index:2;color:var(--text-quaternary);padding-left:10px;font-size:11px;position:relative}.QuotaTimeline-module__legend___dtxWe{color:var(--text-quaternary);flex-wrap:wrap;align-items:center;gap:16px;font-size:11px;display:flex}.QuotaTimeline-module__legendItem___3YQO3{align-items:center;gap:6px;display:inline-flex}.QuotaTimeline-module__swatch___PdVZj{border-radius:999px;width:22px;height:10px}.QuotaTimeline-module__swatchLive___wxYVr{background:color-mix(in srgb, var(--text-tertiary,#888) 34%, transparent);border:1px solid color-mix(in srgb, var(--text-tertiary,#888) 50%, transparent)}.QuotaTimeline-module__swatchNext___whozo{border:1px dashed color-mix(in srgb, var(--text-tertiary,#888) 45%, transparent)}.QuotaTimeline-module__swatchPast___UAzz6{background:color-mix(in srgb, var(--text-tertiary,#888) 12%, transparent)}.QuotaTimeline-module__legendNote___W36HQ{flex:320px;min-width:0}@media (max-width:768px){.QuotaTimeline-module__chart___N7OxP{overflow-x:auto}.QuotaTimeline-module__axis___C3EoC,.QuotaTimeline-module__lane___zSZC1{min-width:720px}}.QuotaPage-module__page___EOaHV{flex-direction:column;gap:20px;width:100%;min-width:0;display:flex}.QuotaPage-module__workbench___M9KKY{flex-direction:column;gap:14px;min-width:0;display:flex}.QuotaPage-module__errorBanner___Fm4sj{color:var(--danger-color);background:var(--bg-error-light);border:1px solid var(--warning-border);overflow-wrap:anywhere;border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.5}.QuotaPage-module__grid___veEj-{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:stretch;gap:16px;display:grid}.QuotaPage-module__pagination___qj1Ew{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.QuotaPage-module__pageInfo___QnjRe{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-tertiary);white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}@media (max-width:768px){.QuotaPage-module__page___EOaHV{gap:16px}}.PluginResourcePage-module__page___Worp1{background:#fff;flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:flex}.PluginResourcePage-module__frame___vFTLX{background:#fff;border:0;flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:block}.PluginResourcePage-module__stateShell___mvcAO{background:var(--bg-secondary);justify-content:center;align-items:center;width:100%;min-height:100%;padding:70px clamp(20px,3vw,48px) 40px;display:flex}.PluginResourcePage-module__statusPanel___hLEe6{color:var(--text-secondary);font-size:14px}.PluginsPage-module__page___CvQ2C{flex-direction:column;gap:24px;width:100%;display:flex}.PluginsPage-module__pageHeader___QAQJM{flex-direction:column;gap:8px;display:flex}.PluginsPage-module__title___kbWp2{color:var(--text-primary);margin:0;font-size:28px;font-weight:700;line-height:1.2}.PluginsPage-module__description___rS8P3{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.PluginsPage-module__errorBox___CXInm,.PluginsPage-module__warningBox___XGq99{border-radius:8px;padding:16px;font-size:14px;line-height:1.5}.PluginsPage-module__errorBox___CXInm{border:1px solid var(--danger-color);color:var(--danger-color);background:#c657461a}.PluginsPage-module__warningBox___XGq99{border:1px solid color-mix(in srgb, var(--warning-color,#c65746) 42%, var(--border-color));background:color-mix(in srgb, var(--warning-color,#c65746) 9%, var(--bg-secondary));color:var(--text-primary)}.PluginsPage-module__statusBar___-NeAi{border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);background:color-mix(in srgb, var(--bg-secondary) 60%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.PluginsPage-module__statusPill___KsCzj{border:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);background:color-mix(in srgb, var(--bg-primary) 56%, transparent);white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.PluginsPage-module__statusDot___sWBOV{border-radius:50%;flex-shrink:0;width:7px;height:7px}.PluginsPage-module__statusDotOn___7cgF3{background:#10b981;box-shadow:0 0 6px #10b98180}.PluginsPage-module__statusDotOff___biyeH{background:var(--text-tertiary)}.PluginsPage-module__statusLabel___OJVc7{color:var(--text-secondary)}.PluginsPage-module__statusValue___wqQgp{color:var(--text-primary);font-weight:700}.PluginsPage-module__statusPathValue___SCblH{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(360px,58vw);display:block;overflow:hidden}.PluginsPage-module__statusDivider___fJexN{background:color-mix(in srgb, var(--border-color) 60%, transparent);flex-shrink:0;width:1px;height:20px}@media (max-width:768px){.PluginsPage-module__statusDivider___fJexN{display:none}}.PluginsPage-module__toolbar___-cit2{align-items:center;gap:8px;display:flex}.PluginsPage-module__toolbar___-cit2 .form-group{flex:1;max-width:480px;margin:0}.PluginsPage-module__toolbar___-cit2 .input{padding-right:36px}.PluginsPage-module__toolbar___-cit2 .btn>span{align-items:center;gap:8px;display:inline-flex}@media (max-width:768px){.PluginsPage-module__toolbar___-cit2{flex-direction:column;align-items:stretch}.PluginsPage-module__toolbar___-cit2 .form-group{max-width:none}}.PluginsPage-module__pluginList___Jk4FJ{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:color-mix(in srgb, var(--border-color) 30%, transparent);border-radius:12px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.PluginsPage-module__pluginRow___-y4iX{background:var(--bg-primary);grid-template-columns:40px 1fr auto;align-items:center;gap:16px;padding:16px 24px;transition:background-color .15s;display:grid}.PluginsPage-module__pluginRow___-y4iX:hover{background:var(--bg-hover)}@media (max-width:768px){.PluginsPage-module__pluginRow___-y4iX{grid-template-rows:auto auto;grid-template-columns:36px 1fr;gap:8px;padding:16px}}.PluginsPage-module__logoBox___9Hy-r{border:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);background:color-mix(in srgb, var(--bg-tertiary) 60%, transparent);width:40px;height:40px;color:var(--text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.PluginsPage-module__logoBox___9Hy-r img{object-fit:cover;width:100%;height:100%}@media (max-width:768px){.PluginsPage-module__logoBox___9Hy-r{border-radius:8px;width:36px;height:36px}}.PluginsPage-module__pluginInfo___ODdnV{flex-direction:column;gap:4px;min-width:0;display:flex}.PluginsPage-module__pluginName___uX3d7{align-items:center;gap:8px;min-width:0;display:flex}.PluginsPage-module__pluginName___uX3d7 h2{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:650;line-height:1.3;overflow:hidden}.PluginsPage-module__pluginId___SjbKJ{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.PluginsPage-module__pluginMeta___xa89L{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.PluginsPage-module__metaItem___05Mg9{min-width:0;max-width:100%;color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.PluginsPage-module__metaItem___05Mg9 strong{color:var(--text-secondary);font-weight:600}.PluginsPage-module__metaPath___JUDWR{text-overflow:ellipsis;display:block;overflow:hidden}.PluginsPage-module__metaDot___FpFyv{background:color-mix(in srgb, var(--text-tertiary) 50%, transparent);border-radius:50%;flex-shrink:0;width:3px;height:3px}.PluginsPage-module__badgeRow___USdlO{flex-wrap:wrap;gap:5px;display:flex}.PluginsPage-module__badge___2k1PE,.PluginsPage-module__badgeSuccess___1yPJW,.PluginsPage-module__badgeWarning___ADHL9,.PluginsPage-module__badgeMuted___f-Gd9{border-radius:6px;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.25;display:inline-flex}.PluginsPage-module__badge___2k1PE{background:color-mix(in srgb, var(--bg-secondary) 82%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);color:var(--text-secondary)}.PluginsPage-module__badgeSuccess___1yPJW{color:var(--success-color);background:#10b9811a;border:1px solid #10b98133}.PluginsPage-module__badgeWarning___ADHL9{color:var(--warning-color);background:#c657461a;border:1px solid #c6574633}.PluginsPage-module__badgeMuted___f-Gd9{background:color-mix(in srgb, var(--bg-secondary) 82%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 40%, transparent);color:var(--text-tertiary)}.PluginsPage-module__rowActions___LvMkv{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:min(560px,48vw);display:flex}.PluginsPage-module__rowActions___LvMkv .btn>span{align-items:center;gap:6px;display:inline-flex}@media (max-width:768px){.PluginsPage-module__rowActions___LvMkv{grid-column:1/-1;justify-content:flex-start;max-width:none}}.PluginsPage-module__iconLink___ofzv1{border:1px solid var(--border-color);background:var(--bg-primary);min-height:30px;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.PluginsPage-module__iconLink___ofzv1:hover{border-color:var(--primary-color);background:var(--bg-hover);color:var(--primary-color)}.PluginsPage-module__iconLink___ofzv1{flex:none;width:30px}.PluginsPage-module__skeletonRow___BCdYy{background:var(--bg-primary);align-items:center;gap:16px;padding:16px 24px;display:flex}.PluginsPage-module__skeletonAvatar___qfNzu{background:linear-gradient(90deg, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 25%, color-mix(in srgb, var(--bg-hover) 70%, transparent) 37%, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 63%);background-size:400% 100%;border-radius:10px;flex-shrink:0;width:40px;height:40px;animation:1.35s ease-in-out infinite PluginsPage-module__skeletonPulse___FskV9}.PluginsPage-module__skeletonText___PKTOA{flex-direction:column;flex:1;gap:8px;display:flex}.PluginsPage-module__skeletonLine___91eQ6{background:linear-gradient(90deg, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 25%, color-mix(in srgb, var(--bg-hover) 70%, transparent) 37%, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 63%);background-size:400% 100%;border-radius:4px;height:14px;animation:1.35s ease-in-out infinite PluginsPage-module__skeletonPulse___FskV9}.PluginsPage-module__skeletonLine___91eQ6:first-child{width:45%}.PluginsPage-module__skeletonLine___91eQ6:last-child{width:70%;height:10px}.PluginsPage-module__sheetFooter___IZQM-{justify-content:flex-end;gap:8px;display:flex}.PluginsPage-module__configForm___acXwo{flex-direction:column;gap:24px;display:flex}.PluginsPage-module__formSection___J8eP4{flex-direction:column;gap:16px;display:flex}.PluginsPage-module__formSection___J8eP4 h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.PluginsPage-module__formSection___J8eP4 .form-group{margin:0}.PluginsPage-module__fieldRow___-q2Wa{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 72%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:16px;display:flex}.PluginsPage-module__fieldText___KkAH-{min-width:0}.PluginsPage-module__fieldLabel___3on7I{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:650}.PluginsPage-module__fieldDescription___JEDFJ,.PluginsPage-module__fieldHint___MyVVK{color:var(--text-tertiary);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.45}.PluginsPage-module__formField___-MDet{flex-direction:column;gap:6px;display:flex}.PluginsPage-module__formField___-MDet label{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:600}.PluginsPage-module__textarea___DVGj3{resize:vertical;border:1px solid var(--border-color);background:var(--bg-primary);min-height:148px;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5}.PluginsPage-module__textarea___DVGj3:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 18%, transparent);outline:none}.PluginsPage-module__fieldError___ekayR{color:var(--danger-color);background:#c657461a;border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.4}.PluginsPage-module__emptyConfig___lkfig{border:1px dashed var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 70%, transparent);color:var(--text-secondary);border-radius:8px;padding:16px;font-size:14px}@keyframes PluginsPage-module__skeletonPulse___FskV9{0%{background-position:100% 0}to{background-position:0 0}}@media (max-width:768px){.PluginsPage-module__page___CvQ2C{gap:16px}.PluginsPage-module__sheetFooter___IZQM-{flex-direction:column-reverse}.PluginsPage-module__sheetFooter___IZQM- .btn{width:100%}}.PluginInstallGateModal-module__gateModal___ue7KG{text-align:left}.PluginInstallGateModal-module__identity___cMUhh{text-align:center;border-bottom:1px solid var(--border-color);flex-direction:column;align-items:center;gap:8px;padding:8px 0 16px;display:flex}.PluginInstallGateModal-module__logoBox___if1mL{border:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);background:color-mix(in srgb, var(--bg-tertiary) 60%, transparent);width:52px;height:52px;color:var(--text-secondary);border-radius:12px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.PluginInstallGateModal-module__logoBox___if1mL img{object-fit:cover;width:100%;height:100%}.PluginInstallGateModal-module__name___EUXHi{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700}.PluginInstallGateModal-module__slug___nUy93{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:13px}.PluginInstallGateModal-module__repoLink___YkOrf{max-width:100%;color:var(--text-secondary);align-items:center;gap:4px;margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;text-decoration:none;display:inline-flex}.PluginInstallGateModal-module__repoLink___YkOrf span{overflow-wrap:anywhere;min-width:0}.PluginInstallGateModal-module__repoLink___YkOrf svg{color:var(--text-tertiary);flex-shrink:0}.PluginInstallGateModal-module__repoLink___YkOrf:hover{color:var(--accent-color);text-decoration:underline}.PluginInstallGateModal-module__repoLink___YkOrf:hover svg{color:currentColor}.PluginInstallGateModal-module__repoLink___YkOrf:focus-visible{outline:2px solid var(--focus-ring-color,var(--accent-color));outline-offset:3px;border-radius:4px}.PluginInstallGateModal-module__source___nEQCo{color:var(--text-tertiary);overflow-wrap:anywhere;margin:0;font-size:12px}.PluginInstallGateModal-module__warningBanner___NeGNY{border:1px solid color-mix(in srgb, var(--quota-medium-color,#e0aa14) 45%, var(--border-color));background:color-mix(in srgb, var(--quota-medium-color,#e0aa14) 16%, var(--bg-secondary));color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;margin-top:24px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.PluginInstallGateModal-module__warningBanner___NeGNY svg{color:var(--quota-medium-color,#e0aa14);flex-shrink:0}.PluginInstallGateModal-module__effects___3sPvx{border-left:2px solid var(--border-color);flex-direction:column;gap:12px;margin:16px 0 0;padding-left:16px;list-style:none;display:flex}.PluginInstallGateModal-module__effects___3sPvx li{color:var(--text-secondary);padding-left:18px;font-size:14px;line-height:1.5;position:relative}.PluginInstallGateModal-module__effects___3sPvx li:before{content:"";background:var(--text-tertiary);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:0}.PluginInstallGateModal-module__untrustedAlert___qDVbK{background:#c657461a;border:1px solid #c6574659;border-radius:8px;margin-top:24px;padding:12px 14px}.PluginInstallGateModal-module__untrustedText___oIwKQ{color:var(--danger-color);margin:0;font-size:13.5px;font-weight:600;line-height:1.5}.PluginInstallGateModal-module__originGrid___YoESL{grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0 0;display:grid}.PluginInstallGateModal-module__originGrid___YoESL dt{color:var(--text-secondary);font-size:12px;font-weight:600}.PluginInstallGateModal-module__originGrid___YoESL dd{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.PluginInstallGateModal-module__confirmBlock___L2Vcd{margin-top:24px}.PluginInstallGateModal-module__confirmPrompt___zS8uB{color:var(--text-primary);overflow-wrap:anywhere;margin-bottom:8px;font-size:14px;font-weight:600;line-height:1.5;display:block}.PluginInstallGateModal-module__confirmHint___ZYG8r{color:var(--text-tertiary);margin:8px 0 0;font-size:12px}.PluginStorePage-module__page___rN2vB{flex-direction:column;gap:24px;width:100%;display:flex}.PluginStorePage-module__pageHeader___a5hmM{flex-direction:column;gap:8px;display:flex}.PluginStorePage-module__title___QkQ1O{color:var(--text-primary);margin:0;font-size:28px;font-weight:700;line-height:1.2}.PluginStorePage-module__description___r173b{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.PluginStorePage-module__errorBox___wObm5,.PluginStorePage-module__warningBox___m3Ra1{border-radius:8px;padding:16px;font-size:14px;line-height:1.5}.PluginStorePage-module__errorBox___wObm5{border:1px solid var(--danger-color);color:var(--danger-color);background:#c657461a;justify-content:space-between;align-items:center;gap:16px;display:flex}.PluginStorePage-module__errorBox___wObm5 span{overflow-wrap:anywhere;min-width:0}.PluginStorePage-module__errorBox___wObm5 .btn{flex-shrink:0}@media (max-width:768px){.PluginStorePage-module__errorBox___wObm5{flex-direction:column;align-items:stretch}}.PluginStorePage-module__warningBox___m3Ra1{border:1px solid color-mix(in srgb, var(--warning-color,#c65746) 42%, var(--border-color));background:color-mix(in srgb, var(--warning-color,#c65746) 9%, var(--bg-secondary));color:var(--text-primary)}.PluginStorePage-module__sourceErrorList___yirmz{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.PluginStorePage-module__sourceErrorList___yirmz li{flex-direction:column;gap:2px;min-width:0;display:flex}.PluginStorePage-module__sourceErrorList___yirmz span{overflow-wrap:anywhere;font-weight:700}.PluginStorePage-module__sourceErrorList___yirmz small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px}.PluginStorePage-module__securityBanner___OtvY-{border:1px solid color-mix(in srgb, var(--quota-medium-color,#e0aa14) 45%, var(--border-color));background:color-mix(in srgb, var(--quota-medium-color,#e0aa14) 14%, var(--bg-secondary));color:var(--text-primary);border-radius:8px;align-items:flex-start;gap:8px;padding:12px 14px;display:flex}.PluginStorePage-module__securityBanner___OtvY->svg{color:var(--quota-medium-color,#e0aa14);flex-shrink:0;margin-top:1px}.PluginStorePage-module__securityBannerText___eDLQ1{min-width:0}.PluginStorePage-module__securityBannerText___eDLQ1 strong{font-size:14px;font-weight:700;line-height:1.4;display:block}.PluginStorePage-module__securityBannerText___eDLQ1 p{color:var(--text-secondary);margin:2px 0 0;font-size:13px;line-height:1.5}.PluginStorePage-module__statusBar___b8rzI{border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);background:color-mix(in srgb, var(--bg-secondary) 60%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.PluginStorePage-module__statusPill___AN7oF{border:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);background:color-mix(in srgb, var(--bg-primary) 56%, transparent);white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.PluginStorePage-module__statusDot___llMK6{border-radius:50%;flex-shrink:0;width:7px;height:7px}.PluginStorePage-module__statusDotOn___cQMJQ{background:#10b981;box-shadow:0 0 6px #10b98180}.PluginStorePage-module__statusDotOff___auyTL{background:var(--text-tertiary)}.PluginStorePage-module__statusLabel___0CDXB{color:var(--text-secondary)}.PluginStorePage-module__statusValue___Buecx{color:var(--text-primary);font-weight:700}.PluginStorePage-module__statusPathValue___gU-aN{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(360px,58vw);display:block;overflow:hidden}.PluginStorePage-module__statusDivider___0N7N9{background:color-mix(in srgb, var(--border-color) 60%, transparent);flex-shrink:0;width:1px;height:20px}@media (max-width:768px){.PluginStorePage-module__statusDivider___0N7N9{display:none}}.PluginStorePage-module__toolbar___Z-Caf{align-items:center;gap:8px;display:flex}.PluginStorePage-module__toolbar___Z-Caf .form-group{flex:1;max-width:480px;margin:0}.PluginStorePage-module__toolbar___Z-Caf .input{padding-right:36px}.PluginStorePage-module__toolbar___Z-Caf .btn>span{align-items:center;gap:8px;display:inline-flex}@media (max-width:768px){.PluginStorePage-module__toolbar___Z-Caf{flex-direction:column;align-items:stretch}.PluginStorePage-module__toolbar___Z-Caf .form-group{max-width:none}}.PluginStorePage-module__filterChips___IS9vp{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.PluginStorePage-module__filterChip___GUJrG{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;line-height:1.4;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.PluginStorePage-module__filterChip___GUJrG:hover{border-color:var(--primary-color);color:var(--text-primary)}.PluginStorePage-module__filterChipActive___ej1JK{border-color:var(--primary-color);background:color-mix(in srgb, var(--primary-color) 12%, var(--bg-primary));color:var(--text-primary)}.PluginStorePage-module__filterChipCount___YmS7u{background:color-mix(in srgb, var(--border-color) 45%, transparent);min-width:18px;color:var(--text-secondary);border-radius:9999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.PluginStorePage-module__cardGrid___fnYwp{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}@media (max-width:768px){.PluginStorePage-module__cardGrid___fnYwp{grid-template-columns:1fr}}.PluginStorePage-module__card___T-2ZC{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:var(--bg-primary);border-radius:12px;flex-direction:column;gap:8px;padding:16px;transition:border-color .15s,background-color .15s;display:flex}.PluginStorePage-module__card___T-2ZC:hover{border-color:color-mix(in srgb, var(--primary-color) 45%, var(--border-color));background:var(--bg-hover)}.PluginStorePage-module__cardHeader___ApM1k{grid-template-columns:40px minmax(0,1fr);align-items:flex-start;gap:6px 8px;display:grid}.PluginStorePage-module__logoBox___h82gm{border:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);background:color-mix(in srgb, var(--bg-tertiary) 60%, transparent);width:40px;height:40px;color:var(--text-secondary);border-radius:10px;flex-shrink:0;grid-area:1/1;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.PluginStorePage-module__logoBox___h82gm img{object-fit:cover;width:100%;height:100%}.PluginStorePage-module__cardTitleBlock___6IWjb{flex-direction:column;grid-area:1/2;gap:2px;min-width:0;display:flex}.PluginStorePage-module__cardTitle___iD68r{color:var(--text-primary);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:15px;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.PluginStorePage-module__cardId___W5pBu{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Cascadia Mono,JetBrains Mono,Fira Code,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.PluginStorePage-module__cardBadges___mWJO0{flex-wrap:wrap;grid-area:2/2;justify-content:flex-start;gap:5px;min-width:0;display:flex}.PluginStorePage-module__cardBadges___mWJO0:empty{display:none}.PluginStorePage-module__badge___4g24a,.PluginStorePage-module__badgeSuccess___wg0Ot,.PluginStorePage-module__badgeWarning___xHNML,.PluginStorePage-module__badgeUntrusted___Wjoz1{border-radius:6px;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.25;display:inline-flex}.PluginStorePage-module__badge___4g24a{background:color-mix(in srgb, var(--bg-secondary) 82%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 50%, transparent);color:var(--text-secondary)}.PluginStorePage-module__badgeSuccess___wg0Ot{color:var(--success-color);background:#10b9811a;border:1px solid #10b98133}.PluginStorePage-module__badgeWarning___xHNML{color:var(--warning-color);background:#c657461a;border:1px solid #c6574633}.PluginStorePage-module__badgeUntrusted___Wjoz1{color:var(--danger-color);background:#c657461f;border:1px solid #c6574666;gap:4px}.PluginStorePage-module__badgeUntrusted___Wjoz1 svg{flex-shrink:0}.PluginStorePage-module__cardDesc___jQ-NX{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.PluginStorePage-module__cardDescBlock___yUsqR{flex-direction:column;gap:4px;min-width:0;display:flex}.PluginStorePage-module__cardDescExpanded___A3Tfg{-webkit-line-clamp:initial;display:block;overflow:visible}.PluginStorePage-module__cardDescToggle___zYFf8{color:var(--primary-color);cursor:pointer;font:inherit;background:0 0;border:0;align-self:flex-start;padding:0;font-size:12px;font-weight:650;line-height:1.4}.PluginStorePage-module__cardDescToggle___zYFf8:hover{color:var(--primary-hover);text-decoration:underline}.PluginStorePage-module__cardDescToggle___zYFf8:focus-visible{outline:2px solid color-mix(in srgb, var(--primary-color) 45%, transparent);outline-offset:3px;border-radius:4px}.PluginStorePage-module__cardMeta___vVo9C{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.PluginStorePage-module__metaItem___kRo15{min-width:0;max-width:100%;color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.PluginStorePage-module__metaItem___kRo15 strong{color:var(--text-secondary);font-weight:600}.PluginStorePage-module__metaDot___MB3Eg{background:color-mix(in srgb, var(--text-tertiary) 50%, transparent);border-radius:50%;flex-shrink:0;width:3px;height:3px}.PluginStorePage-module__tagRow___E6-yD{flex-wrap:wrap;gap:5px;display:flex}.PluginStorePage-module__tag___HqCio{background:color-mix(in srgb, var(--bg-secondary) 82%, transparent);border:1px solid color-mix(in srgb, var(--border-color) 40%, transparent);color:var(--text-tertiary);border-radius:9999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.PluginStorePage-module__cardFooter___2L0tU{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.PluginStorePage-module__cardActions___Ks10I{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.PluginStorePage-module__cardActions___Ks10I .btn>span{align-items:center;gap:6px;display:inline-flex}.PluginStorePage-module__cardLinks___SkIwi{flex-shrink:0;align-items:center;gap:8px;display:flex}.PluginStorePage-module__iconLink___Bv605{border:1px solid var(--border-color);background:var(--bg-primary);width:30px;min-height:30px;color:var(--text-primary);border-radius:8px;flex:none;justify-content:center;align-items:center;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.PluginStorePage-module__iconLink___Bv605:hover{border-color:var(--primary-color);background:var(--bg-hover);color:var(--primary-color)}.PluginStorePage-module__installOptions___OLaer{flex-direction:column;gap:16px;display:flex}.PluginStorePage-module__installMessage___j08Jl{color:var(--text-primary);margin:0;font-size:14px;line-height:1.55}.PluginStorePage-module__installVersionField___O2EFR{flex-direction:column;gap:10px;display:flex}.PluginStorePage-module__installVersionLabel___9EWCy{color:var(--text-secondary);font-size:12px;font-weight:700}.PluginStorePage-module__installVersionModes___kzcLd{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (max-width:768px){.PluginStorePage-module__installVersionModes___kzcLd{grid-template-columns:1fr}}.PluginStorePage-module__installVersionMode___0bb7i{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:var(--bg-primary);cursor:pointer;border-radius:8px;gap:8px;min-width:0;padding:10px;transition:border-color .15s,background-color .15s;display:flex}.PluginStorePage-module__installVersionMode___0bb7i:hover{border-color:color-mix(in srgb, var(--primary-color) 45%, var(--border-color));background:var(--bg-hover)}.PluginStorePage-module__installVersionMode___0bb7i input{flex:none;margin-top:2px}.PluginStorePage-module__installVersionModeActive___Zvnf2{border-color:var(--primary-color);background:color-mix(in srgb, var(--primary-color) 10%, var(--bg-primary))}.PluginStorePage-module__installVersionModeDisabled___f34mS{cursor:not-allowed;opacity:.7}.PluginStorePage-module__installVersionModeText___7Md-1{flex-direction:column;gap:2px;min-width:0;display:flex}.PluginStorePage-module__installVersionModeText___7Md-1 strong{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.3}.PluginStorePage-module__installVersionModeText___7Md-1 small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:11px;line-height:1.4}.PluginStorePage-module__installVersionPanel___--Okp{border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);background:color-mix(in srgb, var(--bg-secondary) 65%, transparent);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.PluginStorePage-module__installVersionPanel___--Okp .form-group{margin:0}.PluginStorePage-module__installVersionHint___0KAz6{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.PluginStorePage-module__installVersionWarning___fmxUK{color:var(--warning-color);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.PluginStorePage-module__installVersionCheckbox___JnlKK{width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.PluginStorePage-module__installVersionCheckbox___JnlKK input{flex:none}.PluginStorePage-module__installReleaseLink___TE77I{width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--primary-color);align-items:center;gap:5px;font-size:12px;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.PluginStorePage-module__installReleaseLink___TE77I:hover{color:var(--primary-hover);text-decoration:underline}.PluginStorePage-module__installReleaseLink___TE77I svg{flex:none}.PluginStorePage-module__installDialogActions___ea-PN{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@media (max-width:768px){.PluginStorePage-module__installDialogActions___ea-PN{flex-direction:column-reverse}}.PluginStorePage-module__skeletonCard___QXKVq{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);background:var(--bg-primary);border-radius:12px;flex-direction:column;gap:16px;padding:16px;display:flex}.PluginStorePage-module__skeletonHeader___joNtm{align-items:center;gap:16px;display:flex}.PluginStorePage-module__skeletonAvatar___bmFWM{background:linear-gradient(90deg, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 25%, color-mix(in srgb, var(--bg-hover) 70%, transparent) 37%, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 63%);background-size:400% 100%;border-radius:10px;flex-shrink:0;width:40px;height:40px;animation:1.35s ease-in-out infinite PluginStorePage-module__skeletonPulse___TfDaw}.PluginStorePage-module__skeletonText___JE5Eo{flex-direction:column;flex:1;gap:8px;display:flex}.PluginStorePage-module__skeletonLine___Nyb3e{background:linear-gradient(90deg, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 25%, color-mix(in srgb, var(--bg-hover) 70%, transparent) 37%, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 63%);background-size:400% 100%;border-radius:4px;height:14px;animation:1.35s ease-in-out infinite PluginStorePage-module__skeletonPulse___TfDaw}.PluginStorePage-module__skeletonLine___Nyb3e:first-child{width:45%}.PluginStorePage-module__skeletonLine___Nyb3e:last-child{width:70%;height:10px}.PluginStorePage-module__skeletonBody___Zy7HX{background:linear-gradient(90deg, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 25%, color-mix(in srgb, var(--bg-hover) 70%, transparent) 37%, color-mix(in srgb, var(--bg-secondary) 86%, transparent) 63%);background-size:400% 100%;border-radius:8px;height:56px;animation:1.35s ease-in-out infinite PluginStorePage-module__skeletonPulse___TfDaw}@keyframes PluginStorePage-module__skeletonPulse___TfDaw{0%{background-position:100% 0}to{background-position:0 0}}@media (max-width:768px){.PluginStorePage-module__page___rN2vB{gap:16px}}.ConfigSection-module__section___36A5y{height:clamp(520px, 100dvh - var(--header-height,64px) - 250px, 780px);box-sizing:border-box;overscroll-behavior:auto;border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 82%, transparent);scroll-snap-align:start;scroll-snap-stop:always;scrollbar-width:thin;border-radius:8px;flex-direction:column;gap:clamp(16px,2vw,22px);min-width:0;padding:clamp(20px,2.4vw,28px);scroll-margin-top:104px;display:flex;overflow-y:auto}@media (max-width:768px){.ConfigSection-module__section___36A5y{height:clamp(420px, 100dvh - var(--header-height,64px) - 260px, 680px);gap:14px;padding:16px;scroll-margin-top:92px}}.ConfigSection-module__header___9y9kI{border-bottom:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 88%, transparent);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding-bottom:14px;display:grid}@media (max-width:768px){.ConfigSection-module__header___9y9kI{background:0 0;grid-template-columns:minmax(0,1fr);gap:10px;padding-bottom:12px}}.ConfigSection-module__titleRow___MDqPS{align-items:center;gap:8px;min-width:0;display:flex}.ConfigSection-module__indexBadge___BNk-6{border:1px solid var(--border-color);min-width:32px;height:28px;color:var(--text-secondary);letter-spacing:.08em;border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:750;display:inline-flex}.ConfigSection-module__iconBadge___608--{width:28px;height:28px;color:var(--text-secondary);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ConfigSection-module__headingGroup___iqK3P{flex-direction:column;gap:6px;min-width:0;display:flex}.ConfigSection-module__title___fNwM-{color:var(--text-primary);letter-spacing:0;margin:0;font-size:clamp(18px,1.6vw,22px);font-weight:680;line-height:1.18}.ConfigSection-module__description___uM2Zw{max-width:72ch;color:var(--text-secondary);margin:0;font-size:13px;line-height:1.65}@media (max-width:768px){.ConfigSection-module__description___uM2Zw{max-width:none}}.ConfigSection-module__content___RBAGw{flex-direction:column;gap:16px;width:100%;min-width:0;display:flex}.VisualConfigEditor-module__visualEditor___qt8bb{flex-direction:column;gap:18px;display:flex}.VisualConfigEditor-module__visualEditor___qt8bb .form-group{gap:7px;margin-bottom:0}.VisualConfigEditor-module__visualEditor___qt8bb .form-group>label{color:var(--text-secondary);letter-spacing:.02em;font-size:12px;font-weight:700}.VisualConfigEditor-module__visualEditor___qt8bb .input{background:var(--bg-secondary);border-color:var(--border-color);min-height:42px;box-shadow:none;border-radius:8px}.VisualConfigEditor-module__visualEditor___qt8bb .input:focus{background:var(--bg-primary);border-color:var(--text-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--text-primary) 12%, transparent)}.VisualConfigEditor-module__visualEditor___qt8bb textarea.input{min-height:112px}.VisualConfigEditor-module__visualEditor___qt8bb .hint{color:var(--text-secondary);font-size:12px;line-height:1.55}.VisualConfigEditor-module__visualEditor___qt8bb .error-box{border-radius:8px}.VisualConfigEditor-module__visualEditor___qt8bb .item-list{gap:8px;margin-top:8px}.VisualConfigEditor-module__visualEditor___qt8bb .item-row{border-color:var(--border-color);background:0 0;border-radius:8px;padding:12px}.VisualConfigEditor-module__visualEditor___qt8bb .item-row .item-meta{gap:4px}.VisualConfigEditor-module__visualEditor___qt8bb .item-row .item-actions{flex-wrap:wrap}.VisualConfigEditor-module__visualEditor___qt8bb .pill{border:1px solid var(--border-color);color:var(--text-secondary);background:0 0;border-radius:6px}.VisualConfigEditor-module__expandableInputWrapper___k5rpc{flex:1;align-items:flex-start;min-width:0;display:flex;position:relative}.VisualConfigEditor-module__expandableInputWrapper___k5rpc>.VisualConfigEditor-module__expandableTextarea___OVvmN,.VisualConfigEditor-module__expandableInputWrapper___k5rpc>.input{flex:1;min-width:0;padding-right:28px}.VisualConfigEditor-module__expandableTextarea___OVvmN{resize:none;min-height:60px;padding-right:32px;line-height:1.5;overflow:hidden}.VisualConfigEditor-module__expandableToggle___M5mBU{z-index:1;color:var(--text-secondary);cursor:pointer;opacity:.58;background:0 0;border:0;padding:2px;font-size:10px;line-height:1;transition:opacity .15s;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.VisualConfigEditor-module__expandableToggle___M5mBU:hover{opacity:1}.VisualConfigEditor-module__expandableToggle___M5mBU:disabled{cursor:default;opacity:.35}.VisualConfigEditor-module__expandableInputExpanded___9zfyv .VisualConfigEditor-module__expandableToggle___M5mBU{top:9px;right:12px;transform:none}.VisualConfigEditor-module__overview___OzHQc{border-bottom:1px solid var(--border-color);grid-template-columns:minmax(0,1fr);gap:10px;padding:0 0 18px;display:grid}.VisualConfigEditor-module__overviewHeader___A8kWa{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}@media (max-width:768px){.VisualConfigEditor-module__overviewHeader___A8kWa{align-items:stretch}}.VisualConfigEditor-module__overviewMeta___SM8ZF{flex-wrap:wrap;gap:6px;display:flex}.VisualConfigEditor-module__overviewPill___eXq54{border:1px solid var(--border-color);min-height:28px;color:var(--text-secondary);border-radius:6px;align-items:center;padding:0 9px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.VisualConfigEditor-module__overviewPillWarning___ruscj{color:var(--warning-text);border-color:var(--warning-border);background:var(--warning-bg)}.VisualConfigEditor-module__modeSwitch___RaXgu{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;gap:4px;padding:3px;display:inline-flex}.VisualConfigEditor-module__modeButton___4q91-{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.VisualConfigEditor-module__modeButton___4q91-:focus{outline-offset:2px;outline:2px solid #8b8680}.VisualConfigEditor-module__modeButton___4q91-{min-height:30px;color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;line-height:1.2;transition:background-color .15s,color .15s;display:inline-flex}.VisualConfigEditor-module__modeButton___4q91-:hover{color:var(--text-primary)}.VisualConfigEditor-module__modeButtonActive___2l-EB{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px color-mix(in srgb, var(--text-primary) 10%, transparent)}.VisualConfigEditor-module__storeAuthEditor___jw1fz{flex-direction:column;gap:10px;display:flex}.VisualConfigEditor-module__storeAuthEmpty___PXnX1{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.VisualConfigEditor-module__storeAuthRule___CcEWk{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 42%, transparent);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.VisualConfigEditor-module__storeAuthRuleHeader___Y7bYd{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.VisualConfigEditor-module__storeAuthRuleHeader___Y7bYd strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.VisualConfigEditor-module__storeAuthGrid___zNz-e{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (max-width:768px){.VisualConfigEditor-module__storeAuthGrid___zNz-e{grid-template-columns:1fr}}.VisualConfigEditor-module__storeAuthField___POf5Y{flex-direction:column;gap:6px;min-width:0;display:flex}.VisualConfigEditor-module__storeAuthField___POf5Y>span{color:var(--text-secondary);font-size:12px;font-weight:700}.VisualConfigEditor-module__storeAuthApplyTo___h-nVP{flex-direction:column;gap:7px;display:flex}.VisualConfigEditor-module__storeAuthApplyTo___h-nVP>span{color:var(--text-secondary);font-size:12px;font-weight:700}.VisualConfigEditor-module__storeAuthApplyTo___h-nVP small{color:var(--text-tertiary);font-size:12px;line-height:1.45}.VisualConfigEditor-module__storeAuthCheckboxes___-SUTy{flex-wrap:wrap;gap:8px;display:flex}.VisualConfigEditor-module__storeAuthCheckbox___ewJAJ{min-height:28px;color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;font-weight:650;line-height:1.4;display:inline-flex}.VisualConfigEditor-module__storeAuthCheckbox___ewJAJ input{width:14px;height:14px;accent-color:var(--primary-color)}.VisualConfigEditor-module__searchBox___5Hbe-{min-width:0;position:relative}.VisualConfigEditor-module__searchControl___qs3dO{padding-right:38px!important}.VisualConfigEditor-module__searchIcon___SSFNZ{color:var(--text-tertiary);pointer-events:none;align-items:center;display:inline-flex}.VisualConfigEditor-module__searchResults___LmzzD{z-index:20;border:1px solid var(--border-color);background:var(--bg-primary);max-height:320px;box-shadow:0 14px 32px color-mix(in srgb, var(--text-primary) 16%, transparent);border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.VisualConfigEditor-module__searchResultItem___WXj4b{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.VisualConfigEditor-module__searchResultItem___WXj4b:focus{outline-offset:2px;outline:2px solid #8b8680}.VisualConfigEditor-module__searchResultItem___WXj4b{text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 10px;transition:background-color .12s;display:flex}.VisualConfigEditor-module__searchResultItem___WXj4b:hover,.VisualConfigEditor-module__searchResultItemActive___D4PcP{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.VisualConfigEditor-module__searchResultLabel___C-XH4{min-width:0;color:var(--text-primary);align-items:baseline;gap:7px;font-size:13px;font-weight:650;line-height:1.3;display:inline-flex}.VisualConfigEditor-module__searchResultQualifier___L6ySy{color:var(--text-tertiary);white-space:nowrap;font-size:11px;font-weight:600}.VisualConfigEditor-module__searchResultSection___2Ncbv{color:var(--text-secondary);white-space:nowrap;flex:none;font-size:11px;font-weight:650}.VisualConfigEditor-module__searchEmpty___SfISJ{color:var(--text-secondary);text-align:center;padding:12px 10px;font-size:13px}.VisualConfigEditor-module__fieldAnchor___b8GES{min-width:0;scroll-margin-top:calc(var(--header-height,64px) + 16px);display:block}.VisualConfigEditor-module__fieldHighlightActive___N9bvD{border-radius:10px;animation:1.8s ease-out VisualConfigEditor-module__cfgFieldHighlight___tprRG}@keyframes VisualConfigEditor-module__cfgFieldHighlight___tprRG{0%{box-shadow:0 0 0 3px color-mix(in srgb, var(--text-primary) 55%, transparent)}55%{box-shadow:0 0 0 3px color-mix(in srgb, var(--text-primary) 32%, transparent)}to{box-shadow:0 0 0 3px #0000}}.VisualConfigEditor-module__simpleView___2aSgt{flex-direction:column;gap:16px;width:100%;min-width:0;max-width:760px;display:flex}.VisualConfigEditor-module__simpleForm___fP8sP{flex-direction:column;gap:14px;min-width:0;display:flex}.VisualConfigEditor-module__simpleField___PKRxy{border:1px solid var(--border-color);background:0 0;border-radius:8px;padding:14px}.VisualConfigEditor-module__simpleBanner___IrwOV{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.VisualConfigEditor-module__simpleBannerAction___Qu19P{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.VisualConfigEditor-module__simpleBannerAction___Qu19P:focus{outline-offset:2px;outline:2px solid #8b8680}.VisualConfigEditor-module__simpleBannerAction___Qu19P{border:1px solid var(--warning-border);color:var(--warning-text);border-radius:6px;flex:none;padding:6px 12px;font-size:12px;font-weight:700;transition:background-color .15s}.VisualConfigEditor-module__simpleBannerAction___Qu19P:hover{background:color-mix(in srgb, var(--warning-text) 10%, transparent)}.VisualConfigEditor-module__simpleMore___8Wff6{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.VisualConfigEditor-module__simpleMore___8Wff6:focus{outline-offset:2px;outline:2px solid #8b8680}.VisualConfigEditor-module__simpleMore___8Wff6{border:1px dashed var(--border-color);width:100%;min-height:46px;color:var(--text-secondary);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:flex}.VisualConfigEditor-module__simpleMore___8Wff6:hover{border-color:var(--text-primary);color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 4%, transparent)}.VisualConfigEditor-module__workspace___gqLDP{flex-direction:column;gap:14px;min-width:0;display:flex}@media (max-width:768px){.VisualConfigEditor-module__workspace___gqLDP{gap:12px}}.VisualConfigEditor-module__mobileSectionNav___d-TWK{display:none}@media (max-width:768px){.VisualConfigEditor-module__mobileSectionNav___d-TWK{top:calc(var(--header-height,64px) + 10px);z-index:4;background:color-mix(in srgb, var(--bg-secondary) 92%, transparent);margin-bottom:4px;display:block;position:sticky}}.VisualConfigEditor-module__mobileSectionNavScroller___VGXz-{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:2px 0 8px;display:grid;overflow:visible}.VisualConfigEditor-module__mobileSectionNavButton___mR9BT{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.VisualConfigEditor-module__mobileSectionNavButton___mR9BT:focus{outline-offset:2px;outline:2px solid #8b8680}.VisualConfigEditor-module__mobileSectionNavButton___mR9BT{border:1px solid var(--border-color);background:var(--bg-primary);text-align:left;border-radius:8px;align-items:center;gap:7px;width:100%;min-width:0;padding:9px 10px;display:inline-flex}.VisualConfigEditor-module__mobileSectionNavButtonActive___ug6e6{border-color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.VisualConfigEditor-module__mobileSectionNavIndex___eVeF8{color:var(--text-tertiary);letter-spacing:.08em;font-size:11px;font-weight:750}.VisualConfigEditor-module__mobileSectionNavLabel___oOjqs{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.25}.VisualConfigEditor-module__mobileSectionNavBadge___Gp-uW{background:var(--warning-bg);border:1px solid var(--warning-border);min-width:20px;height:20px;color:var(--warning-text);border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.VisualConfigEditor-module__sidebar___SiTqL{top:calc(var(--header-height,64px) + 12px);z-index:5;align-self:stretch;min-width:0;position:sticky}@media (max-width:768px){.VisualConfigEditor-module__sidebar___SiTqL{display:none}}.VisualConfigEditor-module__sidebarRail___aktyQ{border-bottom:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 88%, transparent);padding:0 0 12px}.VisualConfigEditor-module__navList___Z7CyL{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}@media (min-width:769px) and (max-width:1024px){.VisualConfigEditor-module__navList___Z7CyL{grid-template-columns:repeat(2,minmax(0,1fr))}}.VisualConfigEditor-module__navButton___EtGL7{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.VisualConfigEditor-module__navButton___EtGL7:focus{outline-offset:2px;outline:2px solid #8b8680}.VisualConfigEditor-module__navButton___EtGL7{border:1px solid var(--border-color);width:100%;min-height:48px;color:inherit;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:9px 11px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.VisualConfigEditor-module__navButton___EtGL7:hover{background:color-mix(in srgb, var(--text-primary) 5%, transparent)}.VisualConfigEditor-module__navButtonActive___oMl0Y{border-color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.VisualConfigEditor-module__navIndex___NEFe2{min-width:24px;color:var(--text-tertiary);letter-spacing:.08em;flex:none;padding-top:2px;font-size:11px;font-weight:750}.VisualConfigEditor-module__navMain___JoJFq{flex-direction:column;flex:1;min-width:0;display:flex}.VisualConfigEditor-module__navHeadingRow___ulXXL{align-items:center;gap:8px;min-width:0;display:flex}.VisualConfigEditor-module__navLabelWrap___3-6B4{align-items:center;gap:7px;min-width:0;display:inline-flex}.VisualConfigEditor-module__navIcon___ZGr7m{width:16px;color:var(--text-secondary);flex:none;justify-content:center;align-items:center;display:inline-flex}.VisualConfigEditor-module__navLabel___-reRP{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.25}.VisualConfigEditor-module__navBadge___UKNbs{background:var(--warning-bg);border:1px solid var(--warning-border);min-width:22px;height:22px;color:var(--warning-text);border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.VisualConfigEditor-module__sections___UAac4{scroll-snap-type:x mandatory;scrollbar-gutter:stable;scrollbar-width:thin;align-items:stretch;gap:0;width:100%;min-width:0;max-width:100%;padding:0 0 12px;scroll-padding-left:0;display:flex;overflow:auto hidden}@media (max-width:768px){.VisualConfigEditor-module__sections___UAac4{padding-bottom:10px}}.VisualConfigEditor-module__sections___UAac4>*{flex:0 0 100%;width:100%;max-width:100%}.VisualConfigEditor-module__sectionGrid___KHy6p{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}@media (max-width:768px){.VisualConfigEditor-module__sectionGrid___KHy6p{grid-template-columns:minmax(0,1fr)}}.VisualConfigEditor-module__sectionStack___nY-l7{flex-direction:column;gap:14px;display:flex}.VisualConfigEditor-module__divider___RHNc6{background:var(--border-color);height:1px}.VisualConfigEditor-module__toggleRow___Lb65M{border:1px solid var(--border-color);background:0 0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:74px;padding:14px;display:grid}@media (max-width:768px){.VisualConfigEditor-module__toggleRow___Lb65M{grid-template-columns:minmax(0,1fr)}}.VisualConfigEditor-module__toggleCopy___IC6RU{flex-direction:column;gap:5px;min-width:0;display:flex}.VisualConfigEditor-module__toggleTitle___ep81q{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.25}.VisualConfigEditor-module__toggleDescription___DrJw5{color:var(--text-secondary);font-size:12px;line-height:1.55}.VisualConfigEditor-module__fieldShell___Q-UC-{flex-direction:column;gap:7px;min-width:0;display:flex}.VisualConfigEditor-module__fieldLabel___B0C9J{color:var(--text-secondary);letter-spacing:.02em;font-size:12px;font-weight:700}.VisualConfigEditor-module__fieldControl___bzi3y{position:relative}.VisualConfigEditor-module__fieldHint___lA9jH{color:var(--text-secondary);font-size:12px;line-height:1.55}.VisualConfigEditor-module__inlinePill___qI2DE{border:1px solid var(--border-color);background:var(--bg-primary);min-height:24px;color:var(--text-secondary);border-radius:6px;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.VisualConfigEditor-module__subsection___wLWRY{border:1px solid var(--border-color);background:0 0;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.VisualConfigEditor-module__subsectionHeader___OAu1N{flex-direction:column;gap:5px;display:flex}.VisualConfigEditor-module__subsectionTitle___9spj4{color:var(--text-primary);margin:0;font-size:15px;font-weight:700;line-height:1.25}.VisualConfigEditor-module__subsectionDescription___Cy1zr{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.VisualConfigEditor-module__blockHeaderRow___bw0Ek{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.VisualConfigEditor-module__blockStack___skL7x{flex-direction:column;gap:10px;display:flex}.VisualConfigEditor-module__ruleCard___PtDhf{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 64%, transparent);border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.VisualConfigEditor-module__ruleCardHeader___MYRwJ{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.VisualConfigEditor-module__ruleCardTitle___tshgp{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.25}.VisualConfigEditor-module__blockLabel___NjEEm{color:var(--text-secondary);font-size:12px;font-weight:700;line-height:1.4}.VisualConfigEditor-module__actionRow___XLzbJ{justify-content:flex-end;display:flex}.VisualConfigEditor-module__emptyState___A7-n3{border:1px dashed var(--border-color);color:var(--text-secondary);text-align:center;background:0 0;border-radius:8px;padding:16px}.VisualConfigEditor-module__stringList___lQQGc{flex-direction:column;gap:8px;display:flex}.VisualConfigEditor-module__stringListRow___4k2cz{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.VisualConfigEditor-module__payloadRuleModelRow___VKBv1{grid-template-columns:1fr 160px auto auto;align-items:center;gap:8px;display:grid}.VisualConfigEditor-module__payloadRuleModelRowProtocolFirst___OaJ2F{grid-template-columns:160px 1fr auto auto}.VisualConfigEditor-module__payloadModelGroup___7fsJd{flex-direction:column;gap:8px;display:flex}.VisualConfigEditor-module__payloadModelAdvanced___y09Hm{border-left:2px solid var(--border-color);flex-direction:column;gap:12px;margin-left:10px;padding-left:12px;display:flex}.VisualConfigEditor-module__payloadAdvancedGrid___THpAJ{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.VisualConfigEditor-module__payloadHeaderRow___8x4ed{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.VisualConfigEditor-module__payloadRuleParamRow___KZJW-{grid-template-columns:1fr 140px 1fr auto;align-items:start;gap:8px;display:grid}.VisualConfigEditor-module__payloadRuleRawParamRow___7PtrY{grid-template-columns:minmax(240px,1fr) minmax(320px,1fr) auto}.VisualConfigEditor-module__payloadRuleParamGroup___1QLNQ{flex-direction:column;gap:6px;display:flex}.VisualConfigEditor-module__payloadJsonInput___ewOqz{resize:vertical;min-height:112px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.VisualConfigEditor-module__payloadParamError___wGWdg{margin:0}.VisualConfigEditor-module__payloadFilterModelRow___MeP9-{grid-template-columns:1fr 160px auto;align-items:center;gap:8px;display:grid}.VisualConfigEditor-module__payloadRowActionButton___8Fdka{flex:none;justify-self:start}.VisualConfigEditor-module__apiKeyModalInputRow___08QmU{align-items:center;gap:8px;display:flex}.VisualConfigEditor-module__apiKeyModalInputRow___08QmU .input{flex:1}@media (max-width:900px){.VisualConfigEditor-module__payloadRuleModelRow___VKBv1,.VisualConfigEditor-module__payloadRuleModelRowProtocolFirst___OaJ2F,.VisualConfigEditor-module__payloadHeaderRow___8x4ed,.VisualConfigEditor-module__payloadRuleParamRow___KZJW-,.VisualConfigEditor-module__payloadFilterModelRow___MeP9-{grid-template-columns:minmax(0,1fr)}.VisualConfigEditor-module__apiKeyModalInputRow___08QmU{flex-direction:column;align-items:stretch}.VisualConfigEditor-module__payloadRowActionButton___8Fdka{width:100%}}@media (max-width:768px){.VisualConfigEditor-module__overview___OzHQc{padding-bottom:14px}.VisualConfigEditor-module__subsection___wLWRY,.VisualConfigEditor-module__ruleCard___PtDhf,.VisualConfigEditor-module__toggleRow___Lb65M{padding:14px}.VisualConfigEditor-module__blockHeaderRow___bw0Ek,.VisualConfigEditor-module__ruleCardHeader___MYRwJ{align-items:stretch}.VisualConfigEditor-module__blockHeaderRow___bw0Ek .btn,.VisualConfigEditor-module__ruleCardHeader___MYRwJ .btn,.VisualConfigEditor-module__actionRow___XLzbJ .btn,.VisualConfigEditor-module__stringListRow___4k2cz .btn{justify-content:center;width:100%}.VisualConfigEditor-module__actionRow___XLzbJ{justify-content:stretch}.VisualConfigEditor-module__stringListRow___4k2cz{align-items:stretch}}@media (max-width:380px){.VisualConfigEditor-module__subsection___wLWRY,.VisualConfigEditor-module__ruleCard___PtDhf,.VisualConfigEditor-module__toggleRow___Lb65M{padding:12px}}.DiffModal-module__diffModal___v1LSh .modal-body{max-height:none;padding:0;overflow:hidden}.DiffModal-module__content___CqXvC{flex-direction:column;height:70vh;min-height:420px;display:flex}.DiffModal-module__emptyState___gS4Kg{border:1px dashed var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px;flex:1;place-items:center;margin:16px;font-size:14px;display:grid}.DiffModal-module__diffContainer___AoJKb{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.DiffModal-module__fileHeader___7jkN4{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.DiffModal-module__fileIcon___OxYTx{color:var(--text-tertiary);flex-shrink:0}.DiffModal-module__fileName___2ylCY{color:var(--text-primary);font-family:Consolas,Monaco,Menlo,SF Mono,monospace;font-size:13px;font-weight:600}.DiffModal-module__fileStats___bN8WB{align-items:center;gap:8px;margin-left:auto;font-family:Consolas,Monaco,Menlo,SF Mono,monospace;font-size:12px;font-weight:700;display:flex}.DiffModal-module__statAdditions___EKdp8{color:#3fb950}.DiffModal-module__statDeletions___Py0Xg{color:#f85149}.DiffModal-module__statBar___tR7TQ{gap:2px;margin-left:2px;display:inline-flex}.DiffModal-module__statBlock___4qKhG{border-radius:2px;width:8px;height:8px}.DiffModal-module__statBlockAdd___VI4yX{background:#3fb950}.DiffModal-module__statBlockDel___39sMa{background:#f85149}.DiffModal-module__diffBody___9dIqe{flex:1;min-height:0;font-family:Consolas,Monaco,Menlo,SF Mono,monospace;font-size:12px;line-height:20px;overflow:auto}.DiffModal-module__hunk___AcNIC+.DiffModal-module__hunk___AcNIC{border-top:1px solid var(--border-color)}.DiffModal-module__hunkHeader___xUVgg{background:color-mix(in srgb, #388bfd 8%, var(--bg-primary));border-bottom:1px solid color-mix(in srgb, #388bfd 12%, var(--border-color));color:color-mix(in srgb, #388bfd 75%, var(--text-secondary));align-items:center;min-height:20px;display:flex}.DiffModal-module__hunkGutter___QVKqi{border-right:1px solid color-mix(in srgb, #388bfd 12%, var(--border-color));flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:50px;display:flex}.DiffModal-module__hunkExpandIcon___zbAx-{color:color-mix(in srgb, #388bfd 70%, var(--text-tertiary));opacity:.7}.DiffModal-module__hunkText___iPVut{white-space:nowrap;padding:4px 8px 4px 28px;font-size:12px}.DiffModal-module__diffLine___9KzZK{min-height:20px;display:flex}.DiffModal-module__lineNum___VXwKE{text-align:right;width:50px;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);box-sizing:border-box;flex-shrink:0;padding:0 8px}.DiffModal-module__lineNumEmpty___I-5AK{color:#0000}.DiffModal-module__linePrefix___ofp2Q{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:20px;font-weight:700}.DiffModal-module__lineText___Zdyo3{white-space:pre-wrap;word-break:break-word;flex:1;min-width:0;padding-right:12px}.DiffModal-module__context___RnJqZ{background:var(--bg-primary)}.DiffModal-module__context___RnJqZ .DiffModal-module__linePrefix___ofp2Q{color:var(--text-tertiary)}.DiffModal-module__context___RnJqZ .DiffModal-module__lineText___Zdyo3{color:var(--text-primary)}.DiffModal-module__deletion___rms8N{background:color-mix(in srgb, #f85149 8%, var(--bg-primary))}.DiffModal-module__deletion___rms8N .DiffModal-module__lineNum___VXwKE{background:color-mix(in srgb, #f85149 12%, var(--bg-primary));border-right-color:color-mix(in srgb, #f85149 18%, var(--border-color));color:color-mix(in srgb, #f85149 60%, var(--text-tertiary))}.DiffModal-module__deletion___rms8N .DiffModal-module__linePrefix___ofp2Q{color:#f85149}.DiffModal-module__deletion___rms8N .DiffModal-module__lineText___Zdyo3{color:var(--text-primary)}.DiffModal-module__addition___a6g2h{background:color-mix(in srgb, #3fb950 8%, var(--bg-primary))}.DiffModal-module__addition___a6g2h .DiffModal-module__lineNum___VXwKE{background:color-mix(in srgb, #3fb950 12%, var(--bg-primary));border-right-color:color-mix(in srgb, #3fb950 18%, var(--border-color));color:color-mix(in srgb, #3fb950 60%, var(--text-tertiary))}.DiffModal-module__addition___a6g2h .DiffModal-module__linePrefix___ofp2Q{color:#3fb950}.DiffModal-module__addition___a6g2h .DiffModal-module__lineText___Zdyo3{color:var(--text-primary)}@media (max-width:768px){.DiffModal-module__content___CqXvC{height:65vh;min-height:360px}.DiffModal-module__lineNum___VXwKE{width:36px;padding:0 4px;font-size:10px}.DiffModal-module__linePrefix___ofp2Q{width:16px;font-size:11px}.DiffModal-module__hunkGutter___QVKqi{width:36px}.DiffModal-module__hunkText___iPVut{padding-left:20px}.DiffModal-module__diffBody___9dIqe{font-size:11px;line-height:18px}.DiffModal-module__fileName___2ylCY{font-size:12px}.DiffModal-module__fileStats___bN8WB{font-size:11px}}.ConfigPage-module__container___5kN-Y{width:min(100%,1480px);min-height:100%;padding-bottom:calc(var(--config-action-bar-height,0px) + 16px + env(safe-area-inset-bottom) + 16px);flex-direction:column;gap:clamp(18px,2.4vw,28px);margin:0 auto;display:flex;overflow-y:auto}.ConfigPage-module__pageHeader___Zulyi{align-items:flex-start;display:flex}.ConfigPage-module__pageHeaderCopy___fiTfJ{flex-direction:column;gap:10px;width:min(100%,360px);min-width:0;display:flex}.ConfigPage-module__pageTitle___BoVLE{color:var(--text-primary);margin:0;font-size:28px;font-weight:700}.ConfigPage-module__tabBar___PelpE{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 72%, transparent);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:grid}.ConfigPage-module__tabItem___Uj1rU{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.ConfigPage-module__tabItem___Uj1rU:focus{outline-offset:2px;outline:2px solid #8b8680}.ConfigPage-module__tabItem___Uj1rU{min-height:38px;color:var(--text-secondary);white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:0 12px;font-size:13px;font-weight:650;line-height:1.25;transition:color .15s,background-color .15s,border-color .15s}.ConfigPage-module__tabItem___Uj1rU:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 5%, transparent)}.ConfigPage-module__tabItem___Uj1rU:disabled{opacity:.58;cursor:not-allowed}.ConfigPage-module__tabActive___sZLh-{color:var(--bg-primary);background:var(--text-primary);border-color:var(--text-primary)}.ConfigPage-module__workspaceShell___Ztz3J{flex-direction:column;gap:24px;min-width:0;display:flex}.ConfigPage-module__content___PgFbt{flex-direction:column;gap:24px;min-height:0;display:flex}.ConfigPage-module__sourceWorkspace___bUuLs{flex-direction:column;gap:12px;min-height:0;display:flex}.ConfigPage-module__sourceToolbar___fhCdI{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 76%, transparent);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}@media (max-width:768px){.ConfigPage-module__sourceToolbar___fhCdI{grid-template-columns:minmax(0,1fr)}}.ConfigPage-module__searchInputWrapper___-GeEQ{align-items:center;min-width:0;display:flex;position:relative}.ConfigPage-module__searchInputWrapper___-GeEQ .form-group{width:100%;margin-bottom:0}.ConfigPage-module__searchInput___ock8o{background:var(--bg-secondary)!important;border-radius:6px!important;min-height:38px!important;padding-right:128px!important}.ConfigPage-module__searchRight___pwWBV{align-items:center;gap:6px;display:inline-flex}.ConfigPage-module__searchCount___AIry7{border:1px solid var(--border-color);min-height:26px;color:var(--text-secondary);pointer-events:none;white-space:nowrap;border-radius:6px;align-items:center;padding:0 8px;font-size:12px;font-weight:650;display:inline-flex}.ConfigPage-module__searchButton___GRbfi{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.ConfigPage-module__searchButton___GRbfi:focus{outline-offset:2px;outline:2px solid #8b8680}.ConfigPage-module__searchButton___GRbfi{border:1px solid var(--text-primary);background:var(--text-primary);width:30px;height:30px;color:var(--bg-primary);border-radius:6px;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.ConfigPage-module__searchButton___GRbfi:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.ConfigPage-module__searchButton___GRbfi:disabled{opacity:.45;cursor:not-allowed}.ConfigPage-module__searchActions___ZGITa{flex-shrink:0;gap:6px;display:flex}.ConfigPage-module__searchActions___ZGITa button{border-radius:6px;width:38px;min-width:38px;height:38px;padding:0!important}@media (max-width:768px){.ConfigPage-module__searchActions___ZGITa{justify-content:stretch}.ConfigPage-module__searchActions___ZGITa button{flex:1;width:auto}}.ConfigPage-module__editorWrapper___yBudn{border:1px solid var(--border-color);background:var(--bg-primary);border-radius:8px;flex:none;width:100%;height:clamp(500px,70vh,1040px);overflow:hidden}@supports (height:100dvh){.ConfigPage-module__editorWrapper___yBudn{height:clamp(500px,70dvh,1040px)}}.ConfigPage-module__editorWrapper___yBudn .cm-editor{background:0 0;height:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px}.ConfigPage-module__editorWrapper___yBudn .cm-scroller{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior:contain;overflow:auto}.ConfigPage-module__editorWrapper___yBudn .cm-gutters{border-right:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 86%, transparent)}.ConfigPage-module__editorWrapper___yBudn .cm-lineNumbers .cm-gutterElement{min-width:40px;color:var(--text-muted);padding:0 8px 0 12px}.ConfigPage-module__editorWrapper___yBudn .cm-activeLine,.ConfigPage-module__editorWrapper___yBudn .cm-activeLineGutter{background:color-mix(in srgb, var(--text-primary) 5%, transparent)}.ConfigPage-module__editorWrapper___yBudn .cm-selectionMatch{background:#e0aa143d}.ConfigPage-module__editorWrapper___yBudn .cm-searchMatch{background:#e0aa1452;outline:1px solid #e0aa147a}.ConfigPage-module__editorWrapper___yBudn .cm-searchMatch-selected{background:#c6574652}.ConfigPage-module__modified___4mzgT{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.ConfigPage-module__saved___zmZx2{color:var(--success-color);background:color-mix(in srgb, var(--success-color) 10%, transparent);border-color:color-mix(in srgb, var(--success-color) 34%, var(--border-color))}.ConfigPage-module__error___qlpX1{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.ConfigPage-module__floatingActionContainer___3ZQ-z{left:var(--content-center-x,50%);bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;pointer-events:auto;width:-moz-fit-content;width:fit-content;max-width:calc(100vw - 24px);position:fixed;transform:translate(-50%)}.ConfigPage-module__floatingActionList___ky8bV{max-width:inherit;border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-primary) 92%, transparent);box-shadow:var(--shadow-lg);scrollbar-width:none;border-radius:8px;align-items:center;gap:6px;padding:6px;display:inline-flex;overflow-x:auto}.ConfigPage-module__floatingActionList___ky8bV::-webkit-scrollbar{display:none}.ConfigPage-module__floatingStatus___u8zOi{min-width:0;min-height:34px;color:var(--text-primary);text-align:center;white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:6px;align-items:center;max-width:min(300px,46vw);padding:0 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex;overflow:hidden}.ConfigPage-module__floatingStatusCompact___STwcZ{max-width:112px;padding:0 8px;font-size:10px}.ConfigPage-module__floatingActionButton___Htxmz{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.ConfigPage-module__floatingActionButton___Htxmz:focus{outline-offset:2px;outline:2px solid #8b8680}.ConfigPage-module__floatingActionButton___Htxmz{width:38px;height:38px;color:var(--text-primary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background-color .15s,color .15s,opacity .15s;display:flex;position:relative}.ConfigPage-module__floatingActionButton___Htxmz:hover:not(:disabled){background:var(--text-primary);color:var(--bg-primary)}.ConfigPage-module__floatingActionButton___Htxmz:disabled{opacity:.45;cursor:not-allowed}.ConfigPage-module__dirtyDot___zXEnD{background:var(--warning-color);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-primary);border-radius:999px;position:absolute;top:8px;right:8px}@media (max-width:1200px){.ConfigPage-module__floatingActionContainer___3ZQ-z{bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100vw - 16px)}.ConfigPage-module__floatingStatus___u8zOi{max-width:min(180px,40vw)}}@media (max-width:480px){.ConfigPage-module__floatingStatus___u8zOi{max-width:min(132px,38vw)}.ConfigPage-module__searchInput___ock8o{padding-right:108px!important}}.LogsPage-module__container___aQ0JL{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}@media (max-width:768px){.LogsPage-module__container___aQ0JL{min-height:auto;overflow:visible}}.LogsPage-module__pageTitle___vZY55{color:var(--text-primary);margin:0 0 24px;font-size:28px;font-weight:700}.LogsPage-module__tabBar___bI3hW{border-bottom:1px solid var(--border-color);gap:4px;margin-bottom:24px;display:flex}.LogsPage-module__tabItem___5tb4J{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.LogsPage-module__tabItem___5tb4J:focus{outline-offset:2px;outline:2px solid #8b8680}.LogsPage-module__tabItem___5tb4J{color:var(--text-secondary);cursor:pointer;background:0 0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 20px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.LogsPage-module__tabItem___5tb4J:hover{color:var(--text-primary)}.LogsPage-module__tabItem___5tb4J:focus{box-shadow:none;outline:none}.LogsPage-module__tabItem___5tb4J:focus-visible{box-shadow:none;outline:none}.LogsPage-module__tabActive___JjbWX{color:var(--primary-color);border-bottom-color:var(--primary-color)}.LogsPage-module__content___hGaGn{flex-direction:column;flex:1;gap:24px;min-height:0;display:flex}@media (max-width:768px){.LogsPage-module__content___hGaGn{gap:16px;min-height:auto}}.LogsPage-module__logCard___KG4Jd{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}@media (max-width:768px){.LogsPage-module__logCard___KG4Jd{flex:none;min-height:auto;overflow:visible}}.LogsPage-module__toolbar___9dY5F{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}@media (max-width:768px){.LogsPage-module__toolbar___9dY5F{align-items:flex-start;width:100%;margin-left:0}}.LogsPage-module__filters___nUahU{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.LogsPage-module__filters___nUahU .form-group{margin:0}@media (max-width:768px){.LogsPage-module__filters___nUahU{gap:8px;margin-bottom:8px}}.LogsPage-module__searchWrapper___mrEmr{flex:1;min-width:220px;max-width:420px}.LogsPage-module__filterPanelHeader___Oi5tO{flex:100%;align-items:center;display:flex}.LogsPage-module__filterPanelToggle___ADZED{white-space:nowrap}.LogsPage-module__filterPanelButtonContent___sgOCp{align-items:center;gap:6px;display:inline-flex}.LogsPage-module__filterPanelCount___kAJ5-{color:var(--primary-color);background:#8b86801f;border-radius:9999px;align-items:center;padding:2px 8px;font-size:12px;line-height:1.2;display:inline-flex}.LogsPage-module__structuredFilters___fW4v7{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;flex:100%;gap:8px;padding:8px 10px;display:flex}.LogsPage-module__filterChipGroup___bbPoy{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.LogsPage-module__filterChipLabel___jy0D3{color:var(--text-secondary);min-width:68px;font-size:12px;font-weight:700;line-height:28px}.LogsPage-module__filterChipList___hHeOY{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.LogsPage-module__filterChip___Efqh7{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.LogsPage-module__filterChip___Efqh7:focus{outline-offset:2px;outline:2px solid #8b8680}.LogsPage-module__filterChip___Efqh7{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:9999px;align-items:center;gap:4px;max-width:280px;padding:4px 10px;font-size:12px;line-height:1.3;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex;overflow:hidden}.LogsPage-module__filterChip___Efqh7:hover:not(:disabled){color:var(--text-primary);border-color:var(--primary-color)}.LogsPage-module__filterChip___Efqh7:disabled{opacity:.55;cursor:not-allowed}.LogsPage-module__filterChipActive___8S8ki{color:var(--primary-color);background:#8b868024;border-color:#8b868073}.LogsPage-module__filterChipHint___shcVo{color:var(--text-tertiary);font-size:12px}@media (max-width:768px){.LogsPage-module__filterPanelHeader___Oi5tO,.LogsPage-module__filterPanelToggle___ADZED{width:100%}.LogsPage-module__filterPanelButtonContent___sgOCp{flex-wrap:wrap;justify-content:space-between;width:100%}.LogsPage-module__filterChipGroup___bbPoy{flex-direction:column;gap:6px}.LogsPage-module__filterChipLabel___jy0D3{min-width:0;line-height:1.2}}.LogsPage-module__searchInput___eoPij{padding-right:44px!important}.LogsPage-module__searchIcon___73cvF{color:var(--text-tertiary);pointer-events:none}.LogsPage-module__searchClear___yTM1y{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.LogsPage-module__searchClear___yTM1y:focus{outline-offset:2px;outline:2px solid #8b8680}.LogsPage-module__searchClear___yTM1y{width:28px;height:28px;color:var(--text-secondary);border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}.LogsPage-module__searchClear___yTM1y:hover{background:var(--bg-secondary)}.LogsPage-module__filterStats___IaTXF{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:inline-flex}.LogsPage-module__removedCount___bNgxC{color:var(--text-tertiary)}.LogsPage-module__actionButton___aYJPR{white-space:nowrap}.LogsPage-module__buttonContent___qjHrB{align-items:center;gap:6px;display:inline-flex}.LogsPage-module__buttonContent___qjHrB svg{flex:none}.LogsPage-module__switchLabel___EfB3d{align-items:center;gap:6px;display:inline-flex}.LogsPage-module__switchLabel___EfB3d svg{flex:none}.LogsPage-module__logPanel___2wjiP{background:var(--bg-secondary);border:1px solid var(--border-color);resize:vertical;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;border-radius:8px;flex:auto;height:auto;min-height:280px;max-height:calc(100vh - 320px);position:relative;overflow:auto}@media (min-width:769px) and (max-width:1024px){.LogsPage-module__logPanel___2wjiP{min-height:240px;max-height:calc(100vh - 300px)}}@media (max-width:768px){.LogsPage-module__logPanel___2wjiP{flex:none;height:420px;min-height:360px;max-height:480px}}.LogsPage-module__errorPanel___0w-se{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;height:480px;overflow:auto}.LogsPage-module__errorPanel___0w-se .item-meta{flex:260px;min-width:0}.LogsPage-module__errorPanel___0w-se .item-title{overflow-wrap:anywhere}.LogsPage-module__errorPanel___0w-se .item-actions{flex-wrap:wrap;justify-content:flex-end}.LogsPage-module__errorLogViewer___dYvlG{flex-direction:column;gap:16px;min-height:0;display:flex}.LogsPage-module__errorLogViewerMeta___Dy7Ay{color:var(--text-secondary);flex-wrap:wrap;gap:8px 16px;font-size:12px;display:flex}.LogsPage-module__errorLogContent___6GzNt{border:1px solid var(--border-color);background:var(--bg-secondary);max-height:min(58vh,640px);color:var(--text-primary);white-space:pre;-webkit-overflow-scrolling:touch;border-radius:8px;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;overflow:auto}.LogsPage-module__loadMoreBanner___BUD0t{z-index:1;border-bottom:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;position:sticky;top:0}@media (max-width:768px){.LogsPage-module__loadMoreBanner___BUD0t{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px}.LogsPage-module__loadMoreBanner___BUD0t>span{width:100%}}.LogsPage-module__loadMoreCount___UsdBd{color:var(--text-tertiary);white-space:nowrap}.LogsPage-module__loadMoreStats___e9bVk{align-items:center;gap:16px;display:flex}@media (max-width:768px){.LogsPage-module__loadMoreStats___e9bVk{flex-wrap:wrap;gap:8px;width:100%}.LogsPage-module__loadMoreStats___e9bVk>span{white-space:nowrap}}.LogsPage-module__logList___lFt6f{flex-direction:column;display:flex}.LogsPage-module__rawLog___F5YBd{cursor:text;-webkit-user-select:text;user-select:text;white-space:pre;color:var(--text-primary);margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px;line-height:1.45}@media (min-width:769px) and (max-width:1024px){.LogsPage-module__rawLog___F5YBd{padding:8px 10px;font-size:12px}}@media (max-width:768px){.LogsPage-module__rawLog___F5YBd{padding:8px 10px;font-size:11.5px}}.LogsPage-module__logRow___rxZS5{border-bottom:1px solid var(--border-color);cursor:copy;color:var(--text-primary);border-left:3px solid #0000;grid-template-columns:170px 1fr;gap:16px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px;line-height:1.45;display:grid}.LogsPage-module__logRow___rxZS5:hover{background:#8b86800f}@media (min-width:769px) and (max-width:1024px){.LogsPage-module__logRow___rxZS5{grid-template-columns:140px 1fr;gap:8px;padding:8px 10px;font-size:12px}}@media (max-width:768px){.LogsPage-module__logRow___rxZS5{grid-template-columns:1fr;gap:4px;padding:8px 10px;font-size:11.5px}}.LogsPage-module__rowWarn___Lhg4M{border-left-color:var(--warning-color)}.LogsPage-module__rowError___XQ3Qi{border-left-color:var(--error-color)}.LogsPage-module__timestamp___TZvLq{color:var(--text-tertiary);white-space:nowrap;padding-top:2px}@media (max-width:768px){.LogsPage-module__timestamp___TZvLq{white-space:normal}}.LogsPage-module__rowMain___f--We{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.LogsPage-module__badge___tR566{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);white-space:nowrap;border-radius:9999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.LogsPage-module__pill___vGA2z{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);white-space:nowrap;border-radius:9999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.LogsPage-module__source___nv7Zu{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}@media (max-width:768px){.LogsPage-module__source___nv7Zu{max-width:100%}}.LogsPage-module__requestIdBadge___yPO1b{color:#0891b2;background:#0891b21a;border-color:#0891b240;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}.LogsPage-module__statusBadge___hj08j{font-variant-numeric:tabular-nums}.LogsPage-module__statusSuccess___3llcn{color:var(--success-badge-text);background:var(--success-badge-bg);border-color:var(--success-badge-border)}.LogsPage-module__statusInfo___B6DaE{color:var(--info-color);background:#8b86801f;border-color:#8b868040}.LogsPage-module__statusWarn___1Dwki{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.LogsPage-module__statusError___xxTDc{color:var(--failure-badge-text);background:var(--failure-badge-bg);border-color:var(--failure-badge-border)}.LogsPage-module__levelInfo___oZMOp{color:var(--info-color);background:#8b86801f;border-color:#8b868040}.LogsPage-module__levelWarn___DsCD0{color:var(--warning-text);background:var(--warning-bg);border-color:var(--warning-border)}.LogsPage-module__levelError___8VjWc{color:var(--error-color);background:#c657461f;border-color:#c6574640}.LogsPage-module__levelDebug___l-5yk,.LogsPage-module__levelTrace___XvRLF{color:var(--text-secondary);background:#6b72801f;border-color:#6b728040}.LogsPage-module__methodBadge___Cf9jC{color:var(--text-primary);background:#8b868014;border-color:#8b868038}.LogsPage-module__path___frHAs{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:520px;font-weight:700;overflow:hidden}@media (max-width:768px){.LogsPage-module__path___frHAs{flex-basis:100%;max-width:100%}}.LogsPage-module__message___bNHRw{color:var(--text-secondary);word-break:break-word}@media (max-width:768px){.LogsPage-module__message___bNHRw{flex-basis:100%}}@media (max-height:960px) and (min-width:769px){.LogsPage-module__logPanel___2wjiP{min-height:160px;max-height:calc(100vh - 300px)}}@media (max-height:820px){.LogsPage-module__pageTitle___vZY55{margin-bottom:16px;font-size:24px}.LogsPage-module__tabBar___bI3hW{margin-bottom:16px}.LogsPage-module__tabItem___5tb4J{padding:10px 16px}.LogsPage-module__content___hGaGn{gap:16px}}@media (max-height:820px) and (min-width:769px){.LogsPage-module__filters___nUahU{overscroll-behavior:contain;flex:none;gap:8px;max-height:260px;margin-bottom:8px;padding-right:4px;overflow:auto}.LogsPage-module__logPanel___2wjiP{min-height:0;max-height:calc(100vh - 280px)}}@media (max-height:820px){.LogsPage-module__logCard___KG4Jd{padding:16px}.LogsPage-module__logRow___rxZS5{padding:8px 10px;font-size:12px}.LogsPage-module__errorPanel___0w-se{height:360px}}@media (max-height:600px){.LogsPage-module__pageTitle___vZY55{margin-bottom:8px;font-size:20px}.LogsPage-module__tabBar___bI3hW{margin-bottom:8px}.LogsPage-module__tabItem___5tb4J{padding:8px 12px;font-size:13px}.LogsPage-module__content___hGaGn{gap:8px}.LogsPage-module__filters___nUahU{gap:8px;margin-bottom:8px}}@media (max-height:600px) and (min-width:769px){.LogsPage-module__filters___nUahU{max-height:180px}.LogsPage-module__logPanel___2wjiP{min-height:0;max-height:calc(100vh - 220px)}}@media (max-height:600px){.LogsPage-module__logCard___KG4Jd{padding:8px}.LogsPage-module__logRow___rxZS5{grid-template-columns:130px 1fr;gap:4px;padding:6px 8px;font-size:11px}.LogsPage-module__loadMoreBanner___BUD0t{padding:6px 10px}.LogsPage-module__errorPanel___0w-se{height:280px}}.LogsPage-module__logCardFullscreen___y99Q8{z-index:1999;background:var(--bg-primary);border:none;border-radius:0;width:100vw;height:100vh;min-height:0;padding:24px;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}@media (max-width:768px){.LogsPage-module__logCardFullscreen___y99Q8{min-height:0;padding:16px;overflow:hidden}}body.logs-fullscreen-active .page-transition__layer{transform:none!important}.LogsPage-module__logPanelFullscreen___lHzBV{resize:none;flex:auto;height:auto;min-height:0;max-height:none}@media (min-width:769px) and (max-width:1024px){.LogsPage-module__logPanelFullscreen___lHzBV{min-height:0;max-height:none}}@media (max-width:768px){.LogsPage-module__logPanelFullscreen___lHzBV{flex:auto;height:auto;min-height:0;max-height:none}}.SystemPage-module__container___KAydo{width:100%}.SystemPage-module__pageTitle___DiF5E{color:var(--text-primary);margin:0 0 32px;font-size:28px;font-weight:700}.SystemPage-module__content___SauLn{flex-direction:column;gap:32px;display:flex}.SystemPage-module__aboutCard___v2-ui{overflow:hidden}.SystemPage-module__aboutHeader___hT4-J{flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;padding:24px 0 32px;display:flex}.SystemPage-module__aboutLogo___KXoLr{object-fit:cover;border-radius:26px;width:108px;height:108px;box-shadow:0 12px 32px #00000029}.SystemPage-module__aboutTitle___BTLGy{width:min(100%,920px);color:var(--text-primary);letter-spacing:-.02em;text-align:center;text-wrap:balance;white-space:normal;overflow-wrap:anywhere;font-size:clamp(28px,4.2vw,44px);font-weight:800;line-height:1.12}.SystemPage-module__aboutInfoGrid___b7AR0{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (max-width:900px){.SystemPage-module__aboutInfoGrid___b7AR0{grid-template-columns:1fr}}.SystemPage-module__infoTile___6AuIY{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 82%, transparent);text-align:left;border-radius:12px;flex-direction:column;gap:6px;min-height:120px;padding:16px 24px;display:flex}.SystemPage-module__tapTile___-9SaX{border:1px solid var(--border-color);background:color-mix(in srgb, var(--bg-secondary) 82%, transparent);color:inherit;cursor:pointer;padding:16px 24px;transition:transform .18s,border-color .2s,box-shadow .2s}.SystemPage-module__tapTile___-9SaX:hover{border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 8px 18px #8b86802e}.SystemPage-module__tapTile___-9SaX:active{transform:translateY(0)}.SystemPage-module__tileLabel___eMn4v{color:var(--text-secondary);font-size:13px;font-weight:600}.SystemPage-module__tileHeader___w4Ej0{justify-content:space-between;align-items:flex-start;gap:8px;min-height:40px;display:flex}.SystemPage-module__tileAction___WKXuS{white-space:nowrap;flex-shrink:0;margin:-4px -8px 0 0}.SystemPage-module__tileValue___Up02X{color:var(--text-primary);word-break:break-word;font-size:22px;font-weight:700;line-height:1.25}.SystemPage-module__tileSub___ysVDj{color:var(--text-tertiary);font-size:12px;line-height:1.4}.SystemPage-module__section___Q6rCw{flex-direction:column;gap:16px;display:flex}.SystemPage-module__sectionTitle___GOXpQ{color:var(--text-primary);margin:0 0 16px;font-size:20px;font-weight:600}.SystemPage-module__sectionDescription___nI7Jo{color:var(--text-secondary);margin:0 0 16px;font-size:14px}.SystemPage-module__clearLoginActions___4ek-m{justify-content:flex-end;align-items:center;display:flex}.SystemPage-module__infoGrid___NNFgo{gap:8px;display:grid}.SystemPage-module__infoGrid___NNFgo .SystemPage-module__infoRow___E8Q0J{background-color:var(--bg-secondary);border-radius:8px;justify-content:space-between;padding:8px 16px;display:flex}.SystemPage-module__infoGrid___NNFgo .SystemPage-module__infoRow___E8Q0J .SystemPage-module__label___Xw4tZ{color:var(--text-secondary);font-weight:500}.SystemPage-module__infoGrid___NNFgo .SystemPage-module__infoRow___E8Q0J .SystemPage-module__value___pii6g{color:var(--text-primary);font-family:Consolas,Monaco,Courier New,monospace}.SystemPage-module__modelsList___id54Q{flex-direction:column;gap:8px;max-height:400px;display:flex;overflow-y:auto}.SystemPage-module__modelItem___ZTm4G{background-color:var(--bg-secondary);border-radius:8px;padding:8px 16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px}.SystemPage-module__modelItem___ZTm4G:hover{background-color:var(--bg-hover)}.SystemPage-module__modelTags___M0sci{flex-wrap:wrap;flex:0 0 100%;gap:8px;display:flex}.SystemPage-module__groupTitle___bTqIN{align-items:center;gap:8px;display:flex}.SystemPage-module__groupIcon___-XXrb{flex-shrink:0;width:18px;height:18px}.SystemPage-module__modelTag___5Ar53{border:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;display:inline-flex}.SystemPage-module__modelName___LKdAK{color:var(--text-primary);font-weight:600}.SystemPage-module__modelAlias___zioM-{color:var(--text-secondary);font-size:12px}.SystemPage-module__versionCheck___V09h4{flex-direction:column;gap:16px;display:flex}.SystemPage-module__versionInfo___cmujE{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.SystemPage-module__versionInfo___cmujE .SystemPage-module__versionItem___NmHd7{background-color:var(--bg-secondary);border-radius:8px;padding:16px}.SystemPage-module__versionInfo___cmujE .SystemPage-module__versionItem___NmHd7 .SystemPage-module__label___Xw4tZ{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.SystemPage-module__versionInfo___cmujE .SystemPage-module__versionItem___NmHd7 .SystemPage-module__version___XoIFT{color:var(--text-primary);font-family:Consolas,Monaco,Courier New,monospace;font-size:16px;font-weight:600}.SystemPage-module__quickLinks___QTmT3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.SystemPage-module__linkCard___iSrVF{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:inherit;border-radius:12px;align-items:center;gap:16px;padding:16px 24px;text-decoration:none;transition:all .2s;display:flex}.SystemPage-module__linkCard___iSrVF:hover{background-color:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.SystemPage-module__linkCard___iSrVF:active{transform:translateY(0)}.SystemPage-module__linkIcon___gNqz2{background-color:var(--primary-color);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.SystemPage-module__linkIcon___gNqz2.SystemPage-module__github___V8I3m{background-color:#24292f}.SystemPage-module__linkIcon___gNqz2.SystemPage-module__docs___cA-rG{background-color:#10b981}.SystemPage-module__linkContent___Rfh7h{flex:1;min-width:0}.SystemPage-module__linkTitle___Zpr4Q{color:var(--text-primary);align-items:center;gap:4px;margin-bottom:2px;font-size:15px;font-weight:600;display:flex}.SystemPage-module__linkTitle___Zpr4Q svg{opacity:.5;flex-shrink:0}.SystemPage-module__linkDesc___KKavC{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}@media (max-width:768px){.SystemPage-module__aboutLogo___KXoLr{border-radius:22px;width:92px;height:92px}.SystemPage-module__aboutTitle___BTLGy{letter-spacing:-.012em;width:min(100%,24ch);font-size:clamp(22px,6.6vw,34px);font-weight:700;line-height:1.18}}@media (max-width:520px){.SystemPage-module__aboutTitle___BTLGy{letter-spacing:-.006em;width:min(100%,19ch);font-size:clamp(20px,7.2vw,28px);font-weight:600;line-height:1.22}}
/*$vite$:1*/</style>
</head>
<body>
<div id="root"></div>
</body>
</html>