hookery 0.0.1 → 1.0.0

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.
Files changed (98) hide show
  1. package/README.md +72 -11
  2. package/dist/bridges/auth0.d.mts +16 -0
  3. package/dist/bridges/auth0.d.ts +16 -0
  4. package/dist/bridges/auth0.js +3015 -0
  5. package/dist/bridges/auth0.js.map +1 -0
  6. package/dist/bridges/auth0.mjs +2977 -0
  7. package/dist/bridges/auth0.mjs.map +1 -0
  8. package/dist/bridges/axios.d.mts +17 -0
  9. package/dist/bridges/axios.d.ts +17 -0
  10. package/dist/bridges/axios.js +15351 -0
  11. package/dist/bridges/axios.js.map +1 -0
  12. package/dist/bridges/axios.mjs +15347 -0
  13. package/dist/bridges/axios.mjs.map +1 -0
  14. package/dist/bridges/clerk.d.mts +1 -0
  15. package/dist/bridges/clerk.d.ts +1 -0
  16. package/dist/bridges/clerk.js +5991 -0
  17. package/dist/bridges/clerk.js.map +1 -0
  18. package/dist/bridges/clerk.mjs +5985 -0
  19. package/dist/bridges/clerk.mjs.map +1 -0
  20. package/dist/bridges/firebase.d.mts +14 -0
  21. package/dist/bridges/firebase.d.ts +14 -0
  22. package/dist/bridges/firebase.js +52 -0
  23. package/dist/bridges/firebase.js.map +1 -0
  24. package/dist/bridges/firebase.mjs +25 -0
  25. package/dist/bridges/firebase.mjs.map +1 -0
  26. package/dist/bridges/jotai.d.mts +11 -0
  27. package/dist/bridges/jotai.d.ts +11 -0
  28. package/dist/bridges/jotai.js +870 -0
  29. package/dist/bridges/jotai.js.map +1 -0
  30. package/dist/bridges/jotai.mjs +827 -0
  31. package/dist/bridges/jotai.mjs.map +1 -0
  32. package/dist/bridges/motion.d.mts +6 -0
  33. package/dist/bridges/motion.d.ts +6 -0
  34. package/dist/bridges/motion.js +3752 -0
  35. package/dist/bridges/motion.js.map +1 -0
  36. package/dist/bridges/motion.mjs +3721 -0
  37. package/dist/bridges/motion.mjs.map +1 -0
  38. package/dist/bridges/next.d.mts +10 -0
  39. package/dist/bridges/next.d.ts +10 -0
  40. package/dist/bridges/next.js +2588 -0
  41. package/dist/bridges/next.js.map +1 -0
  42. package/dist/bridges/next.mjs +2582 -0
  43. package/dist/bridges/next.mjs.map +1 -0
  44. package/dist/bridges/redux.d.mts +15 -0
  45. package/dist/bridges/redux.d.ts +15 -0
  46. package/dist/bridges/redux.js +410 -0
  47. package/dist/bridges/redux.js.map +1 -0
  48. package/dist/bridges/redux.mjs +402 -0
  49. package/dist/bridges/redux.mjs.map +1 -0
  50. package/dist/bridges/remix.d.mts +1 -0
  51. package/dist/bridges/remix.d.ts +1 -0
  52. package/dist/bridges/remix.js +2215 -0
  53. package/dist/bridges/remix.js.map +1 -0
  54. package/dist/bridges/remix.mjs +2174 -0
  55. package/dist/bridges/remix.mjs.map +1 -0
  56. package/dist/bridges/stripe.d.mts +15 -0
  57. package/dist/bridges/stripe.d.ts +15 -0
  58. package/dist/bridges/stripe.js +1572 -0
  59. package/dist/bridges/stripe.js.map +1 -0
  60. package/dist/bridges/stripe.mjs +1556 -0
  61. package/dist/bridges/stripe.mjs.map +1 -0
  62. package/dist/bridges/supabase.d.mts +13 -0
  63. package/dist/bridges/supabase.d.ts +13 -0
  64. package/dist/bridges/supabase.js +51 -0
  65. package/dist/bridges/supabase.js.map +1 -0
  66. package/dist/bridges/supabase.mjs +24 -0
  67. package/dist/bridges/supabase.mjs.map +1 -0
  68. package/dist/bridges/tanstack.d.mts +3 -0
  69. package/dist/bridges/tanstack.d.ts +3 -0
  70. package/dist/bridges/tanstack.js +1319 -0
  71. package/dist/bridges/tanstack.js.map +1 -0
  72. package/dist/bridges/tanstack.mjs +1281 -0
  73. package/dist/bridges/tanstack.mjs.map +1 -0
  74. package/dist/bridges/yup.d.mts +16 -0
  75. package/dist/bridges/yup.d.ts +16 -0
  76. package/dist/bridges/yup.js +80 -0
  77. package/dist/bridges/yup.js.map +1 -0
  78. package/dist/bridges/yup.mjs +43 -0
  79. package/dist/bridges/yup.mjs.map +1 -0
  80. package/dist/bridges/zod.d.mts +19 -0
  81. package/dist/bridges/zod.d.ts +19 -0
  82. package/dist/bridges/zod.js +66 -0
  83. package/dist/bridges/zod.js.map +1 -0
  84. package/dist/bridges/zod.mjs +39 -0
  85. package/dist/bridges/zod.mjs.map +1 -0
  86. package/dist/bridges/zustand.d.mts +14 -0
  87. package/dist/bridges/zustand.d.ts +14 -0
  88. package/dist/bridges/zustand.js +58 -0
  89. package/dist/bridges/zustand.js.map +1 -0
  90. package/dist/bridges/zustand.mjs +21 -0
  91. package/dist/bridges/zustand.mjs.map +1 -0
  92. package/dist/index.d.mts +3124 -8
  93. package/dist/index.d.ts +3124 -8
  94. package/dist/index.js +4290 -10
  95. package/dist/index.js.map +1 -0
  96. package/dist/index.mjs +4172 -7
  97. package/dist/index.mjs.map +1 -0
  98. package/package.json +131 -6
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/@auth0/auth0-react/node_modules/@auth0/auth0-spa-js/dist/auth0-spa-js.production.esm.js","../../node_modules/@auth0/auth0-react/src/auth-state.tsx","../../node_modules/@auth0/auth0-react/src/auth0-context.tsx","../../node_modules/@auth0/auth0-react/src/errors.tsx","../../node_modules/@auth0/auth0-react/src/utils.tsx","../../node_modules/@auth0/auth0-react/src/reducer.tsx","../../node_modules/@auth0/auth0-react/src/auth0-provider.tsx","../../node_modules/@auth0/auth0-react/src/use-auth0.tsx","../../node_modules/@auth0/auth0-react/src/with-auth0.tsx","../../node_modules/@auth0/auth0-react/src/with-authentication-required.tsx","../../src/bridges/auth0/index.ts"],"sourcesContent":["function e(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}\"function\"==typeof SuppressedError&&SuppressedError;var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},n={},o={};Object.defineProperty(o,\"__esModule\",{value:!0});var r=function(){function e(){var e=this;this.locked=new Map,this.addToLocked=function(t,n){var o=e.locked.get(t);void 0===o?void 0===n?e.locked.set(t,[]):e.locked.set(t,[n]):void 0!==n&&(o.unshift(n),e.locked.set(t,o))},this.isLocked=function(t){return e.locked.has(t)},this.lock=function(t){return new Promise((function(n,o){e.isLocked(t)?e.addToLocked(t,n):(e.addToLocked(t),n())}))},this.unlock=function(t){var n=e.locked.get(t);if(void 0!==n&&0!==n.length){var o=n.pop();e.locked.set(t,n),void 0!==o&&setTimeout(o,0)}else e.locked.delete(t)}}return e.getInstance=function(){return void 0===e.instance&&(e.instance=new e),e.instance},e}();o.default=function(){return r.getInstance()};var i=t&&t.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(a,s)}c((o=o.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},s=t;Object.defineProperty(n,\"__esModule\",{value:!0});var c=o,u={key:function(e){return i(s,void 0,void 0,(function(){return a(this,(function(e){throw new Error(\"Unsupported\")}))}))},getItem:function(e){return i(s,void 0,void 0,(function(){return a(this,(function(e){throw new Error(\"Unsupported\")}))}))},clear:function(){return i(s,void 0,void 0,(function(){return a(this,(function(e){return[2,window.localStorage.clear()]}))}))},removeItem:function(e){return i(s,void 0,void 0,(function(){return a(this,(function(e){throw new Error(\"Unsupported\")}))}))},setItem:function(e,t){return i(s,void 0,void 0,(function(){return a(this,(function(e){throw new Error(\"Unsupported\")}))}))},keySync:function(e){return window.localStorage.key(e)},getItemSync:function(e){return window.localStorage.getItem(e)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(e){return window.localStorage.removeItem(e)},setItemSync:function(e,t){return window.localStorage.setItem(e,t)}};function l(e){return new Promise((function(t){return setTimeout(t,e)}))}function d(e){for(var t=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\",n=\"\",o=0;o<e;o++){n+=t[Math.floor(Math.random()*t.length)]}return n}var h=function(){function e(t){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+d(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=t,void 0===e.waiters&&(e.waiters=[])}return e.prototype.acquireLock=function(t,n){return void 0===n&&(n=5e3),i(this,void 0,void 0,(function(){var o,r,i,s,c,h,p;return a(this,(function(a){switch(a.label){case 0:o=Date.now()+d(4),r=Date.now()+n,i=\"browser-tabs-lock-key-\"+t,s=void 0===this.storageHandler?u:this.storageHandler,a.label=1;case 1:return Date.now()<r?[4,l(30)]:[3,8];case 2:return a.sent(),null!==s.getItemSync(i)?[3,5]:(c=this.id+\"-\"+t+\"-\"+o,[4,l(Math.floor(25*Math.random()))]);case 3:return a.sent(),s.setItemSync(i,JSON.stringify({id:this.id,iat:o,timeoutKey:c,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,l(30)];case 4:return a.sent(),null!==(h=s.getItemSync(i))&&(p=JSON.parse(h)).id===this.id&&p.iat===o?(this.acquiredIatSet.add(o),this.refreshLockWhileAcquired(i,o),[2,!0]):[3,7];case 5:return e.lockCorrector(void 0===this.storageHandler?u:this.storageHandler),[4,this.waitForSomethingToChange(r)];case 6:a.sent(),a.label=7;case 7:return o=Date.now()+d(4),[3,1];case 8:return[2,!1]}}))}))},e.prototype.refreshLockWhileAcquired=function(e,t){return i(this,void 0,void 0,(function(){var n=this;return a(this,(function(o){return setTimeout((function(){return i(n,void 0,void 0,(function(){var n,o,r;return a(this,(function(i){switch(i.label){case 0:return[4,c.default().lock(t)];case 1:return i.sent(),this.acquiredIatSet.has(t)?(n=void 0===this.storageHandler?u:this.storageHandler,null===(o=n.getItemSync(e))?(c.default().unlock(t),[2]):((r=JSON.parse(o)).timeRefreshed=Date.now(),n.setItemSync(e,JSON.stringify(r)),c.default().unlock(t),this.refreshLockWhileAcquired(e,t),[2])):(c.default().unlock(t),[2])}}))}))}),1e3),[2]}))}))},e.prototype.waitForSomethingToChange=function(t){return i(this,void 0,void 0,(function(){return a(this,(function(n){switch(n.label){case 0:return[4,new Promise((function(n){var o=!1,r=Date.now(),i=!1;function a(){if(i||(window.removeEventListener(\"storage\",a),e.removeFromWaiting(a),clearTimeout(s),i=!0),!o){o=!0;var t=50-(Date.now()-r);t>0?setTimeout(n,t):n(null)}}window.addEventListener(\"storage\",a),e.addToWaiting(a);var s=setTimeout(a,Math.max(0,t-Date.now()))}))];case 1:return n.sent(),[2]}}))}))},e.addToWaiting=function(t){this.removeFromWaiting(t),void 0!==e.waiters&&e.waiters.push(t)},e.removeFromWaiting=function(t){void 0!==e.waiters&&(e.waiters=e.waiters.filter((function(e){return e!==t})))},e.notifyWaiters=function(){void 0!==e.waiters&&e.waiters.slice().forEach((function(e){return e()}))},e.prototype.releaseLock=function(e){return i(this,void 0,void 0,(function(){return a(this,(function(t){switch(t.label){case 0:return[4,this.releaseLock__private__(e)];case 1:return[2,t.sent()]}}))}))},e.prototype.releaseLock__private__=function(t){return i(this,void 0,void 0,(function(){var n,o,r,i;return a(this,(function(a){switch(a.label){case 0:return n=void 0===this.storageHandler?u:this.storageHandler,o=\"browser-tabs-lock-key-\"+t,null===(r=n.getItemSync(o))?[2]:(i=JSON.parse(r)).id!==this.id?[3,2]:[4,c.default().lock(i.iat)];case 1:a.sent(),this.acquiredIatSet.delete(i.iat),n.removeItemSync(o),c.default().unlock(i.iat),e.notifyWaiters(),a.label=2;case 2:return[2]}}))}))},e.lockCorrector=function(t){for(var n=Date.now()-5e3,o=t,r=[],i=0;;){var a=o.keySync(i);if(null===a)break;r.push(a),i++}for(var s=!1,c=0;c<r.length;c++){var u=r[c];if(u.includes(\"browser-tabs-lock-key\")){var l=o.getItemSync(u);if(null!==l){var d=JSON.parse(l);(void 0===d.timeRefreshed&&d.timeAcquired<n||void 0!==d.timeRefreshed&&d.timeRefreshed<n)&&(o.removeItemSync(u),s=!0)}}}s&&e.notifyWaiters()},e.waiters=void 0,e}(),p=n.default=h;const f={timeoutInSeconds:60},m={name:\"auth0-spa-js\",version:\"2.12.0\"},y=()=>Date.now();class w extends Error{constructor(e,t){super(t),this.error=e,this.error_description=t,Object.setPrototypeOf(this,w.prototype)}static fromPayload(e){let{error:t,error_description:n}=e;return new w(t,n)}}class g extends w{constructor(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;super(e,t),this.state=n,this.appState=o,Object.setPrototypeOf(this,g.prototype)}}class v extends w{constructor(e,t,n,o){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;super(e,t),this.connection=n,this.state=o,this.appState=r,Object.setPrototypeOf(this,v.prototype)}}class b extends w{constructor(){super(\"timeout\",\"Timeout\"),Object.setPrototypeOf(this,b.prototype)}}class _ extends b{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,_.prototype)}}class k extends w{constructor(e){super(\"cancelled\",\"Popup closed\"),this.popup=e,Object.setPrototypeOf(this,k.prototype)}}class S extends w{constructor(){super(\"popup_open\",\"Unable to open a popup for loginWithPopup - window.open returned `null`\"),Object.setPrototypeOf(this,S.prototype)}}class E extends w{constructor(e,t,n){super(e,t),this.mfa_token=n,Object.setPrototypeOf(this,E.prototype)}}class A extends w{constructor(e,t){super(\"missing_refresh_token\",\"Missing Refresh Token (audience: '\".concat(R(e,[\"default\"]),\"', scope: '\").concat(R(t),\"')\")),this.audience=e,this.scope=t,Object.setPrototypeOf(this,A.prototype)}}class T extends w{constructor(e,t){super(\"missing_scopes\",\"Missing requested scopes after refresh (audience: '\".concat(R(e,[\"default\"]),\"', missing scope: '\").concat(R(t),\"')\")),this.audience=e,this.scope=t,Object.setPrototypeOf(this,T.prototype)}}class P extends w{constructor(e){super(\"use_dpop_nonce\",\"Server rejected DPoP proof: wrong nonce\"),this.newDpopNonce=e,Object.setPrototypeOf(this,P.prototype)}}function R(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&!t.includes(e)?e:\"\"}const I=()=>window.crypto,O=()=>{const e=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.\";let t=\"\";return Array.from(I().getRandomValues(new Uint8Array(43))).forEach((n=>t+=e[n%e.length])),t},x=e=>btoa(e),C=[{key:\"name\",type:[\"string\"]},{key:\"version\",type:[\"string\",\"number\"]},{key:\"env\",type:[\"object\"]}],j=e=>Object.keys(e).reduce(((t,n)=>{const o=C.find((e=>e.key===n));return o&&o.type.includes(typeof e[n])&&(t[n]=e[n]),t}),{}),D=t=>{var{clientId:n}=t,o=e(t,[\"clientId\"]);return new URLSearchParams((e=>Object.keys(e).filter((t=>void 0!==e[t])).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:e[n]})),{}))(Object.assign({client_id:n},o))).toString()},K=async e=>{const t=I().subtle.digest({name:\"SHA-256\"},(new TextEncoder).encode(e));return await t},L=e=>(e=>decodeURIComponent(atob(e).split(\"\").map((e=>\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2))).join(\"\")))(e.replace(/_/g,\"/\").replace(/-/g,\"+\")),U=e=>{const t=new Uint8Array(e);return(e=>{const t={\"+\":\"-\",\"/\":\"_\",\"=\":\"\"};return e.replace(/[+/=]/g,(e=>t[e]))})(window.btoa(String.fromCharCode(...Array.from(t))))},N=new TextEncoder,W=new TextDecoder;function H(e){return\"string\"==typeof e?N.encode(e):W.decode(e)}function z(e){if(\"number\"!=typeof e.modulusLength||e.modulusLength<2048)throw new F(`${e.name} modulusLength must be at least 2048 bits`)}async function J(e,t,n){if(!1===n.usages.includes(\"sign\"))throw new TypeError('private CryptoKey instances used for signing assertions must include \"sign\" in their \"usages\"');const o=`${V(H(JSON.stringify(e)))}.${V(H(JSON.stringify(t)))}`;return`${o}.${V(await crypto.subtle.sign(function(e){switch(e.algorithm.name){case\"ECDSA\":return{name:e.algorithm.name,hash:\"SHA-256\"};case\"RSA-PSS\":return z(e.algorithm),{name:e.algorithm.name,saltLength:32};case\"RSASSA-PKCS1-v1_5\":return z(e.algorithm),{name:e.algorithm.name};case\"Ed25519\":return{name:e.algorithm.name}}throw new G}(n),n,H(o)))}`}let M;if(Uint8Array.prototype.toBase64)M=e=>(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e.toBase64({alphabet:\"base64url\",omitPadding:!0}));else{const e=32768;M=t=>{t instanceof ArrayBuffer&&(t=new Uint8Array(t));const n=[];for(let o=0;o<t.byteLength;o+=e)n.push(String.fromCharCode.apply(null,t.subarray(o,o+e)));return btoa(n.join(\"\")).replace(/=/g,\"\").replace(/\\+/g,\"-\").replace(/\\//g,\"_\")}}function V(e){return M(e)}class G extends Error{constructor(e){var t;super(null!=e?e:\"operation not supported\"),this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}class F extends Error{constructor(e){var t;super(e),this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}function Z(e){switch(e.algorithm.name){case\"RSA-PSS\":return function(e){if(\"SHA-256\"===e.algorithm.hash.name)return\"PS256\";throw new G(\"unsupported RsaHashedKeyAlgorithm hash name\")}(e);case\"RSASSA-PKCS1-v1_5\":return function(e){if(\"SHA-256\"===e.algorithm.hash.name)return\"RS256\";throw new G(\"unsupported RsaHashedKeyAlgorithm hash name\")}(e);case\"ECDSA\":return function(e){if(\"P-256\"===e.algorithm.namedCurve)return\"ES256\";throw new G(\"unsupported EcKeyAlgorithm namedCurve\")}(e);case\"Ed25519\":return\"Ed25519\";default:throw new G(\"unsupported CryptoKey algorithm name\")}}function q(e){return e instanceof CryptoKey}function B(e){return q(e)&&\"public\"===e.type}async function X(e,t,n,o,r,i){const a=null==e?void 0:e.privateKey,s=null==e?void 0:e.publicKey;if(!q(c=a)||\"private\"!==c.type)throw new TypeError('\"keypair.privateKey\" must be a private CryptoKey');var c;if(!B(s))throw new TypeError('\"keypair.publicKey\" must be a public CryptoKey');if(!0!==s.extractable)throw new TypeError('\"keypair.publicKey.extractable\" must be true');if(\"string\"!=typeof t)throw new TypeError('\"htu\" must be a string');if(\"string\"!=typeof n)throw new TypeError('\"htm\" must be a string');if(void 0!==o&&\"string\"!=typeof o)throw new TypeError('\"nonce\" must be a string or undefined');if(void 0!==r&&\"string\"!=typeof r)throw new TypeError('\"accessToken\" must be a string or undefined');if(void 0!==i&&(\"object\"!=typeof i||null===i||Array.isArray(i)))throw new TypeError('\"additional\" must be an object');return J({alg:Z(a),typ:\"dpop+jwt\",jwk:await Y(s)},Object.assign(Object.assign({},i),{iat:Math.floor(Date.now()/1e3),jti:crypto.randomUUID(),htm:n,nonce:o,htu:t,ath:r?V(await crypto.subtle.digest(\"SHA-256\",H(r))):void 0}),a)}async function Y(e){const{kty:t,e:n,n:o,x:r,y:i,crv:a}=await crypto.subtle.exportKey(\"jwk\",e);return{kty:t,crv:a,e:n,n:o,x:r,y:i}}const Q=[\"authorization_code\",\"refresh_token\",\"urn:ietf:params:oauth:grant-type:token-exchange\"];function $(){return async function(e,t){var n;let o;if(\"string\"!=typeof e||0===e.length)throw new TypeError('\"alg\" must be a non-empty string');switch(e){case\"PS256\":o={name:\"RSA-PSS\",hash:\"SHA-256\",modulusLength:2048,publicExponent:new Uint8Array([1,0,1])};break;case\"RS256\":o={name:\"RSASSA-PKCS1-v1_5\",hash:\"SHA-256\",modulusLength:2048,publicExponent:new Uint8Array([1,0,1])};break;case\"ES256\":o={name:\"ECDSA\",namedCurve:\"P-256\"};break;case\"Ed25519\":o={name:\"Ed25519\"};break;default:throw new G}return crypto.subtle.generateKey(o,null!==(n=null==t?void 0:t.extractable)&&void 0!==n&&n,[\"sign\",\"verify\"])}(\"ES256\",{extractable:!1})}function ee(e){return async function(e){if(!B(e))throw new TypeError('\"publicKey\" must be a public CryptoKey');if(!0!==e.extractable)throw new TypeError('\"publicKey.extractable\" must be true');const t=await Y(e);let n;switch(t.kty){case\"EC\":n={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case\"OKP\":n={crv:t.crv,kty:t.kty,x:t.x};break;case\"RSA\":n={e:t.e,kty:t.kty,n:t.n};break;default:throw new G(\"unsupported JWK kty\")}return V(await crypto.subtle.digest({name:\"SHA-256\"},H(JSON.stringify(n))))}(e.publicKey)}function te(e){let{keyPair:t,url:n,method:o,nonce:r,accessToken:i}=e;const a=function(e){const t=new URL(e);return t.search=\"\",t.hash=\"\",t.href}(n);return X(t,a,o,r,i)}const ne=async(e,t)=>{const n=await fetch(e,t);return{ok:n.ok,json:await n.json(),headers:(o=n.headers,[...o].reduce(((e,t)=>{let[n,o]=t;return e[n]=o,e}),{}))};var o},oe=async(e,t,n)=>{const o=new AbortController;let r;return t.signal=o.signal,Promise.race([ne(e,t),new Promise(((e,t)=>{r=setTimeout((()=>{o.abort(),t(new Error(\"Timeout when executing 'fetch'\"))}),n)}))]).finally((()=>{clearTimeout(r)}))},re=async(e,t,n,o,r,i,a,s)=>((e,t)=>new Promise((function(n,o){const r=new MessageChannel;r.port1.onmessage=function(e){e.data.error?o(new Error(e.data.error)):n(e.data),r.port1.close()},t.postMessage(e,[r.port2])})))({auth:{audience:t,scope:n},timeout:r,fetchUrl:e,fetchOptions:o,useFormData:a,useMrrt:s},i),ie=async function(e,t,n,o,r,i){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1e4,s=arguments.length>7?arguments[7]:void 0;return r?re(e,t,n,o,a,r,i,s):oe(e,o,a)};async function ae(t,n,o,r,i,a,s,c,u,l){if(u){const e=await u.generateProof({url:t,method:i.method||\"GET\",nonce:await u.getNonce()});i.headers=Object.assign(Object.assign({},i.headers),{dpop:e})}let d,h=null;for(let e=0;e<3;e++)try{d=await ie(t,o,r,i,a,s,n,c),h=null;break}catch(e){h=e}if(h)throw h;const p=d.json,{error:f,error_description:m}=p,y=e(p,[\"error\",\"error_description\"]),{headers:g,ok:v}=d;let b;if(u&&(b=g[\"dpop-nonce\"],b&&await u.setNonce(b)),!v){const e=m||\"HTTP error. Unable to fetch \".concat(t);if(\"mfa_required\"===f)throw new E(f,e,y.mfa_token);if(\"missing_refresh_token\"===f)throw new A(o,r);if(\"use_dpop_nonce\"===f){if(!u||!b||l)throw new P(b);return ae(t,n,o,r,i,a,s,c,u,!0)}throw new w(f||\"request_error\",e)}return y}async function se(t,n){var{baseUrl:o,timeout:r,audience:i,scope:a,auth0Client:s,useFormData:c,useMrrt:u,dpop:l}=t,d=e(t,[\"baseUrl\",\"timeout\",\"audience\",\"scope\",\"auth0Client\",\"useFormData\",\"useMrrt\",\"dpop\"]);const h=\"urn:ietf:params:oauth:grant-type:token-exchange\"===d.grant_type,p=\"refresh_token\"===d.grant_type&&u,f=Object.assign(Object.assign(Object.assign(Object.assign({},d),h&&i&&{audience:i}),h&&a&&{scope:a}),p&&{audience:i,scope:a}),y=c?D(f):JSON.stringify(f),w=(g=d.grant_type,Q.includes(g));var g;return await ae(\"\".concat(o,\"/oauth/token\"),r,i||\"default\",a,{method:\"POST\",body:y,headers:{\"Content-Type\":c?\"application/x-www-form-urlencoded\":\"application/json\",\"Auth0-Client\":btoa(JSON.stringify(j(s||m)))}},n,c,u,w?l:void 0)}const ce=e=>Array.from(new Set(e)),ue=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return ce(t.filter(Boolean).join(\" \").trim().split(/\\s+/)).join(\" \")},le=(e,t,n)=>{let o;return n&&(o=e[n]),o||(o=e.default),ue(o,t)};class de{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"@@auth0spajs@@\",n=arguments.length>2?arguments[2]:void 0;this.prefix=t,this.suffix=n,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join(\"::\")}static fromKey(e){const[t,n,o,r]=e.split(\"::\");return new de({clientId:n,scope:r,audience:o},t)}static fromCacheEntry(e){const{scope:t,audience:n,client_id:o}=e;return new de({scope:t,audience:n,clientId:o})}}class he{set(e,t){localStorage.setItem(e,JSON.stringify(t))}get(e){const t=window.localStorage.getItem(e);if(t)try{return JSON.parse(t)}catch(e){return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter((e=>e.startsWith(\"@@auth0spajs@@\")))}}class pe{constructor(){this.enclosedCache=function(){let e={};return{set(t,n){e[t]=n},get(t){const n=e[t];if(n)return n},remove(t){delete e[t]},allKeys:()=>Object.keys(e)}}()}}class fe{constructor(e,t,n){this.cache=e,this.keyManifest=t,this.nowProvider=n||y}async setIdToken(e,t,n){var o;const r=this.getIdTokenCacheKey(e);await this.cache.set(r,{id_token:t,decodedToken:n}),await(null===(o=this.keyManifest)||void 0===o?void 0:o.add(r))}async getIdToken(e){const t=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!t&&e.scope&&e.audience){const t=await this.get(e);if(!t)return;if(!t.id_token||!t.decodedToken)return;return{id_token:t.id_token,decodedToken:t.decodedToken}}if(t)return{id_token:t.id_token,decodedToken:t.decodedToken}}async get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3?arguments[3]:void 0;var r;let i=await this.cache.get(e.toKey());if(!i){const t=await this.getCacheKeys();if(!t)return;const r=this.matchExistingCacheKey(e,t);if(r&&(i=await this.cache.get(r)),!i&&n&&\"cache-only\"!==o)return this.getEntryWithRefreshToken(e,t)}if(!i)return;const a=await this.nowProvider(),s=Math.floor(a/1e3);return i.expiresAt-t<s?i.body.refresh_token?this.modifiedCachedEntry(i,e):(await this.cache.remove(e.toKey()),void await(null===(r=this.keyManifest)||void 0===r?void 0:r.remove(e.toKey()))):i.body}async modifiedCachedEntry(e,t){return e.body={refresh_token:e.body.refresh_token,audience:e.body.audience,scope:e.body.scope},await this.cache.set(t.toKey(),e),{refresh_token:e.body.refresh_token,audience:e.body.audience,scope:e.body.scope}}async set(e){var t;const n=new de({clientId:e.client_id,scope:e.scope,audience:e.audience}),o=await this.wrapCacheEntry(e);await this.cache.set(n.toKey(),o),await(null===(t=this.keyManifest)||void 0===t?void 0:t.add(n.toKey()))}async remove(e,t,n){const o=new de({clientId:e,scope:n,audience:t});await this.cache.remove(o.toKey())}async clear(e){var t;const n=await this.getCacheKeys();n&&(await n.filter((t=>!e||t.includes(e))).reduce((async(e,t)=>{await e,await this.cache.remove(t)}),Promise.resolve()),await(null===(t=this.keyManifest)||void 0===t?void 0:t.clear()))}async wrapCacheEntry(e){const t=await this.nowProvider();return{body:e,expiresAt:Math.floor(t/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?null===(e=await this.keyManifest.get())||void 0===e?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new de({clientId:e},\"@@auth0spajs@@\",\"@@user@@\").toKey()}matchExistingCacheKey(e,t){return t.filter((t=>{var n;const o=de.fromKey(t),r=new Set(o.scope&&o.scope.split(\" \")),i=(null===(n=e.scope)||void 0===n?void 0:n.split(\" \"))||[],a=o.scope&&i.reduce(((e,t)=>e&&r.has(t)),!0);return\"@@auth0spajs@@\"===o.prefix&&o.clientId===e.clientId&&o.audience===e.audience&&a}))[0]}async getEntryWithRefreshToken(e,t){var n;for(const o of t){const t=de.fromKey(o);if(\"@@auth0spajs@@\"===t.prefix&&t.clientId===e.clientId){const t=await this.cache.get(o);if(null===(n=null==t?void 0:t.body)||void 0===n?void 0:n.refresh_token)return this.modifiedCachedEntry(t,e)}}}async updateEntry(e,t){var n;const o=await this.getCacheKeys();if(o)for(const r of o){const o=await this.cache.get(r);if((null===(n=null==o?void 0:o.body)||void 0===n?void 0:n.refresh_token)===e){const e=Object.assign(Object.assign({},o.body),{refresh_token:t});await this.set(e)}}}}class me{constructor(e,t,n){this.storage=e,this.clientId=t,this.cookieDomain=n,this.storageKey=\"\".concat(\"a0.spajs.txs\",\".\").concat(this.clientId)}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}}const ye=e=>\"number\"==typeof e,we=[\"iss\",\"aud\",\"exp\",\"nbf\",\"iat\",\"jti\",\"azp\",\"nonce\",\"auth_time\",\"at_hash\",\"c_hash\",\"acr\",\"amr\",\"sub_jwk\",\"cnf\",\"sip_from_tag\",\"sip_date\",\"sip_callid\",\"sip_cseq_num\",\"sip_via_branch\",\"orig\",\"dest\",\"mky\",\"events\",\"toe\",\"txn\",\"rph\",\"sid\",\"vot\",\"vtm\"],ge=e=>{if(!e.id_token)throw new Error(\"ID token is required but missing\");const t=(e=>{const t=e.split(\".\"),[n,o,r]=t;if(3!==t.length||!n||!o||!r)throw new Error(\"ID token could not be decoded\");const i=JSON.parse(L(o)),a={__raw:e},s={};return Object.keys(i).forEach((e=>{a[e]=i[e],we.includes(e)||(s[e]=i[e])})),{encoded:{header:n,payload:o,signature:r},header:JSON.parse(L(n)),claims:a,user:s}})(e.id_token);if(!t.claims.iss)throw new Error(\"Issuer (iss) claim must be a string present in the ID token\");if(t.claims.iss!==e.iss)throw new Error('Issuer (iss) claim mismatch in the ID token; expected \"'.concat(e.iss,'\", found \"').concat(t.claims.iss,'\"'));if(!t.user.sub)throw new Error(\"Subject (sub) claim must be a string present in the ID token\");if(\"RS256\"!==t.header.alg)throw new Error('Signature algorithm of \"'.concat(t.header.alg,'\" is not supported. Expected the ID token to be signed with \"RS256\".'));if(!t.claims.aud||\"string\"!=typeof t.claims.aud&&!Array.isArray(t.claims.aud))throw new Error(\"Audience (aud) claim must be a string or array of strings present in the ID token\");if(Array.isArray(t.claims.aud)){if(!t.claims.aud.includes(e.aud))throw new Error('Audience (aud) claim mismatch in the ID token; expected \"'.concat(e.aud,'\" but was not one of \"').concat(t.claims.aud.join(\", \"),'\"'));if(t.claims.aud.length>1){if(!t.claims.azp)throw new Error(\"Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values\");if(t.claims.azp!==e.aud)throw new Error('Authorized Party (azp) claim mismatch in the ID token; expected \"'.concat(e.aud,'\", found \"').concat(t.claims.azp,'\"'))}}else if(t.claims.aud!==e.aud)throw new Error('Audience (aud) claim mismatch in the ID token; expected \"'.concat(e.aud,'\" but found \"').concat(t.claims.aud,'\"'));if(e.nonce){if(!t.claims.nonce)throw new Error(\"Nonce (nonce) claim must be a string present in the ID token\");if(t.claims.nonce!==e.nonce)throw new Error('Nonce (nonce) claim mismatch in the ID token; expected \"'.concat(e.nonce,'\", found \"').concat(t.claims.nonce,'\"'))}if(e.max_age&&!ye(t.claims.auth_time))throw new Error(\"Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified\");if(null==t.claims.exp||!ye(t.claims.exp))throw new Error(\"Expiration Time (exp) claim must be a number present in the ID token\");if(!ye(t.claims.iat))throw new Error(\"Issued At (iat) claim must be a number present in the ID token\");const n=e.leeway||60,o=new Date(e.now||Date.now()),r=new Date(0);if(r.setUTCSeconds(t.claims.exp+n),o>r)throw new Error(\"Expiration Time (exp) claim error in the ID token; current time (\".concat(o,\") is after expiration time (\").concat(r,\")\"));if(null!=t.claims.nbf&&ye(t.claims.nbf)){const e=new Date(0);if(e.setUTCSeconds(t.claims.nbf-n),o<e)throw new Error(\"Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (\".concat(o,\") is before \").concat(e))}if(null!=t.claims.auth_time&&ye(t.claims.auth_time)){const r=new Date(0);if(r.setUTCSeconds(parseInt(t.claims.auth_time)+e.max_age+n),o>r)throw new Error(\"Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (\".concat(o,\") is after last auth at \").concat(r))}if(e.organization){const n=e.organization.trim();if(n.startsWith(\"org_\")){const e=n;if(!t.claims.org_id)throw new Error(\"Organization ID (org_id) claim must be a string present in the ID token\");if(e!==t.claims.org_id)throw new Error('Organization ID (org_id) claim mismatch in the ID token; expected \"'.concat(e,'\", found \"').concat(t.claims.org_id,'\"'))}else{const e=n.toLowerCase();if(!t.claims.org_name)throw new Error(\"Organization Name (org_name) claim must be a string present in the ID token\");if(e!==t.claims.org_name)throw new Error('Organization Name (org_name) claim mismatch in the ID token; expected \"'.concat(e,'\", found \"').concat(t.claims.org_name,'\"'))}}return t};var ve=t&&t.__assign||function(){return ve=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},ve.apply(this,arguments)};function be(e,t){if(!t)return\"\";var n=\"; \"+e;return!0===t?n:n+\"=\"+t}function _e(e,t,n){return encodeURIComponent(e).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\")+\"=\"+encodeURIComponent(t).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(e){if(\"number\"==typeof e.expires){var t=new Date;t.setMilliseconds(t.getMilliseconds()+864e5*e.expires),e.expires=t}return be(\"Expires\",e.expires?e.expires.toUTCString():\"\")+be(\"Domain\",e.domain)+be(\"Path\",e.path)+be(\"Secure\",e.secure)+be(\"SameSite\",e.sameSite)}(n)}function ke(){return function(e){for(var t={},n=e?e.split(\"; \"):[],o=/(%[\\dA-F]{2})+/gi,r=0;r<n.length;r++){var i=n[r].split(\"=\"),a=i.slice(1).join(\"=\");'\"'===a.charAt(0)&&(a=a.slice(1,-1));try{t[i[0].replace(o,decodeURIComponent)]=a.replace(o,decodeURIComponent)}catch(e){}}return t}(document.cookie)}var Se=function(e){return ke()[e]};function Ee(e,t,n){document.cookie=_e(e,t,ve({path:\"/\"},n))}var Ae=Ee;var Te=function(e,t){Ee(e,\"\",ve(ve({},t),{expires:-1}))};const Pe={get(e){const t=Se(e);if(void 0!==t)return JSON.parse(t)},save(e,t,n){let o={};\"https:\"===window.location.protocol&&(o={secure:!0,sameSite:\"none\"}),(null==n?void 0:n.daysUntilExpire)&&(o.expires=n.daysUntilExpire),(null==n?void 0:n.cookieDomain)&&(o.domain=n.cookieDomain),Ae(e,JSON.stringify(t),o)},remove(e,t){let n={};(null==t?void 0:t.cookieDomain)&&(n.domain=t.cookieDomain),Te(e,n)}},Re={get(e){const t=Pe.get(e);return t||Pe.get(\"\".concat(\"_legacy_\").concat(e))},save(e,t,n){let o={};\"https:\"===window.location.protocol&&(o={secure:!0}),(null==n?void 0:n.daysUntilExpire)&&(o.expires=n.daysUntilExpire),(null==n?void 0:n.cookieDomain)&&(o.domain=n.cookieDomain),Ae(\"\".concat(\"_legacy_\").concat(e),JSON.stringify(t),o),Pe.save(e,t,n)},remove(e,t){let n={};(null==t?void 0:t.cookieDomain)&&(n.domain=t.cookieDomain),Te(e,n),Pe.remove(e,t),Pe.remove(\"\".concat(\"_legacy_\").concat(e),t)}},Ie={get(e){if(\"undefined\"==typeof sessionStorage)return;const t=sessionStorage.getItem(e);return null!=t?JSON.parse(t):void 0},save(e,t){sessionStorage.setItem(e,JSON.stringify(t))},remove(e){sessionStorage.removeItem(e)}};var Oe;!function(e){e.Code=\"code\",e.ConnectCode=\"connect_code\"}(Oe||(Oe={}));class xe{}function Ce(e,t,n){var o=void 0===t?null:t,r=function(e,t){var n=atob(e);if(t){for(var o=new Uint8Array(n.length),r=0,i=n.length;r<i;++r)o[r]=n.charCodeAt(r);return String.fromCharCode.apply(null,new Uint16Array(o.buffer))}return n}(e,void 0!==n&&n),i=r.indexOf(\"\\n\",10)+1,a=r.substring(i)+(o?\"//# sourceMappingURL=\"+o:\"\"),s=new Blob([a],{type:\"application/javascript\"});return URL.createObjectURL(s)}var je,De,Ke,Le,Ue=(je=\"Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHQpe2xldHtlcnJvcjpyLGVycm9yX2Rlc2NyaXB0aW9uOnN9PXQ7cmV0dXJuIG5ldyBlKHIscyl9fWNsYXNzIHQgZXh0ZW5kcyBle2NvbnN0cnVjdG9yKGUscyl7c3VwZXIoIm1pc3NpbmdfcmVmcmVzaF90b2tlbiIsIk1pc3NpbmcgUmVmcmVzaCBUb2tlbiAoYXVkaWVuY2U6ICciLmNvbmNhdChyKGUsWyJkZWZhdWx0Il0pLCInLCBzY29wZTogJyIpLmNvbmNhdChyKHMpLCInKSIpKSx0aGlzLmF1ZGllbmNlPWUsdGhpcy5zY29wZT1zLE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLHQucHJvdG90eXBlKX19ZnVuY3Rpb24gcihlKXtsZXQgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06W107cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+IiIuY29uY2F0KGUsInwiKS5jb25jYXQodCk7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jIGU9PntsZXQgcixjLHtkYXRhOnt0aW1lb3V0OmksYXV0aDphLGZldGNoVXJsOmYsZmV0Y2hPcHRpb25zOmwsdXNlRm9ybURhdGE6cCx1c2VNcnJ0Omh9LHBvcnRzOlt1XX09ZSxkPXt9O2NvbnN0e2F1ZGllbmNlOmcsc2NvcGU6eX09YXx8e307dHJ5e2NvbnN0IGU9cD8oZT0+e2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtcyhlKSxyPXt9O3JldHVybiB0LmZvckVhY2goKChlLHQpPT57clt0XT1lfSkpLHJ9KShsLmJvZHkpOkpTT04ucGFyc2UobC5ib2R5KTtpZighZS5yZWZyZXNoX3Rva2VuJiYicmVmcmVzaF90b2tlbiI9PT1lLmdyYW50X3R5cGUpe2lmKGM9KChlLHQpPT5vW24oZSx0KV0pKGcseSksIWMmJmgpe2NvbnN0IGU9by5sYXRlc3RfcmVmcmVzaF90b2tlbix0PSgoZSx0KT0+e2NvbnN0IHI9T2JqZWN0LmtleXMobykuZmluZCgocj0+e2lmKCJsYXRlc3RfcmVmcmVzaF90b2tlbiIhPT1yKXtjb25zdCBzPSgoZSx0KT0+dC5zdGFydHNXaXRoKCIiLmNvbmNhdChlLCJ8IikpKSh0LHIpLG89ci5zcGxpdCgifCIpWzFdLnNwbGl0KCIgIiksbj1lLnNwbGl0KCIgIikuZXZlcnkoKGU9Pm8uaW5jbHVkZXMoZSkpKTtyZXR1cm4gcyYmbn19KSk7cmV0dXJuISFyfSkoeSxnKTtlJiYhdCYmKGM9ZSl9aWYoIWMpdGhyb3cgbmV3IHQoZyx5KTtsLmJvZHk9cD9zKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7cmVmcmVzaF90b2tlbjpjfSkpOkpTT04uc3RyaW5naWZ5KE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7cmVmcmVzaF90b2tlbjpjfSkpfWxldCBhLGs7ImZ1bmN0aW9uIj09dHlwZW9mIEFib3J0Q29udHJvbGxlciYmKGE9bmV3IEFib3J0Q29udHJvbGxlcixsLnNpZ25hbD1hLnNpZ25hbCk7dHJ5e2s9YXdhaXQgUHJvbWlzZS5yYWNlKFsoaj1pLG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsaikpKSksZmV0Y2goZixPYmplY3QuYXNzaWduKHt9LGwpKV0pfWNhdGNoKGUpe3JldHVybiB2b2lkIHUucG9zdE1lc3NhZ2Uoe2Vycm9yOmUubWVzc2FnZX0pfWlmKCFrKXJldHVybiBhJiZhLmFib3J0KCksdm9pZCB1LnBvc3RNZXNzYWdlKHtlcnJvcjoiVGltZW91dCB3aGVuIGV4ZWN1dGluZyAnZmV0Y2gnIn0pO189ay5oZWFkZXJzLGQ9Wy4uLl9dLnJlZHVjZSgoKGUsdCk9PntsZXRbcixzXT10O3JldHVybiBlW3JdPXMsZX0pLHt9KSxyPWF3YWl0IGsuanNvbigpLHIucmVmcmVzaF90b2tlbj8oaCYmKG8ubGF0ZXN0X3JlZnJlc2hfdG9rZW49ci5yZWZyZXNoX3Rva2VuLE89YyxiPXIucmVmcmVzaF90b2tlbixPYmplY3QuZW50cmllcyhvKS5mb3JFYWNoKChlPT57bGV0W3Qscl09ZTtyPT09TyYmKG9bdF09Yil9KSkpLCgoZSx0LHIpPT57b1tuKHQscildPWV9KShyLnJlZnJlc2hfdG9rZW4sZyx5KSxkZWxldGUgci5yZWZyZXNoX3Rva2VuKTooKGUsdCk9PntkZWxldGUgb1tuKGUsdCldfSkoZyx5KSx1LnBvc3RNZXNzYWdlKHtvazprLm9rLGpzb246cixoZWFkZXJzOmR9KX1jYXRjaChlKXt1LnBvc3RNZXNzYWdlKHtvazohMSxqc29uOntlcnJvcjplLmVycm9yLGVycm9yX2Rlc2NyaXB0aW9uOmUubWVzc2FnZX0saGVhZGVyczpkfSl9dmFyIE8sYixfLGp9KSl9KCk7Cgo=\",De=null,Ke=!1,function(e){return Le=Le||Ce(je,De,Ke),new Worker(Le,e)});const Ne={},We=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;for(let n=0;n<t;n++)if(await e())return!0;return!1};class He{constructor(e,t){this.cache=e,this.clientId=t,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var t;const n=new Set((null===(t=await this.cache.get(this.manifestKey))||void 0===t?void 0:t.keys)||[]);n.add(e),await this.cache.set(this.manifestKey,{keys:[...n]})}async remove(e){const t=await this.cache.get(this.manifestKey);if(t){const n=new Set(t.keys);return n.delete(e),n.size>0?await this.cache.set(this.manifestKey,{keys:[...n]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return\"\".concat(\"@@auth0spajs@@\",\"::\").concat(e)}}const ze={memory:()=>(new pe).enclosedCache,localstorage:()=>new he},Je=e=>ze[e],Me=t=>{const{openUrl:n,onRedirect:o}=t,r=e(t,[\"openUrl\",\"onRedirect\"]);return Object.assign(Object.assign({},r),{openUrl:!1===n||n?n:o})},Ve=(e,t)=>{const n=(null==t?void 0:t.split(\" \"))||[];return((null==e?void 0:e.split(\" \"))||[]).every((e=>n.includes(e)))},Ge={NONCE:\"nonce\",KEYPAIR:\"keypair\"};class Fe{constructor(e){this.clientId=e}getVersion(){return 1}createDbHandle(){const e=window.indexedDB.open(\"auth0-spa-js\",this.getVersion());return new Promise(((t,n)=>{e.onupgradeneeded=()=>Object.values(Ge).forEach((t=>e.result.createObjectStore(t))),e.onerror=()=>n(e.error),e.onsuccess=()=>t(e.result)}))}async getDbHandle(){return this.dbHandle||(this.dbHandle=await this.createDbHandle()),this.dbHandle}async executeDbRequest(e,t,n){const o=n((await this.getDbHandle()).transaction(e,t).objectStore(e));return new Promise(((e,t)=>{o.onsuccess=()=>e(o.result),o.onerror=()=>t(o.error)}))}buildKey(e){const t=e?\"_\".concat(e):\"auth0\";return\"\".concat(this.clientId,\"::\").concat(t)}setNonce(e,t){return this.save(Ge.NONCE,this.buildKey(t),e)}setKeyPair(e){return this.save(Ge.KEYPAIR,this.buildKey(),e)}async save(e,t,n){await this.executeDbRequest(e,\"readwrite\",(e=>e.put(n,t)))}findNonce(e){return this.find(Ge.NONCE,this.buildKey(e))}findKeyPair(){return this.find(Ge.KEYPAIR,this.buildKey())}find(e,t){return this.executeDbRequest(e,\"readonly\",(e=>e.get(t)))}async deleteBy(e,t){const n=await this.executeDbRequest(e,\"readonly\",(e=>e.getAllKeys()));null==n||n.filter(t).map((t=>this.executeDbRequest(e,\"readwrite\",(e=>e.delete(t)))))}deleteByClientId(e,t){return this.deleteBy(e,(e=>\"string\"==typeof e&&e.startsWith(\"\".concat(t,\"::\"))))}clearNonces(){return this.deleteByClientId(Ge.NONCE,this.clientId)}clearKeyPairs(){return this.deleteByClientId(Ge.KEYPAIR,this.clientId)}}class Ze{constructor(e){this.storage=new Fe(e)}getNonce(e){return this.storage.findNonce(e)}setNonce(e,t){return this.storage.setNonce(e,t)}async getOrGenerateKeyPair(){let e=await this.storage.findKeyPair();return e||(e=await $(),await this.storage.setKeyPair(e)),e}async generateProof(e){const t=await this.getOrGenerateKeyPair();return te(Object.assign({keyPair:t},e))}async calculateThumbprint(){return ee(await this.getOrGenerateKeyPair())}async clear(){await Promise.all([this.storage.clearNonces(),this.storage.clearKeyPairs()])}}var qe,Be,Xe;!function(e){e.Bearer=\"Bearer\",e.DPoP=\"DPoP\"}(qe||(qe={}));class Ye{constructor(e,t){this.hooks=t,this.config=Object.assign(Object.assign({},e),{fetch:e.fetch||(\"undefined\"==typeof window?fetch:window.fetch.bind(window))})}isAbsoluteUrl(e){return/^(https?:)?\\/\\//i.test(e)}buildUrl(e,t){if(t){if(this.isAbsoluteUrl(t))return t;if(e)return\"\".concat(e.replace(/\\/?\\/$/,\"\"),\"/\").concat(t.replace(/^\\/+/,\"\"))}throw new TypeError(\"`url` must be absolute or `baseUrl` non-empty.\")}getAccessToken(e){return this.config.getAccessToken?this.config.getAccessToken(e):this.hooks.getAccessToken(e)}extractUrl(e){return\"string\"==typeof e?e:e instanceof URL?e.href:e.url}buildBaseRequest(e,t){if(!this.config.baseUrl)return new Request(e,t);const n=this.buildUrl(this.config.baseUrl,this.extractUrl(e)),o=e instanceof Request?new Request(n,e):n;return new Request(o,t)}setAuthorizationHeader(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:qe.Bearer;e.headers.set(\"authorization\",\"\".concat(n,\" \").concat(t))}async setDpopProofHeader(e,t){if(!this.config.dpopNonceId)return;const n=await this.hooks.getDpopNonce(),o=await this.hooks.generateDpopProof({accessToken:t,method:e.method,nonce:n,url:e.url});e.headers.set(\"dpop\",o)}async prepareRequest(e,t){const n=await this.getAccessToken(t);let o,r;\"string\"==typeof n?(o=this.config.dpopNonceId?qe.DPoP:qe.Bearer,r=n):(o=n.token_type,r=n.access_token),this.setAuthorizationHeader(e,r,o),o===qe.DPoP&&await this.setDpopProofHeader(e,r)}getHeader(e,t){return Array.isArray(e)?new Headers(e).get(t)||\"\":\"function\"==typeof e.get?e.get(t)||\"\":e[t]||\"\"}hasUseDpopNonceError(e){if(401!==e.status)return!1;const t=this.getHeader(e.headers,\"www-authenticate\");return t.includes(\"invalid_dpop_nonce\")||t.includes(\"use_dpop_nonce\")}async handleResponse(e,t){const n=this.getHeader(e.headers,\"dpop-nonce\");if(n&&await this.hooks.setDpopNonce(n),!this.hasUseDpopNonceError(e))return e;if(!n||!t.onUseDpopNonceError)throw new P(n);return t.onUseDpopNonceError()}async internalFetchWithAuth(e,t,n,o){const r=this.buildBaseRequest(e,t);await this.prepareRequest(r,o);const i=await this.config.fetch(r);return this.handleResponse(i,n)}fetchWithAuth(e,t,n){const o={onUseDpopNonceError:()=>this.internalFetchWithAuth(e,t,Object.assign(Object.assign({},o),{onUseDpopNonceError:void 0}),n)};return this.internalFetchWithAuth(e,t,o,n)}}class Qe{constructor(e,t){this.myAccountFetcher=e,this.apiBase=t}async connectAccount(e){const t=await this.myAccountFetcher.fetchWithAuth(\"\".concat(this.apiBase,\"v1/connected-accounts/connect\"),{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(e)});return this._handleResponse(t)}async completeAccount(e){const t=await this.myAccountFetcher.fetchWithAuth(\"\".concat(this.apiBase,\"v1/connected-accounts/complete\"),{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(e)});return this._handleResponse(t)}async _handleResponse(e){let t;try{t=await e.text(),t=JSON.parse(t)}catch(n){throw new $e({type:\"invalid_json\",status:e.status,title:\"Invalid JSON response\",detail:t||String(n)})}if(e.ok)return t;throw new $e(t)}}class $e extends Error{constructor(e){let{type:t,status:n,title:o,detail:r,validation_errors:i}=e;super(r),this.name=\"MyAccountApiError\",this.type=t,this.status=n,this.title=o,this.detail=r,this.validation_errors=i,Object.setPrototypeOf(this,$e.prototype)}}function et(e,t){this.v=e,this.k=t}function tt(e,t,n){if(\"function\"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError(\"Private element is not present on this object\")}function nt(e){return new et(e,0)}function ot(e,t){if(t.has(e))throw new TypeError(\"Cannot initialize the same private elements twice on an object\")}function rt(e,t){return e.get(tt(e,t))}function it(e,t,n){ot(e,t),t.set(e,n)}function at(e,t,n){return e.set(tt(e,t),n),n}function st(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!=typeof o)return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ut(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ct(Object(n),!0).forEach((function(t){st(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ct(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lt(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function dt(e){return function(){return new ht(e.apply(this,arguments))}}function ht(e){var t,n;function o(t,n){try{var i=e[t](n),a=i.value,s=a instanceof et;Promise.resolve(s?a.v:a).then((function(n){if(s){var c=\"return\"===t?\"return\":\"next\";if(!a.k||n.done)return o(c,n);n=e[c](n).value}r(i.done?\"return\":\"normal\",n)}),(function(e){o(\"throw\",e)}))}catch(e){r(\"throw\",e)}}function r(e,r){switch(e){case\"return\":t.resolve({value:r,done:!0});break;case\"throw\":t.reject(r);break;default:t.resolve({value:r,done:!1})}(t=t.next)?o(t.key,t.arg):n=null}this._invoke=function(e,r){return new Promise((function(i,a){var s={key:e,arg:r,resolve:i,reject:a,next:null};n?n=n.next=s:(t=n=s,o(e,r))}))},\"function\"!=typeof e.return&&(this.return=void 0)}let pt;if(ht.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},ht.prototype.next=function(e){return this._invoke(\"next\",e)},ht.prototype.throw=function(e){return this._invoke(\"throw\",e)},ht.prototype.return=function(e){return this._invoke(\"return\",e)},\"undefined\"==typeof navigator||null===(Be=navigator.userAgent)||void 0===Be||null===(Xe=Be.startsWith)||void 0===Xe||!Xe.call(Be,\"Mozilla/5.0 \")){const e=\"v3.8.3\";pt=\"\".concat(\"oauth4webapi\",\"/\").concat(e)}function ft(e,t){if(null==e)return!1;try{return e instanceof t||Object.getPrototypeOf(e)[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}catch(e){return!1}}function mt(e,t,n){const o=new TypeError(e,{cause:n});return Object.assign(o,{code:t}),o}const yt=Symbol(),wt=Symbol(),gt=Symbol(),vt=Symbol(),bt=Symbol(),_t=Symbol(),kt=new TextEncoder,St=new TextDecoder;function Et(e){return\"string\"==typeof e?kt.encode(e):St.decode(e)}let At,Tt;if(Uint8Array.prototype.toBase64)At=e=>(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e.toBase64({alphabet:\"base64url\",omitPadding:!0}));else{const e=32768;At=t=>{t instanceof ArrayBuffer&&(t=new Uint8Array(t));const n=[];for(let o=0;o<t.byteLength;o+=e)n.push(String.fromCharCode.apply(null,t.subarray(o,o+e)));return btoa(n.join(\"\")).replace(/=/g,\"\").replace(/\\+/g,\"-\").replace(/\\//g,\"_\")}}function Pt(e){return\"string\"==typeof e?Tt(e):At(e)}Tt=Uint8Array.fromBase64?e=>{try{return Uint8Array.fromBase64(e,{alphabet:\"base64url\"})}catch(e){throw mt(\"The input to be decoded is not correctly encoded.\",\"ERR_INVALID_ARG_VALUE\",e)}}:e=>{try{const t=atob(e.replace(/-/g,\"+\").replace(/_/g,\"/\").replace(/\\s/g,\"\")),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}catch(e){throw mt(\"The input to be decoded is not correctly encoded.\",\"ERR_INVALID_ARG_VALUE\",e)}};class Rt extends Error{constructor(e,t){var n;super(e,t),st(this,\"code\",void 0),this.name=this.constructor.name,this.code=Rn,null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}class It extends Error{constructor(e,t){var n;super(e,t),st(this,\"code\",void 0),this.name=this.constructor.name,null!=t&&t.code&&(this.code=null==t?void 0:t.code),null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}function Ot(e,t,n){return new It(e,{code:t,cause:n})}function xt(e,t){if(function(e,t){if(!(e instanceof CryptoKey))throw mt(\"\".concat(t,\" must be a CryptoKey\"),\"ERR_INVALID_ARG_TYPE\")}(e,t),\"private\"!==e.type)throw mt(\"\".concat(t,\" must be a private CryptoKey\"),\"ERR_INVALID_ARG_VALUE\")}function Ct(e){return null!==e&&\"object\"==typeof e&&!Array.isArray(e)}function jt(e){ft(e,Headers)&&(e=Object.fromEntries(e.entries()));const t=new Headers(null!=e?e:{});if(pt&&!t.has(\"user-agent\")&&t.set(\"user-agent\",pt),t.has(\"authorization\"))throw mt('\"options.headers\" must not include the \"authorization\" header name',\"ERR_INVALID_ARG_VALUE\");return t}function Dt(e,t){if(void 0!==t){if(\"function\"==typeof t&&(t=t(e.href)),!(t instanceof AbortSignal))throw mt('\"options.signal\" must return or be an instance of AbortSignal',\"ERR_INVALID_ARG_TYPE\");return t}}function Kt(e){return e.includes(\"//\")?e.replace(\"//\",\"/\"):e}async function Lt(e,t){return async function(e,t,n,o){if(!(e instanceof URL))throw mt('\"'.concat(t,'\" must be an instance of URL'),\"ERR_INVALID_ARG_TYPE\");Xt(e,!0!==(null==o?void 0:o[yt]));const r=n(new URL(e.href)),i=jt(null==o?void 0:o.headers);return i.set(\"accept\",\"application/json\"),((null==o?void 0:o[vt])||fetch)(r.href,{body:void 0,headers:Object.fromEntries(i.entries()),method:\"GET\",redirect:\"manual\",signal:Dt(r,null==o?void 0:o.signal)})}(e,\"issuerIdentifier\",(e=>{switch(null==t?void 0:t.algorithm){case void 0:case\"oidc\":!function(e,t){e.pathname=Kt(\"\".concat(e.pathname,\"/\").concat(t))}(e,\".well-known/openid-configuration\");break;case\"oauth2\":!function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];\"/\"===e.pathname?e.pathname=t:e.pathname=Kt(\"\".concat(t,\"/\").concat(n?e.pathname:e.pathname.replace(/(\\/)$/,\"\")))}(e,\".well-known/oauth-authorization-server\");break;default:throw mt('\"options.algorithm\" must be \"oidc\" (default), or \"oauth2\"',\"ERR_INVALID_ARG_VALUE\")}return e}),t)}function Ut(e,t,n,o,r){try{if(\"number\"!=typeof e||!Number.isFinite(e))throw mt(\"\".concat(n,\" must be a number\"),\"ERR_INVALID_ARG_TYPE\",r);if(e>0)return;if(t){if(0!==e)throw mt(\"\".concat(n,\" must be a non-negative number\"),\"ERR_INVALID_ARG_VALUE\",r);return}throw mt(\"\".concat(n,\" must be a positive number\"),\"ERR_INVALID_ARG_VALUE\",r)}catch(e){if(o)throw Ot(e.message,o,r);throw e}}function Nt(e,t,n,o){try{if(\"string\"!=typeof e)throw mt(\"\".concat(t,\" must be a string\"),\"ERR_INVALID_ARG_TYPE\",o);if(0===e.length)throw mt(\"\".concat(t,\" must not be empty\"),\"ERR_INVALID_ARG_VALUE\",o)}catch(e){if(n)throw Ot(e.message,n,o);throw e}}function Wt(e){!function(e,t){if(ln(e)!==t)throw function(e){let t='\"response\" content-type must be ';for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];if(o.length>2){const e=o.pop();t+=\"\".concat(o.join(\", \"),\", or \").concat(e)}else 2===o.length?t+=\"\".concat(o[0],\" or \").concat(o[1]):t+=o[0];return Ot(t,Cn,e)}(e,t)}(e,\"application/json\")}function Ht(){return Pt(crypto.getRandomValues(new Uint8Array(32)))}function zt(e){switch(e.algorithm.name){case\"RSA-PSS\":return function(e){switch(e.algorithm.hash.name){case\"SHA-256\":return\"PS256\";case\"SHA-384\":return\"PS384\";case\"SHA-512\":return\"PS512\";default:throw new Rt(\"unsupported RsaHashedKeyAlgorithm hash name\",{cause:e})}}(e);case\"RSASSA-PKCS1-v1_5\":return function(e){switch(e.algorithm.hash.name){case\"SHA-256\":return\"RS256\";case\"SHA-384\":return\"RS384\";case\"SHA-512\":return\"RS512\";default:throw new Rt(\"unsupported RsaHashedKeyAlgorithm hash name\",{cause:e})}}(e);case\"ECDSA\":return function(e){switch(e.algorithm.namedCurve){case\"P-256\":return\"ES256\";case\"P-384\":return\"ES384\";case\"P-521\":return\"ES512\";default:throw new Rt(\"unsupported EcKeyAlgorithm namedCurve\",{cause:e})}}(e);case\"Ed25519\":case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":return e.algorithm.name;case\"EdDSA\":return\"Ed25519\";default:throw new Rt(\"unsupported CryptoKey algorithm name\",{cause:e})}}function Jt(e){const t=null==e?void 0:e[wt];return\"number\"==typeof t&&Number.isFinite(t)?t:0}function Mt(e){const t=null==e?void 0:e[gt];return\"number\"==typeof t&&Number.isFinite(t)&&-1!==Math.sign(t)?t:30}function Vt(){return Math.floor(Date.now()/1e3)}function Gt(e){if(\"object\"!=typeof e||null===e)throw mt('\"as\" must be an object',\"ERR_INVALID_ARG_TYPE\");Nt(e.issuer,'\"as.issuer\"')}function Ft(e){if(\"object\"!=typeof e||null===e)throw mt('\"client\" must be an object',\"ERR_INVALID_ARG_TYPE\");Nt(e.client_id,'\"client.client_id\"')}function Zt(e){return Nt(e,'\"clientSecret\"'),(t,n,o,r)=>{o.set(\"client_id\",n.client_id),o.set(\"client_secret\",e)}}function qt(e,t){const{key:n,kid:o}=(r=e)instanceof CryptoKey?{key:r}:(null==r?void 0:r.key)instanceof CryptoKey?(void 0!==r.kid&&Nt(r.kid,'\"kid\"'),{key:r.key,kid:r.kid}):{};var r;return xt(n,'\"clientPrivateKey.key\"'),async(e,r,i,a)=>{var s;const c={alg:zt(n),kid:o},u=function(e,t){const n=Vt()+Jt(t);return{jti:Ht(),aud:e.issuer,exp:n+60,iat:n,nbf:n,iss:t.client_id,sub:t.client_id}}(e,r);null==t||null===(s=t[bt])||void 0===s||s.call(t,c,u),i.set(\"client_id\",r.client_id),i.set(\"client_assertion_type\",\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\"),i.set(\"client_assertion\",await async function(e,t,n){if(!n.usages.includes(\"sign\"))throw mt('CryptoKey instances used for signing assertions must include \"sign\" in their \"usages\"',\"ERR_INVALID_ARG_VALUE\");const o=\"\".concat(Pt(Et(JSON.stringify(e))),\".\").concat(Pt(Et(JSON.stringify(t)))),r=Pt(await crypto.subtle.sign(function(e){switch(e.algorithm.name){case\"ECDSA\":return{name:e.algorithm.name,hash:Mn(e)};case\"RSA-PSS\":switch(Jn(e),e.algorithm.hash.name){case\"SHA-256\":case\"SHA-384\":case\"SHA-512\":return{name:e.algorithm.name,saltLength:parseInt(e.algorithm.hash.name.slice(-3),10)>>3};default:throw new Rt(\"unsupported RSA-PSS hash name\",{cause:e})}case\"RSASSA-PKCS1-v1_5\":return Jn(e),e.algorithm.name;case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":case\"Ed25519\":return e.algorithm.name}throw new Rt(\"unsupported CryptoKey algorithm name\",{cause:e})}(n),n,Et(o)));return\"\".concat(o,\".\").concat(r)}(c,u,n))}}const Bt=URL.parse?(e,t)=>URL.parse(e,t):(e,t)=>{try{return new URL(e,t)}catch(e){return null}};function Xt(e,t){if(t&&\"https:\"!==e.protocol)throw Ot(\"only requests to HTTPS are allowed\",Dn,e);if(\"https:\"!==e.protocol&&\"http:\"!==e.protocol)throw Ot(\"only HTTP and HTTPS requests are allowed\",Kn,e)}function Yt(e,t,n,o){let r;if(\"string\"!=typeof e||!(r=Bt(e)))throw Ot(\"authorization server metadata does not contain a valid \".concat(n?'\"as.mtls_endpoint_aliases.'.concat(t,'\"'):'\"as.'.concat(t,'\"')),void 0===e?Wn:Hn,{attribute:n?\"mtls_endpoint_aliases.\".concat(t):t});return Xt(r,o),r}function Qt(e,t,n,o){return n&&e.mtls_endpoint_aliases&&t in e.mtls_endpoint_aliases?Yt(e.mtls_endpoint_aliases[t],t,n,o):Yt(e[t],t,n,o)}class $t extends Error{constructor(e,t){var n;super(e,t),st(this,\"cause\",void 0),st(this,\"code\",void 0),st(this,\"error\",void 0),st(this,\"status\",void 0),st(this,\"error_description\",void 0),st(this,\"response\",void 0),this.name=this.constructor.name,this.code=Pn,this.cause=t.cause,this.error=t.cause.error,this.status=t.response.status,this.error_description=t.cause.error_description,Object.defineProperty(this,\"response\",{enumerable:!1,value:t.response}),null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}class en extends Error{constructor(e,t){var n,o;super(e,t),st(this,\"cause\",void 0),st(this,\"code\",void 0),st(this,\"error\",void 0),st(this,\"error_description\",void 0),this.name=this.constructor.name,this.code=In,this.cause=t.cause,this.error=t.cause.get(\"error\"),this.error_description=null!==(n=t.cause.get(\"error_description\"))&&void 0!==n?n:void 0,null===(o=Error.captureStackTrace)||void 0===o||o.call(Error,this,this.constructor)}}class tn extends Error{constructor(e,t){var n;super(e,t),st(this,\"cause\",void 0),st(this,\"code\",void 0),st(this,\"response\",void 0),st(this,\"status\",void 0),this.name=this.constructor.name,this.code=Tn,this.cause=t.cause,this.status=t.response.status,this.response=t.response,Object.defineProperty(this,\"response\",{enumerable:!1}),null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}const nn=\"[a-zA-Z0-9!#$%&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+\",on=new RegExp(\"^[,\\\\s]*(\"+nn+\")\"),rn=new RegExp('^[,\\\\s]*([a-zA-Z0-9!#$%&\\\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+)\\\\s*=\\\\s*\"((?:[^\"\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*)\"[,\\\\s]*(.*)'),an=new RegExp(\"^[,\\\\s]*([a-zA-Z0-9!#$%&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+)\\\\s*=\\\\s*([a-zA-Z0-9!#$%&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+)[,\\\\s]*(.*)\"),sn=new RegExp(\"^([a-zA-Z0-9\\\\-\\\\._\\\\~\\\\+\\\\/]+={0,2})(?:$|[,\\\\s])(.*)\");async function cn(e,t,n){if(e.status!==t){let t;var o;if(function(e){let t;if(t=function(e){if(!ft(e,Response))throw mt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");const t=e.headers.get(\"www-authenticate\");if(null===t)return;const n=[];let o=t;for(;o;){var r;let e=o.match(on);const t=null===(r=e)||void 0===r?void 0:r[1].toLowerCase();if(!t)return;const i=o.substring(e[0].length);if(i&&!i.match(/^[\\s,]/))return;const a=i.match(/^\\s+(.*)$/),s=!!a;o=a?a[1]:void 0;const c={};let u;if(s)for(;o;){let t,n;if(e=o.match(rn)){if([,t,n,o]=e,n.includes(\"\\\\\"))try{n=JSON.parse('\"'.concat(n,'\"'))}catch(e){}c[t.toLowerCase()]=n}else{if(!(e=o.match(an))){if(e=o.match(sn)){if(Object.keys(c).length)break;[,u,o]=e;break}return}[,t,n,o]=e,c[t.toLowerCase()]=n}}else o=i||void 0;const l={scheme:t,parameters:c};u&&(l.token68=u),n.push(l)}return n.length?n:void 0}(e))throw new tn(\"server responded with a challenge in the WWW-Authenticate HTTP Header\",{cause:t,response:e})}(e),t=await async function(e){if(e.status>399&&e.status<500){zn(e),Wt(e);try{const t=await e.clone().json();if(Ct(t)&&\"string\"==typeof t.error&&t.error.length)return t}catch(e){}}}(e))throw await(null===(o=e.body)||void 0===o?void 0:o.cancel()),new $t(\"server responded with an error in the response body\",{cause:t,response:e});throw Ot('\"response\" is not a conform '.concat(n,\" response (unexpected HTTP status code)\"),jn,e)}}function un(e){if(!vn.has(e))throw mt('\"options.DPoP\" is not a valid DPoPHandle',\"ERR_INVALID_ARG_VALUE\")}function ln(e){var t;return null===(t=e.headers.get(\"content-type\"))||void 0===t?void 0:t.split(\";\")[0]}async function dn(e,t,n,o,r,i,a){return await n(e,t,r,i),i.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"),((null==a?void 0:a[vt])||fetch)(o.href,{body:r,headers:Object.fromEntries(i.entries()),method:\"POST\",redirect:\"manual\",signal:Dt(o,null==a?void 0:a.signal)})}async function hn(e,t,n,o,r,i){var a;const s=Qt(e,\"token_endpoint\",t.use_mtls_endpoint_aliases,!0!==(null==i?void 0:i[yt]));r.set(\"grant_type\",o);const c=jt(null==i?void 0:i.headers);c.set(\"accept\",\"application/json\"),void 0!==(null==i?void 0:i.DPoP)&&(un(i.DPoP),await i.DPoP.addProof(s,c,\"POST\"));const u=await dn(e,t,n,s,r,c,i);return null==i||null===(a=i.DPoP)||void 0===a||a.cacheNonce(u,s),u}const pn=new WeakMap,fn=new WeakMap;function mn(e){if(!e.id_token)return;const t=pn.get(e);if(!t)throw mt('\"ref\" was already garbage collected or did not resolve from the proper sources',\"ERR_INVALID_ARG_VALUE\");return t}async function yn(e,t,n,o,r,i){if(Gt(e),Ft(t),!ft(n,Response))throw mt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");await cn(n,200,\"Token Endpoint\"),zn(n);const a=await Xn(n);if(Nt(a.access_token,'\"response\" body \"access_token\" property',xn,{body:a}),Nt(a.token_type,'\"response\" body \"token_type\" property',xn,{body:a}),a.token_type=a.token_type.toLowerCase(),void 0!==a.expires_in){let e=\"number\"!=typeof a.expires_in?parseFloat(a.expires_in):a.expires_in;Ut(e,!0,'\"response\" body \"expires_in\" property',xn,{body:a}),a.expires_in=e}if(void 0!==a.refresh_token&&Nt(a.refresh_token,'\"response\" body \"refresh_token\" property',xn,{body:a}),void 0!==a.scope&&\"string\"!=typeof a.scope)throw Ot('\"response\" body \"scope\" property must be a string',xn,{body:a});if(void 0!==a.id_token){Nt(a.id_token,'\"response\" body \"id_token\" property',xn,{body:a});const i=[\"aud\",\"exp\",\"iat\",\"iss\",\"sub\"];!0===t.require_auth_time&&i.push(\"auth_time\"),void 0!==t.default_max_age&&(Ut(t.default_max_age,!0,'\"client.default_max_age\"'),i.push(\"auth_time\")),null!=o&&o.length&&i.push(...o);const{claims:s,jwt:c}=await async function(e,t,n,o,r){let i,a,{0:s,1:c,length:u}=e.split(\".\");if(5===u){if(void 0===r)throw new Rt(\"JWE decryption is not configured\",{cause:e});e=await r(e),({0:s,1:c,length:u}=e.split(\".\"))}if(3!==u)throw Ot(\"Invalid JWT\",xn,e);try{i=JSON.parse(Et(Pt(s)))}catch(e){throw Ot(\"failed to parse JWT Header body as base64url encoded JSON\",On,e)}if(!Ct(i))throw Ot(\"JWT Header must be a top level object\",xn,e);if(t(i),void 0!==i.crit)throw new Rt('no JWT \"crit\" header parameter extensions are supported',{cause:{header:i}});try{a=JSON.parse(Et(Pt(c)))}catch(e){throw Ot(\"failed to parse JWT Payload body as base64url encoded JSON\",On,e)}if(!Ct(a))throw Ot(\"JWT Payload must be a top level object\",xn,e);const l=Vt()+n;if(void 0!==a.exp){if(\"number\"!=typeof a.exp)throw Ot('unexpected JWT \"exp\" (expiration time) claim type',xn,{claims:a});if(a.exp<=l-o)throw Ot('unexpected JWT \"exp\" (expiration time) claim value, expiration is past current timestamp',Ln,{claims:a,now:l,tolerance:o,claim:\"exp\"})}if(void 0!==a.iat&&\"number\"!=typeof a.iat)throw Ot('unexpected JWT \"iat\" (issued at) claim type',xn,{claims:a});if(void 0!==a.iss&&\"string\"!=typeof a.iss)throw Ot('unexpected JWT \"iss\" (issuer) claim type',xn,{claims:a});if(void 0!==a.nbf){if(\"number\"!=typeof a.nbf)throw Ot('unexpected JWT \"nbf\" (not before) claim type',xn,{claims:a});if(a.nbf>l+o)throw Ot('unexpected JWT \"nbf\" (not before) claim value',Ln,{claims:a,now:l,tolerance:o,claim:\"nbf\"})}if(void 0!==a.aud&&\"string\"!=typeof a.aud&&!Array.isArray(a.aud))throw Ot('unexpected JWT \"aud\" (audience) claim type',xn,{claims:a});return{header:i,claims:a,jwt:e}}(a.id_token,Gn.bind(void 0,t.id_token_signed_response_alg,e.id_token_signing_alg_values_supported,\"RS256\"),Jt(t),Mt(t),r).then(kn.bind(void 0,i)).then(gn.bind(void 0,e)).then(wn.bind(void 0,t.client_id));if(Array.isArray(s.aud)&&1!==s.aud.length){if(void 0===s.azp)throw Ot('ID Token \"aud\" (audience) claim includes additional untrusted audiences',Un,{claims:s,claim:\"aud\"});if(s.azp!==t.client_id)throw Ot('unexpected ID Token \"azp\" (authorized party) claim value',Un,{expected:t.client_id,claims:s,claim:\"azp\"})}void 0!==s.auth_time&&Ut(s.auth_time,!0,'ID Token \"auth_time\" (authentication time)',xn,{claims:s}),fn.set(n,c),pn.set(a,s)}if(void 0!==(null==i?void 0:i[a.token_type]))i[a.token_type](n,a);else if(\"dpop\"!==a.token_type&&\"bearer\"!==a.token_type)throw new Rt(\"unsupported `token_type` value\",{cause:{body:a}});return a}function wn(e,t){if(Array.isArray(t.claims.aud)){if(!t.claims.aud.includes(e))throw Ot('unexpected JWT \"aud\" (audience) claim value',Un,{expected:e,claims:t.claims,claim:\"aud\"})}else if(t.claims.aud!==e)throw Ot('unexpected JWT \"aud\" (audience) claim value',Un,{expected:e,claims:t.claims,claim:\"aud\"});return t}function gn(e,t){var n,o;const r=null!==(n=null===(o=e[Qn])||void 0===o?void 0:o.call(e,t))&&void 0!==n?n:e.issuer;if(t.claims.iss!==r)throw Ot('unexpected JWT \"iss\" (issuer) claim value',Un,{expected:r,claims:t.claims,claim:\"iss\"});return t}const vn=new WeakSet;const bn=Symbol();const _n={aud:\"audience\",c_hash:\"code hash\",client_id:\"client id\",exp:\"expiration time\",iat:\"issued at\",iss:\"issuer\",jti:\"jwt id\",nonce:\"nonce\",s_hash:\"state hash\",sub:\"subject\",ath:\"access token hash\",htm:\"http method\",htu:\"http uri\",cnf:\"confirmation\",auth_time:\"authentication time\"};function kn(e,t){for(const n of e)if(void 0===t.claims[n])throw Ot('JWT \"'.concat(n,'\" (').concat(_n[n],\") claim missing\"),xn,{claims:t.claims});return t}const Sn=Symbol(),En=Symbol();async function An(e,t,n,o){return\"string\"==typeof(null==o?void 0:o.expectedNonce)||\"number\"==typeof(null==o?void 0:o.maxAge)||null!=o&&o.requireIdToken?async function(e,t,n,o,r,i,a){const s=[];switch(o){case void 0:o=Sn;break;case Sn:break;default:Nt(o,'\"expectedNonce\" argument'),s.push(\"nonce\")}switch(null!=r||(r=t.default_max_age),r){case void 0:r=En;break;case En:break;default:Ut(r,!0,'\"maxAge\" argument'),s.push(\"auth_time\")}const c=await yn(e,t,n,s,i,a);Nt(c.id_token,'\"response\" body \"id_token\" property',xn,{body:c});const u=mn(c);if(r!==En){const e=Vt()+Jt(t),n=Mt(t);if(u.auth_time+r<e-n)throw Ot(\"too much time has elapsed since the last End-User authentication\",Ln,{claims:u,now:e,tolerance:n,claim:\"auth_time\"})}if(o===Sn){if(void 0!==u.nonce)throw Ot('unexpected ID Token \"nonce\" claim value',Un,{expected:void 0,claims:u,claim:\"nonce\"})}else if(u.nonce!==o)throw Ot('unexpected ID Token \"nonce\" claim value',Un,{expected:o,claims:u,claim:\"nonce\"});return c}(e,t,n,o.expectedNonce,o.maxAge,o[_t],o.recognizedTokenTypes):async function(e,t,n,o,r){const i=await yn(e,t,n,void 0,o,r),a=mn(i);if(a){if(void 0!==t.default_max_age){Ut(t.default_max_age,!0,'\"client.default_max_age\"');const e=Vt()+Jt(t),n=Mt(t);if(a.auth_time+t.default_max_age<e-n)throw Ot(\"too much time has elapsed since the last End-User authentication\",Ln,{claims:a,now:e,tolerance:n,claim:\"auth_time\"})}if(void 0!==a.nonce)throw Ot('unexpected ID Token \"nonce\" claim value',Un,{expected:void 0,claims:a,claim:\"nonce\"})}return i}(e,t,n,null==o?void 0:o[_t],null==o?void 0:o.recognizedTokenTypes)}const Tn=\"OAUTH_WWW_AUTHENTICATE_CHALLENGE\",Pn=\"OAUTH_RESPONSE_BODY_ERROR\",Rn=\"OAUTH_UNSUPPORTED_OPERATION\",In=\"OAUTH_AUTHORIZATION_RESPONSE_ERROR\",On=\"OAUTH_PARSE_ERROR\",xn=\"OAUTH_INVALID_RESPONSE\",Cn=\"OAUTH_RESPONSE_IS_NOT_JSON\",jn=\"OAUTH_RESPONSE_IS_NOT_CONFORM\",Dn=\"OAUTH_HTTP_REQUEST_FORBIDDEN\",Kn=\"OAUTH_REQUEST_PROTOCOL_FORBIDDEN\",Ln=\"OAUTH_JWT_TIMESTAMP_CHECK_FAILED\",Un=\"OAUTH_JWT_CLAIM_COMPARISON_FAILED\",Nn=\"OAUTH_JSON_ATTRIBUTE_COMPARISON_FAILED\",Wn=\"OAUTH_MISSING_SERVER_METADATA\",Hn=\"OAUTH_INVALID_SERVER_METADATA\";function zn(e){if(e.bodyUsed)throw mt('\"response\" body has been used already',\"ERR_INVALID_ARG_VALUE\")}function Jn(e){const{algorithm:t}=e;if(\"number\"!=typeof t.modulusLength||t.modulusLength<2048)throw new Rt(\"unsupported \".concat(t.name,\" modulusLength\"),{cause:e})}function Mn(e){const{algorithm:t}=e;switch(t.namedCurve){case\"P-256\":return\"SHA-256\";case\"P-384\":return\"SHA-384\";case\"P-521\":return\"SHA-512\";default:throw new Rt(\"unsupported ECDSA namedCurve\",{cause:e})}}async function Vn(e){if(\"POST\"!==e.method)throw mt(\"form_post responses are expected to use the POST method\",\"ERR_INVALID_ARG_VALUE\",{cause:e});if(\"application/x-www-form-urlencoded\"!==ln(e))throw mt(\"form_post responses are expected to use the application/x-www-form-urlencoded content-type\",\"ERR_INVALID_ARG_VALUE\",{cause:e});return async function(e){if(e.bodyUsed)throw mt(\"form_post Request instances must contain a readable body\",\"ERR_INVALID_ARG_VALUE\",{cause:e});return e.text()}(e)}function Gn(e,t,n,o){if(void 0===e)if(Array.isArray(t)){if(!t.includes(o.alg))throw Ot('unexpected JWT \"alg\" header parameter',xn,{header:o,expected:t,reason:\"authorization server metadata\"})}else{if(void 0===n)throw Ot('missing client or server configuration to verify used JWT \"alg\" header parameter',void 0,{client:e,issuer:t,fallback:n});if(\"string\"==typeof n?o.alg!==n:\"function\"==typeof n?!n(o.alg):!n.includes(o.alg))throw Ot('unexpected JWT \"alg\" header parameter',xn,{header:o,expected:n,reason:\"default value\"})}else if(\"string\"==typeof e?o.alg!==e:!e.includes(o.alg))throw Ot('unexpected JWT \"alg\" header parameter',xn,{header:o,expected:e,reason:\"client configuration\"})}function Fn(e,t){const{0:n,length:o}=e.getAll(t);if(o>1)throw Ot('\"'.concat(t,'\" parameter must be provided only once'),xn);return n}const Zn=Symbol(),qn=Symbol();function Bn(e,t,n,o){if(Gt(e),Ft(t),n instanceof URL&&(n=n.searchParams),!(n instanceof URLSearchParams))throw mt('\"parameters\" must be an instance of URLSearchParams, or URL',\"ERR_INVALID_ARG_TYPE\");if(Fn(n,\"response\"))throw Ot('\"parameters\" contains a JARM response, use validateJwtAuthResponse() instead of validateAuthResponse()',xn,{parameters:n});const r=Fn(n,\"iss\"),i=Fn(n,\"state\");if(!r&&e.authorization_response_iss_parameter_supported)throw Ot('response parameter \"iss\" (issuer) missing',xn,{parameters:n});if(r&&r!==e.issuer)throw Ot('unexpected \"iss\" (issuer) response parameter value',xn,{expected:e.issuer,parameters:n});switch(o){case void 0:case qn:if(void 0!==i)throw Ot('unexpected \"state\" response parameter encountered',xn,{expected:void 0,parameters:n});break;case Zn:break;default:if(Nt(o,'\"expectedState\" argument'),i!==o)throw Ot(void 0===i?'response parameter \"state\" missing':'unexpected \"state\" response parameter value',xn,{expected:o,parameters:n})}if(Fn(n,\"error\"))throw new en(\"authorization response from the server is an error\",{cause:n});const a=Fn(n,\"id_token\"),s=Fn(n,\"token\");if(void 0!==a||void 0!==s)throw new Rt(\"implicit and hybrid flows are not supported\");return c=new URLSearchParams(n),vn.add(c),c;var c}async function Xn(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Wt;try{t=await e.json()}catch(t){throw n(e),Ot('failed to parse \"response\" body as JSON',On,t)}if(!Ct(t))throw Ot('\"response\" body must be a top level object',xn,{body:t});return t}const Yn=Symbol(),Qn=Symbol(),$n=new TextEncoder,eo=new TextDecoder;function to(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){const o=e.charCodeAt(n);if(o>127)throw new TypeError(\"non-ASCII string encountered in encode()\");t[n]=o}return t}function no(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function oo(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(\"string\"==typeof e?e:eo.decode(e),{alphabet:\"base64url\"});let t=e;t instanceof Uint8Array&&(t=eo.decode(t)),t=t.replace(/-/g,\"+\").replace(/_/g,\"/\");try{return no(t)}catch(e){throw new TypeError(\"The input to be decoded is not correctly encoded.\")}}class ro extends Error{constructor(e,t){var n;super(e,t),st(this,\"code\",\"ERR_JOSE_GENERIC\"),this.name=this.constructor.name,null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}st(ro,\"code\",\"ERR_JOSE_GENERIC\");class io extends ro{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"unspecified\",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"unspecified\";super(e,{cause:{claim:n,reason:o,payload:t}}),st(this,\"code\",\"ERR_JWT_CLAIM_VALIDATION_FAILED\"),st(this,\"claim\",void 0),st(this,\"reason\",void 0),st(this,\"payload\",void 0),this.claim=n,this.reason=o,this.payload=t}}st(io,\"code\",\"ERR_JWT_CLAIM_VALIDATION_FAILED\");class ao extends ro{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"unspecified\",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"unspecified\";super(e,{cause:{claim:n,reason:o,payload:t}}),st(this,\"code\",\"ERR_JWT_EXPIRED\"),st(this,\"claim\",void 0),st(this,\"reason\",void 0),st(this,\"payload\",void 0),this.claim=n,this.reason=o,this.payload=t}}st(ao,\"code\",\"ERR_JWT_EXPIRED\");class so extends ro{constructor(){super(...arguments),st(this,\"code\",\"ERR_JOSE_ALG_NOT_ALLOWED\")}}st(so,\"code\",\"ERR_JOSE_ALG_NOT_ALLOWED\");class co extends ro{constructor(){super(...arguments),st(this,\"code\",\"ERR_JOSE_NOT_SUPPORTED\")}}st(co,\"code\",\"ERR_JOSE_NOT_SUPPORTED\");st(class extends ro{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"decryption operation failed\",arguments.length>1?arguments[1]:void 0),st(this,\"code\",\"ERR_JWE_DECRYPTION_FAILED\")}},\"code\",\"ERR_JWE_DECRYPTION_FAILED\");st(class extends ro{constructor(){super(...arguments),st(this,\"code\",\"ERR_JWE_INVALID\")}},\"code\",\"ERR_JWE_INVALID\");class uo extends ro{constructor(){super(...arguments),st(this,\"code\",\"ERR_JWS_INVALID\")}}st(uo,\"code\",\"ERR_JWS_INVALID\");class lo extends ro{constructor(){super(...arguments),st(this,\"code\",\"ERR_JWT_INVALID\")}}st(lo,\"code\",\"ERR_JWT_INVALID\");st(class extends ro{constructor(){super(...arguments),st(this,\"code\",\"ERR_JWK_INVALID\")}},\"code\",\"ERR_JWK_INVALID\");class ho extends ro{constructor(){super(...arguments),st(this,\"code\",\"ERR_JWKS_INVALID\")}}st(ho,\"code\",\"ERR_JWKS_INVALID\");class po extends ro{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"no applicable key found in the JSON Web Key Set\",arguments.length>1?arguments[1]:void 0),st(this,\"code\",\"ERR_JWKS_NO_MATCHING_KEY\")}}st(po,\"code\",\"ERR_JWKS_NO_MATCHING_KEY\");class fo extends ro{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"multiple matching keys found in the JSON Web Key Set\",arguments.length>1?arguments[1]:void 0),st(this,Symbol.asyncIterator,void 0),st(this,\"code\",\"ERR_JWKS_MULTIPLE_MATCHING_KEYS\")}}st(fo,\"code\",\"ERR_JWKS_MULTIPLE_MATCHING_KEYS\");class mo extends ro{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"request timed out\",arguments.length>1?arguments[1]:void 0),st(this,\"code\",\"ERR_JWKS_TIMEOUT\")}}st(mo,\"code\",\"ERR_JWKS_TIMEOUT\");class yo extends ro{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"signature verification failed\",arguments.length>1?arguments[1]:void 0),st(this,\"code\",\"ERR_JWS_SIGNATURE_VERIFICATION_FAILED\")}}st(yo,\"code\",\"ERR_JWS_SIGNATURE_VERIFICATION_FAILED\");const wo=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"algorithm.name\";return new TypeError(\"CryptoKey does not support this operation, its \".concat(t,\" must be \").concat(e))},go=(e,t)=>e.name===t;function vo(e){return parseInt(e.name.slice(4),10)}function bo(e,t,n){switch(t){case\"HS256\":case\"HS384\":case\"HS512\":{if(!go(e.algorithm,\"HMAC\"))throw wo(\"HMAC\");const n=parseInt(t.slice(2),10);if(vo(e.algorithm.hash)!==n)throw wo(\"SHA-\".concat(n),\"algorithm.hash\");break}case\"RS256\":case\"RS384\":case\"RS512\":{if(!go(e.algorithm,\"RSASSA-PKCS1-v1_5\"))throw wo(\"RSASSA-PKCS1-v1_5\");const n=parseInt(t.slice(2),10);if(vo(e.algorithm.hash)!==n)throw wo(\"SHA-\".concat(n),\"algorithm.hash\");break}case\"PS256\":case\"PS384\":case\"PS512\":{if(!go(e.algorithm,\"RSA-PSS\"))throw wo(\"RSA-PSS\");const n=parseInt(t.slice(2),10);if(vo(e.algorithm.hash)!==n)throw wo(\"SHA-\".concat(n),\"algorithm.hash\");break}case\"Ed25519\":case\"EdDSA\":if(!go(e.algorithm,\"Ed25519\"))throw wo(\"Ed25519\");break;case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":if(!go(e.algorithm,t))throw wo(t);break;case\"ES256\":case\"ES384\":case\"ES512\":{if(!go(e.algorithm,\"ECDSA\"))throw wo(\"ECDSA\");const n=function(e){switch(e){case\"ES256\":return\"P-256\";case\"ES384\":return\"P-384\";case\"ES512\":return\"P-521\";default:throw new Error(\"unreachable\")}}(t);if(e.algorithm.namedCurve!==n)throw wo(n,\"algorithm.namedCurve\");break}default:throw new TypeError(\"CryptoKey does not support this operation\")}!function(e,t){if(t&&!e.usages.includes(t))throw new TypeError(\"CryptoKey does not support this operation, its usages must include \".concat(t,\".\"))}(e,n)}function _o(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];if((o=o.filter(Boolean)).length>2){const t=o.pop();e+=\"one of type \".concat(o.join(\", \"),\", or \").concat(t,\".\")}else 2===o.length?e+=\"one of type \".concat(o[0],\" or \").concat(o[1],\".\"):e+=\"of type \".concat(o[0],\".\");if(null==t)e+=\" Received \".concat(t);else if(\"function\"==typeof t&&t.name)e+=\" Received function \".concat(t.name);else if(\"object\"==typeof t&&null!=t){var i;null!==(i=t.constructor)&&void 0!==i&&i.name&&(e+=\" Received an instance of \".concat(t.constructor.name))}return e}const ko=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];return _o(\"Key for the \".concat(e,\" algorithm must be \"),t,...o)},So=e=>{if(\"CryptoKey\"===(null==e?void 0:e[Symbol.toStringTag]))return!0;try{return e instanceof CryptoKey}catch(e){return!1}},Eo=e=>\"KeyObject\"===(null==e?void 0:e[Symbol.toStringTag]),Ao=e=>So(e)||Eo(e);function To(e){if(\"object\"!=typeof(t=e)||null===t||\"[object Object]\"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let n=e;for(;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}const Po=(e,t)=>{if(e.byteLength!==t.length)return!1;for(let n=0;n<e.byteLength;n++)if(e[n]!==t[n])return!1;return!0},Ro=e=>{const t=e.data[e.pos++];if(128&t){const n=127&t;let o=0;for(let t=0;t<n;t++)o=o<<8|e.data[e.pos++];return o}return t},Io=(e,t,n)=>{if(e.data[e.pos++]!==t)throw new Error(n)},Oo=(e,t)=>{const n=e.data.subarray(e.pos,e.pos+t);return e.pos+=t,n};const xo=e=>{const t=(e=>{Io(e,6,\"Expected algorithm OID\");const t=Ro(e);return Oo(e,t)})(e);if(Po(t,[43,101,110]))return\"X25519\";if(!Po(t,[42,134,72,206,61,2,1]))throw new Error(\"Unsupported key algorithm\");Io(e,6,\"Expected curve OID\");const n=Ro(e),o=Oo(e,n);for(const{name:e,oid:t}of[{name:\"P-256\",oid:[42,134,72,206,61,3,1,7]},{name:\"P-384\",oid:[43,129,4,0,34]},{name:\"P-521\",oid:[43,129,4,0,35]}])if(Po(o,t))return e;throw new Error(\"Unsupported named curve\")},Co=async(e,t,n,o)=>{var r;let i,a;const s=\"spki\"===e,c=()=>s?[\"verify\"]:[\"sign\"];switch(n){case\"PS256\":case\"PS384\":case\"PS512\":i={name:\"RSA-PSS\",hash:\"SHA-\".concat(n.slice(-3))},a=c();break;case\"RS256\":case\"RS384\":case\"RS512\":i={name:\"RSASSA-PKCS1-v1_5\",hash:\"SHA-\".concat(n.slice(-3))},a=c();break;case\"RSA-OAEP\":case\"RSA-OAEP-256\":case\"RSA-OAEP-384\":case\"RSA-OAEP-512\":i={name:\"RSA-OAEP\",hash:\"SHA-\".concat(parseInt(n.slice(-3),10)||1)},a=s?[\"encrypt\",\"wrapKey\"]:[\"decrypt\",\"unwrapKey\"];break;case\"ES256\":case\"ES384\":case\"ES512\":i={name:\"ECDSA\",namedCurve:{ES256:\"P-256\",ES384:\"P-384\",ES512:\"P-521\"}[n]},a=c();break;case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":try{const e=o.getNamedCurve(t);i=\"X25519\"===e?{name:\"X25519\"}:{name:\"ECDH\",namedCurve:e}}catch(e){throw new co(\"Invalid or unsupported key format\")}a=s?[]:[\"deriveBits\"];break;case\"Ed25519\":case\"EdDSA\":i={name:\"Ed25519\"},a=c();break;case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":i={name:n},a=c();break;default:throw new co('Invalid or unsupported \"alg\" (Algorithm) value')}return crypto.subtle.importKey(e,t,i,null!==(r=null==o?void 0:o.extractable)&&void 0!==r?r:!!s,a)},jo=(e,t,n)=>{var o;const r=((e,t)=>no(e.replace(t,\"\")))(e,/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\\s)/g);let i=n;return null!=t&&null!==(o=t.startsWith)&&void 0!==o&&o.call(t,\"ECDH-ES\")&&(i||(i={}),i.getNamedCurve=e=>{const t={data:e,pos:0};return function(e){Io(e,48,\"Invalid PKCS#8 structure\"),Ro(e),Io(e,2,\"Expected version field\");const t=Ro(e);e.pos+=t,Io(e,48,\"Expected algorithm identifier\");const n=Ro(e);e.pos}(t),xo(t)}),Co(\"pkcs8\",r,t,i)};async function Do(e){var t,n;if(!e.alg)throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');const{algorithm:o,keyUsages:r}=function(e){let t,n;switch(e.kty){case\"AKP\":switch(e.alg){case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":t={name:e.alg},n=e.priv?[\"sign\"]:[\"verify\"];break;default:throw new co('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;case\"RSA\":switch(e.alg){case\"PS256\":case\"PS384\":case\"PS512\":t={name:\"RSA-PSS\",hash:\"SHA-\".concat(e.alg.slice(-3))},n=e.d?[\"sign\"]:[\"verify\"];break;case\"RS256\":case\"RS384\":case\"RS512\":t={name:\"RSASSA-PKCS1-v1_5\",hash:\"SHA-\".concat(e.alg.slice(-3))},n=e.d?[\"sign\"]:[\"verify\"];break;case\"RSA-OAEP\":case\"RSA-OAEP-256\":case\"RSA-OAEP-384\":case\"RSA-OAEP-512\":t={name:\"RSA-OAEP\",hash:\"SHA-\".concat(parseInt(e.alg.slice(-3),10)||1)},n=e.d?[\"decrypt\",\"unwrapKey\"]:[\"encrypt\",\"wrapKey\"];break;default:throw new co('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;case\"EC\":switch(e.alg){case\"ES256\":t={name:\"ECDSA\",namedCurve:\"P-256\"},n=e.d?[\"sign\"]:[\"verify\"];break;case\"ES384\":t={name:\"ECDSA\",namedCurve:\"P-384\"},n=e.d?[\"sign\"]:[\"verify\"];break;case\"ES512\":t={name:\"ECDSA\",namedCurve:\"P-521\"},n=e.d?[\"sign\"]:[\"verify\"];break;case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":t={name:\"ECDH\",namedCurve:e.crv},n=e.d?[\"deriveBits\"]:[];break;default:throw new co('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;case\"OKP\":switch(e.alg){case\"Ed25519\":case\"EdDSA\":t={name:\"Ed25519\"},n=e.d?[\"sign\"]:[\"verify\"];break;case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":t={name:e.crv},n=e.d?[\"deriveBits\"]:[];break;default:throw new co('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;default:throw new co('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value')}return{algorithm:t,keyUsages:n}}(e),i=ut({},e);return\"AKP\"!==i.kty&&delete i.alg,delete i.use,crypto.subtle.importKey(\"jwk\",i,o,null!==(t=e.ext)&&void 0!==t?t:!e.d&&!e.priv,null!==(n=e.key_ops)&&void 0!==n?n:r)}const Ko=e=>To(e)&&\"string\"==typeof e.kty;let Lo;const Uo=async function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];Lo||(Lo=new WeakMap);let r=Lo.get(e);if(null!=r&&r[n])return r[n];const i=await Do(ut(ut({},t),{},{alg:n}));return o&&Object.freeze(e),r?r[n]=i:Lo.set(e,{[n]:i}),i};async function No(e,t){if(e instanceof Uint8Array)return e;if(So(e))return e;if(Eo(e)){if(\"secret\"===e.type)return e.export();if(\"toCryptoKey\"in e&&\"function\"==typeof e.toCryptoKey)try{return((e,t)=>{Lo||(Lo=new WeakMap);let n=Lo.get(e);if(null!=n&&n[t])return n[t];const o=\"public\"===e.type,r=!!o;let i;if(\"x25519\"===e.asymmetricKeyType){switch(t){case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":break;default:throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\")}i=e.toCryptoKey(e.asymmetricKeyType,r,o?[]:[\"deriveBits\"])}if(\"ed25519\"===e.asymmetricKeyType){if(\"EdDSA\"!==t&&\"Ed25519\"!==t)throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");i=e.toCryptoKey(e.asymmetricKeyType,r,[o?\"verify\":\"sign\"])}switch(e.asymmetricKeyType){case\"ml-dsa-44\":case\"ml-dsa-65\":case\"ml-dsa-87\":if(t!==e.asymmetricKeyType.toUpperCase())throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");i=e.toCryptoKey(e.asymmetricKeyType,r,[o?\"verify\":\"sign\"])}if(\"rsa\"===e.asymmetricKeyType){let n;switch(t){case\"RSA-OAEP\":n=\"SHA-1\";break;case\"RS256\":case\"PS256\":case\"RSA-OAEP-256\":n=\"SHA-256\";break;case\"RS384\":case\"PS384\":case\"RSA-OAEP-384\":n=\"SHA-384\";break;case\"RS512\":case\"PS512\":case\"RSA-OAEP-512\":n=\"SHA-512\";break;default:throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\")}if(t.startsWith(\"RSA-OAEP\"))return e.toCryptoKey({name:\"RSA-OAEP\",hash:n},r,o?[\"encrypt\"]:[\"decrypt\"]);i=e.toCryptoKey({name:t.startsWith(\"PS\")?\"RSA-PSS\":\"RSASSA-PKCS1-v1_5\",hash:n},r,[o?\"verify\":\"sign\"])}if(\"ec\"===e.asymmetricKeyType){var a;const n=new Map([[\"prime256v1\",\"P-256\"],[\"secp384r1\",\"P-384\"],[\"secp521r1\",\"P-521\"]]).get(null===(a=e.asymmetricKeyDetails)||void 0===a?void 0:a.namedCurve);if(!n)throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");\"ES256\"===t&&\"P-256\"===n&&(i=e.toCryptoKey({name:\"ECDSA\",namedCurve:n},r,[o?\"verify\":\"sign\"])),\"ES384\"===t&&\"P-384\"===n&&(i=e.toCryptoKey({name:\"ECDSA\",namedCurve:n},r,[o?\"verify\":\"sign\"])),\"ES512\"===t&&\"P-521\"===n&&(i=e.toCryptoKey({name:\"ECDSA\",namedCurve:n},r,[o?\"verify\":\"sign\"])),t.startsWith(\"ECDH-ES\")&&(i=e.toCryptoKey({name:\"ECDH\",namedCurve:n},r,o?[]:[\"deriveBits\"]))}if(!i)throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");return n?n[t]=i:Lo.set(e,{[t]:i}),i})(e,t)}catch(e){if(e instanceof TypeError)throw e}let n=e.export({format:\"jwk\"});return Uo(e,n,t)}if(Ko(e))return e.k?oo(e.k):Uo(e,e,t,!0);throw new Error(\"unreachable\")}const Wo=e=>null==e?void 0:e[Symbol.toStringTag],Ho=(e,t,n)=>{if(void 0!==t.use){let e;switch(n){case\"sign\":case\"verify\":e=\"sig\";break;case\"encrypt\":case\"decrypt\":e=\"enc\"}if(t.use!==e)throw new TypeError('Invalid key for this operation, its \"use\" must be \"'.concat(e,'\" when present'))}if(void 0!==t.alg&&t.alg!==e)throw new TypeError('Invalid key for this operation, its \"alg\" must be \"'.concat(e,'\" when present'));if(Array.isArray(t.key_ops)){var o,r;let i;switch(!0){case\"sign\"===n||\"verify\"===n:case\"dir\"===e:case e.includes(\"CBC-HS\"):i=n;break;case e.startsWith(\"PBES2\"):i=\"deriveBits\";break;case/^A\\d{3}(?:GCM)?(?:KW)?$/.test(e):i=!e.includes(\"GCM\")&&e.endsWith(\"KW\")?\"encrypt\"===n?\"wrapKey\":\"unwrapKey\":n;break;case\"encrypt\"===n&&e.startsWith(\"RSA\"):i=\"wrapKey\";break;case\"decrypt\"===n:i=e.startsWith(\"RSA\")?\"unwrapKey\":\"deriveBits\"}if(i&&!1===(null===(o=t.key_ops)||void 0===o||null===(r=o.includes)||void 0===r?void 0:r.call(o,i)))throw new TypeError('Invalid key for this operation, its \"key_ops\" must include \"'.concat(i,'\" when present'))}return!0};function zo(e,t,n){switch(e.substring(0,2)){case\"A1\":case\"A2\":case\"di\":case\"HS\":case\"PB\":((e,t,n)=>{if(!(t instanceof Uint8Array)){if(Ko(t)){if((e=>\"oct\"===e.kty&&\"string\"==typeof e.k)(t)&&Ho(e,t,n))return;throw new TypeError('JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present')}if(!Ao(t))throw new TypeError(ko(e,t,\"CryptoKey\",\"KeyObject\",\"JSON Web Key\",\"Uint8Array\"));if(\"secret\"!==t.type)throw new TypeError(\"\".concat(Wo(t),' instances for symmetric algorithms must be of type \"secret\"'))}})(e,t,n);break;default:((e,t,n)=>{if(Ko(t))switch(n){case\"decrypt\":case\"sign\":if((e=>\"oct\"!==e.kty&&(\"AKP\"===e.kty&&\"string\"==typeof e.priv||\"string\"==typeof e.d))(t)&&Ho(e,t,n))return;throw new TypeError(\"JSON Web Key for this operation must be a private JWK\");case\"encrypt\":case\"verify\":if((e=>\"oct\"!==e.kty&&void 0===e.d&&void 0===e.priv)(t)&&Ho(e,t,n))return;throw new TypeError(\"JSON Web Key for this operation must be a public JWK\")}if(!Ao(t))throw new TypeError(ko(e,t,\"CryptoKey\",\"KeyObject\",\"JSON Web Key\"));if(\"secret\"===t.type)throw new TypeError(\"\".concat(Wo(t),' instances for asymmetric algorithms must not be of type \"secret\"'));if(\"public\"===t.type)switch(n){case\"sign\":throw new TypeError(\"\".concat(Wo(t),' instances for asymmetric algorithm signing must be of type \"private\"'));case\"decrypt\":throw new TypeError(\"\".concat(Wo(t),' instances for asymmetric algorithm decryption must be of type \"private\"'))}if(\"private\"===t.type)switch(n){case\"verify\":throw new TypeError(\"\".concat(Wo(t),' instances for asymmetric algorithm verifying must be of type \"public\"'));case\"encrypt\":throw new TypeError(\"\".concat(Wo(t),' instances for asymmetric algorithm encryption must be of type \"public\"'))}})(e,t,n)}}var Jo,Mo;let Vo,Go;if(\"undefined\"==typeof navigator||null===(Jo=navigator.userAgent)||void 0===Jo||null===(Mo=Jo.startsWith)||void 0===Mo||!Mo.call(Jo,\"Mozilla/5.0 \")){const e=\"v6.8.1\";Go=\"\".concat(\"openid-client\",\"/\").concat(e),Vo={\"user-agent\":Go}}const Fo=e=>Zo.get(e);let Zo,qo;function Bo(e){return void 0!==e?Zt(e):(qo||(qo=new WeakMap),(e,t,n,o)=>{let r;return(r=qo.get(t))||(!function(e,t){if(\"string\"!=typeof e)throw $o(\"\".concat(t,\" must be a string\"),Qo);if(0===e.length)throw $o(\"\".concat(t,\" must not be empty\"),Yo)}(t.client_secret,'\"metadata.client_secret\"'),r=Zt(t.client_secret),qo.set(t,r)),r(e,t,n,o)})}const Xo=vt,Yo=\"ERR_INVALID_ARG_VALUE\",Qo=\"ERR_INVALID_ARG_TYPE\";function $o(e,t,n){const o=new TypeError(e,{cause:n});return Object.assign(o,{code:t}),o}function er(e){return async function(e){return Nt(e,\"codeVerifier\"),Pt(await crypto.subtle.digest(\"SHA-256\",Et(e)))}(e)}function tr(){return Ht()}class nr extends Error{constructor(e,t){var n;super(e,t),st(this,\"code\",void 0),this.name=this.constructor.name,this.code=null==t?void 0:t.code,null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}function or(e,t,n){return new nr(e,{cause:t,code:n})}function rr(e){if(e instanceof TypeError||e instanceof nr||e instanceof $t||e instanceof en||e instanceof tn)throw e;if(e instanceof It)switch(e.code){case Dn:throw or(\"only requests to HTTPS are allowed\",e,e.code);case Kn:throw or(\"only requests to HTTP or HTTPS are allowed\",e,e.code);case jn:throw or(\"unexpected HTTP response status code\",e.cause,e.code);case Cn:throw or(\"unexpected response content-type\",e.cause,e.code);case On:throw or(\"parsing error occured\",e,e.code);case xn:throw or(\"invalid response encountered\",e,e.code);case Un:throw or(\"unexpected JWT claim value encountered\",e,e.code);case Nn:throw or(\"unexpected JSON attribute value encountered\",e,e.code);case Ln:throw or(\"JWT timestamp claim value failed validation\",e,e.code);default:throw or(e.message,e,e.code)}if(e instanceof Rt)throw or(\"unsupported operation\",e,e.code);if(e instanceof DOMException)switch(e.name){case\"OperationError\":throw or(\"runtime operation error\",e,Rn);case\"NotSupportedError\":throw or(\"runtime unsupported operation\",e,Rn);case\"TimeoutError\":throw or(\"operation timed out\",e,\"OAUTH_TIMEOUT\");case\"AbortError\":throw or(\"operation aborted\",e,\"OAUTH_ABORT\")}throw new nr(\"something went wrong\",{cause:e})}async function ir(e,t,n,o,r){const i=await async function(e,t){var n,o;if(!(e instanceof URL))throw $o('\"server\" must be an instance of URL',Qo);const r=!e.href.includes(\"/.well-known/\"),i=null!==(n=null==t?void 0:t.timeout)&&void 0!==n?n:30,a=AbortSignal.timeout(1e3*i),s=await(r?Lt(e,{algorithm:null==t?void 0:t.algorithm,[vt]:null==t?void 0:t[Xo],[yt]:null==t||null===(o=t.execute)||void 0===o?void 0:o.includes(pr),signal:a,headers:new Headers(Vo)}):((null==t?void 0:t[Xo])||fetch)((Xt(e,null==t||null===(c=t.execute)||void 0===c||!c.includes(pr)),e.href),{headers:Object.fromEntries(new Headers(ut({accept:\"application/json\"},Vo)).entries()),body:void 0,method:\"GET\",redirect:\"manual\",signal:a})).then((e=>async function(e,t){const n=e;if(!(n instanceof URL)&&n!==Yn)throw mt('\"expectedIssuerIdentifier\" must be an instance of URL',\"ERR_INVALID_ARG_TYPE\");if(!ft(t,Response))throw mt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");if(200!==t.status)throw Ot('\"response\" is not a conform Authorization Server Metadata response (unexpected HTTP status code)',jn,t);zn(t);const o=await Xn(t);if(Nt(o.issuer,'\"response\" body \"issuer\" property',xn,{body:o}),n!==Yn&&new URL(o.issuer).href!==n.href)throw Ot('\"response\" body \"issuer\" property does not match the expected value',Nn,{expected:n.href,body:o,attribute:\"issuer\"});return o}(Yn,e))).catch(rr);var c;r&&new URL(s.issuer).href!==e.href&&(function(e,t,n){return!(\"https://login.microsoftonline.com\"!==e.origin||null!=n&&n.algorithm&&\"oidc\"!==n.algorithm||(t[ar]=!0,0))}(e,s,t)||function(e,t){return!(!e.hostname.endsWith(\".b2clogin.com\")||null!=t&&t.algorithm&&\"oidc\"!==t.algorithm)}(e,t)||(()=>{throw new nr(\"discovered metadata issuer does not match the expected issuer\",{code:Nn,cause:{expected:e.href,body:s,attribute:\"issuer\"}})})());return s}(e,r),a=new sr(i,t,n,o);let s=Fo(a);if(null!=r&&r[Xo]&&(s.fetch=r[Xo]),null!=r&&r.timeout&&(s.timeout=r.timeout),null!=r&&r.execute)for(const e of r.execute)e(a);return a}new TextDecoder;const ar=Symbol();class sr{constructor(e,t,n,o){var r,i,a,s,c;if(\"string\"!=typeof t||!t.length)throw $o('\"clientId\" must be a non-empty string',Qo);if(\"string\"==typeof n&&(n={client_secret:n}),void 0!==(null===(r=n)||void 0===r?void 0:r.client_id)&&t!==n.client_id)throw $o('\"clientId\" and \"metadata.client_id\" must be the same',Yo);const u=ut(ut({},structuredClone(n)),{},{client_id:t});let l;u[wt]=null!==(i=null===(a=n)||void 0===a?void 0:a[wt])&&void 0!==i?i:0,u[gt]=null!==(s=null===(c=n)||void 0===c?void 0:c[gt])&&void 0!==s?s:30,l=o||(\"string\"==typeof u.client_secret&&u.client_secret.length?Bo(u.client_secret):(e,t,n,o)=>{n.set(\"client_id\",t.client_id)});let d=Object.freeze(u);const h=structuredClone(e);ar in e&&(h[Qn]=t=>{let{claims:{tid:n}}=t;return e.issuer.replace(\"{tenantid}\",n)});let p=Object.freeze(h);Zo||(Zo=new WeakMap),Zo.set(this,{__proto__:null,as:p,c:d,auth:l,tlsOnly:!0,jwksCache:{}})}serverMetadata(){const e=structuredClone(Fo(this).as);return function(e){Object.defineProperties(e,function(e){return{supportsPKCE:{__proto__:null,value(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"S256\";return!0===(null===(t=e.code_challenge_methods_supported)||void 0===t?void 0:t.includes(n))}}}}(e))}(e),e}clientMetadata(){return structuredClone(Fo(this).c)}get timeout(){return Fo(this).timeout}set timeout(e){Fo(this).timeout=e}get[Xo](){return Fo(this).fetch}set[Xo](e){Fo(this).fetch=e}}function cr(e){Object.defineProperties(e,function(e){let t;if(void 0!==e.expires_in){const n=new Date;n.setSeconds(n.getSeconds()+e.expires_in),t=n.getTime()}return{expiresIn:{__proto__:null,value(){if(t){const e=Date.now();return t>e?Math.floor((t-e)/1e3):0}}},claims:{__proto__:null,value(){try{return mn(this)}catch(e){return}}}}}(e))}async function ur(e,t,n){var o;let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=null===(o=e.headers.get(\"retry-after\"))||void 0===o?void 0:o.trim();if(void 0===i)return;let a;if(/^\\d+$/.test(i))a=parseInt(i,10);else{const e=new Date(i);if(Number.isFinite(e.getTime())){const t=new Date,n=e.getTime()-t.getTime();n>0&&(a=Math.ceil(n/1e3))}}if(r&&!Number.isFinite(a))throw new It(\"invalid Retry-After header value\",{cause:e});a>t&&await lr(a-t,n)}function lr(e,t){return new Promise(((n,o)=>{const r=e=>{try{t.throwIfAborted()}catch(e){return void o(e)}if(e<=0)return void n();const i=Math.min(e,5);setTimeout((()=>r(e-i)),1e3*i)};r(e)}))}async function dr(e,t){vr(e);const{as:n,c:o,auth:r,fetch:i,tlsOnly:a,timeout:s}=Fo(e);return async function(e,t,n,o,r){Gt(e),Ft(t);const i=Qt(e,\"backchannel_authentication_endpoint\",t.use_mtls_endpoint_aliases,!0!==(null==r?void 0:r[yt])),a=new URLSearchParams(o);a.set(\"client_id\",t.client_id);const s=jt(null==r?void 0:r.headers);return s.set(\"accept\",\"application/json\"),dn(e,t,n,i,a,s,r)}(n,o,r,t,{[vt]:i,[yt]:!a,headers:new Headers(Vo),signal:br(s)}).then((e=>async function(e,t,n){if(Gt(e),Ft(t),!ft(n,Response))throw mt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");await cn(n,200,\"Backchannel Authentication Endpoint\"),zn(n);const o=await Xn(n);Nt(o.auth_req_id,'\"response\" body \"auth_req_id\" property',xn,{body:o});let r=\"number\"!=typeof o.expires_in?parseFloat(o.expires_in):o.expires_in;return Ut(r,!0,'\"response\" body \"expires_in\" property',xn,{body:o}),o.expires_in=r,void 0!==o.interval&&Ut(o.interval,!1,'\"response\" body \"interval\" property',xn,{body:o}),o}(n,o,e))).catch(rr)}async function hr(e,t,n,o){var r,i;vr(e),n=new URLSearchParams(n);let a=null!==(r=t.interval)&&void 0!==r?r:5;const s=null!==(i=null==o?void 0:o.signal)&&void 0!==i?i:AbortSignal.timeout(1e3*t.expires_in);try{await lr(a,s)}catch(e){rr(e)}const{as:c,c:u,auth:l,fetch:d,tlsOnly:h,nonRepudiation:p,timeout:f,decrypt:m}=Fo(e),y=(r,i)=>hr(e,ut(ut({},t),{},{interval:r}),n,ut(ut({},o),{},{signal:s,flag:i})),w=await async function(e,t,n,o,r){Gt(e),Ft(t),Nt(o,'\"authReqId\"');const i=new URLSearchParams(null==r?void 0:r.additionalParameters);return i.set(\"auth_req_id\",o),hn(e,t,n,\"urn:openid:params:grant-type:ciba\",i,r)}(c,u,l,t.auth_req_id,{[vt]:d,[yt]:!h,additionalParameters:n,DPoP:null==o?void 0:o.DPoP,headers:new Headers(Vo),signal:s.aborted?s:br(f)}).catch(rr);var g;if(503===w.status&&w.headers.has(\"retry-after\"))return await ur(w,a,s,!0),await(null===(g=w.body)||void 0===g?void 0:g.cancel()),y(a);const v=async function(e,t,n,o){return yn(e,t,n,void 0,null==o?void 0:o[_t],null==o?void 0:o.recognizedTokenTypes)}(c,u,w,{[_t]:m});let b;try{b=await v}catch(e){if(_r(e,o))return y(a,kr);if(e instanceof $t)switch(e.error){case\"slow_down\":a+=5;case\"authorization_pending\":return await ur(e.response,a,s),y(a)}rr(e)}return b.id_token&&await(null==p?void 0:p(w)),cr(b),b}function pr(e){Fo(e).tlsOnly=!1}async function fr(e,t,n,o,r){if(vr(e),!((null==r?void 0:r.flag)===kr||t instanceof URL||function(e,t){try{return Object.getPrototypeOf(e)[Symbol.toStringTag]===t}catch(e){return!1}}(t,\"Request\")))throw $o('\"currentUrl\" must be an instance of URL, or Request',Qo);let i,a;const{as:s,c:c,auth:u,fetch:l,tlsOnly:d,jarm:h,hybrid:p,nonRepudiation:f,timeout:m,decrypt:y,implicit:w}=Fo(e);if((null==r?void 0:r.flag)===kr)i=r.authResponse,a=r.redirectUri;else{if(!(t instanceof URL)){const e=t;switch(t=new URL(t.url),e.method){case\"GET\":break;case\"POST\":const n=new URLSearchParams(await Vn(e));if(p)t.hash=n.toString();else for(const[e,o]of n.entries())t.searchParams.append(e,o);break;default:throw $o(\"unexpected Request HTTP method\",Yo)}}switch(a=function(e){return(e=new URL(e)).search=\"\",e.hash=\"\",e.href}(t),!0){case!!h:i=await h(t,null==n?void 0:n.expectedState);break;case!!p:i=await p(t,null==n?void 0:n.expectedNonce,null==n?void 0:n.expectedState,null==n?void 0:n.maxAge);break;case!!w:throw new TypeError(\"authorizationCodeGrant() cannot be used by response_type=id_token clients\");default:try{i=Bn(s,c,t.searchParams,null==n?void 0:n.expectedState)}catch(e){rr(e)}}}const g=await async function(e,t,n,o,r,i,a){if(Gt(e),Ft(t),!vn.has(o))throw mt('\"callbackParameters\" must be an instance of URLSearchParams obtained from \"validateAuthResponse()\", or \"validateJwtAuthResponse()',\"ERR_INVALID_ARG_VALUE\");Nt(r,'\"redirectUri\"');const s=Fn(o,\"code\");if(!s)throw Ot('no authorization code in \"callbackParameters\"',xn);const c=new URLSearchParams(null==a?void 0:a.additionalParameters);return c.set(\"redirect_uri\",r),c.set(\"code\",s),i!==bn&&(Nt(i,'\"codeVerifier\"'),c.set(\"code_verifier\",i)),hn(e,t,n,\"authorization_code\",c,a)}(s,c,u,i,a,(null==n?void 0:n.pkceCodeVerifier)||bn,{additionalParameters:o,[vt]:l,[yt]:!d,DPoP:null==r?void 0:r.DPoP,headers:new Headers(Vo),signal:br(m)}).catch(rr);\"string\"!=typeof(null==n?void 0:n.expectedNonce)&&\"number\"!=typeof(null==n?void 0:n.maxAge)||(n.idTokenExpected=!0);const v=An(s,c,g,{expectedNonce:null==n?void 0:n.expectedNonce,maxAge:null==n?void 0:n.maxAge,requireIdToken:null==n?void 0:n.idTokenExpected,[_t]:y});let b;try{b=await v}catch(t){if(_r(t,r))return fr(e,void 0,n,o,ut(ut({},r),{},{flag:kr,authResponse:i,redirectUri:a}));rr(t)}return b.id_token&&await(null==f?void 0:f(g)),cr(b),b}async function mr(e,t,n,o){vr(e),n=new URLSearchParams(n);const{as:r,c:i,auth:a,fetch:s,tlsOnly:c,nonRepudiation:u,timeout:l,decrypt:d}=Fo(e),h=await async function(e,t,n,o,r){Gt(e),Ft(t),Nt(o,'\"refreshToken\"');const i=new URLSearchParams(null==r?void 0:r.additionalParameters);return i.set(\"refresh_token\",o),hn(e,t,n,\"refresh_token\",i,r)}(r,i,a,t,{[vt]:s,[yt]:!c,additionalParameters:n,DPoP:null==o?void 0:o.DPoP,headers:new Headers(Vo),signal:br(l)}).catch(rr),p=async function(e,t,n,o){return yn(e,t,n,void 0,null==o?void 0:o[_t],null==o?void 0:o.recognizedTokenTypes)}(r,i,h,{[_t]:d});let f;try{f=await p}catch(r){if(_r(r,o))return mr(e,t,n,ut(ut({},o),{},{flag:kr}));rr(r)}return f.id_token&&await(null==u?void 0:u(h)),cr(f),f}async function yr(e,t,n){vr(e),t=new URLSearchParams(t);const{as:o,c:r,auth:i,fetch:a,tlsOnly:s,timeout:c}=Fo(e),u=await async function(e,t,n,o,r){return Gt(e),Ft(t),hn(e,t,n,\"client_credentials\",new URLSearchParams(o),r)}(o,r,i,t,{[vt]:a,[yt]:!s,DPoP:null==n?void 0:n.DPoP,headers:new Headers(Vo),signal:br(c)}).catch(rr),l=async function(e,t,n,o){return yn(e,t,n,void 0,null==o?void 0:o[_t],null==o?void 0:o.recognizedTokenTypes)}(o,r,u);let d;try{d=await l}catch(o){if(_r(o,n))return yr(e,t,ut(ut({},n),{},{flag:kr}));rr(o)}return cr(d),d}function wr(e,t){vr(e);const{as:n,c:o,tlsOnly:r,hybrid:i,jarm:a,implicit:s}=Fo(e),c=Qt(n,\"authorization_endpoint\",!1,r);if((t=new URLSearchParams(t)).has(\"client_id\")||t.set(\"client_id\",o.client_id),!t.has(\"request_uri\")&&!t.has(\"request\")){if(t.has(\"response_type\")||t.set(\"response_type\",i?\"code id_token\":s?\"id_token\":\"code\"),s&&!t.has(\"nonce\"))throw $o(\"response_type=id_token clients must provide a nonce parameter in their authorization request parameters\",Yo);a&&t.set(\"response_mode\",\"jwt\")}for(const[e,n]of t.entries())c.searchParams.append(e,n);return c}async function gr(e,t,n){vr(e);const o=wr(e,t),{as:r,c:i,auth:a,fetch:s,tlsOnly:c,timeout:u}=Fo(e),l=await async function(e,t,n,o,r){var i;Gt(e),Ft(t);const a=Qt(e,\"pushed_authorization_request_endpoint\",t.use_mtls_endpoint_aliases,!0!==(null==r?void 0:r[yt])),s=new URLSearchParams(o);s.set(\"client_id\",t.client_id);const c=jt(null==r?void 0:r.headers);c.set(\"accept\",\"application/json\"),void 0!==(null==r?void 0:r.DPoP)&&(un(r.DPoP),await r.DPoP.addProof(a,c,\"POST\"));const u=await dn(e,t,n,a,s,c,r);return null==r||null===(i=r.DPoP)||void 0===i||i.cacheNonce(u,a),u}(r,i,a,o.searchParams,{[vt]:s,[yt]:!c,DPoP:null==n?void 0:n.DPoP,headers:new Headers(Vo),signal:br(u)}).catch(rr),d=async function(e,t,n){if(Gt(e),Ft(t),!ft(n,Response))throw mt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");await cn(n,201,\"Pushed Authorization Request Endpoint\"),zn(n);const o=await Xn(n);Nt(o.request_uri,'\"response\" body \"request_uri\" property',xn,{body:o});let r=\"number\"!=typeof o.expires_in?parseFloat(o.expires_in):o.expires_in;return Ut(r,!0,'\"response\" body \"expires_in\" property',xn,{body:o}),o.expires_in=r,o}(r,i,l);let h;try{h=await d}catch(o){if(_r(o,n))return gr(e,t,ut(ut({},n),{},{flag:kr}));rr(o)}return wr(e,{request_uri:h.request_uri})}function vr(e){if(!(e instanceof sr))throw $o('\"config\" must be an instance of Configuration',Qo);if(Object.getPrototypeOf(e)!==sr.prototype)throw $o(\"subclassing Configuration is not allowed\",Yo)}function br(e){return e?AbortSignal.timeout(1e3*e):void 0}function _r(e,t){return!(null==t||!t.DPoP||t.flag===kr)&&function(e){if(e instanceof tn){const{0:t,length:n}=e.cause;return 1===n&&\"dpop\"===t.scheme&&\"use_dpop_nonce\"===t.parameters.error}return e instanceof $t&&\"use_dpop_nonce\"===e.error}(e)}Object.freeze(sr.prototype);const kr=Symbol();async function Sr(e,t,n,o){vr(e);const{as:r,c:i,auth:a,fetch:s,tlsOnly:c,timeout:u,decrypt:l}=Fo(e),d=await async function(e,t,n,o,r,i){return Gt(e),Ft(t),Nt(o,'\"grantType\"'),hn(e,t,n,o,new URLSearchParams(r),i)}(r,i,a,t,new URLSearchParams(n),{[vt]:s,[yt]:!c,DPoP:null==o?void 0:o.DPoP,headers:new Headers(Vo),signal:br(u)}).then((e=>{let n;return\"urn:ietf:params:oauth:grant-type:token-exchange\"===t&&(n={n_a:()=>{}}),async function(e,t,n,o){return yn(e,t,n,void 0,null==o?void 0:o[_t],null==o?void 0:o.recognizedTokenTypes)}(r,i,e,{[_t]:l,recognizedTokenTypes:n})})).catch(rr);return cr(d),d}async function Er(e,t,n){if(t instanceof Uint8Array){if(!e.startsWith(\"HS\"))throw new TypeError(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return _o(\"Key must be \",e,...n)}(t,\"CryptoKey\",\"KeyObject\",\"JSON Web Key\"));return crypto.subtle.importKey(\"raw\",t,{hash:\"SHA-\".concat(e.slice(-3)),name:\"HMAC\"},!1,[n])}return bo(t,e,n),t}async function Ar(e,t,n,o){const r=await Er(e,t,\"verify\");!function(e,t){if(e.startsWith(\"RS\")||e.startsWith(\"PS\")){const{modulusLength:n}=t.algorithm;if(\"number\"!=typeof n||n<2048)throw new TypeError(\"\".concat(e,\" requires key modulusLength to be 2048 bits or larger\"))}}(e,r);const i=function(e,t){const n=\"SHA-\".concat(e.slice(-3));switch(e){case\"HS256\":case\"HS384\":case\"HS512\":return{hash:n,name:\"HMAC\"};case\"PS256\":case\"PS384\":case\"PS512\":return{hash:n,name:\"RSA-PSS\",saltLength:parseInt(e.slice(-3),10)>>3};case\"RS256\":case\"RS384\":case\"RS512\":return{hash:n,name:\"RSASSA-PKCS1-v1_5\"};case\"ES256\":case\"ES384\":case\"ES512\":return{hash:n,name:\"ECDSA\",namedCurve:t.namedCurve};case\"Ed25519\":case\"EdDSA\":return{name:\"Ed25519\"};case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":return{name:e};default:throw new co(\"alg \".concat(e,\" is not supported either by JOSE or your javascript runtime\"))}}(e,r.algorithm);try{return await crypto.subtle.verify(i,r,n,o)}catch(e){return!1}}async function Tr(e,t,n){if(!To(e))throw new uo(\"Flattened JWS must be an object\");if(void 0===e.protected&&void 0===e.header)throw new uo('Flattened JWS must have either of the \"protected\" or \"header\" members');if(void 0!==e.protected&&\"string\"!=typeof e.protected)throw new uo(\"JWS Protected Header incorrect type\");if(void 0===e.payload)throw new uo(\"JWS Payload missing\");if(\"string\"!=typeof e.signature)throw new uo(\"JWS Signature missing or incorrect type\");if(void 0!==e.header&&!To(e.header))throw new uo(\"JWS Unprotected Header incorrect type\");let o={};if(e.protected)try{const t=oo(e.protected);o=JSON.parse(eo.decode(t))}catch(e){throw new uo(\"JWS Protected Header is invalid\")}if(!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const o=t.filter(Boolean);if(0===o.length||1===o.length)return!0;let r;for(const e of o){const t=Object.keys(e);if(r&&0!==r.size)for(const e of t){if(r.has(e))return!1;r.add(e)}else r=new Set(t)}return!0}(o,e.header))throw new uo(\"JWS Protected and JWS Unprotected Header Parameter names must be disjoint\");const r=ut(ut({},o),e.header),i=function(e,t,n,o,r){if(void 0!==r.crit&&void 0===(null==o?void 0:o.crit))throw new e('\"crit\" (Critical) Header Parameter MUST be integrity protected');if(!o||void 0===o.crit)return new Set;if(!Array.isArray(o.crit)||0===o.crit.length||o.crit.some((e=>\"string\"!=typeof e||0===e.length)))throw new e('\"crit\" (Critical) Header Parameter MUST be an array of non-empty strings when present');let i;i=void 0!==n?new Map([...Object.entries(n),...t.entries()]):t;for(const t of o.crit){if(!i.has(t))throw new co('Extension Header Parameter \"'.concat(t,'\" is not recognized'));if(void 0===r[t])throw new e('Extension Header Parameter \"'.concat(t,'\" is missing'));if(i.get(t)&&void 0===o[t])throw new e('Extension Header Parameter \"'.concat(t,'\" MUST be integrity protected'))}return new Set(o.crit)}(uo,new Map([[\"b64\",!0]]),null==n?void 0:n.crit,o,r);let a=!0;if(i.has(\"b64\")&&(a=o.b64,\"boolean\"!=typeof a))throw new uo('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');const{alg:s}=r;if(\"string\"!=typeof s||!s)throw new uo('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');const c=n&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some((e=>\"string\"!=typeof e))))throw new TypeError('\"'.concat(e,'\" option must be an array of strings'));if(t)return new Set(t)}(\"algorithms\",n.algorithms);if(c&&!c.has(s))throw new so('\"alg\" (Algorithm) Header Parameter value not allowed');if(a){if(\"string\"!=typeof e.payload)throw new uo(\"JWS Payload must be a string\")}else if(\"string\"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new uo(\"JWS Payload must be a string or an Uint8Array instance\");let u=!1;\"function\"==typeof t&&(t=await t(o,e),u=!0),zo(s,t,\"verify\");const l=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const o=t.reduce(((e,t)=>{let{length:n}=t;return e+n}),0),r=new Uint8Array(o);let i=0;for(const e of t)r.set(e,i),i+=e.length;return r}(void 0!==e.protected?to(e.protected):new Uint8Array,to(\".\"),\"string\"==typeof e.payload?a?to(e.payload):$n.encode(e.payload):e.payload);let d;try{d=oo(e.signature)}catch(e){throw new uo(\"Failed to base64url decode the signature\")}const h=await No(t,s);if(!await Ar(s,h,d,l))throw new yo;let p;if(a)try{p=oo(e.payload)}catch(e){throw new uo(\"Failed to base64url decode the payload\")}else p=\"string\"==typeof e.payload?$n.encode(e.payload):e.payload;const f={payload:p};return void 0!==e.protected&&(f.protectedHeader=o),void 0!==e.header&&(f.unprotectedHeader=e.header),u?ut(ut({},f),{},{key:h}):f}const Pr=e=>Math.floor(e.getTime()/1e3),Rr=/^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function Ir(e){const t=Rr.exec(e);if(!t||t[4]&&t[1])throw new TypeError(\"Invalid time period format\");const n=parseFloat(t[2]);let o;switch(t[3].toLowerCase()){case\"sec\":case\"secs\":case\"second\":case\"seconds\":case\"s\":o=Math.round(n);break;case\"minute\":case\"minutes\":case\"min\":case\"mins\":case\"m\":o=Math.round(60*n);break;case\"hour\":case\"hours\":case\"hr\":case\"hrs\":case\"h\":o=Math.round(3600*n);break;case\"day\":case\"days\":case\"d\":o=Math.round(86400*n);break;case\"week\":case\"weeks\":case\"w\":o=Math.round(604800*n);break;default:o=Math.round(31557600*n)}return\"-\"===t[1]||\"ago\"===t[4]?-o:o}const Or=e=>e.includes(\"/\")?e.toLowerCase():\"application/\".concat(e.toLowerCase()),xr=(e,t)=>\"string\"==typeof e?t.includes(e):!!Array.isArray(e)&&t.some(Set.prototype.has.bind(new Set(e)));async function Cr(e,t,n){var o;const r=await async function(e,t,n){if(e instanceof Uint8Array&&(e=eo.decode(e)),\"string\"!=typeof e)throw new uo(\"Compact JWS must be a string or Uint8Array\");const{0:o,1:r,2:i,length:a}=e.split(\".\");if(3!==a)throw new uo(\"Invalid Compact JWS\");const s=await Tr({payload:r,protected:o,signature:i},t,n),c={payload:s.payload,protectedHeader:s.protectedHeader};return\"function\"==typeof t?ut(ut({},c),{},{key:s.key}):c}(e,t,n);if(null!==(o=r.protectedHeader.crit)&&void 0!==o&&o.includes(\"b64\")&&!1===r.protectedHeader.b64)throw new lo(\"JWTs MUST NOT use unencoded payload\");const i=function(e,t){let n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{n=JSON.parse(eo.decode(t))}catch(e){}if(!To(n))throw new lo(\"JWT Claims Set must be a top-level JSON object\");const{typ:r}=o;if(r&&(\"string\"!=typeof e.typ||Or(e.typ)!==Or(r)))throw new io('unexpected \"typ\" JWT header value',n,\"typ\",\"check_failed\");const{requiredClaims:i=[],issuer:a,subject:s,audience:c,maxTokenAge:u}=o,l=[...i];void 0!==u&&l.push(\"iat\"),void 0!==c&&l.push(\"aud\"),void 0!==s&&l.push(\"sub\"),void 0!==a&&l.push(\"iss\");for(const e of new Set(l.reverse()))if(!(e in n))throw new io('missing required \"'.concat(e,'\" claim'),n,e,\"missing\");if(a&&!(Array.isArray(a)?a:[a]).includes(n.iss))throw new io('unexpected \"iss\" claim value',n,\"iss\",\"check_failed\");if(s&&n.sub!==s)throw new io('unexpected \"sub\" claim value',n,\"sub\",\"check_failed\");if(c&&!xr(n.aud,\"string\"==typeof c?[c]:c))throw new io('unexpected \"aud\" claim value',n,\"aud\",\"check_failed\");let d;switch(typeof o.clockTolerance){case\"string\":d=Ir(o.clockTolerance);break;case\"number\":d=o.clockTolerance;break;case\"undefined\":d=0;break;default:throw new TypeError(\"Invalid clockTolerance option type\")}const{currentDate:h}=o,p=Pr(h||new Date);if((void 0!==n.iat||u)&&\"number\"!=typeof n.iat)throw new io('\"iat\" claim must be a number',n,\"iat\",\"invalid\");if(void 0!==n.nbf){if(\"number\"!=typeof n.nbf)throw new io('\"nbf\" claim must be a number',n,\"nbf\",\"invalid\");if(n.nbf>p+d)throw new io('\"nbf\" claim timestamp check failed',n,\"nbf\",\"check_failed\")}if(void 0!==n.exp){if(\"number\"!=typeof n.exp)throw new io('\"exp\" claim must be a number',n,\"exp\",\"invalid\");if(n.exp<=p-d)throw new ao('\"exp\" claim timestamp check failed',n,\"exp\",\"check_failed\")}if(u){const e=p-n.iat;if(e-d>(\"number\"==typeof u?u:Ir(u)))throw new ao('\"iat\" claim timestamp check failed (too far in the past)',n,\"iat\",\"check_failed\");if(e<0-d)throw new io('\"iat\" claim timestamp check failed (it should be in the past)',n,\"iat\",\"check_failed\")}return n}(r.protectedHeader,r.payload,n),a={payload:i,protectedHeader:r.protectedHeader};return\"function\"==typeof t?ut(ut({},a),{},{key:r.key}):a}function jr(e){return To(e)}var Dr,Kr,Lr=new WeakMap,Ur=new WeakMap;class Nr{constructor(e){if(it(this,Lr,void 0),it(this,Ur,new WeakMap),!function(e){return e&&\"object\"==typeof e&&Array.isArray(e.keys)&&e.keys.every(jr)}(e))throw new ho(\"JSON Web Key Set malformed\");at(Lr,this,structuredClone(e))}jwks(){return rt(Lr,this)}async getKey(e,t){const{alg:n,kid:o}=ut(ut({},e),null==t?void 0:t.header),r=function(e){switch(\"string\"==typeof e&&e.slice(0,2)){case\"RS\":case\"PS\":return\"RSA\";case\"ES\":return\"EC\";case\"Ed\":return\"OKP\";case\"ML\":return\"AKP\";default:throw new co('Unsupported \"alg\" value for a JSON Web Key Set')}}(n),i=rt(Lr,this).keys.filter((e=>{let t=r===e.kty;if(t&&\"string\"==typeof o&&(t=o===e.kid),!t||\"string\"!=typeof e.alg&&\"AKP\"!==r||(t=n===e.alg),t&&\"string\"==typeof e.use&&(t=\"sig\"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes(\"verify\")),t)switch(n){case\"ES256\":t=\"P-256\"===e.crv;break;case\"ES384\":t=\"P-384\"===e.crv;break;case\"ES512\":t=\"P-521\"===e.crv;break;case\"Ed25519\":case\"EdDSA\":t=\"Ed25519\"===e.crv}return t})),{0:a,length:s}=i;if(0===s)throw new po;if(1!==s){const e=new fo,t=rt(Ur,this);throw e[Symbol.asyncIterator]=dt((function*(){for(const e of i)try{yield yield nt(Wr(t,e,n))}catch(e){}})),e}return Wr(rt(Ur,this),a,n)}}async function Wr(e,t,n){const o=e.get(t)||e.set(t,{}).get(t);if(void 0===o[n]){const e=await async function(e,t,n){var o;if(!To(e))throw new TypeError(\"JWK must be an object\");let r;switch(null!=t||(t=e.alg),null!=r||(r=null!==(o=null==n?void 0:n.extractable)&&void 0!==o?o:e.ext),e.kty){case\"oct\":if(\"string\"!=typeof e.k||!e.k)throw new TypeError('missing \"k\" (Key Value) Parameter value');return oo(e.k);case\"RSA\":if(\"oth\"in e&&void 0!==e.oth)throw new co('RSA JWK \"oth\" (Other Primes Info) Parameter value is not supported');return Do(ut(ut({},e),{},{alg:t,ext:r}));case\"AKP\":if(\"string\"!=typeof e.alg||!e.alg)throw new TypeError('missing \"alg\" (Algorithm) Parameter value');if(void 0!==t&&t!==e.alg)throw new TypeError(\"JWK alg and alg option value mismatch\");return Do(ut(ut({},e),{},{ext:r}));case\"EC\":case\"OKP\":return Do(ut(ut({},e),{},{alg:t,ext:r}));default:throw new co('Unsupported \"kty\" (Key Type) Parameter value')}}(ut(ut({},t),{},{ext:!0}),n);if(e instanceof Uint8Array||\"public\"!==e.type)throw new ho(\"JSON Web Key Set members must be public keys\");o[n]=e}return o[n]}function Hr(e){const t=new Nr(e),n=async(e,n)=>t.getKey(e,n);return Object.defineProperties(n,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),n}let zr;if(\"undefined\"==typeof navigator||null===(Dr=navigator.userAgent)||void 0===Dr||null===(Kr=Dr.startsWith)||void 0===Kr||!Kr.call(Dr,\"Mozilla/5.0 \")){const e=\"v6.1.3\";zr=\"\".concat(\"jose\",\"/\").concat(e)}const Jr=Symbol();const Mr=Symbol();var Vr=new WeakMap,Gr=new WeakMap,Fr=new WeakMap,Zr=new WeakMap,qr=new WeakMap,Br=new WeakMap,Xr=new WeakMap,Yr=new WeakMap,Qr=new WeakMap,$r=new WeakMap;class ei{constructor(e,t){if(it(this,Vr,void 0),it(this,Gr,void 0),it(this,Fr,void 0),it(this,Zr,void 0),it(this,qr,void 0),it(this,Br,void 0),it(this,Xr,void 0),it(this,Yr,void 0),it(this,Qr,void 0),it(this,$r,void 0),!(e instanceof URL))throw new TypeError(\"url must be an instance of URL\");var n,o;at(Vr,this,new URL(e.href)),at(Gr,this,\"number\"==typeof(null==t?void 0:t.timeoutDuration)?null==t?void 0:t.timeoutDuration:5e3),at(Fr,this,\"number\"==typeof(null==t?void 0:t.cooldownDuration)?null==t?void 0:t.cooldownDuration:3e4),at(Zr,this,\"number\"==typeof(null==t?void 0:t.cacheMaxAge)?null==t?void 0:t.cacheMaxAge:6e5),at(Xr,this,new Headers(null==t?void 0:t.headers)),zr&&!rt(Xr,this).has(\"User-Agent\")&&rt(Xr,this).set(\"User-Agent\",zr),rt(Xr,this).has(\"accept\")||(rt(Xr,this).set(\"accept\",\"application/json\"),rt(Xr,this).append(\"accept\",\"application/jwk-set+json\")),at(Yr,this,null==t?void 0:t[Jr]),void 0!==(null==t?void 0:t[Mr])&&(at($r,this,null==t?void 0:t[Mr]),n=null==t?void 0:t[Mr],o=rt(Zr,this),\"object\"==typeof n&&null!==n&&\"uat\"in n&&\"number\"==typeof n.uat&&!(Date.now()-n.uat>=o)&&\"jwks\"in n&&To(n.jwks)&&Array.isArray(n.jwks.keys)&&Array.prototype.every.call(n.jwks.keys,To)&&(at(qr,this,rt($r,this).uat),at(Qr,this,Hr(rt($r,this).jwks))))}pendingFetch(){return!!rt(Br,this)}coolingDown(){return\"number\"==typeof rt(qr,this)&&Date.now()<rt(qr,this)+rt(Fr,this)}fresh(){return\"number\"==typeof rt(qr,this)&&Date.now()<rt(qr,this)+rt(Zr,this)}jwks(){var e;return null===(e=rt(Qr,this))||void 0===e?void 0:e.jwks()}async getKey(e,t){rt(Qr,this)&&this.fresh()||await this.reload();try{return await rt(Qr,this).call(this,e,t)}catch(n){if(n instanceof po&&!1===this.coolingDown())return await this.reload(),rt(Qr,this).call(this,e,t);throw n}}async reload(){rt(Br,this)&&(\"undefined\"!=typeof WebSocketPair||\"undefined\"!=typeof navigator&&\"Cloudflare-Workers\"===navigator.userAgent||\"undefined\"!=typeof EdgeRuntime&&\"vercel\"===EdgeRuntime)&&at(Br,this,void 0),rt(Br,this)||at(Br,this,async function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:fetch;const r=await o(e,{method:\"GET\",signal:n,redirect:\"manual\",headers:t}).catch((e=>{if(\"TimeoutError\"===e.name)throw new mo;throw e}));if(200!==r.status)throw new ro(\"Expected 200 OK from the JSON Web Key Set HTTP response\");try{return await r.json()}catch(e){throw new ro(\"Failed to parse the JSON Web Key Set HTTP response as JSON\")}}(rt(Vr,this).href,rt(Xr,this),AbortSignal.timeout(rt(Gr,this)),rt(Yr,this)).then((e=>{at(Qr,this,Hr(e)),rt($r,this)&&(rt($r,this).uat=Date.now(),rt($r,this).jwks=e),at(qr,this,Date.now()),at(Br,this,void 0)})).catch((e=>{throw at(Br,this,void 0),e}))),await rt(Br,this)}}const ti=[\"mfaToken\"],ni=[\"mfaToken\"];var oi,ri,ii,ai,si,ci,ui,li,di=class extends Error{constructor(e,t){super(t),st(this,\"code\",void 0),this.name=\"NotSupportedError\",this.code=e}},hi=class extends Error{constructor(e,t,n){super(t),st(this,\"cause\",void 0),st(this,\"code\",void 0),this.code=e,this.cause=n&&{error:n.error,error_description:n.error_description,message:n.message}}},pi=class extends hi{constructor(e,t){super(\"token_by_code_error\",e,t),this.name=\"TokenByCodeError\"}},fi=class extends hi{constructor(e,t){super(\"token_by_client_credentials_error\",e,t),this.name=\"TokenByClientCredentialsError\"}},mi=class extends hi{constructor(e,t){super(\"token_by_refresh_token_error\",e,t),this.name=\"TokenByRefreshTokenError\"}},yi=class extends hi{constructor(e,t){super(\"token_for_connection_error\",e,t),this.name=\"TokenForConnectionErrorCode\"}},wi=class extends hi{constructor(e,t){super(\"token_exchange_error\",e,t),this.name=\"TokenExchangeError\"}},gi=class extends Error{constructor(e){super(e),st(this,\"code\",\"verify_logout_token_error\"),this.name=\"VerifyLogoutTokenError\"}},vi=class extends hi{constructor(e){super(\"backchannel_authentication_error\",\"There was an error when trying to use Client-Initiated Backchannel Authentication.\",e),st(this,\"code\",\"backchannel_authentication_error\"),this.name=\"BackchannelAuthenticationError\"}},bi=class extends hi{constructor(e){super(\"build_authorization_url_error\",\"There was an error when trying to build the authorization URL.\",e),this.name=\"BuildAuthorizationUrlError\"}},_i=class extends hi{constructor(e){super(\"build_link_user_url_error\",\"There was an error when trying to build the Link User URL.\",e),this.name=\"BuildLinkUserUrlError\"}},ki=class extends hi{constructor(e){super(\"build_unlink_user_url_error\",\"There was an error when trying to build the Unlink User URL.\",e),this.name=\"BuildUnlinkUserUrlError\"}},Si=class extends Error{constructor(){super(\"The client secret or client assertion signing key must be provided.\"),st(this,\"code\",\"missing_client_auth_error\"),this.name=\"MissingClientAuthError\"}};function Ei(e){return Object.entries(e).filter((e=>{let[,t]=e;return void 0!==t})).reduce(((e,t)=>ut(ut({},e),{},{[t[0]]:t[1]})),{})}var Ai=class extends Error{constructor(e,t,n){super(t),st(this,\"cause\",void 0),st(this,\"code\",void 0),this.code=e,this.cause=n&&{error:n.error,error_description:n.error_description,message:n.message}}},Ti=class extends Ai{constructor(e,t){super(\"mfa_list_authenticators_error\",e,t),this.name=\"MfaListAuthenticatorsError\"}},Pi=class extends Ai{constructor(e,t){super(\"mfa_enrollment_error\",e,t),this.name=\"MfaEnrollmentError\"}},Ri=class extends Ai{constructor(e,t){super(\"mfa_delete_authenticator_error\",e,t),this.name=\"MfaDeleteAuthenticatorError\"}},Ii=class extends Ai{constructor(e,t){super(\"mfa_challenge_error\",e,t),this.name=\"MfaChallengeError\"}};function Oi(e){return{id:e.id,authenticatorType:e.authenticator_type,active:e.active,name:e.name,oobChannels:e.oob_channels,type:e.type}}var xi=(oi=new WeakMap,ri=new WeakMap,ii=new WeakMap,class{constructor(e){var t;it(this,oi,void 0),it(this,ri,void 0),it(this,ii,void 0),at(oi,this,\"https://\".concat(e.domain)),at(ri,this,e.clientId),at(ii,this,null!==(t=e.customFetch)&&void 0!==t?t:function(){return fetch(...arguments)})}async listAuthenticators(e){const t=\"\".concat(rt(oi,this),\"/mfa/authenticators\"),{mfaToken:n}=e,o=await rt(ii,this).call(this,t,{method:\"GET\",headers:{Authorization:\"Bearer \".concat(n),\"Content-Type\":\"application/json\"}});if(!o.ok){const e=await o.json();throw new Ti(e.error_description||\"Failed to list authenticators\",e)}return(await o.json()).map(Oi)}async enrollAuthenticator(e){const t=\"\".concat(rt(oi,this),\"/mfa/associate\"),{mfaToken:n}=e,o=lt(e,ti),r={authenticator_types:o.authenticatorTypes};\"oobChannels\"in o&&(r.oob_channels=o.oobChannels),\"phoneNumber\"in o&&o.phoneNumber&&(r.phone_number=o.phoneNumber),\"email\"in o&&o.email&&(r.email=o.email);const i=await rt(ii,this).call(this,t,{method:\"POST\",headers:{Authorization:\"Bearer \".concat(n),\"Content-Type\":\"application/json\"},body:JSON.stringify(r)});if(!i.ok){const e=await i.json();throw new Pi(e.error_description||\"Failed to enroll authenticator\",e)}return function(e){if(\"otp\"===e.authenticator_type)return{authenticatorType:\"otp\",secret:e.secret,barcodeUri:e.barcode_uri,recoveryCodes:e.recovery_codes,id:e.id};if(\"oob\"===e.authenticator_type)return{authenticatorType:\"oob\",oobChannel:e.oob_channel,oobCode:e.oob_code,bindingMethod:e.binding_method,id:e.id};throw new Error(\"Unexpected authenticator type: \".concat(e.authenticator_type))}(await i.json())}async deleteAuthenticator(e){const{authenticatorId:t,mfaToken:n}=e,o=\"\".concat(rt(oi,this),\"/mfa/authenticators/\").concat(encodeURIComponent(t)),r=await rt(ii,this).call(this,o,{method:\"DELETE\",headers:{Authorization:\"Bearer \".concat(n),\"Content-Type\":\"application/json\"}});if(!r.ok){const e=await r.json();throw new Ri(e.error_description||\"Failed to delete authenticator\",e)}}async challengeAuthenticator(e){const t=\"\".concat(rt(oi,this),\"/mfa/challenge\"),{mfaToken:n}=e,o=lt(e,ni),r={mfa_token:n,client_id:rt(ri,this),challenge_type:o.challengeType};o.authenticatorId&&(r.authenticator_id=o.authenticatorId);const i=await rt(ii,this).call(this,t,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(r)});if(!i.ok){const e=await i.json();throw new Ii(e.error_description||\"Failed to challenge authenticator\",e)}return function(e){const t={challengeType:e.challenge_type};return void 0!==e.oob_code&&(t.oobCode=e.oob_code),void 0!==e.binding_method&&(t.bindingMethod=e.binding_method),t}(await i.json())}}),Ci=class e{constructor(e,t,n,o,r,i,a){st(this,\"accessToken\",void 0),st(this,\"idToken\",void 0),st(this,\"refreshToken\",void 0),st(this,\"expiresAt\",void 0),st(this,\"scope\",void 0),st(this,\"claims\",void 0),st(this,\"authorizationDetails\",void 0),st(this,\"tokenType\",void 0),st(this,\"issuedTokenType\",void 0),this.accessToken=e,this.idToken=n,this.refreshToken=o,this.expiresAt=t,this.scope=r,this.claims=i,this.authorizationDetails=a}static fromTokenEndpointResponse(t){const n=t.id_token?t.claims():void 0,o=new e(t.access_token,Math.floor(Date.now()/1e3)+Number(t.expires_in),t.id_token,t.refresh_token,t.scope,n,t.authorization_details);return o.tokenType=t.token_type,o.issuedTokenType=t.issued_token_type,o}},ji=\"openid profile email offline_access\",Di=Object.freeze(new Set([\"grant_type\",\"client_id\",\"client_secret\",\"client_assertion\",\"client_assertion_type\",\"subject_token\",\"subject_token_type\",\"requested_token_type\",\"actor_token\",\"actor_token_type\",\"audience\",\"aud\",\"resource\",\"resources\",\"resource_indicator\",\"scope\",\"connection\",\"login_hint\",\"organization\",\"assertion\"]));function Ki(e){if(null==e)throw new wi(\"subject_token is required\");if(\"string\"!=typeof e)throw new wi(\"subject_token must be a string\");if(0===e.trim().length)throw new wi(\"subject_token cannot be blank or whitespace\");if(e!==e.trim())throw new wi(\"subject_token must not include leading or trailing whitespace\");if(/^bearer\\s+/i.test(e))throw new wi(\"subject_token must not include the 'Bearer ' prefix\")}function Li(e,t){if(t)for(const[n,o]of Object.entries(t))if(!Di.has(n))if(Array.isArray(o)){if(o.length>20)throw new wi(\"Parameter '\".concat(n,\"' exceeds maximum array size of \").concat(20));o.forEach((t=>{e.append(n,t)}))}else e.append(n,o)}var Ui=(ai=new WeakMap,si=new WeakMap,ci=new WeakMap,ui=new WeakMap,li=new WeakSet,class{constructor(e){if(function(e,t){ot(e,t),t.add(e)}(this,li),it(this,ai,void 0),it(this,si,void 0),it(this,ci,void 0),it(this,ui,void 0),st(this,\"mfa\",void 0),at(ci,this,e),e.useMtls&&!e.customFetch)throw new di(\"mtls_without_custom_fetch_not_supported\",\"Using mTLS without a custom fetch implementation is not supported\");this.mfa=new xi({domain:rt(ci,this).domain,clientId:rt(ci,this).clientId,customFetch:rt(ci,this).customFetch})}async buildAuthorizationUrl(e){const{serverMetadata:t}=await tt(li,this,Ni).call(this);if(null!=e&&e.pushedAuthorizationRequests&&!t.pushed_authorization_request_endpoint)throw new di(\"par_not_supported_error\",\"The Auth0 tenant does not have pushed authorization requests enabled. Learn how to enable it here: https://auth0.com/docs/get-started/applications/configure-par\");try{return await tt(li,this,Ji).call(this,e)}catch(e){throw new bi(e)}}async buildLinkUserUrl(e){try{const t=await tt(li,this,Ji).call(this,{authorizationParams:ut(ut({},e.authorizationParams),{},{requested_connection:e.connection,requested_connection_scope:e.connectionScope,scope:\"openid link_account offline_access\",id_token_hint:e.idToken})});return{linkUserUrl:t.authorizationUrl,codeVerifier:t.codeVerifier}}catch(e){throw new _i(e)}}async buildUnlinkUserUrl(e){try{const t=await tt(li,this,Ji).call(this,{authorizationParams:ut(ut({},e.authorizationParams),{},{requested_connection:e.connection,scope:\"openid unlink_account\",id_token_hint:e.idToken})});return{unlinkUserUrl:t.authorizationUrl,codeVerifier:t.codeVerifier}}catch(e){throw new ki(e)}}async backchannelAuthentication(e){const{configuration:t,serverMetadata:n}=await tt(li,this,Ni).call(this),o=Ei(ut(ut({},rt(ci,this).authorizationParams),null==e?void 0:e.authorizationParams)),r=new URLSearchParams(ut(ut({scope:ji},o),{},{client_id:rt(ci,this).clientId,binding_message:e.bindingMessage,login_hint:JSON.stringify({format:\"iss_sub\",iss:n.issuer,sub:e.loginHint.sub})}));e.requestedExpiry&&r.append(\"requested_expiry\",e.requestedExpiry.toString()),e.authorizationDetails&&r.append(\"authorization_details\",JSON.stringify(e.authorizationDetails));try{const e=await dr(t,r),n=await hr(t,e);return Ci.fromTokenEndpointResponse(n)}catch(e){throw new vi(e)}}async initiateBackchannelAuthentication(e){const{configuration:t,serverMetadata:n}=await tt(li,this,Ni).call(this),o=Ei(ut(ut({},rt(ci,this).authorizationParams),null==e?void 0:e.authorizationParams)),r=new URLSearchParams(ut(ut({scope:ji},o),{},{client_id:rt(ci,this).clientId,binding_message:e.bindingMessage,login_hint:JSON.stringify({format:\"iss_sub\",iss:n.issuer,sub:e.loginHint.sub})}));e.requestedExpiry&&r.append(\"requested_expiry\",e.requestedExpiry.toString()),e.authorizationDetails&&r.append(\"authorization_details\",JSON.stringify(e.authorizationDetails));try{const e=await dr(t,r);return{authReqId:e.auth_req_id,expiresIn:e.expires_in,interval:e.interval}}catch(e){throw new vi(e)}}async backchannelAuthenticationGrant(e){let{authReqId:t}=e;const{configuration:n}=await tt(li,this,Ni).call(this),o=new URLSearchParams({auth_req_id:t});try{const e=await Sr(n,\"urn:openid:params:grant-type:ciba\",o);return Ci.fromTokenEndpointResponse(e)}catch(e){throw new vi(e)}}async getTokenForConnection(e){var t;if(e.refreshToken&&e.accessToken)throw new yi(\"Either a refresh or access token should be specified, but not both.\");const n=null!==(t=e.accessToken)&&void 0!==t?t:e.refreshToken;if(!n)throw new yi(\"Either a refresh or access token must be specified.\");try{return await this.exchangeToken({connection:e.connection,subjectToken:n,subjectTokenType:e.accessToken?\"urn:ietf:params:oauth:token-type:access_token\":\"urn:ietf:params:oauth:token-type:refresh_token\",loginHint:e.loginHint})}catch(e){if(e instanceof wi)throw new yi(e.message,e.cause);throw e}}async exchangeToken(e){return\"connection\"in e?tt(li,this,Wi).call(this,e):tt(li,this,Hi).call(this,e)}async getTokenByCode(e,t){const{configuration:n}=await tt(li,this,Ni).call(this);try{const o=await fr(n,e,{pkceCodeVerifier:t.codeVerifier});return Ci.fromTokenEndpointResponse(o)}catch(e){throw new pi(\"There was an error while trying to request a token.\",e)}}async getTokenByRefreshToken(e){const{configuration:t}=await tt(li,this,Ni).call(this);try{const n=await mr(t,e.refreshToken);return Ci.fromTokenEndpointResponse(n)}catch(e){throw new mi(\"The access token has expired and there was an error while trying to refresh it.\",e)}}async getTokenByClientCredentials(e){const{configuration:t}=await tt(li,this,Ni).call(this);try{const n=new URLSearchParams({audience:e.audience});e.organization&&n.append(\"organization\",e.organization);const o=await yr(t,n);return Ci.fromTokenEndpointResponse(o)}catch(e){throw new fi(\"There was an error while trying to request a token.\",e)}}async buildLogoutUrl(e){const{configuration:t,serverMetadata:n}=await tt(li,this,Ni).call(this);if(!n.end_session_endpoint){const t=new URL(\"https://\".concat(rt(ci,this).domain,\"/v2/logout\"));return t.searchParams.set(\"returnTo\",e.returnTo),t.searchParams.set(\"client_id\",rt(ci,this).clientId),t}return function(e,t){vr(e);const{as:n,c:o,tlsOnly:r}=Fo(e),i=Qt(n,\"end_session_endpoint\",!1,r);(t=new URLSearchParams(t)).has(\"client_id\")||t.set(\"client_id\",o.client_id);for(const[e,n]of t.entries())i.searchParams.append(e,n);return i}(t,{post_logout_redirect_uri:e.returnTo})}async verifyLogoutToken(e){const{serverMetadata:t}=await tt(li,this,Ni).call(this);rt(ui,this)||at(ui,this,function(e,t){const n=new ei(e,t),o=async(e,t)=>n.getKey(e,t);return Object.defineProperties(o,{coolingDown:{get:()=>n.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>n.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>n.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>n.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>n.jwks(),enumerable:!0,configurable:!1,writable:!1}}),o}(new URL(t.jwks_uri),{[Jr]:rt(ci,this).customFetch}));const{payload:n}=await Cr(e.logoutToken,rt(ui,this),{issuer:t.issuer,audience:rt(ci,this).clientId,algorithms:[\"RS256\"],requiredClaims:[\"iat\"]});if(!(\"sid\"in n)&&!(\"sub\"in n))throw new gi('either \"sid\" or \"sub\" (or both) claims must be present');if(\"sid\"in n&&\"string\"!=typeof n.sid)throw new gi('\"sid\" claim must be a string');if(\"sub\"in n&&\"string\"!=typeof n.sub)throw new gi('\"sub\" claim must be a string');if(\"nonce\"in n)throw new gi('\"nonce\" claim is prohibited');if(!(\"events\"in n))throw new gi('\"events\" claim is missing');if(\"object\"!=typeof n.events||null===n.events)throw new gi('\"events\" claim must be an object');if(!(\"http://schemas.openid.net/event/backchannel-logout\"in n.events))throw new gi('\"http://schemas.openid.net/event/backchannel-logout\" member is missing in the \"events\" claim');if(\"object\"!=typeof n.events[\"http://schemas.openid.net/event/backchannel-logout\"])throw new gi('\"http://schemas.openid.net/event/backchannel-logout\" member in the \"events\" claim must be an object');return{sid:n.sid,sub:n.sub}}});async function Ni(){if(rt(ai,this)&&rt(si,this))return{configuration:rt(ai,this),serverMetadata:rt(si,this)};const e=await tt(li,this,zi).call(this);return at(ai,this,await ir(new URL(\"https://\".concat(rt(ci,this).domain)),rt(ci,this).clientId,{use_mtls_endpoint_aliases:rt(ci,this).useMtls},e,{[Xo]:rt(ci,this).customFetch})),at(si,this,rt(ai,this).serverMetadata()),rt(ai,this)[Xo]=rt(ci,this).customFetch||fetch,{configuration:rt(ai,this),serverMetadata:rt(si,this)}}async function Wi(e){var t,n;const{configuration:o}=await tt(li,this,Ni).call(this);if(\"audience\"in e||\"resource\"in e)throw new wi(\"audience and resource parameters are not supported for Token Vault exchanges\");Ki(e.subjectToken);const r=new URLSearchParams({connection:e.connection,subject_token:e.subjectToken,subject_token_type:null!==(t=e.subjectTokenType)&&void 0!==t?t:\"urn:ietf:params:oauth:token-type:access_token\",requested_token_type:null!==(n=e.requestedTokenType)&&void 0!==n?n:\"http://auth0.com/oauth/token-type/federated-connection-access-token\"});e.loginHint&&r.append(\"login_hint\",e.loginHint),e.scope&&r.append(\"scope\",e.scope),Li(r,e.extra);try{const e=await Sr(o,\"urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token\",r);return Ci.fromTokenEndpointResponse(e)}catch(t){throw new wi(\"Failed to exchange token for connection '\".concat(e.connection,\"'.\"),t)}}async function Hi(e){const{configuration:t}=await tt(li,this,Ni).call(this);Ki(e.subjectToken);const n=new URLSearchParams({subject_token_type:e.subjectTokenType,subject_token:e.subjectToken});e.audience&&n.append(\"audience\",e.audience),e.scope&&n.append(\"scope\",e.scope),e.requestedTokenType&&n.append(\"requested_token_type\",e.requestedTokenType),e.organization&&n.append(\"organization\",e.organization),Li(n,e.extra);try{const e=await Sr(t,\"urn:ietf:params:oauth:grant-type:token-exchange\",n);return Ci.fromTokenEndpointResponse(e)}catch(t){throw new wi(\"Failed to exchange token of type '\".concat(e.subjectTokenType,\"'\").concat(e.audience?\" for audience '\".concat(e.audience,\"'\"):\"\",\".\"),t)}}async function zi(){if(!rt(ci,this).clientSecret&&!rt(ci,this).clientAssertionSigningKey&&!rt(ci,this).useMtls)throw new Si;if(rt(ci,this).useMtls)return(e,t,n,o)=>{n.set(\"client_id\",t.client_id)};let e=rt(ci,this).clientAssertionSigningKey;return!e||e instanceof CryptoKey||(e=await async function(e,t,n){if(\"string\"!=typeof e||0!==e.indexOf(\"-----BEGIN PRIVATE KEY-----\"))throw new TypeError('\"pkcs8\" must be PKCS#8 formatted string');return jo(e,t,n)}(e,rt(ci,this).clientAssertionSigningAlg||\"RS256\")),e?function(e,t){return qt(e,t)}(e):Bo(rt(ci,this).clientSecret)}async function Ji(e){const{configuration:t}=await tt(li,this,Ni).call(this),n=tr(),o=await er(n),r=Ei(ut(ut({},rt(ci,this).authorizationParams),null==e?void 0:e.authorizationParams)),i=new URLSearchParams(ut(ut({scope:ji},r),{},{client_id:rt(ci,this).clientId,code_challenge:o,code_challenge_method:\"S256\"}));return{authorizationUrl:null!=e&&e.pushedAuthorizationRequests?await gr(t,i):await wr(t,i),codeVerifier:n}}const Mi=new p;class Vi{constructor(e){let t,n;if(this.userCache=(new pe).enclosedCache,this.activeLockKeys=new Set,this.defaultOptions={authorizationParams:{scope:\"openid profile email\"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{const e=Array.from(this.activeLockKeys);for(const t of e)await Mi.releaseLock(t);this.activeLockKeys.clear(),window.removeEventListener(\"pagehide\",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),\"undefined\"!=typeof window&&(()=>{if(!I())throw new Error(\"For security reasons, `window.crypto` is required to run `auth0-spa-js`.\");if(void 0===I().subtle)throw new Error(\"\\n auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/main/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.\\n \")})(),e.cache&&e.cacheLocation&&console.warn(\"Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`.\"),e.cache)n=e.cache;else{if(t=e.cacheLocation||\"memory\",!Je(t))throw new Error('Invalid cache location \"'.concat(t,'\"'));n=Je(t)()}var o;this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=!1===e.legacySameSiteCookie?Pe:Re,this.orgHintCookieName=(o=this.options.clientId,\"auth0.\".concat(o,\".organization_hint\")),this.isAuthenticatedCookieName=(e=>\"auth0.\".concat(e,\".is.authenticated\"))(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const r=e.useCookiesForTransactions?this.cookieStorage:Ie;var i;this.scope=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];if(\"object\"!=typeof e)return{default:ue(t,e,...o)};let i={default:ue(t,...o)};return Object.keys(e).forEach((n=>{const r=e[n];i[n]=ue(t,r,...o)})),i}(this.options.authorizationParams.scope,\"openid\",this.options.useRefreshTokens?\"offline_access\":\"\"),this.transactionManager=new me(r,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||y,this.cacheManager=new fe(n,n.allKeys?void 0:new He(n,this.options.clientId),this.nowProvider),this.dpop=this.options.useDpop?new Ze(this.options.clientId):void 0,this.domainUrl=(i=this.options.domain,/^https?:\\/\\//.test(i)?i:\"https://\".concat(i)),this.tokenIssuer=((e,t)=>e?e.startsWith(\"https://\")?e:\"https://\".concat(e,\"/\"):\"\".concat(t,\"/\"))(this.options.issuer,this.domainUrl);const a=\"\".concat(this.domainUrl,\"/me/\"),s=this.createFetcher(Object.assign(Object.assign({},this.options.useDpop&&{dpopNonceId:\"__auth0_my_account_api__\"}),{getAccessToken:()=>this.getTokenSilently({authorizationParams:{scope:\"create:me:connected_accounts\",audience:a},detailedResponse:!0})}));this.myAccountApi=new Qe(s,a),this.authJsClient=new Ui({domain:this.options.domain,clientId:this.options.clientId}),\"undefined\"!=typeof window&&window.Worker&&this.options.useRefreshTokens&&\"memory\"===t&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new Ue)}getConfiguration(){return Object.freeze({domain:this.options.domain,clientId:this.options.clientId})}_url(e){const t=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||m)));return\"\".concat(this.domainUrl).concat(e,\"&auth0Client=\").concat(t)}_authorizeUrl(e){return this._url(\"/authorize?\".concat(D(e)))}async _verifyIdToken(e,t,n){const o=await this.nowProvider();return ge({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:t,organization:n,leeway:this.options.leeway,max_age:(r=this.options.authorizationParams.max_age,\"string\"!=typeof r?r:parseInt(r,10)||void 0),now:o});var r}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,t,n){var o;const r=x(O()),i=x(O()),a=O(),s=await K(a),c=U(s),u=await(null===(o=this.dpop)||void 0===o?void 0:o.calculateThumbprint()),l=((e,t,n,o,r,i,a,s,c)=>Object.assign(Object.assign(Object.assign({client_id:e.clientId},e.authorizationParams),n),{scope:le(t,n.scope,n.audience),response_type:\"code\",response_mode:s||\"query\",state:o,nonce:r,redirect_uri:a||e.authorizationParams.redirect_uri,code_challenge:i,code_challenge_method:\"S256\",dpop_jkt:c}))(this.options,this.scope,e,r,i,c,e.redirect_uri||this.options.authorizationParams.redirect_uri||n,null==t?void 0:t.response_mode,u),d=this._authorizeUrl(l);return{nonce:i,code_verifier:a,scope:l.scope,audience:l.audience||\"default\",redirect_uri:l.redirect_uri,state:r,url:d}}async loginWithPopup(e,t){var n;if(e=e||{},!(t=t||{}).popup&&(t.popup=(e=>{const t=window.screenX+(window.innerWidth-400)/2,n=window.screenY+(window.innerHeight-600)/2;return window.open(e,\"auth0:authorize:popup\",\"left=\".concat(t,\",top=\").concat(n,\",width=\").concat(400,\",height=\").concat(600,\",resizable,scrollbars=yes,status=1\"))})(\"\"),!t.popup))throw new S;const o=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:\"web_message\"},window.location.origin);t.popup.location.href=o.url;const r=await(e=>new Promise(((t,n)=>{let o;const r=setInterval((()=>{e.popup&&e.popup.closed&&(clearInterval(r),clearTimeout(i),window.removeEventListener(\"message\",o,!1),n(new k(e.popup)))}),1e3),i=setTimeout((()=>{clearInterval(r),n(new _(e.popup)),window.removeEventListener(\"message\",o,!1)}),1e3*(e.timeoutInSeconds||60));o=function(a){if(a.data&&\"authorization_response\"===a.data.type){if(clearTimeout(i),clearInterval(r),window.removeEventListener(\"message\",o,!1),!1!==e.closePopup&&e.popup.close(),a.data.response.error)return n(w.fromPayload(a.data.response));t(a.data.response)}},window.addEventListener(\"message\",o)})))(Object.assign(Object.assign({},t),{timeoutInSeconds:t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(o.state!==r.state)throw new w(\"state_mismatch\",\"Invalid state\");const i=(null===(n=e.authorizationParams)||void 0===n?void 0:n.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:o.audience,scope:o.scope,code_verifier:o.code_verifier,grant_type:\"authorization_code\",code:r.code,redirect_uri:o.redirect_uri},{nonceIn:o.nonce,organization:i})}async getUser(){var e;const t=await this._getIdTokenFromCache();return null===(e=null==t?void 0:t.decodedToken)||void 0===e?void 0:e.user}async getIdTokenClaims(){var e;const t=await this._getIdTokenFromCache();return null===(e=null==t?void 0:t.decodedToken)||void 0===e?void 0:e.claims}async loginWithRedirect(){var t;const n=Me(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),{openUrl:o,fragment:r,appState:i}=n,a=e(n,[\"openUrl\",\"fragment\",\"appState\"]),s=(null===(t=a.authorizationParams)||void 0===t?void 0:t.organization)||this.options.authorizationParams.organization,c=await this._prepareAuthorizeUrl(a.authorizationParams||{}),{url:u}=c,l=e(c,[\"url\"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},l),{appState:i,response_type:Oe.Code}),s&&{organization:s}));const d=r?\"\".concat(u,\"#\").concat(r):u;o?await o(d):window.location.assign(d)}async handleRedirectCallback(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href).split(\"?\").slice(1);if(0===e.length)throw new Error(\"There are no query params available for parsing.\");const t=this.transactionManager.get();if(!t)throw new w(\"missing_transaction\",\"Invalid state\");this.transactionManager.remove();const n=(e=>{e.indexOf(\"#\")>-1&&(e=e.substring(0,e.indexOf(\"#\")));const t=new URLSearchParams(e);return{state:t.get(\"state\"),code:t.get(\"code\")||void 0,connect_code:t.get(\"connect_code\")||void 0,error:t.get(\"error\")||void 0,error_description:t.get(\"error_description\")||void 0}})(e.join(\"\"));return t.response_type===Oe.ConnectCode?this._handleConnectAccountRedirectCallback(n,t):this._handleLoginRedirectCallback(n,t)}async _handleLoginRedirectCallback(e,t){const{code:n,state:o,error:r,error_description:i}=e;if(r)throw new g(r,i||r,o,t.appState);if(!t.code_verifier||t.state&&t.state!==o)throw new w(\"state_mismatch\",\"Invalid state\");const a=t.organization,s=t.nonce,c=t.redirect_uri;return await this._requestToken(Object.assign({audience:t.audience,scope:t.scope,code_verifier:t.code_verifier,grant_type:\"authorization_code\",code:n},c?{redirect_uri:c}:{}),{nonceIn:s,organization:a}),{appState:t.appState,response_type:Oe.Code}}async _handleConnectAccountRedirectCallback(e,t){const{connect_code:n,state:o,error:r,error_description:i}=e;if(r)throw new v(r,i||r,t.connection,o,t.appState);if(!n)throw new w(\"missing_connect_code\",\"Missing connect code\");if(!(t.code_verifier&&t.state&&t.auth_session&&t.redirect_uri&&t.state===o))throw new w(\"state_mismatch\",\"Invalid state\");const a=await this.myAccountApi.completeAccount({auth_session:t.auth_session,connect_code:n,redirect_uri:t.redirect_uri,code_verifier:t.code_verifier});return Object.assign(Object.assign({},a),{appState:t.appState,response_type:Oe.ConnectCode})}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get(\"auth0.is.authenticated\"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(\"auth0.is.authenticated\")}try{await this.getTokenSilently(e)}catch(e){}}async getTokenSilently(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n;const o=Object.assign(Object.assign({cacheMode:\"on\"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:le(this.scope,null===(t=e.authorizationParams)||void 0===t?void 0:t.scope,(null===(n=e.authorizationParams)||void 0===n?void 0:n.audience)||this.options.authorizationParams.audience)})}),r=await((e,t)=>{let n=Ne[t];return n||(n=e().finally((()=>{delete Ne[t],n=null})),Ne[t]=n),n})((()=>this._getTokenSilently(o)),\"\".concat(this.options.clientId,\"::\").concat(o.authorizationParams.audience,\"::\").concat(o.authorizationParams.scope));return e.detailedResponse?r:null==r?void 0:r.access_token}async _getTokenSilently(t){const{cacheMode:n}=t,o=e(t,[\"cacheMode\"]);if(\"off\"!==n){const e=await this._getEntryFromCache({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||\"default\",clientId:this.options.clientId,cacheMode:n});if(e)return e}if(\"cache-only\"===n)return;const r=(i=this.options.clientId,a=o.authorizationParams.audience||\"default\",\"\".concat(\"auth0.lock.getTokenSilently\",\".\").concat(i,\".\").concat(a));var i,a;if(!await We((()=>Mi.acquireLock(r,5e3)),10))throw new b;this.activeLockKeys.add(r),1===this.activeLockKeys.size&&window.addEventListener(\"pagehide\",this._releaseLockOnPageHide);try{if(\"off\"!==n){const e=await this._getEntryFromCache({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||\"default\",clientId:this.options.clientId});if(e)return e}const e=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(o):await this._getTokenFromIFrame(o),{id_token:t,token_type:i,access_token:a,oauthTokenScope:s,expires_in:c}=e;return Object.assign(Object.assign({id_token:t,token_type:i,access_token:a},s?{scope:s}:null),{expires_in:c})}finally{await Mi.releaseLock(r),this.activeLockKeys.delete(r),0===this.activeLockKeys.size&&window.removeEventListener(\"pagehide\",this._releaseLockOnPageHide)}}async getTokenWithPopup(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n,o;const r=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:le(this.scope,null===(n=e.authorizationParams)||void 0===n?void 0:n.scope,(null===(o=e.authorizationParams)||void 0===o?void 0:o.audience)||this.options.authorizationParams.audience)})});t=Object.assign(Object.assign({},f),t),await this.loginWithPopup(r,t);return(await this.cacheManager.get(new de({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||\"default\",clientId:this.options.clientId}),void 0,this.options.useMrrt)).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){null!==t.clientId?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const n=t.logoutParams||{},{federated:o}=n,r=e(n,[\"federated\"]),i=o?\"&federated\":\"\";return this._url(\"/v2/logout?\".concat(D(Object.assign({clientId:t.clientId},r))))+i}async logout(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var n;const o=Me(t),{openUrl:r}=o,i=e(o,[\"openUrl\"]);null===t.clientId?await this.cacheManager.clear():await this.cacheManager.clear(t.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove(\"@@user@@\"),await(null===(n=this.dpop)||void 0===n?void 0:n.clear());const a=this._buildLogoutUrl(i);r?await r(a):!1!==r&&window.location.assign(a)}async _getTokenFromIFrame(e){const t=(n=this.options.clientId,\"\".concat(\"auth0.lock.getTokenFromIFrame\",\".\").concat(n));var n;if(!await We((()=>Mi.acquireLock(t,5e3)),10))throw new b;try{const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:\"none\"}),o=this.cookieStorage.get(this.orgHintCookieName);o&&!n.organization&&(n.organization=o);const{url:r,state:i,nonce:a,code_verifier:s,redirect_uri:c,scope:u,audience:l}=await this._prepareAuthorizeUrl(n,{response_mode:\"web_message\"},window.location.origin);if(window.crossOriginIsolated)throw new w(\"login_required\",\"The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.\");const d=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds;let h;try{h=new URL(this.domainUrl).origin}catch(e){h=this.domainUrl}const p=await function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:60;return new Promise(((o,r)=>{const i=window.document.createElement(\"iframe\");i.setAttribute(\"width\",\"0\"),i.setAttribute(\"height\",\"0\"),i.style.display=\"none\";const a=()=>{window.document.body.contains(i)&&(window.document.body.removeChild(i),window.removeEventListener(\"message\",s,!1))};let s;const c=setTimeout((()=>{r(new b),a()}),1e3*n);s=function(e){if(e.origin!=t)return;if(!e.data||\"authorization_response\"!==e.data.type)return;const n=e.source;n&&n.close(),e.data.response.error?r(w.fromPayload(e.data.response)):o(e.data.response),clearTimeout(c),window.removeEventListener(\"message\",s,!1),setTimeout(a,2e3)},window.addEventListener(\"message\",s,!1),window.document.body.appendChild(i),i.setAttribute(\"src\",e)}))}(r,h,d);if(i!==p.state)throw new w(\"state_mismatch\",\"Invalid state\");const f=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:p.code,grant_type:\"authorization_code\",redirect_uri:c,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},f),{scope:u,oauthTokenScope:f.scope,audience:l})}catch(e){throw\"login_required\"===e.error&&this.logout({openUrl:!1}),e}finally{await Mi.releaseLock(t)}}async _getTokenUsingRefreshToken(e){const t=await this.cacheManager.get(new de({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||\"default\",clientId:this.options.clientId}),void 0,this.options.useMrrt);if(!(t&&t.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new A(e.authorizationParams.audience||\"default\",e.authorizationParams.scope)}const n=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,o=\"number\"==typeof e.timeoutInSeconds?1e3*e.timeoutInSeconds:null,r=((e,t,n,o)=>{var r;if(e&&n&&o){if(t.audience!==n)return t.scope;const e=o.split(\" \"),i=(null===(r=t.scope)||void 0===r?void 0:r.split(\" \"))||[],a=i.every((t=>e.includes(t)));return e.length>=i.length&&a?o:t.scope}return t.scope})(this.options.useMrrt,e.authorizationParams,null==t?void 0:t.audience,null==t?void 0:t.scope);try{const u=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:\"refresh_token\",refresh_token:t&&t.refresh_token,redirect_uri:n}),o&&{timeout:o}),{scopesToRequest:r});if(u.refresh_token&&(null==t?void 0:t.refresh_token)&&await this.cacheManager.updateEntry(t.refresh_token,u.refresh_token),this.options.useMrrt){if(i=null==t?void 0:t.audience,a=null==t?void 0:t.scope,s=e.authorizationParams.audience,c=e.authorizationParams.scope,i!==s||!Ve(c,a)){if(!Ve(r,u.scope)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);await this.cacheManager.remove(this.options.clientId,e.authorizationParams.audience,e.authorizationParams.scope);const t=((e,t)=>{const n=(null==e?void 0:e.split(\" \"))||[],o=(null==t?void 0:t.split(\" \"))||[];return n.filter((e=>-1==o.indexOf(e))).join(\",\")})(r,u.scope);throw new T(e.authorizationParams.audience||\"default\",t)}}}return Object.assign(Object.assign({},u),{scope:e.authorizationParams.scope,oauthTokenScope:u.scope,audience:e.authorizationParams.audience||\"default\"})}catch(t){if((t.message.indexOf(\"Missing Refresh Token\")>-1||t.message&&t.message.indexOf(\"invalid refresh token\")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw t}var i,a,s,c}async _saveEntryInCache(t){const{id_token:n,decodedToken:o}=t,r=e(t,[\"id_token\",\"decodedToken\"]);this.userCache.set(\"@@user@@\",{id_token:n,decodedToken:o}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(r)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||\"default\",t=this.scope[e],n=await this.cacheManager.getIdToken(new de({clientId:this.options.clientId,audience:e,scope:t})),o=this.userCache.get(\"@@user@@\");return n&&n.id_token===(null==o?void 0:o.id_token)?o:(this.userCache.set(\"@@user@@\",n),n)}async _getEntryFromCache(e){let{scope:t,audience:n,clientId:o,cacheMode:r}=e;const i=await this.cacheManager.get(new de({scope:t,audience:n,clientId:o}),60,this.options.useMrrt,r);if(i&&i.access_token){const{token_type:e,access_token:t,oauthTokenScope:n,expires_in:o}=i,r=await this._getIdTokenFromCache();return r&&Object.assign(Object.assign({id_token:r.id_token,token_type:e||\"Bearer\",access_token:t},n?{scope:n}:null),{expires_in:o})}}async _requestToken(e,t){var n,o;const{nonceIn:r,organization:i,scopesToRequest:a}=t||{},s=await se(Object.assign(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs,useMrrt:this.options.useMrrt,dpop:this.dpop},e),{scope:a||e.scope}),this.worker),c=await this._verifyIdToken(s.id_token,r,i);if(\"authorization_code\"===e.grant_type){const e=await this._getIdTokenFromCache();(null===(o=null===(n=null==e?void 0:e.decodedToken)||void 0===n?void 0:n.claims)||void 0===o?void 0:o.sub)&&e.decodedToken.claims.sub!==c.claims.sub&&(await this.cacheManager.clear(this.options.clientId),this.userCache.remove(\"@@user@@\"))}return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},s),{decodedToken:c,scope:e.scope,audience:e.audience||\"default\"}),s.scope?{oauthTokenScope:s.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||c.claims.org_id),Object.assign(Object.assign({},s),{decodedToken:c})}async exchangeToken(e){return this._requestToken({grant_type:\"urn:ietf:params:oauth:grant-type:token-exchange\",subject_token:e.subject_token,subject_token_type:e.subject_token_type,scope:le(this.scope,e.scope,e.audience||this.options.authorizationParams.audience),audience:e.audience||this.options.authorizationParams.audience,organization:e.organization||this.options.authorizationParams.organization})}_assertDpop(e){if(!e)throw new Error(\"`useDpop` option must be enabled before using DPoP.\")}getDpopNonce(e){return this._assertDpop(this.dpop),this.dpop.getNonce(e)}setDpopNonce(e,t){return this._assertDpop(this.dpop),this.dpop.setNonce(e,t)}generateDpopProof(e){return this._assertDpop(this.dpop),this.dpop.generateProof(e)}createFetcher(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Ye(e,{isDpopEnabled:()=>!!this.options.useDpop,getAccessToken:e=>{var t;return this.getTokenSilently({authorizationParams:{scope:null===(t=null==e?void 0:e.scope)||void 0===t?void 0:t.join(\" \"),audience:null==e?void 0:e.audience},detailedResponse:!0})},getDpopNonce:()=>this.getDpopNonce(e.dpopNonceId),setDpopNonce:t=>this.setDpopNonce(t,e.dpopNonceId),generateDpopProof:e=>this.generateDpopProof(e)})}async connectAccountWithRedirect(e){const{openUrl:t,appState:n,connection:o,scopes:r,authorization_params:i,redirectUri:a=this.options.authorizationParams.redirect_uri||window.location.origin}=e;if(!o)throw new Error(\"connection is required\");const s=x(O()),c=O(),u=await K(c),l=U(u),{connect_uri:d,connect_params:h,auth_session:p}=await this.myAccountApi.connectAccount({connection:o,scopes:r,redirect_uri:a,state:s,code_challenge:l,code_challenge_method:\"S256\",authorization_params:i});this.transactionManager.create({state:s,code_verifier:c,auth_session:p,redirect_uri:a,appState:n,connection:o,response_type:Oe.ConnectCode});const f=new URL(d);f.searchParams.set(\"ticket\",h.ticket),t?await t(f.toString()):window.location.assign(f)}}async function Gi(e){const t=new Vi(e);return await t.checkSession(),t}export{Vi as Auth0Client,g as AuthenticationError,de as CacheKey,v as ConnectError,w as GenericError,pe as InMemoryCache,he as LocalStorageCache,E as MfaRequiredError,A as MissingRefreshTokenError,$e as MyAccountApiError,k as PopupCancelledError,S as PopupOpenError,_ as PopupTimeoutError,Oe as ResponseType,b as TimeoutError,P as UseDpopNonceError,xe as User,Gi as createAuth0Client};\n//# sourceMappingURL=auth0-spa-js.production.esm.js.map\n","import { User } from '@auth0/auth0-spa-js';\n\n/**\n * The auth state which, when combined with the auth methods, make up the return object of the `useAuth0` hook.\n */\nexport interface AuthState<TUser extends User = User> {\n error: Error | undefined;\n isAuthenticated: boolean;\n isLoading: boolean;\n user: TUser | undefined;\n}\n\n/**\n * The initial auth state.\n */\nexport const initialAuthState: AuthState = {\n isAuthenticated: false,\n isLoading: true,\n error: undefined,\n user: undefined,\n};\n","import {\n GetTokenSilentlyOptions,\n GetTokenWithPopupOptions,\n IdToken,\n LogoutOptions as SPALogoutOptions,\n PopupLoginOptions,\n PopupConfigOptions,\n RedirectLoginResult,\n User,\n GetTokenSilentlyVerboseResponse,\n RedirectLoginOptions as SPARedirectLoginOptions,\n type Auth0Client,\n RedirectConnectAccountOptions,\n ConnectAccountRedirectResult,\n CustomTokenExchangeOptions,\n TokenEndpointResponse\n} from '@auth0/auth0-spa-js';\nimport { createContext } from 'react';\nimport { AuthState, initialAuthState } from './auth-state';\nimport { AppState } from './auth0-provider';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface LogoutOptions extends Omit<SPALogoutOptions, 'onRedirect'> {}\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface RedirectLoginOptions<TAppState = AppState>\n extends Omit<SPARedirectLoginOptions<TAppState>, 'onRedirect'> {}\n\n/**\n * Contains the authenticated state and authentication methods provided by the `useAuth0` hook.\n */\nexport interface Auth0ContextInterface<TUser extends User = User>\n extends AuthState<TUser> {\n /**\n * ```js\n * const token = await getAccessTokenSilently(options);\n * ```\n *\n * If there's a valid token stored, return it. Otherwise, opens an\n * iframe with the `/authorize` URL using the parameters provided\n * as arguments. Random and secure `state` and `nonce` parameters\n * will be auto-generated. If the response is successful, results\n * will be valid according to their expiration times.\n *\n * If refresh tokens are used, the token endpoint is called directly with the\n * 'refresh_token' grant. If no refresh token is available to make this call,\n * the SDK will only fall back to using an iframe to the '/authorize' URL if \n * the `useRefreshTokensFallback` setting has been set to `true`. By default this\n * setting is `false`.\n *\n * This method may use a web worker to perform the token call if the in-memory\n * cache is used.\n *\n * If an `audience` value is given to this function, the SDK always falls\n * back to using an iframe to make the token exchange.\n *\n * Note that in all cases, falling back to an iframe requires access to\n * the `auth0` cookie.\n */\n getAccessTokenSilently: {\n (\n options: GetTokenSilentlyOptions & { detailedResponse: true }\n ): Promise<GetTokenSilentlyVerboseResponse>;\n (options?: GetTokenSilentlyOptions): Promise<string>;\n (options: GetTokenSilentlyOptions): Promise<\n GetTokenSilentlyVerboseResponse | string\n >;\n };\n\n /**\n * ```js\n * const token = await getTokenWithPopup(options, config);\n * ```\n *\n * Get an access token interactively.\n *\n * Opens a popup with the `/authorize` URL using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated. If the response is successful,\n * results will be valid according to their expiration times.\n */\n getAccessTokenWithPopup: (\n options?: GetTokenWithPopupOptions,\n config?: PopupConfigOptions\n ) => Promise<string | undefined>;\n\n /**\n * ```js\n * const claims = await getIdTokenClaims();\n * ```\n *\n * Returns all claims from the id_token if available.\n */\n getIdTokenClaims: () => Promise<IdToken | undefined>;\n\n /**\n * ```js\n * const tokenResponse = await exchangeToken({\n * subject_token: 'external_token_value',\n * subject_token_type: 'urn:acme:legacy-system-token',\n * scope: 'openid profile email'\n * });\n * ```\n *\n * Exchanges an external subject token for Auth0 tokens via a token exchange request.\n *\n * This method implements the token exchange grant as specified in RFC 8693.\n * It performs a token exchange by sending a request to the `/oauth/token` endpoint\n * with the external token and returns Auth0 tokens (access token, ID token, etc.).\n *\n * The request includes the following parameters:\n * - `grant_type`: Hard-coded to \"urn:ietf:params:oauth:grant-type:token-exchange\"\n * - `subject_token`: The external token to be exchanged\n * - `subject_token_type`: A namespaced URI identifying the token type (must be under your organization's control)\n * - `audience`: The target audience (falls back to the SDK's default audience if not provided)\n * - `scope`: Space-separated list of scopes (merged with the SDK's default scopes)\n *\n * @param options - The options required to perform the token exchange\n * @returns A promise that resolves to the token endpoint response containing Auth0 tokens\n */\n exchangeToken: (\n options: CustomTokenExchangeOptions\n ) => Promise<TokenEndpointResponse>;\n\n /**\n * ```js\n * await loginWithRedirect(options);\n * ```\n *\n * Performs a redirect to `/authorize` using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated.\n */\n loginWithRedirect: (\n options?: RedirectLoginOptions<AppState>\n ) => Promise<void>;\n\n /**\n * ```js\n * await loginWithPopup(options, config);\n * ```\n *\n * Opens a popup with the `/authorize` URL using the parameters\n * provided as arguments. Random and secure `state` and `nonce`\n * parameters will be auto-generated. If the response is successful,\n * results will be valid according to their expiration times.\n *\n * IMPORTANT: This method has to be called from an event handler\n * that was started by the user like a button click, for example,\n * otherwise the popup will be blocked in most browsers.\n */\n loginWithPopup: (\n options?: PopupLoginOptions,\n config?: PopupConfigOptions\n ) => Promise<void>;\n\n /**\n * ```js\n * await connectAccountWithRedirect({\n * connection: 'google-oauth2',\n * scopes: ['openid', 'profile', 'email', 'https://www.googleapis.com/auth/drive.readonly'],\n * authorization_params: {\n * // additional authorization params to forward to the authorization server\n * }\n * });\n * ```\n *\n * Redirects to the `/connect` URL using the parameters\n * provided as arguments. This then redirects to the connection's login page\n * where the user can authenticate and authorize the account to be connected.\n *\n * If connecting the account is successful `onRedirectCallback` will be called\n * with the details of the connected account.\n */\n connectAccountWithRedirect: (\n options: RedirectConnectAccountOptions\n ) => Promise<void>;\n\n /**\n * ```js\n * auth0.logout({ logoutParams: { returnTo: window.location.origin } });\n * ```\n *\n * Clears the application session and performs a redirect to `/v2/logout`, using\n * the parameters provided as arguments, to clear the Auth0 session.\n * If the `logoutParams.federated` option is specified, it also clears the Identity Provider session.\n * [Read more about how Logout works at Auth0](https://auth0.com/docs/logout).\n */\n logout: (options?: LogoutOptions) => Promise<void>;\n\n /**\n * After the browser redirects back to the callback page,\n * call `handleRedirectCallback` to handle success and error\n * responses from Auth0. If the response is successful, results\n * will be valid according to their expiration times.\n *\n * @param url The URL to that should be used to retrieve the `state` and `code` values. Defaults to `window.location.href` if not given.\n */\n handleRedirectCallback: (url?: string) => Promise<RedirectLoginResult | ConnectAccountRedirectResult>;\n\n /**\n * Returns the current DPoP nonce used for making requests to Auth0.\n *\n * It can return `undefined` because when starting fresh it will not\n * be populated until after the first response from the server.\n *\n * It requires enabling the {@link Auth0ClientOptions.useDpop} option.\n *\n * @param nonce The nonce value.\n * @param id The identifier of a nonce: if absent, it will get the nonce\n * used for requests to Auth0. Otherwise, it will be used to\n * select a specific non-Auth0 nonce.\n */\n getDpopNonce: Auth0Client['getDpopNonce'];\n\n /**\n * Sets the current DPoP nonce used for making requests to Auth0.\n *\n * It requires enabling the {@link Auth0ClientOptions.useDpop} option.\n *\n * @param nonce The nonce value.\n * @param id The identifier of a nonce: if absent, it will set the nonce\n * used for requests to Auth0. Otherwise, it will be used to\n * select a specific non-Auth0 nonce.\n */\n setDpopNonce: Auth0Client['setDpopNonce'];\n\n /**\n * Returns a string to be used to demonstrate possession of the private\n * key used to cryptographically bind access tokens with DPoP.\n *\n * It requires enabling the {@link Auth0ClientOptions.useDpop} option.\n */\n generateDpopProof: Auth0Client['generateDpopProof'];\n\n /**\n * Returns a new `Fetcher` class that will contain a `fetchWithAuth()` method.\n * This is a drop-in replacement for the Fetch API's `fetch()` method, but will\n * handle certain authentication logic for you, like building the proper auth\n * headers or managing DPoP nonces and retries automatically.\n *\n * Check the `EXAMPLES.md` file for a deeper look into this method.\n */\n createFetcher: Auth0Client['createFetcher'];\n\n /**\n * ```js\n * const config = getConfiguration();\n * // { domain: 'tenant.auth0.com', clientId: 'abc123' }\n * ```\n *\n * Returns a readonly copy of the initialization configuration\n * containing the domain and clientId.\n */\n getConfiguration: Auth0Client['getConfiguration'];\n}\n\n/**\n * @ignore\n */\nconst stub = (): never => {\n throw new Error('You forgot to wrap your component in <Auth0Provider>.');\n};\n\n/**\n * @ignore\n */\nexport const initialContext = {\n ...initialAuthState,\n buildAuthorizeUrl: stub,\n buildLogoutUrl: stub,\n getAccessTokenSilently: stub,\n getAccessTokenWithPopup: stub,\n getIdTokenClaims: stub,\n exchangeToken: stub,\n loginWithRedirect: stub,\n loginWithPopup: stub,\n connectAccountWithRedirect: stub,\n logout: stub,\n handleRedirectCallback: stub,\n getDpopNonce: stub,\n setDpopNonce: stub,\n generateDpopProof: stub,\n createFetcher: stub,\n getConfiguration: stub,\n};\n\n/**\n * The Auth0 Context\n */\nconst Auth0Context = createContext<Auth0ContextInterface>(initialContext);\n\nexport default Auth0Context;\n","/**\n * An OAuth2 error will come from the authorization server and will have at least an `error` property which will\n * be the error code. And possibly an `error_description` property\n *\n * See: https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.3.1.2.6\n */\nexport class OAuthError extends Error {\n constructor(public error: string, public error_description?: string) {\n super(error_description ?? error);\n\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, OAuthError.prototype);\n }\n}\n","import { OAuthError } from './errors';\n\nconst CODE_RE = /[?&](?:connect_)?code=[^&]+/;\nconst STATE_RE = /[?&]state=[^&]+/;\nconst ERROR_RE = /[?&]error=[^&]+/;\n\ninterface WithError {\n error: string;\n}\n\ninterface WithErrorAndDescription {\n error: string;\n error_description: string;\n}\n\nexport const hasAuthParams = (searchParams = window.location.search): boolean =>\n (CODE_RE.test(searchParams) || ERROR_RE.test(searchParams)) &&\n STATE_RE.test(searchParams);\n\nconst normalizeErrorFn =\n (fallbackMessage: string) =>\n (error: unknown): Error => {\n if (error instanceof Error) {\n return error;\n }\n // try to check errors of the following form: {error: string; error_description?: string}\n if (\n error !== null &&\n typeof error === 'object' &&\n 'error' in error &&\n typeof (error as WithError).error === 'string'\n ) {\n if (\n 'error_description' in error &&\n typeof (error as WithErrorAndDescription).error_description === 'string'\n ) {\n const e = error as WithErrorAndDescription;\n return new OAuthError(e.error, e.error_description);\n }\n const e = error as WithError;\n return new OAuthError(e.error);\n }\n return new Error(fallbackMessage);\n };\n\nexport const loginError = normalizeErrorFn('Login failed');\n\nexport const tokenError = normalizeErrorFn('Get access token failed');\n\n/**\n * @ignore\n * Helper function to map the v1 `redirectUri` option to the v2 `authorizationParams.redirect_uri`\n * and log a warning.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const deprecateRedirectUri = (options?: any) => {\n if (options?.redirectUri) {\n console.warn(\n 'Using `redirectUri` has been deprecated, please use `authorizationParams.redirect_uri` instead as `redirectUri` will be no longer supported in a future version'\n );\n options.authorizationParams = options.authorizationParams ?? {};\n options.authorizationParams.redirect_uri = options.redirectUri;\n delete options.redirectUri;\n }\n\n if (options?.authorizationParams?.redirectUri) {\n console.warn(\n 'Using `authorizationParams.redirectUri` has been deprecated, please use `authorizationParams.redirect_uri` instead as `authorizationParams.redirectUri` will be removed in a future version'\n );\n options.authorizationParams.redirect_uri =\n options.authorizationParams.redirectUri;\n delete options.authorizationParams.redirectUri;\n }\n};\n","import { User } from '@auth0/auth0-spa-js';\nimport { AuthState } from './auth-state';\n\ntype Action =\n | { type: 'LOGIN_POPUP_STARTED' }\n | {\n type:\n | 'INITIALISED'\n | 'LOGIN_POPUP_COMPLETE'\n | 'GET_ACCESS_TOKEN_COMPLETE'\n | 'HANDLE_REDIRECT_COMPLETE';\n user: User | undefined;\n }\n | { type: 'LOGOUT' }\n | { type: 'ERROR'; error: Error };\n\n/**\n * Handles how that state changes in the `useAuth0` hook.\n */\nexport const reducer = <TUser extends User = User>(state: AuthState<TUser>, action: Action): AuthState<TUser> => {\n switch (action.type) {\n case 'LOGIN_POPUP_STARTED':\n return {\n ...state,\n isLoading: true,\n };\n case 'LOGIN_POPUP_COMPLETE':\n case 'INITIALISED':\n return {\n ...state,\n isAuthenticated: !!action.user,\n user: action.user as TUser | undefined,\n isLoading: false,\n error: undefined,\n };\n case 'HANDLE_REDIRECT_COMPLETE':\n case 'GET_ACCESS_TOKEN_COMPLETE':\n if (state.user === action.user) {\n return state;\n }\n return {\n ...state,\n isAuthenticated: !!action.user,\n user: action.user as TUser | undefined,\n };\n case 'LOGOUT':\n return {\n ...state,\n isAuthenticated: false,\n user: undefined,\n };\n case 'ERROR':\n return {\n ...state,\n isLoading: false,\n error: action.error,\n };\n }\n};\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react';\nimport {\n Auth0Client,\n Auth0ClientOptions,\n PopupLoginOptions,\n PopupConfigOptions,\n GetTokenWithPopupOptions,\n RedirectLoginResult,\n GetTokenSilentlyOptions,\n User,\n RedirectConnectAccountOptions,\n ConnectAccountRedirectResult,\n ResponseType,\n CustomTokenExchangeOptions,\n TokenEndpointResponse\n} from '@auth0/auth0-spa-js';\nimport Auth0Context, {\n Auth0ContextInterface,\n LogoutOptions,\n RedirectLoginOptions,\n} from './auth0-context';\nimport {\n hasAuthParams,\n loginError,\n tokenError,\n deprecateRedirectUri,\n} from './utils';\nimport { reducer } from './reducer';\nimport { initialAuthState, type AuthState } from './auth-state';\n\n/**\n * The account that has been connected during the connect flow.\n */\nexport type ConnectedAccount = Omit<ConnectAccountRedirectResult, 'appState' | 'response_type'>;\n\n/**\n * The state of the application before the user was redirected to the login page\n * and any account that the user may have connected to.\n */\nexport type AppState = {\n returnTo?: string;\n connectedAccount?: ConnectedAccount;\n response_type?: ResponseType;\n [key: string]: any; // eslint-disable-line @typescript-eslint/no-explicit-any\n};\n\n/**\n * The main configuration to instantiate the `Auth0Provider`.\n */\nexport interface Auth0ProviderOptions<TUser extends User = User> extends Auth0ClientOptions {\n /**\n * The child nodes your Provider has wrapped\n */\n children?: React.ReactNode;\n /**\n * By default this removes the code and state parameters from the url when you are redirected from the authorize page.\n * It uses `window.history` but you might want to overwrite this if you are using a custom router, like `react-router-dom`\n * See the EXAMPLES.md for more info.\n */\n onRedirectCallback?: (appState?: AppState, user?: TUser) => void;\n /**\n * By default, if the page url has code/state params, the SDK will treat them as Auth0's and attempt to exchange the\n * code for a token. In some cases the code might be for something else (another OAuth SDK perhaps). In these\n * instances you can instruct the client to ignore them eg\n *\n * ```jsx\n * <Auth0Provider\n * clientId={clientId}\n * domain={domain}\n * skipRedirectCallback={window.location.pathname === '/stripe-oauth-callback'}\n * >\n * ```\n */\n skipRedirectCallback?: boolean;\n /**\n * Context to be used when creating the Auth0Provider, defaults to the internally created context.\n *\n * This allows multiple Auth0Providers to be nested within the same application, the context value can then be\n * passed to useAuth0, withAuth0, or withAuthenticationRequired to use that specific Auth0Provider to access\n * auth state and methods specifically tied to the provider that the context belongs to.\n *\n * When using multiple Auth0Providers in a single application you should do the following to ensure sessions are not\n * overwritten:\n *\n * * Configure a different redirect_uri for each Auth0Provider, and set skipRedirectCallback for each provider to ignore\n * the others redirect_uri\n * * If using localstorage for both Auth0Providers, ensure that the audience and scope are different for so that the key\n * used to store data is different\n *\n * For a sample on using multiple Auth0Providers review the [React Account Linking Sample](https://github.com/auth0-samples/auth0-link-accounts-sample/tree/react-variant)\n */\n context?: React.Context<Auth0ContextInterface<TUser>>;\n}\n\n/**\n * Replaced by the package version at build time.\n * @ignore\n */\ndeclare const __VERSION__: string;\n\n/**\n * @ignore\n */\nconst toAuth0ClientOptions = (\n opts: Auth0ProviderOptions\n): Auth0ClientOptions => {\n deprecateRedirectUri(opts);\n\n return {\n ...opts,\n auth0Client: {\n name: 'auth0-react',\n version: __VERSION__,\n },\n };\n};\n\n/**\n * @ignore\n */\nconst defaultOnRedirectCallback = (appState?: AppState): void => {\n window.history.replaceState(\n {},\n document.title,\n appState!.returnTo ?? window.location.pathname\n );\n};\n\n/**\n * ```jsx\n * <Auth0Provider\n * domain={domain}\n * clientId={clientId}\n * authorizationParams={{ redirect_uri: window.location.origin }}>\n * <MyApp />\n * </Auth0Provider>\n * ```\n *\n * Provides the Auth0Context to its child components.\n */\nconst Auth0Provider = <TUser extends User = User>(opts: Auth0ProviderOptions<TUser>) => {\n const {\n children,\n skipRedirectCallback,\n onRedirectCallback = defaultOnRedirectCallback,\n context = Auth0Context,\n ...clientOpts\n } = opts;\n const [client] = useState(\n () => new Auth0Client(toAuth0ClientOptions(clientOpts))\n );\n const [state, dispatch] = useReducer(reducer<TUser>, initialAuthState as AuthState<TUser>);\n const didInitialise = useRef(false);\n\n const handleError = useCallback((error: Error) => {\n dispatch({ type: 'ERROR', error });\n return error;\n }, []);\n\n useEffect(() => {\n if (didInitialise.current) {\n return;\n }\n didInitialise.current = true;\n (async (): Promise<void> => {\n try {\n let user: TUser | undefined;\n if (hasAuthParams() && !skipRedirectCallback) {\n const { appState = {}, response_type, ...result } = await client.handleRedirectCallback();\n user = await client.getUser();\n appState.response_type = response_type;\n if (response_type === ResponseType.ConnectCode) {\n appState.connectedAccount = result as ConnectedAccount;\n }\n onRedirectCallback(appState, user);\n } else {\n await client.checkSession();\n user = await client.getUser();\n }\n dispatch({ type: 'INITIALISED', user });\n } catch (error) {\n handleError(loginError(error));\n }\n })();\n }, [client, onRedirectCallback, skipRedirectCallback, handleError]);\n\n const loginWithRedirect = useCallback(\n (opts?: RedirectLoginOptions): Promise<void> => {\n deprecateRedirectUri(opts);\n\n return client.loginWithRedirect(opts);\n },\n [client]\n );\n\n const loginWithPopup = useCallback(\n async (\n options?: PopupLoginOptions,\n config?: PopupConfigOptions\n ): Promise<void> => {\n dispatch({ type: 'LOGIN_POPUP_STARTED' });\n try {\n await client.loginWithPopup(options, config);\n } catch (error) {\n handleError(loginError(error));\n return;\n }\n const user = await client.getUser();\n dispatch({ type: 'LOGIN_POPUP_COMPLETE', user });\n },\n [client, handleError]\n );\n\n const logout = useCallback(\n async (opts: LogoutOptions = {}): Promise<void> => {\n await client.logout(opts);\n if (opts.openUrl || opts.openUrl === false) {\n dispatch({ type: 'LOGOUT' });\n }\n },\n [client]\n );\n\n const getAccessTokenSilently = useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async (opts?: GetTokenSilentlyOptions): Promise<any> => {\n let token;\n try {\n token = await client.getTokenSilently(opts);\n } catch (error) {\n throw tokenError(error);\n } finally {\n dispatch({\n type: 'GET_ACCESS_TOKEN_COMPLETE',\n user: await client.getUser(),\n });\n }\n return token;\n },\n [client]\n );\n\n const getAccessTokenWithPopup = useCallback(\n async (\n opts?: GetTokenWithPopupOptions,\n config?: PopupConfigOptions\n ): Promise<string | undefined> => {\n let token;\n try {\n token = await client.getTokenWithPopup(opts, config);\n } catch (error) {\n throw tokenError(error);\n } finally {\n dispatch({\n type: 'GET_ACCESS_TOKEN_COMPLETE',\n user: await client.getUser(),\n });\n }\n return token;\n },\n [client]\n );\n\n const connectAccountWithRedirect = useCallback(\n (options: RedirectConnectAccountOptions) =>\n client.connectAccountWithRedirect(options),\n [client]\n );\n\n const getIdTokenClaims = useCallback(\n () => client.getIdTokenClaims(),\n [client]\n );\n\n const exchangeToken = useCallback(\n async (\n options: CustomTokenExchangeOptions\n ): Promise<TokenEndpointResponse> => {\n let tokenResponse;\n try {\n tokenResponse = await client.exchangeToken(options);\n } catch (error) {\n throw tokenError(error);\n } finally {\n // We dispatch the standard GET_ACCESS_TOKEN_COMPLETE action here to maintain \n // backward compatibility and consistency with the getAccessTokenSilently flow. \n // This ensures the SDK's internal state lifecycle (loading/user updates) remains \n // identical regardless of whether the token was retrieved via silent auth or CTE.\n dispatch({\n type: 'GET_ACCESS_TOKEN_COMPLETE',\n user: await client.getUser(),\n });\n }\n return tokenResponse;\n },\n [client]\n );\n\n const handleRedirectCallback = useCallback(\n async (\n url?: string\n ): Promise<RedirectLoginResult | ConnectAccountRedirectResult> => {\n try {\n return await client.handleRedirectCallback(url);\n } catch (error) {\n throw tokenError(error);\n } finally {\n dispatch({\n type: 'HANDLE_REDIRECT_COMPLETE',\n user: await client.getUser(),\n });\n }\n },\n [client]\n );\n\n const getDpopNonce = useCallback<Auth0Client['getDpopNonce']>(\n (id) => client.getDpopNonce(id),\n [client]\n );\n\n const setDpopNonce = useCallback<Auth0Client['setDpopNonce']>(\n (nonce, id) => client.setDpopNonce(nonce, id),\n [client]\n );\n\n const generateDpopProof = useCallback<Auth0Client['generateDpopProof']>(\n (params) => client.generateDpopProof(params),\n [client]\n );\n\n const createFetcher = useCallback<Auth0Client['createFetcher']>(\n (config) => client.createFetcher(config),\n [client]\n );\n\n const getConfiguration = useCallback<Auth0Client['getConfiguration']>(\n () => client.getConfiguration(),\n [client]\n );\n\n const contextValue = useMemo<Auth0ContextInterface<TUser>>(() => {\n return {\n ...state,\n getAccessTokenSilently,\n getAccessTokenWithPopup,\n getIdTokenClaims,\n exchangeToken,\n loginWithRedirect,\n loginWithPopup,\n connectAccountWithRedirect,\n logout,\n handleRedirectCallback,\n getDpopNonce,\n setDpopNonce,\n generateDpopProof,\n createFetcher,\n getConfiguration,\n };\n }, [\n state,\n getAccessTokenSilently,\n getAccessTokenWithPopup,\n getIdTokenClaims,\n exchangeToken,\n loginWithRedirect,\n loginWithPopup,\n connectAccountWithRedirect,\n logout,\n handleRedirectCallback,\n getDpopNonce,\n setDpopNonce,\n generateDpopProof,\n createFetcher,\n getConfiguration,\n ]);\n\n return <context.Provider value={contextValue}>{children}</context.Provider>;\n};\n\nexport default Auth0Provider;\n","import { useContext } from 'react';\nimport { User } from '@auth0/auth0-spa-js';\nimport Auth0Context, { Auth0ContextInterface } from './auth0-context';\n\n/**\n * ```js\n * const {\n * // Auth state:\n * error,\n * isAuthenticated,\n * isLoading,\n * user,\n * // Auth methods:\n * getAccessTokenSilently,\n * getAccessTokenWithPopup,\n * getIdTokenClaims,\n * exchangeToken,\n * loginWithRedirect,\n * loginWithPopup,\n * logout,\n * } = useAuth0<TUser>();\n * ```\n *\n * Use the `useAuth0` hook in your components to access the auth state and methods.\n *\n * TUser is an optional type param to provide a type to the `user` field.\n */\nconst useAuth0 = <TUser extends User = User>(\n context = Auth0Context\n): Auth0ContextInterface<TUser> =>\n useContext(context) as Auth0ContextInterface<TUser>;\n\nexport default useAuth0;\n","import React, { ComponentType } from 'react';\nimport Auth0Context, { Auth0ContextInterface } from './auth0-context';\n\n/**\n * Components wrapped in `withAuth0` will have an additional `auth0` prop\n */\nexport interface WithAuth0Props {\n auth0: Auth0ContextInterface;\n}\n\n/**\n * ```jsx\n * class MyComponent extends Component {\n * render() {\n * // Access the auth context from the `auth0` prop\n * const { user } = this.props.auth0;\n * return <div>Hello {user.name}!</div>\n * }\n * }\n * // Wrap your class component in withAuth0\n * export default withAuth0(MyComponent);\n * ```\n *\n * Wrap your class components in this Higher Order Component to give them access to the Auth0Context.\n *\n * Providing a context as the second argument allows you to configure the Auth0Provider the Auth0Context\n * should come from f you have multiple within your application.\n */\nconst withAuth0 = <P extends WithAuth0Props>(\n Component: ComponentType<P>,\n context = Auth0Context\n): ComponentType<Omit<P, keyof WithAuth0Props>> => {\n return function WithAuth(props): React.JSX.Element {\n return (\n <context.Consumer>\n {(auth: Auth0ContextInterface): React.JSX.Element => (\n <Component {...(props as P)} auth0={auth} />\n )}\n </context.Consumer>\n );\n };\n};\n\nexport default withAuth0;\n","import React, { ComponentType, useEffect, FC } from 'react';\nimport useAuth0 from './use-auth0';\nimport Auth0Context, {\n Auth0ContextInterface,\n RedirectLoginOptions,\n} from './auth0-context';\n\n/**\n * @ignore\n */\nconst defaultOnRedirecting = (): React.JSX.Element => <></>;\n\n/**\n* @ignore\n*/\nconst defaultOnBeforeAuthentication = async (): Promise<void> => {/* noop */ };\n\n/**\n * @ignore\n */\nconst defaultReturnTo = (): string =>\n `${window.location.pathname}${window.location.search}`;\n\n/**\n * Options for the withAuthenticationRequired Higher Order Component\n */\nexport interface WithAuthenticationRequiredOptions {\n /**\n * ```js\n * withAuthenticationRequired(Profile, {\n * returnTo: '/profile'\n * })\n * ```\n *\n * or\n *\n * ```js\n * withAuthenticationRequired(Profile, {\n * returnTo: () => window.location.hash.substr(1)\n * })\n * ```\n *\n * Add a path for the `onRedirectCallback` handler to return the user to after login.\n */\n returnTo?: string | (() => string);\n /**\n * ```js\n * withAuthenticationRequired(Profile, {\n * onRedirecting: () => <div>Redirecting you to the login...</div>\n * })\n * ```\n *\n * Render a message to show that the user is being redirected to the login.\n */\n onRedirecting?: () => React.JSX.Element;\n /**\n * ```js\n * withAuthenticationRequired(Profile, {\n * onBeforeAuthentication: () => { analyticsLibrary.track('login_triggered'); }\n * })\n * ```\n *\n * Allows executing logic before the user is redirected to the login page.\n */\n onBeforeAuthentication?: () => Promise<void>;\n /**\n * ```js\n * withAuthenticationRequired(Profile, {\n * loginOptions: {\n * appState: {\n * customProp: 'foo'\n * }\n * }\n * })\n * ```\n *\n * Pass additional login options, like extra `appState` to the login page.\n * This will be merged with the `returnTo` option used by the `onRedirectCallback` handler.\n */\n loginOptions?: RedirectLoginOptions;\n /**\n * The context to be used when calling useAuth0, this should only be provided if you are using multiple Auth0Providers\n * within your application and you wish to tie a specific component to a Auth0Provider other than the Auth0Provider\n * associated with the default Auth0Context.\n */\n context?: React.Context<Auth0ContextInterface>;\n}\n\n/**\n * ```js\n * const MyProtectedComponent = withAuthenticationRequired(MyComponent);\n * ```\n *\n * When you wrap your components in this Higher Order Component and an anonymous user visits your component\n * they will be redirected to the login page; after login they will be returned to the page they were redirected from.\n */\nconst withAuthenticationRequired = <P extends object>(\n Component: ComponentType<P>,\n options: WithAuthenticationRequiredOptions = {}\n): FC<P> => {\n return function WithAuthenticationRequired(props: P): React.JSX.Element {\n const {\n returnTo = defaultReturnTo,\n onRedirecting = defaultOnRedirecting,\n onBeforeAuthentication = defaultOnBeforeAuthentication,\n loginOptions,\n context = Auth0Context,\n } = options;\n\n const { isAuthenticated, isLoading, loginWithRedirect } =\n useAuth0(context);\n\n useEffect(() => {\n if (isLoading || isAuthenticated) {\n return;\n }\n const opts = {\n ...loginOptions,\n appState: {\n ...loginOptions?.appState,\n returnTo: typeof returnTo === 'function' ? returnTo() : returnTo,\n },\n };\n void (async (): Promise<void> => {\n await onBeforeAuthentication();\n await loginWithRedirect(opts);\n })();\n }, [\n isLoading,\n isAuthenticated,\n loginWithRedirect,\n onBeforeAuthentication,\n loginOptions,\n returnTo,\n ]);\n\n return isAuthenticated ? <Component {...props} /> : onRedirecting();\n };\n};\n\nexport default withAuthenticationRequired;\n","import { useAuth0 } from '@auth0/auth0-react';\r\n\r\nexport { useAuth0 };\r\n\r\n/**\r\n * useAuth0User\r\n *\r\n * Simplified access to user and loading state.\r\n */\r\nexport function useAuth0User() {\r\n const { user, isAuthenticated, isLoading, error } = useAuth0();\r\n return { user, isAuthenticated, isLoading, error };\r\n}\r\n"],"mappings":"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","names":["e","t","n","o","r","i","a","c","s","h","p","u","l","d","e","t","n","o","e","t","n","o","r","e","e","t","n","o","r","i","a","s","e","e","t","n","o","r","i","a","s","c","u","l","d","h","p","OAuthError","e"]}