veloce-ts 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import"./websocket/index.js";import{a as t3}from"./plugins/index.js";import{b as a3,c as o3,d as e3}from"../chunk-vkkzgaf7.js";import{e as h,f as P,g as L9,h as n6,i as b3}from"../chunk-3nhrrhv9.js";import"./middleware/index.js";import{A as YY,B as FY,C as XY,D as UY,E as VY,F as GY,j as L,k as U2,l as A9,m as r6,n as j3,o as S3,p as E3,q as A3,r as x3,s as R3,t as K3,u as V2,v as G2,w as z2,x as L2,y as C2,z as v0}from"./testing/index.js";import{G as h3,H as f3,I as v3}from"../chunk-3vd5qsws.js";import{J as B2}from"../chunk-gy9nsvnk.js";import"./types/index.js";import{K as _2,L as O2,M as N2}from"./docs/index.js";import"./graphql/index.js";import{$ as ZY,N as y3,O as g3,P as u3,Q as m3,R as d3,S as c3,T as l3,U as p3,V as n3,W as i3,X as s3,Y as r3,Z as qY,_ as $Y,aa as QY,ba as JY,ca as WY,da as HY}from"../chunk-yyxd7dw5.js";import{ea as g0}from"../chunk-qg4ngg5j.js";import{fa as w2}from"../chunk-vzhqg5mb.js";import{ga as D2}from"../chunk-sv2c5krg.js";import{ha as P3,ia as M3,ja as T3,ka as I3,la as k3}from"../chunk-r8ssy5cv.js";import{oa as X}from"../chunk-9f0s1qbb.js";import{pa as a6,ra as D,ta as K}from"../chunk-f64j5zbr.js";var n=D((o6,m0)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var B6=K("buffer"),v=B6.Buffer;function u0(q,$){for(var Z in q)$[Z]=q[Z]}if(v.from&&v.alloc&&v.allocUnsafe&&v.allocUnsafeSlow)m0.exports=B6;else u0(B6,o6),o6.Buffer=m;function m(q,$,Z){return v(q,$,Z)}m.prototype=Object.create(v.prototype);u0(v,m);m.from=function(q,$,Z){if(typeof q==="number")throw TypeError("Argument must not be a number");return v(q,$,Z)};m.alloc=function(q,$,Z){if(typeof q!=="number")throw TypeError("Argument must be a number");var Q=v(q);if($!==void 0)if(typeof Z==="string")Q.fill($,Z);else Q.fill($);else Q.fill(0);return Q};m.allocUnsafe=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return v(q)};m.allocUnsafeSlow=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return B6.SlowBuffer(q)}});var e6=D((Q7,d0)=>{var z6=n().Buffer,K9=K("stream"),P9=K("util");function L6(q){if(this.buffer=null,this.writable=!0,this.readable=!0,!q)return this.buffer=z6.alloc(0),this;if(typeof q.pipe==="function")return this.buffer=z6.alloc(0),q.pipe(this),this;if(q.length||typeof q==="object")return this.buffer=q,this.writable=!1,process.nextTick(function(){this.emit("end",q),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof q+")")}P9.inherits(L6,K9);L6.prototype.write=function($){this.buffer=z6.concat([this.buffer,z6.from($)]),this.emit("data",$)};L6.prototype.end=function($){if($)this.write($);this.emit("end",$),this.emit("close"),this.writable=!1,this.readable=!1};d0.exports=L6});var l0=D((J7,c0)=>{function q0(q){var $=(q/8|0)+(q%8===0?0:1);return $}var M9={ES256:q0(256),ES384:q0(384),ES512:q0(521)};function T9(q){var $=M9[q];if($)return $;throw Error('Unknown algorithm "'+q+'"')}c0.exports=T9});var a0=D((W7,t0)=>{var C6=n().Buffer,n0=l0(),_6=128,i0=0,I9=32,k9=16,b9=2,s0=k9|I9|i0<<6,O6=b9|i0<<6;function h9(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function r0(q){if(C6.isBuffer(q))return q;else if(typeof q==="string")return C6.from(q,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function f9(q,$){q=r0(q);var Z=n0($),Q=Z+1,J=q.length,W=0;if(q[W++]!==s0)throw Error('Could not find expected "seq"');var H=q[W++];if(H===(_6|1))H=q[W++];if(J-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(J-W)+'" remaining');if(q[W++]!==O6)throw Error('Could not find expected "int" for "r"');var Y=q[W++];if(J-W-2<Y)throw Error('"r" specified length of "'+Y+'", only "'+(J-W-2)+'" available');if(Q<Y)throw Error('"r" specified length of "'+Y+'", max of "'+Q+'" is acceptable');var V=W;if(W+=Y,q[W++]!==O6)throw Error('Could not find expected "int" for "s"');var F=q[W++];if(J-W!==F)throw Error('"s" specified length of "'+F+'", expected "'+(J-W)+'"');if(Q<F)throw Error('"s" specified length of "'+F+'", max of "'+Q+'" is acceptable');var U=W;if(W+=F,W!==J)throw Error('Expected to consume entire buffer, but "'+(J-W)+'" bytes remain');var G=Z-Y,_=Z-F,z=C6.allocUnsafe(G+Y+_+F);for(W=0;W<G;++W)z[W]=0;q.copy(z,W,V+Math.max(-G,0),V+Y),W=Z;for(var j=W;W<j+_;++W)z[W]=0;return q.copy(z,W,U+Math.max(-_,0),U+F),z=z.toString("base64"),z=h9(z),z}function p0(q,$,Z){var Q=0;while($+Q<Z&&q[$+Q]===0)++Q;var J=q[$+Q]>=_6;if(J)--Q;return Q}function v9(q,$){q=r0(q);var Z=n0($),Q=q.length;if(Q!==Z*2)throw TypeError('"'+$+'" signatures must be "'+Z*2+'" bytes, saw "'+Q+'"');var J=p0(q,0,Z),W=p0(q,Z,q.length),H=Z-J,Y=Z-W,V=2+H+1+1+Y,F=V<_6,U=C6.allocUnsafe((F?2:3)+V),G=0;if(U[G++]=s0,F)U[G++]=V;else U[G++]=_6|1,U[G++]=V&255;if(U[G++]=O6,U[G++]=H,J<0)U[G++]=0,G+=q.copy(U,G,0,Z);else G+=q.copy(U,G,J,Z);if(U[G++]=O6,U[G++]=Y,W<0)U[G++]=0,q.copy(U,G,Z);else q.copy(U,G,Z+W);return U}t0.exports={derToJose:f9,joseToDer:v9}});var e0=D((H7,o0)=>{var q6=K("buffer").Buffer,$0=K("buffer").SlowBuffer;o0.exports=N6;function N6(q,$){if(!q6.isBuffer(q)||!q6.isBuffer($))return!1;if(q.length!==$.length)return!1;var Z=0;for(var Q=0;Q<q.length;Q++)Z|=q[Q]^$[Q];return Z===0}N6.install=function(){q6.prototype.equal=$0.prototype.equal=function($){return N6(this,$)}};var y9=q6.prototype.equal,g9=$0.prototype.equal;N6.restore=function(){q6.prototype.equal=y9,$0.prototype.equal=g9}});var W0=D((Y7,F8)=>{var s=n().Buffer,M=K("crypto"),$8=a0(),q8=K("util"),u9=`"%s" is not a valid algorithm.
2
+ import"./websocket/index.js";import{a as s3}from"./plugins/index.js";import{b as r3,c as t3,d as a3}from"../chunk-vkkzgaf7.js";import{e as h,f as P,g as L9,h as n6,i as I3}from"../chunk-3nhrrhv9.js";import"./middleware/index.js";import{A as WY,B as HY,C as YY,D as FY,E as XY,F as UY,j as C,k as B2,l as A9,m as r6,n as O3,o as N3,p as j3,q as S3,r as E3,s as A3,t as x3,u as z2,v as L2,w as N2,x as j2,y as S2,z as v0}from"./testing/index.js";import{G as k3,H as b3,I as h3}from"../chunk-3vd5qsws.js";import{J as O2}from"../chunk-gy9nsvnk.js";import"./types/index.js";import{K as E2,L as A2,M as x2}from"./docs/index.js";import"./graphql/index.js";import{$ as qY,N as f3,O as v3,P as y3,Q as g3,R as u3,S as m3,T as d3,U as c3,V as l3,W as p3,X as n3,Y as i3,Z as o3,_ as e3,aa as $Y,ba as ZY,ca as QY,da as JY}from"../chunk-q0w1t07v.js";import{ea as g0}from"../chunk-qg4ngg5j.js";import{fa as _2}from"../chunk-vzhqg5mb.js";import{ga as C2}from"../chunk-sv2c5krg.js";import{ha as R3,ia as K3,ja as P3,ka as M3,la as T3}from"../chunk-r8ssy5cv.js";import{oa as X}from"../chunk-9f0s1qbb.js";import{pa as a6,ra as D,ta as K}from"../chunk-f64j5zbr.js";var n=D((o6,m0)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var B6=K("buffer"),v=B6.Buffer;function u0(q,$){for(var Z in q)$[Z]=q[Z]}if(v.from&&v.alloc&&v.allocUnsafe&&v.allocUnsafeSlow)m0.exports=B6;else u0(B6,o6),o6.Buffer=m;function m(q,$,Z){return v(q,$,Z)}m.prototype=Object.create(v.prototype);u0(v,m);m.from=function(q,$,Z){if(typeof q==="number")throw TypeError("Argument must not be a number");return v(q,$,Z)};m.alloc=function(q,$,Z){if(typeof q!=="number")throw TypeError("Argument must be a number");var Q=v(q);if($!==void 0)if(typeof Z==="string")Q.fill($,Z);else Q.fill($);else Q.fill(0);return Q};m.allocUnsafe=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return v(q)};m.allocUnsafeSlow=function(q){if(typeof q!=="number")throw TypeError("Argument must be a number");return B6.SlowBuffer(q)}});var e6=D(($7,d0)=>{var z6=n().Buffer,k9=K("stream"),b9=K("util");function L6(q){if(this.buffer=null,this.writable=!0,this.readable=!0,!q)return this.buffer=z6.alloc(0),this;if(typeof q.pipe==="function")return this.buffer=z6.alloc(0),q.pipe(this),this;if(q.length||typeof q==="object")return this.buffer=q,this.writable=!1,process.nextTick(function(){this.emit("end",q),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof q+")")}b9.inherits(L6,k9);L6.prototype.write=function($){this.buffer=z6.concat([this.buffer,z6.from($)]),this.emit("data",$)};L6.prototype.end=function($){if($)this.write($);this.emit("end",$),this.emit("close"),this.writable=!1,this.readable=!1};d0.exports=L6});var l0=D((Z7,c0)=>{function q0(q){var $=(q/8|0)+(q%8===0?0:1);return $}var h9={ES256:q0(256),ES384:q0(384),ES512:q0(521)};function f9(q){var $=h9[q];if($)return $;throw Error('Unknown algorithm "'+q+'"')}c0.exports=f9});var a0=D((Q7,t0)=>{var C6=n().Buffer,n0=l0(),_6=128,i0=0,v9=32,y9=16,g9=2,s0=y9|v9|i0<<6,O6=g9|i0<<6;function u9(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function r0(q){if(C6.isBuffer(q))return q;else if(typeof q==="string")return C6.from(q,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function m9(q,$){q=r0(q);var Z=n0($),Q=Z+1,J=q.length,W=0;if(q[W++]!==s0)throw Error('Could not find expected "seq"');var H=q[W++];if(H===(_6|1))H=q[W++];if(J-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(J-W)+'" remaining');if(q[W++]!==O6)throw Error('Could not find expected "int" for "r"');var Y=q[W++];if(J-W-2<Y)throw Error('"r" specified length of "'+Y+'", only "'+(J-W-2)+'" available');if(Q<Y)throw Error('"r" specified length of "'+Y+'", max of "'+Q+'" is acceptable');var V=W;if(W+=Y,q[W++]!==O6)throw Error('Could not find expected "int" for "s"');var F=q[W++];if(J-W!==F)throw Error('"s" specified length of "'+F+'", expected "'+(J-W)+'"');if(Q<F)throw Error('"s" specified length of "'+F+'", max of "'+Q+'" is acceptable');var U=W;if(W+=F,W!==J)throw Error('Expected to consume entire buffer, but "'+(J-W)+'" bytes remain');var G=Z-Y,_=Z-F,z=C6.allocUnsafe(G+Y+_+F);for(W=0;W<G;++W)z[W]=0;q.copy(z,W,V+Math.max(-G,0),V+Y),W=Z;for(var j=W;W<j+_;++W)z[W]=0;return q.copy(z,W,U+Math.max(-_,0),U+F),z=z.toString("base64"),z=u9(z),z}function p0(q,$,Z){var Q=0;while($+Q<Z&&q[$+Q]===0)++Q;var J=q[$+Q]>=_6;if(J)--Q;return Q}function d9(q,$){q=r0(q);var Z=n0($),Q=q.length;if(Q!==Z*2)throw TypeError('"'+$+'" signatures must be "'+Z*2+'" bytes, saw "'+Q+'"');var J=p0(q,0,Z),W=p0(q,Z,q.length),H=Z-J,Y=Z-W,V=2+H+1+1+Y,F=V<_6,U=C6.allocUnsafe((F?2:3)+V),G=0;if(U[G++]=s0,F)U[G++]=V;else U[G++]=_6|1,U[G++]=V&255;if(U[G++]=O6,U[G++]=H,J<0)U[G++]=0,G+=q.copy(U,G,0,Z);else G+=q.copy(U,G,J,Z);if(U[G++]=O6,U[G++]=Y,W<0)U[G++]=0,q.copy(U,G,Z);else q.copy(U,G,Z+W);return U}t0.exports={derToJose:m9,joseToDer:d9}});var e0=D((J7,o0)=>{var q6=K("buffer").Buffer,$0=K("buffer").SlowBuffer;o0.exports=N6;function N6(q,$){if(!q6.isBuffer(q)||!q6.isBuffer($))return!1;if(q.length!==$.length)return!1;var Z=0;for(var Q=0;Q<q.length;Q++)Z|=q[Q]^$[Q];return Z===0}N6.install=function(){q6.prototype.equal=$0.prototype.equal=function($){return N6(this,$)}};var c9=q6.prototype.equal,l9=$0.prototype.equal;N6.restore=function(){q6.prototype.equal=c9,$0.prototype.equal=l9}});var W0=D((W7,F8)=>{var s=n().Buffer,M=K("crypto"),$8=a0(),q8=K("util"),p9=`"%s" is not a valid algorithm.
3
3
  Supported algorithms are:
4
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,$6="secret must be a string or buffer",i="key must be a string or a buffer",m9="key must be a string, a buffer or an object",Q0=typeof M.createPublicKey==="function";if(Q0)i+=" or a KeyObject",$6+="or a KeyObject";function Z8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(!Q0)throw k(i);if(typeof q!=="object")throw k(i);if(typeof q.type!=="string")throw k(i);if(typeof q.asymmetricKeyType!=="string")throw k(i);if(typeof q.export!=="function")throw k(i)}function Q8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(typeof q==="object")return;throw k(m9)}function d9(q){if(s.isBuffer(q))return;if(typeof q==="string")return q;if(!Q0)throw k($6);if(typeof q!=="object")throw k($6);if(q.type!=="secret")throw k($6);if(typeof q.export!=="function")throw k($6)}function J0(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function J8(q){q=q.toString();var $=4-q.length%4;if($!==4)for(var Z=0;Z<$;++Z)q+="=";return q.replace(/\-/g,"+").replace(/_/g,"/")}function k(q){var $=[].slice.call(arguments,1),Z=q8.format.bind(q8,q).apply(null,$);return TypeError(Z)}function c9(q){return s.isBuffer(q)||typeof q==="string"}function Z6(q){if(!c9(q))q=JSON.stringify(q);return q}function W8(q){return function(Z,Q){d9(Q),Z=Z6(Z);var J=M.createHmac("sha"+q,Q),W=(J.update(Z),J.digest("base64"));return J0(W)}}var Z0,l9="timingSafeEqual"in M?function($,Z){if($.byteLength!==Z.byteLength)return!1;return M.timingSafeEqual($,Z)}:function($,Z){if(!Z0)Z0=e0();return Z0($,Z)};function p9(q){return function(Z,Q,J){var W=W8(q)(Z,J);return l9(s.from(Q),s.from(W))}}function H8(q){return function(Z,Q){Q8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign(Q,"base64"));return J0(W)}}function Y8(q){return function(Z,Q,J){Z8(J),Z=Z6(Z),Q=J8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify(J,Q,"base64")}}function n9(q){return function(Z,Q){Q8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign({key:Q,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return J0(W)}}function i9(q){return function(Z,Q,J){Z8(J),Z=Z6(Z),Q=J8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify({key:J,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},Q,"base64")}}function s9(q){var $=H8(q);return function(){var Q=$.apply(null,arguments);return Q=$8.derToJose(Q,"ES"+q),Q}}function r9(q){var $=Y8(q);return function(Q,J,W){J=$8.joseToDer(J,"ES"+q).toString("base64");var H=$(Q,J,W);return H}}function t9(){return function(){return""}}function a9(){return function($,Z){return Z===""}}F8.exports=function($){var Z={hs:W8,rs:H8,ps:n9,es:s9,none:t9},Q={hs:p9,rs:Y8,ps:i9,es:r9,none:a9},J=$.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!J)throw k(u9,$);var W=(J[1]||J[3]).toLowerCase(),H=J[2];return{sign:Z[W](H),verify:Q[W](H)}}});var H0=D((F7,X8)=>{var o9=K("buffer").Buffer;X8.exports=function($){if(typeof $==="string")return $;if(typeof $==="number"||o9.isBuffer($))return $.toString();return JSON.stringify($)}});var B8=D((X7,w8)=>{var e9=n().Buffer,U8=e6(),qq=W0(),$q=K("stream"),V8=H0(),Y0=K("util");function G8(q,$){return e9.from(q,$).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Zq(q,$,Z){Z=Z||"utf8";var Q=G8(V8(q),"binary"),J=G8(V8($),Z);return Y0.format("%s.%s",Q,J)}function D8(q){var{header:$,payload:Z}=q,Q=q.secret||q.privateKey,J=q.encoding,W=qq($.alg),H=Zq($,Z,J),Y=W.sign(H,Q);return Y0.format("%s.%s",H,Y)}function j6(q){var $=q.secret||q.privateKey||q.key,Z=new U8($);this.readable=!0,this.header=q.header,this.encoding=q.encoding,this.secret=this.privateKey=this.key=Z,this.payload=new U8(q.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}Y0.inherits(j6,$q);j6.prototype.sign=function(){try{var $=D8({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",$),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Z){this.readable=!1,this.emit("error",Z),this.emit("close")}};j6.sign=D8;w8.exports=j6});var A8=D((U7,E8)=>{var L8=n().Buffer,z8=e6(),Qq=W0(),Jq=K("stream"),C8=H0(),Wq=K("util"),Hq=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Yq(q){return Object.prototype.toString.call(q)==="[object Object]"}function Fq(q){if(Yq(q))return q;try{return JSON.parse(q)}catch($){return}}function _8(q){var $=q.split(".",1)[0];return Fq(L8.from($,"base64").toString("binary"))}function Xq(q){return q.split(".",2).join(".")}function O8(q){return q.split(".")[2]}function Uq(q,$){$=$||"utf8";var Z=q.split(".")[1];return L8.from(Z,"base64").toString($)}function N8(q){return Hq.test(q)&&!!_8(q)}function j8(q,$,Z){if(!$){var Q=Error("Missing algorithm parameter for jws.verify");throw Q.code="MISSING_ALGORITHM",Q}q=C8(q);var J=O8(q),W=Xq(q),H=Qq($);return H.verify(W,J,Z)}function S8(q,$){if($=$||{},q=C8(q),!N8(q))return null;var Z=_8(q);if(!Z)return null;var Q=Uq(q);if(Z.typ==="JWT"||$.json)Q=JSON.parse(Q,$.encoding);return{header:Z,payload:Q,signature:O8(q)}}function r(q){q=q||{};var $=q.secret||q.publicKey||q.key,Z=new z8($);this.readable=!0,this.algorithm=q.algorithm,this.encoding=q.encoding,this.secret=this.publicKey=this.key=Z,this.signature=new z8(q.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}Wq.inherits(r,Jq);r.prototype.verify=function(){try{var $=j8(this.signature.buffer,this.algorithm,this.key.buffer),Z=S8(this.signature.buffer,this.encoding);return this.emit("done",$,Z),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};r.decode=S8;r.isValid=N8;r.verify=j8;E8.exports=r});var E6=D((Gq)=>{var x8=B8(),S6=A8(),Vq=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Gq.ALGORITHMS=Vq;Gq.sign=x8.sign;Gq.verify=S6.verify;Gq.decode=S6.decode;Gq.isValid=S6.isValid;Gq.createSign=function($){return new x8($)};Gq.createVerify=function($){return new S6($)}});var F0=D((G7,R8)=>{var Oq=E6();R8.exports=function(q,$){$=$||{};var Z=Oq.decode(q,$);if(!Z)return null;var Q=Z.payload;if(typeof Q==="string")try{var J=JSON.parse(Q);if(J!==null&&typeof J==="object")Q=J}catch(W){}if($.complete===!0)return{header:Z.header,payload:Q,signature:Z.signature};return Q}});var Q6=D((D7,K8)=>{var A6=function(q,$){if(Error.call(this,q),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=q,$)this.inner=$};A6.prototype=Object.create(Error.prototype);A6.prototype.constructor=A6;K8.exports=A6});var X0=D((w7,M8)=>{var P8=Q6(),x6=function(q,$){P8.call(this,q),this.name="NotBeforeError",this.date=$};x6.prototype=Object.create(P8.prototype);x6.prototype.constructor=x6;M8.exports=x6});var U0=D((B7,I8)=>{var T8=Q6(),R6=function(q,$){T8.call(this,q),this.name="TokenExpiredError",this.expiredAt=$};R6.prototype=Object.create(T8.prototype);R6.prototype.constructor=R6;I8.exports=R6});var b8=D((z7,k8)=>{var t=1000,a=t*60,o=a*60,d=o*24,Nq=d*7,jq=d*365.25;k8.exports=function(q,$){$=$||{};var Z=typeof q;if(Z==="string"&&q.length>0)return Sq(q);else if(Z==="number"&&isFinite(q))return $.long?Aq(q):Eq(q);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(q))};function Sq(q){if(q=String(q),q.length>100)return;var $=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(q);if(!$)return;var Z=parseFloat($[1]),Q=($[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return Z*jq;case"weeks":case"week":case"w":return Z*Nq;case"days":case"day":case"d":return Z*d;case"hours":case"hour":case"hrs":case"hr":case"h":return Z*o;case"minutes":case"minute":case"mins":case"min":case"m":return Z*a;case"seconds":case"second":case"secs":case"sec":case"s":return Z*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Z;default:return}}function Eq(q){var $=Math.abs(q);if($>=d)return Math.round(q/d)+"d";if($>=o)return Math.round(q/o)+"h";if($>=a)return Math.round(q/a)+"m";if($>=t)return Math.round(q/t)+"s";return q+"ms"}function Aq(q){var $=Math.abs(q);if($>=d)return K6(q,$,d,"day");if($>=o)return K6(q,$,o,"hour");if($>=a)return K6(q,$,a,"minute");if($>=t)return K6(q,$,t,"second");return q+" ms"}function K6(q,$,Z,Q){var J=$>=Z*1.5;return Math.round(q/Z)+" "+Q+(J?"s":"")}});var V0=D((L7,h8)=>{var xq=b8();h8.exports=function(q,$){var Z=$||Math.floor(Date.now()/1000);if(typeof q==="string"){var Q=xq(q);if(typeof Q>"u")return;return Math.floor(Z+Q/1000)}else if(typeof q==="number")return Z+q;else return}});var J6=D((C7,f8)=>{var Rq=Number.MAX_SAFE_INTEGER||9007199254740991,Kq=["major","premajor","minor","preminor","patch","prepatch","prerelease"];f8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Rq,RELEASE_TYPES:Kq,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var W6=D((_7,v8)=>{var Pq=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...q)=>console.error("SEMVER",...q):()=>{};v8.exports=Pq});var e=D((y,y8)=>{var{MAX_SAFE_COMPONENT_LENGTH:G0,MAX_SAFE_BUILD_LENGTH:Mq,MAX_LENGTH:Tq}=J6(),Iq=W6();y=y8.exports={};var kq=y.re=[],bq=y.safeRe=[],w=y.src=[],hq=y.safeSrc=[],B=y.t={},fq=0,D0="[a-zA-Z0-9-]",vq=[["\\s",1],["\\d",Tq],[D0,Mq]],yq=(q)=>{for(let[$,Z]of vq)q=q.split(`${$}*`).join(`${$}{0,${Z}}`).split(`${$}+`).join(`${$}{1,${Z}}`);return q},C=(q,$,Z)=>{let Q=yq($),J=fq++;Iq(q,J,$),B[q]=J,w[J]=$,hq[J]=Q,kq[J]=new RegExp($,Z?"g":void 0),bq[J]=new RegExp(Q,Z?"g":void 0)};C("NUMERICIDENTIFIER","0|[1-9]\\d*");C("NUMERICIDENTIFIERLOOSE","\\d+");C("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${D0}*`);C("MAINVERSION",`(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})`);C("MAINVERSIONLOOSE",`(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})`);C("PRERELEASEIDENTIFIER",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIER]})`);C("PRERELEASEIDENTIFIERLOOSE",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIERLOOSE]})`);C("PRERELEASE",`(?:-(${w[B.PRERELEASEIDENTIFIER]}(?:\\.${w[B.PRERELEASEIDENTIFIER]})*))`);C("PRERELEASELOOSE",`(?:-?(${w[B.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${w[B.PRERELEASEIDENTIFIERLOOSE]})*))`);C("BUILDIDENTIFIER",`${D0}+`);C("BUILD",`(?:\\+(${w[B.BUILDIDENTIFIER]}(?:\\.${w[B.BUILDIDENTIFIER]})*))`);C("FULLPLAIN",`v?${w[B.MAINVERSION]}${w[B.PRERELEASE]}?${w[B.BUILD]}?`);C("FULL",`^${w[B.FULLPLAIN]}$`);C("LOOSEPLAIN",`[v=\\s]*${w[B.MAINVERSIONLOOSE]}${w[B.PRERELEASELOOSE]}?${w[B.BUILD]}?`);C("LOOSE",`^${w[B.LOOSEPLAIN]}$`);C("GTLT","((?:<|>)?=?)");C("XRANGEIDENTIFIERLOOSE",`${w[B.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);C("XRANGEIDENTIFIER",`${w[B.NUMERICIDENTIFIER]}|x|X|\\*`);C("XRANGEPLAIN",`[v=\\s]*(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:${w[B.PRERELEASE]})?${w[B.BUILD]}?)?)?`);C("XRANGEPLAINLOOSE",`[v=\\s]*(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:${w[B.PRERELEASELOOSE]})?${w[B.BUILD]}?)?)?`);C("XRANGE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAIN]}$`);C("XRANGELOOSE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAINLOOSE]}$`);C("COERCEPLAIN",`(^|[^\\d])(\\d{1,${G0}})(?:\\.(\\d{1,${G0}}))?(?:\\.(\\d{1,${G0}}))?`);C("COERCE",`${w[B.COERCEPLAIN]}(?:$|[^\\d])`);C("COERCEFULL",w[B.COERCEPLAIN]+`(?:${w[B.PRERELEASE]})?(?:${w[B.BUILD]})?(?:$|[^\\d])`);C("COERCERTL",w[B.COERCE],!0);C("COERCERTLFULL",w[B.COERCEFULL],!0);C("LONETILDE","(?:~>?)");C("TILDETRIM",`(\\s*)${w[B.LONETILDE]}\\s+`,!0);y.tildeTrimReplace="$1~";C("TILDE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAIN]}$`);C("TILDELOOSE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAINLOOSE]}$`);C("LONECARET","(?:\\^)");C("CARETTRIM",`(\\s*)${w[B.LONECARET]}\\s+`,!0);y.caretTrimReplace="$1^";C("CARET",`^${w[B.LONECARET]}${w[B.XRANGEPLAIN]}$`);C("CARETLOOSE",`^${w[B.LONECARET]}${w[B.XRANGEPLAINLOOSE]}$`);C("COMPARATORLOOSE",`^${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]})$|^$`);C("COMPARATOR",`^${w[B.GTLT]}\\s*(${w[B.FULLPLAIN]})$|^$`);C("COMPARATORTRIM",`(\\s*)${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]}|${w[B.XRANGEPLAIN]})`,!0);y.comparatorTrimReplace="$1$2$3";C("HYPHENRANGE",`^\\s*(${w[B.XRANGEPLAIN]})\\s+-\\s+(${w[B.XRANGEPLAIN]})\\s*$`);C("HYPHENRANGELOOSE",`^\\s*(${w[B.XRANGEPLAINLOOSE]})\\s+-\\s+(${w[B.XRANGEPLAINLOOSE]})\\s*$`);C("STAR","(<|>)?=?\\s*\\*");C("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");C("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var P6=D((O7,g8)=>{var gq=Object.freeze({loose:!0}),uq=Object.freeze({}),mq=(q)=>{if(!q)return uq;if(typeof q!=="object")return gq;return q};g8.exports=mq});var w0=D((N7,d8)=>{var u8=/^[0-9]+$/,m8=(q,$)=>{if(typeof q==="number"&&typeof $==="number")return q===$?0:q<$?-1:1;let Z=u8.test(q),Q=u8.test($);if(Z&&Q)q=+q,$=+$;return q===$?0:Z&&!Q?-1:Q&&!Z?1:q<$?-1:1},dq=(q,$)=>m8($,q);d8.exports={compareIdentifiers:m8,rcompareIdentifiers:dq}});var S=D((j7,l8)=>{var M6=W6(),{MAX_LENGTH:c8,MAX_SAFE_INTEGER:T6}=J6(),{safeRe:I6,t:k6}=e(),cq=P6(),{compareIdentifiers:B0}=w0();class b{constructor(q,$){if($=cq($),q instanceof b)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else q=q.version;else if(typeof q!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof q}".`);if(q.length>c8)throw TypeError(`version is longer than ${c8} characters`);M6("SemVer",q,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;let Z=q.trim().match($.loose?I6[k6.LOOSE]:I6[k6.FULL]);if(!Z)throw TypeError(`Invalid Version: ${q}`);if(this.raw=q,this.major=+Z[1],this.minor=+Z[2],this.patch=+Z[3],this.major>T6||this.major<0)throw TypeError("Invalid major version");if(this.minor>T6||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>T6||this.patch<0)throw TypeError("Invalid patch version");if(!Z[4])this.prerelease=[];else this.prerelease=Z[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let J=+Q;if(J>=0&&J<T6)return J}return Q});this.build=Z[5]?Z[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(q){if(M6("SemVer.compare",this.version,this.options,q),!(q instanceof b)){if(typeof q==="string"&&q===this.version)return 0;q=new b(q,this.options)}if(q.version===this.version)return 0;return this.compareMain(q)||this.comparePre(q)}compareMain(q){if(!(q instanceof b))q=new b(q,this.options);if(this.major<q.major)return-1;if(this.major>q.major)return 1;if(this.minor<q.minor)return-1;if(this.minor>q.minor)return 1;if(this.patch<q.patch)return-1;if(this.patch>q.patch)return 1;return 0}comparePre(q){if(!(q instanceof b))q=new b(q,this.options);if(this.prerelease.length&&!q.prerelease.length)return-1;else if(!this.prerelease.length&&q.prerelease.length)return 1;else if(!this.prerelease.length&&!q.prerelease.length)return 0;let $=0;do{let Z=this.prerelease[$],Q=q.prerelease[$];if(M6("prerelease compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return B0(Z,Q)}while(++$)}compareBuild(q){if(!(q instanceof b))q=new b(q,this.options);let $=0;do{let Z=this.build[$],Q=q.build[$];if(M6("build compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return B0(Z,Q)}while(++$)}inc(q,$,Z){if(q.startsWith("pre")){if(!$&&Z===!1)throw Error("invalid increment argument: identifier is empty");if($){let Q=`-${$}`.match(this.options.loose?I6[k6.PRERELEASELOOSE]:I6[k6.PRERELEASE]);if(!Q||Q[1]!==$)throw Error(`invalid identifier: ${$}`)}}switch(q){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,Z);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,Z);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,Z),this.inc("pre",$,Z);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,Z);this.inc("pre",$,Z);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Q=Number(Z)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if($===this.prerelease.join(".")&&Z===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if($){let J=[$,Q];if(Z===!1)J=[$];if(B0(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${q}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}l8.exports=b});var c=D((S7,n8)=>{var p8=S(),lq=(q,$,Z=!1)=>{if(q instanceof p8)return q;try{return new p8(q,$)}catch(Q){if(!Z)return null;throw Q}};n8.exports=lq});var s8=D((E7,i8)=>{var pq=c(),nq=(q,$)=>{let Z=pq(q,$);return Z?Z.version:null};i8.exports=nq});var t8=D((A7,r8)=>{var iq=c(),sq=(q,$)=>{let Z=iq(q.trim().replace(/^[=v]+/,""),$);return Z?Z.version:null};r8.exports=sq});var e8=D((x7,o8)=>{var a8=S(),rq=(q,$,Z,Q,J)=>{if(typeof Z==="string")J=Q,Q=Z,Z=void 0;try{return new a8(q instanceof a8?q.version:q,Z).inc($,Q,J).version}catch(W){return null}};o8.exports=rq});var Z1=D((R7,$1)=>{var q1=c(),tq=(q,$)=>{let Z=q1(q,null,!0),Q=q1($,null,!0),J=Z.compare(Q);if(J===0)return null;let W=J>0,H=W?Z:Q,Y=W?Q:Z,V=!!H.prerelease.length;if(!!Y.prerelease.length&&!V){if(!Y.patch&&!Y.minor)return"major";if(Y.compareMain(H)===0){if(Y.minor&&!Y.patch)return"minor";return"patch"}}let U=V?"pre":"";if(Z.major!==Q.major)return U+"major";if(Z.minor!==Q.minor)return U+"minor";if(Z.patch!==Q.patch)return U+"patch";return"prerelease"};$1.exports=tq});var J1=D((K7,Q1)=>{var aq=S(),oq=(q,$)=>new aq(q,$).major;Q1.exports=oq});var H1=D((P7,W1)=>{var eq=S(),q$=(q,$)=>new eq(q,$).minor;W1.exports=q$});var F1=D((M7,Y1)=>{var $$=S(),Z$=(q,$)=>new $$(q,$).patch;Y1.exports=Z$});var U1=D((T7,X1)=>{var Q$=c(),J$=(q,$)=>{let Z=Q$(q,$);return Z&&Z.prerelease.length?Z.prerelease:null};X1.exports=J$});var T=D((I7,G1)=>{var V1=S(),W$=(q,$,Z)=>new V1(q,Z).compare(new V1($,Z));G1.exports=W$});var w1=D((k7,D1)=>{var H$=T(),Y$=(q,$,Z)=>H$($,q,Z);D1.exports=Y$});var z1=D((b7,B1)=>{var F$=T(),X$=(q,$)=>F$(q,$,!0);B1.exports=X$});var b6=D((h7,C1)=>{var L1=S(),U$=(q,$,Z)=>{let Q=new L1(q,Z),J=new L1($,Z);return Q.compare(J)||Q.compareBuild(J)};C1.exports=U$});var O1=D((f7,_1)=>{var V$=b6(),G$=(q,$)=>q.sort((Z,Q)=>V$(Z,Q,$));_1.exports=G$});var j1=D((v7,N1)=>{var D$=b6(),w$=(q,$)=>q.sort((Z,Q)=>D$(Q,Z,$));N1.exports=w$});var H6=D((y7,S1)=>{var B$=T(),z$=(q,$,Z)=>B$(q,$,Z)>0;S1.exports=z$});var h6=D((g7,E1)=>{var L$=T(),C$=(q,$,Z)=>L$(q,$,Z)<0;E1.exports=C$});var z0=D((u7,A1)=>{var _$=T(),O$=(q,$,Z)=>_$(q,$,Z)===0;A1.exports=O$});var L0=D((m7,x1)=>{var N$=T(),j$=(q,$,Z)=>N$(q,$,Z)!==0;x1.exports=j$});var f6=D((d7,R1)=>{var S$=T(),E$=(q,$,Z)=>S$(q,$,Z)>=0;R1.exports=E$});var v6=D((c7,K1)=>{var A$=T(),x$=(q,$,Z)=>A$(q,$,Z)<=0;K1.exports=x$});var C0=D((l7,P1)=>{var R$=z0(),K$=L0(),P$=H6(),M$=f6(),T$=h6(),I$=v6(),k$=(q,$,Z,Q)=>{switch($){case"===":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q===Z;case"!==":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q!==Z;case"":case"=":case"==":return R$(q,Z,Q);case"!=":return K$(q,Z,Q);case">":return P$(q,Z,Q);case">=":return M$(q,Z,Q);case"<":return T$(q,Z,Q);case"<=":return I$(q,Z,Q);default:throw TypeError(`Invalid operator: ${$}`)}};P1.exports=k$});var T1=D((p7,M1)=>{var b$=S(),h$=c(),{safeRe:y6,t:g6}=e(),f$=(q,$)=>{if(q instanceof b$)return q;if(typeof q==="number")q=String(q);if(typeof q!=="string")return null;$=$||{};let Z=null;if(!$.rtl)Z=q.match($.includePrerelease?y6[g6.COERCEFULL]:y6[g6.COERCE]);else{let V=$.includePrerelease?y6[g6.COERCERTLFULL]:y6[g6.COERCERTL],F;while((F=V.exec(q))&&(!Z||Z.index+Z[0].length!==q.length)){if(!Z||F.index+F[0].length!==Z.index+Z[0].length)Z=F;V.lastIndex=F.index+F[1].length+F[2].length}V.lastIndex=-1}if(Z===null)return null;let Q=Z[2],J=Z[3]||"0",W=Z[4]||"0",H=$.includePrerelease&&Z[5]?`-${Z[5]}`:"",Y=$.includePrerelease&&Z[6]?`+${Z[6]}`:"";return h$(`${Q}.${J}.${W}${H}${Y}`,$)};M1.exports=f$});var b1=D((n7,k1)=>{class I1{constructor(){this.max=1000,this.map=new Map}get(q){let $=this.map.get(q);if($===void 0)return;else return this.map.delete(q),this.map.set(q,$),$}delete(q){return this.map.delete(q)}set(q,$){if(!this.delete(q)&&$!==void 0){if(this.map.size>=this.max){let Q=this.map.keys().next().value;this.delete(Q)}this.map.set(q,$)}return this}}k1.exports=I1});var I=D((i7,y1)=>{var v$=/\s+/g;class Y6{constructor(q,$){if($=g$($),q instanceof Y6)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else return new Y6(q.raw,$);if(q instanceof _0)return this.raw=q.value,this.set=[[q]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=q.trim().replace(v$," "),this.set=this.raw.split("||").map((Z)=>this.parseRange(Z.trim())).filter((Z)=>Z.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Z=this.set[0];if(this.set=this.set.filter((Q)=>!f1(Q[0])),this.set.length===0)this.set=[Z];else if(this.set.length>1){for(let Q of this.set)if(Q.length===1&&n$(Q[0])){this.set=[Q];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let q=0;q<this.set.length;q++){if(q>0)this.formatted+="||";let $=this.set[q];for(let Z=0;Z<$.length;Z++){if(Z>0)this.formatted+=" ";this.formatted+=$[Z].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(q){let Z=((this.options.includePrerelease&&l$)|(this.options.loose&&p$))+":"+q,Q=h1.get(Z);if(Q)return Q;let J=this.options.loose,W=J?A[E.HYPHENRANGELOOSE]:A[E.HYPHENRANGE];q=q.replace(W,ZZ(this.options.includePrerelease)),N("hyphen replace",q),q=q.replace(A[E.COMPARATORTRIM],m$),N("comparator trim",q),q=q.replace(A[E.TILDETRIM],d$),N("tilde trim",q),q=q.replace(A[E.CARETTRIM],c$),N("caret trim",q);let H=q.split(" ").map((U)=>i$(U,this.options)).join(" ").split(/\s+/).map((U)=>$Z(U,this.options));if(J)H=H.filter((U)=>{return N("loose invalid filter",U,this.options),!!U.match(A[E.COMPARATORLOOSE])});N("range list",H);let Y=new Map,V=H.map((U)=>new _0(U,this.options));for(let U of V){if(f1(U))return[U];Y.set(U.value,U)}if(Y.size>1&&Y.has(""))Y.delete("");let F=[...Y.values()];return h1.set(Z,F),F}intersects(q,$){if(!(q instanceof Y6))throw TypeError("a Range is required");return this.set.some((Z)=>{return v1(Z,$)&&q.set.some((Q)=>{return v1(Q,$)&&Z.every((J)=>{return Q.every((W)=>{return J.intersects(W,$)})})})})}test(q){if(!q)return!1;if(typeof q==="string")try{q=new u$(q,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(QZ(this.set[$],q,this.options))return!0;return!1}}y1.exports=Y6;var y$=b1(),h1=new y$,g$=P6(),_0=F6(),N=W6(),u$=S(),{safeRe:A,t:E,comparatorTrimReplace:m$,tildeTrimReplace:d$,caretTrimReplace:c$}=e(),{FLAG_INCLUDE_PRERELEASE:l$,FLAG_LOOSE:p$}=J6(),f1=(q)=>q.value==="<0.0.0-0",n$=(q)=>q.value==="",v1=(q,$)=>{let Z=!0,Q=q.slice(),J=Q.pop();while(Z&&Q.length)Z=Q.every((W)=>{return J.intersects(W,$)}),J=Q.pop();return Z},i$=(q,$)=>{return q=q.replace(A[E.BUILD],""),N("comp",q,$),q=t$(q,$),N("caret",q),q=s$(q,$),N("tildes",q),q=o$(q,$),N("xrange",q),q=qZ(q,$),N("stars",q),q},x=(q)=>!q||q.toLowerCase()==="x"||q==="*",s$=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>r$(Z,$)).join(" ")},r$=(q,$)=>{let Z=$.loose?A[E.TILDELOOSE]:A[E.TILDE];return q.replace(Z,(Q,J,W,H,Y)=>{N("tilde",q,Q,J,W,H,Y);let V;if(x(J))V="";else if(x(W))V=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(x(H))V=`>=${J}.${W}.0 <${J}.${+W+1}.0-0`;else if(Y)N("replaceTilde pr",Y),V=`>=${J}.${W}.${H}-${Y} <${J}.${+W+1}.0-0`;else V=`>=${J}.${W}.${H} <${J}.${+W+1}.0-0`;return N("tilde return",V),V})},t$=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>a$(Z,$)).join(" ")},a$=(q,$)=>{N("caret",q,$);let Z=$.loose?A[E.CARETLOOSE]:A[E.CARET],Q=$.includePrerelease?"-0":"";return q.replace(Z,(J,W,H,Y,V)=>{N("caret",q,J,W,H,Y,V);let F;if(x(W))F="";else if(x(H))F=`>=${W}.0.0${Q} <${+W+1}.0.0-0`;else if(x(Y))if(W==="0")F=`>=${W}.${H}.0${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.0${Q} <${+W+1}.0.0-0`;else if(V)if(N("replaceCaret pr",V),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}-${V} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}-${V} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y}-${V} <${+W+1}.0.0-0`;else if(N("no pr"),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}${Q} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y} <${+W+1}.0.0-0`;return N("caret return",F),F})},o$=(q,$)=>{return N("replaceXRanges",q,$),q.split(/\s+/).map((Z)=>e$(Z,$)).join(" ")},e$=(q,$)=>{q=q.trim();let Z=$.loose?A[E.XRANGELOOSE]:A[E.XRANGE];return q.replace(Z,(Q,J,W,H,Y,V)=>{N("xRange",q,Q,J,W,H,Y,V);let F=x(W),U=F||x(H),G=U||x(Y),_=G;if(J==="="&&_)J="";if(V=$.includePrerelease?"-0":"",F)if(J===">"||J==="<")Q="<0.0.0-0";else Q="*";else if(J&&_){if(U)H=0;if(Y=0,J===">")if(J=">=",U)W=+W+1,H=0,Y=0;else H=+H+1,Y=0;else if(J==="<=")if(J="<",U)W=+W+1;else H=+H+1;if(J==="<")V="-0";Q=`${J+W}.${H}.${Y}${V}`}else if(U)Q=`>=${W}.0.0${V} <${+W+1}.0.0-0`;else if(G)Q=`>=${W}.${H}.0${V} <${W}.${+H+1}.0-0`;return N("xRange return",Q),Q})},qZ=(q,$)=>{return N("replaceStars",q,$),q.trim().replace(A[E.STAR],"")},$Z=(q,$)=>{return N("replaceGTE0",q,$),q.trim().replace(A[$.includePrerelease?E.GTE0PRE:E.GTE0],"")},ZZ=(q)=>($,Z,Q,J,W,H,Y,V,F,U,G,_)=>{if(x(Q))Z="";else if(x(J))Z=`>=${Q}.0.0${q?"-0":""}`;else if(x(W))Z=`>=${Q}.${J}.0${q?"-0":""}`;else if(H)Z=`>=${Z}`;else Z=`>=${Z}${q?"-0":""}`;if(x(F))V="";else if(x(U))V=`<${+F+1}.0.0-0`;else if(x(G))V=`<${F}.${+U+1}.0-0`;else if(_)V=`<=${F}.${U}.${G}-${_}`;else if(q)V=`<${F}.${U}.${+G+1}-0`;else V=`<=${V}`;return`${Z} ${V}`.trim()},QZ=(q,$,Z)=>{for(let Q=0;Q<q.length;Q++)if(!q[Q].test($))return!1;if($.prerelease.length&&!Z.includePrerelease){for(let Q=0;Q<q.length;Q++){if(N(q[Q].semver),q[Q].semver===_0.ANY)continue;if(q[Q].semver.prerelease.length>0){let J=q[Q].semver;if(J.major===$.major&&J.minor===$.minor&&J.patch===$.patch)return!0}}return!1}return!0}});var F6=D((s7,l1)=>{var X6=Symbol("SemVer ANY");class u6{static get ANY(){return X6}constructor(q,$){if($=g1($),q instanceof u6)if(q.loose===!!$.loose)return q;else q=q.value;if(q=q.trim().split(/\s+/).join(" "),N0("comparator",q,$),this.options=$,this.loose=!!$.loose,this.parse(q),this.semver===X6)this.value="";else this.value=this.operator+this.semver.version;N0("comp",this)}parse(q){let $=this.options.loose?u1[m1.COMPARATORLOOSE]:u1[m1.COMPARATOR],Z=q.match($);if(!Z)throw TypeError(`Invalid comparator: ${q}`);if(this.operator=Z[1]!==void 0?Z[1]:"",this.operator==="=")this.operator="";if(!Z[2])this.semver=X6;else this.semver=new d1(Z[2],this.options.loose)}toString(){return this.value}test(q){if(N0("Comparator.test",q,this.options.loose),this.semver===X6||q===X6)return!0;if(typeof q==="string")try{q=new d1(q,this.options)}catch($){return!1}return O0(q,this.operator,this.semver,this.options)}intersects(q,$){if(!(q instanceof u6))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new c1(q.value,$).test(this.value)}else if(q.operator===""){if(q.value==="")return!0;return new c1(this.value,$).test(q.semver)}if($=g1($),$.includePrerelease&&(this.value==="<0.0.0-0"||q.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||q.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&q.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&q.operator.startsWith("<"))return!0;if(this.semver.version===q.semver.version&&this.operator.includes("=")&&q.operator.includes("="))return!0;if(O0(this.semver,"<",q.semver,$)&&this.operator.startsWith(">")&&q.operator.startsWith("<"))return!0;if(O0(this.semver,">",q.semver,$)&&this.operator.startsWith("<")&&q.operator.startsWith(">"))return!0;return!1}}l1.exports=u6;var g1=P6(),{safeRe:u1,t:m1}=e(),O0=C0(),N0=W6(),d1=S(),c1=I()});var U6=D((r7,p1)=>{var JZ=I(),WZ=(q,$,Z)=>{try{$=new JZ($,Z)}catch(Q){return!1}return $.test(q)};p1.exports=WZ});var i1=D((t7,n1)=>{var HZ=I(),YZ=(q,$)=>new HZ(q,$).set.map((Z)=>Z.map((Q)=>Q.value).join(" ").trim().split(" "));n1.exports=YZ});var r1=D((a7,s1)=>{var FZ=S(),XZ=I(),UZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new XZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===-1)Q=H,J=new FZ(Q,Z)}}),Q};s1.exports=UZ});var a1=D((o7,t1)=>{var VZ=S(),GZ=I(),DZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new GZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===1)Q=H,J=new VZ(Q,Z)}}),Q};t1.exports=DZ});var q4=D((e7,e1)=>{var j0=S(),wZ=I(),o1=H6(),BZ=(q,$)=>{q=new wZ(q,$);let Z=new j0("0.0.0");if(q.test(Z))return Z;if(Z=new j0("0.0.0-0"),q.test(Z))return Z;Z=null;for(let Q=0;Q<q.set.length;++Q){let J=q.set[Q],W=null;if(J.forEach((H)=>{let Y=new j0(H.semver.version);switch(H.operator){case">":if(Y.prerelease.length===0)Y.patch++;else Y.prerelease.push(0);Y.raw=Y.format();case"":case">=":if(!W||o1(Y,W))W=Y;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Z||o1(Z,W)))Z=W}if(Z&&q.test(Z))return Z;return null};e1.exports=BZ});var Z4=D((qW,$4)=>{var zZ=I(),LZ=(q,$)=>{try{return new zZ(q,$).range||"*"}catch(Z){return null}};$4.exports=LZ});var m6=D(($W,H4)=>{var CZ=S(),W4=F6(),{ANY:_Z}=W4,OZ=I(),NZ=U6(),Q4=H6(),J4=h6(),jZ=v6(),SZ=f6(),EZ=(q,$,Z,Q)=>{q=new CZ(q,Q),$=new OZ($,Q);let J,W,H,Y,V;switch(Z){case">":J=Q4,W=jZ,H=J4,Y=">",V=">=";break;case"<":J=J4,W=SZ,H=Q4,Y="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(NZ(q,$,Q))return!1;for(let F=0;F<$.set.length;++F){let U=$.set[F],G=null,_=null;if(U.forEach((z)=>{if(z.semver===_Z)z=new W4(">=0.0.0");if(G=G||z,_=_||z,J(z.semver,G.semver,Q))G=z;else if(H(z.semver,_.semver,Q))_=z}),G.operator===Y||G.operator===V)return!1;if((!_.operator||_.operator===Y)&&W(q,_.semver))return!1;else if(_.operator===V&&H(q,_.semver))return!1}return!0};H4.exports=EZ});var F4=D((ZW,Y4)=>{var AZ=m6(),xZ=(q,$,Z)=>AZ(q,$,">",Z);Y4.exports=xZ});var U4=D((QW,X4)=>{var RZ=m6(),KZ=(q,$,Z)=>RZ(q,$,"<",Z);X4.exports=KZ});var D4=D((JW,G4)=>{var V4=I(),PZ=(q,$,Z)=>{return q=new V4(q,Z),$=new V4($,Z),q.intersects($,Z)};G4.exports=PZ});var B4=D((WW,w4)=>{var MZ=U6(),TZ=T();w4.exports=(q,$,Z)=>{let Q=[],J=null,W=null,H=q.sort((U,G)=>TZ(U,G,Z));for(let U of H)if(MZ(U,$,Z)){if(W=U,!J)J=U}else{if(W)Q.push([J,W]);W=null,J=null}if(J)Q.push([J,null]);let Y=[];for(let[U,G]of Q)if(U===G)Y.push(U);else if(!G&&U===H[0])Y.push("*");else if(!G)Y.push(`>=${U}`);else if(U===H[0])Y.push(`<=${G}`);else Y.push(`${U} - ${G}`);let V=Y.join(" || "),F=typeof $.raw==="string"?$.raw:String($);return V.length<F.length?V:$}});var N4=D((HW,O4)=>{var z4=I(),E0=F6(),{ANY:S0}=E0,V6=U6(),A0=T(),IZ=(q,$,Z={})=>{if(q===$)return!0;q=new z4(q,Z),$=new z4($,Z);let Q=!1;q:for(let J of q.set){for(let W of $.set){let H=bZ(J,W,Z);if(Q=Q||H!==null,H)continue q}if(Q)return!1}return!0},kZ=[new E0(">=0.0.0-0")],L4=[new E0(">=0.0.0")],bZ=(q,$,Z)=>{if(q===$)return!0;if(q.length===1&&q[0].semver===S0)if($.length===1&&$[0].semver===S0)return!0;else if(Z.includePrerelease)q=kZ;else q=L4;if($.length===1&&$[0].semver===S0)if(Z.includePrerelease)return!0;else $=L4;let Q=new Set,J,W;for(let z of q)if(z.operator===">"||z.operator===">=")J=C4(J,z,Z);else if(z.operator==="<"||z.operator==="<=")W=_4(W,z,Z);else Q.add(z.semver);if(Q.size>1)return null;let H;if(J&&W){if(H=A0(J.semver,W.semver,Z),H>0)return null;else if(H===0&&(J.operator!==">="||W.operator!=="<="))return null}for(let z of Q){if(J&&!V6(z,String(J),Z))return null;if(W&&!V6(z,String(W),Z))return null;for(let j of $)if(!V6(z,String(j),Z))return!1;return!0}let Y,V,F,U,G=W&&!Z.includePrerelease&&W.semver.prerelease.length?W.semver:!1,_=J&&!Z.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(G&&G.prerelease.length===1&&W.operator==="<"&&G.prerelease[0]===0)G=!1;for(let z of $){if(U=U||z.operator===">"||z.operator===">=",F=F||z.operator==="<"||z.operator==="<=",J){if(_){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===_.major&&z.semver.minor===_.minor&&z.semver.patch===_.patch)_=!1}if(z.operator===">"||z.operator===">="){if(Y=C4(J,z,Z),Y===z&&Y!==J)return!1}else if(J.operator===">="&&!V6(J.semver,String(z),Z))return!1}if(W){if(G){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===G.major&&z.semver.minor===G.minor&&z.semver.patch===G.patch)G=!1}if(z.operator==="<"||z.operator==="<="){if(V=_4(W,z,Z),V===z&&V!==W)return!1}else if(W.operator==="<="&&!V6(W.semver,String(z),Z))return!1}if(!z.operator&&(W||J)&&H!==0)return!1}if(J&&F&&!W&&H!==0)return!1;if(W&&U&&!J&&H!==0)return!1;if(_||G)return!1;return!0},C4=(q,$,Z)=>{if(!q)return $;let Q=A0(q.semver,$.semver,Z);return Q>0?q:Q<0?$:$.operator===">"&&q.operator===">="?$:q},_4=(q,$,Z)=>{if(!q)return $;let Q=A0(q.semver,$.semver,Z);return Q<0?q:Q>0?$:$.operator==="<"&&q.operator==="<="?$:q};O4.exports=IZ});var d6=D((YW,E4)=>{var x0=e(),j4=J6(),hZ=S(),S4=w0(),fZ=c(),vZ=s8(),yZ=t8(),gZ=e8(),uZ=Z1(),mZ=J1(),dZ=H1(),cZ=F1(),lZ=U1(),pZ=T(),nZ=w1(),iZ=z1(),sZ=b6(),rZ=O1(),tZ=j1(),aZ=H6(),oZ=h6(),eZ=z0(),qQ=L0(),$Q=f6(),ZQ=v6(),QQ=C0(),JQ=T1(),WQ=F6(),HQ=I(),YQ=U6(),FQ=i1(),XQ=r1(),UQ=a1(),VQ=q4(),GQ=Z4(),DQ=m6(),wQ=F4(),BQ=U4(),zQ=D4(),LQ=B4(),CQ=N4();E4.exports={parse:fZ,valid:vZ,clean:yZ,inc:gZ,diff:uZ,major:mZ,minor:dZ,patch:cZ,prerelease:lZ,compare:pZ,rcompare:nZ,compareLoose:iZ,compareBuild:sZ,sort:rZ,rsort:tZ,gt:aZ,lt:oZ,eq:eZ,neq:qQ,gte:$Q,lte:ZQ,cmp:QQ,coerce:JQ,Comparator:WQ,Range:HQ,satisfies:YQ,toComparators:FQ,maxSatisfying:XQ,minSatisfying:UQ,minVersion:VQ,validRange:GQ,outside:DQ,gtr:wQ,ltr:BQ,intersects:zQ,simplifyRange:LQ,subset:CQ,SemVer:hZ,re:x0.re,src:x0.src,tokens:x0.t,SEMVER_SPEC_VERSION:j4.SEMVER_SPEC_VERSION,RELEASE_TYPES:j4.RELEASE_TYPES,compareIdentifiers:S4.compareIdentifiers,rcompareIdentifiers:S4.rcompareIdentifiers}});var x4=D((FW,A4)=>{var _Q=d6();A4.exports=_Q.satisfies(process.version,">=15.7.0")});var K4=D((XW,R4)=>{var OQ=d6();R4.exports=OQ.satisfies(process.version,">=16.9.0")});var R0=D((UW,P4)=>{var NQ=x4(),jQ=K4(),SQ={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},EQ={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};P4.exports=function(q,$){if(!q||!$)return;let Z=$.asymmetricKeyType;if(!Z)return;let Q=SQ[Z];if(!Q)throw Error(`Unknown key type "${Z}".`);if(!Q.includes(q))throw Error(`"alg" parameter for "${Z}" key type must be one of: ${Q.join(", ")}.`);if(NQ)switch(Z){case"ec":let J=$.asymmetricKeyDetails.namedCurve,W=EQ[q];if(J!==W)throw Error(`"alg" parameter "${q}" requires curve "${W}".`);break;case"rsa-pss":if(jQ){let H=parseInt(q.slice(-3),10),{hashAlgorithm:Y,mgf1HashAlgorithm:V,saltLength:F}=$.asymmetricKeyDetails;if(Y!==`sha${H}`||V!==Y)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${q}.`);if(F!==void 0&&F>H>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${q}.`)}break}}});var K0=D((VW,M4)=>{var AQ=d6();M4.exports=AQ.satisfies(process.version,"^6.12.0 || >=8.0.0")});var k4=D((GW,I4)=>{var O=Q6(),xQ=X0(),T4=U0(),RQ=F0(),KQ=V0(),PQ=R0(),MQ=K0(),TQ=E6(),{KeyObject:IQ,createSecretKey:kQ,createPublicKey:bQ}=K("crypto"),P0=["RS256","RS384","RS512"],hQ=["ES256","ES384","ES512"],M0=["RS256","RS384","RS512"],fQ=["HS256","HS384","HS512"];if(MQ)P0.splice(P0.length,0,"PS256","PS384","PS512"),M0.splice(M0.length,0,"PS256","PS384","PS512");I4.exports=function(q,$,Z,Q){if(typeof Z==="function"&&!Q)Q=Z,Z={};if(!Z)Z={};Z=Object.assign({},Z);let J;if(Q)J=Q;else J=function(U,G){if(U)throw U;return G};if(Z.clockTimestamp&&typeof Z.clockTimestamp!=="number")return J(new O("clockTimestamp must be a number"));if(Z.nonce!==void 0&&(typeof Z.nonce!=="string"||Z.nonce.trim()===""))return J(new O("nonce must be a non-empty string"));if(Z.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Z.allowInvalidAsymmetricKeyTypes!=="boolean")return J(new O("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Z.clockTimestamp||Math.floor(Date.now()/1000);if(!q)return J(new O("jwt must be provided"));if(typeof q!=="string")return J(new O("jwt must be a string"));let H=q.split(".");if(H.length!==3)return J(new O("jwt malformed"));let Y;try{Y=RQ(q,{complete:!0})}catch(U){return J(U)}if(!Y)return J(new O("invalid token"));let V=Y.header,F;if(typeof $==="function"){if(!Q)return J(new O("verify must be called asynchronous if secret or public key is provided as a callback"));F=$}else F=function(U,G){return G(null,$)};return F(V,function(U,G){if(U)return J(new O("error in secret or public key callback: "+U.message));let _=H[2].trim()!=="";if(!_&&G)return J(new O("jwt signature is required"));if(_&&!G)return J(new O("secret or public key must be provided"));if(!_&&!Z.algorithms)return J(new O('please specify "none" in "algorithms" to verify unsigned tokens'));if(G!=null&&!(G instanceof IQ))try{G=bQ(G)}catch(R){try{G=kQ(typeof G==="string"?Buffer.from(G):G)}catch(R9){return J(new O("secretOrPublicKey is not valid key material"))}}if(!Z.algorithms)if(G.type==="secret")Z.algorithms=fQ;else if(["rsa","rsa-pss"].includes(G.asymmetricKeyType))Z.algorithms=M0;else if(G.asymmetricKeyType==="ec")Z.algorithms=hQ;else Z.algorithms=P0;if(Z.algorithms.indexOf(Y.header.alg)===-1)return J(new O("invalid algorithm"));if(V.alg.startsWith("HS")&&G.type!=="secret")return J(new O(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&G.type!=="public")return J(new O(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Z.allowInvalidAsymmetricKeyTypes)try{PQ(V.alg,G)}catch(R){return J(R)}let z;try{z=TQ.verify(q,Y.header.alg,G)}catch(R){return J(R)}if(!z)return J(new O("invalid signature"));let j=Y.payload;if(typeof j.nbf<"u"&&!Z.ignoreNotBefore){if(typeof j.nbf!=="number")return J(new O("invalid nbf value"));if(j.nbf>W+(Z.clockTolerance||0))return J(new xQ("jwt not active",new Date(j.nbf*1000)))}if(typeof j.exp<"u"&&!Z.ignoreExpiration){if(typeof j.exp!=="number")return J(new O("invalid exp value"));if(W>=j.exp+(Z.clockTolerance||0))return J(new T4("jwt expired",new Date(j.exp*1000)))}if(Z.audience){let R=Array.isArray(Z.audience)?Z.audience:[Z.audience];if(!(Array.isArray(j.aud)?j.aud:[j.aud]).some(function(y0){return R.some(function(t6){return t6 instanceof RegExp?t6.test(y0):t6===y0})}))return J(new O("jwt audience invalid. expected: "+R.join(" or ")))}if(Z.issuer){if(typeof Z.issuer==="string"&&j.iss!==Z.issuer||Array.isArray(Z.issuer)&&Z.issuer.indexOf(j.iss)===-1)return J(new O("jwt issuer invalid. expected: "+Z.issuer))}if(Z.subject){if(j.sub!==Z.subject)return J(new O("jwt subject invalid. expected: "+Z.subject))}if(Z.jwtid){if(j.jti!==Z.jwtid)return J(new O("jwt jwtid invalid. expected: "+Z.jwtid))}if(Z.nonce){if(j.nonce!==Z.nonce)return J(new O("jwt nonce invalid. expected: "+Z.nonce))}if(Z.maxAge){if(typeof j.iat!=="number")return J(new O("iat required when maxAge is specified"));let R=KQ(Z.maxAge,j.iat);if(typeof R>"u")return J(new O('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(W>=R+(Z.clockTolerance||0))return J(new T4("maxAge exceeded",new Date(R*1000)))}if(Z.complete===!0){let R=Y.signature;return J(null,{header:V,payload:j,signature:R})}return J(null,j)})}});var g4=D((DW,y4)=>{var b4=1/0,f4=9007199254740991,vQ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,h4=NaN,yQ="[object Arguments]",gQ="[object Function]",uQ="[object GeneratorFunction]",mQ="[object String]",dQ="[object Symbol]",cQ=/^\s+|\s+$/g,lQ=/^[-+]0x[0-9a-f]+$/i,pQ=/^0b[01]+$/i,nQ=/^0o[0-7]+$/i,iQ=/^(?:0|[1-9]\d*)$/,sQ=parseInt;function rQ(q,$){var Z=-1,Q=q?q.length:0,J=Array(Q);while(++Z<Q)J[Z]=$(q[Z],Z,q);return J}function tQ(q,$,Z,Q){var J=q.length,W=Z+(Q?1:-1);while(Q?W--:++W<J)if($(q[W],W,q))return W;return-1}function aQ(q,$,Z){if($!==$)return tQ(q,oQ,Z);var Q=Z-1,J=q.length;while(++Q<J)if(q[Q]===$)return Q;return-1}function oQ(q){return q!==q}function eQ(q,$){var Z=-1,Q=Array(q);while(++Z<q)Q[Z]=$(Z);return Q}function q5(q,$){return rQ($,function(Z){return q[Z]})}function $5(q,$){return function(Z){return q($(Z))}}var c6=Object.prototype,I0=c6.hasOwnProperty,l6=c6.toString,Z5=c6.propertyIsEnumerable,Q5=$5(Object.keys,Object),J5=Math.max;function W5(q,$){var Z=v4(q)||U5(q)?eQ(q.length,String):[],Q=Z.length,J=!!Q;for(var W in q)if(($||I0.call(q,W))&&!(J&&(W=="length"||Y5(W,Q))))Z.push(W);return Z}function H5(q){if(!F5(q))return Q5(q);var $=[];for(var Z in Object(q))if(I0.call(q,Z)&&Z!="constructor")$.push(Z);return $}function Y5(q,$){return $=$==null?f4:$,!!$&&(typeof q=="number"||iQ.test(q))&&(q>-1&&q%1==0&&q<$)}function F5(q){var $=q&&q.constructor,Z=typeof $=="function"&&$.prototype||c6;return q===Z}function X5(q,$,Z,Q){q=k0(q)?q:O5(q),Z=Z&&!Q?L5(Z):0;var J=q.length;if(Z<0)Z=J5(J+Z,0);return w5(q)?Z<=J&&q.indexOf($,Z)>-1:!!J&&aQ(q,$,Z)>-1}function U5(q){return V5(q)&&I0.call(q,"callee")&&(!Z5.call(q,"callee")||l6.call(q)==yQ)}var v4=Array.isArray;function k0(q){return q!=null&&D5(q.length)&&!G5(q)}function V5(q){return b0(q)&&k0(q)}function G5(q){var $=T0(q)?l6.call(q):"";return $==gQ||$==uQ}function D5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=f4}function T0(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function b0(q){return!!q&&typeof q=="object"}function w5(q){return typeof q=="string"||!v4(q)&&b0(q)&&l6.call(q)==mQ}function B5(q){return typeof q=="symbol"||b0(q)&&l6.call(q)==dQ}function z5(q){if(!q)return q===0?q:0;if(q=C5(q),q===b4||q===-b4){var $=q<0?-1:1;return $*vQ}return q===q?q:0}function L5(q){var $=z5(q),Z=$%1;return $===$?Z?$-Z:$:0}function C5(q){if(typeof q=="number")return q;if(B5(q))return h4;if(T0(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=T0($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(cQ,"");var Z=pQ.test(q);return Z||nQ.test(q)?sQ(q.slice(2),Z?2:8):lQ.test(q)?h4:+q}function _5(q){return k0(q)?W5(q):H5(q)}function O5(q){return q?q5(q,_5(q)):[]}y4.exports=X5});var m4=D((wW,u4)=>{var N5="[object Boolean]",j5=Object.prototype,S5=j5.toString;function E5(q){return q===!0||q===!1||A5(q)&&S5.call(q)==N5}function A5(q){return!!q&&typeof q=="object"}u4.exports=E5});var n4=D((BW,p4)=>{var d4=1/0,x5=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,c4=NaN,R5="[object Symbol]",K5=/^\s+|\s+$/g,P5=/^[-+]0x[0-9a-f]+$/i,M5=/^0b[01]+$/i,T5=/^0o[0-7]+$/i,I5=parseInt,k5=Object.prototype,b5=k5.toString;function h5(q){return typeof q=="number"&&q==g5(q)}function l4(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function f5(q){return!!q&&typeof q=="object"}function v5(q){return typeof q=="symbol"||f5(q)&&b5.call(q)==R5}function y5(q){if(!q)return q===0?q:0;if(q=u5(q),q===d4||q===-d4){var $=q<0?-1:1;return $*x5}return q===q?q:0}function g5(q){var $=y5(q),Z=$%1;return $===$?Z?$-Z:$:0}function u5(q){if(typeof q=="number")return q;if(v5(q))return c4;if(l4(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=l4($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(K5,"");var Z=M5.test(q);return Z||T5.test(q)?I5(q.slice(2),Z?2:8):P5.test(q)?c4:+q}p4.exports=h5});var s4=D((zW,i4)=>{var m5="[object Number]",d5=Object.prototype,c5=d5.toString;function l5(q){return!!q&&typeof q=="object"}function p5(q){return typeof q=="number"||l5(q)&&c5.call(q)==m5}i4.exports=p5});var o4=D((LW,a4)=>{var n5="[object Object]";function i5(q){var $=!1;if(q!=null&&typeof q.toString!="function")try{$=!!(q+"")}catch(Z){}return $}function s5(q,$){return function(Z){return q($(Z))}}var r5=Function.prototype,r4=Object.prototype,t4=r5.toString,t5=r4.hasOwnProperty,a5=t4.call(Object),o5=r4.toString,e5=s5(Object.getPrototypeOf,Object);function qJ(q){return!!q&&typeof q=="object"}function $J(q){if(!qJ(q)||o5.call(q)!=n5||i5(q))return!1;var $=e5(q);if($===null)return!0;var Z=t5.call($,"constructor")&&$.constructor;return typeof Z=="function"&&Z instanceof Z&&t4.call(Z)==a5}a4.exports=$J});var q9=D((CW,e4)=>{var ZJ="[object String]",QJ=Object.prototype,JJ=QJ.toString,WJ=Array.isArray;function HJ(q){return!!q&&typeof q=="object"}function YJ(q){return typeof q=="string"||!WJ(q)&&HJ(q)&&JJ.call(q)==ZJ}e4.exports=YJ});var W9=D((_W,J9)=>{var FJ="Expected a function",$9=1/0,XJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,Z9=NaN,UJ="[object Symbol]",VJ=/^\s+|\s+$/g,GJ=/^[-+]0x[0-9a-f]+$/i,DJ=/^0b[01]+$/i,wJ=/^0o[0-7]+$/i,BJ=parseInt,zJ=Object.prototype,LJ=zJ.toString;function CJ(q,$){var Z;if(typeof $!="function")throw TypeError(FJ);return q=SJ(q),function(){if(--q>0)Z=$.apply(this,arguments);if(q<=1)$=void 0;return Z}}function _J(q){return CJ(2,q)}function Q9(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function OJ(q){return!!q&&typeof q=="object"}function NJ(q){return typeof q=="symbol"||OJ(q)&&LJ.call(q)==UJ}function jJ(q){if(!q)return q===0?q:0;if(q=EJ(q),q===$9||q===-$9){var $=q<0?-1:1;return $*XJ}return q===q?q:0}function SJ(q){var $=jJ(q),Z=$%1;return $===$?Z?$-Z:$:0}function EJ(q){if(typeof q=="number")return q;if(NJ(q))return Z9;if(Q9(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=Q9($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(VJ,"");var Z=DJ.test(q);return Z||wJ.test(q)?BJ(q.slice(2),Z?2:8):GJ.test(q)?Z9:+q}J9.exports=_J});var w9=D((OW,D9)=>{var H9=V0(),AJ=K0(),xJ=R0(),Y9=E6(),RJ=g4(),p6=m4(),F9=n4(),h0=s4(),U9=o4(),g=q9(),KJ=W9(),{KeyObject:PJ,createSecretKey:MJ,createPrivateKey:TJ}=K("crypto"),V9=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(AJ)V9.splice(3,0,"PS256","PS384","PS512");var IJ={expiresIn:{isValid:function(q){return F9(q)||g(q)&&q},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(q){return F9(q)||g(q)&&q},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(q){return g(q)||Array.isArray(q)},message:'"audience" must be a string or array'},algorithm:{isValid:RJ.bind(null,V9),message:'"algorithm" must be a valid string enum value'},header:{isValid:U9,message:'"header" must be an object'},encoding:{isValid:g,message:'"encoding" must be a string'},issuer:{isValid:g,message:'"issuer" must be a string'},subject:{isValid:g,message:'"subject" must be a string'},jwtid:{isValid:g,message:'"jwtid" must be a string'},noTimestamp:{isValid:p6,message:'"noTimestamp" must be a boolean'},keyid:{isValid:g,message:'"keyid" must be a string'},mutatePayload:{isValid:p6,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:p6,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:p6,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},kJ={iat:{isValid:h0,message:'"iat" should be a number of seconds'},exp:{isValid:h0,message:'"exp" should be a number of seconds'},nbf:{isValid:h0,message:'"nbf" should be a number of seconds'}};function G9(q,$,Z,Q){if(!U9(Z))throw Error('Expected "'+Q+'" to be a plain object.');Object.keys(Z).forEach(function(J){let W=q[J];if(!W){if(!$)throw Error('"'+J+'" is not allowed in "'+Q+'"');return}if(!W.isValid(Z[J]))throw Error(W.message)})}function bJ(q){return G9(IJ,!1,q,"options")}function hJ(q){return G9(kJ,!0,q,"payload")}var X9={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},fJ=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];D9.exports=function(q,$,Z,Q){if(typeof Z==="function")Q=Z,Z={};else Z=Z||{};let J=typeof q==="object"&&!Buffer.isBuffer(q),W=Object.assign({alg:Z.algorithm||"HS256",typ:J?"JWT":void 0,kid:Z.keyid},Z.header);function H(F){if(Q)return Q(F);throw F}if(!$&&Z.algorithm!=="none")return H(Error("secretOrPrivateKey must have a value"));if($!=null&&!($ instanceof PJ))try{$=TJ($)}catch(F){try{$=MJ(typeof $==="string"?Buffer.from($):$)}catch(U){return H(Error("secretOrPrivateKey is not valid key material"))}}if(W.alg.startsWith("HS")&&$.type!=="secret")return H(Error(`secretOrPrivateKey must be a symmetric key when using ${W.alg}`));else if(/^(?:RS|PS|ES)/.test(W.alg)){if($.type!=="private")return H(Error(`secretOrPrivateKey must be an asymmetric key when using ${W.alg}`));if(!Z.allowInsecureKeySizes&&!W.alg.startsWith("ES")&&$.asymmetricKeyDetails!==void 0&&$.asymmetricKeyDetails.modulusLength<2048)return H(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`))}if(typeof q>"u")return H(Error("payload is required"));else if(J){try{hJ(q)}catch(F){return H(F)}if(!Z.mutatePayload)q=Object.assign({},q)}else{let F=fJ.filter(function(U){return typeof Z[U]<"u"});if(F.length>0)return H(Error("invalid "+F.join(",")+" option for "+typeof q+" payload"))}if(typeof q.exp<"u"&&typeof Z.expiresIn<"u")return H(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof q.nbf<"u"&&typeof Z.notBefore<"u")return H(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{bJ(Z)}catch(F){return H(F)}if(!Z.allowInvalidAsymmetricKeyTypes)try{xJ(W.alg,$)}catch(F){return H(F)}let Y=q.iat||Math.floor(Date.now()/1000);if(Z.noTimestamp)delete q.iat;else if(J)q.iat=Y;if(typeof Z.notBefore<"u"){try{q.nbf=H9(Z.notBefore,Y)}catch(F){return H(F)}if(typeof q.nbf>"u")return H(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Z.expiresIn<"u"&&typeof q==="object"){try{q.exp=H9(Z.expiresIn,Y)}catch(F){return H(F)}if(typeof q.exp>"u")return H(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(X9).forEach(function(F){let U=X9[F];if(typeof Z[F]<"u"){if(typeof q[U]<"u")return H(Error('Bad "options.'+F+'" option. The payload already has an "'+U+'" property.'));q[U]=Z[F]}});let V=Z.encoding||"utf8";if(typeof Q==="function")Q=Q&&KJ(Q),Y9.createSign({header:W,privateKey:$,payload:q,encoding:V}).once("error",Q).once("done",function(F){if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)return Q(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`));Q(null,F)});else{let F=Y9.sign({header:W,payload:q,secret:$,encoding:V});if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`);return F}}});var z9=D((NW,B9)=>{B9.exports={decode:F0(),verify:k4(),sign:w9(),JsonWebTokenError:Q6(),NotBeforeError:X0(),TokenExpiredError:U0()}});var TH=a6(g0(),1);function E2(q="",$){return(Z)=>{let Q=q.trim();if(Q&&!Q.startsWith("/"))Q="/"+Q;if(Q.endsWith("/"))Q=Q.slice(0,-1);L.defineController(Z,{prefix:Q,middleware:$?.middleware||[]})}}function p(q){return($="")=>{return(Z,Q)=>{let J=$.trim();if(J&&!J.startsWith("/"))J="/"+J;let W=Reflect.getMetadata("route:middleware",Z,Q)||[];L.defineRoute(Z,Q,{method:q,path:J,middleware:W,parameters:[],dependencies:[],responses:[]})}}}var A2=p("GET"),x2=p("POST"),R2=p("PUT"),K2=p("DELETE"),P2=p("PATCH"),M2=p("ALL");function k2(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"body",schema:q,required:!0};L.defineParameter($,Z,Q,J)}}function b2(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"query",schema:q,required:!1};L.defineParameter($,Z,Q,J)}}function h2(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"param",name:q,required:!0};L.defineParameter($,Z,Q,J)}}function f2(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"header",name:q,required:!1};L.defineParameter($,Z,Q,J)}}function v2(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"cookie",name:q,required:!1};L.defineParameter($,Z,Q,J)}}function y2(){return(q,$,Z)=>{if(!$)return;let Q={index:Z,type:"request",required:!0};L.defineParameter(q,$,Z,Q)}}function g2(){return(q,$,Z)=>{if(!$)return;let Q={index:Z,type:"context",required:!0};L.defineParameter(q,$,Z,Q)}}function d2(q,$="request"){return(Z,Q,J)=>{if(Q===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");L.defineDependency(Z,Q,J,{index:J,provider:q,scope:$})}}function l2(...q){return($,Z)=>{let Q=Reflect.getMetadata("route:middleware",$,Z)||[];Reflect.defineMetadata("route:middleware",[...Q,...q],$,Z)}}function i2(q){return($,Z)=>{let Q=L.getRouteMetadata($,Z);L.defineRoute($,Z,{...Q,docs:{...Q?.docs,...q}})}}function s2(q){return($,Z)=>{let Q=L.getRouteMetadata($,Z),J=Q?.responses||[],W=J.findIndex((Y)=>Y.statusCode===q.statusCode),H;if(W>=0)H=[...J],H[W]=q;else H=[...J,q];L.defineRoute($,Z,{...Q,responses:H})}}var t2=a6(g0(),1);function o2(q){return($)=>{L.defineWebSocket($,{path:q})}}function e2(){return(q,$)=>{L.defineWebSocketHandler(q,$,{type:"connect",method:$})}}function q7(q){return($,Z)=>{L.defineWebSocketHandler($,Z,{type:"message",method:Z,schema:q})}}function $7(){return(q,$)=>{L.defineWebSocketHandler(q,$,{type:"disconnect",method:$})}}var u=a6(z9(),1);class f0{config;blacklistedTokens=new Set;constructor(q){this.config=q;if(!q.secret)throw Error("JWT secret is required")}generateTokens(q){let $=Math.floor(Date.now()/1000),Z=this.parseExpiration(this.config.expiresIn||"1h"),Q={sub:q.sub,...q,iat:$,exp:$+Z,iss:this.config.issuer,aud:this.config.audience},J=u.sign(Q,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),W={sub:q.sub,type:"refresh",iat:$,exp:$+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},H=u.sign(W,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:J,refreshToken:H,expiresIn:Z}}verifyAccessToken(q){if(this.isBlacklisted(q))throw Error("Token has been revoked");try{return u.verify(q,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch($){if($ instanceof Error)throw Error(`Invalid token: ${$.message}`);throw Error("Invalid token")}}verifyRefreshToken(q){if(this.isBlacklisted(q))throw Error("Refresh token has been revoked");try{let $=u.verify(q,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if($.type!=="refresh")throw Error("Invalid refresh token type");return $}catch($){if($ instanceof Error)throw Error(`Invalid refresh token: ${$.message}`);throw Error("Invalid refresh token")}}refreshAccessToken(q){let $=this.verifyRefreshToken(q);return this.blacklistToken(q),this.generateTokens({sub:$.sub,...Object.fromEntries(Object.entries($).filter(([Z])=>!["iat","exp","iss","aud","type"].includes(Z)))})}decodeToken(q){try{return u.decode(q)}catch{return null}}blacklistToken(q){this.blacklistedTokens.add(q)}isBlacklisted(q){return this.blacklistedTokens.has(q)}cleanupBlacklist(){let q=Math.floor(Date.now()/1000);for(let $ of this.blacklistedTokens){let Z=this.decodeToken($);if(Z&&Z.exp&&Z.exp<q)this.blacklistedTokens.delete($)}}parseExpiration(q){if(typeof q==="number")return q;let $={s:1,m:60,h:3600,d:86400,w:604800},Z=q.match(/^(\d+)([smhdw])$/);if(!Z)throw Error(`Invalid expiration format: ${q}`);let[,Q,J]=Z;return parseInt(Q)*$[J]}}var SW=X.object({sub:X.string(),iat:X.number().optional(),exp:X.number().optional(),iss:X.string().optional(),aud:X.string().optional()}).passthrough(),EW=X.object({username:X.string().min(1),password:X.string().min(1)}),AW=X.object({refreshToken:X.string().min(1)});class i6{config;userProvider;jwtProvider;constructor(q,$){this.config=q;this.userProvider=$;this.jwtProvider=new f0(q)}async login(q,$){let Z=await this.userProvider.findByCredentials(q,$);if(!Z)throw new h("Invalid credentials");let Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles||[],permissions:Z.permissions||[]});return{user:Z,tokens:Q}}async refresh(q){try{return this.jwtProvider.refreshAccessToken(q)}catch($){throw new n6($ instanceof Error?$.message:"Invalid refresh token")}}async logout(q,$){if(this.jwtProvider.blacklistToken(q),$)this.jwtProvider.blacklistToken($)}async verifyToken(q){try{let $=this.jwtProvider.verifyAccessToken(q),Z=await this.userProvider.findById($.sub);if(!Z)throw new h("User not found");return Z}catch($){if($ instanceof Error){if($.message.includes("expired"))throw new L9;throw new n6($.message)}throw new n6("Token verification failed")}}getUserFromToken(q){return this.jwtProvider.verifyAccessToken(q)}hasRoles(q,$){let Z=q.roles||[];return $.every((Q)=>Z.includes(Q))}hasPermissions(q,$){let Z=q.permissions||[];return $.every((Q)=>Z.includes(Q))}async register(q){let $=await this.userProvider.hashPassword(q.password),Z={id:crypto.randomUUID(),username:q.username,email:q.email,roles:q.roles||["user"]},Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles});return{user:Z,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class vJ{users=new Map;async findByCredentials(q,$){for(let[Z,Q]of this.users)if(Q.username===q){if(await this.verifyPassword($,Q.passwordHash)){let{passwordHash:W,...H}=Q;return H}}return null}async findById(q){let $=this.users.get(q);if($){let{passwordHash:Z,...Q}=$;return Q}return null}async hashPassword(q){return Buffer.from(q).toString("base64")}async verifyPassword(q,$){return await this.hashPassword(q)===$}async createUser(q){let $=crypto.randomUUID(),Z=await this.hashPassword(q.password),Q={id:$,username:q.username,email:q.email,roles:q.roles||["user"],passwordHash:Z};this.users.set($,Q);let{passwordHash:J,...W}=Q;return W}}class G6{roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole(q){if(this.roles.set(q.name,q),q.inherits&&q.inherits.length>0)this.hierarchy.set(q.name,q.inherits);this.compiledPermissions.clear()}defineRoles(q){for(let $ of q)this.defineRole($)}getRolePermissions(q){if(this.compiledPermissions.has(q))return Array.from(this.compiledPermissions.get(q));let $=new Set;return this.collectPermissions(q,$,new Set),this.compiledPermissions.set(q,$),Array.from($)}roleHasPermission(q,$){return this.getRolePermissions(q).includes($)}userHasPermission(q,$){for(let Z of q)if(this.roleHasPermission(Z,$))return!0;return!1}userHasRoles(q,$){return $.every((Z)=>q.includes(Z))}userHasAnyRole(q,$){return $.some((Z)=>q.includes(Z))}getRolesWithPermission(q){let $=[];for(let Z of this.roles.keys())if(this.roleHasPermission(Z,q))$.push(Z);return $}getRoleHierarchy(q){let $=[];return this.collectParentRoles(q,$,new Set),$}roleInheritsFrom(q,$){return this.getRoleHierarchy(q).includes($)}getAllRoles(){return Array.from(this.roles.values())}getRole(q){return this.roles.get(q)}roleExists(q){return this.roles.has(q)}validateRoles(q){let $=[],Z=[];for(let Q of q)if(this.roleExists(Q))$.push(Q);else Z.push(Q);return{valid:$,invalid:Z}}getEffectiveRoles(q){let $=new Set;for(let Z of q)$.add(Z),this.getRoleHierarchy(Z).forEach((J)=>$.add(J));return Array.from($)}compareRoleLevels(q,$){let Z=this.getRole(q),Q=this.getRole($),J=Z?.level??0,W=Q?.level??0;return J-W}getHighestRoleLevel(q){let $=0;for(let Z of q){let Q=this.getRole(Z);if(Q&&Q.level&&Q.level>$)$=Q.level}return $}collectPermissions(q,$,Z){if(Z.has(q))throw Error(`Circular role inheritance detected: ${q}`);Z.add(q);let Q=this.roles.get(q);if(!Q)throw Error(`Role not found: ${q}`);Q.permissions.forEach((W)=>$.add(W));let J=this.hierarchy.get(q)||[];for(let W of J)this.collectPermissions(W,$,new Set(Z))}collectParentRoles(q,$,Z){if(Z.has(q))return;Z.add(q);let Q=this.hierarchy.get(q)||[];for(let J of Q)$.push(J),this.collectParentRoles(J,$,Z)}}function C9(){let q=new G6;return q.defineRoles([{name:"guest",description:"Guest user with minimal permissions",permissions:["read:public"],level:1},{name:"user",description:"Regular authenticated user",permissions:["read:own","write:own","read:public"],inherits:["guest"],level:10},{name:"moderator",description:"Moderator with content management permissions",permissions:["read:all","write:all","moderate:content"],inherits:["user"],level:50},{name:"admin",description:"Administrator with full system access",permissions:["*"],inherits:["moderator"],level:100},{name:"super-admin",description:"Super administrator with unrestricted access",permissions:["*","system:*"],inherits:["admin"],level:1000}]),q}var bW=X.object({name:X.string().min(1),description:X.string().optional(),permissions:X.array(X.string()),inherits:X.array(X.string()).optional(),level:X.number().optional()}),hW=X.object({userId:X.string(),roles:X.array(X.string())}),fW=X.object({userId:X.string(),permission:X.string()});class D6{static matches(q,$){if($==="*")return!0;if($.endsWith("*")){let Z=$.slice(0,-1);return q.startsWith(Z)}return q===$}static hasPermission(q,$){return q.some((Z)=>this.matches($,Z))}static filterByPattern(q,$){return q.filter((Z)=>this.matches(Z,$))}}function gW(q){return($,Z)=>{let Q={required:!q?.optional,config:q};L.defineAuth($,Z,Q)}}function uW(){return(q,$,Z)=>{if($)L.defineParameter(q,$,Z,{index:Z,type:"current-user",required:!1})}}function mW(){return(q,$,Z)=>{if($)L.defineParameter(q,$,Z,{index:Z,type:"token",required:!1})}}function _9(q){return async($,Z)=>{let Q=$.req.header("Authorization");if(!Q||!Q.startsWith("Bearer "))$.set("auth.error","Missing or invalid Authorization header"),$.set("auth.authenticated",!1);else{let J=Q.substring(7);try{let W=q.verifyAccessToken(J);$.set("auth.user",W),$.set("auth.token",J),$.set("auth.authenticated",!0)}catch(W){$.set("auth.error",W instanceof Error?W.message:"Authentication failed"),$.set("auth.authenticated",!1)}}await Z()}}function l(q){return q.get("auth.user")||null}function O9(q){return q.get("auth.token")||null}function dW(q){return q.get("auth.authenticated")===!0}function cW(q){return q.get("auth.error")||null}function yJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{roles:q,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...q}};L.defineRoles($,Z,J)}}function gJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{permissions:q,requireAll:!1}:{requireAll:!1,...q}};L.definePermissions($,Z,J)}}function N9(q){return yJ([q])}function tW(q){return gJ([q])}function aW(){return N9("admin")}function oW(){return N9("super-admin")}function eW(q){return($,Z)=>{L.defineMinimumRole($,Z,{roleName:q})}}function j9(q){return async($,Z)=>{$.set("rbac",q),await Z()}}class s6{rbac;constructor(q){this.rbac=q}checkRoles(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role check");let Q=Z.roles||[],J=$.allowInherited?this.rbac.getEffectiveRoles(Q):Q,W;if($.requireAll)W=$.roles.every((H)=>J.includes(H));else W=$.roles.some((H)=>J.includes(H));if(!W){let H=$.requireAll?"all":"any";throw new P(`Access denied. Required ${H} of roles: ${$.roles.join(", ")}`)}}checkPermissions(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for permission check");let Q=Z.roles||[],J=new Set;for(let Y of Q)this.rbac.getRolePermissions(Y).forEach((F)=>J.add(F));let W=Array.from(J),H;if($.requireAll)H=$.permissions.every((Y)=>D6.hasPermission(W,Y));else H=$.permissions.some((Y)=>D6.hasPermission(W,Y));if(!H){let Y=$.requireAll?"all":"any";throw new P(`Access denied. Required ${Y} of permissions: ${$.permissions.join(", ")}`)}}checkMinimumRole(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role level check");let Q=Z.roles||[],J=this.rbac.getHighestRoleLevel(Q),W=this.rbac.getRole($);if(!W)throw Error(`Required role not found: ${$}`);let H=W.level||0;if(J<H)throw new P(`Access denied. Minimum role level required: ${$} (level ${H})`)}}function uJ(q){return q.get("rbac")||null}function S9(q){return l(q)?.roles||[]}function mJ(q){let $=uJ(q),Z=S9(q);if(!$)return[];let Q=new Set;for(let J of Z)$.getRolePermissions(J).forEach((H)=>Q.add(H));return Array.from(Q)}function qH(q,$){return S9(q).includes($)}function $H(q,$){let Z=mJ(q);return D6.hasPermission(Z,$)}class dJ{config;name="rbac";version="1.0.0";dependencies=["auth"];rbac;guard;constructor(q={}){this.config=q;if(q.rbac)this.rbac=q.rbac;else if(q.useDefaults!==!1)this.rbac=C9();else this.rbac=new G6;if(q.roles)this.rbac.defineRoles(q.roles);this.guard=new s6(this.rbac)}async install(q){let $=j9(this.rbac);if(q.use($),q.getContainer().register(G6,{factory:()=>this.rbac,scope:"singleton"}),q.getContainer().register(s6,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler(q),this.config.enableManagementRoutes!==!1)this.addManagementRoutes(q)}extendRouterCompiler(q){let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getMetadata().getRoutes();for(let Q of Z)if(Q.roles||Q.permissions||Q.minimumRole)this.addRBACGuards(q,Q)}}addRBACGuards(q,$){}addManagementRoutes(q){let $=this.config.routes||{};q.get($.roles||"/rbac/roles",{handler:(Z)=>{let Q=this.rbac.getAllRoles();return Z.json({success:!0,roles:Q.map((J)=>({name:J.name,description:J.description,permissions:J.permissions,inherits:J.inherits,level:J.level}))})}}),q.get("/rbac/roles/:roleName",{handler:(Z)=>{let Q=Z.req.param("roleName"),J=this.rbac.getRole(Q);if(!J)return Z.json({error:"Role not found"},404);let W=this.rbac.getRolePermissions(Q),H=this.rbac.getRoleHierarchy(Q);return Z.json({success:!0,role:{...J,effectivePermissions:W,hierarchy:H}})}}),q.get("/rbac/roles/:roleName/permissions",{handler:(Z)=>{let Q=Z.req.param("roleName");if(!this.rbac.roleExists(Q))return Z.json({error:"Role not found"},404);let J=this.rbac.getRolePermissions(Q);return Z.json({success:!0,role:Q,permissions:J})}}),q.post("/rbac/check-permission",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J,permission:W}=Q;if(!Array.isArray(J)||!W)return Z.json({error:"Invalid request body"},400);let H=this.rbac.userHasPermission(J,W);return Z.json({success:!0,hasPermission:H,roles:J,permission:W})}}),q.post("/rbac/check-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{userRoles:J,requiredRoles:W,requireAll:H=!1}=Q;if(!Array.isArray(J)||!Array.isArray(W))return Z.json({error:"Invalid request body"},400);let Y=H?this.rbac.userHasRoles(J,W):this.rbac.userHasAnyRole(J,W);return Z.json({success:!0,hasRoles:Y,userRoles:J,requiredRoles:W,requireAll:H})}}),q.post("/rbac/effective-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=this.rbac.getEffectiveRoles(J);return Z.json({success:!0,inputRoles:J,effectiveRoles:W})}}),q.post("/rbac/user-permissions",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=new Set;for(let H of J)if(this.rbac.roleExists(H))this.rbac.getRolePermissions(H).forEach((V)=>W.add(V));return Z.json({success:!0,roles:J,permissions:Array.from(W)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}class cJ{config;name="auth";version="1.0.0";authService;constructor(q){this.config=q;this.authService=new i6(q.jwt,q.userProvider)}async install(q){let $=_9(this.authService.getJWTProvider());if(q.use($),q.getContainer().register(i6,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes(q);this.extendRouterCompiler(q)}extendRouterCompiler(q){q.use(async(Z,Q)=>{Z.set("authService",this.authService),await Q()});let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getHono(),Q=q.getMetadata().getRoutes();for(let J of Q){let W=L.getAuthMetadata(J.target.prototype,J.propertyKey);if(J.auth?.required||W?.required){console.log("Adding auth middleware for route:",J.path,J.method);let Y=J.auth?.config||W?.config;Z.use(J.path,async(V,F)=>{if(console.log("Auth middleware executing for:",V.req.path,V.req.method,"target:",J.path,J.method),V.req.method!==J.method)return console.log("Method mismatch, skipping auth check"),F();console.log("Checking authentication...");let U=V.get("auth.user"),G=V.get("auth.error");if(!U){let _=G||"Authentication required";throw console.log("No user found, throwing auth exception"),new h(_)}if(Y?.roles?.length){if(!this.authService.hasRoles(U,Y.roles))throw new P(`Required roles: ${Y.roles.join(", ")}`)}if(Y?.permissions?.length){if(!this.authService.hasPermissions(U,Y.permissions))throw new P(`Required permissions: ${Y.permissions.join(", ")}`)}await F()})}}}}buildPath(q){return q.path}pathMatches(q,$){let Z=q.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Z}$`).test($)}addDefaultRoutes(q){let $=this.config.routes||{};if(q.post($.login||"/auth/login",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W}=Q;try{let H=await this.authService.login(J,W);return{success:!0,user:H.user,tokens:H.tokens}}catch(H){throw new h(H instanceof Error?H.message:"Login failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(1)})}}),q.post($.refresh||"/auth/refresh",{handler:async(Z)=>{let Q=await Z.req.json(),{refreshToken:J}=Q;try{return{success:!0,tokens:await this.authService.refresh(J)}}catch(W){throw new h(W instanceof Error?W.message:"Token refresh failed")}},schema:{body:X.object({refreshToken:X.string().min(1)})}}),q.post($.logout||"/auth/logout",{handler:async(Z)=>{let Q=O9(Z),J=await Z.req.json(),{refreshToken:W}=J;if(Q)await this.authService.logout(Q,W);return{success:!0,message:"Logged out successfully"}},schema:{body:X.object({refreshToken:X.string().optional()})}}),"createUser"in this.config.userProvider)q.post($.register||"/auth/register",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W,email:H}=Q;try{let Y=await this.authService.register({username:J,password:W,email:H});return{success:!0,user:Y.user,tokens:Y.tokens}}catch(Y){throw new h(Y instanceof Error?Y.message:"Registration failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(6),email:X.string().email().optional()})}});q.get("/auth/me",{handler:async(Z)=>{let Q=l(Z);if(!Q)throw new h("Not authenticated");return{success:!0,user:Q}}})}getAuthService(){return this.authService}}var LH=X.object({code:X.string(),state:X.string(),error:X.string().optional(),error_description:X.string().optional()}),CH=X.object({accessToken:X.string(),refreshToken:X.string().optional(),expiresIn:X.number().optional(),tokenType:X.string(),scope:X.string().optional()}),lJ=X.object({id:X.string(),email:X.string().optional(),name:X.string().optional(),username:X.string().optional(),avatar:X.string().optional(),provider:X.string()}).passthrough();function pJ(q){return($,Z)=>{let Q={provider:q.provider,config:q};L.defineOAuth($,Z,Q)}}function nJ(){return(q,$,Z)=>{if($)L.defineParameter(q,$,Z,{index:Z,type:"oauth-user",required:!0})}}function iJ(){return(q,$,Z)=>{if($)L.defineParameter(q,$,Z,{index:Z,type:"oauth-token",required:!0})}}function sJ(q){return q.get("oauth.user")||null}function rJ(q){return q.get("oauth.token")||null}function tJ(q){return q.get("oauth.authenticated")===!0}function aJ(q){return q.get("oauth.provider")||null}class E9{store;config;constructor(q,$){this.store=q;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...$,domain:$.domain}}async createSession(q,$={},Z){let Q=this.config.genid(),J=new Date,W=Z?.maxAge||this.config.maxAge,H={id:Q,userId:q,data:$,createdAt:J,updatedAt:J,expiresAt:new Date(J.getTime()+W),ipAddress:Z?.ipAddress,userAgent:Z?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,H),H}async getSession(q){return await this.store.get(q)}async updateSession(q,$){let Z=await this.store.get(q);if(!Z)return null;if(Z.data={...Z.data,...$},Z.updatedAt=new Date,this.config.rolling)Z.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set(q,Z),Z}async touchSession(q){if(this.config.rolling){let $=await this.store.get(q);if($)$.updatedAt=new Date,$.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set(q,$)}else await this.store.touch(q)}async destroySession(q){await this.store.destroy(q)}async regenerateSession(q){let $=await this.store.get(q);if(!$)return null;let Z=this.config.genid(),Q={...$,id:Z,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Z,Q),await this.store.destroy(q),Q}async getUserSessions(q){return(await this.store.all()).filter((Z)=>Z.userId===q)}async destroyUserSessions(q){let $=await this.getUserSessions(q);for(let Z of $)await this.store.destroy(Z.id)}validateCSRFToken(q,$){return q.csrfToken===$}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let q={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)q.domain=this.config.domain;return q}getConfig(){return{...this.config}}getStore(){return this.store}}var oJ=X.object({id:X.string(),userId:X.string(),data:X.record(X.any()),createdAt:X.date(),updatedAt:X.date(),expiresAt:X.date().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional(),csrfToken:X.string().optional()}),SH=X.object({name:X.string().optional(),secret:X.string(),maxAge:X.number().optional(),secure:X.boolean().optional(),httpOnly:X.boolean().optional(),sameSite:X.enum(["strict","lax","none"]).optional(),domain:X.string().optional(),path:X.string().optional(),rolling:X.boolean().optional()}),EH=X.object({userId:X.string(),data:X.record(X.any()).optional(),maxAge:X.number().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional()}),AH=X.object({data:X.record(X.any())});function eJ(q={}){return($,Z)=>{let Q={config:q};L.defineSession($,Z,Q)}}function q2(){return(q,$,Z)=>{if($)L.defineParameter(q,$,Z,{index:Z,type:"current-session",required:!0})}}function $2(){return(q,$,Z)=>{if($)L.defineParameter(q,$,Z,{index:Z,type:"csrf-token",required:!0})}}function Z2(){return(q,$)=>{L.defineCSRF(q,$,{required:!0})}}function Q2(q,$){return async(Z,Q)=>{let J=q.getConfig(),W=A9(Z,J.name),H=null;if(W){if(H=await q.getSession(W),H)await q.touchSession(W)}Z.set("session",H),Z.set("sessionManager",q),Z.set("csrfProtection",$),await Q()}}class x9{sessionManager;csrfProtection;constructor(q,$){this.sessionManager=q;this.csrfProtection=$}checkSession(q,$){let Z=f(q);if($.required&&!Z)throw new h("Session required");if(Z&&$.csrf)this.checkCSRF(q,Z)}checkCSRF(q,$){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Z=q.req.header("X-CSRF-Token")||q.req.query("_csrf");if(!Z)throw new P("CSRF token required");if(!this.csrfProtection.validateToken($.id,Z))throw new P("Invalid CSRF token")}async createSession(q,$,Z={}){let Q=w6(q);if(!Q)throw Error("Session manager not available");let J=q.req.header("X-Forwarded-For")||q.req.header("X-Real-IP")||"unknown",W=q.req.header("User-Agent")||"unknown",H=await Q.createSession($,Z,{ipAddress:J,userAgent:W}),Y=Q.getCookieOptions();return r6(q,Q.getConfig().name,H.id,Y),q.set("session",H),H}async updateSession(q,$){let Z=f(q),Q=w6(q);if(!Z||!Q)return null;let J=await Q.updateSession(Z.id,$);if(J)q.set("session",J);return J}async destroySession(q){let $=f(q),Z=w6(q);if(!$||!Z)return;await Z.destroySession($.id);let Q=Z.getConfig();if(r6(q,Q.name,"",{...Z.getCookieOptions(),maxAge:0}),q.set("session",null),this.csrfProtection)this.csrfProtection.removeToken($.id)}async regenerateSession(q){let $=f(q),Z=w6(q);if(!$||!Z)return null;let Q=await Z.regenerateSession($.id);if(Q){let J=Z.getCookieOptions();if(r6(q,Z.getConfig().name,Q.id,J),q.set("session",Q),this.csrfProtection)this.csrfProtection.removeToken($.id),this.csrfProtection.generateToken(Q.id)}return Q}generateCSRFToken(q){let $=f(q);if(!$||!this.csrfProtection)return null;return this.csrfProtection.generateToken($.id)}}function f(q){return q.get("session")||null}function w6(q){return q.get("sessionManager")||null}function J2(q){return q.get("csrfProtection")||null}function W2(q,$){let Z=f(q);if(!Z)return null;if($)return Z.data[$];return Z.data}function H2(q){return f(q)!==null}function Y2(q){return f(q)?.userId||null}function F2(q,$,Z){let Q=f(q);if(Q)Q.data[$]=Z,q.set("session",Q)}function X2(q,$){let Z=f(q);if(Z&&$ in Z.data)delete Z.data[$],q.set("session",Z)}export{O2 as zodToJsonSchema,qY as zodToGraphQLType,QY as zodObjectToGraphQLType,JY as zodObjectToGraphQLInput,X as z,VY as setupTestApp,F2 as setSessionData,X2 as removeSessionData,XY as mockDependency,H2 as isSessionAuthenticated,tJ as isOAuthAuthenticated,$Y as isNullable,dW as isAuthenticated,s3 as hasResolverMetadata,r3 as hasFieldMetadata,S9 as getUserRoles,mJ as getUserPermissions,O9 as getToken,Y2 as getSessionUserId,w6 as getSessionManager,W2 as getSessionData,l3 as getResolverMetadata,uJ as getRBACManager,sJ as getOAuthUser,rJ as getOAuthToken,aJ as getOAuthProvider,p3 as getFieldsMetadata,n3 as getFieldMetadata,ZY as getDefaultValue,l as getCurrentUser,f as getCurrentSession,J2 as getCSRFProtection,cW as getAuthError,i3 as getArgumentsMetadata,UY as createTestClient,FY as createTestApp,Q2 as createSessionMiddleware,f3 as createRateLimitMiddleware,j9 as createRBACMiddleware,C9 as createDefaultRBAC,h3 as createCorsMiddleware,v3 as createCompressionMiddleware,_9 as createAuthMiddleware,GY as clearMocks,qH as checkUserRole,$H as checkUserPermission,_2 as ZodToJsonSchemaConverter,e3 as WebSocketPlugin,o3 as WebSocketManager,a3 as WebSocketConnection,o2 as WebSocket,v0 as VeloceTS,v0 as Veloce,D2 as ValidationException,w2 as ValidationEngine,l2 as UseMiddleware,T3 as UnauthorizedException,b3 as TokenRevokedException,SW as TokenPayloadSchema,L9 as TokenExpiredException,mW as Token,YY as TestClient,oW as SuperAdminOnly,R3 as StreamResponse,E9 as SessionManager,x9 as SessionGuard,oJ as SessionDataSchema,eJ as Session,G2 as RouterCompiler,yJ as Roles,bW as RoleSchema,hW as RoleAssignmentSchema,K3 as ResponseSerializer,j3 as Response,y3 as Resolver,N9 as RequireRole,tW as RequirePermission,Z2 as RequireCSRF,y2 as Req,AW as RefreshRequestSchema,A3 as RedirectResponse,dJ as RBACPlugin,G6 as RBACManager,s6 as RBACGuard,b2 as Query,R2 as Put,x2 as Post,z2 as PluginManager,gJ as Permissions,D6 as PermissionMatcher,fW as PermissionCheckSchema,P2 as Patch,h2 as Param,t3 as OpenAPIPlugin,N2 as OpenAPIGenerator,q7 as OnMessage,$7 as OnDisconnect,e2 as OnConnect,lJ as OAuthUserSchema,nJ as OAuthUser,iJ as OAuthToken,pJ as OAuth,M3 as NotFoundException,eW as MinimumRole,L as MetadataRegistry,V2 as MetadataCompiler,EW as LoginRequestSchema,f0 as JWTProvider,S3 as JSONResponse,n6 as InvalidTokenException,vJ as InMemoryUserProvider,L2 as HonoAdapter,f2 as Header,P3 as HTTPException,E3 as HTMLResponse,m3 as GraphQLSubscription,WY as GraphQLSchemaBuilder,g3 as GraphQLQuery,HY as GraphQLPlugin,u3 as GraphQLMutation,c3 as GraphQLCtx,A2 as Get,m3 as GQLSubscription,g3 as GQLQuery,u3 as GQLMutation,c3 as GQLContext,I3 as ForbiddenException,x3 as FileResponse,v0 as FastAPITS,C2 as ExpressAdapter,B2 as ErrorHandler,d2 as Depends,K2 as Delete,U2 as DIContainer,uW as CurrentUser,q2 as CurrentSession,g2 as Ctx,v2 as Cookie,E2 as Controller,$2 as CSRFToken,k2 as Body,k3 as BadRequestException,P as AuthorizationException,h as AuthenticationException,i6 as AuthService,cJ as AuthPlugin,gW as Auth,d3 as Arg,s2 as ApiResponse,i2 as ApiDoc,M2 as All,aW as AdminOnly};
4
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,$6="secret must be a string or buffer",i="key must be a string or a buffer",n9="key must be a string, a buffer or an object",Q0=typeof M.createPublicKey==="function";if(Q0)i+=" or a KeyObject",$6+="or a KeyObject";function Z8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(!Q0)throw k(i);if(typeof q!=="object")throw k(i);if(typeof q.type!=="string")throw k(i);if(typeof q.asymmetricKeyType!=="string")throw k(i);if(typeof q.export!=="function")throw k(i)}function Q8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(typeof q==="object")return;throw k(n9)}function i9(q){if(s.isBuffer(q))return;if(typeof q==="string")return q;if(!Q0)throw k($6);if(typeof q!=="object")throw k($6);if(q.type!=="secret")throw k($6);if(typeof q.export!=="function")throw k($6)}function J0(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function J8(q){q=q.toString();var $=4-q.length%4;if($!==4)for(var Z=0;Z<$;++Z)q+="=";return q.replace(/\-/g,"+").replace(/_/g,"/")}function k(q){var $=[].slice.call(arguments,1),Z=q8.format.bind(q8,q).apply(null,$);return TypeError(Z)}function s9(q){return s.isBuffer(q)||typeof q==="string"}function Z6(q){if(!s9(q))q=JSON.stringify(q);return q}function W8(q){return function(Z,Q){i9(Q),Z=Z6(Z);var J=M.createHmac("sha"+q,Q),W=(J.update(Z),J.digest("base64"));return J0(W)}}var Z0,r9="timingSafeEqual"in M?function($,Z){if($.byteLength!==Z.byteLength)return!1;return M.timingSafeEqual($,Z)}:function($,Z){if(!Z0)Z0=e0();return Z0($,Z)};function t9(q){return function(Z,Q,J){var W=W8(q)(Z,J);return r9(s.from(Q),s.from(W))}}function H8(q){return function(Z,Q){Q8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign(Q,"base64"));return J0(W)}}function Y8(q){return function(Z,Q,J){Z8(J),Z=Z6(Z),Q=J8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify(J,Q,"base64")}}function a9(q){return function(Z,Q){Q8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign({key:Q,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return J0(W)}}function o9(q){return function(Z,Q,J){Z8(J),Z=Z6(Z),Q=J8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify({key:J,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},Q,"base64")}}function e9(q){var $=H8(q);return function(){var Q=$.apply(null,arguments);return Q=$8.derToJose(Q,"ES"+q),Q}}function qq(q){var $=Y8(q);return function(Q,J,W){J=$8.joseToDer(J,"ES"+q).toString("base64");var H=$(Q,J,W);return H}}function $q(){return function(){return""}}function Zq(){return function($,Z){return Z===""}}F8.exports=function($){var Z={hs:W8,rs:H8,ps:a9,es:e9,none:$q},Q={hs:t9,rs:Y8,ps:o9,es:qq,none:Zq},J=$.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!J)throw k(p9,$);var W=(J[1]||J[3]).toLowerCase(),H=J[2];return{sign:Z[W](H),verify:Q[W](H)}}});var H0=D((H7,X8)=>{var Qq=K("buffer").Buffer;X8.exports=function($){if(typeof $==="string")return $;if(typeof $==="number"||Qq.isBuffer($))return $.toString();return JSON.stringify($)}});var B8=D((Y7,w8)=>{var Jq=n().Buffer,U8=e6(),Wq=W0(),Hq=K("stream"),V8=H0(),Y0=K("util");function G8(q,$){return Jq.from(q,$).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Yq(q,$,Z){Z=Z||"utf8";var Q=G8(V8(q),"binary"),J=G8(V8($),Z);return Y0.format("%s.%s",Q,J)}function D8(q){var{header:$,payload:Z}=q,Q=q.secret||q.privateKey,J=q.encoding,W=Wq($.alg),H=Yq($,Z,J),Y=W.sign(H,Q);return Y0.format("%s.%s",H,Y)}function j6(q){var $=q.secret||q.privateKey||q.key,Z=new U8($);this.readable=!0,this.header=q.header,this.encoding=q.encoding,this.secret=this.privateKey=this.key=Z,this.payload=new U8(q.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}Y0.inherits(j6,Hq);j6.prototype.sign=function(){try{var $=D8({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",$),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Z){this.readable=!1,this.emit("error",Z),this.emit("close")}};j6.sign=D8;w8.exports=j6});var A8=D((F7,E8)=>{var L8=n().Buffer,z8=e6(),Fq=W0(),Xq=K("stream"),C8=H0(),Uq=K("util"),Vq=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Gq(q){return Object.prototype.toString.call(q)==="[object Object]"}function Dq(q){if(Gq(q))return q;try{return JSON.parse(q)}catch($){return}}function _8(q){var $=q.split(".",1)[0];return Dq(L8.from($,"base64").toString("binary"))}function wq(q){return q.split(".",2).join(".")}function O8(q){return q.split(".")[2]}function Bq(q,$){$=$||"utf8";var Z=q.split(".")[1];return L8.from(Z,"base64").toString($)}function N8(q){return Vq.test(q)&&!!_8(q)}function j8(q,$,Z){if(!$){var Q=Error("Missing algorithm parameter for jws.verify");throw Q.code="MISSING_ALGORITHM",Q}q=C8(q);var J=O8(q),W=wq(q),H=Fq($);return H.verify(W,J,Z)}function S8(q,$){if($=$||{},q=C8(q),!N8(q))return null;var Z=_8(q);if(!Z)return null;var Q=Bq(q);if(Z.typ==="JWT"||$.json)Q=JSON.parse(Q,$.encoding);return{header:Z,payload:Q,signature:O8(q)}}function r(q){q=q||{};var $=q.secret||q.publicKey||q.key,Z=new z8($);this.readable=!0,this.algorithm=q.algorithm,this.encoding=q.encoding,this.secret=this.publicKey=this.key=Z,this.signature=new z8(q.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}Uq.inherits(r,Xq);r.prototype.verify=function(){try{var $=j8(this.signature.buffer,this.algorithm,this.key.buffer),Z=S8(this.signature.buffer,this.encoding);return this.emit("done",$,Z),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};r.decode=S8;r.isValid=N8;r.verify=j8;E8.exports=r});var E6=D((Lq)=>{var x8=B8(),S6=A8(),zq=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Lq.ALGORITHMS=zq;Lq.sign=x8.sign;Lq.verify=S6.verify;Lq.decode=S6.decode;Lq.isValid=S6.isValid;Lq.createSign=function($){return new x8($)};Lq.createVerify=function($){return new S6($)}});var F0=D((U7,R8)=>{var Aq=E6();R8.exports=function(q,$){$=$||{};var Z=Aq.decode(q,$);if(!Z)return null;var Q=Z.payload;if(typeof Q==="string")try{var J=JSON.parse(Q);if(J!==null&&typeof J==="object")Q=J}catch(W){}if($.complete===!0)return{header:Z.header,payload:Q,signature:Z.signature};return Q}});var Q6=D((V7,K8)=>{var A6=function(q,$){if(Error.call(this,q),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=q,$)this.inner=$};A6.prototype=Object.create(Error.prototype);A6.prototype.constructor=A6;K8.exports=A6});var X0=D((G7,M8)=>{var P8=Q6(),x6=function(q,$){P8.call(this,q),this.name="NotBeforeError",this.date=$};x6.prototype=Object.create(P8.prototype);x6.prototype.constructor=x6;M8.exports=x6});var U0=D((D7,I8)=>{var T8=Q6(),R6=function(q,$){T8.call(this,q),this.name="TokenExpiredError",this.expiredAt=$};R6.prototype=Object.create(T8.prototype);R6.prototype.constructor=R6;I8.exports=R6});var b8=D((w7,k8)=>{var t=1000,a=t*60,o=a*60,d=o*24,xq=d*7,Rq=d*365.25;k8.exports=function(q,$){$=$||{};var Z=typeof q;if(Z==="string"&&q.length>0)return Kq(q);else if(Z==="number"&&isFinite(q))return $.long?Mq(q):Pq(q);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(q))};function Kq(q){if(q=String(q),q.length>100)return;var $=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(q);if(!$)return;var Z=parseFloat($[1]),Q=($[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return Z*Rq;case"weeks":case"week":case"w":return Z*xq;case"days":case"day":case"d":return Z*d;case"hours":case"hour":case"hrs":case"hr":case"h":return Z*o;case"minutes":case"minute":case"mins":case"min":case"m":return Z*a;case"seconds":case"second":case"secs":case"sec":case"s":return Z*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Z;default:return}}function Pq(q){var $=Math.abs(q);if($>=d)return Math.round(q/d)+"d";if($>=o)return Math.round(q/o)+"h";if($>=a)return Math.round(q/a)+"m";if($>=t)return Math.round(q/t)+"s";return q+"ms"}function Mq(q){var $=Math.abs(q);if($>=d)return K6(q,$,d,"day");if($>=o)return K6(q,$,o,"hour");if($>=a)return K6(q,$,a,"minute");if($>=t)return K6(q,$,t,"second");return q+" ms"}function K6(q,$,Z,Q){var J=$>=Z*1.5;return Math.round(q/Z)+" "+Q+(J?"s":"")}});var V0=D((B7,h8)=>{var Tq=b8();h8.exports=function(q,$){var Z=$||Math.floor(Date.now()/1000);if(typeof q==="string"){var Q=Tq(q);if(typeof Q>"u")return;return Math.floor(Z+Q/1000)}else if(typeof q==="number")return Z+q;else return}});var J6=D((z7,f8)=>{var Iq=Number.MAX_SAFE_INTEGER||9007199254740991,kq=["major","premajor","minor","preminor","patch","prepatch","prerelease"];f8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Iq,RELEASE_TYPES:kq,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var W6=D((L7,v8)=>{var bq=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...q)=>console.error("SEMVER",...q):()=>{};v8.exports=bq});var e=D((y,y8)=>{var{MAX_SAFE_COMPONENT_LENGTH:G0,MAX_SAFE_BUILD_LENGTH:hq,MAX_LENGTH:fq}=J6(),vq=W6();y=y8.exports={};var yq=y.re=[],gq=y.safeRe=[],w=y.src=[],uq=y.safeSrc=[],B=y.t={},mq=0,D0="[a-zA-Z0-9-]",dq=[["\\s",1],["\\d",fq],[D0,hq]],cq=(q)=>{for(let[$,Z]of dq)q=q.split(`${$}*`).join(`${$}{0,${Z}}`).split(`${$}+`).join(`${$}{1,${Z}}`);return q},L=(q,$,Z)=>{let Q=cq($),J=mq++;vq(q,J,$),B[q]=J,w[J]=$,uq[J]=Q,yq[J]=new RegExp($,Z?"g":void 0),gq[J]=new RegExp(Q,Z?"g":void 0)};L("NUMERICIDENTIFIER","0|[1-9]\\d*");L("NUMERICIDENTIFIERLOOSE","\\d+");L("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${D0}*`);L("MAINVERSION",`(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})`);L("MAINVERSIONLOOSE",`(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASEIDENTIFIER",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIER]})`);L("PRERELEASEIDENTIFIERLOOSE",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASE",`(?:-(${w[B.PRERELEASEIDENTIFIER]}(?:\\.${w[B.PRERELEASEIDENTIFIER]})*))`);L("PRERELEASELOOSE",`(?:-?(${w[B.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${w[B.PRERELEASEIDENTIFIERLOOSE]})*))`);L("BUILDIDENTIFIER",`${D0}+`);L("BUILD",`(?:\\+(${w[B.BUILDIDENTIFIER]}(?:\\.${w[B.BUILDIDENTIFIER]})*))`);L("FULLPLAIN",`v?${w[B.MAINVERSION]}${w[B.PRERELEASE]}?${w[B.BUILD]}?`);L("FULL",`^${w[B.FULLPLAIN]}$`);L("LOOSEPLAIN",`[v=\\s]*${w[B.MAINVERSIONLOOSE]}${w[B.PRERELEASELOOSE]}?${w[B.BUILD]}?`);L("LOOSE",`^${w[B.LOOSEPLAIN]}$`);L("GTLT","((?:<|>)?=?)");L("XRANGEIDENTIFIERLOOSE",`${w[B.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);L("XRANGEIDENTIFIER",`${w[B.NUMERICIDENTIFIER]}|x|X|\\*`);L("XRANGEPLAIN",`[v=\\s]*(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:${w[B.PRERELEASE]})?${w[B.BUILD]}?)?)?`);L("XRANGEPLAINLOOSE",`[v=\\s]*(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:${w[B.PRERELEASELOOSE]})?${w[B.BUILD]}?)?)?`);L("XRANGE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAIN]}$`);L("XRANGELOOSE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAINLOOSE]}$`);L("COERCEPLAIN",`(^|[^\\d])(\\d{1,${G0}})(?:\\.(\\d{1,${G0}}))?(?:\\.(\\d{1,${G0}}))?`);L("COERCE",`${w[B.COERCEPLAIN]}(?:$|[^\\d])`);L("COERCEFULL",w[B.COERCEPLAIN]+`(?:${w[B.PRERELEASE]})?(?:${w[B.BUILD]})?(?:$|[^\\d])`);L("COERCERTL",w[B.COERCE],!0);L("COERCERTLFULL",w[B.COERCEFULL],!0);L("LONETILDE","(?:~>?)");L("TILDETRIM",`(\\s*)${w[B.LONETILDE]}\\s+`,!0);y.tildeTrimReplace="$1~";L("TILDE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAIN]}$`);L("TILDELOOSE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAINLOOSE]}$`);L("LONECARET","(?:\\^)");L("CARETTRIM",`(\\s*)${w[B.LONECARET]}\\s+`,!0);y.caretTrimReplace="$1^";L("CARET",`^${w[B.LONECARET]}${w[B.XRANGEPLAIN]}$`);L("CARETLOOSE",`^${w[B.LONECARET]}${w[B.XRANGEPLAINLOOSE]}$`);L("COMPARATORLOOSE",`^${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]})$|^$`);L("COMPARATOR",`^${w[B.GTLT]}\\s*(${w[B.FULLPLAIN]})$|^$`);L("COMPARATORTRIM",`(\\s*)${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]}|${w[B.XRANGEPLAIN]})`,!0);y.comparatorTrimReplace="$1$2$3";L("HYPHENRANGE",`^\\s*(${w[B.XRANGEPLAIN]})\\s+-\\s+(${w[B.XRANGEPLAIN]})\\s*$`);L("HYPHENRANGELOOSE",`^\\s*(${w[B.XRANGEPLAINLOOSE]})\\s+-\\s+(${w[B.XRANGEPLAINLOOSE]})\\s*$`);L("STAR","(<|>)?=?\\s*\\*");L("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");L("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var P6=D((C7,g8)=>{var lq=Object.freeze({loose:!0}),pq=Object.freeze({}),nq=(q)=>{if(!q)return pq;if(typeof q!=="object")return lq;return q};g8.exports=nq});var w0=D((_7,d8)=>{var u8=/^[0-9]+$/,m8=(q,$)=>{if(typeof q==="number"&&typeof $==="number")return q===$?0:q<$?-1:1;let Z=u8.test(q),Q=u8.test($);if(Z&&Q)q=+q,$=+$;return q===$?0:Z&&!Q?-1:Q&&!Z?1:q<$?-1:1},iq=(q,$)=>m8($,q);d8.exports={compareIdentifiers:m8,rcompareIdentifiers:iq}});var S=D((O7,l8)=>{var M6=W6(),{MAX_LENGTH:c8,MAX_SAFE_INTEGER:T6}=J6(),{safeRe:I6,t:k6}=e(),sq=P6(),{compareIdentifiers:B0}=w0();class b{constructor(q,$){if($=sq($),q instanceof b)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else q=q.version;else if(typeof q!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof q}".`);if(q.length>c8)throw TypeError(`version is longer than ${c8} characters`);M6("SemVer",q,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;let Z=q.trim().match($.loose?I6[k6.LOOSE]:I6[k6.FULL]);if(!Z)throw TypeError(`Invalid Version: ${q}`);if(this.raw=q,this.major=+Z[1],this.minor=+Z[2],this.patch=+Z[3],this.major>T6||this.major<0)throw TypeError("Invalid major version");if(this.minor>T6||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>T6||this.patch<0)throw TypeError("Invalid patch version");if(!Z[4])this.prerelease=[];else this.prerelease=Z[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let J=+Q;if(J>=0&&J<T6)return J}return Q});this.build=Z[5]?Z[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(q){if(M6("SemVer.compare",this.version,this.options,q),!(q instanceof b)){if(typeof q==="string"&&q===this.version)return 0;q=new b(q,this.options)}if(q.version===this.version)return 0;return this.compareMain(q)||this.comparePre(q)}compareMain(q){if(!(q instanceof b))q=new b(q,this.options);if(this.major<q.major)return-1;if(this.major>q.major)return 1;if(this.minor<q.minor)return-1;if(this.minor>q.minor)return 1;if(this.patch<q.patch)return-1;if(this.patch>q.patch)return 1;return 0}comparePre(q){if(!(q instanceof b))q=new b(q,this.options);if(this.prerelease.length&&!q.prerelease.length)return-1;else if(!this.prerelease.length&&q.prerelease.length)return 1;else if(!this.prerelease.length&&!q.prerelease.length)return 0;let $=0;do{let Z=this.prerelease[$],Q=q.prerelease[$];if(M6("prerelease compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return B0(Z,Q)}while(++$)}compareBuild(q){if(!(q instanceof b))q=new b(q,this.options);let $=0;do{let Z=this.build[$],Q=q.build[$];if(M6("build compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return B0(Z,Q)}while(++$)}inc(q,$,Z){if(q.startsWith("pre")){if(!$&&Z===!1)throw Error("invalid increment argument: identifier is empty");if($){let Q=`-${$}`.match(this.options.loose?I6[k6.PRERELEASELOOSE]:I6[k6.PRERELEASE]);if(!Q||Q[1]!==$)throw Error(`invalid identifier: ${$}`)}}switch(q){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,Z);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,Z);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,Z),this.inc("pre",$,Z);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,Z);this.inc("pre",$,Z);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Q=Number(Z)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if($===this.prerelease.join(".")&&Z===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if($){let J=[$,Q];if(Z===!1)J=[$];if(B0(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${q}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}l8.exports=b});var c=D((N7,n8)=>{var p8=S(),rq=(q,$,Z=!1)=>{if(q instanceof p8)return q;try{return new p8(q,$)}catch(Q){if(!Z)return null;throw Q}};n8.exports=rq});var s8=D((j7,i8)=>{var tq=c(),aq=(q,$)=>{let Z=tq(q,$);return Z?Z.version:null};i8.exports=aq});var t8=D((S7,r8)=>{var oq=c(),eq=(q,$)=>{let Z=oq(q.trim().replace(/^[=v]+/,""),$);return Z?Z.version:null};r8.exports=eq});var e8=D((E7,o8)=>{var a8=S(),q$=(q,$,Z,Q,J)=>{if(typeof Z==="string")J=Q,Q=Z,Z=void 0;try{return new a8(q instanceof a8?q.version:q,Z).inc($,Q,J).version}catch(W){return null}};o8.exports=q$});var Z1=D((A7,$1)=>{var q1=c(),$$=(q,$)=>{let Z=q1(q,null,!0),Q=q1($,null,!0),J=Z.compare(Q);if(J===0)return null;let W=J>0,H=W?Z:Q,Y=W?Q:Z,V=!!H.prerelease.length;if(!!Y.prerelease.length&&!V){if(!Y.patch&&!Y.minor)return"major";if(Y.compareMain(H)===0){if(Y.minor&&!Y.patch)return"minor";return"patch"}}let U=V?"pre":"";if(Z.major!==Q.major)return U+"major";if(Z.minor!==Q.minor)return U+"minor";if(Z.patch!==Q.patch)return U+"patch";return"prerelease"};$1.exports=$$});var J1=D((x7,Q1)=>{var Z$=S(),Q$=(q,$)=>new Z$(q,$).major;Q1.exports=Q$});var H1=D((R7,W1)=>{var J$=S(),W$=(q,$)=>new J$(q,$).minor;W1.exports=W$});var F1=D((K7,Y1)=>{var H$=S(),Y$=(q,$)=>new H$(q,$).patch;Y1.exports=Y$});var U1=D((P7,X1)=>{var F$=c(),X$=(q,$)=>{let Z=F$(q,$);return Z&&Z.prerelease.length?Z.prerelease:null};X1.exports=X$});var T=D((M7,G1)=>{var V1=S(),U$=(q,$,Z)=>new V1(q,Z).compare(new V1($,Z));G1.exports=U$});var w1=D((T7,D1)=>{var V$=T(),G$=(q,$,Z)=>V$($,q,Z);D1.exports=G$});var z1=D((I7,B1)=>{var D$=T(),w$=(q,$)=>D$(q,$,!0);B1.exports=w$});var b6=D((k7,C1)=>{var L1=S(),B$=(q,$,Z)=>{let Q=new L1(q,Z),J=new L1($,Z);return Q.compare(J)||Q.compareBuild(J)};C1.exports=B$});var O1=D((b7,_1)=>{var z$=b6(),L$=(q,$)=>q.sort((Z,Q)=>z$(Z,Q,$));_1.exports=L$});var j1=D((h7,N1)=>{var C$=b6(),_$=(q,$)=>q.sort((Z,Q)=>C$(Q,Z,$));N1.exports=_$});var H6=D((f7,S1)=>{var O$=T(),N$=(q,$,Z)=>O$(q,$,Z)>0;S1.exports=N$});var h6=D((v7,E1)=>{var j$=T(),S$=(q,$,Z)=>j$(q,$,Z)<0;E1.exports=S$});var z0=D((y7,A1)=>{var E$=T(),A$=(q,$,Z)=>E$(q,$,Z)===0;A1.exports=A$});var L0=D((g7,x1)=>{var x$=T(),R$=(q,$,Z)=>x$(q,$,Z)!==0;x1.exports=R$});var f6=D((u7,R1)=>{var K$=T(),P$=(q,$,Z)=>K$(q,$,Z)>=0;R1.exports=P$});var v6=D((m7,K1)=>{var M$=T(),T$=(q,$,Z)=>M$(q,$,Z)<=0;K1.exports=T$});var C0=D((d7,P1)=>{var I$=z0(),k$=L0(),b$=H6(),h$=f6(),f$=h6(),v$=v6(),y$=(q,$,Z,Q)=>{switch($){case"===":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q===Z;case"!==":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q!==Z;case"":case"=":case"==":return I$(q,Z,Q);case"!=":return k$(q,Z,Q);case">":return b$(q,Z,Q);case">=":return h$(q,Z,Q);case"<":return f$(q,Z,Q);case"<=":return v$(q,Z,Q);default:throw TypeError(`Invalid operator: ${$}`)}};P1.exports=y$});var T1=D((c7,M1)=>{var g$=S(),u$=c(),{safeRe:y6,t:g6}=e(),m$=(q,$)=>{if(q instanceof g$)return q;if(typeof q==="number")q=String(q);if(typeof q!=="string")return null;$=$||{};let Z=null;if(!$.rtl)Z=q.match($.includePrerelease?y6[g6.COERCEFULL]:y6[g6.COERCE]);else{let V=$.includePrerelease?y6[g6.COERCERTLFULL]:y6[g6.COERCERTL],F;while((F=V.exec(q))&&(!Z||Z.index+Z[0].length!==q.length)){if(!Z||F.index+F[0].length!==Z.index+Z[0].length)Z=F;V.lastIndex=F.index+F[1].length+F[2].length}V.lastIndex=-1}if(Z===null)return null;let Q=Z[2],J=Z[3]||"0",W=Z[4]||"0",H=$.includePrerelease&&Z[5]?`-${Z[5]}`:"",Y=$.includePrerelease&&Z[6]?`+${Z[6]}`:"";return u$(`${Q}.${J}.${W}${H}${Y}`,$)};M1.exports=m$});var b1=D((l7,k1)=>{class I1{constructor(){this.max=1000,this.map=new Map}get(q){let $=this.map.get(q);if($===void 0)return;else return this.map.delete(q),this.map.set(q,$),$}delete(q){return this.map.delete(q)}set(q,$){if(!this.delete(q)&&$!==void 0){if(this.map.size>=this.max){let Q=this.map.keys().next().value;this.delete(Q)}this.map.set(q,$)}return this}}k1.exports=I1});var I=D((p7,y1)=>{var d$=/\s+/g;class Y6{constructor(q,$){if($=l$($),q instanceof Y6)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else return new Y6(q.raw,$);if(q instanceof _0)return this.raw=q.value,this.set=[[q]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=q.trim().replace(d$," "),this.set=this.raw.split("||").map((Z)=>this.parseRange(Z.trim())).filter((Z)=>Z.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Z=this.set[0];if(this.set=this.set.filter((Q)=>!f1(Q[0])),this.set.length===0)this.set=[Z];else if(this.set.length>1){for(let Q of this.set)if(Q.length===1&&a$(Q[0])){this.set=[Q];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let q=0;q<this.set.length;q++){if(q>0)this.formatted+="||";let $=this.set[q];for(let Z=0;Z<$.length;Z++){if(Z>0)this.formatted+=" ";this.formatted+=$[Z].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(q){let Z=((this.options.includePrerelease&&r$)|(this.options.loose&&t$))+":"+q,Q=h1.get(Z);if(Q)return Q;let J=this.options.loose,W=J?A[E.HYPHENRANGELOOSE]:A[E.HYPHENRANGE];q=q.replace(W,YZ(this.options.includePrerelease)),N("hyphen replace",q),q=q.replace(A[E.COMPARATORTRIM],n$),N("comparator trim",q),q=q.replace(A[E.TILDETRIM],i$),N("tilde trim",q),q=q.replace(A[E.CARETTRIM],s$),N("caret trim",q);let H=q.split(" ").map((U)=>o$(U,this.options)).join(" ").split(/\s+/).map((U)=>HZ(U,this.options));if(J)H=H.filter((U)=>{return N("loose invalid filter",U,this.options),!!U.match(A[E.COMPARATORLOOSE])});N("range list",H);let Y=new Map,V=H.map((U)=>new _0(U,this.options));for(let U of V){if(f1(U))return[U];Y.set(U.value,U)}if(Y.size>1&&Y.has(""))Y.delete("");let F=[...Y.values()];return h1.set(Z,F),F}intersects(q,$){if(!(q instanceof Y6))throw TypeError("a Range is required");return this.set.some((Z)=>{return v1(Z,$)&&q.set.some((Q)=>{return v1(Q,$)&&Z.every((J)=>{return Q.every((W)=>{return J.intersects(W,$)})})})})}test(q){if(!q)return!1;if(typeof q==="string")try{q=new p$(q,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(FZ(this.set[$],q,this.options))return!0;return!1}}y1.exports=Y6;var c$=b1(),h1=new c$,l$=P6(),_0=F6(),N=W6(),p$=S(),{safeRe:A,t:E,comparatorTrimReplace:n$,tildeTrimReplace:i$,caretTrimReplace:s$}=e(),{FLAG_INCLUDE_PRERELEASE:r$,FLAG_LOOSE:t$}=J6(),f1=(q)=>q.value==="<0.0.0-0",a$=(q)=>q.value==="",v1=(q,$)=>{let Z=!0,Q=q.slice(),J=Q.pop();while(Z&&Q.length)Z=Q.every((W)=>{return J.intersects(W,$)}),J=Q.pop();return Z},o$=(q,$)=>{return q=q.replace(A[E.BUILD],""),N("comp",q,$),q=$Z(q,$),N("caret",q),q=e$(q,$),N("tildes",q),q=QZ(q,$),N("xrange",q),q=WZ(q,$),N("stars",q),q},x=(q)=>!q||q.toLowerCase()==="x"||q==="*",e$=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>qZ(Z,$)).join(" ")},qZ=(q,$)=>{let Z=$.loose?A[E.TILDELOOSE]:A[E.TILDE];return q.replace(Z,(Q,J,W,H,Y)=>{N("tilde",q,Q,J,W,H,Y);let V;if(x(J))V="";else if(x(W))V=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(x(H))V=`>=${J}.${W}.0 <${J}.${+W+1}.0-0`;else if(Y)N("replaceTilde pr",Y),V=`>=${J}.${W}.${H}-${Y} <${J}.${+W+1}.0-0`;else V=`>=${J}.${W}.${H} <${J}.${+W+1}.0-0`;return N("tilde return",V),V})},$Z=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>ZZ(Z,$)).join(" ")},ZZ=(q,$)=>{N("caret",q,$);let Z=$.loose?A[E.CARETLOOSE]:A[E.CARET],Q=$.includePrerelease?"-0":"";return q.replace(Z,(J,W,H,Y,V)=>{N("caret",q,J,W,H,Y,V);let F;if(x(W))F="";else if(x(H))F=`>=${W}.0.0${Q} <${+W+1}.0.0-0`;else if(x(Y))if(W==="0")F=`>=${W}.${H}.0${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.0${Q} <${+W+1}.0.0-0`;else if(V)if(N("replaceCaret pr",V),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}-${V} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}-${V} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y}-${V} <${+W+1}.0.0-0`;else if(N("no pr"),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}${Q} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y} <${+W+1}.0.0-0`;return N("caret return",F),F})},QZ=(q,$)=>{return N("replaceXRanges",q,$),q.split(/\s+/).map((Z)=>JZ(Z,$)).join(" ")},JZ=(q,$)=>{q=q.trim();let Z=$.loose?A[E.XRANGELOOSE]:A[E.XRANGE];return q.replace(Z,(Q,J,W,H,Y,V)=>{N("xRange",q,Q,J,W,H,Y,V);let F=x(W),U=F||x(H),G=U||x(Y),_=G;if(J==="="&&_)J="";if(V=$.includePrerelease?"-0":"",F)if(J===">"||J==="<")Q="<0.0.0-0";else Q="*";else if(J&&_){if(U)H=0;if(Y=0,J===">")if(J=">=",U)W=+W+1,H=0,Y=0;else H=+H+1,Y=0;else if(J==="<=")if(J="<",U)W=+W+1;else H=+H+1;if(J==="<")V="-0";Q=`${J+W}.${H}.${Y}${V}`}else if(U)Q=`>=${W}.0.0${V} <${+W+1}.0.0-0`;else if(G)Q=`>=${W}.${H}.0${V} <${W}.${+H+1}.0-0`;return N("xRange return",Q),Q})},WZ=(q,$)=>{return N("replaceStars",q,$),q.trim().replace(A[E.STAR],"")},HZ=(q,$)=>{return N("replaceGTE0",q,$),q.trim().replace(A[$.includePrerelease?E.GTE0PRE:E.GTE0],"")},YZ=(q)=>($,Z,Q,J,W,H,Y,V,F,U,G,_)=>{if(x(Q))Z="";else if(x(J))Z=`>=${Q}.0.0${q?"-0":""}`;else if(x(W))Z=`>=${Q}.${J}.0${q?"-0":""}`;else if(H)Z=`>=${Z}`;else Z=`>=${Z}${q?"-0":""}`;if(x(F))V="";else if(x(U))V=`<${+F+1}.0.0-0`;else if(x(G))V=`<${F}.${+U+1}.0-0`;else if(_)V=`<=${F}.${U}.${G}-${_}`;else if(q)V=`<${F}.${U}.${+G+1}-0`;else V=`<=${V}`;return`${Z} ${V}`.trim()},FZ=(q,$,Z)=>{for(let Q=0;Q<q.length;Q++)if(!q[Q].test($))return!1;if($.prerelease.length&&!Z.includePrerelease){for(let Q=0;Q<q.length;Q++){if(N(q[Q].semver),q[Q].semver===_0.ANY)continue;if(q[Q].semver.prerelease.length>0){let J=q[Q].semver;if(J.major===$.major&&J.minor===$.minor&&J.patch===$.patch)return!0}}return!1}return!0}});var F6=D((n7,l1)=>{var X6=Symbol("SemVer ANY");class u6{static get ANY(){return X6}constructor(q,$){if($=g1($),q instanceof u6)if(q.loose===!!$.loose)return q;else q=q.value;if(q=q.trim().split(/\s+/).join(" "),N0("comparator",q,$),this.options=$,this.loose=!!$.loose,this.parse(q),this.semver===X6)this.value="";else this.value=this.operator+this.semver.version;N0("comp",this)}parse(q){let $=this.options.loose?u1[m1.COMPARATORLOOSE]:u1[m1.COMPARATOR],Z=q.match($);if(!Z)throw TypeError(`Invalid comparator: ${q}`);if(this.operator=Z[1]!==void 0?Z[1]:"",this.operator==="=")this.operator="";if(!Z[2])this.semver=X6;else this.semver=new d1(Z[2],this.options.loose)}toString(){return this.value}test(q){if(N0("Comparator.test",q,this.options.loose),this.semver===X6||q===X6)return!0;if(typeof q==="string")try{q=new d1(q,this.options)}catch($){return!1}return O0(q,this.operator,this.semver,this.options)}intersects(q,$){if(!(q instanceof u6))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new c1(q.value,$).test(this.value)}else if(q.operator===""){if(q.value==="")return!0;return new c1(this.value,$).test(q.semver)}if($=g1($),$.includePrerelease&&(this.value==="<0.0.0-0"||q.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||q.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&q.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&q.operator.startsWith("<"))return!0;if(this.semver.version===q.semver.version&&this.operator.includes("=")&&q.operator.includes("="))return!0;if(O0(this.semver,"<",q.semver,$)&&this.operator.startsWith(">")&&q.operator.startsWith("<"))return!0;if(O0(this.semver,">",q.semver,$)&&this.operator.startsWith("<")&&q.operator.startsWith(">"))return!0;return!1}}l1.exports=u6;var g1=P6(),{safeRe:u1,t:m1}=e(),O0=C0(),N0=W6(),d1=S(),c1=I()});var U6=D((i7,p1)=>{var XZ=I(),UZ=(q,$,Z)=>{try{$=new XZ($,Z)}catch(Q){return!1}return $.test(q)};p1.exports=UZ});var i1=D((s7,n1)=>{var VZ=I(),GZ=(q,$)=>new VZ(q,$).set.map((Z)=>Z.map((Q)=>Q.value).join(" ").trim().split(" "));n1.exports=GZ});var r1=D((r7,s1)=>{var DZ=S(),wZ=I(),BZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new wZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===-1)Q=H,J=new DZ(Q,Z)}}),Q};s1.exports=BZ});var a1=D((t7,t1)=>{var zZ=S(),LZ=I(),CZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new LZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===1)Q=H,J=new zZ(Q,Z)}}),Q};t1.exports=CZ});var q4=D((a7,e1)=>{var j0=S(),_Z=I(),o1=H6(),OZ=(q,$)=>{q=new _Z(q,$);let Z=new j0("0.0.0");if(q.test(Z))return Z;if(Z=new j0("0.0.0-0"),q.test(Z))return Z;Z=null;for(let Q=0;Q<q.set.length;++Q){let J=q.set[Q],W=null;if(J.forEach((H)=>{let Y=new j0(H.semver.version);switch(H.operator){case">":if(Y.prerelease.length===0)Y.patch++;else Y.prerelease.push(0);Y.raw=Y.format();case"":case">=":if(!W||o1(Y,W))W=Y;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Z||o1(Z,W)))Z=W}if(Z&&q.test(Z))return Z;return null};e1.exports=OZ});var Z4=D((o7,$4)=>{var NZ=I(),jZ=(q,$)=>{try{return new NZ(q,$).range||"*"}catch(Z){return null}};$4.exports=jZ});var m6=D((e7,H4)=>{var SZ=S(),W4=F6(),{ANY:EZ}=W4,AZ=I(),xZ=U6(),Q4=H6(),J4=h6(),RZ=v6(),KZ=f6(),PZ=(q,$,Z,Q)=>{q=new SZ(q,Q),$=new AZ($,Q);let J,W,H,Y,V;switch(Z){case">":J=Q4,W=RZ,H=J4,Y=">",V=">=";break;case"<":J=J4,W=KZ,H=Q4,Y="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(xZ(q,$,Q))return!1;for(let F=0;F<$.set.length;++F){let U=$.set[F],G=null,_=null;if(U.forEach((z)=>{if(z.semver===EZ)z=new W4(">=0.0.0");if(G=G||z,_=_||z,J(z.semver,G.semver,Q))G=z;else if(H(z.semver,_.semver,Q))_=z}),G.operator===Y||G.operator===V)return!1;if((!_.operator||_.operator===Y)&&W(q,_.semver))return!1;else if(_.operator===V&&H(q,_.semver))return!1}return!0};H4.exports=PZ});var F4=D((qW,Y4)=>{var MZ=m6(),TZ=(q,$,Z)=>MZ(q,$,">",Z);Y4.exports=TZ});var U4=D(($W,X4)=>{var IZ=m6(),kZ=(q,$,Z)=>IZ(q,$,"<",Z);X4.exports=kZ});var D4=D((ZW,G4)=>{var V4=I(),bZ=(q,$,Z)=>{return q=new V4(q,Z),$=new V4($,Z),q.intersects($,Z)};G4.exports=bZ});var B4=D((QW,w4)=>{var hZ=U6(),fZ=T();w4.exports=(q,$,Z)=>{let Q=[],J=null,W=null,H=q.sort((U,G)=>fZ(U,G,Z));for(let U of H)if(hZ(U,$,Z)){if(W=U,!J)J=U}else{if(W)Q.push([J,W]);W=null,J=null}if(J)Q.push([J,null]);let Y=[];for(let[U,G]of Q)if(U===G)Y.push(U);else if(!G&&U===H[0])Y.push("*");else if(!G)Y.push(`>=${U}`);else if(U===H[0])Y.push(`<=${G}`);else Y.push(`${U} - ${G}`);let V=Y.join(" || "),F=typeof $.raw==="string"?$.raw:String($);return V.length<F.length?V:$}});var N4=D((JW,O4)=>{var z4=I(),E0=F6(),{ANY:S0}=E0,V6=U6(),A0=T(),vZ=(q,$,Z={})=>{if(q===$)return!0;q=new z4(q,Z),$=new z4($,Z);let Q=!1;q:for(let J of q.set){for(let W of $.set){let H=gZ(J,W,Z);if(Q=Q||H!==null,H)continue q}if(Q)return!1}return!0},yZ=[new E0(">=0.0.0-0")],L4=[new E0(">=0.0.0")],gZ=(q,$,Z)=>{if(q===$)return!0;if(q.length===1&&q[0].semver===S0)if($.length===1&&$[0].semver===S0)return!0;else if(Z.includePrerelease)q=yZ;else q=L4;if($.length===1&&$[0].semver===S0)if(Z.includePrerelease)return!0;else $=L4;let Q=new Set,J,W;for(let z of q)if(z.operator===">"||z.operator===">=")J=C4(J,z,Z);else if(z.operator==="<"||z.operator==="<=")W=_4(W,z,Z);else Q.add(z.semver);if(Q.size>1)return null;let H;if(J&&W){if(H=A0(J.semver,W.semver,Z),H>0)return null;else if(H===0&&(J.operator!==">="||W.operator!=="<="))return null}for(let z of Q){if(J&&!V6(z,String(J),Z))return null;if(W&&!V6(z,String(W),Z))return null;for(let j of $)if(!V6(z,String(j),Z))return!1;return!0}let Y,V,F,U,G=W&&!Z.includePrerelease&&W.semver.prerelease.length?W.semver:!1,_=J&&!Z.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(G&&G.prerelease.length===1&&W.operator==="<"&&G.prerelease[0]===0)G=!1;for(let z of $){if(U=U||z.operator===">"||z.operator===">=",F=F||z.operator==="<"||z.operator==="<=",J){if(_){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===_.major&&z.semver.minor===_.minor&&z.semver.patch===_.patch)_=!1}if(z.operator===">"||z.operator===">="){if(Y=C4(J,z,Z),Y===z&&Y!==J)return!1}else if(J.operator===">="&&!V6(J.semver,String(z),Z))return!1}if(W){if(G){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===G.major&&z.semver.minor===G.minor&&z.semver.patch===G.patch)G=!1}if(z.operator==="<"||z.operator==="<="){if(V=_4(W,z,Z),V===z&&V!==W)return!1}else if(W.operator==="<="&&!V6(W.semver,String(z),Z))return!1}if(!z.operator&&(W||J)&&H!==0)return!1}if(J&&F&&!W&&H!==0)return!1;if(W&&U&&!J&&H!==0)return!1;if(_||G)return!1;return!0},C4=(q,$,Z)=>{if(!q)return $;let Q=A0(q.semver,$.semver,Z);return Q>0?q:Q<0?$:$.operator===">"&&q.operator===">="?$:q},_4=(q,$,Z)=>{if(!q)return $;let Q=A0(q.semver,$.semver,Z);return Q<0?q:Q>0?$:$.operator==="<"&&q.operator==="<="?$:q};O4.exports=vZ});var d6=D((WW,E4)=>{var x0=e(),j4=J6(),uZ=S(),S4=w0(),mZ=c(),dZ=s8(),cZ=t8(),lZ=e8(),pZ=Z1(),nZ=J1(),iZ=H1(),sZ=F1(),rZ=U1(),tZ=T(),aZ=w1(),oZ=z1(),eZ=b6(),qQ=O1(),$Q=j1(),ZQ=H6(),QQ=h6(),JQ=z0(),WQ=L0(),HQ=f6(),YQ=v6(),FQ=C0(),XQ=T1(),UQ=F6(),VQ=I(),GQ=U6(),DQ=i1(),wQ=r1(),BQ=a1(),zQ=q4(),LQ=Z4(),CQ=m6(),_Q=F4(),OQ=U4(),NQ=D4(),jQ=B4(),SQ=N4();E4.exports={parse:mZ,valid:dZ,clean:cZ,inc:lZ,diff:pZ,major:nZ,minor:iZ,patch:sZ,prerelease:rZ,compare:tZ,rcompare:aZ,compareLoose:oZ,compareBuild:eZ,sort:qQ,rsort:$Q,gt:ZQ,lt:QQ,eq:JQ,neq:WQ,gte:HQ,lte:YQ,cmp:FQ,coerce:XQ,Comparator:UQ,Range:VQ,satisfies:GQ,toComparators:DQ,maxSatisfying:wQ,minSatisfying:BQ,minVersion:zQ,validRange:LQ,outside:CQ,gtr:_Q,ltr:OQ,intersects:NQ,simplifyRange:jQ,subset:SQ,SemVer:uZ,re:x0.re,src:x0.src,tokens:x0.t,SEMVER_SPEC_VERSION:j4.SEMVER_SPEC_VERSION,RELEASE_TYPES:j4.RELEASE_TYPES,compareIdentifiers:S4.compareIdentifiers,rcompareIdentifiers:S4.rcompareIdentifiers}});var x4=D((HW,A4)=>{var EQ=d6();A4.exports=EQ.satisfies(process.version,">=15.7.0")});var K4=D((YW,R4)=>{var AQ=d6();R4.exports=AQ.satisfies(process.version,">=16.9.0")});var R0=D((FW,P4)=>{var xQ=x4(),RQ=K4(),KQ={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},PQ={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};P4.exports=function(q,$){if(!q||!$)return;let Z=$.asymmetricKeyType;if(!Z)return;let Q=KQ[Z];if(!Q)throw Error(`Unknown key type "${Z}".`);if(!Q.includes(q))throw Error(`"alg" parameter for "${Z}" key type must be one of: ${Q.join(", ")}.`);if(xQ)switch(Z){case"ec":let J=$.asymmetricKeyDetails.namedCurve,W=PQ[q];if(J!==W)throw Error(`"alg" parameter "${q}" requires curve "${W}".`);break;case"rsa-pss":if(RQ){let H=parseInt(q.slice(-3),10),{hashAlgorithm:Y,mgf1HashAlgorithm:V,saltLength:F}=$.asymmetricKeyDetails;if(Y!==`sha${H}`||V!==Y)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${q}.`);if(F!==void 0&&F>H>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${q}.`)}break}}});var K0=D((XW,M4)=>{var MQ=d6();M4.exports=MQ.satisfies(process.version,"^6.12.0 || >=8.0.0")});var k4=D((UW,I4)=>{var O=Q6(),TQ=X0(),T4=U0(),IQ=F0(),kQ=V0(),bQ=R0(),hQ=K0(),fQ=E6(),{KeyObject:vQ,createSecretKey:yQ,createPublicKey:gQ}=K("crypto"),P0=["RS256","RS384","RS512"],uQ=["ES256","ES384","ES512"],M0=["RS256","RS384","RS512"],mQ=["HS256","HS384","HS512"];if(hQ)P0.splice(P0.length,0,"PS256","PS384","PS512"),M0.splice(M0.length,0,"PS256","PS384","PS512");I4.exports=function(q,$,Z,Q){if(typeof Z==="function"&&!Q)Q=Z,Z={};if(!Z)Z={};Z=Object.assign({},Z);let J;if(Q)J=Q;else J=function(U,G){if(U)throw U;return G};if(Z.clockTimestamp&&typeof Z.clockTimestamp!=="number")return J(new O("clockTimestamp must be a number"));if(Z.nonce!==void 0&&(typeof Z.nonce!=="string"||Z.nonce.trim()===""))return J(new O("nonce must be a non-empty string"));if(Z.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Z.allowInvalidAsymmetricKeyTypes!=="boolean")return J(new O("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Z.clockTimestamp||Math.floor(Date.now()/1000);if(!q)return J(new O("jwt must be provided"));if(typeof q!=="string")return J(new O("jwt must be a string"));let H=q.split(".");if(H.length!==3)return J(new O("jwt malformed"));let Y;try{Y=IQ(q,{complete:!0})}catch(U){return J(U)}if(!Y)return J(new O("invalid token"));let V=Y.header,F;if(typeof $==="function"){if(!Q)return J(new O("verify must be called asynchronous if secret or public key is provided as a callback"));F=$}else F=function(U,G){return G(null,$)};return F(V,function(U,G){if(U)return J(new O("error in secret or public key callback: "+U.message));let _=H[2].trim()!=="";if(!_&&G)return J(new O("jwt signature is required"));if(_&&!G)return J(new O("secret or public key must be provided"));if(!_&&!Z.algorithms)return J(new O('please specify "none" in "algorithms" to verify unsigned tokens'));if(G!=null&&!(G instanceof vQ))try{G=gQ(G)}catch(R){try{G=yQ(typeof G==="string"?Buffer.from(G):G)}catch(R9){return J(new O("secretOrPublicKey is not valid key material"))}}if(!Z.algorithms)if(G.type==="secret")Z.algorithms=mQ;else if(["rsa","rsa-pss"].includes(G.asymmetricKeyType))Z.algorithms=M0;else if(G.asymmetricKeyType==="ec")Z.algorithms=uQ;else Z.algorithms=P0;if(Z.algorithms.indexOf(Y.header.alg)===-1)return J(new O("invalid algorithm"));if(V.alg.startsWith("HS")&&G.type!=="secret")return J(new O(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&G.type!=="public")return J(new O(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Z.allowInvalidAsymmetricKeyTypes)try{bQ(V.alg,G)}catch(R){return J(R)}let z;try{z=fQ.verify(q,Y.header.alg,G)}catch(R){return J(R)}if(!z)return J(new O("invalid signature"));let j=Y.payload;if(typeof j.nbf<"u"&&!Z.ignoreNotBefore){if(typeof j.nbf!=="number")return J(new O("invalid nbf value"));if(j.nbf>W+(Z.clockTolerance||0))return J(new TQ("jwt not active",new Date(j.nbf*1000)))}if(typeof j.exp<"u"&&!Z.ignoreExpiration){if(typeof j.exp!=="number")return J(new O("invalid exp value"));if(W>=j.exp+(Z.clockTolerance||0))return J(new T4("jwt expired",new Date(j.exp*1000)))}if(Z.audience){let R=Array.isArray(Z.audience)?Z.audience:[Z.audience];if(!(Array.isArray(j.aud)?j.aud:[j.aud]).some(function(y0){return R.some(function(t6){return t6 instanceof RegExp?t6.test(y0):t6===y0})}))return J(new O("jwt audience invalid. expected: "+R.join(" or ")))}if(Z.issuer){if(typeof Z.issuer==="string"&&j.iss!==Z.issuer||Array.isArray(Z.issuer)&&Z.issuer.indexOf(j.iss)===-1)return J(new O("jwt issuer invalid. expected: "+Z.issuer))}if(Z.subject){if(j.sub!==Z.subject)return J(new O("jwt subject invalid. expected: "+Z.subject))}if(Z.jwtid){if(j.jti!==Z.jwtid)return J(new O("jwt jwtid invalid. expected: "+Z.jwtid))}if(Z.nonce){if(j.nonce!==Z.nonce)return J(new O("jwt nonce invalid. expected: "+Z.nonce))}if(Z.maxAge){if(typeof j.iat!=="number")return J(new O("iat required when maxAge is specified"));let R=kQ(Z.maxAge,j.iat);if(typeof R>"u")return J(new O('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(W>=R+(Z.clockTolerance||0))return J(new T4("maxAge exceeded",new Date(R*1000)))}if(Z.complete===!0){let R=Y.signature;return J(null,{header:V,payload:j,signature:R})}return J(null,j)})}});var g4=D((VW,y4)=>{var b4=1/0,f4=9007199254740991,dQ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,h4=NaN,cQ="[object Arguments]",lQ="[object Function]",pQ="[object GeneratorFunction]",nQ="[object String]",iQ="[object Symbol]",sQ=/^\s+|\s+$/g,rQ=/^[-+]0x[0-9a-f]+$/i,tQ=/^0b[01]+$/i,aQ=/^0o[0-7]+$/i,oQ=/^(?:0|[1-9]\d*)$/,eQ=parseInt;function q5(q,$){var Z=-1,Q=q?q.length:0,J=Array(Q);while(++Z<Q)J[Z]=$(q[Z],Z,q);return J}function $5(q,$,Z,Q){var J=q.length,W=Z+(Q?1:-1);while(Q?W--:++W<J)if($(q[W],W,q))return W;return-1}function Z5(q,$,Z){if($!==$)return $5(q,Q5,Z);var Q=Z-1,J=q.length;while(++Q<J)if(q[Q]===$)return Q;return-1}function Q5(q){return q!==q}function J5(q,$){var Z=-1,Q=Array(q);while(++Z<q)Q[Z]=$(Z);return Q}function W5(q,$){return q5($,function(Z){return q[Z]})}function H5(q,$){return function(Z){return q($(Z))}}var c6=Object.prototype,I0=c6.hasOwnProperty,l6=c6.toString,Y5=c6.propertyIsEnumerable,F5=H5(Object.keys,Object),X5=Math.max;function U5(q,$){var Z=v4(q)||B5(q)?J5(q.length,String):[],Q=Z.length,J=!!Q;for(var W in q)if(($||I0.call(q,W))&&!(J&&(W=="length"||G5(W,Q))))Z.push(W);return Z}function V5(q){if(!D5(q))return F5(q);var $=[];for(var Z in Object(q))if(I0.call(q,Z)&&Z!="constructor")$.push(Z);return $}function G5(q,$){return $=$==null?f4:$,!!$&&(typeof q=="number"||oQ.test(q))&&(q>-1&&q%1==0&&q<$)}function D5(q){var $=q&&q.constructor,Z=typeof $=="function"&&$.prototype||c6;return q===Z}function w5(q,$,Z,Q){q=k0(q)?q:A5(q),Z=Z&&!Q?j5(Z):0;var J=q.length;if(Z<0)Z=X5(J+Z,0);return _5(q)?Z<=J&&q.indexOf($,Z)>-1:!!J&&Z5(q,$,Z)>-1}function B5(q){return z5(q)&&I0.call(q,"callee")&&(!Y5.call(q,"callee")||l6.call(q)==cQ)}var v4=Array.isArray;function k0(q){return q!=null&&C5(q.length)&&!L5(q)}function z5(q){return b0(q)&&k0(q)}function L5(q){var $=T0(q)?l6.call(q):"";return $==lQ||$==pQ}function C5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=f4}function T0(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function b0(q){return!!q&&typeof q=="object"}function _5(q){return typeof q=="string"||!v4(q)&&b0(q)&&l6.call(q)==nQ}function O5(q){return typeof q=="symbol"||b0(q)&&l6.call(q)==iQ}function N5(q){if(!q)return q===0?q:0;if(q=S5(q),q===b4||q===-b4){var $=q<0?-1:1;return $*dQ}return q===q?q:0}function j5(q){var $=N5(q),Z=$%1;return $===$?Z?$-Z:$:0}function S5(q){if(typeof q=="number")return q;if(O5(q))return h4;if(T0(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=T0($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(sQ,"");var Z=tQ.test(q);return Z||aQ.test(q)?eQ(q.slice(2),Z?2:8):rQ.test(q)?h4:+q}function E5(q){return k0(q)?U5(q):V5(q)}function A5(q){return q?W5(q,E5(q)):[]}y4.exports=w5});var m4=D((GW,u4)=>{var x5="[object Boolean]",R5=Object.prototype,K5=R5.toString;function P5(q){return q===!0||q===!1||M5(q)&&K5.call(q)==x5}function M5(q){return!!q&&typeof q=="object"}u4.exports=P5});var n4=D((DW,p4)=>{var d4=1/0,T5=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,c4=NaN,I5="[object Symbol]",k5=/^\s+|\s+$/g,b5=/^[-+]0x[0-9a-f]+$/i,h5=/^0b[01]+$/i,f5=/^0o[0-7]+$/i,v5=parseInt,y5=Object.prototype,g5=y5.toString;function u5(q){return typeof q=="number"&&q==l5(q)}function l4(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function m5(q){return!!q&&typeof q=="object"}function d5(q){return typeof q=="symbol"||m5(q)&&g5.call(q)==I5}function c5(q){if(!q)return q===0?q:0;if(q=p5(q),q===d4||q===-d4){var $=q<0?-1:1;return $*T5}return q===q?q:0}function l5(q){var $=c5(q),Z=$%1;return $===$?Z?$-Z:$:0}function p5(q){if(typeof q=="number")return q;if(d5(q))return c4;if(l4(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=l4($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(k5,"");var Z=h5.test(q);return Z||f5.test(q)?v5(q.slice(2),Z?2:8):b5.test(q)?c4:+q}p4.exports=u5});var s4=D((wW,i4)=>{var n5="[object Number]",i5=Object.prototype,s5=i5.toString;function r5(q){return!!q&&typeof q=="object"}function t5(q){return typeof q=="number"||r5(q)&&s5.call(q)==n5}i4.exports=t5});var o4=D((BW,a4)=>{var a5="[object Object]";function o5(q){var $=!1;if(q!=null&&typeof q.toString!="function")try{$=!!(q+"")}catch(Z){}return $}function e5(q,$){return function(Z){return q($(Z))}}var qJ=Function.prototype,r4=Object.prototype,t4=qJ.toString,$J=r4.hasOwnProperty,ZJ=t4.call(Object),QJ=r4.toString,JJ=e5(Object.getPrototypeOf,Object);function WJ(q){return!!q&&typeof q=="object"}function HJ(q){if(!WJ(q)||QJ.call(q)!=a5||o5(q))return!1;var $=JJ(q);if($===null)return!0;var Z=$J.call($,"constructor")&&$.constructor;return typeof Z=="function"&&Z instanceof Z&&t4.call(Z)==ZJ}a4.exports=HJ});var q9=D((zW,e4)=>{var YJ="[object String]",FJ=Object.prototype,XJ=FJ.toString,UJ=Array.isArray;function VJ(q){return!!q&&typeof q=="object"}function GJ(q){return typeof q=="string"||!UJ(q)&&VJ(q)&&XJ.call(q)==YJ}e4.exports=GJ});var W9=D((LW,J9)=>{var DJ="Expected a function",$9=1/0,wJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,Z9=NaN,BJ="[object Symbol]",zJ=/^\s+|\s+$/g,LJ=/^[-+]0x[0-9a-f]+$/i,CJ=/^0b[01]+$/i,_J=/^0o[0-7]+$/i,OJ=parseInt,NJ=Object.prototype,jJ=NJ.toString;function SJ(q,$){var Z;if(typeof $!="function")throw TypeError(DJ);return q=KJ(q),function(){if(--q>0)Z=$.apply(this,arguments);if(q<=1)$=void 0;return Z}}function EJ(q){return SJ(2,q)}function Q9(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function AJ(q){return!!q&&typeof q=="object"}function xJ(q){return typeof q=="symbol"||AJ(q)&&jJ.call(q)==BJ}function RJ(q){if(!q)return q===0?q:0;if(q=PJ(q),q===$9||q===-$9){var $=q<0?-1:1;return $*wJ}return q===q?q:0}function KJ(q){var $=RJ(q),Z=$%1;return $===$?Z?$-Z:$:0}function PJ(q){if(typeof q=="number")return q;if(xJ(q))return Z9;if(Q9(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=Q9($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(zJ,"");var Z=CJ.test(q);return Z||_J.test(q)?OJ(q.slice(2),Z?2:8):LJ.test(q)?Z9:+q}J9.exports=EJ});var w9=D((CW,D9)=>{var H9=V0(),MJ=K0(),TJ=R0(),Y9=E6(),IJ=g4(),p6=m4(),F9=n4(),h0=s4(),U9=o4(),g=q9(),kJ=W9(),{KeyObject:bJ,createSecretKey:hJ,createPrivateKey:fJ}=K("crypto"),V9=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(MJ)V9.splice(3,0,"PS256","PS384","PS512");var vJ={expiresIn:{isValid:function(q){return F9(q)||g(q)&&q},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(q){return F9(q)||g(q)&&q},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(q){return g(q)||Array.isArray(q)},message:'"audience" must be a string or array'},algorithm:{isValid:IJ.bind(null,V9),message:'"algorithm" must be a valid string enum value'},header:{isValid:U9,message:'"header" must be an object'},encoding:{isValid:g,message:'"encoding" must be a string'},issuer:{isValid:g,message:'"issuer" must be a string'},subject:{isValid:g,message:'"subject" must be a string'},jwtid:{isValid:g,message:'"jwtid" must be a string'},noTimestamp:{isValid:p6,message:'"noTimestamp" must be a boolean'},keyid:{isValid:g,message:'"keyid" must be a string'},mutatePayload:{isValid:p6,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:p6,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:p6,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},yJ={iat:{isValid:h0,message:'"iat" should be a number of seconds'},exp:{isValid:h0,message:'"exp" should be a number of seconds'},nbf:{isValid:h0,message:'"nbf" should be a number of seconds'}};function G9(q,$,Z,Q){if(!U9(Z))throw Error('Expected "'+Q+'" to be a plain object.');Object.keys(Z).forEach(function(J){let W=q[J];if(!W){if(!$)throw Error('"'+J+'" is not allowed in "'+Q+'"');return}if(!W.isValid(Z[J]))throw Error(W.message)})}function gJ(q){return G9(vJ,!1,q,"options")}function uJ(q){return G9(yJ,!0,q,"payload")}var X9={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},mJ=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];D9.exports=function(q,$,Z,Q){if(typeof Z==="function")Q=Z,Z={};else Z=Z||{};let J=typeof q==="object"&&!Buffer.isBuffer(q),W=Object.assign({alg:Z.algorithm||"HS256",typ:J?"JWT":void 0,kid:Z.keyid},Z.header);function H(F){if(Q)return Q(F);throw F}if(!$&&Z.algorithm!=="none")return H(Error("secretOrPrivateKey must have a value"));if($!=null&&!($ instanceof bJ))try{$=fJ($)}catch(F){try{$=hJ(typeof $==="string"?Buffer.from($):$)}catch(U){return H(Error("secretOrPrivateKey is not valid key material"))}}if(W.alg.startsWith("HS")&&$.type!=="secret")return H(Error(`secretOrPrivateKey must be a symmetric key when using ${W.alg}`));else if(/^(?:RS|PS|ES)/.test(W.alg)){if($.type!=="private")return H(Error(`secretOrPrivateKey must be an asymmetric key when using ${W.alg}`));if(!Z.allowInsecureKeySizes&&!W.alg.startsWith("ES")&&$.asymmetricKeyDetails!==void 0&&$.asymmetricKeyDetails.modulusLength<2048)return H(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`))}if(typeof q>"u")return H(Error("payload is required"));else if(J){try{uJ(q)}catch(F){return H(F)}if(!Z.mutatePayload)q=Object.assign({},q)}else{let F=mJ.filter(function(U){return typeof Z[U]<"u"});if(F.length>0)return H(Error("invalid "+F.join(",")+" option for "+typeof q+" payload"))}if(typeof q.exp<"u"&&typeof Z.expiresIn<"u")return H(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof q.nbf<"u"&&typeof Z.notBefore<"u")return H(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{gJ(Z)}catch(F){return H(F)}if(!Z.allowInvalidAsymmetricKeyTypes)try{TJ(W.alg,$)}catch(F){return H(F)}let Y=q.iat||Math.floor(Date.now()/1000);if(Z.noTimestamp)delete q.iat;else if(J)q.iat=Y;if(typeof Z.notBefore<"u"){try{q.nbf=H9(Z.notBefore,Y)}catch(F){return H(F)}if(typeof q.nbf>"u")return H(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Z.expiresIn<"u"&&typeof q==="object"){try{q.exp=H9(Z.expiresIn,Y)}catch(F){return H(F)}if(typeof q.exp>"u")return H(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(X9).forEach(function(F){let U=X9[F];if(typeof Z[F]<"u"){if(typeof q[U]<"u")return H(Error('Bad "options.'+F+'" option. The payload already has an "'+U+'" property.'));q[U]=Z[F]}});let V=Z.encoding||"utf8";if(typeof Q==="function")Q=Q&&kJ(Q),Y9.createSign({header:W,privateKey:$,payload:q,encoding:V}).once("error",Q).once("done",function(F){if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)return Q(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`));Q(null,F)});else{let F=Y9.sign({header:W,payload:q,secret:$,encoding:V});if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`);return F}}});var z9=D((_W,B9)=>{B9.exports={decode:F0(),verify:k4(),sign:w9(),JsonWebTokenError:Q6(),NotBeforeError:X0(),TokenExpiredError:U0()}});var PH=a6(g0(),1);function P2(q="",$){return(Z)=>{let Q=q.trim();if(Q&&!Q.startsWith("/"))Q="/"+Q;if(Q.endsWith("/"))Q=Q.slice(0,-1);C.defineController(Z,{prefix:Q,middleware:$?.middleware||[]})}}function p(q){return($="")=>{return(Z,Q)=>{let J=$.trim();if(J&&!J.startsWith("/"))J="/"+J;let W=Reflect.getMetadata("route:middleware",Z,Q)||[];C.defineRoute(Z,Q,{method:q,path:J,middleware:W,parameters:[],dependencies:[],responses:[]})}}}var M2=p("GET"),T2=p("POST"),I2=p("PUT"),k2=p("DELETE"),b2=p("PATCH"),h2=p("ALL");function K9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"body",schema:q,required:!0};C.defineParameter($,Z,Q,J)}}function P9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"param",name:q,required:!0};C.defineParameter($,Z,Q,J)}}function M9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"header",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function T9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"cookie",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function I9(){return(q,$,Z)=>{if(!$)return;let Q={index:Z,type:"context",required:!0};C.defineParameter(q,$,Z,Q)}}function u2(q,$="request"){return(Z,Q,J)=>{if(Q===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");C.defineDependency(Z,Q,J,{index:J,provider:q,scope:$})}}function d2(...q){return($,Z)=>{let Q=Reflect.getMetadata("route:middleware",$,Z)||[];Reflect.defineMetadata("route:middleware",[...Q,...q],$,Z)}}function p2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z);C.defineRoute($,Z,{...Q,docs:{...Q?.docs,...q}})}}function n2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z),J=Q?.responses||[],W=J.findIndex((Y)=>Y.statusCode===q.statusCode),H;if(W>=0)H=[...J],H[W]=q;else H=[...J,q];C.defineRoute($,Z,{...Q,responses:H})}}var s2=a6(g0(),1);function t2(q){return($)=>{C.defineWebSocket($,{path:q})}}function a2(){return(q,$)=>{C.defineWebSocketHandler(q,$,{type:"connect",method:$})}}function o2(q){return($,Z)=>{C.defineWebSocketHandler($,Z,{type:"message",method:Z,schema:q})}}function e2(){return(q,$)=>{C.defineWebSocketHandler(q,$,{type:"disconnect",method:$})}}var u=a6(z9(),1);class f0{config;blacklistedTokens=new Set;constructor(q){this.config=q;if(!q.secret)throw Error("JWT secret is required")}generateTokens(q){let $=Math.floor(Date.now()/1000),Z=this.parseExpiration(this.config.expiresIn||"1h"),Q={sub:q.sub,...q,iat:$,exp:$+Z,iss:this.config.issuer,aud:this.config.audience},J=u.sign(Q,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),W={sub:q.sub,type:"refresh",iat:$,exp:$+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},H=u.sign(W,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:J,refreshToken:H,expiresIn:Z}}verifyAccessToken(q){if(this.isBlacklisted(q))throw Error("Token has been revoked");try{return u.verify(q,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch($){if($ instanceof Error)throw Error(`Invalid token: ${$.message}`);throw Error("Invalid token")}}verifyRefreshToken(q){if(this.isBlacklisted(q))throw Error("Refresh token has been revoked");try{let $=u.verify(q,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if($.type!=="refresh")throw Error("Invalid refresh token type");return $}catch($){if($ instanceof Error)throw Error(`Invalid refresh token: ${$.message}`);throw Error("Invalid refresh token")}}refreshAccessToken(q){let $=this.verifyRefreshToken(q);return this.blacklistToken(q),this.generateTokens({sub:$.sub,...Object.fromEntries(Object.entries($).filter(([Z])=>!["iat","exp","iss","aud","type"].includes(Z)))})}decodeToken(q){try{return u.decode(q)}catch{return null}}blacklistToken(q){this.blacklistedTokens.add(q)}isBlacklisted(q){return this.blacklistedTokens.has(q)}cleanupBlacklist(){let q=Math.floor(Date.now()/1000);for(let $ of this.blacklistedTokens){let Z=this.decodeToken($);if(Z&&Z.exp&&Z.exp<q)this.blacklistedTokens.delete($)}}parseExpiration(q){if(typeof q==="number")return q;let $={s:1,m:60,h:3600,d:86400,w:604800},Z=q.match(/^(\d+)([smhdw])$/);if(!Z)throw Error(`Invalid expiration format: ${q}`);let[,Q,J]=Z;return parseInt(Q)*$[J]}}var NW=X.object({sub:X.string(),iat:X.number().optional(),exp:X.number().optional(),iss:X.string().optional(),aud:X.string().optional()}).passthrough(),jW=X.object({username:X.string().min(1),password:X.string().min(1)}),SW=X.object({refreshToken:X.string().min(1)});class i6{config;userProvider;jwtProvider;constructor(q,$){this.config=q;this.userProvider=$;this.jwtProvider=new f0(q)}async login(q,$){let Z=await this.userProvider.findByCredentials(q,$);if(!Z)throw new h("Invalid credentials");let Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles||[],permissions:Z.permissions||[]});return{user:Z,tokens:Q}}async refresh(q){try{return this.jwtProvider.refreshAccessToken(q)}catch($){throw new n6($ instanceof Error?$.message:"Invalid refresh token")}}async logout(q,$){if(this.jwtProvider.blacklistToken(q),$)this.jwtProvider.blacklistToken($)}async verifyToken(q){try{let $=this.jwtProvider.verifyAccessToken(q),Z=await this.userProvider.findById($.sub);if(!Z)throw new h("User not found");return Z}catch($){if($ instanceof Error){if($.message.includes("expired"))throw new L9;throw new n6($.message)}throw new n6("Token verification failed")}}getUserFromToken(q){return this.jwtProvider.verifyAccessToken(q)}hasRoles(q,$){let Z=q.roles||[];return $.every((Q)=>Z.includes(Q))}hasPermissions(q,$){let Z=q.permissions||[];return $.every((Q)=>Z.includes(Q))}async register(q){let $=await this.userProvider.hashPassword(q.password),Z={id:crypto.randomUUID(),username:q.username,email:q.email,roles:q.roles||["user"]},Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles});return{user:Z,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class dJ{users=new Map;async findByCredentials(q,$){for(let[Z,Q]of this.users)if(Q.username===q){if(await this.verifyPassword($,Q.passwordHash)){let{passwordHash:W,...H}=Q;return H}}return null}async findById(q){let $=this.users.get(q);if($){let{passwordHash:Z,...Q}=$;return Q}return null}async hashPassword(q){return Buffer.from(q).toString("base64")}async verifyPassword(q,$){return await this.hashPassword(q)===$}async createUser(q){let $=crypto.randomUUID(),Z=await this.hashPassword(q.password),Q={id:$,username:q.username,email:q.email,roles:q.roles||["user"],passwordHash:Z};this.users.set($,Q);let{passwordHash:J,...W}=Q;return W}}class G6{roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole(q){if(this.roles.set(q.name,q),q.inherits&&q.inherits.length>0)this.hierarchy.set(q.name,q.inherits);this.compiledPermissions.clear()}defineRoles(q){for(let $ of q)this.defineRole($)}getRolePermissions(q){if(this.compiledPermissions.has(q))return Array.from(this.compiledPermissions.get(q));let $=new Set;return this.collectPermissions(q,$,new Set),this.compiledPermissions.set(q,$),Array.from($)}roleHasPermission(q,$){return this.getRolePermissions(q).includes($)}userHasPermission(q,$){for(let Z of q)if(this.roleHasPermission(Z,$))return!0;return!1}userHasRoles(q,$){return $.every((Z)=>q.includes(Z))}userHasAnyRole(q,$){return $.some((Z)=>q.includes(Z))}getRolesWithPermission(q){let $=[];for(let Z of this.roles.keys())if(this.roleHasPermission(Z,q))$.push(Z);return $}getRoleHierarchy(q){let $=[];return this.collectParentRoles(q,$,new Set),$}roleInheritsFrom(q,$){return this.getRoleHierarchy(q).includes($)}getAllRoles(){return Array.from(this.roles.values())}getRole(q){return this.roles.get(q)}roleExists(q){return this.roles.has(q)}validateRoles(q){let $=[],Z=[];for(let Q of q)if(this.roleExists(Q))$.push(Q);else Z.push(Q);return{valid:$,invalid:Z}}getEffectiveRoles(q){let $=new Set;for(let Z of q)$.add(Z),this.getRoleHierarchy(Z).forEach((J)=>$.add(J));return Array.from($)}compareRoleLevels(q,$){let Z=this.getRole(q),Q=this.getRole($),J=Z?.level??0,W=Q?.level??0;return J-W}getHighestRoleLevel(q){let $=0;for(let Z of q){let Q=this.getRole(Z);if(Q&&Q.level&&Q.level>$)$=Q.level}return $}collectPermissions(q,$,Z){if(Z.has(q))throw Error(`Circular role inheritance detected: ${q}`);Z.add(q);let Q=this.roles.get(q);if(!Q)throw Error(`Role not found: ${q}`);Q.permissions.forEach((W)=>$.add(W));let J=this.hierarchy.get(q)||[];for(let W of J)this.collectPermissions(W,$,new Set(Z))}collectParentRoles(q,$,Z){if(Z.has(q))return;Z.add(q);let Q=this.hierarchy.get(q)||[];for(let J of Q)$.push(J),this.collectParentRoles(J,$,Z)}}function C9(){let q=new G6;return q.defineRoles([{name:"guest",description:"Guest user with minimal permissions",permissions:["read:public"],level:1},{name:"user",description:"Regular authenticated user",permissions:["read:own","write:own","read:public"],inherits:["guest"],level:10},{name:"moderator",description:"Moderator with content management permissions",permissions:["read:all","write:all","moderate:content"],inherits:["user"],level:50},{name:"admin",description:"Administrator with full system access",permissions:["*"],inherits:["moderator"],level:100},{name:"super-admin",description:"Super administrator with unrestricted access",permissions:["*","system:*"],inherits:["admin"],level:1000}]),q}var IW=X.object({name:X.string().min(1),description:X.string().optional(),permissions:X.array(X.string()),inherits:X.array(X.string()).optional(),level:X.number().optional()}),kW=X.object({userId:X.string(),roles:X.array(X.string())}),bW=X.object({userId:X.string(),permission:X.string()});class D6{static matches(q,$){if($==="*")return!0;if($.endsWith("*")){let Z=$.slice(0,-1);return q.startsWith(Z)}return q===$}static hasPermission(q,$){return q.some((Z)=>this.matches($,Z))}static filterByPattern(q,$){return q.filter((Z)=>this.matches(Z,$))}}function vW(q){return($,Z)=>{let Q={required:!q?.optional,config:q};C.defineAuth($,Z,Q)}}function yW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-user",required:!1})}}function gW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"token",required:!1})}}function _9(q){return async($,Z)=>{let Q=$.req.header("Authorization");if(!Q||!Q.startsWith("Bearer "))$.set("auth.error","Missing or invalid Authorization header"),$.set("auth.authenticated",!1);else{let J=Q.substring(7);try{let W=q.verifyAccessToken(J);$.set("auth.user",W),$.set("auth.token",J),$.set("auth.authenticated",!0)}catch(W){$.set("auth.error",W instanceof Error?W.message:"Authentication failed"),$.set("auth.authenticated",!1)}}await Z()}}function l(q){return q.get("auth.user")||null}function O9(q){return q.get("auth.token")||null}function uW(q){return q.get("auth.authenticated")===!0}function mW(q){return q.get("auth.error")||null}function cJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{roles:q,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...q}};C.defineRoles($,Z,J)}}function lJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{permissions:q,requireAll:!1}:{requireAll:!1,...q}};C.definePermissions($,Z,J)}}function N9(q){return cJ([q])}function sW(q){return lJ([q])}function rW(){return N9("admin")}function tW(){return N9("super-admin")}function aW(q){return($,Z)=>{C.defineMinimumRole($,Z,{roleName:q})}}function j9(q){return async($,Z)=>{$.set("rbac",q),await Z()}}class s6{rbac;constructor(q){this.rbac=q}checkRoles(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role check");let Q=Z.roles||[],J=$.allowInherited?this.rbac.getEffectiveRoles(Q):Q,W;if($.requireAll)W=$.roles.every((H)=>J.includes(H));else W=$.roles.some((H)=>J.includes(H));if(!W){let H=$.requireAll?"all":"any";throw new P(`Access denied. Required ${H} of roles: ${$.roles.join(", ")}`)}}checkPermissions(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for permission check");let Q=Z.roles||[],J=new Set;for(let Y of Q)this.rbac.getRolePermissions(Y).forEach((F)=>J.add(F));let W=Array.from(J),H;if($.requireAll)H=$.permissions.every((Y)=>D6.hasPermission(W,Y));else H=$.permissions.some((Y)=>D6.hasPermission(W,Y));if(!H){let Y=$.requireAll?"all":"any";throw new P(`Access denied. Required ${Y} of permissions: ${$.permissions.join(", ")}`)}}checkMinimumRole(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role level check");let Q=Z.roles||[],J=this.rbac.getHighestRoleLevel(Q),W=this.rbac.getRole($);if(!W)throw Error(`Required role not found: ${$}`);let H=W.level||0;if(J<H)throw new P(`Access denied. Minimum role level required: ${$} (level ${H})`)}}function pJ(q){return q.get("rbac")||null}function S9(q){return l(q)?.roles||[]}function nJ(q){let $=pJ(q),Z=S9(q);if(!$)return[];let Q=new Set;for(let J of Z)$.getRolePermissions(J).forEach((H)=>Q.add(H));return Array.from(Q)}function oW(q,$){return S9(q).includes($)}function eW(q,$){let Z=nJ(q);return D6.hasPermission(Z,$)}class iJ{config;name="rbac";version="1.0.0";dependencies=["auth"];rbac;guard;constructor(q={}){this.config=q;if(q.rbac)this.rbac=q.rbac;else if(q.useDefaults!==!1)this.rbac=C9();else this.rbac=new G6;if(q.roles)this.rbac.defineRoles(q.roles);this.guard=new s6(this.rbac)}async install(q){let $=j9(this.rbac);if(q.use($),q.getContainer().register(G6,{factory:()=>this.rbac,scope:"singleton"}),q.getContainer().register(s6,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler(q),this.config.enableManagementRoutes!==!1)this.addManagementRoutes(q)}extendRouterCompiler(q){let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getMetadata().getRoutes();for(let Q of Z)if(Q.roles||Q.permissions||Q.minimumRole)this.addRBACGuards(q,Q)}}addRBACGuards(q,$){}addManagementRoutes(q){let $=this.config.routes||{};q.get($.roles||"/rbac/roles",{handler:(Z)=>{let Q=this.rbac.getAllRoles();return Z.json({success:!0,roles:Q.map((J)=>({name:J.name,description:J.description,permissions:J.permissions,inherits:J.inherits,level:J.level}))})}}),q.get("/rbac/roles/:roleName",{handler:(Z)=>{let Q=Z.req.param("roleName"),J=this.rbac.getRole(Q);if(!J)return Z.json({error:"Role not found"},404);let W=this.rbac.getRolePermissions(Q),H=this.rbac.getRoleHierarchy(Q);return Z.json({success:!0,role:{...J,effectivePermissions:W,hierarchy:H}})}}),q.get("/rbac/roles/:roleName/permissions",{handler:(Z)=>{let Q=Z.req.param("roleName");if(!this.rbac.roleExists(Q))return Z.json({error:"Role not found"},404);let J=this.rbac.getRolePermissions(Q);return Z.json({success:!0,role:Q,permissions:J})}}),q.post("/rbac/check-permission",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J,permission:W}=Q;if(!Array.isArray(J)||!W)return Z.json({error:"Invalid request body"},400);let H=this.rbac.userHasPermission(J,W);return Z.json({success:!0,hasPermission:H,roles:J,permission:W})}}),q.post("/rbac/check-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{userRoles:J,requiredRoles:W,requireAll:H=!1}=Q;if(!Array.isArray(J)||!Array.isArray(W))return Z.json({error:"Invalid request body"},400);let Y=H?this.rbac.userHasRoles(J,W):this.rbac.userHasAnyRole(J,W);return Z.json({success:!0,hasRoles:Y,userRoles:J,requiredRoles:W,requireAll:H})}}),q.post("/rbac/effective-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=this.rbac.getEffectiveRoles(J);return Z.json({success:!0,inputRoles:J,effectiveRoles:W})}}),q.post("/rbac/user-permissions",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=new Set;for(let H of J)if(this.rbac.roleExists(H))this.rbac.getRolePermissions(H).forEach((V)=>W.add(V));return Z.json({success:!0,roles:J,permissions:Array.from(W)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}class sJ{config;name="auth";version="1.0.0";authService;constructor(q){this.config=q;this.authService=new i6(q.jwt,q.userProvider)}async install(q){let $=_9(this.authService.getJWTProvider());if(q.use($),q.getContainer().register(i6,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes(q);this.extendRouterCompiler(q)}extendRouterCompiler(q){q.use(async(Z,Q)=>{Z.set("authService",this.authService),await Q()});let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getHono(),Q=q.getMetadata().getRoutes();for(let J of Q){let W=C.getAuthMetadata(J.target.prototype,J.propertyKey);if(J.auth?.required||W?.required){console.log("Adding auth middleware for route:",J.path,J.method);let Y=J.auth?.config||W?.config;Z.use(J.path,async(V,F)=>{if(console.log("Auth middleware executing for:",V.req.path,V.req.method,"target:",J.path,J.method),V.req.method!==J.method)return console.log("Method mismatch, skipping auth check"),F();console.log("Checking authentication...");let U=V.get("auth.user"),G=V.get("auth.error");if(!U){let _=G||"Authentication required";throw console.log("No user found, throwing auth exception"),new h(_)}if(Y?.roles?.length){if(!this.authService.hasRoles(U,Y.roles))throw new P(`Required roles: ${Y.roles.join(", ")}`)}if(Y?.permissions?.length){if(!this.authService.hasPermissions(U,Y.permissions))throw new P(`Required permissions: ${Y.permissions.join(", ")}`)}await F()})}}}}buildPath(q){return q.path}pathMatches(q,$){let Z=q.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Z}$`).test($)}addDefaultRoutes(q){let $=this.config.routes||{};if(q.post($.login||"/auth/login",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W}=Q;try{let H=await this.authService.login(J,W);return{success:!0,user:H.user,tokens:H.tokens}}catch(H){throw new h(H instanceof Error?H.message:"Login failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(1)})}}),q.post($.refresh||"/auth/refresh",{handler:async(Z)=>{let Q=await Z.req.json(),{refreshToken:J}=Q;try{return{success:!0,tokens:await this.authService.refresh(J)}}catch(W){throw new h(W instanceof Error?W.message:"Token refresh failed")}},schema:{body:X.object({refreshToken:X.string().min(1)})}}),q.post($.logout||"/auth/logout",{handler:async(Z)=>{let Q=O9(Z),J=await Z.req.json(),{refreshToken:W}=J;if(Q)await this.authService.logout(Q,W);return{success:!0,message:"Logged out successfully"}},schema:{body:X.object({refreshToken:X.string().optional()})}}),"createUser"in this.config.userProvider)q.post($.register||"/auth/register",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W,email:H}=Q;try{let Y=await this.authService.register({username:J,password:W,email:H});return{success:!0,user:Y.user,tokens:Y.tokens}}catch(Y){throw new h(Y instanceof Error?Y.message:"Registration failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(6),email:X.string().email().optional()})}});q.get("/auth/me",{handler:async(Z)=>{let Q=l(Z);if(!Q)throw new h("Not authenticated");return{success:!0,user:Q}}})}getAuthService(){return this.authService}}var BH=X.object({code:X.string(),state:X.string(),error:X.string().optional(),error_description:X.string().optional()}),zH=X.object({accessToken:X.string(),refreshToken:X.string().optional(),expiresIn:X.number().optional(),tokenType:X.string(),scope:X.string().optional()}),rJ=X.object({id:X.string(),email:X.string().optional(),name:X.string().optional(),username:X.string().optional(),avatar:X.string().optional(),provider:X.string()}).passthrough();function tJ(q){return($,Z)=>{let Q={provider:q.provider,config:q};C.defineOAuth($,Z,Q)}}function aJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-user",required:!0})}}function oJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-token",required:!0})}}function eJ(q){return q.get("oauth.user")||null}function q2(q){return q.get("oauth.token")||null}function $2(q){return q.get("oauth.authenticated")===!0}function Z2(q){return q.get("oauth.provider")||null}class E9{store;config;constructor(q,$){this.store=q;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...$,domain:$.domain}}async createSession(q,$={},Z){let Q=this.config.genid(),J=new Date,W=Z?.maxAge||this.config.maxAge,H={id:Q,userId:q,data:$,createdAt:J,updatedAt:J,expiresAt:new Date(J.getTime()+W),ipAddress:Z?.ipAddress,userAgent:Z?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,H),H}async getSession(q){return await this.store.get(q)}async updateSession(q,$){let Z=await this.store.get(q);if(!Z)return null;if(Z.data={...Z.data,...$},Z.updatedAt=new Date,this.config.rolling)Z.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set(q,Z),Z}async touchSession(q){if(this.config.rolling){let $=await this.store.get(q);if($)$.updatedAt=new Date,$.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set(q,$)}else await this.store.touch(q)}async destroySession(q){await this.store.destroy(q)}async regenerateSession(q){let $=await this.store.get(q);if(!$)return null;let Z=this.config.genid(),Q={...$,id:Z,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Z,Q),await this.store.destroy(q),Q}async getUserSessions(q){return(await this.store.all()).filter((Z)=>Z.userId===q)}async destroyUserSessions(q){let $=await this.getUserSessions(q);for(let Z of $)await this.store.destroy(Z.id)}validateCSRFToken(q,$){return q.csrfToken===$}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let q={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)q.domain=this.config.domain;return q}getConfig(){return{...this.config}}getStore(){return this.store}}var Q2=X.object({id:X.string(),userId:X.string(),data:X.record(X.any()),createdAt:X.date(),updatedAt:X.date(),expiresAt:X.date().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional(),csrfToken:X.string().optional()}),NH=X.object({name:X.string().optional(),secret:X.string(),maxAge:X.number().optional(),secure:X.boolean().optional(),httpOnly:X.boolean().optional(),sameSite:X.enum(["strict","lax","none"]).optional(),domain:X.string().optional(),path:X.string().optional(),rolling:X.boolean().optional()}),jH=X.object({userId:X.string(),data:X.record(X.any()).optional(),maxAge:X.number().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional()}),SH=X.object({data:X.record(X.any())});function J2(q={}){return($,Z)=>{let Q={config:q};C.defineSession($,Z,Q)}}function W2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-session",required:!0})}}function H2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"csrf-token",required:!0})}}function Y2(){return(q,$)=>{C.defineCSRF(q,$,{required:!0})}}function F2(q,$){return async(Z,Q)=>{let J=q.getConfig(),W=A9(Z,J.name),H=null;if(W){if(H=await q.getSession(W),H)await q.touchSession(W)}Z.set("session",H),Z.set("sessionManager",q),Z.set("csrfProtection",$),await Q()}}class x9{sessionManager;csrfProtection;constructor(q,$){this.sessionManager=q;this.csrfProtection=$}checkSession(q,$){let Z=f(q);if($.required&&!Z)throw new h("Session required");if(Z&&$.csrf)this.checkCSRF(q,Z)}checkCSRF(q,$){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Z=q.req.header("X-CSRF-Token")||q.req.query("_csrf");if(!Z)throw new P("CSRF token required");if(!this.csrfProtection.validateToken($.id,Z))throw new P("Invalid CSRF token")}async createSession(q,$,Z={}){let Q=w6(q);if(!Q)throw Error("Session manager not available");let J=q.req.header("X-Forwarded-For")||q.req.header("X-Real-IP")||"unknown",W=q.req.header("User-Agent")||"unknown",H=await Q.createSession($,Z,{ipAddress:J,userAgent:W}),Y=Q.getCookieOptions();return r6(q,Q.getConfig().name,H.id,Y),q.set("session",H),H}async updateSession(q,$){let Z=f(q),Q=w6(q);if(!Z||!Q)return null;let J=await Q.updateSession(Z.id,$);if(J)q.set("session",J);return J}async destroySession(q){let $=f(q),Z=w6(q);if(!$||!Z)return;await Z.destroySession($.id);let Q=Z.getConfig();if(r6(q,Q.name,"",{...Z.getCookieOptions(),maxAge:0}),q.set("session",null),this.csrfProtection)this.csrfProtection.removeToken($.id)}async regenerateSession(q){let $=f(q),Z=w6(q);if(!$||!Z)return null;let Q=await Z.regenerateSession($.id);if(Q){let J=Z.getCookieOptions();if(r6(q,Z.getConfig().name,Q.id,J),q.set("session",Q),this.csrfProtection)this.csrfProtection.removeToken($.id),this.csrfProtection.generateToken(Q.id)}return Q}generateCSRFToken(q){let $=f(q);if(!$||!this.csrfProtection)return null;return this.csrfProtection.generateToken($.id)}}function f(q){return q.get("session")||null}function w6(q){return q.get("sessionManager")||null}function X2(q){return q.get("csrfProtection")||null}function U2(q,$){let Z=f(q);if(!Z)return null;if($)return Z.data[$];return Z.data}function V2(q){return f(q)!==null}function G2(q){return f(q)?.userId||null}function D2(q,$,Z){let Q=f(q);if(Q)Q.data[$]=Z,q.set("session",Q)}function w2(q,$){let Z=f(q);if(Z&&$ in Z.data)delete Z.data[$],q.set("session",Z)}export{A2 as zodToJsonSchema,o3 as zodToGraphQLType,$Y as zodObjectToGraphQLType,ZY as zodObjectToGraphQLInput,X as z,XY as setupTestApp,D2 as setSessionData,w2 as removeSessionData,YY as mockDependency,V2 as isSessionAuthenticated,$2 as isOAuthAuthenticated,e3 as isNullable,uW as isAuthenticated,n3 as hasResolverMetadata,i3 as hasFieldMetadata,S9 as getUserRoles,nJ as getUserPermissions,O9 as getToken,G2 as getSessionUserId,w6 as getSessionManager,U2 as getSessionData,d3 as getResolverMetadata,pJ as getRBACManager,eJ as getOAuthUser,q2 as getOAuthToken,Z2 as getOAuthProvider,c3 as getFieldsMetadata,l3 as getFieldMetadata,qY as getDefaultValue,l as getCurrentUser,f as getCurrentSession,X2 as getCSRFProtection,mW as getAuthError,p3 as getArgumentsMetadata,FY as createTestClient,HY as createTestApp,F2 as createSessionMiddleware,b3 as createRateLimitMiddleware,j9 as createRBACMiddleware,C9 as createDefaultRBAC,k3 as createCorsMiddleware,h3 as createCompressionMiddleware,_9 as createAuthMiddleware,UY as clearMocks,oW as checkUserRole,eW as checkUserPermission,E2 as ZodToJsonSchemaConverter,a3 as WebSocketPlugin,t3 as WebSocketManager,r3 as WebSocketConnection,t2 as WebSocket,v0 as VeloceTS,v0 as Veloce,C2 as ValidationException,_2 as ValidationEngine,d2 as UseMiddleware,P3 as UnauthorizedException,I3 as TokenRevokedException,NW as TokenPayloadSchema,L9 as TokenExpiredException,gW as Token,WY as TestClient,tW as SuperAdminOnly,g3 as Subscription,A3 as StreamResponse,E9 as SessionManager,x9 as SessionGuard,Q2 as SessionDataSchema,J2 as Session,L2 as RouterCompiler,cJ as Roles,IW as RoleSchema,kW as RoleAssignmentSchema,x3 as ResponseSerializer,O3 as Response,f3 as Resolver,N9 as RequireRole,sW as RequirePermission,Y2 as RequireCSRF,SW as RefreshRequestSchema,S3 as RedirectResponse,iJ as RBACPlugin,G6 as RBACManager,s6 as RBACGuard,v3 as Query,I2 as Put,T2 as Post,N2 as PluginManager,lJ as Permissions,D6 as PermissionMatcher,bW as PermissionCheckSchema,b2 as Patch,P9 as Param,s3 as OpenAPIPlugin,x2 as OpenAPIGenerator,o2 as OnMessage,e2 as OnDisconnect,a2 as OnConnect,rJ as OAuthUserSchema,aJ as OAuthUser,oJ as OAuthToken,tJ as OAuth,K3 as NotFoundException,y3 as Mutation,aW as MinimumRole,C as MetadataRegistry,z2 as MetadataCompiler,jW as LoginRequestSchema,f0 as JWTProvider,N3 as JSONResponse,n6 as InvalidTokenException,dJ as InMemoryUserProvider,j2 as HonoAdapter,M9 as Header,R3 as HTTPException,j3 as HTMLResponse,g3 as GraphQLSubscription,QY as GraphQLSchemaBuilder,v3 as GraphQLQuery,JY as GraphQLPlugin,y3 as GraphQLMutation,m3 as GraphQLCtx,M2 as Get,g3 as GQLSubscription,v3 as GQLQuery,y3 as GQLMutation,m3 as GQLContext,M3 as ForbiddenException,E3 as FileResponse,v0 as FastAPITS,S2 as ExpressAdapter,O2 as ErrorHandler,u2 as Depends,k2 as Delete,B2 as DIContainer,yW as CurrentUser,W2 as CurrentSession,I9 as Ctx,T9 as Cookie,P2 as Controller,H2 as CSRFToken,K9 as Body,T3 as BadRequestException,P as AuthorizationException,h as AuthenticationException,i6 as AuthService,sJ as AuthPlugin,vW as Auth,u3 as Arg,n2 as ApiResponse,p2 as ApiDoc,h2 as All,rW as AdminOnly};
5
5
 
6
- //# debugId=B1994FF7D66B484B64756E2164756E21
6
+ //# debugId=B09269424F3CFBE964756E2164756E21