authhero 0.287.0 → 0.288.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.
package/dist/authhero.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@hono/zod-openapi"),Z=t=>typeof t=="string",Ei=()=>{let t,e;const n=new Promise((r,i)=>{t=r,e=i});return n.resolve=t,n.reject=e,n},sf=t=>t==null?"":""+t,xw=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},Sw=/###/g,af=t=>t&&t.indexOf("###")>-1?t.replace(Sw,"."):t,cf=t=>!t||Z(t),eo=(t,e,n)=>{const r=Z(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if(cf(t))return{};const s=af(r[i]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++i}return cf(t)?{}:{obj:t,k:af(r[i])}},lf=(t,e,n)=>{const{obj:r,k:i}=eo(t,e,Object);if(r!==void 0||e.length===1){r[i]=n;return}let s=e[e.length-1],a=e.slice(0,e.length-1),c=eo(t,a,Object);for(;c.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),c=eo(t,a,Object),c?.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},zw=(t,e,n,r)=>{const{obj:i,k:s}=eo(t,e,Object);i[s]=i[s]||[],i[s].push(n)},Bs=(t,e)=>{const{obj:n,k:r}=eo(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Aw=(t,e,n)=>{const r=Bs(t,n);return r!==void 0?r:Bs(e,n)},I0=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?Z(t[r])||t[r]instanceof String||Z(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):I0(t[r],e[r],n):t[r]=e[r]);return t},Ar=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Ew={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Cw=t=>Z(t)?t.replace(/[&<>"'\/]/g,e=>Ew[e]):t;class Nw{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Iw=[" ",",","?","!",";"],jw=new Nw(20),Ow=(t,e,n)=>{e=e||"",n=n||"";const r=Iw.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const i=jw.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!i.test(t);if(!s){const a=t.indexOf(n);a>0&&!i.test(t.substring(0,a))&&(s=!0)}return s},Cl=(t,e,n=".")=>{if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let i=t;for(let s=0;s<r.length;){if(!i||typeof i!="object")return;let a,c="";for(let l=s;l<r.length;++l)if(l!==s&&(c+=n),c+=r[l],a=i[c],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=a}return i},fo=t=>t?.replace("_","-"),Pw={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console?.[t]?.apply?.(console,e)}};class Ls{constructor(e,n={}){this.init(e,n)}init(e,n={}){this.prefix=n.prefix||"i18next:",this.logger=e||Pw,this.options=n,this.debug=n.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,i){return i&&!this.debug?null:(Z(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new Ls(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Ls(this.logger,e)}}var Ht=new Ls;class Da{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e,...n){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([i,s])=>{for(let a=0;a<s;a++)i(...n)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,s])=>{for(let a=0;a<s;a++)i.apply(i,[e,...n])})}}class df extends Da{constructor(e,n={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r,i={}){const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,n],r&&(Array.isArray(r)?c.push(...r):Z(r)&&s?c.push(...r.split(s)):c.push(r)));const l=Bs(this.data,c);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=c[0],n=c[1],r=c.slice(2).join(".")),l||!a||!Z(r)?l:Cl(this.data?.[e]?.[n],r,s)}addResource(e,n,r,i,s={silent:!1}){const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,n];r&&(c=c.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(c=e.split("."),i=n,n=c[1]),this.addNamespaces(n),lf(this.data,c,i),s.silent||this.emit("added",e,n,r,i)}addResources(e,n,r,i={silent:!1}){for(const s in r)(Z(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});i.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,i,s,a={silent:!1,skipCopy:!1}){let c=[e,n];e.indexOf(".")>-1&&(c=e.split("."),i=r,r=n,n=c[1]),this.addNamespaces(n);let l=Bs(this.data,c)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?I0(l,r,s):l={...l,...r},lf(this.data,c,l),a.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var j0={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,i){return t.forEach(s=>{e=this.processors[s]?.process(e,n,r,i)??e}),e}};const O0=Symbol("i18next/PATH_KEY");function Tw(){const t=[],e=Object.create(null);let n;return e.get=(r,i)=>(n?.revoke?.(),i===O0?t:(t.push(i),n=Proxy.revocable(r,e),n.proxy)),Proxy.revocable(Object.create(null),e).proxy}function Nl(t,e){const{[O0]:n}=t(Tw());return n.join(e?.keySeparator??".")}const uf={},rl=t=>!Z(t)&&typeof t!="boolean"&&typeof t!="number";class Us extends Da{constructor(e,n={}){super(),xw(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Ht.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,n={interpolation:{}}){const r={...n};if(e==null)return!1;const i=this.resolve(e,r);if(i?.res===void 0)return!1;const s=rl(i.res);return!(r.returnObjects===!1&&s)}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Ow(e,r,i);if(a&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:Z(s)?[s]:s};const d=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(d[0])>-1)&&(s=d.shift()),e=d.join(i)}return{key:e,namespaces:Z(s)?[s]:s}}translate(e,n,r){let i=typeof n=="object"?{...n}:n;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=Nl(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]);const s=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:c,namespaces:l}=this.extractFromKey(e[e.length-1],i),d=l[l.length-1];let p=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;p===void 0&&(p=":");const f=i.lng||this.language,g=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(f?.toLowerCase()==="cimode")return g?s?{res:`${d}${p}${c}`,usedKey:c,exactUsedKey:c,usedLng:f,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:`${d}${p}${c}`:s?{res:c,usedKey:c,exactUsedKey:c,usedLng:f,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:c;const _=this.resolve(e,i);let w=_?.res;const k=_?.usedKey||c,z=_?.exactUsedKey||c,I=["[object Number]","[object Function]","[object RegExp]"],N=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject,C=i.count!==void 0&&!Z(i.count),O=Us.hasDefaultValue(i),K=C?this.pluralResolver.getSuffix(f,i.count,i):"",W=i.ordinal&&C?this.pluralResolver.getSuffix(f,i.count,{ordinal:!1}):"",ie=C&&!i.ordinal&&i.count===0,F=ie&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${K}`]||i[`defaultValue${W}`]||i.defaultValue;let se=w;S&&!w&&O&&(se=F);const ce=rl(se),fe=Object.prototype.toString.apply(se);if(S&&se&&ce&&I.indexOf(fe)<0&&!(Z(N)&&Array.isArray(se))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const $e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(k,se,{...i,ns:l}):`key '${c} (${this.language})' returned an object instead of string.`;return s?(_.res=$e,_.usedParams=this.getUsedParamsDetails(i),_):$e}if(a){const $e=Array.isArray(se),_e=$e?[]:{},on=$e?z:k;for(const He in se)if(Object.prototype.hasOwnProperty.call(se,He)){const Ze=`${on}${a}${He}`;O&&!w?_e[He]=this.translate(Ze,{...i,defaultValue:rl(F)?F[He]:void 0,joinArrays:!1,ns:l}):_e[He]=this.translate(Ze,{...i,joinArrays:!1,ns:l}),_e[He]===Ze&&(_e[He]=se[He])}w=_e}}else if(S&&Z(N)&&Array.isArray(w))w=w.join(N),w&&(w=this.extendTranslation(w,e,i,r));else{let $e=!1,_e=!1;!this.isValidLookup(w)&&O&&($e=!0,w=F),this.isValidLookup(w)||(_e=!0,w=c);const He=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_e?void 0:w,Ze=O&&F!==w&&this.options.updateMissing;if(_e||$e||Ze){if(this.logger.log(Ze?"updateKey":"missingKey",f,d,c,Ze?F:w),a){const Pe=this.resolve(c,{...i,keySeparator:!1});Pe&&Pe.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Lt=[];const sn=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&sn&&sn[0])for(let Pe=0;Pe<sn.length;Pe++)Lt.push(sn[Pe]);else this.options.saveMissingTo==="all"?Lt=this.languageUtils.toResolveHierarchy(i.lng||this.language):Lt.push(i.lng||this.language);const an=(Pe,ht,G)=>{const ye=O&&G!==w?G:He;this.options.missingKeyHandler?this.options.missingKeyHandler(Pe,d,ht,ye,Ze,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(Pe,d,ht,ye,Ze,i),this.emit("missingKey",Pe,d,ht,w)};this.options.saveMissing&&(this.options.saveMissingPlurals&&C?Lt.forEach(Pe=>{const ht=this.pluralResolver.getSuffixes(Pe,i);ie&&i[`defaultValue${this.options.pluralSeparator}zero`]&&ht.indexOf(`${this.options.pluralSeparator}zero`)<0&&ht.push(`${this.options.pluralSeparator}zero`),ht.forEach(G=>{an([Pe],c+G,i[`defaultValue${G}`]||F)})}):an(Lt,c,F))}w=this.extendTranslation(w,e,i,_,r),_e&&w===c&&this.options.appendNamespaceToMissingKey&&(w=`${d}${p}${c}`),(_e||$e)&&this.options.parseMissingKeyHandler&&(w=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${d}${p}${c}`:c,$e?w:void 0,i))}return s?(_.res=w,_.usedParams=this.getUsedParamsDetails(i),_):w}extendTranslation(e,n,r,i,s){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const l=Z(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(l){const f=e.match(this.interpolator.nestingRegexp);d=f&&f.length}let p=r.replace&&!Z(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),e=this.interpolator.interpolate(e,p,r.lng||this.language||i.usedLng,r),l){const f=e.match(this.interpolator.nestingRegexp),g=f&&f.length;d<g&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...f)=>s?.[0]===f[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${f[0]} in key: ${n[0]}`),null):this.translate(...f,n),r)),r.interpolation&&this.interpolator.reset()}const a=r.postProcess||this.options.postProcess,c=Z(a)?[a]:a;return e!=null&&c?.length&&r.applyPostProcessor!==!1&&(e=j0.handle(c,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,n={}){let r,i,s,a,c;return Z(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const d=this.extractFromKey(l,n),p=d.key;i=p;let f=d.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const g=n.count!==void 0&&!Z(n.count),_=g&&!n.ordinal&&n.count===0,w=n.context!==void 0&&(Z(n.context)||typeof n.context=="number")&&n.context!=="",k=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(z=>{this.isValidLookup(r)||(c=z,!uf[`${k[0]}-${z}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(c)&&(uf[`${k[0]}-${z}`]=!0,this.logger.warn(`key "${i}" for languages "${k.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),k.forEach(I=>{if(this.isValidLookup(r))return;a=I;const N=[p];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(N,p,I,z,n);else{let C;g&&(C=this.pluralResolver.getSuffix(I,n.count,n));const O=`${this.options.pluralSeparator}zero`,K=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(g&&(n.ordinal&&C.indexOf(K)===0&&N.push(p+C.replace(K,this.options.pluralSeparator)),N.push(p+C),_&&N.push(p+O)),w){const W=`${p}${this.options.contextSeparator||"_"}${n.context}`;N.push(W),g&&(n.ordinal&&C.indexOf(K)===0&&N.push(W+C.replace(K,this.options.pluralSeparator)),N.push(W+C),_&&N.push(W+O))}}let S;for(;S=N.pop();)this.isValidLookup(r)||(s=S,r=this.getResource(I,z,S,n))}))})}),{res:r,usedKey:i,exactUsedKey:s,usedLng:a,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,n,r,i):this.resourceStore.getResource(e,n,r,i)}getUsedParamsDetails(e={}){const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!Z(e.replace);let i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const s of n)delete i[s]}return i}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class pf{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Ht.create("languageUtils")}getScriptPartFromCode(e){if(e=fo(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=fo(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(Z(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const i=this.getScriptPartFromCode(r);if(this.isSupportedCode(i))return n=i;const s=this.getLanguagePartFromCode(r);if(this.isSupportedCode(s))return n=s;n=this.options.supportedLngs.find(a=>{if(a===s)return a;if(!(a.indexOf("-")<0&&s.indexOf("-")<0)&&(a.indexOf("-")>0&&s.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===s||a.indexOf(s)===0&&s.length>1))return a})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),Z(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes((n===!1?[]:n)||this.options.fallbackLng||[],e),i=[],s=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return Z(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):Z(e)&&s(this.formatLanguageCode(e)),r.forEach(a=>{i.indexOf(a)<0&&s(this.formatLanguageCode(a))}),i}}const ff={zero:0,one:1,two:2,few:3,many:4,other:5},hf={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Rw{constructor(e,n={}){this.languageUtils=e,this.options=n,this.logger=Ht.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e,n={}){const r=fo(e==="dev"?"en":e),i=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),hf;if(!e.match(/-|_/))return hf;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,n)}return this.pluralRulesCache[s]=a,a}needsPlural(e,n={}){let r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,n,r={}){return this.getSuffixes(e,r).map(i=>`${n}${i}`)}getSuffixes(e,n={}){let r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((i,s)=>ff[i]-ff[s]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,n,r={}){const i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const gf=(t,e,n,r=".",i=!0)=>{let s=Aw(t,e,n);return!s&&i&&Z(n)&&(s=Cl(t,n,r),s===void 0&&(s=Cl(e,n,r))),s},il=t=>t.replace(/\$/g,"$$$$");class mf{constructor(e={}){this.logger=Ht.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(n=>n),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:i,prefix:s,prefixEscaped:a,suffix:c,suffixEscaped:l,formatSeparator:d,unescapeSuffix:p,unescapePrefix:f,nestingPrefix:g,nestingPrefixEscaped:_,nestingSuffix:w,nestingSuffixEscaped:k,nestingOptionsSeparator:z,maxReplaces:I,alwaysFormat:N}=e.interpolation;this.escape=n!==void 0?n:Cw,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?Ar(s):a||"{{",this.suffix=c?Ar(c):l||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=g?Ar(g):_||Ar("$t("),this.nestingSuffix=w?Ar(w):k||Ar(")"),this.nestingOptionsSeparator=z||",",this.maxReplaces=I||1e3,this.alwaysFormat=N!==void 0?N:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>n?.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,n,r,i){let s,a,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=_=>{if(_.indexOf(this.formatSeparator)<0){const I=gf(n,l,_,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(I,void 0,r,{...i,...n,interpolationkey:_}):I}const w=_.split(this.formatSeparator),k=w.shift().trim(),z=w.join(this.formatSeparator).trim();return this.format(gf(n,l,k,this.options.keySeparator,this.options.ignoreJSONStructure),z,r,{...i,...n,interpolationkey:k})};this.resetRegExp();const p=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:_=>il(_)},{regex:this.regexp,safeValue:_=>this.escapeValue?il(this.escape(_)):il(_)}].forEach(_=>{for(c=0;s=_.regex.exec(e);){const w=s[1].trim();if(a=d(w),a===void 0)if(typeof p=="function"){const z=p(e,s,i);a=Z(z)?z:""}else if(i&&Object.prototype.hasOwnProperty.call(i,w))a="";else if(f){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${w} for interpolating ${e}`),a="";else!Z(a)&&!this.useRawValueToEscape&&(a=sf(a));const k=_.safeValue(a);if(e=e.replace(s[0],k),f?(_.regex.lastIndex+=a.length,_.regex.lastIndex-=s[0].length):_.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,n,r={}){let i,s,a;const c=(l,d)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const f=l.split(new RegExp(`${p}[ ]*{`));let g=`{${f[1]}`;l=f[0],g=this.interpolate(g,a);const _=g.match(/'/g),w=g.match(/"/g);((_?.length??0)%2===0&&!w||w.length%2!==0)&&(g=g.replace(/'/g,'"'));try{a=JSON.parse(g),d&&(a={...d,...a})}catch(k){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,k),`${l}${p}${g}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;i=this.nestingRegexp.exec(e);){let l=[];a={...r},a=a.replace&&!Z(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const d=/{.*}/.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(d!==-1&&(l=i[1].slice(d).split(this.formatSeparator).map(p=>p.trim()).filter(Boolean),i[1]=i[1].slice(0,d)),s=n(c.call(this,i[1].trim(),a),a),s&&i[0]===e&&!Z(s))return s;Z(s)||(s=sf(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),l.length&&(s=l.reduce((p,f)=>this.format(p,f,r.lng,{...r,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const Bw=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(a=>{if(a){const[c,...l]=a.split(":"),d=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=d),d==="false"&&(n[p]=!1),d==="true"&&(n[p]=!0),isNaN(d)||(n[p]=parseInt(d,10))}})}return{formatName:e,formatOptions:n}},_f=t=>{const e={};return(n,r,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const a=r+JSON.stringify(s);let c=e[a];return c||(c=t(fo(r),i),e[a]=c),c(n)}},Lw=t=>(e,n,r)=>t(fo(n),r)(e);class Uw{constructor(e={}){this.logger=Ht.create("formatter"),this.options=e,this.init(e)}init(e,n={interpolation:{}}){this.formatSeparator=n.interpolation.formatSeparator||",";const r=n.cacheInBuiltFormats?_f:Lw;this.formats={number:r((i,s)=>{const a=new Intl.NumberFormat(i,{...s});return c=>a.format(c)}),currency:r((i,s)=>{const a=new Intl.NumberFormat(i,{...s,style:"currency"});return c=>a.format(c)}),datetime:r((i,s)=>{const a=new Intl.DateTimeFormat(i,{...s});return c=>a.format(c)}),relativetime:r((i,s)=>{const a=new Intl.RelativeTimeFormat(i,{...s});return c=>a.format(c,s.range||"day")}),list:r((i,s)=>{const a=new Intl.ListFormat(i,{...s});return c=>a.format(c)})}}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=_f(n)}format(e,n,r,i={}){const s=n.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(c=>c.indexOf(")")>-1)){const c=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,c)].join(this.formatSeparator)}return s.reduce((c,l)=>{const{formatName:d,formatOptions:p}=Bw(l);if(this.formats[d]){let f=c;try{const g=i?.formatParams?.[i.interpolationkey]||{},_=g.locale||g.lng||i.locale||i.lng||r;f=this.formats[d](c,_,{...p,...i,...g})}catch(g){this.logger.warn(g)}return f}else this.logger.warn(`there was no format function for ${d}`);return c},e)}}const Dw=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class Mw extends Da{constructor(e,n,r,i={}){super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Ht.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(e,n,r,i){const s={},a={},c={},l={};return e.forEach(d=>{let p=!0;n.forEach(f=>{const g=`${d}|${f}`;!r.reload&&this.store.hasResourceBundle(d,f)?this.state[g]=2:this.state[g]<0||(this.state[g]===1?a[g]===void 0&&(a[g]=!0):(this.state[g]=1,p=!1,a[g]===void 0&&(a[g]=!0),s[g]===void 0&&(s[g]=!0),l[f]===void 0&&(l[f]=!0)))}),p||(c[d]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const i=e.split("|"),s=i[0],a=i[1];n&&this.emit("failedLoading",s,a,n),!n&&r&&this.store.addResourceBundle(s,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const c={};this.queue.forEach(l=>{zw(l.loaded,[s],a),Dw(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(d=>{c[d]||(c[d]={});const p=l.loaded[d];p.length&&p.forEach(f=>{c[d][f]===void 0&&(c[d][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(l=>!l.done)}read(e,n,r,i=0,s=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:r,tried:i,wait:s,callback:a});return}this.readingCalls++;const c=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(d&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,i+1,s*2,a)},s);return}a(d,p)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const d=l(e,n);d&&typeof d.then=="function"?d.then(p=>c(null,p)).catch(c):c(null,d)}catch(d){c(d)}return}return l(e,n,c)}prepareLoading(e,n,r={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();Z(e)&&(e=this.languageUtils.toResolveHierarchy(e)),Z(n)&&(n=[n]);const s=this.queueLoad(e,n,r,i);if(!s.toLoad.length)return s.pending.length||i(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e,n=""){const r=e.split("|"),i=r[0],s=r[1];this.read(i,s,"read",void 0,void 0,(a,c)=>{a&&this.logger.warn(`${n}loading namespace ${s} for language ${i} failed`,a),!a&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${i}`,c),this.loaded(e,a,c)})}saveMissing(e,n,r,i,s,a={},c=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const l={...a,isUpdate:s},d=this.backend.create.bind(this.backend);if(d.length<6)try{let p;d.length===5?p=d(e,n,r,i,l):p=d(e,n,r,i),p&&typeof p.then=="function"?p.then(f=>c(null,f)).catch(c):c(null,p)}catch(p){c(p)}else d(e,n,r,i,c,l)}!e||!e[0]||this.store.addResource(e[0],n,r,i)}}}const yf=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),Z(t[1])&&(e.defaultValue=t[1]),Z(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),wf=t=>(Z(t.ns)&&(t.ns=[t.ns]),Z(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),Z(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs?.indexOf?.("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t),ps=()=>{},qw=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class to extends Da{constructor(e={},n){if(super(),this.options=wf(e),this.services={},this.logger=Ht,this.modules={external:[]},qw(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(e={},n){this.isInitializing=!0,typeof e=="function"&&(n=e,e={}),e.defaultNS==null&&e.ns&&(Z(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=yf();this.options={...r,...this.options,...wf(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=r.overloadTranslationOptionHandler);const i=d=>d?typeof d=="function"?new d:d:null;if(!this.options.isClone){this.modules.logger?Ht.init(i(this.modules.logger),this.options):Ht.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:d=Uw;const p=new pf(this.options);this.store=new df(this.options.resources,this.options);const f=this.services;f.logger=Ht,f.resourceStore=this.store,f.languageUtils=p,f.pluralResolver=new Rw(p,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),d&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(f.formatter=i(d),f.formatter.init&&f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new mf(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new Mw(i(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",(_,...w)=>{this.emit(_,...w)}),this.modules.languageDetector&&(f.languageDetector=i(this.modules.languageDetector),f.languageDetector.init&&f.languageDetector.init(f,this.options.detection,this.options)),this.modules.i18nFormat&&(f.i18nFormat=i(this.modules.i18nFormat),f.i18nFormat.init&&f.i18nFormat.init(this)),this.translator=new Us(this.services,this.options),this.translator.on("*",(_,...w)=>{this.emit(_,...w)}),this.modules.external.forEach(_=>{_.init&&_.init(this)})}if(this.format=this.options.interpolation.format,n||(n=ps),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=(...p)=>this.store[d](...p)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=(...p)=>(this.store[d](...p),this)});const c=Ei(),l=()=>{const d=(p,f)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),c.resolve(f),n(p,f)};if(this.languages&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initAsync?l():setTimeout(l,0),c}loadResources(e,n=ps){let r=n;const i=Z(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const s=[],a=c=>{if(!c||c==="cimode")return;this.services.languageUtils.toResolveHierarchy(c).forEach(d=>{d!=="cimode"&&s.indexOf(d)<0&&s.push(d)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>a(l)),this.options.preload?.forEach?.(c=>a(c)),this.services.backendConnector.load(s,this.options.ns,c=>{!c&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(c)})}else r(null)}reloadResources(e,n,r){const i=Ei();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=ps),this.services.backendConnector.reload(e,n,s=>{i.resolve(),r(s)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&j0.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,n){this.isLanguageChangingTo=e;const r=Ei();this.emit("languageChanging",e);const i=c=>{this.language=c,this.languages=this.services.languageUtils.toResolveHierarchy(c),this.resolvedLanguage=void 0,this.setResolvedLanguage(c)},s=(c,l)=>{l?this.isLanguageChangingTo===e&&(i(l),this.translator.changeLanguage(l),this.isLanguageChangingTo=void 0,this.emit("languageChanged",l),this.logger.log("languageChanged",l)):this.isLanguageChangingTo=void 0,r.resolve((...d)=>this.t(...d)),n&&n(c,(...d)=>this.t(...d))},a=c=>{!e&&!c&&this.services.languageDetector&&(c=[]);const l=Z(c)?c:c&&c[0],d=this.store.hasLanguageSomeTranslations(l)?l:this.services.languageUtils.getBestMatchFromCodes(Z(c)?[c]:c);d&&(this.language||i(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector?.cacheUserLanguage?.(d)),this.loadResources(d,p=>{s(p,d)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,n,r){const i=(s,a,...c)=>{let l;typeof a!="object"?l=this.options.overloadTranslationOptionHandler([s,a].concat(c)):l={...a},l.lng=l.lng||i.lng,l.lngs=l.lngs||i.lngs,l.ns=l.ns||i.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||r||i.keyPrefix);const d=this.options.keySeparator||".";let p;return l.keyPrefix&&Array.isArray(s)?p=s.map(f=>(typeof f=="function"&&(f=Nl(f,{...this.options,...a})),`${l.keyPrefix}${d}${f}`)):(typeof s=="function"&&(s=Nl(s,{...this.options,...a})),p=l.keyPrefix?`${l.keyPrefix}${d}${s}`:s),this.t(p,l)};return Z(e)?i.lng=e:i.lngs=e,i.ns=n,i.keyPrefix=r,i}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,n={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(c,l)=>{const d=this.services.backendConnector.state[`${c}|${l}`];return d===-1||d===0||d===2};if(n.precheck){const c=n.precheck(this,a);if(c!==void 0)return c}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!i||a(s,e)))}loadNamespaces(e,n){const r=Ei();return this.options.ns?(Z(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=Ei();Z(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=i.concat(s),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const i=new Intl.Locale(e);if(i&&i.getTextInfo){const s=i.getTextInfo();if(s&&s.direction)return s.direction}}catch{}const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new pf(yf());return e.toLowerCase().indexOf("-latn")>1?"ltr":n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},n){const r=new to(e,n);return r.createInstance=to.createInstance,r}cloneInstance(e={},n=ps){const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new to(i);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(c=>{s[c]=this[c]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const c=Object.keys(this.store.data).reduce((l,d)=>(l[d]={...this.store.data[d]},l[d]=Object.keys(l[d]).reduce((p,f)=>(p[f]={...l[d][f]},p),l[d]),l),{});s.store=new df(c,i),s.services.resourceStore=s.store}return e.interpolation&&(s.services.interpolator=new mf(i)),s.translator=new Us(s.services,i),s.translator.on("*",(c,...l)=>{s.emit(c,...l)}),s.init(i,n),s.translator.options=i,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const y=to.createInstance();y.createInstance;y.dir;y.init;y.loadResources;y.reloadResources;y.use;y.changeLanguage;y.getFixedT;const X=y.t;y.exists;y.setDefaultNamespace;y.hasLoadedNamespace;y.loadNamespaces;y.loadLanguages;var P0=t=>{const n={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...t},r=(s=>typeof s=="string"?s==="*"?()=>s:a=>s===a?a:null:typeof s=="function"?s:a=>s.includes(a)?a:null)(n.origin),i=(s=>typeof s=="function"?s:Array.isArray(s)?()=>s:()=>[])(n.allowMethods);return async function(a,c){function l(p,f){a.res.headers.set(p,f)}const d=await r(a.req.header("origin")||"",a);if(d&&l("Access-Control-Allow-Origin",d),n.credentials&&l("Access-Control-Allow-Credentials","true"),n.exposeHeaders?.length&&l("Access-Control-Expose-Headers",n.exposeHeaders.join(",")),a.req.method==="OPTIONS"){n.origin!=="*"&&l("Vary","Origin"),n.maxAge!=null&&l("Access-Control-Max-Age",n.maxAge.toString());const p=await i(a.req.header("origin")||"",a);p.length&&l("Access-Control-Allow-Methods",p.join(","));let f=n.allowHeaders;if(!f?.length){const g=a.req.header("Access-Control-Request-Headers");g&&(f=g.split(/\s*,\s*/))}return f?.length&&(l("Access-Control-Allow-Headers",f.join(",")),a.res.headers.append("Vary","Access-Control-Request-Headers")),a.res.headers.delete("Content-Length"),a.res.headers.delete("Content-Type"),new Response(null,{headers:a.res.headers,status:204,statusText:"No Content"})}await c(),n.origin!=="*"&&a.header("Vary","Origin",{append:!0})}};const Fw=o.z.object({page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:o.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:o.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:o.z.string().optional().openapi({description:"A lucene query string used to filter the results"})}),it=o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()}),di=o.z.object({created_at:o.z.string(),updated_at:o.z.string()}),T0=o.z.object({email:o.z.string().optional(),email_verified:o.z.boolean().optional(),name:o.z.string().optional(),username:o.z.string().optional(),given_name:o.z.string().optional(),phone_number:o.z.string().optional(),phone_verified:o.z.boolean().optional(),family_name:o.z.string().optional()}).catchall(o.z.any()),R0=o.z.object({connection:o.z.string(),user_id:o.z.string(),provider:o.z.string(),isSocial:o.z.boolean(),access_token:o.z.string().optional(),access_token_secret:o.z.string().optional(),refresh_token:o.z.string().optional(),profileData:T0.optional()}),Ma=o.z.object({email:o.z.string().optional().transform(t=>t&&t.toLowerCase()),username:o.z.string().optional(),phone_number:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),nickname:o.z.string().optional(),name:o.z.string().optional(),picture:o.z.string().optional(),locale:o.z.string().optional(),linked_to:o.z.string().optional(),profileData:o.z.string().optional(),user_id:o.z.string().optional(),app_metadata:o.z.any().default({}).optional(),user_metadata:o.z.any().default({}).optional()}),Ds=Ma.extend({email_verified:o.z.boolean().default(!1),verify_email:o.z.boolean().optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string().optional(),provider:o.z.string().optional(),connection:o.z.string(),is_social:o.z.boolean().optional()}),bu=o.z.object({...Ds.shape,...di.shape,user_id:o.z.string(),provider:o.z.string(),is_social:o.z.boolean(),email:o.z.string().optional(),login_count:o.z.number().default(0),identities:o.z.array(R0).optional()}),qt=bu,Hw=Ma.extend({login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any()),Vw="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Kw=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Vw[n[t]&63];return e};const Ms=o.z.object({client_id:o.z.string().openapi({description:"ID of this client."}),name:o.z.string().min(1).openapi({description:"Name of this client (min length: 1 character, does not allow < or >)."}),description:o.z.string().max(140).optional().openapi({description:"Free text description of this client (max length: 140 characters)."}),global:o.z.boolean().default(!1).openapi({description:"Whether this is your global 'All Applications' client representing legacy tenant settings (true) or a regular client (false)."}),client_secret:o.z.string().default(()=>Kw()).optional().openapi({description:"Client secret (which you must not make public)."}),app_type:o.z.enum(["native","spa","regular_web","non_interactive","resource_server","express_configuration","rms","box","cloudbees","concur","dropbox","mscrm","echosign","egnyte","newrelic","office365","salesforce","sentry","sharepoint","slack","springcm","zendesk","zoom","sso_integration","oag"]).default("regular_web").optional().openapi({description:"The type of application this client represents"}),logo_uri:o.z.string().url().optional().openapi({description:"URL of the logo to display for this client. Recommended size is 150x150 pixels."}),is_first_party:o.z.boolean().default(!1).openapi({description:"Whether this client a first party client (true) or not (false)."}),oidc_conformant:o.z.boolean().default(!0).openapi({description:"Whether this client conforms to strict OIDC specifications (true) or uses legacy features (false)."}),callbacks:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted for Auth0 to use as a callback to the client after authentication."}),allowed_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level (e.g., https://*.contoso.com). Query strings and hash information are not taken into account when validating these URLs."}),web_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode."}),client_aliases:o.z.array(o.z.string()).default([]).optional().openapi({description:"List of audiences/realms for SAML protocol. Used by the wsfed addon."}),allowed_clients:o.z.array(o.z.string()).default([]).optional().openapi({description:"List of allow clients and API ids that are allowed to make delegation requests. Empty means all all your clients are allowed."}),allowed_logout_urls:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains."}),session_transfer:o.z.record(o.z.any()).default({}).optional().openapi({description:"Native to Web SSO Configuration"}),oidc_logout:o.z.record(o.z.any()).default({}).optional().openapi({description:"Configuration for OIDC backchannel logout"}),grant_types:o.z.array(o.z.string()).default([]).optional().openapi({description:"List of grant types supported for this application. Can include authorization_code, implicit, refresh_token, client_credentials, password, http://auth0.com/oauth/grant-type/password-realm, http://auth0.com/oauth/grant-type/mfa-oob, http://auth0.com/oauth/grant-type/mfa-otp, http://auth0.com/oauth/grant-type/mfa-recovery-code, urn:openid:params:grant-type:ciba, and urn:ietf:params:oauth:grant-type:device_code."}),jwt_configuration:o.z.record(o.z.any()).default({}).optional().openapi({description:"Configuration related to JWTs for the client."}),signing_keys:o.z.array(o.z.record(o.z.any())).default([]).optional().openapi({description:"Signing certificates associated with this client."}),encryption_key:o.z.record(o.z.any()).default({}).optional().openapi({description:"Encryption used for WsFed responses with this client."}),sso:o.z.boolean().default(!1).openapi({description:"Applies only to SSO clients and determines whether Auth0 will handle Single Sign On (true) or whether the Identity Provider will (false)."}),sso_disabled:o.z.boolean().default(!0).openapi({description:"Whether Single Sign On is disabled (true) or enabled (true). Defaults to true."}),cross_origin_authentication:o.z.boolean().default(!1).openapi({description:"Whether this client can be used to make cross-origin authentication requests (true) or it is not allowed to make such requests (false)."}),cross_origin_loc:o.z.string().url().optional().openapi({description:"URL of the location in your site where the cross origin verification takes place for the cross-origin auth flow when performing Auth in your own domain instead of Auth0 hosted login page."}),custom_login_page_on:o.z.boolean().default(!1).openapi({description:"Whether a custom login page is to be used (true) or the default provided login page (false)."}),custom_login_page:o.z.string().optional().openapi({description:"The content (HTML, CSS, JS) of the custom login page."}),custom_login_page_preview:o.z.string().optional().openapi({description:"The content (HTML, CSS, JS) of the custom login page. (Used on Previews)"}),form_template:o.z.string().optional().openapi({description:"HTML form template to be used for WS-Federation."}),addons:o.z.record(o.z.any()).default({}).optional().openapi({description:"Addons enabled for this client and their associated configurations."}),token_endpoint_auth_method:o.z.enum(["none","client_secret_post","client_secret_basic"]).default("client_secret_basic").optional().openapi({description:"Defines the requested authentication method for the token endpoint. Can be none (public client without a client secret), client_secret_post (client uses HTTP POST parameters), or client_secret_basic (client uses HTTP Basic)."}),client_metadata:o.z.record(o.z.string().max(255)).default({}).optional().openapi({description:'Metadata associated with the client, in the form of an object with string values (max 255 chars). Maximum of 10 metadata properties allowed. Field names (max 255 chars) are alphanumeric and may only include the following special characters: :,-+=_*?"/()<>@ [Tab][Space]'}),mobile:o.z.record(o.z.any()).default({}).optional().openapi({description:"Additional configuration for native mobile apps."}),initiate_login_uri:o.z.string().url().optional().openapi({description:"Initiate login uri, must be https"}),native_social_login:o.z.record(o.z.any()).default({}).optional(),refresh_token:o.z.record(o.z.any()).default({}).optional().openapi({description:"Refresh token configuration"}),default_organization:o.z.record(o.z.any()).default({}).optional().openapi({description:"Defines the default Organization ID and flows"}),organization_usage:o.z.enum(["deny","allow","require"]).default("deny").optional().openapi({description:"Defines how to proceed during an authentication transaction with regards an organization. Can be deny (default), allow or require."}),organization_require_behavior:o.z.enum(["no_prompt","pre_login_prompt","post_login_prompt"]).default("no_prompt").optional().openapi({description:"Defines how to proceed during an authentication transaction when client.organization_usage: 'require'. Can be no_prompt (default), pre_login_prompt or post_login_prompt. post_login_prompt requires oidc_conformant: true."}),client_authentication_methods:o.z.record(o.z.any()).default({}).optional().openapi({description:"Defines client authentication methods."}),require_pushed_authorization_requests:o.z.boolean().default(!1).openapi({description:"Makes the use of Pushed Authorization Requests mandatory for this client"}),require_proof_of_possession:o.z.boolean().default(!1).openapi({description:"Makes the use of Proof-of-Possession mandatory for this client"}),signed_request_object:o.z.record(o.z.any()).default({}).optional().openapi({description:"JWT-secured Authorization Requests (JAR) settings."}),compliance_level:o.z.enum(["none","fapi1_adv_pkj_par","fapi1_adv_mtls_par","fapi2_sp_pkj_mtls","fapi2_sp_mtls_mtls"]).optional().openapi({description:"Defines the compliance level for this client, which may restrict it's capabilities"}),par_request_expiry:o.z.number().optional().openapi({description:"Specifies how long, in seconds, a Pushed Authorization Request URI remains valid"}),token_quota:o.z.record(o.z.any()).default({}).optional()}),Gn=o.z.object({created_at:o.z.string(),updated_at:o.z.string(),...Ms.shape}),qs=o.z.object({client_id:o.z.string().min(1).openapi({description:"ID of the client."}),audience:o.z.string().min(1).openapi({description:"The audience (API identifier) of this client grant."}),scope:o.z.array(o.z.string()).optional().openapi({description:"Scopes allowed for this client grant."}),organization_usage:o.z.enum(["deny","allow","require"]).optional().openapi({description:"Defines whether organizations can be used with client credentials exchanges for this grant."}),allow_any_organization:o.z.boolean().optional().openapi({description:"If enabled, any organization can be used with this grant. If disabled (default), the grant must be explicitly assigned to the desired organizations."}),is_system:o.z.boolean().optional().openapi({description:"If enabled, this grant is a special grant created by Auth0. It cannot be modified or deleted directly."}),subject_type:o.z.enum(["client","user"]).optional().openapi({description:"The type of application access the client grant allows. Use of this field is subject to the applicable Free Trial terms in Okta's Master Subscription Agreement."}),authorization_details_types:o.z.array(o.z.string()).optional().openapi({description:"Types of authorization_details allowed for this client grant. Use of this field is subject to the applicable Free Trial terms in Okta's Master Subscription Agreement."})}),Wn=o.z.object({id:o.z.string().openapi({description:"ID of the client grant."}),...qs.shape,created_at:o.z.string().optional(),updated_at:o.z.string().optional()}),Gw=o.z.array(Wn),ui=o.z.object({x:o.z.number(),y:o.z.number()});var vu=(t=>(t.RICH_TEXT="RICH_TEXT",t.NEXT_BUTTON="NEXT_BUTTON",t.BACK_BUTTON="BACK_BUTTON",t.SUBMIT_BUTTON="SUBMIT_BUTTON",t.DIVIDER="DIVIDER",t.TEXT="TEXT",t.EMAIL="EMAIL",t.PASSWORD="PASSWORD",t.NUMBER="NUMBER",t.PHONE="PHONE",t.DATE="DATE",t.CHECKBOX="CHECKBOX",t.RADIO="RADIO",t.SELECT="SELECT",t.HIDDEN="HIDDEN",t.LEGAL="LEGAL",t))(vu||{}),$u=(t=>(t.BLOCK="BLOCK",t.FIELD="FIELD",t))($u||{});const qa=o.z.object({id:o.z.string(),category:o.z.nativeEnum($u),type:o.z.nativeEnum(vu)}),B0=qa.extend({category:o.z.literal("BLOCK"),type:o.z.literal("RICH_TEXT"),config:o.z.object({content:o.z.string()}).passthrough()}),L0=qa.extend({category:o.z.literal("BLOCK"),type:o.z.union([o.z.literal("NEXT_BUTTON"),o.z.literal("BACK_BUTTON"),o.z.literal("SUBMIT_BUTTON")]),config:o.z.object({text:o.z.string()}).passthrough()}),U0=qa.extend({category:o.z.literal("FIELD"),type:o.z.literal("LEGAL"),required:o.z.boolean().optional(),sensitive:o.z.boolean().optional(),config:o.z.object({text:o.z.string()}).passthrough()}),D0=qa.extend({category:o.z.literal("FIELD"),type:o.z.union([o.z.literal("TEXT"),o.z.literal("EMAIL"),o.z.literal("PASSWORD"),o.z.literal("NUMBER"),o.z.literal("PHONE"),o.z.literal("DATE"),o.z.literal("CHECKBOX"),o.z.literal("RADIO"),o.z.literal("SELECT"),o.z.literal("HIDDEN")]),required:o.z.boolean().optional(),sensitive:o.z.boolean().optional(),config:o.z.object({label:o.z.string().optional(),placeholder:o.z.string().optional()}).passthrough()}),M0=o.z.object({id:o.z.string(),category:o.z.string(),type:o.z.string()}).passthrough(),q0=o.z.union([B0,L0,U0,D0,M0]);var F0=(t=>(t.STEP="STEP",t.FLOW="FLOW",t.CONDITION="CONDITION",t.ACTION="ACTION",t))(F0||{});const H0=o.z.object({id:o.z.string(),type:o.z.literal("STEP"),coordinates:ui,alias:o.z.string().optional(),config:o.z.object({components:o.z.array(q0),next_node:o.z.string()}).passthrough()}),V0=o.z.object({id:o.z.string(),type:o.z.literal("FLOW"),coordinates:ui,alias:o.z.string().optional(),config:o.z.object({flow_id:o.z.string(),next_node:o.z.string()})}),K0=o.z.object({id:o.z.string(),type:o.z.string(),coordinates:ui}).passthrough(),G0=o.z.union([H0,V0,K0]),W0=o.z.object({next_node:o.z.string(),coordinates:ui}).passthrough(),J0=o.z.object({resume_flow:o.z.boolean().optional(),coordinates:ui}).passthrough(),X0=o.z.object({id:o.z.string(),name:o.z.string(),languages:o.z.object({primary:o.z.string()}).passthrough(),nodes:o.z.array(G0),start:W0,ending:J0,created_at:o.z.string(),updated_at:o.z.string(),links:o.z.object({sdkSrc:o.z.string().optional(),sdk_src:o.z.string().optional()}).passthrough()}).passthrough(),Ww=X0.omit({id:!0,created_at:!0,updated_at:!0});var mt=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(mt||{}),Vt=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Vt||{}),Fa=(t=>(t.S256="S256",t.Plain="plain",t))(Fa||{});const ho=o.z.object({client_id:o.z.string(),act_as:o.z.string().optional(),response_type:o.z.nativeEnum(mt).optional(),response_mode:o.z.nativeEnum(Vt).optional(),redirect_uri:o.z.string().optional(),audience:o.z.string().optional(),organization:o.z.string().optional(),state:o.z.string().optional(),nonce:o.z.string().optional(),scope:o.z.string().optional(),prompt:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Fa).optional(),code_challenge:o.z.string().optional(),username:o.z.string().optional(),ui_locales:o.z.string().optional(),vendor_id:o.z.string().optional()}),Il=o.z.object({colors:o.z.object({primary:o.z.string(),page_background:o.z.object({type:o.z.string().optional(),start:o.z.string().optional(),end:o.z.string().optional(),angle_deg:o.z.number().optional()}).optional()}).optional(),logo_url:o.z.string().optional(),favicon_url:o.z.string().optional(),powered_by_logo_url:o.z.string().optional(),font:o.z.object({url:o.z.string()}).optional()}),Dr=o.z.object({kid:o.z.string().optional(),team_id:o.z.string().optional(),realms:o.z.string().optional(),authentication_method:o.z.string().optional(),client_id:o.z.string().optional(),client_secret:o.z.string().optional(),app_secret:o.z.string().optional(),scope:o.z.string().optional(),authorization_endpoint:o.z.string().optional(),token_endpoint:o.z.string().optional(),userinfo_endpoint:o.z.string().optional(),jwks_uri:o.z.string().optional(),discovery_url:o.z.string().optional(),issuer:o.z.string().optional(),provider:o.z.string().optional(),from:o.z.string().optional(),twilio_sid:o.z.string().optional(),twilio_token:o.z.string().optional(),icon_url:o.z.string().optional()}),Fs=o.z.object({id:o.z.string().optional(),name:o.z.string(),display_name:o.z.string().optional(),strategy:o.z.string(),options:Dr.default({}),enabled_clients:o.z.array(o.z.string()).default([]).optional(),response_type:o.z.custom().optional(),response_mode:o.z.custom().optional(),is_domain_connection:o.z.boolean().optional(),show_as_button:o.z.boolean().optional(),metadata:o.z.record(o.z.any()).optional()}),St=o.z.object({id:o.z.string(),created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t)}).extend(Fs.shape),no=o.z.object({id:o.z.string().optional(),audience:o.z.string(),friendly_name:o.z.string(),picture_url:o.z.string().optional(),support_email:o.z.string().optional(),support_url:o.z.string().optional(),sender_email:o.z.string().email(),sender_name:o.z.string(),session_lifetime:o.z.number().optional(),idle_session_lifetime:o.z.number().optional(),ephemeral_session_lifetime:o.z.number().optional(),idle_ephemeral_session_lifetime:o.z.number().optional(),session_cookie:o.z.object({mode:o.z.enum(["persistent","non-persistent"]).optional()}).optional(),allowed_logout_urls:o.z.array(o.z.string()).optional(),default_redirection_uri:o.z.string().optional(),enabled_locales:o.z.array(o.z.string()).optional(),default_directory:o.z.string().optional(),error_page:o.z.object({html:o.z.string().optional(),show_log_link:o.z.boolean().optional(),url:o.z.string().optional()}).optional(),flags:o.z.object({allow_changing_enable_sso:o.z.boolean().optional(),allow_legacy_delegation_grant_types:o.z.boolean().optional(),allow_legacy_ro_grant_types:o.z.boolean().optional(),allow_legacy_tokeninfo_endpoint:o.z.boolean().optional(),change_pwd_flow_v1:o.z.boolean().optional(),custom_domains_provisioning:o.z.boolean().optional(),dashboard_insights_view:o.z.boolean().optional(),dashboard_log_streams_next:o.z.boolean().optional(),disable_clickjack_protection_headers:o.z.boolean().optional(),disable_fields_map_fix:o.z.boolean().optional(),disable_impersonation:o.z.boolean().optional(),disable_management_api_sms_obfuscation:o.z.boolean().optional(),enable_adfs_waad_email_verification:o.z.boolean().optional(),enable_apis_section:o.z.boolean().optional(),enable_client_connections:o.z.boolean().optional(),enable_custom_domain_in_emails:o.z.boolean().optional(),enable_dynamic_client_registration:o.z.boolean().optional(),enable_idtoken_api2:o.z.boolean().optional(),enable_legacy_logs_search_v2:o.z.boolean().optional(),enable_legacy_profile:o.z.boolean().optional(),enable_pipeline2:o.z.boolean().optional(),enable_public_signup_user_exists_error:o.z.boolean().optional(),enable_sso:o.z.boolean().optional(),enforce_client_authentication_on_passwordless_start:o.z.boolean().optional(),genai_trial:o.z.boolean().optional(),improved_signup_bot_detection_in_classic:o.z.boolean().optional(),mfa_show_factor_list_on_enrollment:o.z.boolean().optional(),no_disclose_enterprise_connections:o.z.boolean().optional(),remove_alg_from_jwks:o.z.boolean().optional(),revoke_refresh_token_grant:o.z.boolean().optional(),trust_azure_adfs_email_verified_connection_property:o.z.boolean().optional(),use_scope_descriptions_for_consent:o.z.boolean().optional()}).optional(),sandbox_version:o.z.string().optional(),legacy_sandbox_version:o.z.string().optional(),sandbox_versions_available:o.z.array(o.z.string()).optional(),change_password:o.z.object({enabled:o.z.boolean().optional(),html:o.z.string().optional()}).optional(),guardian_mfa_page:o.z.object({enabled:o.z.boolean().optional(),html:o.z.string().optional()}).optional(),device_flow:o.z.object({charset:o.z.enum(["base20","digits"]).optional(),mask:o.z.string().max(20).optional()}).optional(),default_token_quota:o.z.object({clients:o.z.object({client_credentials:o.z.record(o.z.any()).optional()}).optional(),organizations:o.z.object({client_credentials:o.z.record(o.z.any()).optional()}).optional()}).optional(),default_audience:o.z.string().optional(),default_organization:o.z.string().optional(),sessions:o.z.object({oidc_logout_prompt_enabled:o.z.boolean().optional()}).optional(),oidc_logout:o.z.object({rp_logout_end_session_endpoint_discovery:o.z.boolean().optional()}).optional(),allow_organization_name_in_authentication_api:o.z.boolean().optional(),customize_mfa_in_postlogin_action:o.z.boolean().optional(),acr_values_supported:o.z.array(o.z.string()).optional(),mtls:o.z.object({enable_endpoint_aliases:o.z.boolean().optional()}).optional(),pushed_authorization_requests_supported:o.z.boolean().optional(),authorization_response_iss_parameter_supported:o.z.boolean().optional()}),zn=o.z.object({created_at:o.z.string().nullable().transform(t=>t??""),updated_at:o.z.string().nullable().transform(t=>t??""),...no.shape,id:o.z.string()});o.z.object({...Gn.shape,tenant:zn,connections:o.z.array(St)});const Z0=o.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),Y0=o.z.object({code_id:o.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:o.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:o.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:Z0,code_verifier:o.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),code_challenge:o.z.string().optional().openapi({description:"The code challenge used in PKCE in outbound flows"}),code_challenge_method:o.z.enum(["plain","S256"]).optional().openapi({description:"The code challenge method used in PKCE in outbound flows"}),redirect_uri:o.z.string().optional().openapi({description:"The redirect URI associated with the code"}),nonce:o.z.string().optional().openapi({description:"The nonce value used for security in OIDC flows"}),state:o.z.string().optional().openapi({description:"The state parameter used for CSRF protection in OAuth flows"}),expires_at:o.z.string(),used_at:o.z.string().optional(),user_id:o.z.string().optional()}),Jw=o.z.object({...Y0.shape,created_at:o.z.string()}),ku=o.z.object({domain:o.z.string(),custom_domain_id:o.z.string().optional(),type:o.z.enum(["auth0_managed_certs","self_managed_certs"]),verification_method:o.z.enum(["txt"]).optional(),tls_policy:o.z.enum(["recommended"]).optional(),custom_client_ip_header:o.z.enum(["true-client-ip","cf-connecting-ip","x-forwarded-for","x-azure-clientip","null"]).optional(),domain_metadata:o.z.record(o.z.string().max(255)).optional()}),Q0=o.z.object({name:o.z.literal("txt"),record:o.z.string(),domain:o.z.string()}),Sn=o.z.object({...ku.shape,custom_domain_id:o.z.string(),primary:o.z.boolean(),status:o.z.enum(["disabled","pending","pending_verification","ready"]),origin_domain_name:o.z.string().optional(),verification:o.z.object({methods:o.z.array(Q0)}).optional(),tls_policy:o.z.string().optional()}),Xw=Sn.extend({tenant_id:o.z.string()}),Zw=o.z.object({id:o.z.string(),type:o.z.literal("submit"),label:o.z.string(),className:o.z.string().optional(),disabled:o.z.boolean().optional().default(!1),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0),customizations:o.z.record(o.z.string(),o.z.any()).optional()}),em=o.z.discriminatedUnion("type",[o.z.object({id:o.z.string(),type:o.z.literal("RICH_TEXT"),config:o.z.object({content:o.z.string()}),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)}),o.z.object({id:o.z.string(),type:o.z.literal("LEGAL"),config:o.z.object({text:o.z.string(),html:o.z.boolean().optional()}),required:o.z.boolean().optional(),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)}),o.z.object({id:o.z.string(),type:o.z.literal("TEXT"),config:o.z.object({placeholder:o.z.string().optional(),multiline:o.z.boolean().optional()}),required:o.z.boolean().optional(),sensitive:o.z.boolean().optional(),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)}),o.z.object({id:o.z.string(),type:o.z.literal("NEXT_BUTTON"),config:o.z.object({text:o.z.string().optional()}),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)})]),Hs=o.z.object({name:o.z.string().openapi({description:"The name of the form"}),messages:o.z.object({errors:o.z.record(o.z.string(),o.z.any()).optional(),custom:o.z.record(o.z.string(),o.z.any()).optional()}).optional(),languages:o.z.object({primary:o.z.string().optional(),default:o.z.string().optional()}).optional(),translations:o.z.record(o.z.string(),o.z.any()).optional(),nodes:o.z.array(o.z.discriminatedUnion("type",[o.z.object({id:o.z.string(),type:o.z.literal("FLOW"),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}),alias:o.z.string().min(1).max(150).optional(),config:o.z.object({flow_id:o.z.string().max(30),next_node:o.z.string()})}),o.z.object({id:o.z.string(),type:o.z.literal("ROUTER"),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}),alias:o.z.string().min(1).max(150),config:o.z.object({rules:o.z.array(o.z.object({id:o.z.string(),alias:o.z.string().min(1).max(150).optional(),condition:o.z.any(),next_node:o.z.string()})),fallback:o.z.array(o.z.string())})}),o.z.object({id:o.z.string(),type:o.z.literal("STEP"),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}),alias:o.z.string().min(1).max(150).optional(),config:o.z.object({components:o.z.array(em),next_node:o.z.string()})})])).optional(),start:o.z.object({hidden_fields:o.z.array(o.z.object({key:o.z.string(),value:o.z.string()})).optional(),next_node:o.z.string().optional(),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}).optional()}).optional(),ending:o.z.object({redirection:o.z.object({delay:o.z.number().optional(),target:o.z.string().optional()}).optional(),after_submit:o.z.object({flow_id:o.z.string().optional()}).optional(),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}).optional(),resume_flow:o.z.boolean().optional()}).optional(),style:o.z.object({css:o.z.string().optional()}).optional()}).openapi({description:"Schema for flow-based forms (matches new JSON structure)"}),Br=o.z.object({...di.shape,...Hs.shape,id:o.z.string()}),tm=o.z.enum(["pre-user-registration","post-user-registration","post-user-login","validate-registration-username","pre-user-deletion","post-user-deletion"]),nm=o.z.enum(["pre-user-registration","post-user-registration","post-user-login","validate-registration-username","pre-user-deletion","post-user-deletion"]),Ha={enabled:o.z.boolean().default(!1),synchronous:o.z.boolean().default(!1),priority:o.z.number().optional(),hook_id:o.z.string().optional()},Yw=o.z.object({...Ha,trigger_id:tm,url:o.z.string()}),Qw=o.z.object({...Ha,trigger_id:nm,form_id:o.z.string()}),bs=o.z.union([Yw,Qw]),eb=o.z.object({...Ha,trigger_id:tm,...di.shape,hook_id:o.z.string(),url:o.z.string()}),tb=o.z.object({...Ha,trigger_id:nm,...di.shape,hook_id:o.z.string(),form_id:o.z.string()}),Lr=o.z.union([eb,tb]),rm=o.z.object({name:o.z.string().optional()}),im=o.z.object({email:o.z.string().optional()}),xu=o.z.object({organization_id:o.z.string().max(50),inviter:rm,invitee:im,invitation_url:o.z.string().url(),client_id:o.z.string(),connection_id:o.z.string().optional(),app_metadata:o.z.record(o.z.any()).default({}).optional(),user_metadata:o.z.record(o.z.any()).default({}).optional(),ttl_sec:o.z.number().int().max(2592e3).default(604800).optional(),roles:o.z.array(o.z.string()).default([]).optional(),send_invitation_email:o.z.boolean().default(!0).optional()}),ro=o.z.object({id:o.z.string(),organization_id:o.z.string().max(50),created_at:o.z.string().datetime(),expires_at:o.z.string().datetime(),ticket_id:o.z.string().optional()}).extend(xu.shape),Su=o.z.object({alg:o.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:o.z.string(),kid:o.z.string(),kty:o.z.enum(["RSA","EC","oct"]),n:o.z.string(),x5t:o.z.string().optional(),x5c:o.z.array(o.z.string()).optional(),use:o.z.enum(["sig","enc"]).optional()}),om=o.z.object({keys:o.z.array(Su)}),jl=o.z.object({issuer:o.z.string(),authorization_endpoint:o.z.string(),token_endpoint:o.z.string(),device_authorization_endpoint:o.z.string(),userinfo_endpoint:o.z.string(),mfa_challenge_endpoint:o.z.string(),jwks_uri:o.z.string(),registration_endpoint:o.z.string(),revocation_endpoint:o.z.string(),scopes_supported:o.z.array(o.z.string()),response_types_supported:o.z.array(o.z.string()),code_challenge_methods_supported:o.z.array(o.z.string()),response_modes_supported:o.z.array(o.z.string()),subject_types_supported:o.z.array(o.z.string()),id_token_signing_alg_values_supported:o.z.array(o.z.string()),token_endpoint_auth_methods_supported:o.z.array(o.z.string()),claims_supported:o.z.array(o.z.string()),request_uri_parameter_supported:o.z.boolean(),request_parameter_supported:o.z.boolean(),token_endpoint_auth_signing_alg_values_supported:o.z.array(o.z.string())}),sm=o.z.object({csrf_token:o.z.string(),auth0Client:o.z.string().optional(),authParams:ho,expires_at:o.z.string(),deleted_at:o.z.string().optional(),ip:o.z.string().optional(),useragent:o.z.string().optional(),session_id:o.z.string().optional(),authorization_url:o.z.string().optional(),login_completed:o.z.boolean().optional().default(!1)}).openapi({description:"This represents a login sesion"}),nb=o.z.object({...sm.shape,id:o.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:o.z.string(),updated_at:o.z.string()}),ee={ACLS_SUMMARY:"acls_summary",ACTIONS_EXECUTION_FAILED:"actions_execution_failed",API_LIMIT:"api_limit",API_LIMIT_WARNING:"api_limit_warning",APPI:"appi",CIBA_EXCHANGE_FAILED:"ciba_exchange_failed",CIBA_EXCHANGE_SUCCEEDED:"ciba_exchange_succeeded",CIBA_START_FAILED:"ciba_start_failed",CIBA_START_SUCCEEDED:"ciba_start_succeeded",CODE_LINK_SENT:"cls",CODE_SENT:"cs",DEPRECATION_NOTICE:"depnote",FAILED_LOGIN:"f",FAILED_BY_CONNECTOR:"fc",FAILED_CHANGE_EMAIL:"fce",FAILED_BY_CORS:"fco",FAILED_CROSS_ORIGIN_AUTHENTICATION:"fcoa",FAILED_CHANGE_PASSWORD:"fcp",FAILED_POST_CHANGE_PASSWORD_HOOK:"fcph",FAILED_CHANGE_PHONE_NUMBER:"fcpn",FAILED_CHANGE_PASSWORD_REQUEST:"fcpr",FAILED_CONNECTOR_PROVISIONING:"fcpro",FAILED_CHANGE_USERNAME:"fcu",FAILED_DELEGATION:"fd",FAILED_DEVICE_ACTIVATION:"fdeac",FAILED_DEVICE_AUTHORIZATION_REQUEST:"fdeaz",USER_CANCELED_DEVICE_CONFIRMATION:"fdecc",FAILED_USER_DELETION:"fdu",FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN:"feacft",FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS:"feccft",FAILED_EXCHANGE_CUSTOM_TOKEN:"fecte",FAILED_EXCHANGE_DEVICE_CODE_FOR_ACCESS_TOKEN:"fede",FAILED_FEDERATED_LOGOUT:"federated_logout_failed",FAILED_EXCHANGE_NATIVE_SOCIAL_LOGIN:"fens",FAILED_EXCHANGE_PASSWORD_OOB_FOR_ACCESS_TOKEN:"feoobft",FAILED_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN:"feotpft",FAILED_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN:"fepft",FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN:"fepotpft",FAILED_EXCHANGE_PASSWORD_MFA_RECOVERY_FOR_ACCESS_TOKEN:"fercft",FAILED_EXCHANGE_ROTATING_REFRESH_TOKEN:"ferrt",FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN:"fertft",FAILED_HOOK:"fh",FAILED_INVITE_ACCEPT:"fi",FAILED_LOGOUT:"flo",FLOWS_EXECUTION_COMPLETED:"flows_execution_completed",FLOWS_EXECUTION_FAILED:"flows_execution_failed",FAILED_SENDING_NOTIFICATION:"fn",FORMS_SUBMISSION_FAILED:"forms_submission_failed",FORMS_SUBMISSION_SUCCEEDED:"forms_submission_succeeded",FAILED_LOGIN_INCORRECT_PASSWORD:"fp",FAILED_PUSHED_AUTHORIZATION_REQUEST:"fpar",FAILED_POST_USER_REGISTRATION_HOOK:"fpurh",FAILED_SIGNUP:"fs",FAILED_SILENT_AUTH:"fsa",FAILED_LOGIN_INVALID_EMAIL_USERNAME:"fu",FAILED_USERS_IMPORT:"fui",FAILED_VERIFICATION_EMAIL:"fv",FAILED_VERIFICATION_EMAIL_REQUEST:"fvr",EMAIL_VERIFICATION_CONFIRMED:"gd_auth_email_verification",EMAIL_VERIFICATION_FAILED:"gd_auth_fail_email_verification",MFA_AUTH_FAILED:"gd_auth_failed",MFA_AUTH_REJECTED:"gd_auth_rejected",MFA_AUTH_SUCCESS:"gd_auth_succeed",MFA_ENROLLMENT_COMPLETE:"gd_enrollment_complete",TOO_MANY_MFA_FAILURES:"gd_otp_rate_limit_exceed",MFA_RECOVERY_FAILED:"gd_recovery_failed",MFA_RECOVERY_RATE_LIMIT_EXCEED:"gd_recovery_rate_limit_exceed",MFA_RECOVERY_SUCCESS:"gd_recovery_succeed",MFA_EMAIL_SENT:"gd_send_email",EMAIL_VERIFICATION_SENT:"gd_send_email_verification",EMAIL_VERIFICATION_SEND_FAILURE:"gd_send_email_verification_failure",PUSH_NOTIFICATION_SENT:"gd_send_pn",ERROR_SENDING_MFA_PUSH_NOTIFICATION:"gd_send_pn_failure",MFA_SMS_SENT:"gd_send_sms",ERROR_SENDING_MFA_SMS:"gd_send_sms_failure",MFA_VOICE_CALL_SUCCESS:"gd_send_voice",MFA_VOICE_CALL_FAILED:"gd_send_voice_failure",SECOND_FACTOR_STARTED:"gd_start_auth",MFA_ENROLL_STARTED:"gd_start_enroll",MFA_ENROLLMENT_FAILED:"gd_start_enroll_failed",GUARDIAN_TENANT_UPDATE:"gd_tenant_update",UNENROLL_DEVICE_ACCOUNT:"gd_unenroll",UPDATE_DEVICE_ACCOUNT:"gd_update_device_account",WEBAUTHN_CHALLENGE_FAILED:"gd_webauthn_challenge_failed",WEBAUTHN_ENROLLMENT_FAILED:"gd_webauthn_enrollment_failed",FAILED_KMS_API_OPERATION:"kms_key_management_failure",SUCCESS_KMS_API_OPERATION:"kms_key_management_success",KMS_KEY_STATE_CHANGED:"kms_key_state_changed",TOO_MANY_CALLS_TO_DELEGATION:"limit_delegation",BLOCKED_IP_ADDRESS:"limit_mu",BLOCKED_ACCOUNT_IP:"limit_sul",BLOCKED_ACCOUNT_EMAIL:"limit_wc",MFA_REQUIRED:"mfar",MANAGEMENT_API_READ_OPERATION:"mgmt_api_read",FAILED_AUTHENTICATION_METHOD_OPERATION_MY_ACCOUNT:"my_account_authentication_method_failed",SUCCESSFUL_AUTHENTICATION_METHOD_OPERATION_MY_ACCOUNT:"my_account_authentication_method_succeeded",FAILED_OIDC_BACKCHANNEL_LOGOUT:"oidc_backchannel_logout_failed",SUCCESSFUL_OIDC_BACKCHANNEL_LOGOUT:"oidc_backchannel_logout_succeeded",ORGANIZATION_MEMBER_ADDED:"organization_member_added",PASSKEY_CHALLENGE_FAILED:"passkey_challenge_failed",PASSKEY_CHALLENGE_STARTED:"passkey_challenge_started",PRE_LOGIN_ASSESSMENT:"pla",BREACHED_PASSWORD:"pwd_leak",BREACHED_PASSWORD_ON_RESET:"reset_pwd_leak",SUCCESS_RESOURCE_CLEANUP:"resource_cleanup",RICH_CONSENTS_ACCESS_ERROR:"rich_consents_access_error",SUCCESS_LOGIN:"s",SUCCESS_API_OPERATION:"sapi",SUCCESS_CHANGE_EMAIL:"sce",SUCCESS_CROSS_ORIGIN_AUTHENTICATION:"scoa",SUCCESS_CHANGE_PASSWORD:"scp",SUCCESS_CHANGE_PHONE_NUMBER:"scpn",SUCCESS_CHANGE_PASSWORD_REQUEST:"scpr",SUCCESS_CHANGE_USERNAME:"scu",SUCCESS_CREDENTIAL_VALIDATION:"scv",SUCCESS_DELEGATION:"sd",SUCCESS_USER_DELETION:"sdu",SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN:"seacft",SUCCESS_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS:"seccft",SUCCESS_EXCHANGE_CUSTOM_TOKEN:"secte",SUCCESS_EXCHANGE_DEVICE_CODE_FOR_ACCESS_TOKEN:"sede",SUCCESS_EXCHANGE_NATIVE_SOCIAL_LOGIN:"sens",SUCCESS_EXCHANGE_PASSWORD_OOB_FOR_ACCESS_TOKEN:"seoobft",SUCCESS_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN:"seotpft",SUCCESS_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN:"sepft",SUCCESS_EXCHANGE_PASSKEY_OOB_FOR_ACCESS_TOKEN:"sepkoobft",SUCCESS_EXCHANGE_PASSKEY_OTP_FOR_ACCESS_TOKEN:"sepkotpft",SUCCESS_EXCHANGE_PASSKEY_MFA_RECOVERY_FOR_ACCESS_TOKEN:"sepkrcft",SUCCESS_EXCHANGE_PASSWORD_MFA_RECOVERY_FOR_ACCESS_TOKEN:"sercft",SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN:"sertft",SUCCESSFULLY_ACCEPTED_USER_INVITE:"si",BREACHED_PASSWORD_ON_SIGNUP:"signup_pwd_leak",SUCCESS_LOGOUT:"slo",SUCCESS_REVOCATION:"srrt",SUCCESS_SIGNUP:"ss",FAILED_SS_SSO_OPERATION:"ss_sso_failure",INFORMATION_FROM_SS_SSO_OPERATION:"ss_sso_info",SUCCESS_SS_SSO_OPERATION:"ss_sso_success",SUCCESS_SILENT_AUTH:"ssa",SUCCESSFUL_SCIM_OPERATION:"sscim",SUCCESSFULLY_IMPORTED_USERS:"sui",SUCCESS_VERIFICATION_EMAIL:"sv",SUCCESS_VERIFICATION_EMAIL_REQUEST:"svr",MAX_AMOUNT_OF_AUTHENTICATORS:"too_many_records",USER_LOGIN_BLOCK_RELEASED:"ublkdu",FAILED_UNIVERSAL_LOGOUT:"universal_logout_failed",SUCCESSFUL_UNIVERSAL_LOGOUT:"universal_logout_succeeded",WARNING_DURING_LOGIN:"w",WARNING_SENDING_NOTIFICATION:"wn",WARNING_USER_MANAGEMENT:"wum"},rb=o.z.string().refine(t=>Object.values(ee).includes(t),{message:"Invalid log type"}),am=o.z.object({name:o.z.string(),version:o.z.string(),env:o.z.object({node:o.z.string().optional()}).optional()}),cm=o.z.object({country_code:o.z.string().length(2),city_name:o.z.string(),latitude:o.z.string(),longitude:o.z.string(),time_zone:o.z.string(),continent_code:o.z.string()}),lm=o.z.object({type:rb,date:o.z.string(),description:o.z.string().optional(),ip:o.z.string().optional(),user_agent:o.z.string().optional(),details:o.z.any().optional(),isMobile:o.z.boolean(),user_id:o.z.string().optional(),user_name:o.z.string().optional(),connection:o.z.string().optional(),connection_id:o.z.string().optional(),client_id:o.z.string().optional(),client_name:o.z.string().optional(),audience:o.z.string().optional(),scope:o.z.string().optional(),strategy:o.z.string().optional(),strategy_type:o.z.string().optional(),hostname:o.z.string().optional(),auth0_client:am.optional(),log_id:o.z.string().optional(),location_info:cm.optional()}),Vs=o.z.object({...lm.shape,log_id:o.z.string()}),dm=o.z.object({id:o.z.string().optional(),user_id:o.z.string(),password:o.z.string(),algorithm:o.z.enum(["bcrypt","argon2id"]).default("argon2id"),is_current:o.z.boolean().default(!0)}),ib=dm.extend({id:o.z.string(),created_at:o.z.string(),updated_at:o.z.string()}),um=o.z.object({initial_user_agent:o.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:o.z.string().describe("First IP address associated with this session"),initial_asn:o.z.string().describe("First autonomous system number associated with this session"),last_user_agent:o.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:o.z.string().describe("Last IP address from which this user logged in"),last_asn:o.z.string().describe("Last autonomous system number from which this user logged in")}),pm=o.z.object({id:o.z.string(),revoked_at:o.z.string().optional(),used_at:o.z.string().optional(),user_id:o.z.string().describe("The user ID associated with the session"),expires_at:o.z.string().optional(),login_session_id:o.z.string(),idle_expires_at:o.z.string().optional(),device:um.describe("Metadata related to the device used in the session"),clients:o.z.array(o.z.string()).describe("List of client details for the session")}),Va=o.z.object({created_at:o.z.string(),updated_at:o.z.string(),authenticated_at:o.z.string(),last_interaction_at:o.z.string(),...pm.shape}),Ol=o.z.object({kid:o.z.string().openapi({description:"The key id of the signing key"}),cert:o.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:o.z.string().openapi({description:"The cert fingerprint"}),thumbprint:o.z.string().openapi({description:"The cert thumbprint"}),pkcs7:o.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:o.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:o.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:o.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:o.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:o.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:o.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:o.z.string().optional().openapi({description:"The date and time when the key was revoked"}),connection:o.z.string().optional().openapi({description:"The connection identifier associated with the key"}),type:o.z.enum(["jwt_signing","saml_encryption"]).openapi({description:"The type of the signing key"})});var xt=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t.OTP="http://auth0.com/oauth/grant-type/passwordless/otp",t))(xt||{});const zu=o.z.object({access_token:o.z.string(),id_token:o.z.string().optional(),scope:o.z.string().optional(),state:o.z.string().optional(),refresh_token:o.z.string().optional(),token_type:o.z.string(),expires_in:o.z.number()});o.z.object({code:o.z.string(),state:o.z.string().optional()});const fm=o.z.object({button_border_radius:o.z.number(),button_border_weight:o.z.number(),buttons_style:o.z.enum(["pill","rounded","sharp"]),input_border_radius:o.z.number(),input_border_weight:o.z.number(),inputs_style:o.z.enum(["pill","rounded","sharp"]),show_widget_shadow:o.z.boolean(),widget_border_weight:o.z.number(),widget_corner_radius:o.z.number()}),hm=o.z.object({base_focus_color:o.z.string(),base_hover_color:o.z.string(),body_text:o.z.string(),captcha_widget_theme:o.z.enum(["auto","dark","light"]),error:o.z.string(),header:o.z.string(),icons:o.z.string(),input_background:o.z.string(),input_border:o.z.string(),input_filled_text:o.z.string(),input_labels_placeholders:o.z.string(),links_focused_components:o.z.string(),primary_button:o.z.string(),primary_button_label:o.z.string(),secondary_button_border:o.z.string(),secondary_button_label:o.z.string(),success:o.z.string(),widget_background:o.z.string(),widget_border:o.z.string()}),Hn=o.z.object({bold:o.z.boolean(),size:o.z.number()}),gm=o.z.object({body_text:Hn,buttons_text:Hn,font_url:o.z.string(),input_labels:Hn,links:Hn,links_style:o.z.enum(["normal","underlined"]),reference_text_size:o.z.number(),subtitle:Hn,title:Hn}),mm=o.z.object({background_color:o.z.string(),background_image_url:o.z.string(),page_layout:o.z.enum(["center","left","right"])}),_m=o.z.object({header_text_alignment:o.z.enum(["center","left","right"]),logo_height:o.z.number(),logo_position:o.z.enum(["center","left","none","right"]),logo_url:o.z.string(),social_buttons_layout:o.z.enum(["bottom","top"])}),ym=o.z.object({borders:fm,colors:hm,displayName:o.z.string(),fonts:gm,page_background:mm,widget:_m}),vs=ym.extend({themeId:o.z.string()}),$s=o.z.object({universal_login_experience:o.z.enum(["new","classic"]).default("new"),identifier_first:o.z.boolean().default(!0),password_first:o.z.boolean().default(!1),webauthn_platform_first_factor:o.z.boolean()}),ks=o.z.object({name:o.z.string(),enabled:o.z.boolean().optional().default(!0),default_from_address:o.z.string().optional(),credentials:o.z.union([o.z.object({accessKeyId:o.z.string(),secretAccessKey:o.z.string(),region:o.z.string()}),o.z.object({smtp_host:o.z.array(o.z.string()),smtp_port:o.z.number(),smtp_user:o.z.string(),smtp_pass:o.z.string()}),o.z.object({api_key:o.z.string(),domain:o.z.string().optional()}),o.z.object({connectionString:o.z.string()}),o.z.object({tenantId:o.z.string(),clientId:o.z.string(),clientSecret:o.z.string()})]),settings:o.z.object({}).optional()}),Au=o.z.object({id:o.z.string(),session_id:o.z.string(),user_id:o.z.string(),client_id:o.z.string(),expires_at:o.z.string().optional(),idle_expires_at:o.z.string().optional(),last_exchanged_at:o.z.string().optional(),device:um,resource_servers:o.z.array(o.z.object({audience:o.z.string(),scopes:o.z.string()})),rotating:o.z.boolean()}),ob=o.z.object({created_at:o.z.string(),...Au.shape}),sb=o.z.object({to:o.z.string(),message:o.z.string()}),ab=o.z.object({name:o.z.string(),options:o.z.object({})}),wm=o.z.object({value:o.z.string(),description:o.z.string().optional()}),bm=o.z.object({token_dialect:o.z.enum(["access_token","access_token_authz"]).optional(),enforce_policies:o.z.boolean().optional(),allow_skipping_userinfo:o.z.boolean().optional(),skip_userinfo:o.z.boolean().optional(),persist_client_authorization:o.z.boolean().optional(),enable_introspection_endpoint:o.z.boolean().optional(),mtls:o.z.object({bound_access_tokens:o.z.boolean().optional()}).optional()}),Ks=o.z.object({name:o.z.string(),identifier:o.z.string(),scopes:o.z.array(wm).optional(),signing_alg:o.z.string().optional(),signing_secret:o.z.string().optional(),token_lifetime:o.z.number().optional(),token_lifetime_for_web:o.z.number().optional(),skip_consent_for_verifiable_first_party_clients:o.z.boolean().optional(),allow_offline_access:o.z.boolean().optional(),verificationKey:o.z.string().optional(),options:bm.optional()}),Jn=o.z.object({id:o.z.string().optional(),...Ks.shape,created_at:o.z.string().optional(),updated_at:o.z.string().optional()}),cb=o.z.array(Jn),vm=o.z.object({role_id:o.z.string(),resource_server_identifier:o.z.string(),permission_name:o.z.string()}),$m=o.z.object({...vm.shape,created_at:o.z.string()}),km=o.z.array($m),xm=o.z.object({user_id:o.z.string(),resource_server_identifier:o.z.string(),permission_name:o.z.string(),organization_id:o.z.string().optional()}),Sm=o.z.object({...xm.shape,tenant_id:o.z.string(),created_at:o.z.string().optional()}),lb=o.z.array(Sm),zm=o.z.object({user_id:o.z.string(),resource_server_identifier:o.z.string(),resource_server_name:o.z.string(),permission_name:o.z.string(),description:o.z.string().nullable().optional(),created_at:o.z.string().optional(),organization_id:o.z.string().optional()}),Am=o.z.array(zm),Em=o.z.object({user_id:o.z.string(),role_id:o.z.string(),organization_id:o.z.string().optional()}),Cm=o.z.object({...Em.shape,tenant_id:o.z.string(),created_at:o.z.string().optional()}),db=o.z.array(Cm),Gs=o.z.object({name:o.z.string().min(1).max(50).openapi({description:"The name of the role. Cannot include '<' or '>'"}),description:o.z.string().max(255).optional().openapi({description:"The description of the role"})}),Xn=o.z.object({id:o.z.string().openapi({description:"The unique identifier of the role"}),...Gs.shape,created_at:o.z.string().optional(),updated_at:o.z.string().optional()}),Ws=o.z.array(Xn),Nm=o.z.object({logo_url:o.z.string().optional().openapi({description:"URL of the organization's logo"}),colors:o.z.object({primary:o.z.string().optional().openapi({description:"Primary color in hex format (e.g., #FF0000)"}),page_background:o.z.string().optional().openapi({description:"Page background color in hex format (e.g., #FFFFFF)"})}).optional()}).optional(),Im=o.z.object({connection_id:o.z.string().openapi({description:"ID of the connection"}),assign_membership_on_login:o.z.boolean().default(!1).openapi({description:"Whether to assign membership to the organization on login"}),show_as_button:o.z.boolean().default(!0).openapi({description:"Whether to show this connection as a button in the login screen"}),is_signup_enabled:o.z.boolean().default(!0).openapi({description:"Whether signup is enabled for this connection"})}),jm=o.z.object({client_credentials:o.z.object({enforce:o.z.boolean().default(!1).openapi({description:"Whether to enforce token quota limits"}),per_day:o.z.number().min(0).default(0).openapi({description:"Maximum tokens per day (0 = unlimited)"}),per_hour:o.z.number().min(0).default(0).openapi({description:"Maximum tokens per hour (0 = unlimited)"})}).optional()}).optional(),Js=o.z.object({id:o.z.string().optional(),name:o.z.string().min(1).openapi({description:"The name of the organization"}),display_name:o.z.string().optional().openapi({description:"The display name of the organization"}),branding:Nm,metadata:o.z.record(o.z.any()).default({}).optional().openapi({description:"Custom metadata for the organization"}),enabled_connections:o.z.array(Im).default([]).optional().openapi({description:"List of enabled connections for the organization"}),token_quota:jm}),An=o.z.object({...Js.shape,...di.shape,id:o.z.string()}),Om=o.z.object({user_id:o.z.string().openapi({description:"ID of the user"}),organization_id:o.z.string().openapi({description:"ID of the organization"})}),ub=o.z.object({...Om.shape,...di.shape,id:o.z.string()}),pb=o.z.object({idle_session_lifetime:o.z.number().optional(),session_lifetime:o.z.number().optional(),session_cookie:o.z.object({mode:o.z.enum(["persistent","non-persistent"]).optional()}).optional(),enable_client_connections:o.z.boolean().optional(),default_redirection_uri:o.z.string().optional(),enabled_locales:o.z.array(o.z.string()).optional(),default_directory:o.z.string().optional(),error_page:o.z.object({html:o.z.string().optional(),show_log_link:o.z.boolean().optional(),url:o.z.string().optional()}).optional(),flags:o.z.object({allow_legacy_delegation_grant_types:o.z.boolean().optional(),allow_legacy_ro_grant_types:o.z.boolean().optional(),allow_legacy_tokeninfo_endpoint:o.z.boolean().optional(),disable_clickjack_protection_headers:o.z.boolean().optional(),enable_apis_section:o.z.boolean().optional(),enable_client_connections:o.z.boolean().optional(),enable_custom_domain_in_emails:o.z.boolean().optional(),enable_dynamic_client_registration:o.z.boolean().optional(),enable_idtoken_api2:o.z.boolean().optional(),enable_legacy_logs_search_v2:o.z.boolean().optional(),enable_legacy_profile:o.z.boolean().optional(),enable_pipeline2:o.z.boolean().optional(),enable_public_signup_user_exists_error:o.z.boolean().optional(),use_scope_descriptions_for_consent:o.z.boolean().optional(),disable_management_api_sms_obfuscation:o.z.boolean().optional(),enable_adfs_waad_email_verification:o.z.boolean().optional(),revoke_refresh_token_grant:o.z.boolean().optional(),dashboard_log_streams_next:o.z.boolean().optional(),dashboard_insights_view:o.z.boolean().optional(),disable_fields_map_fix:o.z.boolean().optional(),mfa_show_factor_list_on_enrollment:o.z.boolean().optional()}).optional(),friendly_name:o.z.string().optional(),picture_url:o.z.string().optional(),support_email:o.z.string().optional(),support_url:o.z.string().optional(),sandbox_version:o.z.string().optional(),sandbox_versions_available:o.z.array(o.z.string()).optional(),change_password:o.z.object({enabled:o.z.boolean(),html:o.z.string()}).optional(),guardian_mfa_page:o.z.object({enabled:o.z.boolean(),html:o.z.string()}).optional(),default_audience:o.z.string().optional(),default_organization:o.z.string().optional(),sessions:o.z.object({oidc_logout_prompt_enabled:o.z.boolean().optional()}).optional()});function fb(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const bf={themeId:"default",borders:{button_border_radius:8,button_border_weight:1,buttons_style:"pill",input_border_radius:8,input_border_weight:1,inputs_style:"pill",show_widget_shadow:!0,widget_border_weight:1,widget_corner_radius:16},colors:{base_focus_color:"#7D68F4",base_hover_color:"#A091F2",body_text:"#000000",captcha_widget_theme:"auto",error:"#FC5A5A",header:"#000000",icons:"#666666",input_background:"#FFFFFF",input_border:"#BFBCD7",input_filled_text:"#000000",input_labels_placeholders:"#88869F",links_focused_components:"#7D68F4",primary_button:"#7D68F4",primary_button_label:"#FFFFFF",secondary_button_border:"#BFBCD7",secondary_button_label:"#000000",success:"#36BF76",widget_background:"#FFFFFF",widget_border:"#BFBCD7"},displayName:"Default Theme",fonts:{body_text:{bold:!1,size:16},buttons_text:{bold:!1,size:16},font_url:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2",input_labels:{bold:!1,size:14},links:{bold:!1,size:16},links_style:"normal",reference_text_size:16,subtitle:{bold:!1,size:18},title:{bold:!0,size:24}},page_background:{background_color:"#F8F9FB",background_image_url:"https://assets.sesamy.com/images/login-bg.jpg",page_layout:"center"},widget:{header_text_alignment:"center",logo_height:36,logo_position:"center",logo_url:"https://assets.sesamy.com/static/images/sesamy/logos/sesamy_logo_black.svg",social_buttons_layout:"bottom"}};function Pl(t,e){const n=structuredClone(t);function r(i,s){for(const a in s)s[a]!==void 0&&typeof s[a]=="object"&&!Array.isArray(s[a])&&typeof i[a]=="object"&&i[a]!==null?r(i[a],s[a]):i[a]=s[a];return i}return r(n,e)}const hb=new o.OpenAPIHono().openapi(o.createRoute({tags:["branding"],method:"get",path:"/default",request:{headers:o.z.object({"tenant-id":o.z.string().optional()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:vs}},description:"Default theme settings"}}}),async t=>{const e=await t.env.data.themes.get(t.var.tenant_id,"default");return e?t.json(e):t.json(bf)}).openapi(o.createRoute({tags:["branding"],method:"patch",path:"/default",request:{body:{content:{"application/json":{schema:vs.deepPartial()}}},headers:o.z.object({"tenant-id":o.z.string().optional()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:vs}},description:"Updated theme settings"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.themes.get(t.var.tenant_id,"default");if(n){const r=Pl(n,e);await t.env.data.themes.update(t.var.tenant_id,"default",r);const i=await t.env.data.themes.get(t.var.tenant_id,"default");return t.json(i)}else{const r=Pl(bf,e),i=await t.env.data.themes.create(t.var.tenant_id,r);return t.json(i)}}),gb={colors:{primary:"#7D68F4",page_background:{type:"solid",start:"#F8F9FB",end:"#F8F9FB",angle_deg:0}},logo_url:"https://assets.sesamy.com/static/images/sesamy/logos/sesamy_logo_black.svg",favicon_url:"https://assets.sesamy.com/images/favicon.ico",font:{url:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2"}},mb=new o.OpenAPIHono().openapi(o.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Il}},description:"Branding settings"}}}),async t=>{const e=await t.env.data.branding.get(t.var.tenant_id);return e?t.json(e):t.json(gb)}).openapi(o.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Il.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const e=t.req.valid("json");return await t.env.data.branding.set(t.var.tenant_id,e),t.text("OK")}).route("/themes",hb);var v=class extends Error{res;status;constructor(t=500,e){super(e?.message,{cause:e?.cause}),this.res=e?.res,this.status=t}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};const _b={};var Tl=null;function yb(t){try{return crypto.getRandomValues(new Uint8Array(t))}catch{}try{return _b.randomBytes(t)}catch{}if(!Tl)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return Tl(t)}function wb(t){Tl=t}function Eu(t,e){if(t=t||Cu,typeof t!="number")throw Error("Illegal arguments: "+typeof t+", "+typeof e);t<4?t=4:t>31&&(t=31);var n=[];return n.push("$2b$"),t<10&&n.push("0"),n.push(t.toString()),n.push("$"),n.push(Xs(yb(go),go)),n.join("")}function Pm(t,e,n){if(typeof e=="function"&&(n=e,e=void 0),typeof t=="function"&&(n=t,t=void 0),typeof t>"u")t=Cu;else if(typeof t!="number")throw Error("illegal arguments: "+typeof t);function r(i){zt(function(){try{i(null,Eu(t))}catch(s){i(s)}})}if(n){if(typeof n!="function")throw Error("Illegal callback: "+typeof n);r(n)}else return new Promise(function(i,s){r(function(a,c){if(a){s(a);return}i(c)})})}function Tm(t,e){if(typeof e>"u"&&(e=Cu),typeof e=="number"&&(e=Eu(e)),typeof t!="string"||typeof e!="string")throw Error("Illegal arguments: "+typeof t+", "+typeof e);return Rl(t,e)}function Rm(t,e,n,r){function i(s){typeof t=="string"&&typeof e=="number"?Pm(e,function(a,c){Rl(t,c,s,r)}):typeof t=="string"&&typeof e=="string"?Rl(t,e,s,r):zt(s.bind(this,Error("Illegal arguments: "+typeof t+", "+typeof e)))}if(n){if(typeof n!="function")throw Error("Illegal callback: "+typeof n);i(n)}else return new Promise(function(s,a){i(function(c,l){if(c){a(c);return}s(l)})})}function Bm(t,e){for(var n=t.length^e.length,r=0;r<t.length;++r)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}function bb(t,e){if(typeof t!="string"||typeof e!="string")throw Error("Illegal arguments: "+typeof t+", "+typeof e);return e.length!==60?!1:Bm(Tm(t,e.substring(0,e.length-31)),e)}function vb(t,e,n,r){function i(s){if(typeof t!="string"||typeof e!="string"){zt(s.bind(this,Error("Illegal arguments: "+typeof t+", "+typeof e)));return}if(e.length!==60){zt(s.bind(this,null,!1));return}Rm(t,e.substring(0,29),function(a,c){a?s(a):s(null,Bm(c,e))},r)}if(n){if(typeof n!="function")throw Error("Illegal callback: "+typeof n);i(n)}else return new Promise(function(s,a){i(function(c,l){if(c){a(c);return}s(l)})})}function $b(t){if(typeof t!="string")throw Error("Illegal arguments: "+typeof t);return parseInt(t.split("$")[2],10)}function kb(t){if(typeof t!="string")throw Error("Illegal arguments: "+typeof t);if(t.length!==60)throw Error("Illegal hash length: "+t.length+" != 60");return t.substring(0,29)}function xb(t){if(typeof t!="string")throw Error("Illegal arguments: "+typeof t);return Lm(t)>72}var zt=typeof setImmediate=="function"?setImmediate:typeof scheduler=="object"&&typeof scheduler.postTask=="function"?scheduler.postTask.bind(scheduler):setTimeout;function Lm(t){for(var e=0,n=0,r=0;r<t.length;++r)n=t.charCodeAt(r),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(r+1)&64512)===56320?(++r,e+=4):e+=3;return e}function Sb(t){for(var e=0,n,r,i=new Array(Lm(t)),s=0,a=t.length;s<a;++s)n=t.charCodeAt(s),n<128?i[e++]=n:n<2048?(i[e++]=n>>6|192,i[e++]=n&63|128):(n&64512)===55296&&((r=t.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(r&1023),++s,i[e++]=n>>18|240,i[e++]=n>>12&63|128,i[e++]=n>>6&63|128,i[e++]=n&63|128):(i[e++]=n>>12|224,i[e++]=n>>6&63|128,i[e++]=n&63|128);return i}var Er="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),kn=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,-1,-1,-1,-1,-1,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,-1];function Xs(t,e){var n=0,r=[],i,s;if(e<=0||e>t.length)throw Error("Illegal len: "+e);for(;n<e;){if(i=t[n++]&255,r.push(Er[i>>2&63]),i=(i&3)<<4,n>=e){r.push(Er[i&63]);break}if(s=t[n++]&255,i|=s>>4&15,r.push(Er[i&63]),i=(s&15)<<2,n>=e){r.push(Er[i&63]);break}s=t[n++]&255,i|=s>>6&3,r.push(Er[i&63]),r.push(Er[s&63])}return r.join("")}function Um(t,e){var n=0,r=t.length,i=0,s=[],a,c,l,d,p,f;if(e<=0)throw Error("Illegal len: "+e);for(;n<r-1&&i<e&&(f=t.charCodeAt(n++),a=f<kn.length?kn[f]:-1,f=t.charCodeAt(n++),c=f<kn.length?kn[f]:-1,!(a==-1||c==-1||(p=a<<2>>>0,p|=(c&48)>>4,s.push(String.fromCharCode(p)),++i>=e||n>=r)||(f=t.charCodeAt(n++),l=f<kn.length?kn[f]:-1,l==-1)||(p=(c&15)<<4>>>0,p|=(l&60)>>2,s.push(String.fromCharCode(p)),++i>=e||n>=r)));)f=t.charCodeAt(n++),d=f<kn.length?kn[f]:-1,p=(l&3)<<6>>>0,p|=d,s.push(String.fromCharCode(p)),++i;var g=[];for(n=0;n<i;n++)g.push(s[n].charCodeAt(0));return g}var go=16,Cu=10,zb=16,Ab=100,vf=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],$f=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],Dm=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function mo(t,e,n,r){var i,s=t[e],a=t[e+1];return s^=n[0],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[1],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[2],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[3],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[4],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[5],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[6],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[7],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[8],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[9],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[10],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[11],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[12],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[13],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[14],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[15],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[16],t[e]=a^n[zb+1],t[e+1]=s,t}function Ir(t,e){for(var n=0,r=0;n<4;++n)r=r<<8|t[e]&255,e=(e+1)%t.length;return{key:r,offp:e}}function kf(t,e,n){for(var r=0,i=[0,0],s=e.length,a=n.length,c,l=0;l<s;l++)c=Ir(t,r),r=c.offp,e[l]=e[l]^c.key;for(l=0;l<s;l+=2)i=mo(i,0,e,n),e[l]=i[0],e[l+1]=i[1];for(l=0;l<a;l+=2)i=mo(i,0,e,n),n[l]=i[0],n[l+1]=i[1]}function Eb(t,e,n,r){for(var i=0,s=[0,0],a=n.length,c=r.length,l,d=0;d<a;d++)l=Ir(e,i),i=l.offp,n[d]=n[d]^l.key;for(i=0,d=0;d<a;d+=2)l=Ir(t,i),i=l.offp,s[0]^=l.key,l=Ir(t,i),i=l.offp,s[1]^=l.key,s=mo(s,0,n,r),n[d]=s[0],n[d+1]=s[1];for(d=0;d<c;d+=2)l=Ir(t,i),i=l.offp,s[0]^=l.key,l=Ir(t,i),i=l.offp,s[1]^=l.key,s=mo(s,0,n,r),r[d]=s[0],r[d+1]=s[1]}function xf(t,e,n,r,i){var s=Dm.slice(),a=s.length,c;if(n<4||n>31)if(c=Error("Illegal number of rounds (4-31): "+n),r){zt(r.bind(this,c));return}else throw c;if(e.length!==go)if(c=Error("Illegal salt length: "+e.length+" != "+go),r){zt(r.bind(this,c));return}else throw c;n=1<<n>>>0;var l,d,p=0,f;typeof Int32Array=="function"?(l=new Int32Array(vf),d=new Int32Array($f)):(l=vf.slice(),d=$f.slice()),Eb(e,t,l,d);function g(){if(i&&i(p/n),p<n)for(var w=Date.now();p<n&&(p=p+1,kf(t,l,d),kf(e,l,d),!(Date.now()-w>Ab)););else{for(p=0;p<64;p++)for(f=0;f<a>>1;f++)mo(s,f<<1,l,d);var k=[];for(p=0;p<a;p++)k.push((s[p]>>24&255)>>>0),k.push((s[p]>>16&255)>>>0),k.push((s[p]>>8&255)>>>0),k.push((s[p]&255)>>>0);if(r){r(null,k);return}else return k}r&&zt(g)}if(typeof r<"u")g();else for(var _;;)if(typeof(_=g())<"u")return _||[]}function Rl(t,e,n,r){var i;if(typeof t!="string"||typeof e!="string")if(i=Error("Invalid string / salt: Not a string"),n){zt(n.bind(this,i));return}else throw i;var s,a;if(e.charAt(0)!=="$"||e.charAt(1)!=="2")if(i=Error("Invalid salt version: "+e.substring(0,2)),n){zt(n.bind(this,i));return}else throw i;if(e.charAt(2)==="$")s="\0",a=3;else{if(s=e.charAt(2),s!=="a"&&s!=="b"&&s!=="y"||e.charAt(3)!=="$")if(i=Error("Invalid salt revision: "+e.substring(2,4)),n){zt(n.bind(this,i));return}else throw i;a=4}if(e.charAt(a+2)>"$")if(i=Error("Missing salt rounds"),n){zt(n.bind(this,i));return}else throw i;var c=parseInt(e.substring(a,a+1),10)*10,l=parseInt(e.substring(a+1,a+2),10),d=c+l,p=e.substring(a+3,a+25);t+=s>="a"?"\0":"";var f=Sb(t),g=Um(p,go);function _(w){var k=[];return k.push("$2"),s>="a"&&k.push(s),k.push("$"),d<10&&k.push("0"),k.push(d.toString()),k.push("$"),k.push(Xs(g,g.length)),k.push(Xs(w,Dm.length*4-1)),k.join("")}if(typeof n>"u")return _(xf(f,g,d));xf(f,g,d,function(w,k){w?n(w,null):n(null,_(k))},r)}function Cb(t,e){return Xs(t,e)}function Nb(t,e){return Um(t,e)}const rr={setRandomFallback:wb,genSaltSync:Eu,genSalt:Pm,hashSync:Tm,hash:Rm,compareSync:bb,compare:vb,getRounds:$b,getSalt:kb,truncates:xb,encodeBase64:Cb,decodeBase64:Nb},Ib="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let jb=t=>crypto.getRandomValues(new Uint8Array(t)),Ob=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,i=-~(1.6*r*e/t.length);return(s=e)=>{let a="";for(;;){let c=n(i),l=i|0;for(;l--;)if(a+=t[c[l]&r]||"",a.length>=s)return a}}},Mm=(t,e=21)=>Ob(t,e|0,jb),pe=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Ib[n[t]&63];return e};const Pb=24;function Ka(){return Mm("0123456789abcdef",Pb)()}function fs(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}function Tb(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const r=await ju({userAdapter:t.users,tenant_id:e,email:n.email});if(!r)return t.users.create(e,n);await t.users.create(e,{...n,linked_to:r.user_id});const i=await t.users.get(e,r.user_id);if(!i)throw new Error("Failed to fetch primary user after linking");return i}}var Rb={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},qm=()=>{const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[n,r]of Object.entries(Rb))if(Bb(r))return n}return typeof t?.EdgeRuntime=="string"?"edge-light":t?.fastly!==void 0?"fastly":t?.process?.release?.name==="node"?"node":"other"},Bb=t=>navigator.userAgent.startsWith(t);function Fm(t,e){qm()==="workerd"&&t.executionCtx.waitUntil(e)}function Lb(t){return[...t].reduce((e,[n,r])=>({...e,[n]:r}),{})}async function ne(t,e,n){const r={};if(t.req.raw?.headers){const s=Lb(t.req.raw.headers);for(const[a,c]of Object.entries(s))r[a.toLowerCase()]=c}const i=async()=>{let s;if(t.env.data.geo)try{s=await t.env.data.geo.getGeoInfo(r)||void 0}catch(c){console.warn("Failed to get geo information:",c)}const a={type:n.type,description:n.description||"",ip:t.var.ip,user_agent:t.var.useragent||"",auth0_client:t.var.auth0_client,date:new Date().toISOString(),details:{request:{method:t.req.method,path:t.req.path,qs:t.req.queries(),body:n.body||t.var.body||""},...n.response&&{response:n.response}},isMobile:!1,client_id:t.var.client_id,client_name:"",user_id:n.userId||t.var.user_id||"",hostname:t.req.header("host")||"",user_name:t.var.username||"",connection_id:"",connection:n.connection||t.var.connection||"",strategy:n.strategy||"",strategy_type:n.strategy_type||"",audience:n.audience||"",scope:n.scope||"",location_info:s};await t.env.data.logs.create(e,a)};n.waitForCompletion?await i():Fm(t,i())}class Zs{constructor(e,n){this.value=e,this.unit=n}value;unit;milliseconds(){return this.unit==="ms"?this.value:this.unit==="s"?this.value*1e3:this.unit==="m"?this.value*1e3*60:this.unit==="h"?this.value*1e3*60*60:this.unit==="d"?this.value*1e3*60*60*24:this.value*1e3*60*60*24*7}seconds(){return this.milliseconds()/1e3}transform(e){return new Zs(Math.round(this.milliseconds()*e),"ms")}}class Ub{hash;constructor(e){this.hash=e}async verify(e,n,r){const i=await crypto.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["verify"]);return await crypto.subtle.verify("RSASSA-PKCS1-v1_5",i,n,r)}async sign(e,n){const r=await crypto.subtle.importKey("pkcs8",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["sign"]);return await crypto.subtle.sign("RSASSA-PKCS1-v1_5",r,n)}async generateKeyPair(e){const n=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),r=await crypto.subtle.exportKey("pkcs8",n.privateKey),i=await crypto.subtle.exportKey("spki",n.publicKey);return{privateKey:r,publicKey:i}}}async function Hm(t){return await crypto.subtle.digest("SHA-256",t)}const Sf="0123456789abcdef";function Bl(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++){const i=e[r]>>4;n+=Sf[i];const s=e[r]&15;n+=Sf[s]}return n}class Vm{alphabet;padding;decodeMap=new Map;constructor(e,n){if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),n?.includePadding??!0){const c=(8-r.length%8)%8;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/8),s=[];for(let a=0;a<i;a++){let c=0;const l=[];for(let p=0;p<8;p++){const f=e[a*8+p];if(f==="="){if(a+1!==i)throw new Error(`Invalid character: ${f}`);c+=1;continue}if(f===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(f)??null;if(g===null)throw new Error(`Invalid character: ${f}`);l.push(g)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const d=(l[0]<<3)+(l[1]>>2);if(s.push(d),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new Vm("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new Vm("0123456789ABCDEFGHIJKLMNOPQRSTUV");class Km{alphabet;padding;decodeMap=new Map;constructor(e,n){if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),n?.includePadding??!0){const c=(4-r.length%4)%4;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/4),s=[];for(let a=0;a<i;a++){let c=0,l=0;for(let d=0;d<4;d++){const p=e[a*4+d];if(p==="="){if(a+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const f=this.decodeMap.get(p)??null;if(f===null)throw new Error(`Invalid character: ${p}`);l+=f<<6*(3-d)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const Db=new Km("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Qn=new Km("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");async function zf(t,e,n,r){const i={alg:t,typ:"JWT",...r?.headers},s={...n};r?.audiences!==void 0&&(s.aud=r.audiences),r?.subject!==void 0&&(s.sub=r.subject),r?.issuer!==void 0&&(s.iss=r.issuer),r?.jwtId!==void 0&&(s.jti=r.jwtId),r?.expiresIn!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+r.expiresIn.seconds()),r?.notBefore!==void 0&&(s.nbf=Math.floor(r.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const a=new TextEncoder,c=Qn.encode(a.encode(JSON.stringify(i)),{includePadding:!1}),l=Qn.encode(a.encode(JSON.stringify(s)),{includePadding:!1}),d=a.encode([c,l].join(".")),p=await qb(t).sign(e,d),f=Qn.encode(new Uint8Array(p),{includePadding:!1});return[c,l,f].join(".")}function Mb(t){const e=t.split(".");return e.length!==3?null:e}function Uo(t){const e=Mb(t);if(!e)return null;const n=new TextDecoder,r=Qn.decode(e[0],{strict:!1}),i=Qn.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(r));if(typeof s!="object"||s===null||!("alg"in s)||!Fb(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const a=JSON.parse(n.decode(i));if(typeof a!="object"||a===null)return null;const c={algorithm:s.alg,expiresAt:null,subject:null,issuedAt:null,issuer:null,jwtId:null,audiences:null,notBefore:null};if("exp"in a){if(typeof a.exp!="number")return null;c.expiresAt=new Date(a.exp*1e3)}if("iss"in a){if(typeof a.iss!="string")return null;c.issuer=a.iss}if("sub"in a){if(typeof a.sub!="string")return null;c.subject=a.sub}if("aud"in a)if(Array.isArray(a.aud)){for(const l of a.aud)if(typeof l!="string")return null;c.audiences=a.aud}else{if(typeof a.aud!="string")return null;c.audiences=[a.aud]}if("nbf"in a){if(typeof a.nbf!="number")return null;c.notBefore=new Date(a.nbf*1e3)}if("iat"in a){if(typeof a.iat!="number")return null;c.issuedAt=new Date(a.iat*1e3)}if("jti"in a){if(typeof a.jti!="string")return null;c.jwtId=a.jti}return{value:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...a},parts:e,...c}}function qb(t){return new Ub(Hb[t])}function Fb(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const Hb={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"};function Vb(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Qn.encode(t,{includePadding:!1})}function Kb(t){try{const n=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(t);if(!n||!n[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(n[1].replace(/\s/g,"")),r=>r.charCodeAt(0)).buffer}finally{t=t.replace(/./g,"\0")}}async function Gb(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),r=await Hm(n);return Qn.encode(new Uint8Array(r),{includePadding:!1})}const hs=300,Ga=720*60*60,ir=1440*60,Wb="auth-token",xs=1800*1e3,Ll=10080*60*1e3,Jb=300,Xb=300,Zb=1800*1e3,Yb=1800*1e3,Qb=1440*60*1e3;function Gm(t,e,n){const r=[];return r.push([encodeURIComponent(t),encodeURIComponent(e)]),n?.domain!==void 0&&r.push(["Domain",n.domain]),n?.expires!==void 0&&r.push(["Expires",n.expires.toUTCString()]),n?.httpOnly&&r.push(["HttpOnly"]),n?.maxAge!==void 0&&r.push(["Max-Age",n.maxAge.toString()]),n?.path!==void 0&&r.push(["Path",n.path]),n?.sameSite==="lax"&&r.push(["SameSite","Lax"]),n?.sameSite==="none"&&r.push(["SameSite","None"]),n?.sameSite==="strict"&&r.push(["SameSite","Strict"]),n?.secure&&r.push(["Secure"]),r.map(i=>i.join("=")).join("; ")}function ev(t){const e=new Map,n=t.split("; ");for(const r of n){const i=r.split("="),s=i[0],a=i[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(a))}return e}function Nu(t){return`${t}-${Wb}`}function Wm(t){if(!t)return;const[e]=t.split(":");if(!e||e==="localhost"||/^(\d{1,3}\.){3}\d{1,3}$/.test(e))return;const n=e.split(".");return n.length>2?`.${n.slice(-2).join(".")}`:`.${e}`}function Wr(t,e){return e?ev(e).get(Nu(t)):void 0}function tv(t,e){return Gm(Nu(t),"",{path:"/",httpOnly:!0,secure:!0,maxAge:0,sameSite:"none",domain:e?Wm(e):void 0})}function Ys(t,e,n){return Gm(Nu(t),e,{path:"/",httpOnly:!0,secure:!0,maxAge:Ga,sameSite:"none",domain:n?Wm(n):void 0})}class L extends v{constructor(e,n){super(e,{message:JSON.stringify(n),res:new Response(JSON.stringify(n),{status:e,headers:{"Content-Type":"application/json"}})})}}var nv=Object.defineProperty,rv=(t,e,n)=>e in t?nv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Mr=(t,e,n)=>rv(t,typeof e!="symbol"?e+"":e,n);const Ve=o.z.object({"#text":o.z.string()}),iv=o.z.object({"#text":o.z.string(),"@_xmlns:saml":o.z.string().optional()});o.z.object({"samlp:AuthnRequest":o.z.object({"saml:Issuer":iv,"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string().optional(),"@_ForceAuthn":o.z.string().transform(t=>t.toLowerCase()==="true").optional(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string().datetime(),"@_Destination":o.z.string().url(),"@_AssertionConsumerServiceURL":o.z.string().url().optional(),"@_ProtocolBinding":o.z.string().optional(),"@_Version":o.z.string()})});o.z.array(o.z.object({":@":o.z.object({"@_xmlns":o.z.string(),"@_entityID":o.z.string()}),EntityDescriptor:o.z.array(o.z.object({":@":o.z.object({"@_protocolSupportEnumeration":o.z.string()}),IDPSSODescriptor:o.z.array(o.z.union([o.z.object({KeyDescriptor:o.z.array(o.z.object({KeyInfo:o.z.array(o.z.object({X509Data:o.z.array(o.z.object({X509Certificate:o.z.array(Ve)}))})),":@":o.z.object({"@_xmlns":o.z.string()})})),":@":o.z.object({"@_use":o.z.string()})}),o.z.object({SingleLogoutService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({NameIDFormat:o.z.array(Ve)}),o.z.object({SingleSignOnService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({Attribute:o.z.array(o.z.object({})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string(),"@_xmlns":o.z.string()})})]))}))}));const ov=o.z.object({"saml:Attribute":o.z.array(o.z.object({"saml:AttributeValue":o.z.array(o.z.object({"#text":o.z.string()})),":@":o.z.object({"@_xmlns:xs":o.z.string().optional(),"@_xmlns:xsi":o.z.string(),"@_xsi:type":o.z.string()}).optional()})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string().optional()})}),sv=o.z.object({"ds:Transform":o.z.array(o.z.any()),":@":o.z.object({"@_Algorithm":o.z.string()})}),Af=o.z.object({"ds:Signature":o.z.array(o.z.union([o.z.object({"ds:SignedInfo":o.z.array(o.z.union([o.z.object({"ds:CanonicalizationMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:SignatureMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:Reference":o.z.array(o.z.union([o.z.object({"ds:Transforms":o.z.array(sv)}),o.z.object({"ds:DigestMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:DigestValue":o.z.array(Ve)})])),":@":o.z.object({"@_URI":o.z.string().optional()}).optional()})]))}),o.z.object({"ds:SignatureValue":o.z.array(Ve)}),o.z.object({"ds:KeyInfo":o.z.array(o.z.union([o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ve)}),o.z.object({"ds:Exponent":o.z.array(Ve)})]))}))}),o.z.object({"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ve)}))}),o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ve)}),o.z.object({"ds:Exponent":o.z.array(Ve)})]))})),"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ve)}))})]))})])),":@":o.z.object({"@_xmlns:ds":o.z.string().optional()}).optional()});o.z.array(o.z.object({"samlp:Response":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ve)}),Af,o.z.object({"samlp:Status":o.z.array(o.z.object({"samlp:StatusCode":o.z.array(Ve),":@":o.z.object({"@_Value":o.z.string()})}))}),o.z.object({"saml:Assertion":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ve)}),Af,o.z.object({"saml:Subject":o.z.array(o.z.union([o.z.object({"saml:NameID":o.z.array(Ve),":@":o.z.object({"@_Format":o.z.string()})}),o.z.object({"saml:SubjectConfirmation":o.z.array(o.z.object({"saml:SubjectConfirmationData":o.z.array(o.z.any()),":@":o.z.object({"@_InResponseTo":o.z.string(),"@_NotOnOrAfter":o.z.string(),"@_Recipient":o.z.string()})})),":@":o.z.object({"@_Method":o.z.string()})})]))}),o.z.object({"saml:Conditions":o.z.array(o.z.object({"saml:AudienceRestriction":o.z.array(o.z.object({"saml:Audience":o.z.array(Ve)}))})),":@":o.z.object({"@_NotBefore":o.z.string(),"@_NotOnOrAfter":o.z.string()})}),o.z.object({"saml:AuthnStatement":o.z.array(o.z.object({"saml:AuthnContext":o.z.array(o.z.object({"saml:AuthnContextClassRef":o.z.array(Ve)}))})),":@":o.z.object({"@_AuthnInstant":o.z.string(),"@_SessionIndex":o.z.string(),"@_SessionNotOnOrAfter":o.z.string()})}),o.z.object({"saml:AttributeStatement":o.z.array(ov)})])),":@":o.z.object({"@_xmlns":o.z.string(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})})])),":@":o.z.object({"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string(),"@_Destination":o.z.string(),"@_ID":o.z.string(),"@_InResponseTo":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})}));var av={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const d=[];let p=l.exec(c);for(;p;){const f=[];f.startIndex=l.lastIndex-p[0].length;const g=p.length;for(let _=0;_<g;_++)f.push(p[_]);d.push(f),p=l.exec(c)}return d},a=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,d){if(l){const p=Object.keys(l),f=p.length;for(let g=0;g<f;g++)d==="strict"?c[p[g]]=[l[p[g]]]:c[p[g]]=l[p[g]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=r})(av);function cv(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var lv=cv;const dv=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@hono/zod-openapi"),Z=t=>typeof t=="string",Ei=()=>{let t,e;const n=new Promise((r,i)=>{t=r,e=i});return n.resolve=t,n.reject=e,n},sf=t=>t==null?"":""+t,xw=(t,e,n)=>{t.forEach(r=>{e[r]&&(n[r]=e[r])})},Sw=/###/g,af=t=>t&&t.indexOf("###")>-1?t.replace(Sw,"."):t,cf=t=>!t||Z(t),eo=(t,e,n)=>{const r=Z(e)?e.split("."):e;let i=0;for(;i<r.length-1;){if(cf(t))return{};const s=af(r[i]);!t[s]&&n&&(t[s]=new n),Object.prototype.hasOwnProperty.call(t,s)?t=t[s]:t={},++i}return cf(t)?{}:{obj:t,k:af(r[i])}},lf=(t,e,n)=>{const{obj:r,k:i}=eo(t,e,Object);if(r!==void 0||e.length===1){r[i]=n;return}let s=e[e.length-1],a=e.slice(0,e.length-1),c=eo(t,a,Object);for(;c.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),c=eo(t,a,Object),c?.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=n},zw=(t,e,n,r)=>{const{obj:i,k:s}=eo(t,e,Object);i[s]=i[s]||[],i[s].push(n)},Bs=(t,e)=>{const{obj:n,k:r}=eo(t,e);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Aw=(t,e,n)=>{const r=Bs(t,n);return r!==void 0?r:Bs(e,n)},I0=(t,e,n)=>{for(const r in e)r!=="__proto__"&&r!=="constructor"&&(r in t?Z(t[r])||t[r]instanceof String||Z(e[r])||e[r]instanceof String?n&&(t[r]=e[r]):I0(t[r],e[r],n):t[r]=e[r]);return t},Ar=t=>t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Ew={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Cw=t=>Z(t)?t.replace(/[&<>"'\/]/g,e=>Ew[e]):t;class Nw{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const n=this.regExpMap.get(e);if(n!==void 0)return n;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}const Iw=[" ",",","?","!",";"],jw=new Nw(20),Ow=(t,e,n)=>{e=e||"",n=n||"";const r=Iw.filter(a=>e.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const i=jw.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!i.test(t);if(!s){const a=t.indexOf(n);a>0&&!i.test(t.substring(0,a))&&(s=!0)}return s},Cl=(t,e,n=".")=>{if(!t)return;if(t[e])return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0;const r=e.split(n);let i=t;for(let s=0;s<r.length;){if(!i||typeof i!="object")return;let a,c="";for(let l=s;l<r.length;++l)if(l!==s&&(c+=n),c+=r[l],a=i[c],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<r.length-1)continue;s+=l-s+1;break}i=a}return i},fo=t=>t?.replace("_","-"),Pw={type:"logger",log(t){this.output("log",t)},warn(t){this.output("warn",t)},error(t){this.output("error",t)},output(t,e){console?.[t]?.apply?.(console,e)}};class Ls{constructor(e,n={}){this.init(e,n)}init(e,n={}){this.prefix=n.prefix||"i18next:",this.logger=e||Pw,this.options=n,this.debug=n.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,n,r,i){return i&&!this.debug?null:(Z(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[n](e))}create(e){return new Ls(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Ls(this.logger,e)}}var Ft=new Ls;class Da{constructor(){this.observers={}}on(e,n){return e.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(e,n){if(this.observers[e]){if(!n){delete this.observers[e];return}this.observers[e].delete(n)}}emit(e,...n){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([i,s])=>{for(let a=0;a<s;a++)i(...n)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,s])=>{for(let a=0;a<s;a++)i.apply(i,[e,...n])})}}class df extends Da{constructor(e,n={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const n=this.options.ns.indexOf(e);n>-1&&this.options.ns.splice(n,1)}getResource(e,n,r,i={}){const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;e.indexOf(".")>-1?c=e.split("."):(c=[e,n],r&&(Array.isArray(r)?c.push(...r):Z(r)&&s?c.push(...r.split(s)):c.push(r)));const l=Bs(this.data,c);return!l&&!n&&!r&&e.indexOf(".")>-1&&(e=c[0],n=c[1],r=c.slice(2).join(".")),l||!a||!Z(r)?l:Cl(this.data?.[e]?.[n],r,s)}addResource(e,n,r,i,s={silent:!1}){const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[e,n];r&&(c=c.concat(a?r.split(a):r)),e.indexOf(".")>-1&&(c=e.split("."),i=n,n=c[1]),this.addNamespaces(n),lf(this.data,c,i),s.silent||this.emit("added",e,n,r,i)}addResources(e,n,r,i={silent:!1}){for(const s in r)(Z(r[s])||Array.isArray(r[s]))&&this.addResource(e,n,s,r[s],{silent:!0});i.silent||this.emit("added",e,n,r)}addResourceBundle(e,n,r,i,s,a={silent:!1,skipCopy:!1}){let c=[e,n];e.indexOf(".")>-1&&(c=e.split("."),i=r,r=n,n=c[1]),this.addNamespaces(n);let l=Bs(this.data,c)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?I0(l,r,s):l={...l,...r},lf(this.data,c,l),a.silent||this.emit("added",e,n,r)}removeResourceBundle(e,n){this.hasResourceBundle(e,n)&&delete this.data[e][n],this.removeNamespaces(n),this.emit("removed",e,n)}hasResourceBundle(e,n){return this.getResource(e,n)!==void 0}getResourceBundle(e,n){return n||(n=this.options.defaultNS),this.getResource(e,n)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const n=this.getDataByLanguage(e);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var j0={processors:{},addPostProcessor(t){this.processors[t.name]=t},handle(t,e,n,r,i){return t.forEach(s=>{e=this.processors[s]?.process(e,n,r,i)??e}),e}};const O0=Symbol("i18next/PATH_KEY");function Tw(){const t=[],e=Object.create(null);let n;return e.get=(r,i)=>(n?.revoke?.(),i===O0?t:(t.push(i),n=Proxy.revocable(r,e),n.proxy)),Proxy.revocable(Object.create(null),e).proxy}function Nl(t,e){const{[O0]:n}=t(Tw());return n.join(e?.keySeparator??".")}const uf={},rl=t=>!Z(t)&&typeof t!="boolean"&&typeof t!="number";class Us extends Da{constructor(e,n={}){super(),xw(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Ft.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,n={interpolation:{}}){const r={...n};if(e==null)return!1;const i=this.resolve(e,r);if(i?.res===void 0)return!1;const s=rl(i.res);return!(r.returnObjects===!1&&s)}extractFromKey(e,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let s=n.ns||this.options.defaultNS||[];const a=r&&e.indexOf(r)>-1,c=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Ow(e,r,i);if(a&&!c){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:Z(s)?[s]:s};const d=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(d[0])>-1)&&(s=d.shift()),e=d.join(i)}return{key:e,namespaces:Z(s)?[s]:s}}translate(e,n,r){let i=typeof n=="object"?{...n}:n;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=Nl(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]);const s=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:c,namespaces:l}=this.extractFromKey(e[e.length-1],i),d=l[l.length-1];let p=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;p===void 0&&(p=":");const f=i.lng||this.language,g=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(f?.toLowerCase()==="cimode")return g?s?{res:`${d}${p}${c}`,usedKey:c,exactUsedKey:c,usedLng:f,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:`${d}${p}${c}`:s?{res:c,usedKey:c,exactUsedKey:c,usedLng:f,usedNS:d,usedParams:this.getUsedParamsDetails(i)}:c;const _=this.resolve(e,i);let w=_?.res;const k=_?.usedKey||c,z=_?.exactUsedKey||c,N=["[object Number]","[object Function]","[object RegExp]"],I=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject,E=i.count!==void 0&&!Z(i.count),O=Us.hasDefaultValue(i),K=E?this.pluralResolver.getSuffix(f,i.count,i):"",W=i.ordinal&&E?this.pluralResolver.getSuffix(f,i.count,{ordinal:!1}):"",ie=E&&!i.ordinal&&i.count===0,F=ie&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${K}`]||i[`defaultValue${W}`]||i.defaultValue;let se=w;S&&!w&&O&&(se=F);const ce=rl(se),fe=Object.prototype.toString.apply(se);if(S&&se&&ce&&N.indexOf(fe)<0&&!(Z(I)&&Array.isArray(se))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const $e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(k,se,{...i,ns:l}):`key '${c} (${this.language})' returned an object instead of string.`;return s?(_.res=$e,_.usedParams=this.getUsedParamsDetails(i),_):$e}if(a){const $e=Array.isArray(se),_e=$e?[]:{},on=$e?z:k;for(const He in se)if(Object.prototype.hasOwnProperty.call(se,He)){const Ze=`${on}${a}${He}`;O&&!w?_e[He]=this.translate(Ze,{...i,defaultValue:rl(F)?F[He]:void 0,joinArrays:!1,ns:l}):_e[He]=this.translate(Ze,{...i,joinArrays:!1,ns:l}),_e[He]===Ze&&(_e[He]=se[He])}w=_e}}else if(S&&Z(I)&&Array.isArray(w))w=w.join(I),w&&(w=this.extendTranslation(w,e,i,r));else{let $e=!1,_e=!1;!this.isValidLookup(w)&&O&&($e=!0,w=F),this.isValidLookup(w)||(_e=!0,w=c);const He=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&_e?void 0:w,Ze=O&&F!==w&&this.options.updateMissing;if(_e||$e||Ze){if(this.logger.log(Ze?"updateKey":"missingKey",f,d,c,Ze?F:w),a){const Pe=this.resolve(c,{...i,keySeparator:!1});Pe&&Pe.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Bt=[];const sn=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&sn&&sn[0])for(let Pe=0;Pe<sn.length;Pe++)Bt.push(sn[Pe]);else this.options.saveMissingTo==="all"?Bt=this.languageUtils.toResolveHierarchy(i.lng||this.language):Bt.push(i.lng||this.language);const an=(Pe,ht,G)=>{const ye=O&&G!==w?G:He;this.options.missingKeyHandler?this.options.missingKeyHandler(Pe,d,ht,ye,Ze,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(Pe,d,ht,ye,Ze,i),this.emit("missingKey",Pe,d,ht,w)};this.options.saveMissing&&(this.options.saveMissingPlurals&&E?Bt.forEach(Pe=>{const ht=this.pluralResolver.getSuffixes(Pe,i);ie&&i[`defaultValue${this.options.pluralSeparator}zero`]&&ht.indexOf(`${this.options.pluralSeparator}zero`)<0&&ht.push(`${this.options.pluralSeparator}zero`),ht.forEach(G=>{an([Pe],c+G,i[`defaultValue${G}`]||F)})}):an(Bt,c,F))}w=this.extendTranslation(w,e,i,_,r),_e&&w===c&&this.options.appendNamespaceToMissingKey&&(w=`${d}${p}${c}`),(_e||$e)&&this.options.parseMissingKeyHandler&&(w=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${d}${p}${c}`:c,$e?w:void 0,i))}return s?(_.res=w,_.usedParams=this.getUsedParamsDetails(i),_):w}extendTranslation(e,n,r,i,s){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const l=Z(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(l){const f=e.match(this.interpolator.nestingRegexp);d=f&&f.length}let p=r.replace&&!Z(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),e=this.interpolator.interpolate(e,p,r.lng||this.language||i.usedLng,r),l){const f=e.match(this.interpolator.nestingRegexp),g=f&&f.length;d<g&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),r.nest!==!1&&(e=this.interpolator.nest(e,(...f)=>s?.[0]===f[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${f[0]} in key: ${n[0]}`),null):this.translate(...f,n),r)),r.interpolation&&this.interpolator.reset()}const a=r.postProcess||this.options.postProcess,c=Z(a)?[a]:a;return e!=null&&c?.length&&r.applyPostProcessor!==!1&&(e=j0.handle(c,e,n,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,n={}){let r,i,s,a,c;return Z(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(r))return;const d=this.extractFromKey(l,n),p=d.key;i=p;let f=d.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const g=n.count!==void 0&&!Z(n.count),_=g&&!n.ordinal&&n.count===0,w=n.context!==void 0&&(Z(n.context)||typeof n.context=="number")&&n.context!=="",k=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(z=>{this.isValidLookup(r)||(c=z,!uf[`${k[0]}-${z}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(c)&&(uf[`${k[0]}-${z}`]=!0,this.logger.warn(`key "${i}" for languages "${k.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),k.forEach(N=>{if(this.isValidLookup(r))return;a=N;const I=[p];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(I,p,N,z,n);else{let E;g&&(E=this.pluralResolver.getSuffix(N,n.count,n));const O=`${this.options.pluralSeparator}zero`,K=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(g&&(n.ordinal&&E.indexOf(K)===0&&I.push(p+E.replace(K,this.options.pluralSeparator)),I.push(p+E),_&&I.push(p+O)),w){const W=`${p}${this.options.contextSeparator||"_"}${n.context}`;I.push(W),g&&(n.ordinal&&E.indexOf(K)===0&&I.push(W+E.replace(K,this.options.pluralSeparator)),I.push(W+E),_&&I.push(W+O))}}let S;for(;S=I.pop();)this.isValidLookup(r)||(s=S,r=this.getResource(N,z,S,n))}))})}),{res:r,usedKey:i,exactUsedKey:s,usedLng:a,usedNS:c}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,n,r,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,n,r,i):this.resourceStore.getResource(e,n,r,i)}getUsedParamsDetails(e={}){const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!Z(e.replace);let i=r?e.replace:e;if(r&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const s of n)delete i[s]}return i}static hasDefaultValue(e){const n="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&n===r.substring(0,n.length)&&e[r]!==void 0)return!0;return!1}}class pf{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Ft.create("languageUtils")}getScriptPartFromCode(e){if(e=fo(e),!e||e.indexOf("-")<0)return null;const n=e.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(e){if(e=fo(e),!e||e.indexOf("-")<0)return e;const n=e.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(e){if(Z(e)&&e.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(e)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let n;return e.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&e.forEach(r=>{if(n)return;const i=this.getScriptPartFromCode(r);if(this.isSupportedCode(i))return n=i;const s=this.getLanguagePartFromCode(r);if(this.isSupportedCode(s))return n=s;n=this.options.supportedLngs.find(a=>{if(a===s)return a;if(!(a.indexOf("-")<0&&s.indexOf("-")<0)&&(a.indexOf("-")>0&&s.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===s||a.indexOf(s)===0&&s.length>1))return a})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(e,n){if(!e)return[];if(typeof e=="function"&&(e=e(n)),Z(e)&&(e=[e]),Array.isArray(e))return e;if(!n)return e.default||[];let r=e[n];return r||(r=e[this.getScriptPartFromCode(n)]),r||(r=e[this.formatLanguageCode(n)]),r||(r=e[this.getLanguagePartFromCode(n)]),r||(r=e.default),r||[]}toResolveHierarchy(e,n){const r=this.getFallbackCodes((n===!1?[]:n)||this.options.fallbackLng||[],e),i=[],s=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return Z(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):Z(e)&&s(this.formatLanguageCode(e)),r.forEach(a=>{i.indexOf(a)<0&&s(this.formatLanguageCode(a))}),i}}const ff={zero:0,one:1,two:2,few:3,many:4,other:5},hf={select:t=>t===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class Rw{constructor(e,n={}){this.languageUtils=e,this.options=n,this.logger=Ft.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,n){this.rules[e]=n}clearCache(){this.pluralRulesCache={}}getRule(e,n={}){const r=fo(e==="dev"?"en":e),i=n.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:r,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),hf;if(!e.match(/-|_/))return hf;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,n)}return this.pluralRulesCache[s]=a,a}needsPlural(e,n={}){let r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,n,r={}){return this.getSuffixes(e,r).map(i=>`${n}${i}`)}getSuffixes(e,n={}){let r=this.getRule(e,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((i,s)=>ff[i]-ff[s]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,n,r={}){const i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",n,r))}}const gf=(t,e,n,r=".",i=!0)=>{let s=Aw(t,e,n);return!s&&i&&Z(n)&&(s=Cl(t,n,r),s===void 0&&(s=Cl(e,n,r))),s},il=t=>t.replace(/\$/g,"$$$$");class mf{constructor(e={}){this.logger=Ft.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(n=>n),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:i,prefix:s,prefixEscaped:a,suffix:c,suffixEscaped:l,formatSeparator:d,unescapeSuffix:p,unescapePrefix:f,nestingPrefix:g,nestingPrefixEscaped:_,nestingSuffix:w,nestingSuffixEscaped:k,nestingOptionsSeparator:z,maxReplaces:N,alwaysFormat:I}=e.interpolation;this.escape=n!==void 0?n:Cw,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?Ar(s):a||"{{",this.suffix=c?Ar(c):l||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=g?Ar(g):_||Ar("$t("),this.nestingSuffix=w?Ar(w):k||Ar(")"),this.nestingOptionsSeparator=z||",",this.maxReplaces=N||1e3,this.alwaysFormat=I!==void 0?I:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(n,r)=>n?.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,n,r,i){let s,a,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=_=>{if(_.indexOf(this.formatSeparator)<0){const N=gf(n,l,_,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(N,void 0,r,{...i,...n,interpolationkey:_}):N}const w=_.split(this.formatSeparator),k=w.shift().trim(),z=w.join(this.formatSeparator).trim();return this.format(gf(n,l,k,this.options.keySeparator,this.options.ignoreJSONStructure),z,r,{...i,...n,interpolationkey:k})};this.resetRegExp();const p=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:_=>il(_)},{regex:this.regexp,safeValue:_=>this.escapeValue?il(this.escape(_)):il(_)}].forEach(_=>{for(c=0;s=_.regex.exec(e);){const w=s[1].trim();if(a=d(w),a===void 0)if(typeof p=="function"){const z=p(e,s,i);a=Z(z)?z:""}else if(i&&Object.prototype.hasOwnProperty.call(i,w))a="";else if(f){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${w} for interpolating ${e}`),a="";else!Z(a)&&!this.useRawValueToEscape&&(a=sf(a));const k=_.safeValue(a);if(e=e.replace(s[0],k),f?(_.regex.lastIndex+=a.length,_.regex.lastIndex-=s[0].length):_.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),e}nest(e,n,r={}){let i,s,a;const c=(l,d)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const f=l.split(new RegExp(`${p}[ ]*{`));let g=`{${f[1]}`;l=f[0],g=this.interpolate(g,a);const _=g.match(/'/g),w=g.match(/"/g);((_?.length??0)%2===0&&!w||w.length%2!==0)&&(g=g.replace(/'/g,'"'));try{a=JSON.parse(g),d&&(a={...d,...a})}catch(k){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,k),`${l}${p}${g}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;i=this.nestingRegexp.exec(e);){let l=[];a={...r},a=a.replace&&!Z(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const d=/{.*}/.test(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(d!==-1&&(l=i[1].slice(d).split(this.formatSeparator).map(p=>p.trim()).filter(Boolean),i[1]=i[1].slice(0,d)),s=n(c.call(this,i[1].trim(),a),a),s&&i[0]===e&&!Z(s))return s;Z(s)||(s=sf(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),l.length&&(s=l.reduce((p,f)=>this.format(p,f,r.lng,{...r,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const Bw=t=>{let e=t.toLowerCase().trim();const n={};if(t.indexOf("(")>-1){const r=t.split("(");e=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);e==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(a=>{if(a){const[c,...l]=a.split(":"),d=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();n[p]||(n[p]=d),d==="false"&&(n[p]=!1),d==="true"&&(n[p]=!0),isNaN(d)||(n[p]=parseInt(d,10))}})}return{formatName:e,formatOptions:n}},_f=t=>{const e={};return(n,r,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const a=r+JSON.stringify(s);let c=e[a];return c||(c=t(fo(r),i),e[a]=c),c(n)}},Lw=t=>(e,n,r)=>t(fo(n),r)(e);class Uw{constructor(e={}){this.logger=Ft.create("formatter"),this.options=e,this.init(e)}init(e,n={interpolation:{}}){this.formatSeparator=n.interpolation.formatSeparator||",";const r=n.cacheInBuiltFormats?_f:Lw;this.formats={number:r((i,s)=>{const a=new Intl.NumberFormat(i,{...s});return c=>a.format(c)}),currency:r((i,s)=>{const a=new Intl.NumberFormat(i,{...s,style:"currency"});return c=>a.format(c)}),datetime:r((i,s)=>{const a=new Intl.DateTimeFormat(i,{...s});return c=>a.format(c)}),relativetime:r((i,s)=>{const a=new Intl.RelativeTimeFormat(i,{...s});return c=>a.format(c,s.range||"day")}),list:r((i,s)=>{const a=new Intl.ListFormat(i,{...s});return c=>a.format(c)})}}add(e,n){this.formats[e.toLowerCase().trim()]=n}addCached(e,n){this.formats[e.toLowerCase().trim()]=_f(n)}format(e,n,r,i={}){const s=n.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(c=>c.indexOf(")")>-1)){const c=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,c)].join(this.formatSeparator)}return s.reduce((c,l)=>{const{formatName:d,formatOptions:p}=Bw(l);if(this.formats[d]){let f=c;try{const g=i?.formatParams?.[i.interpolationkey]||{},_=g.locale||g.lng||i.locale||i.lng||r;f=this.formats[d](c,_,{...p,...i,...g})}catch(g){this.logger.warn(g)}return f}else this.logger.warn(`there was no format function for ${d}`);return c},e)}}const Dw=(t,e)=>{t.pending[e]!==void 0&&(delete t.pending[e],t.pendingCount--)};class Mw extends Da{constructor(e,n,r,i={}){super(),this.backend=e,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=Ft.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(e,n,r,i){const s={},a={},c={},l={};return e.forEach(d=>{let p=!0;n.forEach(f=>{const g=`${d}|${f}`;!r.reload&&this.store.hasResourceBundle(d,f)?this.state[g]=2:this.state[g]<0||(this.state[g]===1?a[g]===void 0&&(a[g]=!0):(this.state[g]=1,p=!1,a[g]===void 0&&(a[g]=!0),s[g]===void 0&&(s[g]=!0),l[f]===void 0&&(l[f]=!0)))}),p||(c[d]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(e,n,r){const i=e.split("|"),s=i[0],a=i[1];n&&this.emit("failedLoading",s,a,n),!n&&r&&this.store.addResourceBundle(s,a,r,void 0,void 0,{skipCopy:!0}),this.state[e]=n?-1:2,n&&r&&(this.state[e]=0);const c={};this.queue.forEach(l=>{zw(l.loaded,[s],a),Dw(l,e),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(d=>{c[d]||(c[d]={});const p=l.loaded[d];p.length&&p.forEach(f=>{c[d][f]===void 0&&(c[d][f]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(l=>!l.done)}read(e,n,r,i=0,s=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:n,fcName:r,tried:i,wait:s,callback:a});return}this.readingCalls++;const c=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(d&&p&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,n,r,i+1,s*2,a)},s);return}a(d,p)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const d=l(e,n);d&&typeof d.then=="function"?d.then(p=>c(null,p)).catch(c):c(null,d)}catch(d){c(d)}return}return l(e,n,c)}prepareLoading(e,n,r={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();Z(e)&&(e=this.languageUtils.toResolveHierarchy(e)),Z(n)&&(n=[n]);const s=this.queueLoad(e,n,r,i);if(!s.toLoad.length)return s.pending.length||i(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,n,r){this.prepareLoading(e,n,{},r)}reload(e,n,r){this.prepareLoading(e,n,{reload:!0},r)}loadOne(e,n=""){const r=e.split("|"),i=r[0],s=r[1];this.read(i,s,"read",void 0,void 0,(a,c)=>{a&&this.logger.warn(`${n}loading namespace ${s} for language ${i} failed`,a),!a&&c&&this.logger.log(`${n}loaded namespace ${s} for language ${i}`,c),this.loaded(e,a,c)})}saveMissing(e,n,r,i,s,a={},c=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const l={...a,isUpdate:s},d=this.backend.create.bind(this.backend);if(d.length<6)try{let p;d.length===5?p=d(e,n,r,i,l):p=d(e,n,r,i),p&&typeof p.then=="function"?p.then(f=>c(null,f)).catch(c):c(null,p)}catch(p){c(p)}else d(e,n,r,i,c,l)}!e||!e[0]||this.store.addResource(e[0],n,r,i)}}}const yf=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:t=>{let e={};if(typeof t[1]=="object"&&(e=t[1]),Z(t[1])&&(e.defaultValue=t[1]),Z(t[2])&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const n=t[3]||t[2];Object.keys(n).forEach(r=>{e[r]=n[r]})}return e},interpolation:{escapeValue:!0,format:t=>t,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),wf=t=>(Z(t.ns)&&(t.ns=[t.ns]),Z(t.fallbackLng)&&(t.fallbackLng=[t.fallbackLng]),Z(t.fallbackNS)&&(t.fallbackNS=[t.fallbackNS]),t.supportedLngs?.indexOf?.("cimode")<0&&(t.supportedLngs=t.supportedLngs.concat(["cimode"])),typeof t.initImmediate=="boolean"&&(t.initAsync=t.initImmediate),t),ps=()=>{},qw=t=>{Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach(n=>{typeof t[n]=="function"&&(t[n]=t[n].bind(t))})};class to extends Da{constructor(e={},n){if(super(),this.options=wf(e),this.services={},this.logger=Ft,this.modules={external:[]},qw(this),n&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,n),this;setTimeout(()=>{this.init(e,n)},0)}}init(e={},n){this.isInitializing=!0,typeof e=="function"&&(n=e,e={}),e.defaultNS==null&&e.ns&&(Z(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=yf();this.options={...r,...this.options,...wf(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=r.overloadTranslationOptionHandler);const i=d=>d?typeof d=="function"?new d:d:null;if(!this.options.isClone){this.modules.logger?Ft.init(i(this.modules.logger),this.options):Ft.init(null,this.options);let d;this.modules.formatter?d=this.modules.formatter:d=Uw;const p=new pf(this.options);this.store=new df(this.options.resources,this.options);const f=this.services;f.logger=Ft,f.resourceStore=this.store,f.languageUtils=p,f.pluralResolver=new Rw(p,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),d&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(f.formatter=i(d),f.formatter.init&&f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new mf(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new Mw(i(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",(_,...w)=>{this.emit(_,...w)}),this.modules.languageDetector&&(f.languageDetector=i(this.modules.languageDetector),f.languageDetector.init&&f.languageDetector.init(f,this.options.detection,this.options)),this.modules.i18nFormat&&(f.i18nFormat=i(this.modules.i18nFormat),f.i18nFormat.init&&f.i18nFormat.init(this)),this.translator=new Us(this.services,this.options),this.translator.on("*",(_,...w)=>{this.emit(_,...w)}),this.modules.external.forEach(_=>{_.init&&_.init(this)})}if(this.format=this.options.interpolation.format,n||(n=ps),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.length>0&&d[0]!=="dev"&&(this.options.lng=d[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(d=>{this[d]=(...p)=>this.store[d](...p)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(d=>{this[d]=(...p)=>(this.store[d](...p),this)});const c=Ei(),l=()=>{const d=(p,f)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),c.resolve(f),n(p,f)};if(this.languages&&!this.isInitialized)return d(null,this.t.bind(this));this.changeLanguage(this.options.lng,d)};return this.options.resources||!this.options.initAsync?l():setTimeout(l,0),c}loadResources(e,n=ps){let r=n;const i=Z(e)?e:this.language;if(typeof e=="function"&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const s=[],a=c=>{if(!c||c==="cimode")return;this.services.languageUtils.toResolveHierarchy(c).forEach(d=>{d!=="cimode"&&s.indexOf(d)<0&&s.push(d)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>a(l)),this.options.preload?.forEach?.(c=>a(c)),this.services.backendConnector.load(s,this.options.ns,c=>{!c&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(c)})}else r(null)}reloadResources(e,n,r){const i=Ei();return typeof e=="function"&&(r=e,e=void 0),typeof n=="function"&&(r=n,n=void 0),e||(e=this.languages),n||(n=this.options.ns),r||(r=ps),this.services.backendConnector.reload(e,n,s=>{i.resolve(),r(s)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&j0.addPostProcessor(e),e.type==="formatter"&&(this.modules.formatter=e),e.type==="3rdParty"&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!(["cimode","dev"].indexOf(e)>-1)){for(let n=0;n<this.languages.length;n++){const r=this.languages[n];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,n){this.isLanguageChangingTo=e;const r=Ei();this.emit("languageChanging",e);const i=c=>{this.language=c,this.languages=this.services.languageUtils.toResolveHierarchy(c),this.resolvedLanguage=void 0,this.setResolvedLanguage(c)},s=(c,l)=>{l?this.isLanguageChangingTo===e&&(i(l),this.translator.changeLanguage(l),this.isLanguageChangingTo=void 0,this.emit("languageChanged",l),this.logger.log("languageChanged",l)):this.isLanguageChangingTo=void 0,r.resolve((...d)=>this.t(...d)),n&&n(c,(...d)=>this.t(...d))},a=c=>{!e&&!c&&this.services.languageDetector&&(c=[]);const l=Z(c)?c:c&&c[0],d=this.store.hasLanguageSomeTranslations(l)?l:this.services.languageUtils.getBestMatchFromCodes(Z(c)?[c]:c);d&&(this.language||i(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector?.cacheUserLanguage?.(d)),this.loadResources(d,p=>{s(p,d)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,n,r){const i=(s,a,...c)=>{let l;typeof a!="object"?l=this.options.overloadTranslationOptionHandler([s,a].concat(c)):l={...a},l.lng=l.lng||i.lng,l.lngs=l.lngs||i.lngs,l.ns=l.ns||i.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||r||i.keyPrefix);const d=this.options.keySeparator||".";let p;return l.keyPrefix&&Array.isArray(s)?p=s.map(f=>(typeof f=="function"&&(f=Nl(f,{...this.options,...a})),`${l.keyPrefix}${d}${f}`)):(typeof s=="function"&&(s=Nl(s,{...this.options,...a})),p=l.keyPrefix?`${l.keyPrefix}${d}${s}`:s),this.t(p,l)};return Z(e)?i.lng=e:i.lngs=e,i.ns=n,i.keyPrefix=r,i}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,n={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(c,l)=>{const d=this.services.backendConnector.state[`${c}|${l}`];return d===-1||d===0||d===2};if(n.precheck){const c=n.precheck(this,a);if(c!==void 0)return c}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,e)&&(!i||a(s,e)))}loadNamespaces(e,n){const r=Ei();return this.options.ns?(Z(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(e,n){const r=Ei();Z(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=i.concat(s),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const i=new Intl.Locale(e);if(i&&i.getTextInfo){const s=i.getTextInfo();if(s&&s.direction)return s.direction}}catch{}const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new pf(yf());return e.toLowerCase().indexOf("-latn")>1?"ltr":n.indexOf(r.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},n){const r=new to(e,n);return r.createInstance=to.createInstance,r}cloneInstance(e={},n=ps){const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new to(i);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(c=>{s[c]=this[c]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},r){const c=Object.keys(this.store.data).reduce((l,d)=>(l[d]={...this.store.data[d]},l[d]=Object.keys(l[d]).reduce((p,f)=>(p[f]={...l[d][f]},p),l[d]),l),{});s.store=new df(c,i),s.services.resourceStore=s.store}return e.interpolation&&(s.services.interpolator=new mf(i)),s.translator=new Us(s.services,i),s.translator.on("*",(c,...l)=>{s.emit(c,...l)}),s.init(i,n),s.translator.options=i,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const y=to.createInstance();y.createInstance;y.dir;y.init;y.loadResources;y.reloadResources;y.use;y.changeLanguage;y.getFixedT;const X=y.t;y.exists;y.setDefaultNamespace;y.hasLoadedNamespace;y.loadNamespaces;y.loadLanguages;var P0=t=>{const n={...{origin:"*",allowMethods:["GET","HEAD","PUT","POST","DELETE","PATCH"],allowHeaders:[],exposeHeaders:[]},...t},r=(s=>typeof s=="string"?s==="*"?()=>s:a=>s===a?a:null:typeof s=="function"?s:a=>s.includes(a)?a:null)(n.origin),i=(s=>typeof s=="function"?s:Array.isArray(s)?()=>s:()=>[])(n.allowMethods);return async function(a,c){function l(p,f){a.res.headers.set(p,f)}const d=await r(a.req.header("origin")||"",a);if(d&&l("Access-Control-Allow-Origin",d),n.credentials&&l("Access-Control-Allow-Credentials","true"),n.exposeHeaders?.length&&l("Access-Control-Expose-Headers",n.exposeHeaders.join(",")),a.req.method==="OPTIONS"){n.origin!=="*"&&l("Vary","Origin"),n.maxAge!=null&&l("Access-Control-Max-Age",n.maxAge.toString());const p=await i(a.req.header("origin")||"",a);p.length&&l("Access-Control-Allow-Methods",p.join(","));let f=n.allowHeaders;if(!f?.length){const g=a.req.header("Access-Control-Request-Headers");g&&(f=g.split(/\s*,\s*/))}return f?.length&&(l("Access-Control-Allow-Headers",f.join(",")),a.res.headers.append("Vary","Access-Control-Request-Headers")),a.res.headers.delete("Content-Length"),a.res.headers.delete("Content-Type"),new Response(null,{headers:a.res.headers,status:204,statusText:"No Content"})}await c(),n.origin!=="*"&&a.header("Vary","Origin",{append:!0})}};const Fw=o.z.object({page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:o.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:o.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:o.z.string().optional().openapi({description:"A lucene query string used to filter the results"})}),it=o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()}),di=o.z.object({created_at:o.z.string(),updated_at:o.z.string()}),T0=o.z.object({email:o.z.string().optional(),email_verified:o.z.boolean().optional(),name:o.z.string().optional(),username:o.z.string().optional(),given_name:o.z.string().optional(),phone_number:o.z.string().optional(),phone_verified:o.z.boolean().optional(),family_name:o.z.string().optional()}).catchall(o.z.any()),R0=o.z.object({connection:o.z.string(),user_id:o.z.string(),provider:o.z.string(),isSocial:o.z.boolean(),access_token:o.z.string().optional(),access_token_secret:o.z.string().optional(),refresh_token:o.z.string().optional(),profileData:T0.optional()}),Ma=o.z.object({email:o.z.string().optional().transform(t=>t&&t.toLowerCase()),username:o.z.string().optional(),phone_number:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),nickname:o.z.string().optional(),name:o.z.string().optional(),picture:o.z.string().optional(),locale:o.z.string().optional(),linked_to:o.z.string().optional(),profileData:o.z.string().optional(),user_id:o.z.string().optional(),app_metadata:o.z.any().default({}).optional(),user_metadata:o.z.any().default({}).optional()}),Ds=Ma.extend({email_verified:o.z.boolean().default(!1),verify_email:o.z.boolean().optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string().optional(),provider:o.z.string().optional(),connection:o.z.string(),is_social:o.z.boolean().optional()}),bu=o.z.object({...Ds.shape,...di.shape,user_id:o.z.string(),provider:o.z.string(),is_social:o.z.boolean(),email:o.z.string().optional(),login_count:o.z.number().default(0),identities:o.z.array(R0).optional()}),Mt=bu,Hw=Ma.extend({login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any()),Vw="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Kw=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Vw[n[t]&63];return e};const Ms=o.z.object({client_id:o.z.string().openapi({description:"ID of this client."}),name:o.z.string().min(1).openapi({description:"Name of this client (min length: 1 character, does not allow < or >)."}),description:o.z.string().max(140).optional().openapi({description:"Free text description of this client (max length: 140 characters)."}),global:o.z.boolean().default(!1).openapi({description:"Whether this is your global 'All Applications' client representing legacy tenant settings (true) or a regular client (false)."}),client_secret:o.z.string().default(()=>Kw()).optional().openapi({description:"Client secret (which you must not make public)."}),app_type:o.z.enum(["native","spa","regular_web","non_interactive","resource_server","express_configuration","rms","box","cloudbees","concur","dropbox","mscrm","echosign","egnyte","newrelic","office365","salesforce","sentry","sharepoint","slack","springcm","zendesk","zoom","sso_integration","oag"]).default("regular_web").optional().openapi({description:"The type of application this client represents"}),logo_uri:o.z.string().url().optional().openapi({description:"URL of the logo to display for this client. Recommended size is 150x150 pixels."}),is_first_party:o.z.boolean().default(!1).openapi({description:"Whether this client a first party client (true) or not (false)."}),oidc_conformant:o.z.boolean().default(!0).openapi({description:"Whether this client conforms to strict OIDC specifications (true) or uses legacy features (false)."}),callbacks:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs whitelisted for Auth0 to use as a callback to the client after authentication."}),allowed_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level (e.g., https://*.contoso.com). Query strings and hash information are not taken into account when validating these URLs."}),web_origins:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode."}),client_aliases:o.z.array(o.z.string()).default([]).optional().openapi({description:"List of audiences/realms for SAML protocol. Used by the wsfed addon."}),allowed_clients:o.z.array(o.z.string()).default([]).optional().openapi({description:"List of allow clients and API ids that are allowed to make delegation requests. Empty means all all your clients are allowed."}),allowed_logout_urls:o.z.array(o.z.string()).default([]).optional().openapi({description:"Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains."}),session_transfer:o.z.record(o.z.any()).default({}).optional().openapi({description:"Native to Web SSO Configuration"}),oidc_logout:o.z.record(o.z.any()).default({}).optional().openapi({description:"Configuration for OIDC backchannel logout"}),grant_types:o.z.array(o.z.string()).default([]).optional().openapi({description:"List of grant types supported for this application. Can include authorization_code, implicit, refresh_token, client_credentials, password, http://auth0.com/oauth/grant-type/password-realm, http://auth0.com/oauth/grant-type/mfa-oob, http://auth0.com/oauth/grant-type/mfa-otp, http://auth0.com/oauth/grant-type/mfa-recovery-code, urn:openid:params:grant-type:ciba, and urn:ietf:params:oauth:grant-type:device_code."}),jwt_configuration:o.z.record(o.z.any()).default({}).optional().openapi({description:"Configuration related to JWTs for the client."}),signing_keys:o.z.array(o.z.record(o.z.any())).default([]).optional().openapi({description:"Signing certificates associated with this client."}),encryption_key:o.z.record(o.z.any()).default({}).optional().openapi({description:"Encryption used for WsFed responses with this client."}),sso:o.z.boolean().default(!1).openapi({description:"Applies only to SSO clients and determines whether Auth0 will handle Single Sign On (true) or whether the Identity Provider will (false)."}),sso_disabled:o.z.boolean().default(!0).openapi({description:"Whether Single Sign On is disabled (true) or enabled (true). Defaults to true."}),cross_origin_authentication:o.z.boolean().default(!1).openapi({description:"Whether this client can be used to make cross-origin authentication requests (true) or it is not allowed to make such requests (false)."}),cross_origin_loc:o.z.string().url().optional().openapi({description:"URL of the location in your site where the cross origin verification takes place for the cross-origin auth flow when performing Auth in your own domain instead of Auth0 hosted login page."}),custom_login_page_on:o.z.boolean().default(!1).openapi({description:"Whether a custom login page is to be used (true) or the default provided login page (false)."}),custom_login_page:o.z.string().optional().openapi({description:"The content (HTML, CSS, JS) of the custom login page."}),custom_login_page_preview:o.z.string().optional().openapi({description:"The content (HTML, CSS, JS) of the custom login page. (Used on Previews)"}),form_template:o.z.string().optional().openapi({description:"HTML form template to be used for WS-Federation."}),addons:o.z.record(o.z.any()).default({}).optional().openapi({description:"Addons enabled for this client and their associated configurations."}),token_endpoint_auth_method:o.z.enum(["none","client_secret_post","client_secret_basic"]).default("client_secret_basic").optional().openapi({description:"Defines the requested authentication method for the token endpoint. Can be none (public client without a client secret), client_secret_post (client uses HTTP POST parameters), or client_secret_basic (client uses HTTP Basic)."}),client_metadata:o.z.record(o.z.string().max(255)).default({}).optional().openapi({description:'Metadata associated with the client, in the form of an object with string values (max 255 chars). Maximum of 10 metadata properties allowed. Field names (max 255 chars) are alphanumeric and may only include the following special characters: :,-+=_*?"/()<>@ [Tab][Space]'}),mobile:o.z.record(o.z.any()).default({}).optional().openapi({description:"Additional configuration for native mobile apps."}),initiate_login_uri:o.z.string().url().optional().openapi({description:"Initiate login uri, must be https"}),native_social_login:o.z.record(o.z.any()).default({}).optional(),refresh_token:o.z.record(o.z.any()).default({}).optional().openapi({description:"Refresh token configuration"}),default_organization:o.z.record(o.z.any()).default({}).optional().openapi({description:"Defines the default Organization ID and flows"}),organization_usage:o.z.enum(["deny","allow","require"]).default("deny").optional().openapi({description:"Defines how to proceed during an authentication transaction with regards an organization. Can be deny (default), allow or require."}),organization_require_behavior:o.z.enum(["no_prompt","pre_login_prompt","post_login_prompt"]).default("no_prompt").optional().openapi({description:"Defines how to proceed during an authentication transaction when client.organization_usage: 'require'. Can be no_prompt (default), pre_login_prompt or post_login_prompt. post_login_prompt requires oidc_conformant: true."}),client_authentication_methods:o.z.record(o.z.any()).default({}).optional().openapi({description:"Defines client authentication methods."}),require_pushed_authorization_requests:o.z.boolean().default(!1).openapi({description:"Makes the use of Pushed Authorization Requests mandatory for this client"}),require_proof_of_possession:o.z.boolean().default(!1).openapi({description:"Makes the use of Proof-of-Possession mandatory for this client"}),signed_request_object:o.z.record(o.z.any()).default({}).optional().openapi({description:"JWT-secured Authorization Requests (JAR) settings."}),compliance_level:o.z.enum(["none","fapi1_adv_pkj_par","fapi1_adv_mtls_par","fapi2_sp_pkj_mtls","fapi2_sp_mtls_mtls"]).optional().openapi({description:"Defines the compliance level for this client, which may restrict it's capabilities"}),par_request_expiry:o.z.number().optional().openapi({description:"Specifies how long, in seconds, a Pushed Authorization Request URI remains valid"}),token_quota:o.z.record(o.z.any()).default({}).optional()}),Gn=o.z.object({created_at:o.z.string(),updated_at:o.z.string(),...Ms.shape}),qs=o.z.object({client_id:o.z.string().min(1).openapi({description:"ID of the client."}),audience:o.z.string().min(1).openapi({description:"The audience (API identifier) of this client grant."}),scope:o.z.array(o.z.string()).optional().openapi({description:"Scopes allowed for this client grant."}),organization_usage:o.z.enum(["deny","allow","require"]).optional().openapi({description:"Defines whether organizations can be used with client credentials exchanges for this grant."}),allow_any_organization:o.z.boolean().optional().openapi({description:"If enabled, any organization can be used with this grant. If disabled (default), the grant must be explicitly assigned to the desired organizations."}),is_system:o.z.boolean().optional().openapi({description:"If enabled, this grant is a special grant created by Auth0. It cannot be modified or deleted directly."}),subject_type:o.z.enum(["client","user"]).optional().openapi({description:"The type of application access the client grant allows. Use of this field is subject to the applicable Free Trial terms in Okta's Master Subscription Agreement."}),authorization_details_types:o.z.array(o.z.string()).optional().openapi({description:"Types of authorization_details allowed for this client grant. Use of this field is subject to the applicable Free Trial terms in Okta's Master Subscription Agreement."})}),Wn=o.z.object({id:o.z.string().openapi({description:"ID of the client grant."}),...qs.shape,created_at:o.z.string().optional(),updated_at:o.z.string().optional()}),Gw=o.z.array(Wn),ui=o.z.object({x:o.z.number(),y:o.z.number()});var vu=(t=>(t.RICH_TEXT="RICH_TEXT",t.NEXT_BUTTON="NEXT_BUTTON",t.BACK_BUTTON="BACK_BUTTON",t.SUBMIT_BUTTON="SUBMIT_BUTTON",t.DIVIDER="DIVIDER",t.TEXT="TEXT",t.EMAIL="EMAIL",t.PASSWORD="PASSWORD",t.NUMBER="NUMBER",t.PHONE="PHONE",t.DATE="DATE",t.CHECKBOX="CHECKBOX",t.RADIO="RADIO",t.SELECT="SELECT",t.HIDDEN="HIDDEN",t.LEGAL="LEGAL",t))(vu||{}),$u=(t=>(t.BLOCK="BLOCK",t.FIELD="FIELD",t))($u||{});const qa=o.z.object({id:o.z.string(),category:o.z.nativeEnum($u),type:o.z.nativeEnum(vu)}),B0=qa.extend({category:o.z.literal("BLOCK"),type:o.z.literal("RICH_TEXT"),config:o.z.object({content:o.z.string()}).passthrough()}),L0=qa.extend({category:o.z.literal("BLOCK"),type:o.z.union([o.z.literal("NEXT_BUTTON"),o.z.literal("BACK_BUTTON"),o.z.literal("SUBMIT_BUTTON")]),config:o.z.object({text:o.z.string()}).passthrough()}),U0=qa.extend({category:o.z.literal("FIELD"),type:o.z.literal("LEGAL"),required:o.z.boolean().optional(),sensitive:o.z.boolean().optional(),config:o.z.object({text:o.z.string()}).passthrough()}),D0=qa.extend({category:o.z.literal("FIELD"),type:o.z.union([o.z.literal("TEXT"),o.z.literal("EMAIL"),o.z.literal("PASSWORD"),o.z.literal("NUMBER"),o.z.literal("PHONE"),o.z.literal("DATE"),o.z.literal("CHECKBOX"),o.z.literal("RADIO"),o.z.literal("SELECT"),o.z.literal("HIDDEN")]),required:o.z.boolean().optional(),sensitive:o.z.boolean().optional(),config:o.z.object({label:o.z.string().optional(),placeholder:o.z.string().optional()}).passthrough()}),M0=o.z.object({id:o.z.string(),category:o.z.string(),type:o.z.string()}).passthrough(),q0=o.z.union([B0,L0,U0,D0,M0]);var F0=(t=>(t.STEP="STEP",t.FLOW="FLOW",t.CONDITION="CONDITION",t.ACTION="ACTION",t))(F0||{});const H0=o.z.object({id:o.z.string(),type:o.z.literal("STEP"),coordinates:ui,alias:o.z.string().optional(),config:o.z.object({components:o.z.array(q0),next_node:o.z.string()}).passthrough()}),V0=o.z.object({id:o.z.string(),type:o.z.literal("FLOW"),coordinates:ui,alias:o.z.string().optional(),config:o.z.object({flow_id:o.z.string(),next_node:o.z.string()})}),K0=o.z.object({id:o.z.string(),type:o.z.string(),coordinates:ui}).passthrough(),G0=o.z.union([H0,V0,K0]),W0=o.z.object({next_node:o.z.string(),coordinates:ui}).passthrough(),J0=o.z.object({resume_flow:o.z.boolean().optional(),coordinates:ui}).passthrough(),X0=o.z.object({id:o.z.string(),name:o.z.string(),languages:o.z.object({primary:o.z.string()}).passthrough(),nodes:o.z.array(G0),start:W0,ending:J0,created_at:o.z.string(),updated_at:o.z.string(),links:o.z.object({sdkSrc:o.z.string().optional(),sdk_src:o.z.string().optional()}).passthrough()}).passthrough(),Ww=X0.omit({id:!0,created_at:!0,updated_at:!0});var mt=(t=>(t.TOKEN="token",t.TOKEN_ID_TOKEN="token id_token",t.CODE="code",t))(mt||{}),Ht=(t=>(t.QUERY="query",t.FRAGMENT="fragment",t.FORM_POST="form_post",t.WEB_MESSAGE="web_message",t.SAML_POST="saml_post",t))(Ht||{}),Fa=(t=>(t.S256="S256",t.Plain="plain",t))(Fa||{});const ho=o.z.object({client_id:o.z.string(),act_as:o.z.string().optional(),response_type:o.z.nativeEnum(mt).optional(),response_mode:o.z.nativeEnum(Ht).optional(),redirect_uri:o.z.string().optional(),audience:o.z.string().optional(),organization:o.z.string().optional(),state:o.z.string().optional(),nonce:o.z.string().optional(),scope:o.z.string().optional(),prompt:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Fa).optional(),code_challenge:o.z.string().optional(),username:o.z.string().optional(),ui_locales:o.z.string().optional(),vendor_id:o.z.string().optional()}),Il=o.z.object({colors:o.z.object({primary:o.z.string(),page_background:o.z.object({type:o.z.string().optional(),start:o.z.string().optional(),end:o.z.string().optional(),angle_deg:o.z.number().optional()}).optional()}).optional(),logo_url:o.z.string().optional(),favicon_url:o.z.string().optional(),powered_by_logo_url:o.z.string().optional(),font:o.z.object({url:o.z.string()}).optional()}),Dr=o.z.object({kid:o.z.string().optional(),team_id:o.z.string().optional(),realms:o.z.string().optional(),authentication_method:o.z.string().optional(),client_id:o.z.string().optional(),client_secret:o.z.string().optional(),app_secret:o.z.string().optional(),scope:o.z.string().optional(),authorization_endpoint:o.z.string().optional(),token_endpoint:o.z.string().optional(),userinfo_endpoint:o.z.string().optional(),jwks_uri:o.z.string().optional(),discovery_url:o.z.string().optional(),issuer:o.z.string().optional(),provider:o.z.string().optional(),from:o.z.string().optional(),twilio_sid:o.z.string().optional(),twilio_token:o.z.string().optional(),icon_url:o.z.string().optional()}),Fs=o.z.object({id:o.z.string().optional(),name:o.z.string(),display_name:o.z.string().optional(),strategy:o.z.string(),options:Dr.default({}),enabled_clients:o.z.array(o.z.string()).default([]).optional(),response_type:o.z.custom().optional(),response_mode:o.z.custom().optional(),is_domain_connection:o.z.boolean().optional(),show_as_button:o.z.boolean().optional(),metadata:o.z.record(o.z.any()).optional()}),St=o.z.object({id:o.z.string(),created_at:o.z.string().transform(t=>t===null?"":t),updated_at:o.z.string().transform(t=>t===null?"":t)}).extend(Fs.shape),no=o.z.object({id:o.z.string().optional(),audience:o.z.string(),friendly_name:o.z.string(),picture_url:o.z.string().optional(),support_email:o.z.string().optional(),support_url:o.z.string().optional(),sender_email:o.z.string().email(),sender_name:o.z.string(),session_lifetime:o.z.number().optional(),idle_session_lifetime:o.z.number().optional(),ephemeral_session_lifetime:o.z.number().optional(),idle_ephemeral_session_lifetime:o.z.number().optional(),session_cookie:o.z.object({mode:o.z.enum(["persistent","non-persistent"]).optional()}).optional(),allowed_logout_urls:o.z.array(o.z.string()).optional(),default_redirection_uri:o.z.string().optional(),enabled_locales:o.z.array(o.z.string()).optional(),default_directory:o.z.string().optional(),error_page:o.z.object({html:o.z.string().optional(),show_log_link:o.z.boolean().optional(),url:o.z.string().optional()}).optional(),flags:o.z.object({allow_changing_enable_sso:o.z.boolean().optional(),allow_legacy_delegation_grant_types:o.z.boolean().optional(),allow_legacy_ro_grant_types:o.z.boolean().optional(),allow_legacy_tokeninfo_endpoint:o.z.boolean().optional(),change_pwd_flow_v1:o.z.boolean().optional(),custom_domains_provisioning:o.z.boolean().optional(),dashboard_insights_view:o.z.boolean().optional(),dashboard_log_streams_next:o.z.boolean().optional(),disable_clickjack_protection_headers:o.z.boolean().optional(),disable_fields_map_fix:o.z.boolean().optional(),disable_impersonation:o.z.boolean().optional(),disable_management_api_sms_obfuscation:o.z.boolean().optional(),enable_adfs_waad_email_verification:o.z.boolean().optional(),enable_apis_section:o.z.boolean().optional(),enable_client_connections:o.z.boolean().optional(),enable_custom_domain_in_emails:o.z.boolean().optional(),enable_dynamic_client_registration:o.z.boolean().optional(),enable_idtoken_api2:o.z.boolean().optional(),enable_legacy_logs_search_v2:o.z.boolean().optional(),enable_legacy_profile:o.z.boolean().optional(),enable_pipeline2:o.z.boolean().optional(),enable_public_signup_user_exists_error:o.z.boolean().optional(),enable_sso:o.z.boolean().optional(),enforce_client_authentication_on_passwordless_start:o.z.boolean().optional(),genai_trial:o.z.boolean().optional(),improved_signup_bot_detection_in_classic:o.z.boolean().optional(),mfa_show_factor_list_on_enrollment:o.z.boolean().optional(),no_disclose_enterprise_connections:o.z.boolean().optional(),remove_alg_from_jwks:o.z.boolean().optional(),revoke_refresh_token_grant:o.z.boolean().optional(),trust_azure_adfs_email_verified_connection_property:o.z.boolean().optional(),use_scope_descriptions_for_consent:o.z.boolean().optional()}).optional(),sandbox_version:o.z.string().optional(),legacy_sandbox_version:o.z.string().optional(),sandbox_versions_available:o.z.array(o.z.string()).optional(),change_password:o.z.object({enabled:o.z.boolean().optional(),html:o.z.string().optional()}).optional(),guardian_mfa_page:o.z.object({enabled:o.z.boolean().optional(),html:o.z.string().optional()}).optional(),device_flow:o.z.object({charset:o.z.enum(["base20","digits"]).optional(),mask:o.z.string().max(20).optional()}).optional(),default_token_quota:o.z.object({clients:o.z.object({client_credentials:o.z.record(o.z.any()).optional()}).optional(),organizations:o.z.object({client_credentials:o.z.record(o.z.any()).optional()}).optional()}).optional(),default_audience:o.z.string().optional(),default_organization:o.z.string().optional(),sessions:o.z.object({oidc_logout_prompt_enabled:o.z.boolean().optional()}).optional(),oidc_logout:o.z.object({rp_logout_end_session_endpoint_discovery:o.z.boolean().optional()}).optional(),allow_organization_name_in_authentication_api:o.z.boolean().optional(),customize_mfa_in_postlogin_action:o.z.boolean().optional(),acr_values_supported:o.z.array(o.z.string()).optional(),mtls:o.z.object({enable_endpoint_aliases:o.z.boolean().optional()}).optional(),pushed_authorization_requests_supported:o.z.boolean().optional(),authorization_response_iss_parameter_supported:o.z.boolean().optional()}),zn=o.z.object({created_at:o.z.string().nullable().transform(t=>t??""),updated_at:o.z.string().nullable().transform(t=>t??""),...no.shape,id:o.z.string()});o.z.object({...Gn.shape,tenant:zn,connections:o.z.array(St)});const Z0=o.z.enum(["password_reset","email_verification","otp","authorization_code","oauth2_state","ticket"]),Y0=o.z.object({code_id:o.z.string().openapi({description:"The code that will be used in for instance an email verification flow"}),login_id:o.z.string().openapi({description:"The id of the login session that the code is connected to"}),connection_id:o.z.string().optional().openapi({description:"The connection that the code is connected to"}),code_type:Z0,code_verifier:o.z.string().optional().openapi({description:"The code verifier used in PKCE in outbound flows"}),code_challenge:o.z.string().optional().openapi({description:"The code challenge used in PKCE in outbound flows"}),code_challenge_method:o.z.enum(["plain","S256"]).optional().openapi({description:"The code challenge method used in PKCE in outbound flows"}),redirect_uri:o.z.string().optional().openapi({description:"The redirect URI associated with the code"}),nonce:o.z.string().optional().openapi({description:"The nonce value used for security in OIDC flows"}),state:o.z.string().optional().openapi({description:"The state parameter used for CSRF protection in OAuth flows"}),expires_at:o.z.string(),used_at:o.z.string().optional(),user_id:o.z.string().optional()}),Jw=o.z.object({...Y0.shape,created_at:o.z.string()}),ku=o.z.object({domain:o.z.string(),custom_domain_id:o.z.string().optional(),type:o.z.enum(["auth0_managed_certs","self_managed_certs"]),verification_method:o.z.enum(["txt"]).optional(),tls_policy:o.z.enum(["recommended"]).optional(),custom_client_ip_header:o.z.enum(["true-client-ip","cf-connecting-ip","x-forwarded-for","x-azure-clientip","null"]).optional(),domain_metadata:o.z.record(o.z.string().max(255)).optional()}),Q0=o.z.object({name:o.z.literal("txt"),record:o.z.string(),domain:o.z.string()}),Sn=o.z.object({...ku.shape,custom_domain_id:o.z.string(),primary:o.z.boolean(),status:o.z.enum(["disabled","pending","pending_verification","ready"]),origin_domain_name:o.z.string().optional(),verification:o.z.object({methods:o.z.array(Q0)}).optional(),tls_policy:o.z.string().optional()}),Xw=Sn.extend({tenant_id:o.z.string()}),Zw=o.z.object({id:o.z.string(),type:o.z.literal("submit"),label:o.z.string(),className:o.z.string().optional(),disabled:o.z.boolean().optional().default(!1),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0),customizations:o.z.record(o.z.string(),o.z.any()).optional()}),em=o.z.discriminatedUnion("type",[o.z.object({id:o.z.string(),type:o.z.literal("RICH_TEXT"),config:o.z.object({content:o.z.string()}),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)}),o.z.object({id:o.z.string(),type:o.z.literal("LEGAL"),config:o.z.object({text:o.z.string(),html:o.z.boolean().optional()}),required:o.z.boolean().optional(),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)}),o.z.object({id:o.z.string(),type:o.z.literal("TEXT"),config:o.z.object({placeholder:o.z.string().optional(),multiline:o.z.boolean().optional()}),required:o.z.boolean().optional(),sensitive:o.z.boolean().optional(),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)}),o.z.object({id:o.z.string(),type:o.z.literal("NEXT_BUTTON"),config:o.z.object({text:o.z.string().optional()}),order:o.z.number().optional(),visible:o.z.boolean().optional().default(!0)})]),Hs=o.z.object({name:o.z.string().openapi({description:"The name of the form"}),messages:o.z.object({errors:o.z.record(o.z.string(),o.z.any()).optional(),custom:o.z.record(o.z.string(),o.z.any()).optional()}).optional(),languages:o.z.object({primary:o.z.string().optional(),default:o.z.string().optional()}).optional(),translations:o.z.record(o.z.string(),o.z.any()).optional(),nodes:o.z.array(o.z.discriminatedUnion("type",[o.z.object({id:o.z.string(),type:o.z.literal("FLOW"),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}),alias:o.z.string().min(1).max(150).optional(),config:o.z.object({flow_id:o.z.string().max(30),next_node:o.z.string()})}),o.z.object({id:o.z.string(),type:o.z.literal("ROUTER"),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}),alias:o.z.string().min(1).max(150),config:o.z.object({rules:o.z.array(o.z.object({id:o.z.string(),alias:o.z.string().min(1).max(150).optional(),condition:o.z.any(),next_node:o.z.string()})),fallback:o.z.array(o.z.string())})}),o.z.object({id:o.z.string(),type:o.z.literal("STEP"),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}),alias:o.z.string().min(1).max(150).optional(),config:o.z.object({components:o.z.array(em),next_node:o.z.string()})})])).optional(),start:o.z.object({hidden_fields:o.z.array(o.z.object({key:o.z.string(),value:o.z.string()})).optional(),next_node:o.z.string().optional(),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}).optional()}).optional(),ending:o.z.object({redirection:o.z.object({delay:o.z.number().optional(),target:o.z.string().optional()}).optional(),after_submit:o.z.object({flow_id:o.z.string().optional()}).optional(),coordinates:o.z.object({x:o.z.number(),y:o.z.number()}).optional(),resume_flow:o.z.boolean().optional()}).optional(),style:o.z.object({css:o.z.string().optional()}).optional()}).openapi({description:"Schema for flow-based forms (matches new JSON structure)"}),Br=o.z.object({...di.shape,...Hs.shape,id:o.z.string()}),tm=o.z.enum(["pre-user-registration","post-user-registration","post-user-login","validate-registration-username","pre-user-deletion","post-user-deletion"]),nm=o.z.enum(["pre-user-registration","post-user-registration","post-user-login","validate-registration-username","pre-user-deletion","post-user-deletion"]),Ha={enabled:o.z.boolean().default(!1),synchronous:o.z.boolean().default(!1),priority:o.z.number().optional(),hook_id:o.z.string().optional()},Yw=o.z.object({...Ha,trigger_id:tm,url:o.z.string()}),Qw=o.z.object({...Ha,trigger_id:nm,form_id:o.z.string()}),bs=o.z.union([Yw,Qw]),eb=o.z.object({...Ha,trigger_id:tm,...di.shape,hook_id:o.z.string(),url:o.z.string()}),tb=o.z.object({...Ha,trigger_id:nm,...di.shape,hook_id:o.z.string(),form_id:o.z.string()}),Lr=o.z.union([eb,tb]),rm=o.z.object({name:o.z.string().optional()}),im=o.z.object({email:o.z.string().optional()}),xu=o.z.object({organization_id:o.z.string().max(50),inviter:rm,invitee:im,invitation_url:o.z.string().url(),client_id:o.z.string(),connection_id:o.z.string().optional(),app_metadata:o.z.record(o.z.any()).default({}).optional(),user_metadata:o.z.record(o.z.any()).default({}).optional(),ttl_sec:o.z.number().int().max(2592e3).default(604800).optional(),roles:o.z.array(o.z.string()).default([]).optional(),send_invitation_email:o.z.boolean().default(!0).optional()}),ro=o.z.object({id:o.z.string(),organization_id:o.z.string().max(50),created_at:o.z.string().datetime(),expires_at:o.z.string().datetime(),ticket_id:o.z.string().optional()}).extend(xu.shape),Su=o.z.object({alg:o.z.enum(["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512"]),e:o.z.string(),kid:o.z.string(),kty:o.z.enum(["RSA","EC","oct"]),n:o.z.string(),x5t:o.z.string().optional(),x5c:o.z.array(o.z.string()).optional(),use:o.z.enum(["sig","enc"]).optional()}),om=o.z.object({keys:o.z.array(Su)}),jl=o.z.object({issuer:o.z.string(),authorization_endpoint:o.z.string(),token_endpoint:o.z.string(),device_authorization_endpoint:o.z.string(),userinfo_endpoint:o.z.string(),mfa_challenge_endpoint:o.z.string(),jwks_uri:o.z.string(),registration_endpoint:o.z.string(),revocation_endpoint:o.z.string(),scopes_supported:o.z.array(o.z.string()),response_types_supported:o.z.array(o.z.string()),code_challenge_methods_supported:o.z.array(o.z.string()),response_modes_supported:o.z.array(o.z.string()),subject_types_supported:o.z.array(o.z.string()),id_token_signing_alg_values_supported:o.z.array(o.z.string()),token_endpoint_auth_methods_supported:o.z.array(o.z.string()),claims_supported:o.z.array(o.z.string()),request_uri_parameter_supported:o.z.boolean(),request_parameter_supported:o.z.boolean(),token_endpoint_auth_signing_alg_values_supported:o.z.array(o.z.string())}),sm=o.z.object({csrf_token:o.z.string(),auth0Client:o.z.string().optional(),authParams:ho,expires_at:o.z.string(),deleted_at:o.z.string().optional(),ip:o.z.string().optional(),useragent:o.z.string().optional(),session_id:o.z.string().optional(),authorization_url:o.z.string().optional(),login_completed:o.z.boolean().optional().default(!1)}).openapi({description:"This represents a login sesion"}),nb=o.z.object({...sm.shape,id:o.z.string().openapi({description:"This is is used as the state in the universal login"}),created_at:o.z.string(),updated_at:o.z.string()}),ee={ACLS_SUMMARY:"acls_summary",ACTIONS_EXECUTION_FAILED:"actions_execution_failed",API_LIMIT:"api_limit",API_LIMIT_WARNING:"api_limit_warning",APPI:"appi",CIBA_EXCHANGE_FAILED:"ciba_exchange_failed",CIBA_EXCHANGE_SUCCEEDED:"ciba_exchange_succeeded",CIBA_START_FAILED:"ciba_start_failed",CIBA_START_SUCCEEDED:"ciba_start_succeeded",CODE_LINK_SENT:"cls",CODE_SENT:"cs",DEPRECATION_NOTICE:"depnote",FAILED_LOGIN:"f",FAILED_BY_CONNECTOR:"fc",FAILED_CHANGE_EMAIL:"fce",FAILED_BY_CORS:"fco",FAILED_CROSS_ORIGIN_AUTHENTICATION:"fcoa",FAILED_CHANGE_PASSWORD:"fcp",FAILED_POST_CHANGE_PASSWORD_HOOK:"fcph",FAILED_CHANGE_PHONE_NUMBER:"fcpn",FAILED_CHANGE_PASSWORD_REQUEST:"fcpr",FAILED_CONNECTOR_PROVISIONING:"fcpro",FAILED_CHANGE_USERNAME:"fcu",FAILED_DELEGATION:"fd",FAILED_DEVICE_ACTIVATION:"fdeac",FAILED_DEVICE_AUTHORIZATION_REQUEST:"fdeaz",USER_CANCELED_DEVICE_CONFIRMATION:"fdecc",FAILED_USER_DELETION:"fdu",FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN:"feacft",FAILED_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS:"feccft",FAILED_EXCHANGE_CUSTOM_TOKEN:"fecte",FAILED_EXCHANGE_DEVICE_CODE_FOR_ACCESS_TOKEN:"fede",FAILED_FEDERATED_LOGOUT:"federated_logout_failed",FAILED_EXCHANGE_NATIVE_SOCIAL_LOGIN:"fens",FAILED_EXCHANGE_PASSWORD_OOB_FOR_ACCESS_TOKEN:"feoobft",FAILED_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN:"feotpft",FAILED_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN:"fepft",FAILED_EXCHANGE_PASSWORDLESS_OTP_FOR_ACCESS_TOKEN:"fepotpft",FAILED_EXCHANGE_PASSWORD_MFA_RECOVERY_FOR_ACCESS_TOKEN:"fercft",FAILED_EXCHANGE_ROTATING_REFRESH_TOKEN:"ferrt",FAILED_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN:"fertft",FAILED_HOOK:"fh",FAILED_INVITE_ACCEPT:"fi",FAILED_LOGOUT:"flo",FLOWS_EXECUTION_COMPLETED:"flows_execution_completed",FLOWS_EXECUTION_FAILED:"flows_execution_failed",FAILED_SENDING_NOTIFICATION:"fn",FORMS_SUBMISSION_FAILED:"forms_submission_failed",FORMS_SUBMISSION_SUCCEEDED:"forms_submission_succeeded",FAILED_LOGIN_INCORRECT_PASSWORD:"fp",FAILED_PUSHED_AUTHORIZATION_REQUEST:"fpar",FAILED_POST_USER_REGISTRATION_HOOK:"fpurh",FAILED_SIGNUP:"fs",FAILED_SILENT_AUTH:"fsa",FAILED_LOGIN_INVALID_EMAIL_USERNAME:"fu",FAILED_USERS_IMPORT:"fui",FAILED_VERIFICATION_EMAIL:"fv",FAILED_VERIFICATION_EMAIL_REQUEST:"fvr",EMAIL_VERIFICATION_CONFIRMED:"gd_auth_email_verification",EMAIL_VERIFICATION_FAILED:"gd_auth_fail_email_verification",MFA_AUTH_FAILED:"gd_auth_failed",MFA_AUTH_REJECTED:"gd_auth_rejected",MFA_AUTH_SUCCESS:"gd_auth_succeed",MFA_ENROLLMENT_COMPLETE:"gd_enrollment_complete",TOO_MANY_MFA_FAILURES:"gd_otp_rate_limit_exceed",MFA_RECOVERY_FAILED:"gd_recovery_failed",MFA_RECOVERY_RATE_LIMIT_EXCEED:"gd_recovery_rate_limit_exceed",MFA_RECOVERY_SUCCESS:"gd_recovery_succeed",MFA_EMAIL_SENT:"gd_send_email",EMAIL_VERIFICATION_SENT:"gd_send_email_verification",EMAIL_VERIFICATION_SEND_FAILURE:"gd_send_email_verification_failure",PUSH_NOTIFICATION_SENT:"gd_send_pn",ERROR_SENDING_MFA_PUSH_NOTIFICATION:"gd_send_pn_failure",MFA_SMS_SENT:"gd_send_sms",ERROR_SENDING_MFA_SMS:"gd_send_sms_failure",MFA_VOICE_CALL_SUCCESS:"gd_send_voice",MFA_VOICE_CALL_FAILED:"gd_send_voice_failure",SECOND_FACTOR_STARTED:"gd_start_auth",MFA_ENROLL_STARTED:"gd_start_enroll",MFA_ENROLLMENT_FAILED:"gd_start_enroll_failed",GUARDIAN_TENANT_UPDATE:"gd_tenant_update",UNENROLL_DEVICE_ACCOUNT:"gd_unenroll",UPDATE_DEVICE_ACCOUNT:"gd_update_device_account",WEBAUTHN_CHALLENGE_FAILED:"gd_webauthn_challenge_failed",WEBAUTHN_ENROLLMENT_FAILED:"gd_webauthn_enrollment_failed",FAILED_KMS_API_OPERATION:"kms_key_management_failure",SUCCESS_KMS_API_OPERATION:"kms_key_management_success",KMS_KEY_STATE_CHANGED:"kms_key_state_changed",TOO_MANY_CALLS_TO_DELEGATION:"limit_delegation",BLOCKED_IP_ADDRESS:"limit_mu",BLOCKED_ACCOUNT_IP:"limit_sul",BLOCKED_ACCOUNT_EMAIL:"limit_wc",MFA_REQUIRED:"mfar",MANAGEMENT_API_READ_OPERATION:"mgmt_api_read",FAILED_AUTHENTICATION_METHOD_OPERATION_MY_ACCOUNT:"my_account_authentication_method_failed",SUCCESSFUL_AUTHENTICATION_METHOD_OPERATION_MY_ACCOUNT:"my_account_authentication_method_succeeded",FAILED_OIDC_BACKCHANNEL_LOGOUT:"oidc_backchannel_logout_failed",SUCCESSFUL_OIDC_BACKCHANNEL_LOGOUT:"oidc_backchannel_logout_succeeded",ORGANIZATION_MEMBER_ADDED:"organization_member_added",PASSKEY_CHALLENGE_FAILED:"passkey_challenge_failed",PASSKEY_CHALLENGE_STARTED:"passkey_challenge_started",PRE_LOGIN_ASSESSMENT:"pla",BREACHED_PASSWORD:"pwd_leak",BREACHED_PASSWORD_ON_RESET:"reset_pwd_leak",SUCCESS_RESOURCE_CLEANUP:"resource_cleanup",RICH_CONSENTS_ACCESS_ERROR:"rich_consents_access_error",SUCCESS_LOGIN:"s",SUCCESS_API_OPERATION:"sapi",SUCCESS_CHANGE_EMAIL:"sce",SUCCESS_CROSS_ORIGIN_AUTHENTICATION:"scoa",SUCCESS_CHANGE_PASSWORD:"scp",SUCCESS_CHANGE_PHONE_NUMBER:"scpn",SUCCESS_CHANGE_PASSWORD_REQUEST:"scpr",SUCCESS_CHANGE_USERNAME:"scu",SUCCESS_CREDENTIAL_VALIDATION:"scv",SUCCESS_DELEGATION:"sd",SUCCESS_USER_DELETION:"sdu",SUCCESS_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN:"seacft",SUCCESS_EXCHANGE_ACCESS_TOKEN_FOR_CLIENT_CREDENTIALS:"seccft",SUCCESS_EXCHANGE_CUSTOM_TOKEN:"secte",SUCCESS_EXCHANGE_DEVICE_CODE_FOR_ACCESS_TOKEN:"sede",SUCCESS_EXCHANGE_NATIVE_SOCIAL_LOGIN:"sens",SUCCESS_EXCHANGE_PASSWORD_OOB_FOR_ACCESS_TOKEN:"seoobft",SUCCESS_EXCHANGE_PASSWORD_OTP_FOR_ACCESS_TOKEN:"seotpft",SUCCESS_EXCHANGE_PASSWORD_FOR_ACCESS_TOKEN:"sepft",SUCCESS_EXCHANGE_PASSKEY_OOB_FOR_ACCESS_TOKEN:"sepkoobft",SUCCESS_EXCHANGE_PASSKEY_OTP_FOR_ACCESS_TOKEN:"sepkotpft",SUCCESS_EXCHANGE_PASSKEY_MFA_RECOVERY_FOR_ACCESS_TOKEN:"sepkrcft",SUCCESS_EXCHANGE_PASSWORD_MFA_RECOVERY_FOR_ACCESS_TOKEN:"sercft",SUCCESS_EXCHANGE_REFRESH_TOKEN_FOR_ACCESS_TOKEN:"sertft",SUCCESSFULLY_ACCEPTED_USER_INVITE:"si",BREACHED_PASSWORD_ON_SIGNUP:"signup_pwd_leak",SUCCESS_LOGOUT:"slo",SUCCESS_REVOCATION:"srrt",SUCCESS_SIGNUP:"ss",FAILED_SS_SSO_OPERATION:"ss_sso_failure",INFORMATION_FROM_SS_SSO_OPERATION:"ss_sso_info",SUCCESS_SS_SSO_OPERATION:"ss_sso_success",SUCCESS_SILENT_AUTH:"ssa",SUCCESSFUL_SCIM_OPERATION:"sscim",SUCCESSFULLY_IMPORTED_USERS:"sui",SUCCESS_VERIFICATION_EMAIL:"sv",SUCCESS_VERIFICATION_EMAIL_REQUEST:"svr",MAX_AMOUNT_OF_AUTHENTICATORS:"too_many_records",USER_LOGIN_BLOCK_RELEASED:"ublkdu",FAILED_UNIVERSAL_LOGOUT:"universal_logout_failed",SUCCESSFUL_UNIVERSAL_LOGOUT:"universal_logout_succeeded",WARNING_DURING_LOGIN:"w",WARNING_SENDING_NOTIFICATION:"wn",WARNING_USER_MANAGEMENT:"wum"},rb=o.z.string().refine(t=>Object.values(ee).includes(t),{message:"Invalid log type"}),am=o.z.object({name:o.z.string(),version:o.z.string(),env:o.z.object({node:o.z.string().optional()}).optional()}),cm=o.z.object({country_code:o.z.string().length(2),city_name:o.z.string(),latitude:o.z.string(),longitude:o.z.string(),time_zone:o.z.string(),continent_code:o.z.string()}),lm=o.z.object({type:rb,date:o.z.string(),description:o.z.string().optional(),ip:o.z.string().optional(),user_agent:o.z.string().optional(),details:o.z.any().optional(),isMobile:o.z.boolean(),user_id:o.z.string().optional(),user_name:o.z.string().optional(),connection:o.z.string().optional(),connection_id:o.z.string().optional(),client_id:o.z.string().optional(),client_name:o.z.string().optional(),audience:o.z.string().optional(),scope:o.z.string().optional(),strategy:o.z.string().optional(),strategy_type:o.z.string().optional(),hostname:o.z.string().optional(),auth0_client:am.optional(),log_id:o.z.string().optional(),location_info:cm.optional()}),Vs=o.z.object({...lm.shape,log_id:o.z.string()}),dm=o.z.object({id:o.z.string().optional(),user_id:o.z.string(),password:o.z.string(),algorithm:o.z.enum(["bcrypt","argon2id"]).default("argon2id"),is_current:o.z.boolean().default(!0)}),ib=dm.extend({id:o.z.string(),created_at:o.z.string(),updated_at:o.z.string()}),um=o.z.object({initial_user_agent:o.z.string().describe("First user agent of the device from which this user logged in"),initial_ip:o.z.string().describe("First IP address associated with this session"),initial_asn:o.z.string().describe("First autonomous system number associated with this session"),last_user_agent:o.z.string().describe("Last user agent of the device from which this user logged in"),last_ip:o.z.string().describe("Last IP address from which this user logged in"),last_asn:o.z.string().describe("Last autonomous system number from which this user logged in")}),pm=o.z.object({id:o.z.string(),revoked_at:o.z.string().optional(),used_at:o.z.string().optional(),user_id:o.z.string().describe("The user ID associated with the session"),expires_at:o.z.string().optional(),login_session_id:o.z.string(),idle_expires_at:o.z.string().optional(),device:um.describe("Metadata related to the device used in the session"),clients:o.z.array(o.z.string()).describe("List of client details for the session")}),Va=o.z.object({created_at:o.z.string(),updated_at:o.z.string(),authenticated_at:o.z.string(),last_interaction_at:o.z.string(),...pm.shape}),Ol=o.z.object({kid:o.z.string().openapi({description:"The key id of the signing key"}),cert:o.z.string().openapi({description:"The public certificate of the signing key"}),fingerprint:o.z.string().openapi({description:"The cert fingerprint"}),thumbprint:o.z.string().openapi({description:"The cert thumbprint"}),pkcs7:o.z.string().optional().openapi({description:"The private key in pkcs7 format"}),current:o.z.boolean().optional().openapi({description:"True if the key is the current key"}),next:o.z.boolean().optional().openapi({description:"True if the key is the next key"}),previous:o.z.boolean().optional().openapi({description:"True if the key is the previous key"}),current_since:o.z.string().optional().openapi({description:"The date and time when the key became the current key"}),current_until:o.z.string().optional().openapi({description:"The date and time when the current key was rotated"}),revoked:o.z.boolean().optional().openapi({description:"True if the key is revoked"}),revoked_at:o.z.string().optional().openapi({description:"The date and time when the key was revoked"}),connection:o.z.string().optional().openapi({description:"The connection identifier associated with the key"}),type:o.z.enum(["jwt_signing","saml_encryption"]).openapi({description:"The type of the signing key"})});var xt=(t=>(t.RefreshToken="refresh_token",t.AuthorizationCode="authorization_code",t.ClientCredential="client_credentials",t.Passwordless="passwordless",t.Password="password",t.OTP="http://auth0.com/oauth/grant-type/passwordless/otp",t))(xt||{});const zu=o.z.object({access_token:o.z.string(),id_token:o.z.string().optional(),scope:o.z.string().optional(),state:o.z.string().optional(),refresh_token:o.z.string().optional(),token_type:o.z.string(),expires_in:o.z.number()});o.z.object({code:o.z.string(),state:o.z.string().optional()});const fm=o.z.object({button_border_radius:o.z.number(),button_border_weight:o.z.number(),buttons_style:o.z.enum(["pill","rounded","sharp"]),input_border_radius:o.z.number(),input_border_weight:o.z.number(),inputs_style:o.z.enum(["pill","rounded","sharp"]),show_widget_shadow:o.z.boolean(),widget_border_weight:o.z.number(),widget_corner_radius:o.z.number()}),hm=o.z.object({base_focus_color:o.z.string(),base_hover_color:o.z.string(),body_text:o.z.string(),captcha_widget_theme:o.z.enum(["auto","dark","light"]),error:o.z.string(),header:o.z.string(),icons:o.z.string(),input_background:o.z.string(),input_border:o.z.string(),input_filled_text:o.z.string(),input_labels_placeholders:o.z.string(),links_focused_components:o.z.string(),primary_button:o.z.string(),primary_button_label:o.z.string(),secondary_button_border:o.z.string(),secondary_button_label:o.z.string(),success:o.z.string(),widget_background:o.z.string(),widget_border:o.z.string()}),Hn=o.z.object({bold:o.z.boolean(),size:o.z.number()}),gm=o.z.object({body_text:Hn,buttons_text:Hn,font_url:o.z.string(),input_labels:Hn,links:Hn,links_style:o.z.enum(["normal","underlined"]),reference_text_size:o.z.number(),subtitle:Hn,title:Hn}),mm=o.z.object({background_color:o.z.string(),background_image_url:o.z.string(),page_layout:o.z.enum(["center","left","right"])}),_m=o.z.object({header_text_alignment:o.z.enum(["center","left","right"]),logo_height:o.z.number(),logo_position:o.z.enum(["center","left","none","right"]),logo_url:o.z.string(),social_buttons_layout:o.z.enum(["bottom","top"])}),ym=o.z.object({borders:fm,colors:hm,displayName:o.z.string(),fonts:gm,page_background:mm,widget:_m}),vs=ym.extend({themeId:o.z.string()}),$s=o.z.object({universal_login_experience:o.z.enum(["new","classic"]).default("new"),identifier_first:o.z.boolean().default(!0),password_first:o.z.boolean().default(!1),webauthn_platform_first_factor:o.z.boolean()}),ks=o.z.object({name:o.z.string(),enabled:o.z.boolean().optional().default(!0),default_from_address:o.z.string().optional(),credentials:o.z.union([o.z.object({accessKeyId:o.z.string(),secretAccessKey:o.z.string(),region:o.z.string()}),o.z.object({smtp_host:o.z.array(o.z.string()),smtp_port:o.z.number(),smtp_user:o.z.string(),smtp_pass:o.z.string()}),o.z.object({api_key:o.z.string(),domain:o.z.string().optional()}),o.z.object({connectionString:o.z.string()}),o.z.object({tenantId:o.z.string(),clientId:o.z.string(),clientSecret:o.z.string()})]),settings:o.z.object({}).optional()}),Au=o.z.object({id:o.z.string(),session_id:o.z.string(),user_id:o.z.string(),client_id:o.z.string(),expires_at:o.z.string().optional(),idle_expires_at:o.z.string().optional(),last_exchanged_at:o.z.string().optional(),device:um,resource_servers:o.z.array(o.z.object({audience:o.z.string(),scopes:o.z.string()})),rotating:o.z.boolean()}),ob=o.z.object({created_at:o.z.string(),...Au.shape}),sb=o.z.object({to:o.z.string(),message:o.z.string()}),ab=o.z.object({name:o.z.string(),options:o.z.object({})}),wm=o.z.object({value:o.z.string(),description:o.z.string().optional()}),bm=o.z.object({token_dialect:o.z.enum(["access_token","access_token_authz"]).optional(),enforce_policies:o.z.boolean().optional(),allow_skipping_userinfo:o.z.boolean().optional(),skip_userinfo:o.z.boolean().optional(),persist_client_authorization:o.z.boolean().optional(),enable_introspection_endpoint:o.z.boolean().optional(),mtls:o.z.object({bound_access_tokens:o.z.boolean().optional()}).optional()}),Ks=o.z.object({name:o.z.string(),identifier:o.z.string(),scopes:o.z.array(wm).optional(),signing_alg:o.z.string().optional(),signing_secret:o.z.string().optional(),token_lifetime:o.z.number().optional(),token_lifetime_for_web:o.z.number().optional(),skip_consent_for_verifiable_first_party_clients:o.z.boolean().optional(),allow_offline_access:o.z.boolean().optional(),verificationKey:o.z.string().optional(),options:bm.optional()}),Jn=o.z.object({id:o.z.string().optional(),...Ks.shape,created_at:o.z.string().optional(),updated_at:o.z.string().optional()}),cb=o.z.array(Jn),vm=o.z.object({role_id:o.z.string(),resource_server_identifier:o.z.string(),permission_name:o.z.string()}),$m=o.z.object({...vm.shape,created_at:o.z.string()}),km=o.z.array($m),xm=o.z.object({user_id:o.z.string(),resource_server_identifier:o.z.string(),permission_name:o.z.string(),organization_id:o.z.string().optional()}),Sm=o.z.object({...xm.shape,tenant_id:o.z.string(),created_at:o.z.string().optional()}),lb=o.z.array(Sm),zm=o.z.object({user_id:o.z.string(),resource_server_identifier:o.z.string(),resource_server_name:o.z.string(),permission_name:o.z.string(),description:o.z.string().nullable().optional(),created_at:o.z.string().optional(),organization_id:o.z.string().optional()}),Am=o.z.array(zm),Em=o.z.object({user_id:o.z.string(),role_id:o.z.string(),organization_id:o.z.string().optional()}),Cm=o.z.object({...Em.shape,tenant_id:o.z.string(),created_at:o.z.string().optional()}),db=o.z.array(Cm),Gs=o.z.object({name:o.z.string().min(1).max(50).openapi({description:"The name of the role. Cannot include '<' or '>'"}),description:o.z.string().max(255).optional().openapi({description:"The description of the role"})}),Xn=o.z.object({id:o.z.string().openapi({description:"The unique identifier of the role"}),...Gs.shape,created_at:o.z.string().optional(),updated_at:o.z.string().optional()}),Ws=o.z.array(Xn),Nm=o.z.object({logo_url:o.z.string().optional().openapi({description:"URL of the organization's logo"}),colors:o.z.object({primary:o.z.string().optional().openapi({description:"Primary color in hex format (e.g., #FF0000)"}),page_background:o.z.string().optional().openapi({description:"Page background color in hex format (e.g., #FFFFFF)"})}).optional()}).optional(),Im=o.z.object({connection_id:o.z.string().openapi({description:"ID of the connection"}),assign_membership_on_login:o.z.boolean().default(!1).openapi({description:"Whether to assign membership to the organization on login"}),show_as_button:o.z.boolean().default(!0).openapi({description:"Whether to show this connection as a button in the login screen"}),is_signup_enabled:o.z.boolean().default(!0).openapi({description:"Whether signup is enabled for this connection"})}),jm=o.z.object({client_credentials:o.z.object({enforce:o.z.boolean().default(!1).openapi({description:"Whether to enforce token quota limits"}),per_day:o.z.number().min(0).default(0).openapi({description:"Maximum tokens per day (0 = unlimited)"}),per_hour:o.z.number().min(0).default(0).openapi({description:"Maximum tokens per hour (0 = unlimited)"})}).optional()}).optional(),Js=o.z.object({id:o.z.string().optional(),name:o.z.string().min(1).openapi({description:"The name of the organization"}),display_name:o.z.string().optional().openapi({description:"The display name of the organization"}),branding:Nm,metadata:o.z.record(o.z.any()).default({}).optional().openapi({description:"Custom metadata for the organization"}),enabled_connections:o.z.array(Im).default([]).optional().openapi({description:"List of enabled connections for the organization"}),token_quota:jm}),An=o.z.object({...Js.shape,...di.shape,id:o.z.string()}),Om=o.z.object({user_id:o.z.string().openapi({description:"ID of the user"}),organization_id:o.z.string().openapi({description:"ID of the organization"})}),ub=o.z.object({...Om.shape,...di.shape,id:o.z.string()}),pb=o.z.object({idle_session_lifetime:o.z.number().optional(),session_lifetime:o.z.number().optional(),session_cookie:o.z.object({mode:o.z.enum(["persistent","non-persistent"]).optional()}).optional(),enable_client_connections:o.z.boolean().optional(),default_redirection_uri:o.z.string().optional(),enabled_locales:o.z.array(o.z.string()).optional(),default_directory:o.z.string().optional(),error_page:o.z.object({html:o.z.string().optional(),show_log_link:o.z.boolean().optional(),url:o.z.string().optional()}).optional(),flags:o.z.object({allow_legacy_delegation_grant_types:o.z.boolean().optional(),allow_legacy_ro_grant_types:o.z.boolean().optional(),allow_legacy_tokeninfo_endpoint:o.z.boolean().optional(),disable_clickjack_protection_headers:o.z.boolean().optional(),enable_apis_section:o.z.boolean().optional(),enable_client_connections:o.z.boolean().optional(),enable_custom_domain_in_emails:o.z.boolean().optional(),enable_dynamic_client_registration:o.z.boolean().optional(),enable_idtoken_api2:o.z.boolean().optional(),enable_legacy_logs_search_v2:o.z.boolean().optional(),enable_legacy_profile:o.z.boolean().optional(),enable_pipeline2:o.z.boolean().optional(),enable_public_signup_user_exists_error:o.z.boolean().optional(),use_scope_descriptions_for_consent:o.z.boolean().optional(),disable_management_api_sms_obfuscation:o.z.boolean().optional(),enable_adfs_waad_email_verification:o.z.boolean().optional(),revoke_refresh_token_grant:o.z.boolean().optional(),dashboard_log_streams_next:o.z.boolean().optional(),dashboard_insights_view:o.z.boolean().optional(),disable_fields_map_fix:o.z.boolean().optional(),mfa_show_factor_list_on_enrollment:o.z.boolean().optional()}).optional(),friendly_name:o.z.string().optional(),picture_url:o.z.string().optional(),support_email:o.z.string().optional(),support_url:o.z.string().optional(),sandbox_version:o.z.string().optional(),sandbox_versions_available:o.z.array(o.z.string()).optional(),change_password:o.z.object({enabled:o.z.boolean(),html:o.z.string()}).optional(),guardian_mfa_page:o.z.object({enabled:o.z.boolean(),html:o.z.string()}).optional(),default_audience:o.z.string().optional(),default_organization:o.z.string().optional(),sessions:o.z.object({oidc_logout_prompt_enabled:o.z.boolean().optional()}).optional()});function fb(t){const[e,n]=t.split("|");if(!e||!n)throw new Error(`Invalid user_id: ${t}`);return{connection:e,id:n}}const bf={themeId:"default",borders:{button_border_radius:8,button_border_weight:1,buttons_style:"pill",input_border_radius:8,input_border_weight:1,inputs_style:"pill",show_widget_shadow:!0,widget_border_weight:1,widget_corner_radius:16},colors:{base_focus_color:"#7D68F4",base_hover_color:"#A091F2",body_text:"#000000",captcha_widget_theme:"auto",error:"#FC5A5A",header:"#000000",icons:"#666666",input_background:"#FFFFFF",input_border:"#BFBCD7",input_filled_text:"#000000",input_labels_placeholders:"#88869F",links_focused_components:"#7D68F4",primary_button:"#7D68F4",primary_button_label:"#FFFFFF",secondary_button_border:"#BFBCD7",secondary_button_label:"#000000",success:"#36BF76",widget_background:"#FFFFFF",widget_border:"#BFBCD7"},displayName:"Default Theme",fonts:{body_text:{bold:!1,size:16},buttons_text:{bold:!1,size:16},font_url:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2",input_labels:{bold:!1,size:14},links:{bold:!1,size:16},links_style:"normal",reference_text_size:16,subtitle:{bold:!1,size:18},title:{bold:!0,size:24}},page_background:{background_color:"#F8F9FB",background_image_url:"https://assets.sesamy.com/images/login-bg.jpg",page_layout:"center"},widget:{header_text_alignment:"center",logo_height:36,logo_position:"center",logo_url:"https://assets.sesamy.com/static/images/sesamy/logos/sesamy_logo_black.svg",social_buttons_layout:"bottom"}};function Pl(t,e){const n=structuredClone(t);function r(i,s){for(const a in s)s[a]!==void 0&&typeof s[a]=="object"&&!Array.isArray(s[a])&&typeof i[a]=="object"&&i[a]!==null?r(i[a],s[a]):i[a]=s[a];return i}return r(n,e)}const hb=new o.OpenAPIHono().openapi(o.createRoute({tags:["branding"],method:"get",path:"/default",request:{headers:o.z.object({"tenant-id":o.z.string().optional()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:vs}},description:"Default theme settings"}}}),async t=>{const e=await t.env.data.themes.get(t.var.tenant_id,"default");return e?t.json(e):t.json(bf)}).openapi(o.createRoute({tags:["branding"],method:"patch",path:"/default",request:{body:{content:{"application/json":{schema:vs.deepPartial()}}},headers:o.z.object({"tenant-id":o.z.string().optional()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:vs}},description:"Updated theme settings"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.themes.get(t.var.tenant_id,"default");if(n){const r=Pl(n,e);await t.env.data.themes.update(t.var.tenant_id,"default",r);const i=await t.env.data.themes.get(t.var.tenant_id,"default");return t.json(i)}else{const r=Pl(bf,e),i=await t.env.data.themes.create(t.var.tenant_id,r);return t.json(i)}}),gb={colors:{primary:"#7D68F4",page_background:{type:"solid",start:"#F8F9FB",end:"#F8F9FB",angle_deg:0}},logo_url:"https://assets.sesamy.com/static/images/sesamy/logos/sesamy_logo_black.svg",favicon_url:"https://assets.sesamy.com/images/favicon.ico",font:{url:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2"}},mb=new o.OpenAPIHono().openapi(o.createRoute({tags:["branding"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Il}},description:"Branding settings"}}}),async t=>{const e=await t.env.data.branding.get(t.var.tenant_id);return e?t.json(e):t.json(gb)}).openapi(o.createRoute({tags:["branding"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(Il.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const e=t.req.valid("json");return await t.env.data.branding.set(t.var.tenant_id,e),t.text("OK")}).route("/themes",hb);var v=class extends Error{res;status;constructor(t=500,e){super(e?.message,{cause:e?.cause}),this.res=e?.res,this.status=t}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};const _b={};var Tl=null;function yb(t){try{return crypto.getRandomValues(new Uint8Array(t))}catch{}try{return _b.randomBytes(t)}catch{}if(!Tl)throw Error("Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative");return Tl(t)}function wb(t){Tl=t}function Eu(t,e){if(t=t||Cu,typeof t!="number")throw Error("Illegal arguments: "+typeof t+", "+typeof e);t<4?t=4:t>31&&(t=31);var n=[];return n.push("$2b$"),t<10&&n.push("0"),n.push(t.toString()),n.push("$"),n.push(Xs(yb(go),go)),n.join("")}function Pm(t,e,n){if(typeof e=="function"&&(n=e,e=void 0),typeof t=="function"&&(n=t,t=void 0),typeof t>"u")t=Cu;else if(typeof t!="number")throw Error("illegal arguments: "+typeof t);function r(i){zt(function(){try{i(null,Eu(t))}catch(s){i(s)}})}if(n){if(typeof n!="function")throw Error("Illegal callback: "+typeof n);r(n)}else return new Promise(function(i,s){r(function(a,c){if(a){s(a);return}i(c)})})}function Tm(t,e){if(typeof e>"u"&&(e=Cu),typeof e=="number"&&(e=Eu(e)),typeof t!="string"||typeof e!="string")throw Error("Illegal arguments: "+typeof t+", "+typeof e);return Rl(t,e)}function Rm(t,e,n,r){function i(s){typeof t=="string"&&typeof e=="number"?Pm(e,function(a,c){Rl(t,c,s,r)}):typeof t=="string"&&typeof e=="string"?Rl(t,e,s,r):zt(s.bind(this,Error("Illegal arguments: "+typeof t+", "+typeof e)))}if(n){if(typeof n!="function")throw Error("Illegal callback: "+typeof n);i(n)}else return new Promise(function(s,a){i(function(c,l){if(c){a(c);return}s(l)})})}function Bm(t,e){for(var n=t.length^e.length,r=0;r<t.length;++r)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}function bb(t,e){if(typeof t!="string"||typeof e!="string")throw Error("Illegal arguments: "+typeof t+", "+typeof e);return e.length!==60?!1:Bm(Tm(t,e.substring(0,e.length-31)),e)}function vb(t,e,n,r){function i(s){if(typeof t!="string"||typeof e!="string"){zt(s.bind(this,Error("Illegal arguments: "+typeof t+", "+typeof e)));return}if(e.length!==60){zt(s.bind(this,null,!1));return}Rm(t,e.substring(0,29),function(a,c){a?s(a):s(null,Bm(c,e))},r)}if(n){if(typeof n!="function")throw Error("Illegal callback: "+typeof n);i(n)}else return new Promise(function(s,a){i(function(c,l){if(c){a(c);return}s(l)})})}function $b(t){if(typeof t!="string")throw Error("Illegal arguments: "+typeof t);return parseInt(t.split("$")[2],10)}function kb(t){if(typeof t!="string")throw Error("Illegal arguments: "+typeof t);if(t.length!==60)throw Error("Illegal hash length: "+t.length+" != 60");return t.substring(0,29)}function xb(t){if(typeof t!="string")throw Error("Illegal arguments: "+typeof t);return Lm(t)>72}var zt=typeof setImmediate=="function"?setImmediate:typeof scheduler=="object"&&typeof scheduler.postTask=="function"?scheduler.postTask.bind(scheduler):setTimeout;function Lm(t){for(var e=0,n=0,r=0;r<t.length;++r)n=t.charCodeAt(r),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(r+1)&64512)===56320?(++r,e+=4):e+=3;return e}function Sb(t){for(var e=0,n,r,i=new Array(Lm(t)),s=0,a=t.length;s<a;++s)n=t.charCodeAt(s),n<128?i[e++]=n:n<2048?(i[e++]=n>>6|192,i[e++]=n&63|128):(n&64512)===55296&&((r=t.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(r&1023),++s,i[e++]=n>>18|240,i[e++]=n>>12&63|128,i[e++]=n>>6&63|128,i[e++]=n&63|128):(i[e++]=n>>12|224,i[e++]=n>>6&63|128,i[e++]=n&63|128);return i}var Er="./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),kn=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,54,55,56,57,58,59,60,61,62,63,-1,-1,-1,-1,-1,-1,-1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,-1,-1,-1,-1,-1,-1,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,-1];function Xs(t,e){var n=0,r=[],i,s;if(e<=0||e>t.length)throw Error("Illegal len: "+e);for(;n<e;){if(i=t[n++]&255,r.push(Er[i>>2&63]),i=(i&3)<<4,n>=e){r.push(Er[i&63]);break}if(s=t[n++]&255,i|=s>>4&15,r.push(Er[i&63]),i=(s&15)<<2,n>=e){r.push(Er[i&63]);break}s=t[n++]&255,i|=s>>6&3,r.push(Er[i&63]),r.push(Er[s&63])}return r.join("")}function Um(t,e){var n=0,r=t.length,i=0,s=[],a,c,l,d,p,f;if(e<=0)throw Error("Illegal len: "+e);for(;n<r-1&&i<e&&(f=t.charCodeAt(n++),a=f<kn.length?kn[f]:-1,f=t.charCodeAt(n++),c=f<kn.length?kn[f]:-1,!(a==-1||c==-1||(p=a<<2>>>0,p|=(c&48)>>4,s.push(String.fromCharCode(p)),++i>=e||n>=r)||(f=t.charCodeAt(n++),l=f<kn.length?kn[f]:-1,l==-1)||(p=(c&15)<<4>>>0,p|=(l&60)>>2,s.push(String.fromCharCode(p)),++i>=e||n>=r)));)f=t.charCodeAt(n++),d=f<kn.length?kn[f]:-1,p=(l&3)<<6>>>0,p|=d,s.push(String.fromCharCode(p)),++i;var g=[];for(n=0;n<i;n++)g.push(s[n].charCodeAt(0));return g}var go=16,Cu=10,zb=16,Ab=100,vf=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],$f=[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946,1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055,3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504,976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462],Dm=[1332899944,1700884034,1701343084,1684370003,1668446532,1869963892];function mo(t,e,n,r){var i,s=t[e],a=t[e+1];return s^=n[0],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[1],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[2],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[3],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[4],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[5],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[6],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[7],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[8],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[9],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[10],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[11],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[12],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[13],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[14],i=r[s>>>24],i+=r[256|s>>16&255],i^=r[512|s>>8&255],i+=r[768|s&255],a^=i^n[15],i=r[a>>>24],i+=r[256|a>>16&255],i^=r[512|a>>8&255],i+=r[768|a&255],s^=i^n[16],t[e]=a^n[zb+1],t[e+1]=s,t}function Ir(t,e){for(var n=0,r=0;n<4;++n)r=r<<8|t[e]&255,e=(e+1)%t.length;return{key:r,offp:e}}function kf(t,e,n){for(var r=0,i=[0,0],s=e.length,a=n.length,c,l=0;l<s;l++)c=Ir(t,r),r=c.offp,e[l]=e[l]^c.key;for(l=0;l<s;l+=2)i=mo(i,0,e,n),e[l]=i[0],e[l+1]=i[1];for(l=0;l<a;l+=2)i=mo(i,0,e,n),n[l]=i[0],n[l+1]=i[1]}function Eb(t,e,n,r){for(var i=0,s=[0,0],a=n.length,c=r.length,l,d=0;d<a;d++)l=Ir(e,i),i=l.offp,n[d]=n[d]^l.key;for(i=0,d=0;d<a;d+=2)l=Ir(t,i),i=l.offp,s[0]^=l.key,l=Ir(t,i),i=l.offp,s[1]^=l.key,s=mo(s,0,n,r),n[d]=s[0],n[d+1]=s[1];for(d=0;d<c;d+=2)l=Ir(t,i),i=l.offp,s[0]^=l.key,l=Ir(t,i),i=l.offp,s[1]^=l.key,s=mo(s,0,n,r),r[d]=s[0],r[d+1]=s[1]}function xf(t,e,n,r,i){var s=Dm.slice(),a=s.length,c;if(n<4||n>31)if(c=Error("Illegal number of rounds (4-31): "+n),r){zt(r.bind(this,c));return}else throw c;if(e.length!==go)if(c=Error("Illegal salt length: "+e.length+" != "+go),r){zt(r.bind(this,c));return}else throw c;n=1<<n>>>0;var l,d,p=0,f;typeof Int32Array=="function"?(l=new Int32Array(vf),d=new Int32Array($f)):(l=vf.slice(),d=$f.slice()),Eb(e,t,l,d);function g(){if(i&&i(p/n),p<n)for(var w=Date.now();p<n&&(p=p+1,kf(t,l,d),kf(e,l,d),!(Date.now()-w>Ab)););else{for(p=0;p<64;p++)for(f=0;f<a>>1;f++)mo(s,f<<1,l,d);var k=[];for(p=0;p<a;p++)k.push((s[p]>>24&255)>>>0),k.push((s[p]>>16&255)>>>0),k.push((s[p]>>8&255)>>>0),k.push((s[p]&255)>>>0);if(r){r(null,k);return}else return k}r&&zt(g)}if(typeof r<"u")g();else for(var _;;)if(typeof(_=g())<"u")return _||[]}function Rl(t,e,n,r){var i;if(typeof t!="string"||typeof e!="string")if(i=Error("Invalid string / salt: Not a string"),n){zt(n.bind(this,i));return}else throw i;var s,a;if(e.charAt(0)!=="$"||e.charAt(1)!=="2")if(i=Error("Invalid salt version: "+e.substring(0,2)),n){zt(n.bind(this,i));return}else throw i;if(e.charAt(2)==="$")s="\0",a=3;else{if(s=e.charAt(2),s!=="a"&&s!=="b"&&s!=="y"||e.charAt(3)!=="$")if(i=Error("Invalid salt revision: "+e.substring(2,4)),n){zt(n.bind(this,i));return}else throw i;a=4}if(e.charAt(a+2)>"$")if(i=Error("Missing salt rounds"),n){zt(n.bind(this,i));return}else throw i;var c=parseInt(e.substring(a,a+1),10)*10,l=parseInt(e.substring(a+1,a+2),10),d=c+l,p=e.substring(a+3,a+25);t+=s>="a"?"\0":"";var f=Sb(t),g=Um(p,go);function _(w){var k=[];return k.push("$2"),s>="a"&&k.push(s),k.push("$"),d<10&&k.push("0"),k.push(d.toString()),k.push("$"),k.push(Xs(g,g.length)),k.push(Xs(w,Dm.length*4-1)),k.join("")}if(typeof n>"u")return _(xf(f,g,d));xf(f,g,d,function(w,k){w?n(w,null):n(null,_(k))},r)}function Cb(t,e){return Xs(t,e)}function Nb(t,e){return Um(t,e)}const rr={setRandomFallback:wb,genSaltSync:Eu,genSalt:Pm,hashSync:Tm,hash:Rm,compareSync:bb,compare:vb,getRounds:$b,getSalt:kb,truncates:xb,encodeBase64:Cb,decodeBase64:Nb},Ib="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let jb=t=>crypto.getRandomValues(new Uint8Array(t)),Ob=(t,e,n)=>{let r=(2<<Math.log2(t.length-1))-1,i=-~(1.6*r*e/t.length);return(s=e)=>{let a="";for(;;){let c=n(i),l=i|0;for(;l--;)if(a+=t[c[l]&r]||"",a.length>=s)return a}}},Mm=(t,e=21)=>Ob(t,e|0,jb),pe=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Ib[n[t]&63];return e};const Pb=24;function Ka(){return Mm("0123456789abcdef",Pb)()}function fs(t){if(!t.includes("|"))return console.error("Invalid user_id format"),t;const[,e]=t.split("|");return e}function Tb(t){return async(e,n)=>{if(!n.email||!n.email_verified)return t.users.create(e,n);const r=await ju({userAdapter:t.users,tenant_id:e,email:n.email});if(!r)return t.users.create(e,n);await t.users.create(e,{...n,linked_to:r.user_id});const i=await t.users.get(e,r.user_id);if(!i)throw new Error("Failed to fetch primary user after linking");return i}}var Rb={deno:"Deno",bun:"Bun",workerd:"Cloudflare-Workers",node:"Node.js"},qm=()=>{const t=globalThis;if(typeof navigator<"u"&&typeof navigator.userAgent=="string"){for(const[n,r]of Object.entries(Rb))if(Bb(r))return n}return typeof t?.EdgeRuntime=="string"?"edge-light":t?.fastly!==void 0?"fastly":t?.process?.release?.name==="node"?"node":"other"},Bb=t=>navigator.userAgent.startsWith(t);function Fm(t,e){qm()==="workerd"&&t.executionCtx.waitUntil(e)}function Lb(t){return[...t].reduce((e,[n,r])=>({...e,[n]:r}),{})}async function ne(t,e,n){const r={};if(t.req.raw?.headers){const s=Lb(t.req.raw.headers);for(const[a,c]of Object.entries(s))r[a.toLowerCase()]=c}const i=async()=>{let s;if(t.env.data.geo)try{s=await t.env.data.geo.getGeoInfo(r)||void 0}catch(c){console.warn("Failed to get geo information:",c)}const a={type:n.type,description:n.description||"",ip:t.var.ip,user_agent:t.var.useragent||"",auth0_client:t.var.auth0_client,date:new Date().toISOString(),details:{request:{method:t.req.method,path:t.req.path,qs:t.req.queries(),body:n.body||t.var.body||""},...n.response&&{response:n.response}},isMobile:!1,client_id:t.var.client_id,client_name:"",user_id:n.userId||t.var.user_id||"",hostname:t.req.header("host")||"",user_name:t.var.username||"",connection_id:"",connection:n.connection||t.var.connection||"",strategy:n.strategy||"",strategy_type:n.strategy_type||"",audience:n.audience||"",scope:n.scope||"",location_info:s};await t.env.data.logs.create(e,a)};n.waitForCompletion?await i():Fm(t,i())}class Zs{constructor(e,n){this.value=e,this.unit=n}value;unit;milliseconds(){return this.unit==="ms"?this.value:this.unit==="s"?this.value*1e3:this.unit==="m"?this.value*1e3*60:this.unit==="h"?this.value*1e3*60*60:this.unit==="d"?this.value*1e3*60*60*24:this.value*1e3*60*60*24*7}seconds(){return this.milliseconds()/1e3}transform(e){return new Zs(Math.round(this.milliseconds()*e),"ms")}}class Ub{hash;constructor(e){this.hash=e}async verify(e,n,r){const i=await crypto.subtle.importKey("spki",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["verify"]);return await crypto.subtle.verify("RSASSA-PKCS1-v1_5",i,n,r)}async sign(e,n){const r=await crypto.subtle.importKey("pkcs8",e,{name:"RSASSA-PKCS1-v1_5",hash:this.hash},!1,["sign"]);return await crypto.subtle.sign("RSASSA-PKCS1-v1_5",r,n)}async generateKeyPair(e){const n=await crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",hash:this.hash,modulusLength:e??2048,publicExponent:new Uint8Array([1,0,1])},!0,["sign"]),r=await crypto.subtle.exportKey("pkcs8",n.privateKey),i=await crypto.subtle.exportKey("spki",n.publicKey);return{privateKey:r,publicKey:i}}}async function Hm(t){return await crypto.subtle.digest("SHA-256",t)}const Sf="0123456789abcdef";function Bl(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++){const i=e[r]>>4;n+=Sf[i];const s=e[r]&15;n+=Sf[s]}return n}class Vm{alphabet;padding;decodeMap=new Map;constructor(e,n){if(e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),n?.includePadding??!0){const c=(8-r.length%8)%8;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/8),s=[];for(let a=0;a<i;a++){let c=0;const l=[];for(let p=0;p<8;p++){const f=e[a*8+p];if(f==="="){if(a+1!==i)throw new Error(`Invalid character: ${f}`);c+=1;continue}if(f===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(f)??null;if(g===null)throw new Error(`Invalid character: ${f}`);l.push(g)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const d=(l[0]<<3)+(l[1]>>2);if(s.push(d),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new Vm("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new Vm("0123456789ABCDEFGHIJKLMNOPQRSTUV");class Km{alphabet;padding;decodeMap=new Map;constructor(e,n){if(e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let c=0;c<e.length;c++)for(i=i<<8|e[c],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),n?.includePadding??!0){const c=(4-r.length%4)%4;for(let l=0;l<c;l++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/4),s=[];for(let a=0;a<i;a++){let c=0,l=0;for(let d=0;d<4;d++){const p=e[a*4+d];if(p==="="){if(a+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const f=this.decodeMap.get(p)??null;if(f===null)throw new Error(`Invalid character: ${p}`);l+=f<<6*(3-d)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const Db=new Km("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Qn=new Km("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");async function zf(t,e,n,r){const i={alg:t,typ:"JWT",...r?.headers},s={...n};r?.audiences!==void 0&&(s.aud=r.audiences),r?.subject!==void 0&&(s.sub=r.subject),r?.issuer!==void 0&&(s.iss=r.issuer),r?.jwtId!==void 0&&(s.jti=r.jwtId),r?.expiresIn!==void 0&&(s.exp=Math.floor(Date.now()/1e3)+r.expiresIn.seconds()),r?.notBefore!==void 0&&(s.nbf=Math.floor(r.notBefore.getTime()/1e3)),s.iat=Math.floor(Date.now()/1e3);const a=new TextEncoder,c=Qn.encode(a.encode(JSON.stringify(i)),{includePadding:!1}),l=Qn.encode(a.encode(JSON.stringify(s)),{includePadding:!1}),d=a.encode([c,l].join(".")),p=await qb(t).sign(e,d),f=Qn.encode(new Uint8Array(p),{includePadding:!1});return[c,l,f].join(".")}function Mb(t){const e=t.split(".");return e.length!==3?null:e}function Uo(t){const e=Mb(t);if(!e)return null;const n=new TextDecoder,r=Qn.decode(e[0],{strict:!1}),i=Qn.decode(e[1],{strict:!1}),s=JSON.parse(n.decode(r));if(typeof s!="object"||s===null||!("alg"in s)||!Fb(s.alg)||"typ"in s&&s.typ!=="JWT")return null;const a=JSON.parse(n.decode(i));if(typeof a!="object"||a===null)return null;const c={algorithm:s.alg,expiresAt:null,subject:null,issuedAt:null,issuer:null,jwtId:null,audiences:null,notBefore:null};if("exp"in a){if(typeof a.exp!="number")return null;c.expiresAt=new Date(a.exp*1e3)}if("iss"in a){if(typeof a.iss!="string")return null;c.issuer=a.iss}if("sub"in a){if(typeof a.sub!="string")return null;c.subject=a.sub}if("aud"in a)if(Array.isArray(a.aud)){for(const l of a.aud)if(typeof l!="string")return null;c.audiences=a.aud}else{if(typeof a.aud!="string")return null;c.audiences=[a.aud]}if("nbf"in a){if(typeof a.nbf!="number")return null;c.notBefore=new Date(a.nbf*1e3)}if("iat"in a){if(typeof a.iat!="number")return null;c.issuedAt=new Date(a.iat*1e3)}if("jti"in a){if(typeof a.jti!="string")return null;c.jwtId=a.jti}return{value:t,header:{...s,typ:"JWT",alg:s.alg},payload:{...a},parts:e,...c}}function qb(t){return new Ub(Hb[t])}function Fb(t){return typeof t!="string"?!1:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512"].includes(t)}const Hb={RS256:"SHA-256",RS384:"SHA-384",RS512:"SHA-512"};function Vb(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Qn.encode(t,{includePadding:!1})}function Kb(t){try{const n=/-----BEGIN (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----([^-]*)-----END (?:RSA )?(?:PRIVATE|PUBLIC) KEY-----/.exec(t);if(!n||!n[1])throw new Error("Invalid PEM format");return Uint8Array.from(atob(n[1].replace(/\s/g,"")),r=>r.charCodeAt(0)).buffer}finally{t=t.replace(/./g,"\0")}}async function Gb(t,e){if(e==="plain")return t;const n=new TextEncoder().encode(t),r=await Hm(n);return Qn.encode(new Uint8Array(r),{includePadding:!1})}const hs=300,Ga=720*60*60,ir=1440*60,Wb="auth-token",xs=1800*1e3,Ll=10080*60*1e3,Jb=300,Xb=300,Zb=1800*1e3,Yb=1800*1e3,Qb=1440*60*1e3;function Gm(t,e,n){const r=[];return r.push([encodeURIComponent(t),encodeURIComponent(e)]),n?.domain!==void 0&&r.push(["Domain",n.domain]),n?.expires!==void 0&&r.push(["Expires",n.expires.toUTCString()]),n?.httpOnly&&r.push(["HttpOnly"]),n?.maxAge!==void 0&&r.push(["Max-Age",n.maxAge.toString()]),n?.path!==void 0&&r.push(["Path",n.path]),n?.sameSite==="lax"&&r.push(["SameSite","Lax"]),n?.sameSite==="none"&&r.push(["SameSite","None"]),n?.sameSite==="strict"&&r.push(["SameSite","Strict"]),n?.secure&&r.push(["Secure"]),r.map(i=>i.join("=")).join("; ")}function ev(t){const e=new Map,n=t.split("; ");for(const r of n){const i=r.split("="),s=i[0],a=i[1]??"";s&&e.set(decodeURIComponent(s),decodeURIComponent(a))}return e}function Nu(t){return`${t}-${Wb}`}function Wm(t){if(!t)return;const[e]=t.split(":");if(!e||e==="localhost"||/^(\d{1,3}\.){3}\d{1,3}$/.test(e))return;const n=e.split(".");return n.length>2?`.${n.slice(-2).join(".")}`:`.${e}`}function Wr(t,e){return e?ev(e).get(Nu(t)):void 0}function tv(t,e){return Gm(Nu(t),"",{path:"/",httpOnly:!0,secure:!0,maxAge:0,sameSite:"none",domain:e?Wm(e):void 0})}function Ys(t,e,n){return Gm(Nu(t),e,{path:"/",httpOnly:!0,secure:!0,maxAge:Ga,sameSite:"none",domain:n?Wm(n):void 0})}class L extends v{constructor(e,n){super(e,{message:JSON.stringify(n),res:new Response(JSON.stringify(n),{status:e,headers:{"Content-Type":"application/json"}})})}}var nv=Object.defineProperty,rv=(t,e,n)=>e in t?nv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Mr=(t,e,n)=>rv(t,typeof e!="symbol"?e+"":e,n);const Ve=o.z.object({"#text":o.z.string()}),iv=o.z.object({"#text":o.z.string(),"@_xmlns:saml":o.z.string().optional()});o.z.object({"samlp:AuthnRequest":o.z.object({"saml:Issuer":iv,"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string().optional(),"@_ForceAuthn":o.z.string().transform(t=>t.toLowerCase()==="true").optional(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string().datetime(),"@_Destination":o.z.string().url(),"@_AssertionConsumerServiceURL":o.z.string().url().optional(),"@_ProtocolBinding":o.z.string().optional(),"@_Version":o.z.string()})});o.z.array(o.z.object({":@":o.z.object({"@_xmlns":o.z.string(),"@_entityID":o.z.string()}),EntityDescriptor:o.z.array(o.z.object({":@":o.z.object({"@_protocolSupportEnumeration":o.z.string()}),IDPSSODescriptor:o.z.array(o.z.union([o.z.object({KeyDescriptor:o.z.array(o.z.object({KeyInfo:o.z.array(o.z.object({X509Data:o.z.array(o.z.object({X509Certificate:o.z.array(Ve)}))})),":@":o.z.object({"@_xmlns":o.z.string()})})),":@":o.z.object({"@_use":o.z.string()})}),o.z.object({SingleLogoutService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({NameIDFormat:o.z.array(Ve)}),o.z.object({SingleSignOnService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({Attribute:o.z.array(o.z.object({})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string(),"@_xmlns":o.z.string()})})]))}))}));const ov=o.z.object({"saml:Attribute":o.z.array(o.z.object({"saml:AttributeValue":o.z.array(o.z.object({"#text":o.z.string()})),":@":o.z.object({"@_xmlns:xs":o.z.string().optional(),"@_xmlns:xsi":o.z.string(),"@_xsi:type":o.z.string()}).optional()})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string().optional()})}),sv=o.z.object({"ds:Transform":o.z.array(o.z.any()),":@":o.z.object({"@_Algorithm":o.z.string()})}),Af=o.z.object({"ds:Signature":o.z.array(o.z.union([o.z.object({"ds:SignedInfo":o.z.array(o.z.union([o.z.object({"ds:CanonicalizationMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:SignatureMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:Reference":o.z.array(o.z.union([o.z.object({"ds:Transforms":o.z.array(sv)}),o.z.object({"ds:DigestMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:DigestValue":o.z.array(Ve)})])),":@":o.z.object({"@_URI":o.z.string().optional()}).optional()})]))}),o.z.object({"ds:SignatureValue":o.z.array(Ve)}),o.z.object({"ds:KeyInfo":o.z.array(o.z.union([o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ve)}),o.z.object({"ds:Exponent":o.z.array(Ve)})]))}))}),o.z.object({"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ve)}))}),o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ve)}),o.z.object({"ds:Exponent":o.z.array(Ve)})]))})),"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ve)}))})]))})])),":@":o.z.object({"@_xmlns:ds":o.z.string().optional()}).optional()});o.z.array(o.z.object({"samlp:Response":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ve)}),Af,o.z.object({"samlp:Status":o.z.array(o.z.object({"samlp:StatusCode":o.z.array(Ve),":@":o.z.object({"@_Value":o.z.string()})}))}),o.z.object({"saml:Assertion":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ve)}),Af,o.z.object({"saml:Subject":o.z.array(o.z.union([o.z.object({"saml:NameID":o.z.array(Ve),":@":o.z.object({"@_Format":o.z.string()})}),o.z.object({"saml:SubjectConfirmation":o.z.array(o.z.object({"saml:SubjectConfirmationData":o.z.array(o.z.any()),":@":o.z.object({"@_InResponseTo":o.z.string(),"@_NotOnOrAfter":o.z.string(),"@_Recipient":o.z.string()})})),":@":o.z.object({"@_Method":o.z.string()})})]))}),o.z.object({"saml:Conditions":o.z.array(o.z.object({"saml:AudienceRestriction":o.z.array(o.z.object({"saml:Audience":o.z.array(Ve)}))})),":@":o.z.object({"@_NotBefore":o.z.string(),"@_NotOnOrAfter":o.z.string()})}),o.z.object({"saml:AuthnStatement":o.z.array(o.z.object({"saml:AuthnContext":o.z.array(o.z.object({"saml:AuthnContextClassRef":o.z.array(Ve)}))})),":@":o.z.object({"@_AuthnInstant":o.z.string(),"@_SessionIndex":o.z.string(),"@_SessionNotOnOrAfter":o.z.string()})}),o.z.object({"saml:AttributeStatement":o.z.array(ov)})])),":@":o.z.object({"@_xmlns":o.z.string(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})})])),":@":o.z.object({"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string(),"@_Destination":o.z.string(),"@_ID":o.z.string(),"@_InResponseTo":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})}));var av={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const d=[];let p=l.exec(c);for(;p;){const f=[];f.startIndex=l.lastIndex-p[0].length;const g=p.length;for(let _=0;_<g;_++)f.push(p[_]);d.push(f),p=l.exec(c)}return d},a=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,d){if(l){const p=Object.keys(l),f=p.length;for(let g=0;g<f;g++)d==="strict"?c[p[g]]=[l[p[g]]]:c[p[g]]=l[p[g]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=r})(av);function cv(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var lv=cv;const dv=`
2
2
  `;function uv(t,e){let n="";return e.format&&e.indentBy.length>0&&(n=dv),Jm(t,e,"",n)}function Jm(t,e,n,r){let i="",s=!1;for(let a=0;a<t.length;a++){const c=t[a],l=pv(c);if(l===void 0)continue;let d="";if(n.length===0?d=l:d=`${n}.${l}`,l===e.textNodeName){let w=c[l];fv(d,e)||(w=e.tagValueProcessor(l,w),w=Xm(w,e)),s&&(i+=r),i+=w,s=!1;continue}else if(l===e.cdataPropName){s&&(i+=r),i+=`<![CDATA[${c[l][0][e.textNodeName]}]]>`,s=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${c[l][0][e.textNodeName]}-->`,s=!0;continue}else if(l[0]==="?"){const w=Ef(c[":@"],e),k=l==="?xml"?"":r;let z=c[l][0][e.textNodeName];z=z.length!==0?" "+z:"",i+=k+`<${l}${z}${w}?>`,s=!0;continue}let p=r;p!==""&&(p+=e.indentBy);const f=Ef(c[":@"],e),g=r+`<${l}${f}`,_=Jm(c[l],e,d,p);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=g+">":i+=g+"/>":(!_||_.length===0)&&e.suppressEmptyNode?i+=g+"/>":_&&_.endsWith(">")?i+=g+`>${_}${r}</${l}>`:(i+=g+">",_&&r!==""&&(_.includes("/>")||_.includes("</"))?i+=r+e.indentBy+_+r:i+=_,i+=`</${l}>`),s=!0}return i}function pv(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(t.hasOwnProperty(r)&&r!==":@")return r}}function Ef(t,e){let n="";if(t&&!e.ignoreAttributes)for(let r in t){if(!t.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,t[r]);i=Xm(i,e),i===!0&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function fv(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);let n=t.substr(t.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+n)return!0;return!1}function Xm(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}var hv=uv;const gv=hv,mv=lv,_v={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Dn(t){this.options=Object.assign({},_v,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=mv(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=bv),this.processTextOrObjNode=yv,this.options.format?(this.indentate=wv,this.tagEndChar=`>
3
3
  `,this.newLine=`
4
4
  `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Dn.prototype.build=function(t){return this.options.preserveOrder?gv(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)};Dn.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(typeof t[a]>"u")this.isAttribute(a)&&(i+="");else if(t[a]===null)this.isAttribute(a)||a===this.options.cdataPropName?i+="":a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)i+=this.buildTextValNode(t[a],a,"",e);else if(typeof t[a]!="object"){const c=this.isAttribute(a);if(c&&!this.ignoreAttributesFn(c,s))r+=this.buildAttrPairStr(c,""+t[a]);else if(!c)if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+t[a]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(t[a],a,"",e)}else if(Array.isArray(t[a])){const c=t[a].length;let l="",d="";for(let p=0;p<c;p++){const f=t[a][p];if(!(typeof f>"u"))if(f===null)a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(typeof f=="object")if(this.options.oneListGroup){const g=this.j2x(f,e+1,n.concat(a));l+=g.val,this.options.attributesGroupName&&f.hasOwnProperty(this.options.attributesGroupName)&&(d+=g.attrStr)}else l+=this.processTextOrObjNode(f,a,e,n);else if(this.options.oneListGroup){let g=this.options.tagValueProcessor(a,f);g=this.replaceEntitiesValue(g),l+=g}else l+=this.buildTextValNode(f,a,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,d,e)),i+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const c=Object.keys(t[a]),l=c.length;for(let d=0;d<l;d++)r+=this.buildAttrPairStr(c[d],""+t[a][c[d]])}else i+=this.processTextOrObjNode(t[a],a,e,n);return{attrStr:r,val:i}};Dn.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function yv(t,e,n,r){const i=this.j2x(t,n+1,r.concat(e));return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,n):this.buildObjectNode(i.val,e,i.attrStr,n)}Dn.prototype.buildObjectNode=function(t,e,n,r){if(t==="")return e[0]==="?"?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,s="";return e[0]==="?"&&(s="?",i=""),(n||n==="")&&t.indexOf("<")===-1?this.indentate(r)+"<"+e+n+s+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+`<!--${t}-->`+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}};Dn.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};Dn.prototype.buildTextValNode=function(t,e,n,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${t}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}};Dn.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};function wv(t){return this.options.indentBy.repeat(t)}function bv(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}var vv=Dn;const $v=vv;var kv={XMLBuilder:$v};let Zm=class{constructor(e,n){if(Mr(this,"alphabet"),Mr(this,"padding"),Mr(this,"decodeMap",new Map),e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let a=0;a<e.length;a++)for(i=i<<8|e[a],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),n?.includePadding??!0){const a=(8-r.length%8)%8;for(let c=0;c<a;c++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/8),s=[];for(let a=0;a<i;a++){let c=0;const l=[];for(let p=0;p<8;p++){const f=e[a*8+p];if(f==="="){if(a+1!==i)throw new Error(`Invalid character: ${f}`);c+=1;continue}if(f===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(f)??null;if(g===null)throw new Error(`Invalid character: ${f}`);l.push(g)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const d=(l[0]<<3)+(l[1]>>2);if(s.push(d),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}};new Zm("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new Zm("0123456789ABCDEFGHIJKLMNOPQRSTUV");let Ym=class{constructor(e,n){if(Mr(this,"alphabet"),Mr(this,"padding"),Mr(this,"decodeMap",new Map),e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let a=0;a<e.length;a++)for(i=i<<8|e[a],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),n?.includePadding??!0){const a=(4-r.length%4)%4;for(let c=0;c<a;c++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/4),s=[];for(let a=0;a<i;a++){let c=0,l=0;for(let d=0;d<4;d++){const p=e[a*4+d];if(p==="="){if(a+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const f=this.decodeMap.get(p)??null;if(f===null)throw new Error(`Invalid character: ${p}`);l+=f<<6*(3-d)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}};new Ym("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");new Ym("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");const xv="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Cf=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=xv[n[t]&63];return e};async function Sv(t,e){const n=t.notBefore||new Date().toISOString(),r=t.notAfter||new Date(new Date(n).getTime()+600*1e3).toISOString(),i=t.issueInstant||n,s=t.sessionNotOnOrAfter||r,a=t.responseId||`_${Cf()}`,c=t.assertionId||`_${Cf()}`,l=[{"samlp:Response":[{"saml:Issuer":[{"#text":t.issuer}]},{"samlp:Status":[{"samlp:StatusCode":[],":@":{"@_Value":"urn:oasis:names:tc:SAML:2.0:status:Success"}}]},{"saml:Assertion":[{"saml:Issuer":[{"#text":t.issuer}]},{"saml:Subject":[{"saml:NameID":[{"#text":t.email}],":@":{"@_Format":"urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"}},{"saml:SubjectConfirmation":[{"saml:SubjectConfirmationData":[],":@":{"@_InResponseTo":t.inResponseTo,"@_NotOnOrAfter":r,"@_Recipient":t.destination}}],":@":{"@_Method":"urn:oasis:names:tc:SAML:2.0:cm:bearer"}}]},{"saml:Conditions":[{"saml:AudienceRestriction":[{"saml:Audience":[{"#text":t.audience}]}]}],":@":{"@_NotBefore":n,"@_NotOnOrAfter":r}},{"saml:AuthnStatement":[{"saml:AuthnContext":[{"saml:AuthnContextClassRef":[{"#text":"urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified"}]}]}],":@":{"@_AuthnInstant":i,"@_SessionIndex":t.sessionIndex,"@_SessionNotOnOrAfter":s}},{"saml:AttributeStatement":[{"saml:Attribute":[{"saml:AttributeValue":[{"#text":t.userId}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_FriendlyName":"persistent","@_Name":"id","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":t.email}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"email","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"default-roles-master"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"offline_access"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"view-profile"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"uma_authorization"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}},{"saml:Attribute":[{"saml:AttributeValue":[{"#text":"manage-account-links"}],":@":{"@_xmlns:xs":"http://www.w3.org/2001/XMLSchema","@_xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","@_xsi:type":"xs:string"}}],":@":{"@_Name":"Role","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:basic"}}]}],":@":{"@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion","@_ID":c,"@_IssueInstant":i,"@_Version":"2.0"}}],":@":{"@_xmlns:samlp":"urn:oasis:names:tc:SAML:2.0:protocol","@_xmlns:saml":"urn:oasis:names:tc:SAML:2.0:assertion","@_Destination":t.destination,"@_ID":a,"@_InResponseTo":t.inResponseTo,"@_IssueInstant":i,"@_Version":"2.0"}}];let d=new kv.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!0}).build(l);return t.signature&&e&&(d=await e.signSAML(d,t.signature.privateKeyPem,t.signature.cert)),t.encode===!1?d:btoa(d)}let Qm=class{constructor(e){this.signUrl=e}async signSAML(e,n,r){const i=await fetch(this.signUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({xmlContent:e,privateKey:n,publicCert:r})});if(!i.ok)throw new Error(`Failed to sign SAML via HTTP: ${i.status} ${i.statusText}`);return await i.text()}};function zv(t,e,n){const r=n?`<input type="hidden" name="RelayState" value="${n}" />`:"",i=`
@@ -62,15 +62,15 @@
62
62
  <\/script>
63
63
  </body>
64
64
 
65
- </html>`}const Dl=["openid","profile","email","address","phone"];async function Ev(t,e){const{tenantId:n,clientId:r,audience:i,requestedScopes:s}=e,a=s.filter(S=>Dl.includes(S)),l=(await t.env.data.resourceServers.list(n)).resource_servers.filter(S=>S.identifier===i);if(l.length===0)return{scopes:a,permissions:[]};const d=l[0];if(!d)return{scopes:a,permissions:[]};const p=d.options?.enforce_policies===!0,f=d.options?.token_dialect||"access_token",_=(await t.env.data.clientGrants.list(n,{q:`client_id:"${r}"`})).client_grants.find(S=>S.audience===i);if(!_)return{scopes:a,permissions:[]};const w=_.scope||[],k=(d.scopes||[]).map(S=>S.value);if(!p){let S;return s.length===0?S=w.filter(O=>k.includes(O)):S=s.filter(O=>k.includes(O)&&w.includes(O)),{scopes:[...new Set([...a,...S])],permissions:[]}}const z=w.filter(S=>k.includes(S));if(f==="access_token_authz")return{scopes:a,permissions:z};let I;return s.length===0?I=w.filter(S=>k.includes(S)):I=s.filter(S=>k.includes(S)&&w.includes(S)),{scopes:[...new Set([...a,...I])],permissions:z}}async function Qs(t,e){if(e.grantType===xt.ClientCredential)return await Ev(t,{tenantId:e.tenantId,clientId:e.clientId,audience:e.audience,requestedScopes:e.requestedScopes});const{tenantId:n,userId:r,audience:i,requestedScopes:s,organizationId:a}=e;if(a&&!(await t.env.data.userOrganizations.list(n,{q:`user_id:${r}`,per_page:1e3})).userOrganizations.some(ce=>ce.organization_id===a))throw new L(403,{error:"access_denied",error_description:"User is not a member of the specified organization"});const c=s.filter(F=>Dl.includes(F)),d=(await t.env.data.resourceServers.list(n)).resource_servers.filter(F=>F.identifier===i);if(d.length===0)return{scopes:s,permissions:[]};const p=d[0];if(!p)return{scopes:s,permissions:[]};const f=(p.scopes||[]).map(F=>F.value),g=p.options?.enforce_policies===!0,_=p.options?.token_dialect||"access_token";if(!g)return{scopes:s,permissions:[]};const w=await t.env.data.userPermissions.list(n,r,void 0,a),k=await t.env.data.userRoles.list(n,r,void 0,""),z=a?await t.env.data.userRoles.list(n,r,void 0,a):[],I=[...k,...z],N=[];for(const F of I)(await t.env.data.rolePermissions.list(n,F.id)).forEach(ce=>{ce.resource_server_identifier===i&&N.push(ce.permission_name)});const S=new Set;w.forEach(F=>{F.resource_server_identifier===i&&S.add(F.permission_name)}),N.forEach(F=>{S.add(F)});const C=Array.from(S),O=C.filter(F=>f.includes(F)),K=s.filter(F=>!f.includes(F)&&!Dl.includes(F));if(_==="access_token_authz")return{scopes:[...new Set([...c,...K])],permissions:O};const W=s.filter(F=>f.includes(F)&&C.includes(F));return{scopes:[...new Set([...c,...W,...K])],permissions:O}}const Nf=["sub","iss","aud","exp","nbf","iat","jti"];async function Wa(t,e){const{authParams:n,user:r,client:i,session_id:s,organization:a,permissions:c,impersonatingUser:l}=e,{signingKeys:d}=await t.env.data.keys.list({q:"type:jwt_signing"}),p=d.filter(C=>!C.revoked_at||new Date(C.revoked_at)>new Date),f=p[p.length-1];if(!f?.pkcs7)throw new L(500,{message:"No signing key available"});const g=Kb(f.pkcs7),_=t.var.custom_domain?`https://${t.var.custom_domain}/`:t.env.ISSUER,w=n.audience||i.tenant.audience;if(!w)throw new L(400,{error:"invalid_request",error_description:"An audience must be specified in the request or configured as the tenant default_audience"});const k={aud:w,scope:n.scope||"",sub:r?.user_id||n.client_id,iss:_,tenant_id:t.var.tenant_id,sid:s,act:l?{sub:l.user_id}:void 0,org_id:a?a.id:void 0,permissions:c},z=r&&n.scope?.split(" ").includes("openid")?{aud:n.client_id,sub:r.user_id,iss:_,sid:s,nonce:n.nonce,given_name:r.given_name,family_name:r.family_name,nickname:r.nickname,picture:r.picture,locale:r.locale,name:r.name,email:r.email,email_verified:r.email_verified,act:l?{sub:l.user_id}:void 0,org_id:a?.id,org_name:a?.name}:void 0;t.env.hooks?.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({ctx:t,client:i,user:r,request:{ip:t.var.ip||"",user_agent:t.var.useragent||"",method:t.req.method,url:t.req.url},scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(C,O)=>{if(Nf.includes(C))throw new Error(`Cannot overwrite reserved claim '${C}'`);k[C]=O}},idToken:{setCustomClaim:(C,O)=>{if(Nf.includes(C))throw new Error(`Cannot overwrite reserved claim '${C}'`);z&&(z[C]=O)}},access:{deny:C=>{throw new L(400,{message:`Access denied: ${C}`})}},token:{createServiceToken:async C=>{const{createServiceToken:O}=await Promise.resolve().then(()=>Nv);return(await O(t,t.var.tenant_id,C.scope,C.expiresInSeconds)).access_token}}});const I={expiresIn:l?new Zs(1,"h"):new Zs(1,"d"),headers:{kid:f.kid}},N=await zf("RS256",g,k,I),S=z?await zf("RS256",g,z,I):void 0;return{access_token:N,refresh_token:e.refresh_token,id_token:S,token_type:"Bearer",expires_in:l?3600:86400}}async function e_(t,e){return{code:(await t.env.data.codes.create(e.client.tenant.id,{code_id:pe(),user_id:e.user.user_id,code_type:"authorization_code",login_id:e.login_id,expires_at:new Date(Date.now()+Jb*1e3).toISOString(),code_challenge:e.authParams.code_challenge,code_challenge_method:e.authParams.code_challenge_method,redirect_uri:e.authParams.redirect_uri,state:e.authParams.state,nonce:e.authParams.nonce})).code_id,state:e.authParams.state}}async function t_(t,e){const{client:n,scope:r,audience:i=n.tenant.audience,session_id:s}=e;return await t.env.data.refreshTokens.create(n.tenant.id,{id:pe(),session_id:s,client_id:n.client_id,idle_expires_at:new Date(Date.now()+Ga*1e3).toISOString(),user_id:e.user.user_id,device:{last_ip:t.var.ip,initial_ip:t.var.ip,last_user_agent:t.var.useragent||"",initial_user_agent:t.var.useragent||"",initial_asn:"",last_asn:""},resource_servers:[{audience:i,scopes:r}],rotating:!1})}async function n_(t,{user:e,client:n,loginSession:r}){const i=await t.env.data.sessions.create(n.tenant.id,{id:pe(),user_id:e.user_id,login_session_id:r.id,idle_expires_at:new Date(Date.now()+Ga*1e3).toISOString(),device:{last_ip:t.var.ip||"",initial_ip:t.var.ip||"",last_user_agent:t.var.useragent||"",initial_user_agent:t.var.useragent||"",initial_asn:"",last_asn:""},clients:[n.client_id]});return await t.env.data.loginSessions.update(n.tenant.id,r.id,{session_id:i.id}),i}async function Gt(t,e){const{authParams:n,client:r,ticketAuth:i}=e;let{user:s}=e;const a=n.response_type||mt.CODE,c=n.response_mode||Vt.QUERY;if(i){if(!e.loginSession)throw new L(500,{message:"Login session not found for ticket auth."});s&&!e.skipHooks&&(e.authStrategy&&s.app_metadata?.strategy!==e.authStrategy.strategy&&(s.app_metadata={...s.app_metadata,strategy:e.authStrategy.strategy},await t.env.data.users.update(r.tenant.id,s.user_id,{app_metadata:{...s.app_metadata||{},strategy:e.authStrategy.strategy}})),await i_(t,t.env.data,r.tenant.id,s,e.loginSession,{client:r,authParams:n,authStrategy:e.authStrategy}));const _=Vb(),w=pe(12),k=await t.env.data.codes.create(r.tenant.id,{code_id:pe(),code_type:"ticket",login_id:e.loginSession.id,expires_at:new Date(Date.now()+Zb).toISOString(),code_verifier:[w,_].join("|"),redirect_uri:n.redirect_uri,state:n.state,nonce:n.nonce});return t.json({login_ticket:k.code_id,co_verifier:_,co_id:w})}let l=e.refreshToken,d=e.sessionId;if(!d&&e.loginSession?.session_id){d=e.loginSession.session_id;const _=await t.env.data.sessions.get(r.tenant.id,d);_&&!_.clients.includes(r.client_id)&&await t.env.data.sessions.update(r.tenant.id,d,{clients:[..._.clients,r.client_id]})}else if(!d){if(!e.loginSession)throw new L(500,{message:"Login session not found for creating a new session."});d=(await n_(t,{user:s,client:r,loginSession:e.loginSession})).id}if(!l&&n.scope?.split(" ").includes("offline_access")&&![mt.TOKEN,mt.CODE].includes(a)&&!e.impersonatingUser&&(l=(await t_(t,{user:s,client:r,session_id:d,scope:n.scope,audience:n.audience})).id),c===Vt.SAML_POST){if(!d)throw new v(500,{message:"Session ID not available for SAML response"});return Av(t,e.client,e.authParams,s,d)}const p=await Cv(t,{authParams:n,user:s,client:r,session_id:d,refresh_token:l,authStrategy:e.authStrategy,loginSession:e.loginSession,responseType:a,skipHooks:e.skipHooks,organization:e.organization,impersonatingUser:e.impersonatingUser});if(p instanceof Response)return p;if(c===Vt.WEB_MESSAGE){if(!n.redirect_uri)throw new L(400,{message:"Redirect URI not allowed for WEB_MESSAGE response mode."});const _=new Headers;if(d){const z=Ys(r.tenant.id,d,t.var.host||"");z&&_.set("set-cookie",z)}else console.warn("Session ID not available for WEB_MESSAGE, cookie will not be set.");const w=new URL(n.redirect_uri),k=`${w.protocol}//${w.host}`;return t.html(Ul(k,JSON.stringify({...p,state:n.state})),{headers:_})}if(!n.redirect_uri)throw new L(400,{message:"Redirect uri not found for this response mode."});const f=new Headers;if(d){const _=Ys(r.tenant.id,d,t.var.custom_domain||t.req.header("host")||"");_&&f.set("set-cookie",_)}const g=new URL(n.redirect_uri);if("code"in p)g.searchParams.set("code",p.code),p.state&&g.searchParams.set("state",p.state);else if("access_token"in p)g.hash=new URLSearchParams({access_token:p.access_token,...p.id_token&&{id_token:p.id_token},token_type:p.token_type,expires_in:p.expires_in.toString(),...n.state&&{state:n.state},...n.scope&&{scope:n.scope}}).toString();else throw new L(500,{message:"Invalid token response for implicit flow."});return f.set("location",g.toString()),new Response("Redirecting",{status:302,headers:f})}async function Cv(t,e){let{user:n}=e;const r=e.responseType||mt.TOKEN;if(n&&e.organization&&!(await t.env.data.userOrganizations.list(e.client.tenant.id,{q:`user_id:${n.user_id}`,per_page:1e3})).userOrganizations.some(d=>d.organization_id===e.organization.id))throw new L(403,{error:"access_denied",error_description:"User is not a member of the specified organization"});let i=e.authParams.scope||"",s=[];if(e.authParams.audience)try{let c;if(e.grantType===xt.ClientCredential||!n&&!e.user)c=await Qs(t,{grantType:xt.ClientCredential,tenantId:e.client.tenant.id,clientId:e.client.client_id,audience:e.authParams.audience,requestedScopes:e.authParams.scope?.split(" ")||[],organizationId:e.organization?.id});else{const l=n?.user_id||e.user?.user_id;if(!l)throw new L(400,{error:"invalid_request",error_description:"User ID is required for user-based grants"});c=await Qs(t,{grantType:e.grantType,tenantId:e.client.tenant.id,userId:l,clientId:e.client.client_id,audience:e.authParams.audience,requestedScopes:e.authParams.scope?.split(" ")||[],organizationId:e.organization?.id})}i=c.scopes.join(" "),s=c.permissions}catch(c){if(c instanceof v)throw c}const a={...e.authParams,scope:i};if(e.loginSession&&n&&!e.skipHooks){e.authStrategy&&n.app_metadata?.strategy!==e.authStrategy.strategy&&(n.app_metadata={...n.app_metadata,strategy:e.authStrategy.strategy},await t.env.data.users.update(e.client.tenant.id,n.user_id,{app_metadata:{...n.app_metadata||{},strategy:e.authStrategy.strategy}}));const c=await i_(t,t.env.data,e.client.tenant.id,n,e.loginSession,{client:e.client,authParams:a,authStrategy:e.authStrategy});if(c instanceof Response)return c;n=c}if(r===mt.CODE){if(!n||!e.loginSession)throw new L(500,{message:"User and loginSession is required for code flow"});return await e_(t,{user:n,client:e.client,authParams:a,login_id:e.loginSession.id})}else return Wa(t,{...e,user:n,authParams:a,permissions:s})}const If="auth-service";async function Ja(t,e,n,r){const i=await t.env.data.tenants.get(e);if(!i)throw new Error(`Tenant not found: ${e}`);const s={client_id:If,tenant:i,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),name:"Auth Service",global:!1,is_first_party:!0,oidc_conformant:!1,sso:!1,sso_disabled:!1,cross_origin_authentication:!1,custom_login_page_on:!1,require_pushed_authorization_requests:!1,require_proof_of_possession:!1,client_metadata:{disable_sign_ups:"false",email_validation:"disabled"},disable_sign_ups:!1,email_validation:"disabled",connections:[]},a=await Wa(t,{client:s,authParams:{client_id:If,response_type:mt.TOKEN,scope:n}});return{access_token:a.access_token,token_type:a.token_type,expires_in:r||3600}}const Nv=Object.freeze(Object.defineProperty({__proto__:null,createServiceToken:Ja},Symbol.toStringTag,{value:"Module"}));async function Xa(t,e,n){const r=await Ja(t,n.tenant_id,"webhook");for await(const i of e.filter(s=>"url"in s))(await fetch(i.url,{method:"POST",headers:{Authorization:`Bearer ${r.access_token}`,"Content-Type":"application/json"},body:JSON.stringify(n)})).ok||ne(t,n.tenant_id,{type:ee.FAILED_HOOK,description:`Failed to invoke hook ${i.hook_id}`})}function Iv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e);return await Xa(t,r,{tenant_id:e,user:n,trigger_id:"post-user-registration"}),n}}function jv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:pre-user-registration",page:0,per_page:100,include_totals:!1});await Xa(t,r,{tenant_id:e,email:n,trigger_id:"pre-user-registration"})}}async function Ov(t,e){const{hooks:n}=await t.env.data.hooks.list(e,{q:"trigger_id:validate-registration-username",page:0,per_page:1,include_totals:!1});return n.find(r=>"url"in r&&r.enabled)||null}function Pv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:pre-user-deletion",page:0,per_page:100,include_totals:!1});return await Xa(t,r,{tenant_id:e,user:n,trigger_id:"pre-user-deletion"}),n}}function Tv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:post-user-deletion",page:0,per_page:100,include_totals:!1});return await Xa(t,r,{tenant_id:e,user:n,trigger_id:"post-user-deletion"}),n}}function jf(t){return typeof t.form_id=="string"}async function Rv(t,e,n){const r=t.env.data,i=t.var.tenant_id||t.req.header("tenant-id");if(!i)throw new v(400,{message:"Missing tenant_id in context"});const s=await r.forms.get(i,e);if(!s)throw new v(404,{message:"Form not found for post-user-login hook"});let a=s.start?.next_node;if(!a&&s.nodes&&s.nodes.length>0&&(a=s.nodes.find(d=>d.type==="STEP")?.id),!a)throw new v(400,{message:"No start node found in form"});let c=`/u/forms/${s.id}/nodes/${a}?state=${encodeURIComponent(n.id)}`;return new Response(null,{status:302,headers:{location:c}})}function Of(t){return typeof t.page_id=="string"&&typeof t.enabled=="boolean"}async function Bv(t,e,n,r,i){const s=t.env.data,a=t.var.tenant_id||t.req.header("tenant-id");if(!a)throw new v(400,{message:"Missing tenant_id in context"});if(i&&!(await s.userPermissions.list(a,r.user_id)).some(p=>p.permission_name===i))return r;let c=`/u/${e}?state=${encodeURIComponent(n.id)}`;return new Response(null,{status:302,headers:{location:c}})}function or(t,e){return{createServiceToken:async n=>(await Ja(t,e,n.scope,n.expiresInSeconds)).access_token}}function Pf(t){return typeof t.url=="string"}function Lv(t,e){return async(n,r)=>{if(t.var.client_id){const a=await e.legacyClients.get(t.var.client_id);if(!a)throw new L(400,{message:"Client not found"});r.email&&await Dv(t,a,e,r.email)}const i={method:t.req.method,ip:t.req.query("x-real-ip")||"",user_agent:t.req.query("user-agent"),url:t.var.loginSession?.authorization_url||t.req.url};if(t.env.hooks?.onExecutePreUserRegistration)try{await t.env.hooks.onExecutePreUserRegistration({ctx:t,user:r,request:i},{user:{setUserMetadata:async(a,c)=>{r[a]=c}},token:or(t,n)})}catch{ne(t,n,{type:ee.FAILED_SIGNUP,description:"Pre user registration hook failed"})}let s=await Tb(e)(n,r);if(t.env.hooks?.onExecutePostUserRegistration)try{await t.env.hooks.onExecutePostUserRegistration({ctx:t,user:r,request:i},{user:{},token:or(t,n)})}catch{ne(t,n,{type:ee.FAILED_SIGNUP,description:"Post user registration hook failed"})}return await Iv(t)(n,s),s}}function Uv(t,e){return async(n,r,i)=>{if(Object.keys(i).length===1&&"linked_to"in i)return e.users.update(n,r,i);const s=await e.users.get(n,r);if(!s)throw new L(404,{message:"User not found"});const a={method:t.req.method,ip:t.var.ip||t.get("ip")||"",user_agent:t.var.useragent||t.get("useragent")||"",url:t.req.url};if(t.env.hooks?.onExecutePreUserUpdate)try{await t.env.hooks.onExecutePreUserUpdate({ctx:t,tenant:{id:n},user_id:r,user:s,updates:i,request:a},{user:{setUserMetadata:async(c,l)=>{i[c]=l}},cancel:()=>{throw new L(400,{message:"User update cancelled by pre-update hook"})},token:or(t,n)})}catch{throw new L(400,{message:"Pre user update hook failed"})}if(await e.users.update(n,r,i),i.email||i.email_verified){const c=await e.users.get(n,r);if(c&&c.email&&c.email_verified){const{users:l}=await e.users.list(n,{page:0,per_page:10,include_totals:!1,q:`email:${c.email}`}),d=l.filter(p=>p.email_verified&&p.user_id!==r&&!p.linked_to);d.length>0&&await e.users.update(n,r,{linked_to:d[0].user_id})}}return i.email&&ne(t,n,{type:ee.SUCCESS_CHANGE_EMAIL,description:`Email updated to ${i.email}`,userId:r}),!0}}async function r_(t,e,n,r,i="email"){if(e.client_metadata?.disable_sign_ups==="true"){const a=t.var.loginSession?.authorization_url;if(a&&new URL(a).searchParams.get("screen_hint")==="signup")return{allowed:!0};if(!await ju({userAdapter:n.users,tenant_id:e.tenant.id,email:r}))return{allowed:!1,reason:"Public signup is disabled for this client"}}if(t.env.hooks?.onExecuteValidateSignupEmail){const a={method:t.req.method,ip:t.var.ip||t.get("ip")||"",user_agent:t.var.useragent||t.get("useragent")||"",url:t.req.url};let c=!1,l;try{if(await t.env.hooks.onExecuteValidateSignupEmail({ctx:t,client:e,request:a,tenant:{id:e.tenant.id},user:{email:r,connection:i}},{deny:d=>{c=!0,l=d},token:or(t,e.tenant.id)}),c)return{allowed:!1,reason:l}}catch{return{allowed:!1,reason:"Signup validation hook failed"}}}const s=await Ov(t,e.tenant.id);if(s&&"url"in s)try{const a=await Ja(t,e.tenant.id,"webhook"),c=await fetch(s.url,{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({tenant_id:e.tenant.id,email:r,connection:i,client_id:e.client_id,trigger_id:"validate-registration-username"})});if(!c.ok)return{allowed:!1,reason:await c.text()||"Signup not allowed by webhook"};const l=await c.json();if(l.allowed===!1)return{allowed:!1,reason:l.reason||"Signup not allowed by webhook"}}catch{ne(t,e.tenant.id,{type:ee.FAILED_HOOK,description:"Validate signup email webhook failed"})}return{allowed:!0}}async function Dv(t,e,n,r){const i=await r_(t,e,n,r);if(!i.allowed)throw ne(t,e.tenant.id,{type:ee.FAILED_SIGNUP,description:i.reason||"Signup not allowed"}),new L(400,{message:i.reason||"Signups are disabled for this client"});await jv(t)(e.tenant.id,r)}function Mv(t,e){return async(n,r)=>{const i=await e.users.get(n,r);if(!i)return!1;const s={method:t.req.method,ip:t.var.ip||t.get("ip")||"",user_agent:t.var.useragent||t.get("useragent")||"",url:t.req.url};if(t.env.hooks?.onExecutePreUserDeletion)try{await t.env.hooks.onExecutePreUserDeletion({ctx:t,user:i,user_id:r,request:s,tenant:{id:n}},{cancel:()=>{throw new L(400,{message:"User deletion cancelled by pre-deletion hook"})},token:or(t,n)})}catch(c){throw c instanceof v?c:(ne(t,n,{type:ee.FAILED_HOOK,description:`Pre user deletion hook failed: ${c instanceof Error?c.message:String(c)}`}),new L(400,{message:"Pre user deletion hook failed"}))}try{await Pv(t)(n,i)}catch(c){throw ne(t,n,{type:ee.FAILED_HOOK,description:`Pre user deletion webhook failed: ${c instanceof Error?c.message:String(c)}`}),new L(400,{message:"Pre user deletion webhook failed"})}const a=await e.users.remove(n,r);if(a){ne(t,n,{type:ee.SUCCESS_USER_DELETION,description:`user_id: ${r}`,strategy:i.provider||"auth0",strategy_type:i.is_social?"social":"database",connection:i.connection||"",body:{tenant:n,connection:i.connection||""}});try{await Tv(t)(n,i)}catch(c){ne(t,n,{type:ee.FAILED_HOOK,description:`Post user deletion webhook failed: ${c instanceof Error?c.message:String(c)}`})}}if(a&&t.env.hooks?.onExecutePostUserDeletion)try{await t.env.hooks.onExecutePostUserDeletion({ctx:t,user:i,user_id:r,request:s,tenant:{id:n}},{token:or(t,n)})}catch(c){ne(t,n,{type:ee.FAILED_HOOK,description:`Post user deletion hook failed: ${c instanceof Error?c.message:String(c)}`})}return a}}function Do(t,e){const n=e;return{...e,users:{...e.users,create:Lv(t,n),update:Uv(t,n),remove:Mv(t,n)}}}async function qv(t,e,n,r,i,s){let a=[];try{a=(await e.userRoles.list(n,r.user_id,void 0,"")).map(g=>g.name||g.id)}catch(p){console.error("Error fetching user roles:",p)}let c={};if(r.connection)try{const f=(await e.connections.list(n,{page:0,per_page:100,include_totals:!1})).connections.find(g=>g.name===r.connection);f&&(c={id:f.id,name:f.name,strategy:f.strategy||r.provider,metadata:f.options||{}})}catch(p){console.error("Error fetching connection info:",p)}let l;try{if(i.authParams?.organization){const p=await e.organizations.get(n,i.authParams.organization);p&&(l={id:p.id,name:p.name,display_name:p.display_name||p.name,metadata:p.metadata||{}})}}catch(p){console.error("Error fetching organization info:",p)}const d=t.get("countryCode");return{ctx:t,client:s.client,user:r,request:{asn:void 0,ip:t.get("ip")||"",user_agent:t.get("useragent"),method:t.req.method,url:t.req.url,geoip:{cityName:void 0,continentCode:void 0,countryCode:d||void 0,countryName:void 0,latitude:void 0,longitude:void 0,timeZone:void 0}},transaction:{id:i.id,locale:i.authParams?.ui_locales||"en",login_hint:void 0,prompt:i.authParams?.prompt,redirect_uri:i.authParams?.redirect_uri,requested_scopes:i.authParams?.scope?.split(" ")||[],response_mode:i.authParams?.response_mode,response_type:i.authParams?.response_type,state:i.authParams?.state,ui_locales:i.authParams?.ui_locales},scope:s.authParams?.scope||"",grant_type:s.authParams?.grant_type||"",audience:s.authParams?.audience,authentication:{methods:[{name:r.is_social?"federated":"pwd",timestamp:new Date().toISOString()}]},authorization:{roles:a},connection:Object.keys(c).length>0?c:{id:r.connection||"Username-Password-Authentication",name:r.connection||"Username-Password-Authentication",strategy:r.provider||"auth0"},organization:l,resource_server:s.authParams?.audience?{identifier:s.authParams.audience}:void 0,stats:{logins_count:r.login_count||0},tenant:{id:n},session:{id:i.id,created_at:i.created_at,authenticated_at:new Date().toISOString(),clients:[{client_id:s.client.client_id}],device:{initial_ip:t.get("ip"),initial_user_agent:t.get("useragent"),last_ip:r.last_ip||t.get("ip"),last_user_agent:t.get("useragent")}}}}async function i_(t,e,n,r,i,s){const a=s?.authStrategy?.strategy_type?s.authStrategy.strategy_type:r.is_social?"social":"database",c=s?.authStrategy?.strategy||r.connection||"";if(ne(t,n,{type:ee.SUCCESS_LOGIN,description:`Successful login for ${r.user_id}`,userId:r.user_id,strategy_type:a,strategy:c,connection:c,audience:s?.authParams?.audience,scope:s?.authParams?.scope}),await e.users.update(n,r.user_id,{last_login:new Date().toISOString(),last_ip:t.var.ip||"",login_count:r.login_count+1}),t.env.hooks?.onExecutePostLogin&&s?.client&&s?.authParams&&i){let p=null;const f=await qv(t,e,n,r,i,{client:s.client,authParams:s.authParams});if(await t.env.hooks.onExecutePostLogin(f,{prompt:{render:g=>{}},redirect:{sendUserTo:(g,_)=>{const w=new URL(g,t.req.url);w.searchParams.set("state",i.id),_?.query&&Object.entries(_.query).forEach(([k,z])=>{w.searchParams.set(k,z)}),p=w.toString()},encodeToken:g=>JSON.stringify({payload:g.payload,exp:Date.now()+(g.expiresInSeconds||900)*1e3}),validateToken:g=>null},token:or(t,n)}),p)return new Response(null,{status:302,headers:{location:p}})}const{hooks:l}=await e.hooks.list(n,{q:"trigger_id:post-user-login",page:0,per_page:100,include_totals:!1});if(i){const p=l.find(g=>g.enabled&&jf(g));if(p&&jf(p))return Rv(t,p.form_id,i);const f=l.find(g=>g.enabled&&Of(g));if(f&&Of(f))return Bv(t,f.page_id,i,r,f.permission_required)}const d=l.filter(p=>p.enabled&&Pf(p));for(const p of d)if(Pf(p))try{await fetch(p.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenant_id:n,user:r,trigger_id:"post-user-login"})})}catch{ne(t,n,{type:ee.FAILED_HOOK,description:`Failed to invoke post-user-login webhook: ${p.url}`})}return r}function Fv(t){return Do(t,t.env.data)}async function Iu(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function pi({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=r==="sms"?`phone_number:${n}`:`email:${n}`,{users:s}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`${i} provider:${r}`});return s.length>1&&console.error("More than one user found for same email and provider"),s[0]||null}async function ju({userAdapter:t,tenant_id:e,email:n}){const{users:r}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`}),i=r.filter(c=>!(c.provider==="auth2"&&!c.email_verified));if(i.length===0)return;const s=i.filter(c=>!c.linked_to);if(s.length>0)return s.length>1&&console.error("More than one primary user found for same email"),s[0];const a=await t.get(e,i[0]?.linked_to);if(!a)throw new Error("Primary account not found");return a}async function _o({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=await pi({userAdapter:t,tenant_id:e,username:n,provider:r});return i?i.linked_to?t.get(e,i.linked_to):i:null}async function Za(t,e){const{username:n,provider:r,connection:i,client:s,userId:a,isSocial:c,profileData:l={},ip:d=""}=e;let p=await _o({userAdapter:t.env.data.users,tenant_id:e.client.tenant.id,username:n,provider:r});if(!p){const f={user_id:`${r}|${a||Ka()}`,email:i!=="sms"?n:void 0,phone_number:i==="sms"?n:void 0,name:n,provider:r,connection:i,email_verified:!0,last_ip:d,is_social:c,last_login:new Date().toISOString(),profileData:JSON.stringify(l)};p=await Fv(t).users.create(s.tenant.id,f),t.set("user_id",p.user_id)}return p}const Re=o.z.object({page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:o.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:o.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:o.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function Ge(t){if(!t)return;const[e,n]=t.split(":"),r=n==="1"?"asc":"desc";if(!(!e||!r))return{sort_by:e,sort_order:r}}var Hv={Stringify:1},Pn=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},Vv=/[&<>'"]/,Kv=async(t,e)=>{let n="";e||=[];const r=await Promise.all(t);for(let i=r.length-1;n+=r[i],i--,!(i<0);i--){let s=r[i];typeof s=="object"&&e.push(...s.callbacks||[]);const a=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??a)n+=s;else{const c=[n];qr(s,c),n=c[0]}}return Pn(n,e)},qr=(t,e)=>{const n=t.search(Vv);if(n===-1){e[0]+=t;return}let r,i,s=0;for(i=n;i<t.length;i++){switch(t.charCodeAt(i)){case 34:r="&quot;";break;case 39:r="&#39;";break;case 38:r="&amp;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}e[0]+=t.substring(s,i)+r,s=i+1}e[0]+=t.substring(s,i)},Gv=t=>{const e=t.callbacks;if(!e?.length)return t;const n=[t],r={};return e.forEach(i=>i({phase:Hv.Stringify,buffer:n,context:r})),n[0]},Ou=Symbol("RENDERER"),Ml=Symbol("ERROR_HANDLER"),ke=Symbol("STASH"),o_=Symbol("INTERNAL"),Wv=Symbol("MEMO"),ea=Symbol("PERMALINK"),Tf=t=>(t[o_]=!0,t),s_=t=>({value:e,children:n})=>{if(!n)return;const r={children:[{tag:Tf(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:Tf(()=>{t.pop()}),props:{}});const i={tag:"",props:r,type:""};return i[Ml]=s=>{throw t.pop(),s},i},a_=t=>{const e=[t],n=s_(e);return n.values=e,n.Provider=n,Jr.push(n),n},Jr=[],c_=t=>{const e=[t],n=r=>{e.push(r.value);let i;try{i=r.children?(Array.isArray(r.children)?new p_("",{},r.children):r.children).toString():""}finally{e.pop()}return i instanceof Promise?i.then(s=>Pn(s,s.callbacks)):Pn(i)};return n.values=e,n.Provider=n,n[Ou]=s_(e),Jr.push(n),n},fi=t=>t.values.at(-1),Ss={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},ql={},zs="data-precedence",Mo=t=>Array.isArray(t)?t:[t],Rf=new WeakMap,Bf=(t,e,n,r)=>({buffer:i,context:s})=>{if(!i)return;const a=Rf.get(s)||{};Rf.set(s,a);const c=a[t]||=[];let l=!1;const d=Ss[t];if(d.length>0){e:for(const[,p]of c)for(const f of d)if((p?.[f]??null)===n?.[f]){l=!0;break e}}if(l?i[0]=i[0].replaceAll(e,""):d.length>0?c.push([e,n,r]):c.unshift([e,n,r]),i[0].indexOf("</head>")!==-1){let p;if(r===void 0)p=c.map(([f])=>f);else{const f=[];p=c.map(([g,,_])=>{let w=f.indexOf(_);return w===-1&&(f.push(_),w=f.length-1),[g,w]}).sort((g,_)=>g[1]-_[1]).map(([g])=>g)}p.forEach(f=>{i[0]=i[0].replaceAll(f,"")}),i[0]=i[0].replace(/(?=<\/head>)/,p.join(""))}},qo=(t,e,n)=>Pn(new Ct(t,n,Mo(e??[])).toString()),Fo=(t,e,n,r)=>{if("itemProp"in n)return qo(t,e,n);let{precedence:i,blocking:s,...a}=n;i=r?i??"":void 0,r&&(a[zs]=i);const c=new Ct(t,a,Mo(e||[])).toString();return c instanceof Promise?c.then(l=>Pn(c,[...l.callbacks||[],Bf(t,l,a,i)])):Pn(c,[Bf(t,c,a,i)])},Jv=({children:t,...e})=>{const n=Pu();if(n){const r=fi(n);if(r==="svg"||r==="head")return new Ct("title",e,Mo(t??[]))}return Fo("title",t,e,!1)},Xv=({children:t,...e})=>{const n=Pu();return["src","async"].some(r=>!e[r])||n&&fi(n)==="head"?qo("script",t,e):Fo("script",t,e,!1)},Zv=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,Fo("style",t,e,!0)):qo("style",t,e),Yv=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?qo("link",t,e):Fo("link",t,e,"precedence"in e),Qv=({children:t,...e})=>{const n=Pu();return n&&fi(n)==="head"?qo("meta",t,e):Fo("meta",t,e,!1)},l_=(t,{children:e,...n})=>new Ct(t,n,Mo(e??[])),e2=t=>(typeof t.action=="function"&&(t.action=ea in t.action?t.action[ea]:void 0),l_("form",t)),d_=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=ea in e.formAction?e.formAction[ea]:void 0),l_(t,e)),t2=t=>d_("input",t),n2=t=>d_("button",t);const ol=Object.freeze(Object.defineProperty({__proto__:null,button:n2,form:e2,input:t2,link:Yv,meta:Qv,script:Xv,style:Zv,title:Jv},Symbol.toStringTag,{value:"Module"}));var r2=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),ta=t=>r2.get(t)||t,u_=(t,e)=>{for(const[n,r]of Object.entries(t)){const i=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`);e(i,r==null?null:typeof r=="number"?i.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`:r)}},yo=void 0,Pu=()=>yo,i2=t=>/[A-Z]/.test(t)&&t.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,o2=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],s2=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Tu=(t,e)=>{for(let n=0,r=t.length;n<r;n++){const i=t[n];if(typeof i=="string")qr(i,e);else{if(typeof i=="boolean"||i===null||i===void 0)continue;i instanceof Ct?i.toStringToBuffer(e):typeof i=="number"||i.isEscaped?e[0]+=i:i instanceof Promise?e.unshift("",i):Tu(i,e)}}},Ct=class{tag;props;key;children;isEscaped=!0;localContexts;constructor(t,e,n){this.tag=t,this.props=e,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){const t=[""];this.localContexts?.forEach(([e,n])=>{e.values.push(n)});try{this.toStringToBuffer(t)}finally{this.localContexts?.forEach(([e])=>{e.values.pop()})}return t.length===1?"callbacks"in t?Gv(Pn(t[0],t.callbacks)).toString():t[0]:Kv(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:r}=this;t[0]+=`<${e}`;const i=yo&&fi(yo)==="svg"?s=>i2(ta(s)):s=>ta(s);for(let[s,a]of Object.entries(n))if(s=i(s),s!=="children"){if(s==="style"&&typeof a=="object"){let c="";u_(a,(l,d)=>{d!=null&&(c+=`${c?";":""}${l}:${d}`)}),t[0]+=' style="',qr(c,t),t[0]+='"'}else if(typeof a=="string")t[0]+=` ${s}="`,qr(a,t),t[0]+='"';else if(a!=null)if(typeof a=="number"||a.isEscaped)t[0]+=` ${s}="${a}"`;else if(typeof a=="boolean"&&s2.includes(s))a&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(r.length>0)throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[Pn(a.__html)]}else if(a instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',a);else if(typeof a=="function"){if(!s.startsWith("on")&&s!=="ref")throw new Error(`Invalid prop '${s}' of type 'function' supplied to '${e}'.`)}else t[0]+=` ${s}="`,qr(a.toString(),t),t[0]+='"'}if(o2.includes(e)&&r.length===0){t[0]+="/>";return}t[0]+=">",Tu(r,t),t[0]+=`</${e}>`}},sl=class extends Ct{toStringToBuffer(t){const{children:e}=this,n={...this.props};e.length&&(n.children=e.length===1?e[0]:e);const r=this.tag.call(null,n);if(!(typeof r=="boolean"||r==null))if(r instanceof Promise)if(Jr.length===0)t.unshift("",r);else{const i=Jr.map(s=>[s,s.values.at(-1)]);t.unshift("",r.then(s=>(s instanceof Ct&&(s.localContexts=i),s)))}else r instanceof Ct?r.toStringToBuffer(t):typeof r=="number"||r.isEscaped?(t[0]+=r,r.callbacks&&(t.callbacks||=[],t.callbacks.push(...r.callbacks))):qr(r,t)}},p_=class extends Ct{toStringToBuffer(t){Tu(this.children,t)}},a2=(t,e,...n)=>{e??={},n.length&&(e.children=n.length===1?n[0]:n);const r=e.key;delete e.key;const i=As(t,e,n);return i.key=r,i},Lf=!1,As=(t,e,n)=>{if(!Lf){for(const r in ql)ol[r][Ou]=ql[r];Lf=!0}return typeof t=="function"?new sl(t,e,n):ol[t]?new sl(ol[t],e,n):t==="svg"||t==="head"?(yo||=c_(""),new Ct(t,e,[new sl(yo,{value:t},n)])):new Ct(t,e,n)},Ya=({children:t})=>new p_("",{children:t},Array.isArray(t)?t:t?[t]:[]),c2=(t,e,...n)=>{let r;if(n.length>0)r=n;else{const i=t.props.children;r=Array.isArray(i)?i:[i]}return a2(t.tag,{...t.props,...e},...r)};function u(t,e,n){let r;if(!e||!("children"in e))r=As(t,e,[]);else{const i=e.children;r=Array.isArray(i)?As(t,e,i):As(t,e,[i])}return r.key=n,r}var Uf;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Uf||(Uf={}));var Df;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Df||(Df={}));function l2(t){return f_(t,d2,wo.Include)}function Ru(t){return f_(t,u2,wo.None)}function f_(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===wo.Include&&(r+="=")}return r}const d2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var wo;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(wo||(wo={}));var Mf;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Mf||(Mf={}));class p2{uint8(e,n){if(e.byteLength<n+1)throw new TypeError("Insufficient bytes");return e[n]}uint16(e,n){if(e.byteLength<n+2)throw new TypeError("Insufficient bytes");return e[n]<<8|e[n+1]}uint32(e,n){if(e.byteLength<n+4)throw new TypeError("Insufficient bytes");let r=0;for(let i=0;i<4;i++)r|=e[n+i]<<24-i*8;return r}uint64(e,n){if(e.byteLength<n+8)throw new TypeError("Insufficient bytes");let r=0n;for(let i=0;i<8;i++)r|=BigInt(e[n+i])<<BigInt(56-i*8);return r}putUint8(e,n,r){if(e.length<r+1)throw new TypeError("Not enough space");if(n<0||n>255)throw new TypeError("Invalid uint8 value");e[r]=n}putUint16(e,n,r){if(e.length<r+2)throw new TypeError("Not enough space");if(n<0||n>65535)throw new TypeError("Invalid uint16 value");e[r]=n>>8,e[r+1]=n&255}putUint32(e,n,r){if(e.length<r+4)throw new TypeError("Not enough space");if(n<0||n>4294967295)throw new TypeError("Invalid uint32 value");for(let i=0;i<4;i++)e[r+i]=n>>(3-i)*8&255}putUint64(e,n,r){if(e.length<r+8)throw new TypeError("Not enough space");if(n<0||n>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let i=0;i<8;i++)e[r+i]=Number(n>>BigInt((7-i)*8)&0xffn)}}const qf=new p2;function Dt(t,e){return(t<<32-e|t>>>e)>>>0}function f2(t){const e=new h2;return e.update(t),e.digest()}class h2{blockSize=64;size=32;blocks=new Uint8Array(64);currentBlockSize=0;H=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);l=0n;w=new Uint32Array(64);update(e){if(this.l+=BigInt(e.byteLength)*8n,this.currentBlockSize+e.byteLength<64){this.blocks.set(e,this.currentBlockSize),this.currentBlockSize+=e.byteLength;return}let n=0;if(this.currentBlockSize>0){const r=e.slice(0,64-this.currentBlockSize);this.blocks.set(r,this.currentBlockSize),this.process(),n+=r.byteLength,this.currentBlockSize=0}for(;n+64<=e.byteLength;){const r=e.slice(n,n+64);this.blocks.set(r),this.process(),n+=64}if(e.byteLength-n>0){const r=e.slice(n);this.blocks.set(r),this.currentBlockSize=r.byteLength}}digest(){this.blocks[this.currentBlockSize]=128,this.currentBlockSize+=1,64-this.currentBlockSize<8&&(this.blocks.fill(0,this.currentBlockSize),this.process(),this.currentBlockSize=0),this.blocks.fill(0,this.currentBlockSize),qf.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)qf.putUint32(e,this.H[n],n*4);return e}process(){for(let d=0;d<16;d++)this.w[d]=(this.blocks[d*4]<<24|this.blocks[d*4+1]<<16|this.blocks[d*4+2]<<8|this.blocks[d*4+3])>>>0;for(let d=16;d<64;d++){const p=(Dt(this.w[d-2],17)^Dt(this.w[d-2],19)^this.w[d-2]>>>10)>>>0,f=(Dt(this.w[d-15],7)^Dt(this.w[d-15],18)^this.w[d-15]>>>3)>>>0;this.w[d]=p+this.w[d-7]+f+this.w[d-16]|0}let e=this.H[0],n=this.H[1],r=this.H[2],i=this.H[3],s=this.H[4],a=this.H[5],c=this.H[6],l=this.H[7];for(let d=0;d<64;d++){const p=(Dt(s,6)^Dt(s,11)^Dt(s,25))>>>0,f=(s&a^~s&c)>>>0,g=l+p+f+g2[d]+this.w[d]|0,_=(Dt(e,2)^Dt(e,13)^Dt(e,22))>>>0,w=(e&n^e&r^n&r)>>>0,k=_+w|0;l=c,c=a,a=s,s=i+g|0,i=r,r=n,n=e,e=g+k|0}this.H[0]=e+this.H[0]|0,this.H[1]=n+this.H[1]|0,this.H[2]=r+this.H[2]|0,this.H[3]=i+this.H[3]|0,this.H[4]=s+this.H[4]|0,this.H[5]=a+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const g2=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);new BigUint64Array([0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n]);class h_{data;constructor(e){this.data=e}tokenType(){if("token_type"in this.data&&typeof this.data.token_type=="string")return this.data.token_type;throw new Error("Missing or invalid 'token_type' field")}accessToken(){if("access_token"in this.data&&typeof this.data.access_token=="string")return this.data.access_token;throw new Error("Missing or invalid 'access_token' field")}accessTokenExpiresInSeconds(){if("expires_in"in this.data&&typeof this.data.expires_in=="number")return this.data.expires_in;throw new Error("Missing or invalid 'expires_in' field")}accessTokenExpiresAt(){return new Date(Date.now()+this.accessTokenExpiresInSeconds()*1e3)}hasRefreshToken(){return"refresh_token"in this.data&&typeof this.data.refresh_token=="string"}refreshToken(){if("refresh_token"in this.data&&typeof this.data.refresh_token=="string")return this.data.refresh_token;throw new Error("Missing or invalid 'refresh_token' field")}hasScopes(){return"scope"in this.data&&typeof this.data.scope=="string"}scopes(){if("scope"in this.data&&typeof this.data.scope=="string")return this.data.scope.split(" ");throw new Error("Missing or invalid 'scope' field")}idToken(){if("id_token"in this.data&&typeof this.data.id_token=="string")return this.data.id_token;throw new Error("Missing or invalid field 'id_token'")}}function g_(t){const e=f2(new TextEncoder().encode(t));return Ru(e)}function Qa(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Ru(t)}function m_(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Ru(t)}function m2(t,e){if(e.length!==1)throw new TypeError("Invalid character string");let n=0;for(;n<t.length&&t[n]===e;)n++;return t.slice(n)}function Ff(t,e){if(e.length!==1)throw new TypeError("Invalid character string");let n=t.length;for(;n>0&&t[n-1]===e;)n--;return t.slice(0,n)}function Hf(t,...e){let n=Ff(t,"/");for(const r of e)n=Ff(n,"/")+"/"+m2(r,"/");return n}function un(t,e){const n=new TextEncoder().encode(e.toString()),r=new Request(t,{method:"POST",body:n});return r.headers.set("Content-Type","application/x-www-form-urlencoded"),r.headers.set("Accept","application/json"),r.headers.set("User-Agent","arctic"),r.headers.set("Content-Length",n.byteLength.toString()),r}function er(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return l2(n)}async function Xr(t){let e;try{e=await fetch(t)}catch(n){throw new Lu(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Fr(e.status)}if(typeof n!="object"||n===null)throw new In(e.status,n);let r;try{r=Bu(n)}catch{throw new In(e.status,n)}throw r}if(e.status===200){let n;try{n=await e.json()}catch{throw new Fr(e.status)}if(typeof n!="object"||n===null)throw new In(e.status,n);return new h_(n)}throw e.body!==null&&await e.body.cancel(),new Fr(e.status)}async function _2(t){let e;try{e=await fetch(t)}catch(n){throw new Lu(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new In(e.status,null)}if(typeof n!="object"||n===null)throw new In(e.status,n);let r;try{r=Bu(n)}catch{throw new In(e.status,n)}throw r}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new Fr(e.status)}function Bu(t){let e;if("error"in t&&typeof t.error=="string")e=t.error;else throw new Error("Invalid error response");let n=null,r=null,i=null;if("error_description"in t){if(typeof t.error_description!="string")throw new Error("Invalid data");n=t.error_description}if("error_uri"in t){if(typeof t.error_uri!="string")throw new Error("Invalid data");r=t.error_uri}if("state"in t){if(typeof t.state!="string")throw new Error("Invalid data");i=t.state}return new y2(e,n,r,i)}class Lu extends Error{constructor(e){super("Failed to send request",{cause:e})}}class y2 extends Error{code;description;uri;state;constructor(e,n,r,i){super(`OAuth request error: ${e}`),this.code=e,this.description=n,this.uri=r,this.state=i}}class Fr extends Error{status;constructor(e){super("Unexpected error response"),this.status=e}}class In extends Error{status;data;constructor(e,n){super("Unexpected error response body"),this.status=e,this.data=n}}class $r{clientId;clientPassword;redirectURI;constructor(e,n,r){this.clientId=e,this.clientPassword=n,this.redirectURI=r}createAuthorizationURL(e,n,r){const i=new URL(e);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",n),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}createAuthorizationURLWithPKCE(e,n,r,i,s){const a=new URL(e);if(a.searchParams.set("response_type","code"),a.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&a.searchParams.set("redirect_uri",this.redirectURI),a.searchParams.set("state",n),r===sr.S256){const c=g_(i);a.searchParams.set("code_challenge_method","S256"),a.searchParams.set("code_challenge",c)}else r===sr.Plain&&(a.searchParams.set("code_challenge_method","plain"),a.searchParams.set("code_challenge",i));return s.length>0&&a.searchParams.set("scope",s.join(" ")),a}async validateAuthorizationCode(e,n,r){const i=new URLSearchParams;i.set("grant_type","authorization_code"),i.set("code",n),this.redirectURI!==null&&i.set("redirect_uri",this.redirectURI),r!==null&&i.set("code_verifier",r),this.clientPassword===null&&i.set("client_id",this.clientId);const s=un(e,i);if(this.clientPassword!==null){const c=er(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Xr(s)}async refreshAccessToken(e,n,r){const i=new URLSearchParams;i.set("grant_type","refresh_token"),i.set("refresh_token",n),this.clientPassword===null&&i.set("client_id",this.clientId),r.length>0&&i.set("scope",r.join(" "));const s=un(e,i);if(this.clientPassword!==null){const c=er(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Xr(s)}async revokeToken(e,n){const r=new URLSearchParams;r.set("token",n),this.clientPassword===null&&r.set("client_id",this.clientId);const i=un(e,r);if(this.clientPassword!==null){const s=er(this.clientId,this.clientPassword);i.headers.set("Authorization",`Basic ${s}`)}await _2(i)}}var sr;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(sr||(sr={}));var Vf;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Vf||(Vf={}));var Kf;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Kf||(Kf={}));function io(t){return w2(t,b2,na.None)}function w2(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===na.Include&&(r+="=")}return r}const b2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var na;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(na||(na={}));var Gf;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Gf||(Gf={}));function v2(t,e,n){const r=io(new TextEncoder().encode(t)),i=io(new TextEncoder().encode(e)),s=io(n);return r+"."+i+"."+s}function $2(t,e){const n=io(new TextEncoder().encode(t)),r=io(new TextEncoder().encode(e)),i=n+"."+r;return new TextEncoder().encode(i)}const k2="https://appleid.apple.com/auth/authorize",x2="https://appleid.apple.com/auth/token";class __{clientId;teamId;keyId;pkcs8PrivateKey;redirectURI;constructor(e,n,r,i,s){this.clientId=e,this.teamId=n,this.keyId=r,this.pkcs8PrivateKey=i,this.redirectURI=s}createAuthorizationURL(e,n){const r=new URL(k2);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId);const r=await this.createClientSecret();n.set("client_secret",r);const i=un(x2,n);return await Xr(i)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),n=Math.floor(Date.now()/1e3),r=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),i=JSON.stringify({iss:this.teamId,exp:n+300,aud:["https://appleid.apple.com"],sub:this.clientId,iat:n}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,$2(r,i)));return v2(r,i,s)}}const S2="https://www.facebook.com/v16.0/dialog/oauth",z2="https://graph.facebook.com/v16.0/oauth/access_token";class y_{clientId;clientSecret;redirectURI;constructor(e,n,r){this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(S2);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId),n.set("client_secret",this.clientSecret);const r=un(z2,n);return await Xr(r)}}const A2="https://github.com/login/oauth/authorize",Wf="https://github.com/login/oauth/access_token";class w_{clientId;clientSecret;redirectURI;constructor(e,n,r){this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(A2);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),this.redirectURI!==null&&r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),this.redirectURI!==null&&n.set("redirect_uri",this.redirectURI);const r=un(Wf,n),i=er(this.clientId,this.clientSecret);return r.headers.set("Authorization",`Basic ${i}`),await Jf(r)}async refreshAccessToken(e){const n=new URLSearchParams;n.set("grant_type","refresh_token"),n.set("refresh_token",e);const r=un(Wf,n),i=er(this.clientId,this.clientSecret);return r.headers.set("Authorization",`Basic ${i}`),await Jf(r)}}async function Jf(t){let e;try{e=await fetch(t)}catch(i){throw new Lu(i)}if(e.status!==200)throw e.body!==null&&await e.body.cancel(),new Fr(e.status);let n;try{n=await e.json()}catch{throw new Fr(e.status)}if(typeof n!="object"||n===null)throw new In(e.status,n);if("error"in n&&typeof n.error=="string"){let i;try{i=Bu(n)}catch{throw new In(e.status,n)}throw i}return new h_(n)}const E2="https://accounts.google.com/o/oauth2/v2/auth",Xf="https://oauth2.googleapis.com/token",C2="https://oauth2.googleapis.com/revoke";let b_=class{client;constructor(e,n,r){this.client=new $r(e,n,r)}createAuthorizationURL(e,n,r){return this.client.createAuthorizationURLWithPKCE(E2,e,sr.S256,n,r)}async validateAuthorizationCode(e,n){return await this.client.validateAuthorizationCode(Xf,e,n)}async refreshAccessToken(e){return await this.client.refreshAccessToken(Xf,e,[])}async revokeToken(e){await this.client.revokeToken(C2,e)}};class v_{authorizationEndpoint;tokenEndpoint;clientId;clientSecret;redirectURI;constructor(e,n,r,i){this.authorizationEndpoint=Hf("https://login.microsoftonline.com",e,"/oauth2/v2.0/authorize"),this.tokenEndpoint=Hf("https://login.microsoftonline.com",e,"/oauth2/v2.0/token"),this.clientId=n,this.clientSecret=r,this.redirectURI=i}createAuthorizationURL(e,n,r){const i=new URL(this.authorizationEndpoint);i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",e);const s=g_(n);return i.searchParams.set("code_challenge_method","S256"),i.searchParams.set("code_challenge",s),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}async validateAuthorizationCode(e,n){const r=new URLSearchParams;r.set("grant_type","authorization_code"),r.set("code",e),r.set("redirect_uri",this.redirectURI),r.set("code_verifier",n),this.clientSecret===null&&r.set("client_id",this.clientId);const i=un(this.tokenEndpoint,r);if(this.clientSecret!==null){const a=er(this.clientId,this.clientSecret);i.headers.set("Authorization",`Basic ${a}`)}else i.headers.set("Origin","arctic");return await Xr(i)}async refreshAccessToken(e,n){const r=new URLSearchParams;r.set("grant_type","refresh_token"),r.set("refresh_token",e),this.clientSecret===null&&r.set("client_id",this.clientId),n.length>0&&r.set("scope",n.join(" "));const i=un(this.tokenEndpoint,r);if(this.clientSecret!==null){const a=er(this.clientId,this.clientSecret);i.headers.set("Authorization",`Basic ${a}`)}else i.headers.set("Origin","arctic");return await Xr(i)}}const hi=o.z.object({iss:o.z.string().url(),sub:o.z.string(),aud:o.z.string(),exp:o.z.number(),email:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),name:o.z.string().optional(),iat:o.z.number(),auth_time:o.z.number().optional(),nonce:o.z.string().optional(),acr:o.z.string().optional(),amr:o.z.array(o.z.string()).optional(),azp:o.z.string().optional(),at_hash:o.z.string().optional(),c_hash:o.z.string().optional()}).passthrough();hi.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function ec(t){return t.ISSUER}function De(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function ge(t){return t.OAUTH_API_URL||t.ISSUER}const N2="Apple",I2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M45 0H0V45H45V0Z",fill:"white"}),u("path",{d:"M23.5344 10.3846C25.5313 10.3846 28.0344 9.01144 29.525 7.18055C30.875 5.5213 31.8594 3.20407 31.8594 0.886839C31.8594 0.572154 31.8313 0.25747 31.775 0C29.5531 0.0858233 26.8813 1.51621 25.2781 3.43293C24.0125 4.89193 22.8594 7.18055 22.8594 9.52638C22.8594 9.86968 22.9156 10.213 22.9438 10.3274C23.0844 10.356 23.3094 10.3846 23.5344 10.3846ZM16.5031 45C19.2313 45 20.4406 43.1405 23.8438 43.1405C27.3031 43.1405 28.0625 44.9428 31.1 44.9428C34.0813 44.9428 36.0781 42.1392 37.9625 39.3929C40.0719 36.246 40.9438 33.1564 41 33.0134C40.8031 32.9561 35.0938 30.5817 35.0938 23.9161C35.0938 18.1373 39.5938 15.534 39.8469 15.3338C36.8656 10.9854 32.3375 10.8709 31.1 10.8709C27.7531 10.8709 25.025 12.9307 23.3094 12.9307C21.4531 12.9307 19.0063 10.9854 16.1094 10.9854C10.5969 10.9854 5 15.6198 5 24.3738C5 29.8093 7.08125 35.5594 9.64063 39.2784C11.8344 42.4253 13.7469 45 16.5031 45Z",fill:"black"})]});function $_(t){const{options:e}=t;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const n=Buffer.from(e.app_secret,"utf-8"),r=n.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),i=Uint8Array.from(Buffer.from(r,"base64"));return n.fill(0),{options:e,keyArray:i}}async function j2(t,e){const{options:n,keyArray:r}=$_(e),i=`${ge(t.env)}callback`,s=new __(n.client_id,n.team_id,n.kid,r,i),a=pe(),c=await s.createAuthorizationURL(a,n.scope?.split(" ")||["name","email"]);return(n.scope?.split(" ")||["name","email"]).some(d=>["email","name"].includes(d))&&c.searchParams.set("response_mode","form_post"),{redirectUrl:c.href,code:a}}async function O2(t,e,n){const{options:r,keyArray:i}=$_(e),a=await new __(r.client_id,r.team_id,r.kid,i,`${ge(t.env)}callback`).validateAuthorizationCode(n),c=Uo(a.idToken());if(!c)throw new Error("Invalid ID token");const l=hi.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const P2=Object.freeze(Object.defineProperty({__proto__:null,displayName:N2,getRedirect:j2,logo:I2,validateAuthorizationCodeAndGetUser:O2},Symbol.toStringTag,{value:"Module"})),T2="Facebook",R2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M45 22.5C45 10.0736 34.9264 0 22.5 0C10.0736 0 0 10.0736 0 22.5C0 33.7031 8.23242 42.9785 19.0039 44.6953V28.9746H13.2861V22.5H19.0039V17.5391C19.0039 11.8945 22.3828 8.75977 27.5391 8.75977C29.9658 8.75977 32.5049 9.19922 32.5049 9.19922V14.7656H29.7012C26.9414 14.7656 26.0156 16.4824 26.0156 18.2432V22.5H32.2412L31.2012 28.9746H26.0156V44.6953C36.7871 42.9785 45 33.7031 45 22.5Z",fill:"#1877F2"}),u("path",{d:"M31.2012 28.9746L32.2412 22.5H26.0156V18.2432C26.0156 16.4824 26.9414 14.7656 29.7012 14.7656H32.5049V9.19922C32.5049 9.19922 29.9658 8.75977 27.5391 8.75977C22.3828 8.75977 19.0039 11.8945 19.0039 17.5391V22.5H13.2861V28.9746H19.0039V44.6953C20.1562 44.8984 21.3203 45 22.5 45C23.6797 45 24.8438 44.8984 26.0156 44.6953V28.9746H31.2012Z",fill:"white"})]});async function B2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required authentication parameters");const r=`${ge(t.env)}callback`,i=new y_(n.client_id,n.client_secret,r),s=pe();return{redirectUrl:i.createAuthorizationURL(s,n.scope?.split(" ")||["email"]).href,code:s}}async function L2(t,e,n){const{options:r}=e;if(!r?.client_id||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new y_(r.client_id,r.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n),a=await fetch("https://graph.facebook.com/v22.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!a.ok)throw new Error("Failed to fetch user info");const c=await a.json();return t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const U2=Object.freeze(Object.defineProperty({__proto__:null,displayName:T2,getRedirect:B2,logo:R2,validateAuthorizationCodeAndGetUser:L2},Symbol.toStringTag,{value:"Module"})),D2="Google",M2=!0,q2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M44.1035 23.0123C44.1054 21.4791 43.9758 19.9486 43.716 18.4375H22.498V27.1028H34.6507C34.4021 28.4868 33.8757 29.8061 33.1034 30.9812C32.3311 32.1562 31.3289 33.1628 30.1571 33.9401V39.5649H37.41C41.6567 35.6494 44.1035 29.859 44.1035 23.0123Z",fill:"#4285F4"}),u("path",{d:"M22.4982 44.9997C28.5698 44.9997 33.6821 43.0061 37.4101 39.5687L30.1573 33.9439C28.1386 35.3126 25.5387 36.0938 22.4982 36.0938C16.6296 36.0938 11.6485 32.1377 9.86736 26.8066H2.39575V32.6033C4.26839 36.3297 7.13989 39.4622 10.6896 41.6512C14.2394 43.8402 18.3277 44.9995 22.4982 44.9997Z",fill:"#34A853"}),u("path",{d:"M9.86737 26.8073C8.92572 24.0138 8.92572 20.9886 9.86737 18.1951V12.3984H2.39576C0.820432 15.5332 0 18.9929 0 22.5012C0 26.0095 0.820432 29.4692 2.39576 32.604L9.86737 26.8073Z",fill:"#FBBC04"}),u("path",{d:"M22.4982 8.90741C25.7068 8.85499 28.8071 10.0673 31.1291 12.2823L37.5507 5.86064C33.4788 2.03602 28.0843 -0.0637686 22.4982 0.00147616C18.3277 0.00166623 14.2394 1.16098 10.6896 3.34999C7.13989 5.539 4.26839 8.67155 2.39575 12.3979L9.86736 18.1946C11.6485 12.8635 16.6296 8.90741 22.4982 8.90741Z",fill:"#EA4335"})]});async function F2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required Google authentication parameters");const r=`${ge(t.env)}callback`,i=new b_(n.client_id,n.client_secret,r),s=pe(),a=Qa();return{redirectUrl:i.createAuthorizationURL(s,a,n.scope?.split(" ")??["email","profile"]).href,code:s,codeVerifier:a}}async function H2(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const a=await new b_(i.client_id,i.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n,r),c=Uo(a.idToken());if(!c)throw new Error("Invalid ID token");const l=hi.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const V2=Object.freeze(Object.defineProperty({__proto__:null,disableEmbeddedBrowsers:M2,displayName:D2,getRedirect:F2,logo:q2,validateAuthorizationCodeAndGetUser:H2},Symbol.toStringTag,{value:"Module"})),K2="Vipps",G2=({className:t=""})=>u("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"45",height:"45",className:t,children:[u("path",{fill:"#FF5B24",d:"M3.5,8h41c1.9,0,3.5,1.6,3.5,3.5v25c0,1.9-1.6,3.5-3.5,3.5h-41C1.6,40,0,38.4,0,36.5v-25C0,9.6,1.6,8,3.5,8z"}),u("path",{fillRule:"evenodd",clipRule:"evenodd",fill:"#FFFFFF",d:`M27.9,20.3c1.4,0,2.6-1,2.6-2.5h0c0-1.5-1.2-2.5-2.6-2.5c-1.4,0-2.6,1-2.6,2.5C25.3,19.2,26.5,20.3,27.9,20.3z
65
+ </html>`}const Dl=["openid","profile","email","address","phone"];async function Ev(t,e){const{tenantId:n,clientId:r,audience:i,requestedScopes:s}=e,a=s.filter(S=>Dl.includes(S)),l=(await t.env.data.resourceServers.list(n)).resource_servers.filter(S=>S.identifier===i);if(l.length===0)return{scopes:a,permissions:[]};const d=l[0];if(!d)return{scopes:a,permissions:[]};const p=d.options?.enforce_policies===!0,f=d.options?.token_dialect||"access_token",_=(await t.env.data.clientGrants.list(n,{q:`client_id:"${r}"`})).client_grants.find(S=>S.audience===i);if(!_)return{scopes:a,permissions:[]};const w=_.scope||[],k=(d.scopes||[]).map(S=>S.value);if(!p){let S;return s.length===0?S=w.filter(O=>k.includes(O)):S=s.filter(O=>k.includes(O)&&w.includes(O)),{scopes:[...new Set([...a,...S])],permissions:[]}}const z=w.filter(S=>k.includes(S));if(f==="access_token_authz")return{scopes:a,permissions:z};let N;return s.length===0?N=w.filter(S=>k.includes(S)):N=s.filter(S=>k.includes(S)&&w.includes(S)),{scopes:[...new Set([...a,...N])],permissions:z}}async function Qs(t,e){if(e.grantType===xt.ClientCredential)return await Ev(t,{tenantId:e.tenantId,clientId:e.clientId,audience:e.audience,requestedScopes:e.requestedScopes});const{tenantId:n,userId:r,audience:i,requestedScopes:s,organizationId:a}=e;if(a&&!(await t.env.data.userOrganizations.list(n,{q:`user_id:${r}`,per_page:1e3})).userOrganizations.some(ce=>ce.organization_id===a))throw new L(403,{error:"access_denied",error_description:"User is not a member of the specified organization"});const c=s.filter(F=>Dl.includes(F)),d=(await t.env.data.resourceServers.list(n)).resource_servers.filter(F=>F.identifier===i);if(d.length===0)return{scopes:s,permissions:[]};const p=d[0];if(!p)return{scopes:s,permissions:[]};const f=(p.scopes||[]).map(F=>F.value),g=p.options?.enforce_policies===!0,_=p.options?.token_dialect||"access_token";if(!g)return{scopes:s,permissions:[]};const w=await t.env.data.userPermissions.list(n,r,void 0,a),k=await t.env.data.userRoles.list(n,r,void 0,""),z=a?await t.env.data.userRoles.list(n,r,void 0,a):[],N=[...k,...z],I=[];for(const F of N)(await t.env.data.rolePermissions.list(n,F.id)).forEach(ce=>{ce.resource_server_identifier===i&&I.push(ce.permission_name)});const S=new Set;w.forEach(F=>{F.resource_server_identifier===i&&S.add(F.permission_name)}),I.forEach(F=>{S.add(F)});const E=Array.from(S),O=E.filter(F=>f.includes(F)),K=s.filter(F=>!f.includes(F)&&!Dl.includes(F));if(_==="access_token_authz")return{scopes:[...new Set([...c,...K])],permissions:O};const W=s.filter(F=>f.includes(F)&&E.includes(F));return{scopes:[...new Set([...c,...W,...K])],permissions:O}}const Nf=["sub","iss","aud","exp","nbf","iat","jti"];async function Wa(t,e){const{authParams:n,user:r,client:i,session_id:s,organization:a,permissions:c,impersonatingUser:l}=e,{signingKeys:d}=await t.env.data.keys.list({q:"type:jwt_signing"}),p=d.filter(E=>!E.revoked_at||new Date(E.revoked_at)>new Date),f=p[p.length-1];if(!f?.pkcs7)throw new L(500,{message:"No signing key available"});const g=Kb(f.pkcs7),_=t.var.custom_domain?`https://${t.var.custom_domain}/`:t.env.ISSUER,w=n.audience||i.tenant.audience;if(!w)throw new L(400,{error:"invalid_request",error_description:"An audience must be specified in the request or configured as the tenant default_audience"});const k={aud:w,scope:n.scope||"",sub:r?.user_id||n.client_id,iss:_,tenant_id:t.var.tenant_id,sid:s,act:l?{sub:l.user_id}:void 0,org_id:a?a.id:void 0,permissions:c},z=r&&n.scope?.split(" ").includes("openid")?{aud:n.client_id,sub:r.user_id,iss:_,sid:s,nonce:n.nonce,given_name:r.given_name,family_name:r.family_name,nickname:r.nickname,picture:r.picture,locale:r.locale,name:r.name,email:r.email,email_verified:r.email_verified,act:l?{sub:l.user_id}:void 0,org_id:a?.id,org_name:a?.name}:void 0;t.env.hooks?.onExecuteCredentialsExchange&&await t.env.hooks.onExecuteCredentialsExchange({ctx:t,client:i,user:r,request:{ip:t.var.ip||"",user_agent:t.var.useragent||"",method:t.req.method,url:t.req.url},scope:n.scope||"",grant_type:""},{accessToken:{setCustomClaim:(E,O)=>{if(Nf.includes(E))throw new Error(`Cannot overwrite reserved claim '${E}'`);k[E]=O}},idToken:{setCustomClaim:(E,O)=>{if(Nf.includes(E))throw new Error(`Cannot overwrite reserved claim '${E}'`);z&&(z[E]=O)}},access:{deny:E=>{throw new L(400,{message:`Access denied: ${E}`})}},token:{createServiceToken:async E=>{const{createServiceToken:O}=await Promise.resolve().then(()=>Nv);return(await O(t,t.var.tenant_id,E.scope,E.expiresInSeconds)).access_token}}});const N={expiresIn:l?new Zs(1,"h"):new Zs(1,"d"),headers:{kid:f.kid}},I=await zf("RS256",g,k,N),S=z?await zf("RS256",g,z,N):void 0;return{access_token:I,refresh_token:e.refresh_token,id_token:S,token_type:"Bearer",expires_in:l?3600:86400}}async function e_(t,e){return{code:(await t.env.data.codes.create(e.client.tenant.id,{code_id:pe(),user_id:e.user.user_id,code_type:"authorization_code",login_id:e.login_id,expires_at:new Date(Date.now()+Jb*1e3).toISOString(),code_challenge:e.authParams.code_challenge,code_challenge_method:e.authParams.code_challenge_method,redirect_uri:e.authParams.redirect_uri,state:e.authParams.state,nonce:e.authParams.nonce})).code_id,state:e.authParams.state}}async function t_(t,e){const{client:n,scope:r,audience:i=n.tenant.audience,session_id:s}=e;return await t.env.data.refreshTokens.create(n.tenant.id,{id:pe(),session_id:s,client_id:n.client_id,idle_expires_at:new Date(Date.now()+Ga*1e3).toISOString(),user_id:e.user.user_id,device:{last_ip:t.var.ip,initial_ip:t.var.ip,last_user_agent:t.var.useragent||"",initial_user_agent:t.var.useragent||"",initial_asn:"",last_asn:""},resource_servers:[{audience:i,scopes:r}],rotating:!1})}async function n_(t,{user:e,client:n,loginSession:r}){const i=await t.env.data.sessions.create(n.tenant.id,{id:pe(),user_id:e.user_id,login_session_id:r.id,idle_expires_at:new Date(Date.now()+Ga*1e3).toISOString(),device:{last_ip:t.var.ip||"",initial_ip:t.var.ip||"",last_user_agent:t.var.useragent||"",initial_user_agent:t.var.useragent||"",initial_asn:"",last_asn:""},clients:[n.client_id]});return await t.env.data.loginSessions.update(n.tenant.id,r.id,{session_id:i.id}),i}async function Kt(t,e){const{authParams:n,client:r,ticketAuth:i}=e;let{user:s}=e;const a=n.response_type||mt.CODE,c=n.response_mode||Ht.QUERY;if(i){if(!e.loginSession)throw new L(500,{message:"Login session not found for ticket auth."});s&&!e.skipHooks&&(e.authStrategy&&s.app_metadata?.strategy!==e.authStrategy.strategy&&(s.app_metadata={...s.app_metadata,strategy:e.authStrategy.strategy},await t.env.data.users.update(r.tenant.id,s.user_id,{app_metadata:{...s.app_metadata||{},strategy:e.authStrategy.strategy}})),await i_(t,t.env.data,r.tenant.id,s,e.loginSession,{client:r,authParams:n,authStrategy:e.authStrategy}));const _=Vb(),w=pe(12),k=await t.env.data.codes.create(r.tenant.id,{code_id:pe(),code_type:"ticket",login_id:e.loginSession.id,expires_at:new Date(Date.now()+Zb).toISOString(),code_verifier:[w,_].join("|"),redirect_uri:n.redirect_uri,state:n.state,nonce:n.nonce});return t.json({login_ticket:k.code_id,co_verifier:_,co_id:w})}let l=e.refreshToken,d=e.sessionId;if(!d&&e.loginSession?.session_id){d=e.loginSession.session_id;const _=await t.env.data.sessions.get(r.tenant.id,d);_&&!_.clients.includes(r.client_id)&&await t.env.data.sessions.update(r.tenant.id,d,{clients:[..._.clients,r.client_id]})}else if(!d){if(!e.loginSession)throw new L(500,{message:"Login session not found for creating a new session."});d=(await n_(t,{user:s,client:r,loginSession:e.loginSession})).id}if(!l&&n.scope?.split(" ").includes("offline_access")&&![mt.TOKEN,mt.CODE].includes(a)&&!e.impersonatingUser&&(l=(await t_(t,{user:s,client:r,session_id:d,scope:n.scope,audience:n.audience})).id),c===Ht.SAML_POST){if(!d)throw new v(500,{message:"Session ID not available for SAML response"});return Av(t,e.client,e.authParams,s,d)}const p=await Cv(t,{authParams:n,user:s,client:r,session_id:d,refresh_token:l,authStrategy:e.authStrategy,loginSession:e.loginSession,responseType:a,skipHooks:e.skipHooks,organization:e.organization,impersonatingUser:e.impersonatingUser});if(p instanceof Response)return p;if(c===Ht.WEB_MESSAGE){if(!n.redirect_uri)throw new L(400,{message:"Redirect URI not allowed for WEB_MESSAGE response mode."});const _=new Headers;if(d){const z=Ys(r.tenant.id,d,t.var.host||"");z&&_.set("set-cookie",z)}else console.warn("Session ID not available for WEB_MESSAGE, cookie will not be set.");const w=new URL(n.redirect_uri),k=`${w.protocol}//${w.host}`;return t.html(Ul(k,JSON.stringify({...p,state:n.state})),{headers:_})}if(!n.redirect_uri)throw new L(400,{message:"Redirect uri not found for this response mode."});const f=new Headers;if(d){const _=Ys(r.tenant.id,d,t.var.custom_domain||t.req.header("host")||"");_&&f.set("set-cookie",_)}const g=new URL(n.redirect_uri);if("code"in p)g.searchParams.set("code",p.code),p.state&&g.searchParams.set("state",p.state);else if("access_token"in p)g.hash=new URLSearchParams({access_token:p.access_token,...p.id_token&&{id_token:p.id_token},token_type:p.token_type,expires_in:p.expires_in.toString(),...n.state&&{state:n.state},...n.scope&&{scope:n.scope}}).toString();else throw new L(500,{message:"Invalid token response for implicit flow."});return f.set("location",g.toString()),new Response("Redirecting",{status:302,headers:f})}async function Cv(t,e){let{user:n}=e;const r=e.responseType||mt.TOKEN;if(n&&e.organization&&!(await t.env.data.userOrganizations.list(e.client.tenant.id,{q:`user_id:${n.user_id}`,per_page:1e3})).userOrganizations.some(d=>d.organization_id===e.organization.id))throw new L(403,{error:"access_denied",error_description:"User is not a member of the specified organization"});let i=e.authParams.scope||"",s=[];if(e.authParams.audience)try{let c;if(e.grantType===xt.ClientCredential||!n&&!e.user)c=await Qs(t,{grantType:xt.ClientCredential,tenantId:e.client.tenant.id,clientId:e.client.client_id,audience:e.authParams.audience,requestedScopes:e.authParams.scope?.split(" ")||[],organizationId:e.organization?.id});else{const l=n?.user_id||e.user?.user_id;if(!l)throw new L(400,{error:"invalid_request",error_description:"User ID is required for user-based grants"});c=await Qs(t,{grantType:e.grantType,tenantId:e.client.tenant.id,userId:l,clientId:e.client.client_id,audience:e.authParams.audience,requestedScopes:e.authParams.scope?.split(" ")||[],organizationId:e.organization?.id})}i=c.scopes.join(" "),s=c.permissions}catch(c){if(c instanceof v)throw c}const a={...e.authParams,scope:i};if(e.loginSession&&n&&!e.skipHooks){e.authStrategy&&n.app_metadata?.strategy!==e.authStrategy.strategy&&(n.app_metadata={...n.app_metadata,strategy:e.authStrategy.strategy},await t.env.data.users.update(e.client.tenant.id,n.user_id,{app_metadata:{...n.app_metadata||{},strategy:e.authStrategy.strategy}}));const c=await i_(t,t.env.data,e.client.tenant.id,n,e.loginSession,{client:e.client,authParams:a,authStrategy:e.authStrategy});if(c instanceof Response)return c;n=c}if(r===mt.CODE){if(!n||!e.loginSession)throw new L(500,{message:"User and loginSession is required for code flow"});return await e_(t,{user:n,client:e.client,authParams:a,login_id:e.loginSession.id})}else return Wa(t,{...e,user:n,authParams:a,permissions:s})}const If="auth-service";async function Ja(t,e,n,r){const i=await t.env.data.tenants.get(e);if(!i)throw new Error(`Tenant not found: ${e}`);const s={client_id:If,tenant:i,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),name:"Auth Service",global:!1,is_first_party:!0,oidc_conformant:!1,sso:!1,sso_disabled:!1,cross_origin_authentication:!1,custom_login_page_on:!1,require_pushed_authorization_requests:!1,require_proof_of_possession:!1,client_metadata:{disable_sign_ups:"false",email_validation:"disabled"},disable_sign_ups:!1,email_validation:"disabled",connections:[]},a=await Wa(t,{client:s,authParams:{client_id:If,response_type:mt.TOKEN,scope:n}});return{access_token:a.access_token,token_type:a.token_type,expires_in:r||3600}}const Nv=Object.freeze(Object.defineProperty({__proto__:null,createServiceToken:Ja},Symbol.toStringTag,{value:"Module"}));async function Xa(t,e,n){const r=await Ja(t,n.tenant_id,"webhook");for await(const i of e.filter(s=>"url"in s))(await fetch(i.url,{method:"POST",headers:{Authorization:`Bearer ${r.access_token}`,"Content-Type":"application/json"},body:JSON.stringify(n)})).ok||ne(t,n.tenant_id,{type:ee.FAILED_HOOK,description:`Failed to invoke hook ${i.hook_id}`})}function Iv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e);return await Xa(t,r,{tenant_id:e,user:n,trigger_id:"post-user-registration"}),n}}function jv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:pre-user-registration",page:0,per_page:100,include_totals:!1});await Xa(t,r,{tenant_id:e,email:n,trigger_id:"pre-user-registration"})}}async function Ov(t,e){const{hooks:n}=await t.env.data.hooks.list(e,{q:"trigger_id:validate-registration-username",page:0,per_page:1,include_totals:!1});return n.find(r=>"url"in r&&r.enabled)||null}function Pv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:pre-user-deletion",page:0,per_page:100,include_totals:!1});return await Xa(t,r,{tenant_id:e,user:n,trigger_id:"pre-user-deletion"}),n}}function Tv(t){return async(e,n)=>{const{hooks:r}=await t.env.data.hooks.list(e,{q:"trigger_id:post-user-deletion",page:0,per_page:100,include_totals:!1});return await Xa(t,r,{tenant_id:e,user:n,trigger_id:"post-user-deletion"}),n}}function jf(t){return typeof t.form_id=="string"}async function Rv(t,e,n){const r=t.env.data,i=t.var.tenant_id||t.req.header("tenant-id");if(!i)throw new v(400,{message:"Missing tenant_id in context"});const s=await r.forms.get(i,e);if(!s)throw new v(404,{message:"Form not found for post-user-login hook"});let a=s.start?.next_node;if(!a&&s.nodes&&s.nodes.length>0&&(a=s.nodes.find(d=>d.type==="STEP")?.id),!a)throw new v(400,{message:"No start node found in form"});let c=`/u/forms/${s.id}/nodes/${a}?state=${encodeURIComponent(n.id)}`;return new Response(null,{status:302,headers:{location:c}})}function Of(t){return typeof t.page_id=="string"&&typeof t.enabled=="boolean"}async function Bv(t,e,n,r,i){const s=t.env.data,a=t.var.tenant_id||t.req.header("tenant-id");if(!a)throw new v(400,{message:"Missing tenant_id in context"});if(i&&!(await s.userPermissions.list(a,r.user_id)).some(p=>p.permission_name===i))return r;let c=`/u/${e}?state=${encodeURIComponent(n.id)}`;return new Response(null,{status:302,headers:{location:c}})}function or(t,e){return{createServiceToken:async n=>(await Ja(t,e,n.scope,n.expiresInSeconds)).access_token}}function Pf(t){return typeof t.url=="string"}function Lv(t,e){return async(n,r)=>{if(t.var.client_id){const a=await e.legacyClients.get(t.var.client_id);if(!a)throw new L(400,{message:"Client not found"});r.email&&await Dv(t,a,e,r.email)}const i={method:t.req.method,ip:t.req.query("x-real-ip")||"",user_agent:t.req.query("user-agent"),url:t.var.loginSession?.authorization_url||t.req.url};if(t.env.hooks?.onExecutePreUserRegistration)try{await t.env.hooks.onExecutePreUserRegistration({ctx:t,user:r,request:i},{user:{setUserMetadata:async(a,c)=>{r[a]=c}},token:or(t,n)})}catch{ne(t,n,{type:ee.FAILED_SIGNUP,description:"Pre user registration hook failed"})}let s=await Tb(e)(n,r);if(t.env.hooks?.onExecutePostUserRegistration)try{await t.env.hooks.onExecutePostUserRegistration({ctx:t,user:r,request:i},{user:{},token:or(t,n)})}catch{ne(t,n,{type:ee.FAILED_SIGNUP,description:"Post user registration hook failed"})}return await Iv(t)(n,s),s}}function Uv(t,e){return async(n,r,i)=>{if(Object.keys(i).length===1&&"linked_to"in i)return e.users.update(n,r,i);const s=await e.users.get(n,r);if(!s)throw new L(404,{message:"User not found"});const a={method:t.req.method,ip:t.var.ip||t.get("ip")||"",user_agent:t.var.useragent||t.get("useragent")||"",url:t.req.url};if(t.env.hooks?.onExecutePreUserUpdate)try{await t.env.hooks.onExecutePreUserUpdate({ctx:t,tenant:{id:n},user_id:r,user:s,updates:i,request:a},{user:{setUserMetadata:async(c,l)=>{i[c]=l}},cancel:()=>{throw new L(400,{message:"User update cancelled by pre-update hook"})},token:or(t,n)})}catch{throw new L(400,{message:"Pre user update hook failed"})}if(await e.users.update(n,r,i),i.email||i.email_verified){const c=await e.users.get(n,r);if(c&&c.email&&c.email_verified){const{users:l}=await e.users.list(n,{page:0,per_page:10,include_totals:!1,q:`email:${c.email}`}),d=l.filter(p=>p.email_verified&&p.user_id!==r&&!p.linked_to);d.length>0&&await e.users.update(n,r,{linked_to:d[0].user_id})}}return i.email&&ne(t,n,{type:ee.SUCCESS_CHANGE_EMAIL,description:`Email updated to ${i.email}`,userId:r}),!0}}async function r_(t,e,n,r,i="email"){if(e.client_metadata?.disable_sign_ups==="true"){const a=t.var.loginSession?.authorization_url;if(a&&new URL(a).searchParams.get("screen_hint")==="signup")return{allowed:!0};if(!await ju({userAdapter:n.users,tenant_id:e.tenant.id,email:r}))return{allowed:!1,reason:"Public signup is disabled for this client"}}if(t.env.hooks?.onExecuteValidateSignupEmail){const a={method:t.req.method,ip:t.var.ip||t.get("ip")||"",user_agent:t.var.useragent||t.get("useragent")||"",url:t.req.url};let c=!1,l;try{if(await t.env.hooks.onExecuteValidateSignupEmail({ctx:t,client:e,request:a,tenant:{id:e.tenant.id},user:{email:r,connection:i}},{deny:d=>{c=!0,l=d},token:or(t,e.tenant.id)}),c)return{allowed:!1,reason:l}}catch{return{allowed:!1,reason:"Signup validation hook failed"}}}const s=await Ov(t,e.tenant.id);if(s&&"url"in s)try{const a=await Ja(t,e.tenant.id,"webhook"),c=await fetch(s.url,{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({tenant_id:e.tenant.id,email:r,connection:i,client_id:e.client_id,trigger_id:"validate-registration-username"})});if(!c.ok)return{allowed:!1,reason:await c.text()||"Signup not allowed by webhook"};const l=await c.json();if(l.allowed===!1)return{allowed:!1,reason:l.reason||"Signup not allowed by webhook"}}catch{ne(t,e.tenant.id,{type:ee.FAILED_HOOK,description:"Validate signup email webhook failed"})}return{allowed:!0}}async function Dv(t,e,n,r){const i=await r_(t,e,n,r);if(!i.allowed)throw ne(t,e.tenant.id,{type:ee.FAILED_SIGNUP,description:i.reason||"Signup not allowed"}),new L(400,{message:i.reason||"Signups are disabled for this client"});await jv(t)(e.tenant.id,r)}function Mv(t,e){return async(n,r)=>{const i=await e.users.get(n,r);if(!i)return!1;const s={method:t.req.method,ip:t.var.ip||t.get("ip")||"",user_agent:t.var.useragent||t.get("useragent")||"",url:t.req.url};if(t.env.hooks?.onExecutePreUserDeletion)try{await t.env.hooks.onExecutePreUserDeletion({ctx:t,user:i,user_id:r,request:s,tenant:{id:n}},{cancel:()=>{throw new L(400,{message:"User deletion cancelled by pre-deletion hook"})},token:or(t,n)})}catch(c){throw c instanceof v?c:(ne(t,n,{type:ee.FAILED_HOOK,description:`Pre user deletion hook failed: ${c instanceof Error?c.message:String(c)}`}),new L(400,{message:"Pre user deletion hook failed"}))}try{await Pv(t)(n,i)}catch(c){throw ne(t,n,{type:ee.FAILED_HOOK,description:`Pre user deletion webhook failed: ${c instanceof Error?c.message:String(c)}`}),new L(400,{message:"Pre user deletion webhook failed"})}const a=await e.users.remove(n,r);if(a){ne(t,n,{type:ee.SUCCESS_USER_DELETION,description:`user_id: ${r}`,strategy:i.provider||"auth0",strategy_type:i.is_social?"social":"database",connection:i.connection||"",body:{tenant:n,connection:i.connection||""}});try{await Tv(t)(n,i)}catch(c){ne(t,n,{type:ee.FAILED_HOOK,description:`Post user deletion webhook failed: ${c instanceof Error?c.message:String(c)}`})}}if(a&&t.env.hooks?.onExecutePostUserDeletion)try{await t.env.hooks.onExecutePostUserDeletion({ctx:t,user:i,user_id:r,request:s,tenant:{id:n}},{token:or(t,n)})}catch(c){ne(t,n,{type:ee.FAILED_HOOK,description:`Post user deletion hook failed: ${c instanceof Error?c.message:String(c)}`})}return a}}function Do(t,e){const n=e;return{...e,users:{...e.users,create:Lv(t,n),update:Uv(t,n),remove:Mv(t,n)}}}async function qv(t,e,n,r,i,s){let a=[];try{a=(await e.userRoles.list(n,r.user_id,void 0,"")).map(g=>g.name||g.id)}catch(p){console.error("Error fetching user roles:",p)}let c={};if(r.connection)try{const f=(await e.connections.list(n,{page:0,per_page:100,include_totals:!1})).connections.find(g=>g.name===r.connection);f&&(c={id:f.id,name:f.name,strategy:f.strategy||r.provider,metadata:f.options||{}})}catch(p){console.error("Error fetching connection info:",p)}let l;try{if(i.authParams?.organization){const p=await e.organizations.get(n,i.authParams.organization);p&&(l={id:p.id,name:p.name,display_name:p.display_name||p.name,metadata:p.metadata||{}})}}catch(p){console.error("Error fetching organization info:",p)}const d=t.get("countryCode");return{ctx:t,client:s.client,user:r,request:{asn:void 0,ip:t.get("ip")||"",user_agent:t.get("useragent"),method:t.req.method,url:t.req.url,geoip:{cityName:void 0,continentCode:void 0,countryCode:d||void 0,countryName:void 0,latitude:void 0,longitude:void 0,timeZone:void 0}},transaction:{id:i.id,locale:i.authParams?.ui_locales||"en",login_hint:void 0,prompt:i.authParams?.prompt,redirect_uri:i.authParams?.redirect_uri,requested_scopes:i.authParams?.scope?.split(" ")||[],response_mode:i.authParams?.response_mode,response_type:i.authParams?.response_type,state:i.authParams?.state,ui_locales:i.authParams?.ui_locales},scope:s.authParams?.scope||"",grant_type:s.authParams?.grant_type||"",audience:s.authParams?.audience,authentication:{methods:[{name:r.is_social?"federated":"pwd",timestamp:new Date().toISOString()}]},authorization:{roles:a},connection:Object.keys(c).length>0?c:{id:r.connection||"Username-Password-Authentication",name:r.connection||"Username-Password-Authentication",strategy:r.provider||"auth0"},organization:l,resource_server:s.authParams?.audience?{identifier:s.authParams.audience}:void 0,stats:{logins_count:r.login_count||0},tenant:{id:n},session:{id:i.id,created_at:i.created_at,authenticated_at:new Date().toISOString(),clients:[{client_id:s.client.client_id}],device:{initial_ip:t.get("ip"),initial_user_agent:t.get("useragent"),last_ip:r.last_ip||t.get("ip"),last_user_agent:t.get("useragent")}}}}async function i_(t,e,n,r,i,s){const a=s?.authStrategy?.strategy_type?s.authStrategy.strategy_type:r.is_social?"social":"database",c=s?.authStrategy?.strategy||r.connection||"";if(ne(t,n,{type:ee.SUCCESS_LOGIN,description:`Successful login for ${r.user_id}`,userId:r.user_id,strategy_type:a,strategy:c,connection:c,audience:s?.authParams?.audience,scope:s?.authParams?.scope}),await e.users.update(n,r.user_id,{last_login:new Date().toISOString(),last_ip:t.var.ip||"",login_count:r.login_count+1}),t.env.hooks?.onExecutePostLogin&&s?.client&&s?.authParams&&i){let p=null;const f=await qv(t,e,n,r,i,{client:s.client,authParams:s.authParams});if(await t.env.hooks.onExecutePostLogin(f,{prompt:{render:g=>{}},redirect:{sendUserTo:(g,_)=>{const w=new URL(g,t.req.url);w.searchParams.set("state",i.id),_?.query&&Object.entries(_.query).forEach(([k,z])=>{w.searchParams.set(k,z)}),p=w.toString()},encodeToken:g=>JSON.stringify({payload:g.payload,exp:Date.now()+(g.expiresInSeconds||900)*1e3}),validateToken:g=>null},token:or(t,n)}),p)return new Response(null,{status:302,headers:{location:p}})}const{hooks:l}=await e.hooks.list(n,{q:"trigger_id:post-user-login",page:0,per_page:100,include_totals:!1});if(i){const p=l.find(g=>g.enabled&&jf(g));if(p&&jf(p))return Rv(t,p.form_id,i);const f=l.find(g=>g.enabled&&Of(g));if(f&&Of(f))return Bv(t,f.page_id,i,r,f.permission_required)}const d=l.filter(p=>p.enabled&&Pf(p));for(const p of d)if(Pf(p))try{await fetch(p.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tenant_id:n,user:r,trigger_id:"post-user-login"})})}catch{ne(t,n,{type:ee.FAILED_HOOK,description:`Failed to invoke post-user-login webhook: ${p.url}`})}return r}function Fv(t){return Do(t,t.env.data)}async function Iu(t,e,n){return(await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`})).users}async function pi({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=r==="sms"?`phone_number:${n}`:`email:${n}`,{users:s}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`${i} provider:${r}`});return s.length>1&&console.error("More than one user found for same email and provider"),s[0]||null}async function ju({userAdapter:t,tenant_id:e,email:n}){const{users:r}=await t.list(e,{page:0,per_page:10,include_totals:!1,q:`email:${n}`}),i=r.filter(c=>!(c.provider==="auth2"&&!c.email_verified));if(i.length===0)return;const s=i.filter(c=>!c.linked_to);if(s.length>0)return s.length>1&&console.error("More than one primary user found for same email"),s[0];const a=await t.get(e,i[0]?.linked_to);if(!a)throw new Error("Primary account not found");return a}async function _o({userAdapter:t,tenant_id:e,username:n,provider:r}){const i=await pi({userAdapter:t,tenant_id:e,username:n,provider:r});return i?i.linked_to?t.get(e,i.linked_to):i:null}async function Za(t,e){const{username:n,provider:r,connection:i,client:s,userId:a,isSocial:c,profileData:l={},ip:d=""}=e;let p=await _o({userAdapter:t.env.data.users,tenant_id:e.client.tenant.id,username:n,provider:r});if(!p){const f={user_id:`${r}|${a||Ka()}`,email:i!=="sms"?n:void 0,phone_number:i==="sms"?n:void 0,name:n,provider:r,connection:i,email_verified:!0,last_ip:d,is_social:c,last_login:new Date().toISOString(),profileData:JSON.stringify(l)};p=await Fv(t).users.create(s.tenant.id,f),t.set("user_id",p.user_id)}return p}const Re=o.z.object({page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"The page number where 0 is the first page"}),per_page:o.z.string().min(1).optional().default("10").transform(t=>parseInt(t,10)).openapi({description:"The number of items per page"}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"If the total number of items should be included in the response"}),sort:o.z.string().regex(/^.+:(-1|1)$/).optional().openapi({description:"A property that should have the format 'string:-1' or 'string:1'"}),q:o.z.string().optional().openapi({description:"A lucene query string used to filter the results"})});function Ge(t){if(!t)return;const[e,n]=t.split(":"),r=n==="1"?"asc":"desc";if(!(!e||!r))return{sort_by:e,sort_order:r}}var Hv={Stringify:1},Pn=(t,e)=>{const n=new String(t);return n.isEscaped=!0,n.callbacks=e,n},Vv=/[&<>'"]/,Kv=async(t,e)=>{let n="";e||=[];const r=await Promise.all(t);for(let i=r.length-1;n+=r[i],i--,!(i<0);i--){let s=r[i];typeof s=="object"&&e.push(...s.callbacks||[]);const a=s.isEscaped;if(s=await(typeof s=="object"?s.toString():s),typeof s=="object"&&e.push(...s.callbacks||[]),s.isEscaped??a)n+=s;else{const c=[n];qr(s,c),n=c[0]}}return Pn(n,e)},qr=(t,e)=>{const n=t.search(Vv);if(n===-1){e[0]+=t;return}let r,i,s=0;for(i=n;i<t.length;i++){switch(t.charCodeAt(i)){case 34:r="&quot;";break;case 39:r="&#39;";break;case 38:r="&amp;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}e[0]+=t.substring(s,i)+r,s=i+1}e[0]+=t.substring(s,i)},Gv=t=>{const e=t.callbacks;if(!e?.length)return t;const n=[t],r={};return e.forEach(i=>i({phase:Hv.Stringify,buffer:n,context:r})),n[0]},Ou=Symbol("RENDERER"),Ml=Symbol("ERROR_HANDLER"),ke=Symbol("STASH"),o_=Symbol("INTERNAL"),Wv=Symbol("MEMO"),ea=Symbol("PERMALINK"),Tf=t=>(t[o_]=!0,t),s_=t=>({value:e,children:n})=>{if(!n)return;const r={children:[{tag:Tf(()=>{t.push(e)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:Tf(()=>{t.pop()}),props:{}});const i={tag:"",props:r,type:""};return i[Ml]=s=>{throw t.pop(),s},i},a_=t=>{const e=[t],n=s_(e);return n.values=e,n.Provider=n,Jr.push(n),n},Jr=[],c_=t=>{const e=[t],n=r=>{e.push(r.value);let i;try{i=r.children?(Array.isArray(r.children)?new p_("",{},r.children):r.children).toString():""}finally{e.pop()}return i instanceof Promise?i.then(s=>Pn(s,s.callbacks)):Pn(i)};return n.values=e,n.Provider=n,n[Ou]=s_(e),Jr.push(n),n},fi=t=>t.values.at(-1),Ss={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},ql={},zs="data-precedence",Mo=t=>Array.isArray(t)?t:[t],Rf=new WeakMap,Bf=(t,e,n,r)=>({buffer:i,context:s})=>{if(!i)return;const a=Rf.get(s)||{};Rf.set(s,a);const c=a[t]||=[];let l=!1;const d=Ss[t];if(d.length>0){e:for(const[,p]of c)for(const f of d)if((p?.[f]??null)===n?.[f]){l=!0;break e}}if(l?i[0]=i[0].replaceAll(e,""):d.length>0?c.push([e,n,r]):c.unshift([e,n,r]),i[0].indexOf("</head>")!==-1){let p;if(r===void 0)p=c.map(([f])=>f);else{const f=[];p=c.map(([g,,_])=>{let w=f.indexOf(_);return w===-1&&(f.push(_),w=f.length-1),[g,w]}).sort((g,_)=>g[1]-_[1]).map(([g])=>g)}p.forEach(f=>{i[0]=i[0].replaceAll(f,"")}),i[0]=i[0].replace(/(?=<\/head>)/,p.join(""))}},qo=(t,e,n)=>Pn(new Ct(t,n,Mo(e??[])).toString()),Fo=(t,e,n,r)=>{if("itemProp"in n)return qo(t,e,n);let{precedence:i,blocking:s,...a}=n;i=r?i??"":void 0,r&&(a[zs]=i);const c=new Ct(t,a,Mo(e||[])).toString();return c instanceof Promise?c.then(l=>Pn(c,[...l.callbacks||[],Bf(t,l,a,i)])):Pn(c,[Bf(t,c,a,i)])},Jv=({children:t,...e})=>{const n=Pu();if(n){const r=fi(n);if(r==="svg"||r==="head")return new Ct("title",e,Mo(t??[]))}return Fo("title",t,e,!1)},Xv=({children:t,...e})=>{const n=Pu();return["src","async"].some(r=>!e[r])||n&&fi(n)==="head"?qo("script",t,e):Fo("script",t,e,!1)},Zv=({children:t,...e})=>["href","precedence"].every(n=>n in e)?(e["data-href"]=e.href,delete e.href,Fo("style",t,e,!0)):qo("style",t,e),Yv=({children:t,...e})=>["onLoad","onError"].some(n=>n in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?qo("link",t,e):Fo("link",t,e,"precedence"in e),Qv=({children:t,...e})=>{const n=Pu();return n&&fi(n)==="head"?qo("meta",t,e):Fo("meta",t,e,!1)},l_=(t,{children:e,...n})=>new Ct(t,n,Mo(e??[])),e2=t=>(typeof t.action=="function"&&(t.action=ea in t.action?t.action[ea]:void 0),l_("form",t)),d_=(t,e)=>(typeof e.formAction=="function"&&(e.formAction=ea in e.formAction?e.formAction[ea]:void 0),l_(t,e)),t2=t=>d_("input",t),n2=t=>d_("button",t);const ol=Object.freeze(Object.defineProperty({__proto__:null,button:n2,form:e2,input:t2,link:Yv,meta:Qv,script:Xv,style:Zv,title:Jv},Symbol.toStringTag,{value:"Module"}));var r2=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),ta=t=>r2.get(t)||t,u_=(t,e)=>{for(const[n,r]of Object.entries(t)){const i=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,s=>`-${s.toLowerCase()}`);e(i,r==null?null:typeof r=="number"?i.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`:r)}},yo=void 0,Pu=()=>yo,i2=t=>/[A-Z]/.test(t)&&t.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,o2=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],s2=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Tu=(t,e)=>{for(let n=0,r=t.length;n<r;n++){const i=t[n];if(typeof i=="string")qr(i,e);else{if(typeof i=="boolean"||i===null||i===void 0)continue;i instanceof Ct?i.toStringToBuffer(e):typeof i=="number"||i.isEscaped?e[0]+=i:i instanceof Promise?e.unshift("",i):Tu(i,e)}}},Ct=class{tag;props;key;children;isEscaped=!0;localContexts;constructor(t,e,n){this.tag=t,this.props=e,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){const t=[""];this.localContexts?.forEach(([e,n])=>{e.values.push(n)});try{this.toStringToBuffer(t)}finally{this.localContexts?.forEach(([e])=>{e.values.pop()})}return t.length===1?"callbacks"in t?Gv(Pn(t[0],t.callbacks)).toString():t[0]:Kv(t,t.callbacks)}toStringToBuffer(t){const e=this.tag,n=this.props;let{children:r}=this;t[0]+=`<${e}`;const i=yo&&fi(yo)==="svg"?s=>i2(ta(s)):s=>ta(s);for(let[s,a]of Object.entries(n))if(s=i(s),s!=="children"){if(s==="style"&&typeof a=="object"){let c="";u_(a,(l,d)=>{d!=null&&(c+=`${c?";":""}${l}:${d}`)}),t[0]+=' style="',qr(c,t),t[0]+='"'}else if(typeof a=="string")t[0]+=` ${s}="`,qr(a,t),t[0]+='"';else if(a!=null)if(typeof a=="number"||a.isEscaped)t[0]+=` ${s}="${a}"`;else if(typeof a=="boolean"&&s2.includes(s))a&&(t[0]+=` ${s}=""`);else if(s==="dangerouslySetInnerHTML"){if(r.length>0)throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[Pn(a.__html)]}else if(a instanceof Promise)t[0]+=` ${s}="`,t.unshift('"',a);else if(typeof a=="function"){if(!s.startsWith("on")&&s!=="ref")throw new Error(`Invalid prop '${s}' of type 'function' supplied to '${e}'.`)}else t[0]+=` ${s}="`,qr(a.toString(),t),t[0]+='"'}if(o2.includes(e)&&r.length===0){t[0]+="/>";return}t[0]+=">",Tu(r,t),t[0]+=`</${e}>`}},sl=class extends Ct{toStringToBuffer(t){const{children:e}=this,n={...this.props};e.length&&(n.children=e.length===1?e[0]:e);const r=this.tag.call(null,n);if(!(typeof r=="boolean"||r==null))if(r instanceof Promise)if(Jr.length===0)t.unshift("",r);else{const i=Jr.map(s=>[s,s.values.at(-1)]);t.unshift("",r.then(s=>(s instanceof Ct&&(s.localContexts=i),s)))}else r instanceof Ct?r.toStringToBuffer(t):typeof r=="number"||r.isEscaped?(t[0]+=r,r.callbacks&&(t.callbacks||=[],t.callbacks.push(...r.callbacks))):qr(r,t)}},p_=class extends Ct{toStringToBuffer(t){Tu(this.children,t)}},a2=(t,e,...n)=>{e??={},n.length&&(e.children=n.length===1?n[0]:n);const r=e.key;delete e.key;const i=As(t,e,n);return i.key=r,i},Lf=!1,As=(t,e,n)=>{if(!Lf){for(const r in ql)ol[r][Ou]=ql[r];Lf=!0}return typeof t=="function"?new sl(t,e,n):ol[t]?new sl(ol[t],e,n):t==="svg"||t==="head"?(yo||=c_(""),new Ct(t,e,[new sl(yo,{value:t},n)])):new Ct(t,e,n)},Ya=({children:t})=>new p_("",{children:t},Array.isArray(t)?t:t?[t]:[]),c2=(t,e,...n)=>{let r;if(n.length>0)r=n;else{const i=t.props.children;r=Array.isArray(i)?i:[i]}return a2(t.tag,{...t.props,...e},...r)};function u(t,e,n){let r;if(!e||!("children"in e))r=As(t,e,[]);else{const i=e.children;r=Array.isArray(i)?As(t,e,i):As(t,e,[i])}return r.key=n,r}var Uf;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Uf||(Uf={}));var Df;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Df||(Df={}));function l2(t){return f_(t,d2,wo.Include)}function Ru(t){return f_(t,u2,wo.None)}function f_(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===wo.Include&&(r+="=")}return r}const d2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var wo;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(wo||(wo={}));var Mf;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Mf||(Mf={}));class p2{uint8(e,n){if(e.byteLength<n+1)throw new TypeError("Insufficient bytes");return e[n]}uint16(e,n){if(e.byteLength<n+2)throw new TypeError("Insufficient bytes");return e[n]<<8|e[n+1]}uint32(e,n){if(e.byteLength<n+4)throw new TypeError("Insufficient bytes");let r=0;for(let i=0;i<4;i++)r|=e[n+i]<<24-i*8;return r}uint64(e,n){if(e.byteLength<n+8)throw new TypeError("Insufficient bytes");let r=0n;for(let i=0;i<8;i++)r|=BigInt(e[n+i])<<BigInt(56-i*8);return r}putUint8(e,n,r){if(e.length<r+1)throw new TypeError("Not enough space");if(n<0||n>255)throw new TypeError("Invalid uint8 value");e[r]=n}putUint16(e,n,r){if(e.length<r+2)throw new TypeError("Not enough space");if(n<0||n>65535)throw new TypeError("Invalid uint16 value");e[r]=n>>8,e[r+1]=n&255}putUint32(e,n,r){if(e.length<r+4)throw new TypeError("Not enough space");if(n<0||n>4294967295)throw new TypeError("Invalid uint32 value");for(let i=0;i<4;i++)e[r+i]=n>>(3-i)*8&255}putUint64(e,n,r){if(e.length<r+8)throw new TypeError("Not enough space");if(n<0||n>18446744073709551615n)throw new TypeError("Invalid uint64 value");for(let i=0;i<8;i++)e[r+i]=Number(n>>BigInt((7-i)*8)&0xffn)}}const qf=new p2;function Ut(t,e){return(t<<32-e|t>>>e)>>>0}function f2(t){const e=new h2;return e.update(t),e.digest()}class h2{blockSize=64;size=32;blocks=new Uint8Array(64);currentBlockSize=0;H=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);l=0n;w=new Uint32Array(64);update(e){if(this.l+=BigInt(e.byteLength)*8n,this.currentBlockSize+e.byteLength<64){this.blocks.set(e,this.currentBlockSize),this.currentBlockSize+=e.byteLength;return}let n=0;if(this.currentBlockSize>0){const r=e.slice(0,64-this.currentBlockSize);this.blocks.set(r,this.currentBlockSize),this.process(),n+=r.byteLength,this.currentBlockSize=0}for(;n+64<=e.byteLength;){const r=e.slice(n,n+64);this.blocks.set(r),this.process(),n+=64}if(e.byteLength-n>0){const r=e.slice(n);this.blocks.set(r),this.currentBlockSize=r.byteLength}}digest(){this.blocks[this.currentBlockSize]=128,this.currentBlockSize+=1,64-this.currentBlockSize<8&&(this.blocks.fill(0,this.currentBlockSize),this.process(),this.currentBlockSize=0),this.blocks.fill(0,this.currentBlockSize),qf.putUint64(this.blocks,this.l,this.blockSize-8),this.process();const e=new Uint8Array(32);for(let n=0;n<8;n++)qf.putUint32(e,this.H[n],n*4);return e}process(){for(let d=0;d<16;d++)this.w[d]=(this.blocks[d*4]<<24|this.blocks[d*4+1]<<16|this.blocks[d*4+2]<<8|this.blocks[d*4+3])>>>0;for(let d=16;d<64;d++){const p=(Ut(this.w[d-2],17)^Ut(this.w[d-2],19)^this.w[d-2]>>>10)>>>0,f=(Ut(this.w[d-15],7)^Ut(this.w[d-15],18)^this.w[d-15]>>>3)>>>0;this.w[d]=p+this.w[d-7]+f+this.w[d-16]|0}let e=this.H[0],n=this.H[1],r=this.H[2],i=this.H[3],s=this.H[4],a=this.H[5],c=this.H[6],l=this.H[7];for(let d=0;d<64;d++){const p=(Ut(s,6)^Ut(s,11)^Ut(s,25))>>>0,f=(s&a^~s&c)>>>0,g=l+p+f+g2[d]+this.w[d]|0,_=(Ut(e,2)^Ut(e,13)^Ut(e,22))>>>0,w=(e&n^e&r^n&r)>>>0,k=_+w|0;l=c,c=a,a=s,s=i+g|0,i=r,r=n,n=e,e=g+k|0}this.H[0]=e+this.H[0]|0,this.H[1]=n+this.H[1]|0,this.H[2]=r+this.H[2]|0,this.H[3]=i+this.H[3]|0,this.H[4]=s+this.H[4]|0,this.H[5]=a+this.H[5]|0,this.H[6]=c+this.H[6]|0,this.H[7]=l+this.H[7]|0}}const g2=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);new BigUint64Array([0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n]);class h_{data;constructor(e){this.data=e}tokenType(){if("token_type"in this.data&&typeof this.data.token_type=="string")return this.data.token_type;throw new Error("Missing or invalid 'token_type' field")}accessToken(){if("access_token"in this.data&&typeof this.data.access_token=="string")return this.data.access_token;throw new Error("Missing or invalid 'access_token' field")}accessTokenExpiresInSeconds(){if("expires_in"in this.data&&typeof this.data.expires_in=="number")return this.data.expires_in;throw new Error("Missing or invalid 'expires_in' field")}accessTokenExpiresAt(){return new Date(Date.now()+this.accessTokenExpiresInSeconds()*1e3)}hasRefreshToken(){return"refresh_token"in this.data&&typeof this.data.refresh_token=="string"}refreshToken(){if("refresh_token"in this.data&&typeof this.data.refresh_token=="string")return this.data.refresh_token;throw new Error("Missing or invalid 'refresh_token' field")}hasScopes(){return"scope"in this.data&&typeof this.data.scope=="string"}scopes(){if("scope"in this.data&&typeof this.data.scope=="string")return this.data.scope.split(" ");throw new Error("Missing or invalid 'scope' field")}idToken(){if("id_token"in this.data&&typeof this.data.id_token=="string")return this.data.id_token;throw new Error("Missing or invalid field 'id_token'")}}function g_(t){const e=f2(new TextEncoder().encode(t));return Ru(e)}function Qa(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Ru(t)}function m_(){const t=new Uint8Array(32);return crypto.getRandomValues(t),Ru(t)}function m2(t,e){if(e.length!==1)throw new TypeError("Invalid character string");let n=0;for(;n<t.length&&t[n]===e;)n++;return t.slice(n)}function Ff(t,e){if(e.length!==1)throw new TypeError("Invalid character string");let n=t.length;for(;n>0&&t[n-1]===e;)n--;return t.slice(0,n)}function Hf(t,...e){let n=Ff(t,"/");for(const r of e)n=Ff(n,"/")+"/"+m2(r,"/");return n}function un(t,e){const n=new TextEncoder().encode(e.toString()),r=new Request(t,{method:"POST",body:n});return r.headers.set("Content-Type","application/x-www-form-urlencoded"),r.headers.set("Accept","application/json"),r.headers.set("User-Agent","arctic"),r.headers.set("Content-Length",n.byteLength.toString()),r}function er(t,e){const n=new TextEncoder().encode(`${t}:${e}`);return l2(n)}async function Xr(t){let e;try{e=await fetch(t)}catch(n){throw new Lu(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new Fr(e.status)}if(typeof n!="object"||n===null)throw new In(e.status,n);let r;try{r=Bu(n)}catch{throw new In(e.status,n)}throw r}if(e.status===200){let n;try{n=await e.json()}catch{throw new Fr(e.status)}if(typeof n!="object"||n===null)throw new In(e.status,n);return new h_(n)}throw e.body!==null&&await e.body.cancel(),new Fr(e.status)}async function _2(t){let e;try{e=await fetch(t)}catch(n){throw new Lu(n)}if(e.status===400||e.status===401){let n;try{n=await e.json()}catch{throw new In(e.status,null)}if(typeof n!="object"||n===null)throw new In(e.status,n);let r;try{r=Bu(n)}catch{throw new In(e.status,n)}throw r}if(e.status===200){e.body!==null&&await e.body.cancel();return}throw e.body!==null&&await e.body.cancel(),new Fr(e.status)}function Bu(t){let e;if("error"in t&&typeof t.error=="string")e=t.error;else throw new Error("Invalid error response");let n=null,r=null,i=null;if("error_description"in t){if(typeof t.error_description!="string")throw new Error("Invalid data");n=t.error_description}if("error_uri"in t){if(typeof t.error_uri!="string")throw new Error("Invalid data");r=t.error_uri}if("state"in t){if(typeof t.state!="string")throw new Error("Invalid data");i=t.state}return new y2(e,n,r,i)}class Lu extends Error{constructor(e){super("Failed to send request",{cause:e})}}class y2 extends Error{code;description;uri;state;constructor(e,n,r,i){super(`OAuth request error: ${e}`),this.code=e,this.description=n,this.uri=r,this.state=i}}class Fr extends Error{status;constructor(e){super("Unexpected error response"),this.status=e}}class In extends Error{status;data;constructor(e,n){super("Unexpected error response body"),this.status=e,this.data=n}}class $r{clientId;clientPassword;redirectURI;constructor(e,n,r){this.clientId=e,this.clientPassword=n,this.redirectURI=r}createAuthorizationURL(e,n,r){const i=new URL(e);return i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",n),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}createAuthorizationURLWithPKCE(e,n,r,i,s){const a=new URL(e);if(a.searchParams.set("response_type","code"),a.searchParams.set("client_id",this.clientId),this.redirectURI!==null&&a.searchParams.set("redirect_uri",this.redirectURI),a.searchParams.set("state",n),r===sr.S256){const c=g_(i);a.searchParams.set("code_challenge_method","S256"),a.searchParams.set("code_challenge",c)}else r===sr.Plain&&(a.searchParams.set("code_challenge_method","plain"),a.searchParams.set("code_challenge",i));return s.length>0&&a.searchParams.set("scope",s.join(" ")),a}async validateAuthorizationCode(e,n,r){const i=new URLSearchParams;i.set("grant_type","authorization_code"),i.set("code",n),this.redirectURI!==null&&i.set("redirect_uri",this.redirectURI),r!==null&&i.set("code_verifier",r),this.clientPassword===null&&i.set("client_id",this.clientId);const s=un(e,i);if(this.clientPassword!==null){const c=er(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Xr(s)}async refreshAccessToken(e,n,r){const i=new URLSearchParams;i.set("grant_type","refresh_token"),i.set("refresh_token",n),this.clientPassword===null&&i.set("client_id",this.clientId),r.length>0&&i.set("scope",r.join(" "));const s=un(e,i);if(this.clientPassword!==null){const c=er(this.clientId,this.clientPassword);s.headers.set("Authorization",`Basic ${c}`)}return await Xr(s)}async revokeToken(e,n){const r=new URLSearchParams;r.set("token",n),this.clientPassword===null&&r.set("client_id",this.clientId);const i=un(e,r);if(this.clientPassword!==null){const s=er(this.clientId,this.clientPassword);i.headers.set("Authorization",`Basic ${s}`)}await _2(i)}}var sr;(function(t){t[t.S256=0]="S256",t[t.Plain=1]="Plain"})(sr||(sr={}));var Vf;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(Vf||(Vf={}));var Kf;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Kf||(Kf={}));function io(t){return w2(t,b2,na.None)}function w2(t,e,n){let r="";for(let i=0;i<t.byteLength;i+=3){let s=0,a=0;for(let c=0;c<3&&i+c<t.byteLength;c++)s=s<<8|t[i+c],a+=8;for(let c=0;c<4;c++)a>=6?(r+=e[s>>a-6&63],a-=6):a>0?(r+=e[s<<6-a&63],a=0):n===na.Include&&(r+="=")}return r}const b2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var na;(function(t){t[t.Include=0]="Include",t[t.None=1]="None"})(na||(na={}));var Gf;(function(t){t[t.Required=0]="Required",t[t.Ignore=1]="Ignore"})(Gf||(Gf={}));function v2(t,e,n){const r=io(new TextEncoder().encode(t)),i=io(new TextEncoder().encode(e)),s=io(n);return r+"."+i+"."+s}function $2(t,e){const n=io(new TextEncoder().encode(t)),r=io(new TextEncoder().encode(e)),i=n+"."+r;return new TextEncoder().encode(i)}const k2="https://appleid.apple.com/auth/authorize",x2="https://appleid.apple.com/auth/token";class __{clientId;teamId;keyId;pkcs8PrivateKey;redirectURI;constructor(e,n,r,i,s){this.clientId=e,this.teamId=n,this.keyId=r,this.pkcs8PrivateKey=i,this.redirectURI=s}createAuthorizationURL(e,n){const r=new URL(k2);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId);const r=await this.createClientSecret();n.set("client_secret",r);const i=un(x2,n);return await Xr(i)}async createClientSecret(){const e=await crypto.subtle.importKey("pkcs8",this.pkcs8PrivateKey,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]),n=Math.floor(Date.now()/1e3),r=JSON.stringify({typ:"JWT",alg:"ES256",kid:this.keyId}),i=JSON.stringify({iss:this.teamId,exp:n+300,aud:["https://appleid.apple.com"],sub:this.clientId,iat:n}),s=new Uint8Array(await crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},e,$2(r,i)));return v2(r,i,s)}}const S2="https://www.facebook.com/v16.0/dialog/oauth",z2="https://graph.facebook.com/v16.0/oauth/access_token";class y_{clientId;clientSecret;redirectURI;constructor(e,n,r){this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(S2);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),n.set("redirect_uri",this.redirectURI),n.set("client_id",this.clientId),n.set("client_secret",this.clientSecret);const r=un(z2,n);return await Xr(r)}}const A2="https://github.com/login/oauth/authorize",Wf="https://github.com/login/oauth/access_token";class w_{clientId;clientSecret;redirectURI;constructor(e,n,r){this.clientId=e,this.clientSecret=n,this.redirectURI=r}createAuthorizationURL(e,n){const r=new URL(A2);return r.searchParams.set("response_type","code"),r.searchParams.set("client_id",this.clientId),r.searchParams.set("state",e),n.length>0&&r.searchParams.set("scope",n.join(" ")),this.redirectURI!==null&&r.searchParams.set("redirect_uri",this.redirectURI),r}async validateAuthorizationCode(e){const n=new URLSearchParams;n.set("grant_type","authorization_code"),n.set("code",e),this.redirectURI!==null&&n.set("redirect_uri",this.redirectURI);const r=un(Wf,n),i=er(this.clientId,this.clientSecret);return r.headers.set("Authorization",`Basic ${i}`),await Jf(r)}async refreshAccessToken(e){const n=new URLSearchParams;n.set("grant_type","refresh_token"),n.set("refresh_token",e);const r=un(Wf,n),i=er(this.clientId,this.clientSecret);return r.headers.set("Authorization",`Basic ${i}`),await Jf(r)}}async function Jf(t){let e;try{e=await fetch(t)}catch(i){throw new Lu(i)}if(e.status!==200)throw e.body!==null&&await e.body.cancel(),new Fr(e.status);let n;try{n=await e.json()}catch{throw new Fr(e.status)}if(typeof n!="object"||n===null)throw new In(e.status,n);if("error"in n&&typeof n.error=="string"){let i;try{i=Bu(n)}catch{throw new In(e.status,n)}throw i}return new h_(n)}const E2="https://accounts.google.com/o/oauth2/v2/auth",Xf="https://oauth2.googleapis.com/token",C2="https://oauth2.googleapis.com/revoke";let b_=class{client;constructor(e,n,r){this.client=new $r(e,n,r)}createAuthorizationURL(e,n,r){return this.client.createAuthorizationURLWithPKCE(E2,e,sr.S256,n,r)}async validateAuthorizationCode(e,n){return await this.client.validateAuthorizationCode(Xf,e,n)}async refreshAccessToken(e){return await this.client.refreshAccessToken(Xf,e,[])}async revokeToken(e){await this.client.revokeToken(C2,e)}};class v_{authorizationEndpoint;tokenEndpoint;clientId;clientSecret;redirectURI;constructor(e,n,r,i){this.authorizationEndpoint=Hf("https://login.microsoftonline.com",e,"/oauth2/v2.0/authorize"),this.tokenEndpoint=Hf("https://login.microsoftonline.com",e,"/oauth2/v2.0/token"),this.clientId=n,this.clientSecret=r,this.redirectURI=i}createAuthorizationURL(e,n,r){const i=new URL(this.authorizationEndpoint);i.searchParams.set("response_type","code"),i.searchParams.set("client_id",this.clientId),i.searchParams.set("redirect_uri",this.redirectURI),i.searchParams.set("state",e);const s=g_(n);return i.searchParams.set("code_challenge_method","S256"),i.searchParams.set("code_challenge",s),r.length>0&&i.searchParams.set("scope",r.join(" ")),i}async validateAuthorizationCode(e,n){const r=new URLSearchParams;r.set("grant_type","authorization_code"),r.set("code",e),r.set("redirect_uri",this.redirectURI),r.set("code_verifier",n),this.clientSecret===null&&r.set("client_id",this.clientId);const i=un(this.tokenEndpoint,r);if(this.clientSecret!==null){const a=er(this.clientId,this.clientSecret);i.headers.set("Authorization",`Basic ${a}`)}else i.headers.set("Origin","arctic");return await Xr(i)}async refreshAccessToken(e,n){const r=new URLSearchParams;r.set("grant_type","refresh_token"),r.set("refresh_token",e),this.clientSecret===null&&r.set("client_id",this.clientId),n.length>0&&r.set("scope",n.join(" "));const i=un(this.tokenEndpoint,r);if(this.clientSecret!==null){const a=er(this.clientId,this.clientSecret);i.headers.set("Authorization",`Basic ${a}`)}else i.headers.set("Origin","arctic");return await Xr(i)}}const hi=o.z.object({iss:o.z.string().url(),sub:o.z.string(),aud:o.z.string(),exp:o.z.number(),email:o.z.string().optional(),given_name:o.z.string().optional(),family_name:o.z.string().optional(),name:o.z.string().optional(),iat:o.z.number(),auth_time:o.z.number().optional(),nonce:o.z.string().optional(),acr:o.z.string().optional(),amr:o.z.array(o.z.string()).optional(),azp:o.z.string().optional(),at_hash:o.z.string().optional(),c_hash:o.z.string().optional()}).passthrough();hi.omit({iat:!0,auth_time:!0,nonce:!0,acr:!0,amr:!0,azp:!0,at_hash:!0,c_hash:!0});function ec(t){return t.ISSUER}function De(t){return t.UNIVERSAL_LOGIN_URL||`${t.ISSUER}u/`}function ge(t){return t.OAUTH_API_URL||t.ISSUER}const N2="Apple",I2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M45 0H0V45H45V0Z",fill:"white"}),u("path",{d:"M23.5344 10.3846C25.5313 10.3846 28.0344 9.01144 29.525 7.18055C30.875 5.5213 31.8594 3.20407 31.8594 0.886839C31.8594 0.572154 31.8313 0.25747 31.775 0C29.5531 0.0858233 26.8813 1.51621 25.2781 3.43293C24.0125 4.89193 22.8594 7.18055 22.8594 9.52638C22.8594 9.86968 22.9156 10.213 22.9438 10.3274C23.0844 10.356 23.3094 10.3846 23.5344 10.3846ZM16.5031 45C19.2313 45 20.4406 43.1405 23.8438 43.1405C27.3031 43.1405 28.0625 44.9428 31.1 44.9428C34.0813 44.9428 36.0781 42.1392 37.9625 39.3929C40.0719 36.246 40.9438 33.1564 41 33.0134C40.8031 32.9561 35.0938 30.5817 35.0938 23.9161C35.0938 18.1373 39.5938 15.534 39.8469 15.3338C36.8656 10.9854 32.3375 10.8709 31.1 10.8709C27.7531 10.8709 25.025 12.9307 23.3094 12.9307C21.4531 12.9307 19.0063 10.9854 16.1094 10.9854C10.5969 10.9854 5 15.6198 5 24.3738C5 29.8093 7.08125 35.5594 9.64063 39.2784C11.8344 42.4253 13.7469 45 16.5031 45Z",fill:"black"})]});function $_(t){const{options:e}=t;if(!e||!e.client_id||!e.team_id||!e.kid||!e.app_secret)throw new Error("Missing required Apple authentication parameters");const n=Buffer.from(e.app_secret,"utf-8"),r=n.toString().replace(/-----BEGIN PRIVATE KEY-----|-----END PRIVATE KEY-----|\s/g,""),i=Uint8Array.from(Buffer.from(r,"base64"));return n.fill(0),{options:e,keyArray:i}}async function j2(t,e){const{options:n,keyArray:r}=$_(e),i=`${ge(t.env)}callback`,s=new __(n.client_id,n.team_id,n.kid,r,i),a=pe(),c=await s.createAuthorizationURL(a,n.scope?.split(" ")||["name","email"]);return(n.scope?.split(" ")||["name","email"]).some(d=>["email","name"].includes(d))&&c.searchParams.set("response_mode","form_post"),{redirectUrl:c.href,code:a}}async function O2(t,e,n){const{options:r,keyArray:i}=$_(e),a=await new __(r.client_id,r.team_id,r.kid,i,`${ge(t.env)}callback`).validateAuthorizationCode(n),c=Uo(a.idToken());if(!c)throw new Error("Invalid ID token");const l=hi.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const P2=Object.freeze(Object.defineProperty({__proto__:null,displayName:N2,getRedirect:j2,logo:I2,validateAuthorizationCodeAndGetUser:O2},Symbol.toStringTag,{value:"Module"})),T2="Facebook",R2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M45 22.5C45 10.0736 34.9264 0 22.5 0C10.0736 0 0 10.0736 0 22.5C0 33.7031 8.23242 42.9785 19.0039 44.6953V28.9746H13.2861V22.5H19.0039V17.5391C19.0039 11.8945 22.3828 8.75977 27.5391 8.75977C29.9658 8.75977 32.5049 9.19922 32.5049 9.19922V14.7656H29.7012C26.9414 14.7656 26.0156 16.4824 26.0156 18.2432V22.5H32.2412L31.2012 28.9746H26.0156V44.6953C36.7871 42.9785 45 33.7031 45 22.5Z",fill:"#1877F2"}),u("path",{d:"M31.2012 28.9746L32.2412 22.5H26.0156V18.2432C26.0156 16.4824 26.9414 14.7656 29.7012 14.7656H32.5049V9.19922C32.5049 9.19922 29.9658 8.75977 27.5391 8.75977C22.3828 8.75977 19.0039 11.8945 19.0039 17.5391V22.5H13.2861V28.9746H19.0039V44.6953C20.1562 44.8984 21.3203 45 22.5 45C23.6797 45 24.8438 44.8984 26.0156 44.6953V28.9746H31.2012Z",fill:"white"})]});async function B2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required authentication parameters");const r=`${ge(t.env)}callback`,i=new y_(n.client_id,n.client_secret,r),s=pe();return{redirectUrl:i.createAuthorizationURL(s,n.scope?.split(" ")||["email"]).href,code:s}}async function L2(t,e,n){const{options:r}=e;if(!r?.client_id||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new y_(r.client_id,r.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n),a=await fetch("https://graph.facebook.com/v22.0/me?fields=id,email,name",{headers:{Authorization:`Bearer ${s.accessToken()}`}});if(!a.ok)throw new Error("Failed to fetch user info");const c=await a.json();return t.set("log",`Userinfo: ${JSON.stringify(c)}`),{sub:c.id,email:c.email,name:c.name}}const U2=Object.freeze(Object.defineProperty({__proto__:null,displayName:T2,getRedirect:B2,logo:R2,validateAuthorizationCodeAndGetUser:L2},Symbol.toStringTag,{value:"Module"})),D2="Google",M2=!0,q2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M44.1035 23.0123C44.1054 21.4791 43.9758 19.9486 43.716 18.4375H22.498V27.1028H34.6507C34.4021 28.4868 33.8757 29.8061 33.1034 30.9812C32.3311 32.1562 31.3289 33.1628 30.1571 33.9401V39.5649H37.41C41.6567 35.6494 44.1035 29.859 44.1035 23.0123Z",fill:"#4285F4"}),u("path",{d:"M22.4982 44.9997C28.5698 44.9997 33.6821 43.0061 37.4101 39.5687L30.1573 33.9439C28.1386 35.3126 25.5387 36.0938 22.4982 36.0938C16.6296 36.0938 11.6485 32.1377 9.86736 26.8066H2.39575V32.6033C4.26839 36.3297 7.13989 39.4622 10.6896 41.6512C14.2394 43.8402 18.3277 44.9995 22.4982 44.9997Z",fill:"#34A853"}),u("path",{d:"M9.86737 26.8073C8.92572 24.0138 8.92572 20.9886 9.86737 18.1951V12.3984H2.39576C0.820432 15.5332 0 18.9929 0 22.5012C0 26.0095 0.820432 29.4692 2.39576 32.604L9.86737 26.8073Z",fill:"#FBBC04"}),u("path",{d:"M22.4982 8.90741C25.7068 8.85499 28.8071 10.0673 31.1291 12.2823L37.5507 5.86064C33.4788 2.03602 28.0843 -0.0637686 22.4982 0.00147616C18.3277 0.00166623 14.2394 1.16098 10.6896 3.34999C7.13989 5.539 4.26839 8.67155 2.39575 12.3979L9.86736 18.1946C11.6485 12.8635 16.6296 8.90741 22.4982 8.90741Z",fill:"#EA4335"})]});async function F2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required Google authentication parameters");const r=`${ge(t.env)}callback`,i=new b_(n.client_id,n.client_secret,r),s=pe(),a=Qa();return{redirectUrl:i.createAuthorizationURL(s,a,n.scope?.split(" ")??["email","profile"]).href,code:s,codeVerifier:a}}async function H2(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const a=await new b_(i.client_id,i.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n,r),c=Uo(a.idToken());if(!c)throw new Error("Invalid ID token");const l=hi.parse(c.payload);return{sub:l.sub,email:l.email,given_name:l.given_name,family_name:l.family_name,name:l.name,picture:l.picture,locale:l.locale}}const V2=Object.freeze(Object.defineProperty({__proto__:null,disableEmbeddedBrowsers:M2,displayName:D2,getRedirect:F2,logo:q2,validateAuthorizationCodeAndGetUser:H2},Symbol.toStringTag,{value:"Module"})),K2="Vipps",G2=({className:t=""})=>u("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",width:"45",height:"45",className:t,children:[u("path",{fill:"#FF5B24",d:"M3.5,8h41c1.9,0,3.5,1.6,3.5,3.5v25c0,1.9-1.6,3.5-3.5,3.5h-41C1.6,40,0,38.4,0,36.5v-25C0,9.6,1.6,8,3.5,8z"}),u("path",{fillRule:"evenodd",clipRule:"evenodd",fill:"#FFFFFF",d:`M27.9,20.3c1.4,0,2.6-1,2.6-2.5h0c0-1.5-1.2-2.5-2.6-2.5c-1.4,0-2.6,1-2.6,2.5C25.3,19.2,26.5,20.3,27.9,20.3z
66
66
  M31.2,24.4c-1.7,2.2-3.5,3.8-6.7,3.8h0c-3.2,0-5.8-2-7.7-4.8c-0.8-1.2-2-1.4-2.9-0.8c-0.8,0.6-1,1.8-0.3,2.9
67
- c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]});async function W2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new $r(n.client_id,n.client_secret,`${ge(t.env)}callback`),i=pe(),s=r.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",i,n.scope?.split(" ")||["openid","email","phoneNumber","name","address","birthDate"]);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode","query"),{redirectUrl:s.href,code:i}}async function J2(t,e,n){const{options:r}=e;if(!r?.client_id||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new $r(r.client_id,r.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),a=Uo(s.idToken());if(!a)throw new Error("Invalid ID token");const c=hi.parse(a.payload);if(typeof c.msn!="string")throw new Error("msn not available in id token");const l=await fetch("https://api.vipps.no/vipps-userinfo-api/userinfo",{headers:{Authorization:`Bearer ${s.accessToken()}`,"Merchant-Serial-Number":c.msn}});if(!l.ok)throw new L(400,{message:"Failed to get user from vipps"});return await l.json()}const X2=Object.freeze(Object.defineProperty({__proto__:null,displayName:K2,getRedirect:W2,logo:G2,validateAuthorizationCodeAndGetUser:J2},Symbol.toStringTag,{value:"Module"})),Z2="GitHub",Y2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:u("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 0C10.074 0 0 10.335 0 23.077C0 33.266 6.444 41.895 15.39 44.955C16.515 45.165 16.935 44.46 16.935 43.857C16.935 43.32 16.92 41.865 16.905 39.99C10.65 41.355 9.33 36.99 9.33 36.99C8.31 34.32 6.825 33.615 6.825 33.615C4.77 32.205 6.975 32.235 6.975 32.235C9.24 32.385 10.425 34.59 10.425 34.59C12.45 38.13 15.75 37.125 17.01 36.555C17.22 35.07 17.82 34.065 18.48 33.51C13.455 32.94 8.19 30.93 8.19 22.035C8.19 19.5 9.075 17.43 10.47 15.81C10.23 15.24 9.435 12.87 10.695 9.66C10.695 9.66 12.585 9.045 16.875 12.06C18.675 11.565 20.595 11.31 22.5 11.31C24.405 11.31 26.325 11.565 28.125 12.06C32.415 9.045 34.305 9.66 34.305 9.66C35.565 12.87 34.77 15.24 34.53 15.81C35.925 17.43 36.81 19.5 36.81 22.035C36.81 30.96 31.53 32.925 26.49 33.48C27.33 34.2 28.095 35.625 28.095 37.815C28.095 40.95 28.065 43.47 28.065 43.857C28.065 44.46 28.485 45.18 29.625 44.955C38.571 41.88 45 33.252 45 23.077C45 10.335 34.926 0 22.5 0Z",fill:"currentColor"})});async function Q2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required GitHub authentication parameters");const r=`${ge(t.env)}callback`,i=new w_(n.client_id,n.client_secret,r),s=pe();return{redirectUrl:i.createAuthorizationURL(s,n.scope?.split(" ")||["user:email"]).href,code:s}}async function e3(t,e,n){const{options:r}=e;if(!r?.client_id||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new w_(r.client_id,r.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n),a=await fetch("https://api.github.com/user",{headers:{Authorization:`Bearer ${s.accessToken()}`,"User-Agent":"AuthHero"}});if(!a.ok)throw new Error("Failed to fetch user info");const c=await a.json(),l=await fetch("https://api.github.com/user/emails",{headers:{Authorization:`Bearer ${s.accessToken()}`,"User-Agent":"AuthHero"}});let d=c.email;if(l.ok){const p=await l.json(),f=p.find(g=>g.primary&&g.verified)||p.find(g=>g.verified);f&&(d=f.email)}return t.set("log",`GitHub user: ${JSON.stringify(c)}`),{sub:c.id.toString(),email:d,name:c.name,given_name:c.name?.split(" ")[0],family_name:c.name?.split(" ").slice(1).join(" "),picture:c.avatar_url}}const t3=Object.freeze(Object.defineProperty({__proto__:null,displayName:Z2,getRedirect:Q2,logo:Y2,validateAuthorizationCodeAndGetUser:e3},Symbol.toStringTag,{value:"Module"})),n3="Microsoft",r3=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{fill:"#F25022",d:"M0 0H21.43V21.43H0V0Z"}),u("path",{fill:"#7FBA00",d:"M23.57 0H45V21.43H23.57V0Z"}),u("path",{fill:"#00A4EF",d:"M0 23.57H21.43V45H0V23.57Z"}),u("path",{fill:"#FFB900",d:"M23.57 23.57H45V45H23.57V23.57Z"})]});async function i3(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required Microsoft authentication parameters");const r=`${ge(t.env)}callback`,i=n.realms||"common",s=new v_(i,n.client_id,n.client_secret,r),a=pe(),c=Qa();return{redirectUrl:s.createAuthorizationURL(a,c,n.scope?.split(" ")||["openid","profile","email"]).href,code:a,codeVerifier:c}}async function o3(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const s=i.realms||"common",c=await new v_(s,i.client_id,i.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n,r),l=Uo(c.idToken());if(!l)throw new Error("Invalid ID token");const d=hi.parse(l.payload);return t.set("log",`Microsoft user: ${JSON.stringify(d)}`),{sub:d.sub,email:d.email,given_name:d.given_name,family_name:d.family_name,name:d.name,picture:d.picture}}const s3=Object.freeze(Object.defineProperty({__proto__:null,displayName:n3,getRedirect:i3,logo:r3,validateAuthorizationCodeAndGetUser:o3},Symbol.toStringTag,{value:"Module"})),a3="OpenID Connect",c3=({className:t="",iconUrl:e})=>e?u("img",{src:e,alt:"OIDC Provider",className:t}):u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M22.5 0C10.074 0 0 10.074 0 22.5S10.074 45 22.5 45 45 34.926 45 22.5 34.926 0 22.5 0zm0 40.5c-9.941 0-18-8.059-18-18s8.059-18 18-18 18 8.059 18 18-8.059 18-18 18z",fill:"currentColor"}),u("path",{d:"M22.5 9c-7.456 0-13.5 6.044-13.5 13.5S15.044 36 22.5 36 36 29.956 36 22.5 29.956 9 22.5 9zm0 22.5c-4.971 0-9-4.029-9-9s4.029-9 9-9 9 4.029 9 9-4.029 9-9 9z",fill:"currentColor"})]});async function l3(t,e){const{options:n}=e;if(!n?.client_id||!n.authorization_endpoint)throw new Error("Missing required OIDC authentication parameters");const r=`${ge(t.env)}callback`,i=new $r(n.client_id,n.client_secret||null,r),s=m_(),a=Qa(),c=n.scope?.split(" ")??["openid","profile","email"];return{redirectUrl:i.createAuthorizationURLWithPKCE(n.authorization_endpoint,s,sr.S256,a,c).href,code:s,codeVerifier:a}}async function d3(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.token_endpoint)throw new Error("Missing required authentication parameters");const s=`${ge(t.env)}callback`,c=await new $r(i.client_id,i.client_secret||null,s).validateAuthorizationCode(i.token_endpoint,n,r||null);if(c.data.id_token){const d=Uo(c.idToken());if(d?.payload){const p=hi.passthrough().parse(d.payload);return{sub:p.sub,email:p.email,given_name:p.given_name,family_name:p.family_name,name:p.name}}}if(i.userinfo_endpoint){const d=await fetch(i.userinfo_endpoint,{headers:{Authorization:`Bearer ${c.accessToken()}`}});if(!d.ok)throw new Error("Failed to fetch user info");const p=await d.json();if(!p.sub)throw new Error("Unable to get user identifier: userinfo response missing sub");return{sub:p.sub,email:p.email,given_name:p.given_name,family_name:p.family_name,name:p.name}}throw new Error("Unable to get user information: no ID token or userinfo endpoint")}const u3=Object.freeze(Object.defineProperty({__proto__:null,displayName:a3,getRedirect:l3,logo:c3,validateAuthorizationCodeAndGetUser:d3},Symbol.toStringTag,{value:"Module"})),p3="OAuth 2.0",f3=({className:t="",iconUrl:e})=>e?u("img",{src:e,alt:"OAuth Provider",className:t}):u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:u("path",{d:"M31.5 18h-1.5v-4.5c0-4.136-3.364-7.5-7.5-7.5s-7.5 3.364-7.5 7.5v4.5h-1.5c-1.657 0-3 1.343-3 3v15c0 1.657 1.343 3 3 3h18c1.657 0 3-1.343 3-3v-15c0-1.657-1.343-3-3-3zm-12-4.5c0-2.481 2.019-4.5 4.5-4.5s4.5 2.019 4.5 4.5v4.5h-9v-4.5zm12 22.5h-18v-15h18v15zm-9-6c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3z",fill:"currentColor"})});async function h3(t,e){const{options:n}=e;if(!n?.client_id||!n.authorization_endpoint)throw new Error("Missing required OAuth2 authentication parameters");const r=`${ge(t.env)}callback`,i=new $r(n.client_id,n.client_secret||null,r),s=m_(),a=Qa(),c=n.scope?.split(" ")??[];return{redirectUrl:i.createAuthorizationURLWithPKCE(n.authorization_endpoint,s,sr.S256,a,c).href,code:s,codeVerifier:a}}async function g3(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.token_endpoint)throw new Error("Missing required authentication parameters");const s=`${ge(t.env)}callback`,c=await new $r(i.client_id,i.client_secret||null,s).validateAuthorizationCode(i.token_endpoint,n,r||null);if(!i.userinfo_endpoint)throw new Error("Missing userinfo_endpoint for OAuth2 provider");const l=await fetch(i.userinfo_endpoint,{headers:{Authorization:`Bearer ${c.accessToken()}`}});if(!l.ok)throw new Error("Failed to fetch user info");const d=await l.json(),p=d.sub||d.id||d.user_id;if(!p)throw new Error("Unable to get user identifier: response missing sub, id, or user_id");return{sub:p,email:d.email,given_name:d.given_name||d.first_name,family_name:d.family_name||d.last_name,name:d.name||`${d.given_name||d.first_name||""} ${d.family_name||d.last_name||""}`.trim()}}const m3=Object.freeze(Object.defineProperty({__proto__:null,displayName:p3,getRedirect:h3,logo:f3,validateAuthorizationCodeAndGetUser:g3},Symbol.toStringTag,{value:"Module"})),Uu={apple:P2,facebook:U2,"google-oauth2":V2,vipps:X2,github:t3,microsoft:s3,oidc:u3,oauth2:m3};function k_(t,e){const n=t.env.STRATEGIES||{},i={...Uu,...n}[e];if(!i)throw new Error(`Strategy ${e} not found`);return i}const _3=new Set(["oidc","samlp","waad","adfs","oauth2"]);function y3(t){return _3.has(t.strategy)?t.name:t.strategy}const Zf=it.extend({users:o.z.array(qt)}),w3=it.extend({sessions:o.z.array(Va)}),b3=it.extend({organizations:o.z.array(An)}),v3=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(qt),Zf])}},description:"List of users"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query");if(s?.includes("identities.profileData.email")){const d=s.split("=")[1],f=(await t.env.data.users.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,q:`email:${d}`})).users.filter(w=>w.linked_to),[g]=f;if(!g)return t.json([]);const _=await t.env.data.users.get(t.var.tenant_id,g.linked_to);if(!_)throw new v(500,{message:"Primary account not found"});return t.json([qt.parse(_)])}const a=["-_exists_:linked_to"];s&&a.push(s);const c=await t.env.data.users.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:a.join(" ")}),l=c.users.filter(d=>!d.linked_to);return r?t.json(Zf.parse({users:l,length:c.length,start:c.start,limit:c.limit})):t.json(o.z.array(qt).parse(l))}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:qt}},description:"List of users"}}}),async t=>{const{user_id:e}=t.req.valid("param"),n=await t.env.data.users.get(t.var.tenant_id,e);if(!n)throw new v(404);if(n.linked_to)throw new v(404,{message:"User is linked to another user"});return t.json(n)}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{user_id:e}=t.req.valid("param");if(!await t.env.data.users.remove(t.var.tenant_id,e))throw new v(404);return await ne(t,t.var.tenant_id,{type:ee.SUCCESS_API_OPERATION,description:"Delete a User",response:{statusCode:204,body:{}}}),t.text("OK")}).openapi(o.createRoute({tags:["users"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...Ds.shape,password:o.z.string().optional()})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:qt}},description:"Status"}}}),async t=>{const e=t.req.valid("json");t.set("body",e);const{email:n,phone_number:r,name:i,linked_to:s,email_verified:a,provider:c,connection:l,password:d}=e,p=await t.env.data.connections.get(t.var.tenant_id,l),f=p?y3(p):c||l,g=e.user_id,_=g?fs(g):Ka(),w=`${f}|${_}`;try{const k={email:n,user_id:w,name:i||n||r,phone_number:r,provider:f,connection:l,linked_to:s??void 0,email_verified:a||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()},z=await t.env.data.users.create(t.var.tenant_id,k);if(d){const N={user_id:w,password:await rr.hash(d,10),algorithm:"bcrypt",is_current:!0};await t.env.data.passwords.create(t.var.tenant_id,N)}t.set("user_id",z.user_id),await ne(t,t.var.tenant_id,{type:ee.SUCCESS_API_OPERATION,description:"User created"});const I=z.identities?z:{...z,identities:[{connection:z.connection,provider:z.provider,user_id:fs(z.user_id),isSocial:z.is_social}]};return t.json(qt.parse(I),{status:201})}catch(k){throw k.message==="User already exists"?new v(409,{message:"User already exists"}):k}}).openapi(o.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...Ds.shape,verify_email:o.z.boolean(),password:o.z.string()}).partial()}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{data:e}=t.env,n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),{verify_email:i,password:s,connection:a,...c}=n,l=await e.users.get(t.var.tenant_id,r);if(!l)throw new v(404);if(l.linked_to)throw new v(404,{message:"User is linked to another user"});let d=r,p=l;if(a)if(l.connection===a)d=r,p=l;else{const _=(await e.users.list(t.var.tenant_id,{page:0,per_page:100,include_totals:!1,q:`linked_to:${r}`})).users.find(w=>w.connection===a);if(!_)throw new v(404,{message:`No identity found with connection: ${a}`});d=_.user_id,p=_}if(c.email&&c.email!==p.email){const g=await Iu(t.env.data.users,t.var.tenant_id,c.email);if(g.length&&g.some(_=>_.user_id!==d))throw new v(409,{message:"Another user with the same email address already exists."})}if(await t.env.data.users.update(t.var.tenant_id,d,c),s){let g;if(a)if(a==="Username-Password-Authentication")g={provider:p.provider,user_id:fs(d)};else throw new v(400,{message:`Cannot set password for connection: ${a}`});else if(g=l.identities?.find(k=>k.connection==="Username-Password-Authentication"),!g)throw new v(400,{message:"User does not have a password identity"});const _=`${g.provider}|${g.user_id}`,w=await e.passwords.get(t.var.tenant_id,_);w&&await e.passwords.update(t.var.tenant_id,{id:w.id,user_id:_,password:w.password,algorithm:w.algorithm,is_current:!1}),await e.passwords.create(t.var.tenant_id,{user_id:_,password:await rr.hash(s,10),algorithm:"bcrypt",is_current:!0})}const f=await t.env.data.users.get(t.var.tenant_id,r);if(!f)throw new v(500);return await ne(t,t.var.tenant_id,{type:ee.SUCCESS_API_OPERATION,description:"Update a User",body:n,response:{statusCode:200,body:f}}),t.json(f)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.union([o.z.object({link_with:o.z.string()}),o.z.object({user_id:o.z.string(),provider:o.z.string(),connection:o.z.string().optional()})])}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:o.z.array(o.z.object({connection:o.z.string(),provider:o.z.string(),user_id:o.z.string(),isSocial:o.z.boolean()}))}},description:"Status"}}}),async t=>{const e=t.req.valid("json"),{user_id:n}=t.req.valid("param"),r="link_with"in e?e.link_with:e.user_id,i=await t.env.data.users.get(t.var.tenant_id,n);if(!i)throw new v(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(t.var.tenant_id,r,{linked_to:n});const s=await t.env.data.users.list(t.var.tenant_id,{page:0,per_page:10,include_totals:!1,q:`linked_to:${n}`}),a=[i,...s.users].map(c=>({connection:c.connection,provider:c.provider,user_id:fs(c.user_id),isSocial:c.is_social}));return t.json(a,{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string(),provider:o.z.string(),linked_user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:o.z.array(qt)}},description:"Status"}}}),async t=>{const{user_id:e,provider:n,linked_user_id:r}=t.req.valid("param");await t.env.data.users.unlink(t.var.tenant_id,e,n,r);const i=await t.env.data.users.get(t.var.tenant_id,e);if(!i)throw new v(404);return t.json([qt.parse(i)])}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Va),w3])}},description:"List of sessions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{include_totals:n,page:r,per_page:i}=t.req.valid("query"),s=await t.env.data.sessions.list(t.var.tenant_id,{page:r,per_page:i,include_totals:n,q:`user_id:${e}`});return n?t.json(s):t.json(s.sessions)}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/permissions",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Am}},description:"User permissions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{page:n,per_page:r,sort:i,q:s}=t.req.valid("query");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const c=await t.env.data.userPermissions.list(t.var.tenant_id,e,{page:n,per_page:r,include_totals:!1,sort:Ge(i),q:s});return t.json(c)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/permissions",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Permissions assigned to user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userPermissions.create(t.var.tenant_id,e,{user_id:e,resource_server_identifier:i.resource_server_identifier,permission_name:i.permission_name}))throw new v(500,{message:"Failed to assign permissions to user"});return t.json({message:"Permissions assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/permissions",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Permissions removed from user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userPermissions.remove(t.var.tenant_id,e,i))throw new v(500,{message:"Failed to remove permissions from user"});return t.json({message:"Permissions removed successfully"})}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/roles",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ws}},description:"User roles"}}}),async t=>{const{user_id:e}=t.req.valid("param");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const r=await t.env.data.userRoles.list(t.var.tenant_id,e,void 0,"");return t.json(r)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/roles",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string())})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Roles assigned to user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{roles:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userRoles.create(t.var.tenant_id,e,i,""))throw new v(500,{message:"Failed to assign roles to user"});return t.json({message:"Roles assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/roles",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string())})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Roles removed from user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{roles:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userRoles.remove(t.var.tenant_id,e,i,""))throw new v(500,{message:"Failed to remove roles from user"});return t.json({message:"Roles removed successfully"})}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/organizations",request:{params:o.z.object({user_id:o.z.string()}),query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([b3,o.z.array(An)])}},description:"List of user organizations"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{page:n,per_page:r,include_totals:i,sort:s}=t.req.valid("query");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const c=await t.env.data.userOrganizations.listUserOrganizations(t.var.tenant_id,e,{page:n,per_page:r,sort:Ge(s)});return i?t.json({organizations:c.organizations,start:c.start,limit:c.limit,length:c.length}):t.json(c.organizations)}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/organizations/{organization_id}",request:{params:o.z.object({user_id:o.z.string(),organization_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"User removed from organization successfully"}}}),async t=>{const{user_id:e,organization_id:n}=t.req.valid("param");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const s=(await t.env.data.userOrganizations.list(t.var.tenant_id,{q:`user_id:${e}`,per_page:100})).userOrganizations.find(a=>a.organization_id===n);if(!s)throw new v(404,{message:"User is not a member of this organization"});return await t.env.data.userOrganizations.remove(t.var.tenant_id,s.id),t.json({message:"User removed from organization successfully"})});var Yf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $3(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Qf={};var eh;function k3(){if(eh)return Qf;eh=1;var t;return(function(e){(function(n){var r=typeof globalThis=="object"?globalThis:typeof Yf=="object"?Yf:typeof self=="object"?self:typeof this=="object"?this:l(),i=s(e);typeof r.Reflect<"u"&&(i=s(r.Reflect,i)),n(i,r),typeof r.Reflect>"u"&&(r.Reflect=e);function s(d,p){return function(f,g){Object.defineProperty(d,f,{configurable:!0,writable:!0,value:g}),p&&p(f,g)}}function a(){try{return Function("return this;")()}catch{}}function c(){try{return(0,eval)("(function() { return this; })()")}catch{}}function l(){return a()||c()}})(function(n,r){var i=Object.prototype.hasOwnProperty,s=typeof Symbol=="function",a=s&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",c=s&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",l=typeof Object.create=="function",d={__proto__:[]}instanceof Array,p=!l&&!d,f={create:l?function(){return nl(Object.create(null))}:d?function(){return nl({__proto__:null})}:function(){return nl({})},has:p?function($,x){return i.call($,x)}:function($,x){return x in $},get:p?function($,x){return i.call($,x)?$[x]:void 0}:function($,x){return $[x]}},g=Object.getPrototypeOf(Function),_=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:ww(),w=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:bw(),k=typeof WeakMap=="function"?WeakMap:vw(),z=s?Symbol.for("@reflect-metadata:registry"):void 0,I=mw(),N=_w(I);function S($,x,A,R){if(G(A)){if(!Zp($))throw new TypeError;if(!Yp(x))throw new TypeError;return $e($,x)}else{if(!Zp($))throw new TypeError;if(!Ie(x))throw new TypeError;if(!Ie(R)&&!G(R)&&!ye(R))throw new TypeError;return ye(R)&&(R=void 0),A=Ut(A),_e($,x,A,R)}}n("decorate",S);function C($,x){function A(R,J){if(!Ie(R))throw new TypeError;if(!G(J)&&!hw(J))throw new TypeError;sn($,x,R,J)}return A}n("metadata",C);function O($,x,A,R){if(!Ie(A))throw new TypeError;return G(R)||(R=Ut(R)),sn($,x,A,R)}n("defineMetadata",O);function K($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Ut(A)),on($,x,A)}n("hasMetadata",K);function W($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Ut(A)),He($,x,A)}n("hasOwnMetadata",W);function ie($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Ut(A)),Ze($,x,A)}n("getMetadata",ie);function F($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Ut(A)),Lt($,x,A)}n("getOwnMetadata",F);function se($,x){if(!Ie($))throw new TypeError;return G(x)||(x=Ut(x)),an($,x)}n("getMetadataKeys",se);function ce($,x){if(!Ie($))throw new TypeError;return G(x)||(x=Ut(x)),Pe($,x)}n("getOwnMetadataKeys",ce);function fe($,x,A){if(!Ie(x))throw new TypeError;if(G(A)||(A=Ut(A)),!Ie(x))throw new TypeError;G(A)||(A=Ut(A));var R=Ai(x,A,!1);return G(R)?!1:R.OrdinaryDeleteMetadata($,x,A)}n("deleteMetadata",fe);function $e($,x){for(var A=$.length-1;A>=0;--A){var R=$[A],J=R(x);if(!G(J)&&!ye(J)){if(!Yp(J))throw new TypeError;x=J}}return x}function _e($,x,A,R){for(var J=$.length-1;J>=0;--J){var ze=$[J],je=ze(x,A,R);if(!G(je)&&!ye(je)){if(!Ie(je))throw new TypeError;R=je}}return R}function on($,x,A){var R=He($,x,A);if(R)return!0;var J=tl(x);return ye(J)?!1:on($,J,A)}function He($,x,A){var R=Ai(x,A,!1);return G(R)?!1:Xp(R.OrdinaryHasOwnMetadata($,x,A))}function Ze($,x,A){var R=He($,x,A);if(R)return Lt($,x,A);var J=tl(x);if(!ye(J))return Ze($,J,A)}function Lt($,x,A){var R=Ai(x,A,!1);if(!G(R))return R.OrdinaryGetOwnMetadata($,x,A)}function sn($,x,A,R){var J=Ai(A,R,!0);J.OrdinaryDefineOwnMetadata($,x,A,R)}function an($,x){var A=Pe($,x),R=tl($);if(R===null)return A;var J=an(R,x);if(J.length<=0)return A;if(A.length<=0)return J;for(var ze=new w,je=[],re=0,B=A;re<B.length;re++){var M=B[re],H=ze.has(M);H||(ze.add(M),je.push(M))}for(var V=0,oe=J;V<oe.length;V++){var M=oe[V],H=ze.has(M);H||(ze.add(M),je.push(M))}return je}function Pe($,x){var A=Ai($,x,!1);return A?A.OrdinaryOwnMetadataKeys($,x):[]}function ht($){if($===null)return 1;switch(typeof $){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return $===null?1:6;default:return 6}}function G($){return $===void 0}function ye($){return $===null}function zr($){return typeof $=="symbol"}function Ie($){return typeof $=="object"?$!==null:typeof $=="function"}function uw($,x){switch(ht($)){case 0:return $;case 1:return $;case 2:return $;case 3:return $;case 4:return $;case 5:return $}var A="string",R=Qp($,a);if(R!==void 0){var J=R.call($,A);if(Ie(J))throw new TypeError;return J}return pw($)}function pw($,x){var A,R,J;{var ze=$.toString;if(us(ze)){var R=ze.call($);if(!Ie(R))return R}var A=$.valueOf;if(us(A)){var R=A.call($);if(!Ie(R))return R}}throw new TypeError}function Xp($){return!!$}function fw($){return""+$}function Ut($){var x=uw($);return zr(x)?x:fw(x)}function Zp($){return Array.isArray?Array.isArray($):$ instanceof Object?$ instanceof Array:Object.prototype.toString.call($)==="[object Array]"}function us($){return typeof $=="function"}function Yp($){return typeof $=="function"}function hw($){switch(ht($)){case 3:return!0;case 4:return!0;default:return!1}}function el($,x){return $===x||$!==$&&x!==x}function Qp($,x){var A=$[x];if(A!=null){if(!us(A))throw new TypeError;return A}}function ef($){var x=Qp($,c);if(!us(x))throw new TypeError;var A=x.call($);if(!Ie(A))throw new TypeError;return A}function tf($){return $.value}function nf($){var x=$.next();return x.done?!1:x}function rf($){var x=$.return;x&&x.call($)}function tl($){var x=Object.getPrototypeOf($);if(typeof $!="function"||$===g||x!==g)return x;var A=$.prototype,R=A&&Object.getPrototypeOf(A);if(R==null||R===Object.prototype)return x;var J=R.constructor;return typeof J!="function"||J===$?x:J}function gw(){var $;!G(z)&&typeof r.Reflect<"u"&&!(z in r.Reflect)&&typeof r.Reflect.defineMetadata=="function"&&($=yw(r.Reflect));var x,A,R,J=new k,ze={registerProvider:je,getProvider:B,setProvider:H};return ze;function je(V){if(!Object.isExtensible(ze))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case $===V:break;case G(x):x=V;break;case x===V:break;case G(A):A=V;break;case A===V:break;default:R===void 0&&(R=new w),R.add(V);break}}function re(V,oe){if(!G(x)){if(x.isProviderFor(V,oe))return x;if(!G(A)){if(A.isProviderFor(V,oe))return x;if(!G(R))for(var he=ef(R);;){var Ae=nf(he);if(!Ae)return;var vt=tf(Ae);if(vt.isProviderFor(V,oe))return rf(he),vt}}}if(!G($)&&$.isProviderFor(V,oe))return $}function B(V,oe){var he=J.get(V),Ae;return G(he)||(Ae=he.get(oe)),G(Ae)&&(Ae=re(V,oe),G(Ae)||(G(he)&&(he=new _,J.set(V,he)),he.set(oe,Ae))),Ae}function M(V){if(G(V))throw new TypeError;return x===V||A===V||!G(R)&&R.has(V)}function H(V,oe,he){if(!M(he))throw new Error("Metadata provider not registered.");var Ae=B(V,oe);if(Ae!==he){if(!G(Ae))return!1;var vt=J.get(V);G(vt)&&(vt=new _,J.set(V,vt)),vt.set(oe,he)}return!0}}function mw(){var $;return!G(z)&&Ie(r.Reflect)&&Object.isExtensible(r.Reflect)&&($=r.Reflect[z]),G($)&&($=gw()),!G(z)&&Ie(r.Reflect)&&Object.isExtensible(r.Reflect)&&Object.defineProperty(r.Reflect,z,{enumerable:!1,configurable:!1,writable:!1,value:$}),$}function _w($){var x=new k,A={isProviderFor:function(M,H){var V=x.get(M);return G(V)?!1:V.has(H)},OrdinaryDefineOwnMetadata:je,OrdinaryHasOwnMetadata:J,OrdinaryGetOwnMetadata:ze,OrdinaryOwnMetadataKeys:re,OrdinaryDeleteMetadata:B};return I.registerProvider(A),A;function R(M,H,V){var oe=x.get(M),he=!1;if(G(oe)){if(!V)return;oe=new _,x.set(M,oe),he=!0}var Ae=oe.get(H);if(G(Ae)){if(!V)return;if(Ae=new _,oe.set(H,Ae),!$.setProvider(M,H,A))throw oe.delete(H),he&&x.delete(M),new Error("Wrong provider for target.")}return Ae}function J(M,H,V){var oe=R(H,V,!1);return G(oe)?!1:Xp(oe.has(M))}function ze(M,H,V){var oe=R(H,V,!1);if(!G(oe))return oe.get(M)}function je(M,H,V,oe){var he=R(V,oe,!0);he.set(M,H)}function re(M,H){var V=[],oe=R(M,H,!1);if(G(oe))return V;for(var he=oe.keys(),Ae=ef(he),vt=0;;){var of=nf(Ae);if(!of)return V.length=vt,V;var $w=tf(of);try{V[vt]=$w}catch(kw){try{rf(Ae)}finally{throw kw}}vt++}}function B(M,H,V){var oe=R(H,V,!1);if(G(oe)||!oe.delete(M))return!1;if(oe.size===0){var he=x.get(H);G(he)||(he.delete(V),he.size===0&&x.delete(he))}return!0}}function yw($){var x=$.defineMetadata,A=$.hasOwnMetadata,R=$.getOwnMetadata,J=$.getOwnMetadataKeys,ze=$.deleteMetadata,je=new k,re={isProviderFor:function(B,M){var H=je.get(B);return!G(H)&&H.has(M)?!0:J(B,M).length?(G(H)&&(H=new w,je.set(B,H)),H.add(M),!0):!1},OrdinaryDefineOwnMetadata:x,OrdinaryHasOwnMetadata:A,OrdinaryGetOwnMetadata:R,OrdinaryOwnMetadataKeys:J,OrdinaryDeleteMetadata:ze};return re}function Ai($,x,A){var R=I.getProvider($,x);if(!G(R))return R;if(A){if(I.setProvider($,x,N))return N;throw new Error("Illegal state.")}}function ww(){var $={},x=[],A=(function(){function re(B,M,H){this._index=0,this._keys=B,this._values=M,this._selector=H}return re.prototype["@@iterator"]=function(){return this},re.prototype[c]=function(){return this},re.prototype.next=function(){var B=this._index;if(B>=0&&B<this._keys.length){var M=this._selector(this._keys[B],this._values[B]);return B+1>=this._keys.length?(this._index=-1,this._keys=x,this._values=x):this._index++,{value:M,done:!1}}return{value:void 0,done:!0}},re.prototype.throw=function(B){throw this._index>=0&&(this._index=-1,this._keys=x,this._values=x),B},re.prototype.return=function(B){return this._index>=0&&(this._index=-1,this._keys=x,this._values=x),{value:B,done:!0}},re})(),R=(function(){function re(){this._keys=[],this._values=[],this._cacheKey=$,this._cacheIndex=-2}return Object.defineProperty(re.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),re.prototype.has=function(B){return this._find(B,!1)>=0},re.prototype.get=function(B){var M=this._find(B,!1);return M>=0?this._values[M]:void 0},re.prototype.set=function(B,M){var H=this._find(B,!0);return this._values[H]=M,this},re.prototype.delete=function(B){var M=this._find(B,!1);if(M>=0){for(var H=this._keys.length,V=M+1;V<H;V++)this._keys[V-1]=this._keys[V],this._values[V-1]=this._values[V];return this._keys.length--,this._values.length--,el(B,this._cacheKey)&&(this._cacheKey=$,this._cacheIndex=-2),!0}return!1},re.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=$,this._cacheIndex=-2},re.prototype.keys=function(){return new A(this._keys,this._values,J)},re.prototype.values=function(){return new A(this._keys,this._values,ze)},re.prototype.entries=function(){return new A(this._keys,this._values,je)},re.prototype["@@iterator"]=function(){return this.entries()},re.prototype[c]=function(){return this.entries()},re.prototype._find=function(B,M){if(!el(this._cacheKey,B)){this._cacheIndex=-1;for(var H=0;H<this._keys.length;H++)if(el(this._keys[H],B)){this._cacheIndex=H;break}}return this._cacheIndex<0&&M&&(this._cacheIndex=this._keys.length,this._keys.push(B),this._values.push(void 0)),this._cacheIndex},re})();return R;function J(re,B){return re}function ze(re,B){return B}function je(re,B){return[re,B]}}function bw(){var $=(function(){function x(){this._map=new _}return Object.defineProperty(x.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),x.prototype.has=function(A){return this._map.has(A)},x.prototype.add=function(A){return this._map.set(A,A),this},x.prototype.delete=function(A){return this._map.delete(A)},x.prototype.clear=function(){this._map.clear()},x.prototype.keys=function(){return this._map.keys()},x.prototype.values=function(){return this._map.keys()},x.prototype.entries=function(){return this._map.entries()},x.prototype["@@iterator"]=function(){return this.keys()},x.prototype[c]=function(){return this.keys()},x})();return $}function vw(){var $=16,x=f.create(),A=R();return(function(){function B(){this._key=R()}return B.prototype.has=function(M){var H=J(M,!1);return H!==void 0?f.has(H,this._key):!1},B.prototype.get=function(M){var H=J(M,!1);return H!==void 0?f.get(H,this._key):void 0},B.prototype.set=function(M,H){var V=J(M,!0);return V[this._key]=H,this},B.prototype.delete=function(M){var H=J(M,!1);return H!==void 0?delete H[this._key]:!1},B.prototype.clear=function(){this._key=R()},B})();function R(){var B;do B="@@WeakMap@@"+re();while(f.has(x,B));return x[B]=!0,B}function J(B,M){if(!i.call(B,A)){if(!M)return;Object.defineProperty(B,A,{value:f.create()})}return B[A]}function ze(B,M){for(var H=0;H<M;++H)B[H]=Math.random()*255|0;return B}function je(B){if(typeof Uint8Array=="function"){var M=new Uint8Array(B);return typeof crypto<"u"?crypto.getRandomValues(M):typeof msCrypto<"u"?msCrypto.getRandomValues(M):ze(M,B),M}return ze(new Array(B),B)}function re(){var B=je($);B[6]=B[6]&79|64,B[8]=B[8]&191|128;for(var M="",H=0;H<$;++H){var V=B[H];(H===4||H===6||H===8)&&(M+="-"),V<16&&(M+="0"),M+=V.toString(16).toLowerCase()}return M}}function nl($){return $.__=void 0,delete $.__,$}})})(t||(t={})),Qf}k3();const x3="[object ArrayBuffer]";class T{static isArrayBuffer(e){return Object.prototype.toString.call(e)===x3}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,n){if(e.constructor===n)return e;if(this.isArrayBuffer(e))return new n(e);if(this.isArrayBufferView(e))return new n(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,n){const r=T.toUint8Array(e),i=T.toUint8Array(n);if(r.length!==i.byteLength)return!1;for(let s=0;s<r.length;s++)if(r[s]!==i[s])return!1;return!0}static concat(...e){let n;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?n=e[0]:e[e.length-1]instanceof Function?n=e.slice(0,e.length-1):n=e;let r=0;for(const a of n)r+=a.byteLength;const i=new Uint8Array(r);let s=0;for(const a of n){const c=this.toUint8Array(a);i.set(c,s),s+=c.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}const al="string",S3=/^[0-9a-f\s]+$/i,z3=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,A3=/^[a-zA-Z0-9-_]+$/;class th{static fromString(e){const n=unescape(encodeURIComponent(e)),r=new Uint8Array(n.length);for(let i=0;i<n.length;i++)r[i]=n.charCodeAt(i);return r.buffer}static toString(e){const n=T.toUint8Array(e);let r="";for(let s=0;s<n.length;s++)r+=String.fromCharCode(n[s]);return decodeURIComponent(escape(r))}}class Mt{static toString(e,n=!1){const r=T.toArrayBuffer(e),i=new DataView(r);let s="";for(let a=0;a<r.byteLength;a+=2){const c=i.getUint16(a,n);s+=String.fromCharCode(c)}return s}static fromString(e,n=!1){const r=new ArrayBuffer(e.length*2),i=new DataView(r);for(let s=0;s<e.length;s++)i.setUint16(s*2,e.charCodeAt(s),n);return r}}class q{static isHex(e){return typeof e===al&&S3.test(e)}static isBase64(e){return typeof e===al&&z3.test(e)}static isBase64Url(e){return typeof e===al&&A3.test(e)}static ToString(e,n="utf8"){const r=T.toUint8Array(e);switch(n.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return Mt.toString(r,!0);case"utf16":case"utf16be":return Mt.toString(r);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromString(e,n="utf8"){if(!e)return new ArrayBuffer(0);switch(n.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return Mt.fromString(e,!0);case"utf16":case"utf16be":return Mt.fromString(e);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToBase64(e){const n=T.toUint8Array(e);if(typeof btoa<"u"){const r=this.ToString(n,"binary");return btoa(r)}else return Buffer.from(n).toString("base64")}static FromBase64(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!q.isBase64(n))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(n)):new Uint8Array(Buffer.from(n,"base64")).buffer}static FromBase64Url(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!q.isBase64Url(n))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(n.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,n=q.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.FromBinary(e);case"utf8":return th.fromString(e);case"utf16":case"utf16be":return Mt.fromString(e);case"utf16le":case"usc2":return Mt.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToUtf8String(e,n=q.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.ToBinary(e);case"utf8":return th.toString(e);case"utf16":case"utf16be":return Mt.toString(e);case"utf16le":case"usc2":return Mt.toString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromBinary(e){const n=e.length,r=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r.buffer}static ToBinary(e){const n=T.toUint8Array(e);let r="";for(let i=0;i<n.length;i++)r+=String.fromCharCode(n[i]);return r}static ToHex(e){const n=T.toUint8Array(e);let r="";const i=n.length;for(let s=0;s<i;s++){const a=n[s];a<16&&(r+="0"),r+=a.toString(16)}return r}static FromHex(e){let n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!q.isHex(n))throw new TypeError("Argument 'hexString' is not HEX encoded");n.length%2&&(n=`0${n}`);const r=new Uint8Array(n.length/2);for(let i=0;i<n.length;i=i+2){const s=n.slice(i,i+2);r[i/2]=parseInt(s,16)}return r.buffer}static ToUtf16String(e,n=!1){return Mt.toString(e,n)}static FromUtf16String(e,n=!1){return Mt.fromString(e,n)}static Base64Padding(e){const n=4-e.length%4;if(n<4)for(let r=0;r<n;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}}q.DEFAULT_UTF8_ENCODING="utf8";function E3(...t){const e=t.map(i=>i.byteLength).reduce((i,s)=>i+s),n=new Uint8Array(e);let r=0;return t.map(i=>new Uint8Array(i)).forEach(i=>{for(const s of i)n[r++]=s}),n.buffer}function x_(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}function Zr(t,e){let n=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)n+=t[t.length-1-r]*Math.pow(2,e*r);return n}function ar(t,e,n=-1){const r=n;let i=t,s=0,a=Math.pow(2,e);for(let c=1;c<8;c++){if(t<a){let l;if(r<0)l=new ArrayBuffer(c),s=c;else{if(r<c)return new ArrayBuffer(0);l=new ArrayBuffer(r),s=r}const d=new Uint8Array(l);for(let p=c-1;p>=0;p--){const f=Math.pow(2,p*e);d[s-p-1]=Math.floor(i/f),i-=d[s-p-1]*f}return l}a*=Math.pow(2,e)}return new ArrayBuffer(0)}function Fl(...t){let e=0,n=0;for(const s of t)e+=s.length;const r=new ArrayBuffer(e),i=new Uint8Array(r);for(const s of t)i.set(s,n),n+=s.length;return i}function S_(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const c=t[0]===255&&t[1]&128,l=t[0]===0&&(t[1]&128)===0;(c||l)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(e);for(let c=0;c<this.valueHex.byteLength;c++)n[c]=0;n[0]=t[0]&128;const r=Zr(n,8),i=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(i);for(let c=0;c<this.valueHex.byteLength;c++)s[c]=t[c];return s[0]&=127,Zr(s,8)-r}function C3(t){const e=t<0?t*-1:t;let n=128;for(let r=1;r<8;r++){if(e<=n){if(t<0){const a=n-e,c=ar(a,8,r),l=new Uint8Array(c);return l[0]|=128,c}let i=ar(e,8,r),s=new Uint8Array(i);if(s[0]&128){const a=i.slice(0),c=new Uint8Array(a);i=new ArrayBuffer(i.byteLength+1),s=new Uint8Array(i);for(let l=0;l<a.byteLength;l++)s[l+1]=c[l];s[0]=0}return i}n*=Math.pow(2,8)}return new ArrayBuffer(0)}function N3(t,e){if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<n.length;i++)if(n[i]!==r[i])return!1;return!0}function at(t,e){const n=t.toString(10);if(e<n.length)return"";const r=e-n.length,i=new Array(r);for(let a=0;a<r;a++)i[a]="0";return i.join("").concat(n)}function ra(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Du(t){let e=0,n=0;for(let i=0;i<t.length;i++){const s=t[i];e+=s.byteLength}const r=new Uint8Array(e);for(let i=0;i<t.length;i++){const s=t[i];r.set(new Uint8Array(s),n),n+=s.byteLength}return r.buffer}function wn(t,e,n,r){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-n-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class tc{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return Du(this.items)}}const Ci=[new Uint8Array([1])],nh="0123456789",cl="name",rh="valueHexView",I3="isHexOnly",j3="idBlock",O3="tagClass",P3="tagNumber",T3="isConstructed",R3="fromBER",B3="toBER",L3="local",nt="",Pt=new ArrayBuffer(0),nc=new Uint8Array(0),bo="EndOfContent",z_="OCTET STRING",A_="BIT STRING";function Xt(t){var e;return e=class extends t{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r)}constructor(...r){var i;super(...r);const s=r[0]||{};this.isHexOnly=(i=s.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=s.valueHex?T.toUint8Array(s.valueHex):nc}fromBER(r,i,s){const a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!wn(this,a,i,s))return-1;const c=i+s;return this.valueHexView=a.subarray(i,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),i)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Pt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:q.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class kr{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}constructor({blockLength:e=0,error:n=nt,warnings:r=[],valueBeforeDecode:i=nc}={}){this.blockLength=e,this.error=n,this.warnings=r,this.valueBeforeDecodeView=T.toUint8Array(i)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:q.ToHex(this.valueBeforeDecodeView)}}}kr.NAME="baseBlock";class et extends kr{fromBER(e,n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}et.NAME="valueBlock";class E_ extends Xt(kr){constructor({idBlock:e={}}={}){var n,r,i,s;super(),e?(this.isHexOnly=(n=e.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=e.valueHex?T.toUint8Array(e.valueHex):nc,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(i=e.tagNumber)!==null&&i!==void 0?i:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let n=0;switch(this.tagClass){case 1:n|=0;break;case 2:n|=64;break;case 3:n|=128;break;case 4:n|=192;break;default:return this.error="Unknown tag class",Pt}if(this.isConstructed&&(n|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,n|=s,i[0]=n}return i.buffer}if(!this.isHexOnly){const i=ar(this.tagNumber,7),s=new Uint8Array(i),a=i.byteLength,c=new Uint8Array(a+1);if(c[0]=n|31,!e){for(let l=0;l<a-1;l++)c[l+1]=s[l]|128;c[a]=s[a-1]}return c.buffer}const r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=n|31,!e){const i=this.valueHexView;for(let s=0;s<i.length-1;s++)r[s+1]=i[s]|128;r[this.valueHexView.byteLength]=i[i.length-1]}return r.buffer}fromBER(e,n,r){const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;const c=s[0]&31;if(c!==31)this.tagNumber=c,this.blockLength=1;else{let l=1,d=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(d[l-1]=s[l]&127,l++,l>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(l===p){p+=255;const g=new Uint8Array(p);for(let _=0;_<d.length;_++)g[_]=d[_];d=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,d[l-1]=s[l]&127;const f=new Uint8Array(l);for(let g=0;g<l;g++)f[g]=d[g];d=this.valueHexView=new Uint8Array(l),d.set(f),this.blockLength<=9?this.tagNumber=Zr(d,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return n+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}E_.NAME="identificationBlock";class C_ extends kr{constructor({lenBlock:e={}}={}){var n,r,i;super(),this.isIndefiniteForm=(n=e.isIndefiniteForm)!==null&&n!==void 0?n:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(i=e.length)!==null&&i!==void 0?i:0}fromBER(e,n,r){const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,n+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,n+this.blockLength;const a=s[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>s.length)return this.error="End of input reached before message was fully decoded",-1;const c=n+1,l=i.subarray(c,c+a);return l[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Zr(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,n+this.blockLength}toBER(e=!1){let n,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=128),n;if(this.longFormUsed){const i=ar(this.length,8);if(i.byteLength>127)return this.error="Too big length",Pt;if(n=new ArrayBuffer(i.byteLength+1),e)return n;const s=new Uint8Array(i);r=new Uint8Array(n),r[0]=i.byteLength|128;for(let a=0;a<i.byteLength;a++)r[a+1]=s[a];return n}return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=this.length),n}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}C_.NAME="lengthBlock";const D={};class Me extends kr{constructor({name:e=nt,optional:n=!1,primitiveSchema:r,...i}={},s){super(i),this.name=e,this.optional=n,r&&(this.primitiveSchema=r),this.idBlock=new E_(i),this.lenBlock=new C_(i),this.valueBlock=s?new s(i):new et(i)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}toBER(e,n){const r=n||new tc;n||N_(this);const i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const a=this.lenBlock.toBER(e);r.write(a),r.write(s)}return n?Pt:r.final()}toJSON(){const e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():q.ToHex(this.toBER())}onAsciiEncoding(){const e=this.constructor.NAME,n=q.ToHex(this.valueBlock.valueBeforeDecodeView);return`${e} : ${n}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const n=this.toBER(),r=e.toBER();return N3(n,r)}}Me.NAME="BaseBlock";function N_(t){var e;if(t instanceof D.Constructed)for(const n of t.valueBlock.value)N_(n)&&(t.lenBlock.isIndefiniteForm=!0);return!!(!((e=t.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}class Mu extends Me{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor({value:e=nt,...n}={},r){super(n,r),e&&this.fromString(e)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}Mu.NAME="BaseStringBlock";class I_ extends Xt(et){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}I_.NAME="PrimitiveValueBlock";var j_;class Ho extends Me{constructor(e={}){super(e,I_),this.idBlock.isConstructed=!1}}j_=Ho;D.Primitive=j_;Ho.NAME="PRIMITIVE";function U3(t,e){if(t instanceof e)return t;const n=new e;return n.idBlock=t.idBlock,n.lenBlock=t.lenBlock,n.warnings=t.warnings,n.valueBeforeDecodeView=t.valueBeforeDecodeView,n}function gi(t,e=0,n=t.length){const r=e;let i=new Me({},et);const s=new kr;if(!wn(s,t,e,n))return i.error=s.error,{offset:-1,result:i};if(!t.subarray(e,e+n).length)return i.error="Zero buffer length",{offset:-1,result:i};let c=i.idBlock.fromBER(t,e,n);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),c===-1)return i.error=i.idBlock.error,{offset:-1,result:i};if(e=c,n-=i.idBlock.blockLength,c=i.lenBlock.fromBER(t,e,n),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),c===-1)return i.error=i.lenBlock.error,{offset:-1,result:i};if(e=c,n-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};let l=Me;switch(i.idBlock.tagClass){case 1:if(i.idBlock.tagNumber>=37&&i.idBlock.isHexOnly===!1)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};l=D.EndOfContent;break;case 1:l=D.Boolean;break;case 2:l=D.Integer;break;case 3:l=D.BitString;break;case 4:l=D.OctetString;break;case 5:l=D.Null;break;case 6:l=D.ObjectIdentifier;break;case 10:l=D.Enumerated;break;case 12:l=D.Utf8String;break;case 13:l=D.RelativeObjectIdentifier;break;case 14:l=D.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:l=D.Sequence;break;case 17:l=D.Set;break;case 18:l=D.NumericString;break;case 19:l=D.PrintableString;break;case 20:l=D.TeletexString;break;case 21:l=D.VideotexString;break;case 22:l=D.IA5String;break;case 23:l=D.UTCTime;break;case 24:l=D.GeneralizedTime;break;case 25:l=D.GraphicString;break;case 26:l=D.VisibleString;break;case 27:l=D.GeneralString;break;case 28:l=D.UniversalString;break;case 29:l=D.CharacterString;break;case 30:l=D.BmpString;break;case 31:l=D.DATE;break;case 32:l=D.TimeOfDay;break;case 33:l=D.DateTime;break;case 34:l=D.Duration;break;default:{const d=i.idBlock.isConstructed?new D.Constructed:new D.Primitive;d.idBlock=i.idBlock,d.lenBlock=i.lenBlock,d.warnings=i.warnings,i=d}}break;case 2:case 3:case 4:default:l=i.idBlock.isConstructed?D.Constructed:D.Primitive}return i=U3(i,l),c=i.fromBER(t,e,i.lenBlock.isIndefiniteForm?n:i.lenBlock.length),i.valueBeforeDecodeView=t.subarray(r,r+i.blockLength),{offset:c,result:i}}function Hr(t){if(!t.byteLength){const e=new Me({},et);return e.error="Input buffer has zero length",{offset:-1,result:e}}return gi(T.toUint8Array(t).slice(),0,t.byteLength)}function D3(t,e){return t?1:e}class jn extends et{constructor({value:e=[],isIndefiniteForm:n=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=n}fromBER(e,n,r){const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;if(this.valueBeforeDecodeView=i.subarray(n,n+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),n;let s=n;for(;D3(this.isIndefiniteForm,r)>0;){const a=gi(i,s,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(s=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===bo)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===bo?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const r=n||new tc;for(let i=0;i<this.value.length;i++)this.value[i].toBER(e,r);return n?Pt:r.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}jn.NAME="ConstructedValueBlock";var O_;class Qe extends Me{constructor(e={}){super(e,jn),this.idBlock.isConstructed=!0}fromBER(e,n,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){const e=[];for(const r of this.valueBlock.value)e.push(r.toString("ascii").split(`
67
+ c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]});async function W2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required authentication parameters");const r=new $r(n.client_id,n.client_secret,`${ge(t.env)}callback`),i=pe(),s=r.createAuthorizationURL("https://api.vipps.no/access-management-1.0/access/oauth2/auth",i,n.scope?.split(" ")||["openid","email","phoneNumber","name","address","birthDate"]);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode","query"),{redirectUrl:s.href,code:i}}async function J2(t,e,n){const{options:r}=e;if(!r?.client_id||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new $r(r.client_id,r.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode("https://api.vipps.no/access-management-1.0/access/oauth2/token",n,null),a=Uo(s.idToken());if(!a)throw new Error("Invalid ID token");const c=hi.parse(a.payload);if(typeof c.msn!="string")throw new Error("msn not available in id token");const l=await fetch("https://api.vipps.no/vipps-userinfo-api/userinfo",{headers:{Authorization:`Bearer ${s.accessToken()}`,"Merchant-Serial-Number":c.msn}});if(!l.ok)throw new L(400,{message:"Failed to get user from vipps"});return await l.json()}const X2=Object.freeze(Object.defineProperty({__proto__:null,displayName:K2,getRedirect:W2,logo:G2,validateAuthorizationCodeAndGetUser:J2},Symbol.toStringTag,{value:"Module"})),Z2="GitHub",Y2=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:u("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22.5 0C10.074 0 0 10.335 0 23.077C0 33.266 6.444 41.895 15.39 44.955C16.515 45.165 16.935 44.46 16.935 43.857C16.935 43.32 16.92 41.865 16.905 39.99C10.65 41.355 9.33 36.99 9.33 36.99C8.31 34.32 6.825 33.615 6.825 33.615C4.77 32.205 6.975 32.235 6.975 32.235C9.24 32.385 10.425 34.59 10.425 34.59C12.45 38.13 15.75 37.125 17.01 36.555C17.22 35.07 17.82 34.065 18.48 33.51C13.455 32.94 8.19 30.93 8.19 22.035C8.19 19.5 9.075 17.43 10.47 15.81C10.23 15.24 9.435 12.87 10.695 9.66C10.695 9.66 12.585 9.045 16.875 12.06C18.675 11.565 20.595 11.31 22.5 11.31C24.405 11.31 26.325 11.565 28.125 12.06C32.415 9.045 34.305 9.66 34.305 9.66C35.565 12.87 34.77 15.24 34.53 15.81C35.925 17.43 36.81 19.5 36.81 22.035C36.81 30.96 31.53 32.925 26.49 33.48C27.33 34.2 28.095 35.625 28.095 37.815C28.095 40.95 28.065 43.47 28.065 43.857C28.065 44.46 28.485 45.18 29.625 44.955C38.571 41.88 45 33.252 45 23.077C45 10.335 34.926 0 22.5 0Z",fill:"currentColor"})});async function Q2(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required GitHub authentication parameters");const r=`${ge(t.env)}callback`,i=new w_(n.client_id,n.client_secret,r),s=pe();return{redirectUrl:i.createAuthorizationURL(s,n.scope?.split(" ")||["user:email"]).href,code:s}}async function e3(t,e,n){const{options:r}=e;if(!r?.client_id||!r.client_secret)throw new Error("Missing required authentication parameters");const s=await new w_(r.client_id,r.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n),a=await fetch("https://api.github.com/user",{headers:{Authorization:`Bearer ${s.accessToken()}`,"User-Agent":"AuthHero"}});if(!a.ok)throw new Error("Failed to fetch user info");const c=await a.json(),l=await fetch("https://api.github.com/user/emails",{headers:{Authorization:`Bearer ${s.accessToken()}`,"User-Agent":"AuthHero"}});let d=c.email;if(l.ok){const p=await l.json(),f=p.find(g=>g.primary&&g.verified)||p.find(g=>g.verified);f&&(d=f.email)}return t.set("log",`GitHub user: ${JSON.stringify(c)}`),{sub:c.id.toString(),email:d,name:c.name,given_name:c.name?.split(" ")[0],family_name:c.name?.split(" ").slice(1).join(" "),picture:c.avatar_url}}const t3=Object.freeze(Object.defineProperty({__proto__:null,displayName:Z2,getRedirect:Q2,logo:Y2,validateAuthorizationCodeAndGetUser:e3},Symbol.toStringTag,{value:"Module"})),n3="Microsoft",r3=({className:t=""})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{fill:"#F25022",d:"M0 0H21.43V21.43H0V0Z"}),u("path",{fill:"#7FBA00",d:"M23.57 0H45V21.43H23.57V0Z"}),u("path",{fill:"#00A4EF",d:"M0 23.57H21.43V45H0V23.57Z"}),u("path",{fill:"#FFB900",d:"M23.57 23.57H45V45H23.57V23.57Z"})]});async function i3(t,e){const{options:n}=e;if(!n?.client_id||!n.client_secret)throw new Error("Missing required Microsoft authentication parameters");const r=`${ge(t.env)}callback`,i=n.realms||"common",s=new v_(i,n.client_id,n.client_secret,r),a=pe(),c=Qa();return{redirectUrl:s.createAuthorizationURL(a,c,n.scope?.split(" ")||["openid","profile","email"]).href,code:a,codeVerifier:c}}async function o3(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.client_secret||!r)throw new Error("Missing required authentication parameters");const s=i.realms||"common",c=await new v_(s,i.client_id,i.client_secret,`${ge(t.env)}callback`).validateAuthorizationCode(n,r),l=Uo(c.idToken());if(!l)throw new Error("Invalid ID token");const d=hi.parse(l.payload);return t.set("log",`Microsoft user: ${JSON.stringify(d)}`),{sub:d.sub,email:d.email,given_name:d.given_name,family_name:d.family_name,name:d.name,picture:d.picture}}const s3=Object.freeze(Object.defineProperty({__proto__:null,displayName:n3,getRedirect:i3,logo:r3,validateAuthorizationCodeAndGetUser:o3},Symbol.toStringTag,{value:"Module"})),a3="OpenID Connect",c3=({className:t="",iconUrl:e})=>e?u("img",{src:e,alt:"OIDC Provider",className:t}):u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:[u("path",{d:"M22.5 0C10.074 0 0 10.074 0 22.5S10.074 45 22.5 45 45 34.926 45 22.5 34.926 0 22.5 0zm0 40.5c-9.941 0-18-8.059-18-18s8.059-18 18-18 18 8.059 18 18-8.059 18-18 18z",fill:"currentColor"}),u("path",{d:"M22.5 9c-7.456 0-13.5 6.044-13.5 13.5S15.044 36 22.5 36 36 29.956 36 22.5 29.956 9 22.5 9zm0 22.5c-4.971 0-9-4.029-9-9s4.029-9 9-9 9 4.029 9 9-4.029 9-9 9z",fill:"currentColor"})]});async function l3(t,e){const{options:n}=e;if(!n?.client_id||!n.authorization_endpoint)throw new Error("Missing required OIDC authentication parameters");const r=`${ge(t.env)}callback`,i=new $r(n.client_id,n.client_secret||null,r),s=m_(),a=Qa(),c=n.scope?.split(" ")??["openid","profile","email"];return{redirectUrl:i.createAuthorizationURLWithPKCE(n.authorization_endpoint,s,sr.S256,a,c).href,code:s,codeVerifier:a}}async function d3(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.token_endpoint)throw new Error("Missing required authentication parameters");const s=`${ge(t.env)}callback`,c=await new $r(i.client_id,i.client_secret||null,s).validateAuthorizationCode(i.token_endpoint,n,r||null);if(c.data.id_token){const d=Uo(c.idToken());if(d?.payload){const p=hi.passthrough().parse(d.payload);return{sub:p.sub,email:p.email,given_name:p.given_name,family_name:p.family_name,name:p.name}}}if(i.userinfo_endpoint){const d=await fetch(i.userinfo_endpoint,{headers:{Authorization:`Bearer ${c.accessToken()}`}});if(!d.ok)throw new Error("Failed to fetch user info");const p=await d.json();if(!p.sub)throw new Error("Unable to get user identifier: userinfo response missing sub");return{sub:p.sub,email:p.email,given_name:p.given_name,family_name:p.family_name,name:p.name}}throw new Error("Unable to get user information: no ID token or userinfo endpoint")}const u3=Object.freeze(Object.defineProperty({__proto__:null,displayName:a3,getRedirect:l3,logo:c3,validateAuthorizationCodeAndGetUser:d3},Symbol.toStringTag,{value:"Module"})),p3="OAuth 2.0",f3=({className:t="",iconUrl:e})=>e?u("img",{src:e,alt:"OAuth Provider",className:t}):u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",className:t,children:u("path",{d:"M31.5 18h-1.5v-4.5c0-4.136-3.364-7.5-7.5-7.5s-7.5 3.364-7.5 7.5v4.5h-1.5c-1.657 0-3 1.343-3 3v15c0 1.657 1.343 3 3 3h18c1.657 0 3-1.343 3-3v-15c0-1.657-1.343-3-3-3zm-12-4.5c0-2.481 2.019-4.5 4.5-4.5s4.5 2.019 4.5 4.5v4.5h-9v-4.5zm12 22.5h-18v-15h18v15zm-9-6c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3z",fill:"currentColor"})});async function h3(t,e){const{options:n}=e;if(!n?.client_id||!n.authorization_endpoint)throw new Error("Missing required OAuth2 authentication parameters");const r=`${ge(t.env)}callback`,i=new $r(n.client_id,n.client_secret||null,r),s=m_(),a=Qa(),c=n.scope?.split(" ")??[];return{redirectUrl:i.createAuthorizationURLWithPKCE(n.authorization_endpoint,s,sr.S256,a,c).href,code:s,codeVerifier:a}}async function g3(t,e,n,r){const{options:i}=e;if(!i?.client_id||!i.token_endpoint)throw new Error("Missing required authentication parameters");const s=`${ge(t.env)}callback`,c=await new $r(i.client_id,i.client_secret||null,s).validateAuthorizationCode(i.token_endpoint,n,r||null);if(!i.userinfo_endpoint)throw new Error("Missing userinfo_endpoint for OAuth2 provider");const l=await fetch(i.userinfo_endpoint,{headers:{Authorization:`Bearer ${c.accessToken()}`}});if(!l.ok)throw new Error("Failed to fetch user info");const d=await l.json(),p=d.sub||d.id||d.user_id;if(!p)throw new Error("Unable to get user identifier: response missing sub, id, or user_id");return{sub:p,email:d.email,given_name:d.given_name||d.first_name,family_name:d.family_name||d.last_name,name:d.name||`${d.given_name||d.first_name||""} ${d.family_name||d.last_name||""}`.trim()}}const m3=Object.freeze(Object.defineProperty({__proto__:null,displayName:p3,getRedirect:h3,logo:f3,validateAuthorizationCodeAndGetUser:g3},Symbol.toStringTag,{value:"Module"})),Uu={apple:P2,facebook:U2,"google-oauth2":V2,vipps:X2,github:t3,microsoft:s3,oidc:u3,oauth2:m3};function k_(t,e){const n=t.env.STRATEGIES||{},i={...Uu,...n}[e];if(!i)throw new Error(`Strategy ${e} not found`);return i}const _3=new Set(["oidc","samlp","waad","adfs","oauth2"]);function y3(t){return _3.has(t.strategy)?t.name:t.strategy}const Zf=it.extend({users:o.z.array(Mt)}),w3=it.extend({sessions:o.z.array(Va)}),b3=it.extend({organizations:o.z.array(An)}),v3=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Mt),Zf])}},description:"List of users"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query");if(s?.includes("identities.profileData.email")){const d=s.split("=")[1],f=(await t.env.data.users.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,q:`email:${d}`})).users.filter(w=>w.linked_to),[g]=f;if(!g)return t.json([]);const _=await t.env.data.users.get(t.var.tenant_id,g.linked_to);if(!_)throw new v(500,{message:"Primary account not found"});return t.json([Mt.parse(_)])}const a=["-_exists_:linked_to"];s&&a.push(s);const c=await t.env.data.users.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:a.join(" ")}),l=c.users.filter(d=>!d.linked_to);return r?t.json(Zf.parse({users:l,length:c.length,start:c.start,limit:c.limit})):t.json(o.z.array(Mt).parse(l))}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Mt}},description:"List of users"}}}),async t=>{const{user_id:e}=t.req.valid("param"),n=await t.env.data.users.get(t.var.tenant_id,e);if(!n)throw new v(404);if(n.linked_to)throw new v(404,{message:"User is linked to another user"});return t.json(n)}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{user_id:e}=t.req.valid("param");if(!await t.env.data.users.remove(t.var.tenant_id,e))throw new v(404);return await ne(t,t.var.tenant_id,{type:ee.SUCCESS_API_OPERATION,description:"Delete a User",response:{statusCode:204,body:{}}}),t.text("OK")}).openapi(o.createRoute({tags:["users"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...Ds.shape,password:o.z.string().optional()})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Mt}},description:"Status"}}}),async t=>{const e=t.req.valid("json");t.set("body",e);const{email:n,phone_number:r,name:i,linked_to:s,email_verified:a,provider:c,connection:l,password:d}=e,p=await t.env.data.connections.get(t.var.tenant_id,l),f=p?y3(p):c||l,g=e.user_id,_=g?fs(g):Ka(),w=`${f}|${_}`;try{const k={email:n,user_id:w,name:i||n||r,phone_number:r,provider:f,connection:l,linked_to:s??void 0,email_verified:a||!1,last_ip:"",is_social:!1,last_login:new Date().toISOString()},z=await t.env.data.users.create(t.var.tenant_id,k);if(d){const I={user_id:w,password:await rr.hash(d,10),algorithm:"bcrypt",is_current:!0};await t.env.data.passwords.create(t.var.tenant_id,I)}t.set("user_id",z.user_id),await ne(t,t.var.tenant_id,{type:ee.SUCCESS_API_OPERATION,description:"User created"});const N=z.identities?z:{...z,identities:[{connection:z.connection,provider:z.provider,user_id:fs(z.user_id),isSocial:z.is_social}]};return t.json(Mt.parse(N),{status:201})}catch(k){throw k.message==="User already exists"?new v(409,{message:"User already exists"}):k}}).openapi(o.createRoute({tags:["users"],method:"patch",path:"/{user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({...Ds.shape,verify_email:o.z.boolean(),password:o.z.string()}).partial()}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{data:e}=t.env,n=t.req.valid("json"),{user_id:r}=t.req.valid("param"),{verify_email:i,password:s,connection:a,...c}=n,l=await e.users.get(t.var.tenant_id,r);if(!l)throw new v(404);if(l.linked_to)throw new v(404,{message:"User is linked to another user"});let d=r,p=l;if(a)if(l.connection===a)d=r,p=l;else{const _=(await e.users.list(t.var.tenant_id,{page:0,per_page:100,include_totals:!1,q:`linked_to:${r}`})).users.find(w=>w.connection===a);if(!_)throw new v(404,{message:`No identity found with connection: ${a}`});d=_.user_id,p=_}if(c.email&&c.email!==p.email){const g=await Iu(t.env.data.users,t.var.tenant_id,c.email);if(g.length&&g.some(_=>_.user_id!==d))throw new v(409,{message:"Another user with the same email address already exists."})}if(await t.env.data.users.update(t.var.tenant_id,d,c),s){let g;if(a)if(a==="Username-Password-Authentication")g={provider:p.provider,user_id:fs(d)};else throw new v(400,{message:`Cannot set password for connection: ${a}`});else if(g=l.identities?.find(k=>k.connection==="Username-Password-Authentication"),!g)throw new v(400,{message:"User does not have a password identity"});const _=`${g.provider}|${g.user_id}`,w=await e.passwords.get(t.var.tenant_id,_);w&&await e.passwords.update(t.var.tenant_id,{id:w.id,user_id:_,password:w.password,algorithm:w.algorithm,is_current:!1}),await e.passwords.create(t.var.tenant_id,{user_id:_,password:await rr.hash(s,10),algorithm:"bcrypt",is_current:!0})}const f=await t.env.data.users.get(t.var.tenant_id,r);if(!f)throw new v(500);return await ne(t,t.var.tenant_id,{type:ee.SUCCESS_API_OPERATION,description:"Update a User",body:n,response:{statusCode:200,body:f}}),t.json(f)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/identities",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.union([o.z.object({link_with:o.z.string()}),o.z.object({user_id:o.z.string(),provider:o.z.string(),connection:o.z.string().optional()})])}}},params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:o.z.array(o.z.object({connection:o.z.string(),provider:o.z.string(),user_id:o.z.string(),isSocial:o.z.boolean()}))}},description:"Status"}}}),async t=>{const e=t.req.valid("json"),{user_id:n}=t.req.valid("param"),r="link_with"in e?e.link_with:e.user_id,i=await t.env.data.users.get(t.var.tenant_id,n);if(!i)throw new v(400,{message:"Linking an inexistent identity is not allowed."});await t.env.data.users.update(t.var.tenant_id,r,{linked_to:n});const s=await t.env.data.users.list(t.var.tenant_id,{page:0,per_page:10,include_totals:!1,q:`linked_to:${n}`}),a=[i,...s.users].map(c=>({connection:c.connection,provider:c.provider,user_id:fs(c.user_id),isSocial:c.is_social}));return t.json(a,{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/identities/{provider}/{linked_user_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string(),provider:o.z.string(),linked_user_id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Mt)}},description:"Status"}}}),async t=>{const{user_id:e,provider:n,linked_user_id:r}=t.req.valid("param");await t.env.data.users.unlink(t.var.tenant_id,e,n,r);const i=await t.env.data.users.get(t.var.tenant_id,e);if(!i)throw new v(404);return t.json([Mt.parse(i)])}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/sessions",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({user_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Va),w3])}},description:"List of sessions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{include_totals:n,page:r,per_page:i}=t.req.valid("query"),s=await t.env.data.sessions.list(t.var.tenant_id,{page:r,per_page:i,include_totals:n,q:`user_id:${e}`});return n?t.json(s):t.json(s.sessions)}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/permissions",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Am}},description:"User permissions"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{page:n,per_page:r,sort:i,q:s}=t.req.valid("query");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const c=await t.env.data.userPermissions.list(t.var.tenant_id,e,{page:n,per_page:r,include_totals:!1,sort:Ge(i),q:s});return t.json(c)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/permissions",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Permissions assigned to user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userPermissions.create(t.var.tenant_id,e,{user_id:e,resource_server_identifier:i.resource_server_identifier,permission_name:i.permission_name}))throw new v(500,{message:"Failed to assign permissions to user"});return t.json({message:"Permissions assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/permissions",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Permissions removed from user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userPermissions.remove(t.var.tenant_id,e,i))throw new v(500,{message:"Failed to remove permissions from user"});return t.json({message:"Permissions removed successfully"})}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/roles",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ws}},description:"User roles"}}}),async t=>{const{user_id:e}=t.req.valid("param");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const r=await t.env.data.userRoles.list(t.var.tenant_id,e,void 0,"");return t.json(r)}).openapi(o.createRoute({tags:["users"],method:"post",path:"/{user_id}/roles",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string())})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Roles assigned to user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{roles:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userRoles.create(t.var.tenant_id,e,i,""))throw new v(500,{message:"Failed to assign roles to user"});return t.json({message:"Roles assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/roles",request:{params:o.z.object({user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string())})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Roles removed from user"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{roles:n}=t.req.valid("json");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});for(const i of n)if(!await t.env.data.userRoles.remove(t.var.tenant_id,e,i,""))throw new v(500,{message:"Failed to remove roles from user"});return t.json({message:"Roles removed successfully"})}).openapi(o.createRoute({tags:["users"],method:"get",path:"/{user_id}/organizations",request:{params:o.z.object({user_id:o.z.string()}),query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([b3,o.z.array(An)])}},description:"List of user organizations"}}}),async t=>{const{user_id:e}=t.req.valid("param"),{page:n,per_page:r,include_totals:i,sort:s}=t.req.valid("query");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const c=await t.env.data.userOrganizations.listUserOrganizations(t.var.tenant_id,e,{page:n,per_page:r,sort:Ge(s)});return i?t.json({organizations:c.organizations,start:c.start,limit:c.limit,length:c.length}):t.json(c.organizations)}).openapi(o.createRoute({tags:["users"],method:"delete",path:"/{user_id}/organizations/{organization_id}",request:{params:o.z.object({user_id:o.z.string(),organization_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"User removed from organization successfully"}}}),async t=>{const{user_id:e,organization_id:n}=t.req.valid("param");if(!await t.env.data.users.get(t.var.tenant_id,e))throw new v(404,{message:"User not found"});const s=(await t.env.data.userOrganizations.list(t.var.tenant_id,{q:`user_id:${e}`,per_page:100})).userOrganizations.find(a=>a.organization_id===n);if(!s)throw new v(404,{message:"User is not a member of this organization"});return await t.env.data.userOrganizations.remove(t.var.tenant_id,s.id),t.json({message:"User removed from organization successfully"})});var Yf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $3(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Qf={};var eh;function k3(){if(eh)return Qf;eh=1;var t;return(function(e){(function(n){var r=typeof globalThis=="object"?globalThis:typeof Yf=="object"?Yf:typeof self=="object"?self:typeof this=="object"?this:l(),i=s(e);typeof r.Reflect<"u"&&(i=s(r.Reflect,i)),n(i,r),typeof r.Reflect>"u"&&(r.Reflect=e);function s(d,p){return function(f,g){Object.defineProperty(d,f,{configurable:!0,writable:!0,value:g}),p&&p(f,g)}}function a(){try{return Function("return this;")()}catch{}}function c(){try{return(0,eval)("(function() { return this; })()")}catch{}}function l(){return a()||c()}})(function(n,r){var i=Object.prototype.hasOwnProperty,s=typeof Symbol=="function",a=s&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",c=s&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",l=typeof Object.create=="function",d={__proto__:[]}instanceof Array,p=!l&&!d,f={create:l?function(){return nl(Object.create(null))}:d?function(){return nl({__proto__:null})}:function(){return nl({})},has:p?function($,x){return i.call($,x)}:function($,x){return x in $},get:p?function($,x){return i.call($,x)?$[x]:void 0}:function($,x){return $[x]}},g=Object.getPrototypeOf(Function),_=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:ww(),w=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:bw(),k=typeof WeakMap=="function"?WeakMap:vw(),z=s?Symbol.for("@reflect-metadata:registry"):void 0,N=mw(),I=_w(N);function S($,x,A,R){if(G(A)){if(!Zp($))throw new TypeError;if(!Yp(x))throw new TypeError;return $e($,x)}else{if(!Zp($))throw new TypeError;if(!Ie(x))throw new TypeError;if(!Ie(R)&&!G(R)&&!ye(R))throw new TypeError;return ye(R)&&(R=void 0),A=Lt(A),_e($,x,A,R)}}n("decorate",S);function E($,x){function A(R,J){if(!Ie(R))throw new TypeError;if(!G(J)&&!hw(J))throw new TypeError;sn($,x,R,J)}return A}n("metadata",E);function O($,x,A,R){if(!Ie(A))throw new TypeError;return G(R)||(R=Lt(R)),sn($,x,A,R)}n("defineMetadata",O);function K($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Lt(A)),on($,x,A)}n("hasMetadata",K);function W($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Lt(A)),He($,x,A)}n("hasOwnMetadata",W);function ie($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Lt(A)),Ze($,x,A)}n("getMetadata",ie);function F($,x,A){if(!Ie(x))throw new TypeError;return G(A)||(A=Lt(A)),Bt($,x,A)}n("getOwnMetadata",F);function se($,x){if(!Ie($))throw new TypeError;return G(x)||(x=Lt(x)),an($,x)}n("getMetadataKeys",se);function ce($,x){if(!Ie($))throw new TypeError;return G(x)||(x=Lt(x)),Pe($,x)}n("getOwnMetadataKeys",ce);function fe($,x,A){if(!Ie(x))throw new TypeError;if(G(A)||(A=Lt(A)),!Ie(x))throw new TypeError;G(A)||(A=Lt(A));var R=Ai(x,A,!1);return G(R)?!1:R.OrdinaryDeleteMetadata($,x,A)}n("deleteMetadata",fe);function $e($,x){for(var A=$.length-1;A>=0;--A){var R=$[A],J=R(x);if(!G(J)&&!ye(J)){if(!Yp(J))throw new TypeError;x=J}}return x}function _e($,x,A,R){for(var J=$.length-1;J>=0;--J){var ze=$[J],je=ze(x,A,R);if(!G(je)&&!ye(je)){if(!Ie(je))throw new TypeError;R=je}}return R}function on($,x,A){var R=He($,x,A);if(R)return!0;var J=tl(x);return ye(J)?!1:on($,J,A)}function He($,x,A){var R=Ai(x,A,!1);return G(R)?!1:Xp(R.OrdinaryHasOwnMetadata($,x,A))}function Ze($,x,A){var R=He($,x,A);if(R)return Bt($,x,A);var J=tl(x);if(!ye(J))return Ze($,J,A)}function Bt($,x,A){var R=Ai(x,A,!1);if(!G(R))return R.OrdinaryGetOwnMetadata($,x,A)}function sn($,x,A,R){var J=Ai(A,R,!0);J.OrdinaryDefineOwnMetadata($,x,A,R)}function an($,x){var A=Pe($,x),R=tl($);if(R===null)return A;var J=an(R,x);if(J.length<=0)return A;if(A.length<=0)return J;for(var ze=new w,je=[],re=0,B=A;re<B.length;re++){var M=B[re],H=ze.has(M);H||(ze.add(M),je.push(M))}for(var V=0,oe=J;V<oe.length;V++){var M=oe[V],H=ze.has(M);H||(ze.add(M),je.push(M))}return je}function Pe($,x){var A=Ai($,x,!1);return A?A.OrdinaryOwnMetadataKeys($,x):[]}function ht($){if($===null)return 1;switch(typeof $){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return $===null?1:6;default:return 6}}function G($){return $===void 0}function ye($){return $===null}function zr($){return typeof $=="symbol"}function Ie($){return typeof $=="object"?$!==null:typeof $=="function"}function uw($,x){switch(ht($)){case 0:return $;case 1:return $;case 2:return $;case 3:return $;case 4:return $;case 5:return $}var A="string",R=Qp($,a);if(R!==void 0){var J=R.call($,A);if(Ie(J))throw new TypeError;return J}return pw($)}function pw($,x){var A,R,J;{var ze=$.toString;if(us(ze)){var R=ze.call($);if(!Ie(R))return R}var A=$.valueOf;if(us(A)){var R=A.call($);if(!Ie(R))return R}}throw new TypeError}function Xp($){return!!$}function fw($){return""+$}function Lt($){var x=uw($);return zr(x)?x:fw(x)}function Zp($){return Array.isArray?Array.isArray($):$ instanceof Object?$ instanceof Array:Object.prototype.toString.call($)==="[object Array]"}function us($){return typeof $=="function"}function Yp($){return typeof $=="function"}function hw($){switch(ht($)){case 3:return!0;case 4:return!0;default:return!1}}function el($,x){return $===x||$!==$&&x!==x}function Qp($,x){var A=$[x];if(A!=null){if(!us(A))throw new TypeError;return A}}function ef($){var x=Qp($,c);if(!us(x))throw new TypeError;var A=x.call($);if(!Ie(A))throw new TypeError;return A}function tf($){return $.value}function nf($){var x=$.next();return x.done?!1:x}function rf($){var x=$.return;x&&x.call($)}function tl($){var x=Object.getPrototypeOf($);if(typeof $!="function"||$===g||x!==g)return x;var A=$.prototype,R=A&&Object.getPrototypeOf(A);if(R==null||R===Object.prototype)return x;var J=R.constructor;return typeof J!="function"||J===$?x:J}function gw(){var $;!G(z)&&typeof r.Reflect<"u"&&!(z in r.Reflect)&&typeof r.Reflect.defineMetadata=="function"&&($=yw(r.Reflect));var x,A,R,J=new k,ze={registerProvider:je,getProvider:B,setProvider:H};return ze;function je(V){if(!Object.isExtensible(ze))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case $===V:break;case G(x):x=V;break;case x===V:break;case G(A):A=V;break;case A===V:break;default:R===void 0&&(R=new w),R.add(V);break}}function re(V,oe){if(!G(x)){if(x.isProviderFor(V,oe))return x;if(!G(A)){if(A.isProviderFor(V,oe))return x;if(!G(R))for(var he=ef(R);;){var Ae=nf(he);if(!Ae)return;var vt=tf(Ae);if(vt.isProviderFor(V,oe))return rf(he),vt}}}if(!G($)&&$.isProviderFor(V,oe))return $}function B(V,oe){var he=J.get(V),Ae;return G(he)||(Ae=he.get(oe)),G(Ae)&&(Ae=re(V,oe),G(Ae)||(G(he)&&(he=new _,J.set(V,he)),he.set(oe,Ae))),Ae}function M(V){if(G(V))throw new TypeError;return x===V||A===V||!G(R)&&R.has(V)}function H(V,oe,he){if(!M(he))throw new Error("Metadata provider not registered.");var Ae=B(V,oe);if(Ae!==he){if(!G(Ae))return!1;var vt=J.get(V);G(vt)&&(vt=new _,J.set(V,vt)),vt.set(oe,he)}return!0}}function mw(){var $;return!G(z)&&Ie(r.Reflect)&&Object.isExtensible(r.Reflect)&&($=r.Reflect[z]),G($)&&($=gw()),!G(z)&&Ie(r.Reflect)&&Object.isExtensible(r.Reflect)&&Object.defineProperty(r.Reflect,z,{enumerable:!1,configurable:!1,writable:!1,value:$}),$}function _w($){var x=new k,A={isProviderFor:function(M,H){var V=x.get(M);return G(V)?!1:V.has(H)},OrdinaryDefineOwnMetadata:je,OrdinaryHasOwnMetadata:J,OrdinaryGetOwnMetadata:ze,OrdinaryOwnMetadataKeys:re,OrdinaryDeleteMetadata:B};return N.registerProvider(A),A;function R(M,H,V){var oe=x.get(M),he=!1;if(G(oe)){if(!V)return;oe=new _,x.set(M,oe),he=!0}var Ae=oe.get(H);if(G(Ae)){if(!V)return;if(Ae=new _,oe.set(H,Ae),!$.setProvider(M,H,A))throw oe.delete(H),he&&x.delete(M),new Error("Wrong provider for target.")}return Ae}function J(M,H,V){var oe=R(H,V,!1);return G(oe)?!1:Xp(oe.has(M))}function ze(M,H,V){var oe=R(H,V,!1);if(!G(oe))return oe.get(M)}function je(M,H,V,oe){var he=R(V,oe,!0);he.set(M,H)}function re(M,H){var V=[],oe=R(M,H,!1);if(G(oe))return V;for(var he=oe.keys(),Ae=ef(he),vt=0;;){var of=nf(Ae);if(!of)return V.length=vt,V;var $w=tf(of);try{V[vt]=$w}catch(kw){try{rf(Ae)}finally{throw kw}}vt++}}function B(M,H,V){var oe=R(H,V,!1);if(G(oe)||!oe.delete(M))return!1;if(oe.size===0){var he=x.get(H);G(he)||(he.delete(V),he.size===0&&x.delete(he))}return!0}}function yw($){var x=$.defineMetadata,A=$.hasOwnMetadata,R=$.getOwnMetadata,J=$.getOwnMetadataKeys,ze=$.deleteMetadata,je=new k,re={isProviderFor:function(B,M){var H=je.get(B);return!G(H)&&H.has(M)?!0:J(B,M).length?(G(H)&&(H=new w,je.set(B,H)),H.add(M),!0):!1},OrdinaryDefineOwnMetadata:x,OrdinaryHasOwnMetadata:A,OrdinaryGetOwnMetadata:R,OrdinaryOwnMetadataKeys:J,OrdinaryDeleteMetadata:ze};return re}function Ai($,x,A){var R=N.getProvider($,x);if(!G(R))return R;if(A){if(N.setProvider($,x,I))return I;throw new Error("Illegal state.")}}function ww(){var $={},x=[],A=(function(){function re(B,M,H){this._index=0,this._keys=B,this._values=M,this._selector=H}return re.prototype["@@iterator"]=function(){return this},re.prototype[c]=function(){return this},re.prototype.next=function(){var B=this._index;if(B>=0&&B<this._keys.length){var M=this._selector(this._keys[B],this._values[B]);return B+1>=this._keys.length?(this._index=-1,this._keys=x,this._values=x):this._index++,{value:M,done:!1}}return{value:void 0,done:!0}},re.prototype.throw=function(B){throw this._index>=0&&(this._index=-1,this._keys=x,this._values=x),B},re.prototype.return=function(B){return this._index>=0&&(this._index=-1,this._keys=x,this._values=x),{value:B,done:!0}},re})(),R=(function(){function re(){this._keys=[],this._values=[],this._cacheKey=$,this._cacheIndex=-2}return Object.defineProperty(re.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),re.prototype.has=function(B){return this._find(B,!1)>=0},re.prototype.get=function(B){var M=this._find(B,!1);return M>=0?this._values[M]:void 0},re.prototype.set=function(B,M){var H=this._find(B,!0);return this._values[H]=M,this},re.prototype.delete=function(B){var M=this._find(B,!1);if(M>=0){for(var H=this._keys.length,V=M+1;V<H;V++)this._keys[V-1]=this._keys[V],this._values[V-1]=this._values[V];return this._keys.length--,this._values.length--,el(B,this._cacheKey)&&(this._cacheKey=$,this._cacheIndex=-2),!0}return!1},re.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=$,this._cacheIndex=-2},re.prototype.keys=function(){return new A(this._keys,this._values,J)},re.prototype.values=function(){return new A(this._keys,this._values,ze)},re.prototype.entries=function(){return new A(this._keys,this._values,je)},re.prototype["@@iterator"]=function(){return this.entries()},re.prototype[c]=function(){return this.entries()},re.prototype._find=function(B,M){if(!el(this._cacheKey,B)){this._cacheIndex=-1;for(var H=0;H<this._keys.length;H++)if(el(this._keys[H],B)){this._cacheIndex=H;break}}return this._cacheIndex<0&&M&&(this._cacheIndex=this._keys.length,this._keys.push(B),this._values.push(void 0)),this._cacheIndex},re})();return R;function J(re,B){return re}function ze(re,B){return B}function je(re,B){return[re,B]}}function bw(){var $=(function(){function x(){this._map=new _}return Object.defineProperty(x.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),x.prototype.has=function(A){return this._map.has(A)},x.prototype.add=function(A){return this._map.set(A,A),this},x.prototype.delete=function(A){return this._map.delete(A)},x.prototype.clear=function(){this._map.clear()},x.prototype.keys=function(){return this._map.keys()},x.prototype.values=function(){return this._map.keys()},x.prototype.entries=function(){return this._map.entries()},x.prototype["@@iterator"]=function(){return this.keys()},x.prototype[c]=function(){return this.keys()},x})();return $}function vw(){var $=16,x=f.create(),A=R();return(function(){function B(){this._key=R()}return B.prototype.has=function(M){var H=J(M,!1);return H!==void 0?f.has(H,this._key):!1},B.prototype.get=function(M){var H=J(M,!1);return H!==void 0?f.get(H,this._key):void 0},B.prototype.set=function(M,H){var V=J(M,!0);return V[this._key]=H,this},B.prototype.delete=function(M){var H=J(M,!1);return H!==void 0?delete H[this._key]:!1},B.prototype.clear=function(){this._key=R()},B})();function R(){var B;do B="@@WeakMap@@"+re();while(f.has(x,B));return x[B]=!0,B}function J(B,M){if(!i.call(B,A)){if(!M)return;Object.defineProperty(B,A,{value:f.create()})}return B[A]}function ze(B,M){for(var H=0;H<M;++H)B[H]=Math.random()*255|0;return B}function je(B){if(typeof Uint8Array=="function"){var M=new Uint8Array(B);return typeof crypto<"u"?crypto.getRandomValues(M):typeof msCrypto<"u"?msCrypto.getRandomValues(M):ze(M,B),M}return ze(new Array(B),B)}function re(){var B=je($);B[6]=B[6]&79|64,B[8]=B[8]&191|128;for(var M="",H=0;H<$;++H){var V=B[H];(H===4||H===6||H===8)&&(M+="-"),V<16&&(M+="0"),M+=V.toString(16).toLowerCase()}return M}}function nl($){return $.__=void 0,delete $.__,$}})})(t||(t={})),Qf}k3();const x3="[object ArrayBuffer]";class T{static isArrayBuffer(e){return Object.prototype.toString.call(e)===x3}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,n){if(e.constructor===n)return e;if(this.isArrayBuffer(e))return new n(e);if(this.isArrayBufferView(e))return new n(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,n){const r=T.toUint8Array(e),i=T.toUint8Array(n);if(r.length!==i.byteLength)return!1;for(let s=0;s<r.length;s++)if(r[s]!==i[s])return!1;return!0}static concat(...e){let n;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?n=e[0]:e[e.length-1]instanceof Function?n=e.slice(0,e.length-1):n=e;let r=0;for(const a of n)r+=a.byteLength;const i=new Uint8Array(r);let s=0;for(const a of n){const c=this.toUint8Array(a);i.set(c,s),s+=c.length}return e[e.length-1]instanceof Function?this.toView(i,e[e.length-1]):i.buffer}}const al="string",S3=/^[0-9a-f\s]+$/i,z3=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,A3=/^[a-zA-Z0-9-_]+$/;class th{static fromString(e){const n=unescape(encodeURIComponent(e)),r=new Uint8Array(n.length);for(let i=0;i<n.length;i++)r[i]=n.charCodeAt(i);return r.buffer}static toString(e){const n=T.toUint8Array(e);let r="";for(let s=0;s<n.length;s++)r+=String.fromCharCode(n[s]);return decodeURIComponent(escape(r))}}class Dt{static toString(e,n=!1){const r=T.toArrayBuffer(e),i=new DataView(r);let s="";for(let a=0;a<r.byteLength;a+=2){const c=i.getUint16(a,n);s+=String.fromCharCode(c)}return s}static fromString(e,n=!1){const r=new ArrayBuffer(e.length*2),i=new DataView(r);for(let s=0;s<e.length;s++)i.setUint16(s*2,e.charCodeAt(s),n);return r}}class q{static isHex(e){return typeof e===al&&S3.test(e)}static isBase64(e){return typeof e===al&&z3.test(e)}static isBase64Url(e){return typeof e===al&&A3.test(e)}static ToString(e,n="utf8"){const r=T.toUint8Array(e);switch(n.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return Dt.toString(r,!0);case"utf16":case"utf16be":return Dt.toString(r);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromString(e,n="utf8"){if(!e)return new ArrayBuffer(0);switch(n.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return Dt.fromString(e,!0);case"utf16":case"utf16be":return Dt.fromString(e);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToBase64(e){const n=T.toUint8Array(e);if(typeof btoa<"u"){const r=this.ToString(n,"binary");return btoa(r)}else return Buffer.from(n).toString("base64")}static FromBase64(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!q.isBase64(n))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(n)):new Uint8Array(Buffer.from(n,"base64")).buffer}static FromBase64Url(e){const n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!q.isBase64Url(n))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(n.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,n=q.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.FromBinary(e);case"utf8":return th.fromString(e);case"utf16":case"utf16be":return Dt.fromString(e);case"utf16le":case"usc2":return Dt.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static ToUtf8String(e,n=q.DEFAULT_UTF8_ENCODING){switch(n){case"ascii":return this.ToBinary(e);case"utf8":return th.toString(e);case"utf16":case"utf16be":return Dt.toString(e);case"utf16le":case"usc2":return Dt.toString(e,!0);default:throw new Error(`Unknown type of encoding '${n}'`)}}static FromBinary(e){const n=e.length,r=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);return r.buffer}static ToBinary(e){const n=T.toUint8Array(e);let r="";for(let i=0;i<n.length;i++)r+=String.fromCharCode(n[i]);return r}static ToHex(e){const n=T.toUint8Array(e);let r="";const i=n.length;for(let s=0;s<i;s++){const a=n[s];a<16&&(r+="0"),r+=a.toString(16)}return r}static FromHex(e){let n=this.formatString(e);if(!n)return new ArrayBuffer(0);if(!q.isHex(n))throw new TypeError("Argument 'hexString' is not HEX encoded");n.length%2&&(n=`0${n}`);const r=new Uint8Array(n.length/2);for(let i=0;i<n.length;i=i+2){const s=n.slice(i,i+2);r[i/2]=parseInt(s,16)}return r.buffer}static ToUtf16String(e,n=!1){return Dt.toString(e,n)}static FromUtf16String(e,n=!1){return Dt.fromString(e,n)}static Base64Padding(e){const n=4-e.length%4;if(n<4)for(let r=0;r<n;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}}q.DEFAULT_UTF8_ENCODING="utf8";function E3(...t){const e=t.map(i=>i.byteLength).reduce((i,s)=>i+s),n=new Uint8Array(e);let r=0;return t.map(i=>new Uint8Array(i)).forEach(i=>{for(const s of i)n[r++]=s}),n.buffer}function x_(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}function Zr(t,e){let n=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)n+=t[t.length-1-r]*Math.pow(2,e*r);return n}function ar(t,e,n=-1){const r=n;let i=t,s=0,a=Math.pow(2,e);for(let c=1;c<8;c++){if(t<a){let l;if(r<0)l=new ArrayBuffer(c),s=c;else{if(r<c)return new ArrayBuffer(0);l=new ArrayBuffer(r),s=r}const d=new Uint8Array(l);for(let p=c-1;p>=0;p--){const f=Math.pow(2,p*e);d[s-p-1]=Math.floor(i/f),i-=d[s-p-1]*f}return l}a*=Math.pow(2,e)}return new ArrayBuffer(0)}function Fl(...t){let e=0,n=0;for(const s of t)e+=s.length;const r=new ArrayBuffer(e),i=new Uint8Array(r);for(const s of t)i.set(s,n),n+=s.length;return i}function S_(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const c=t[0]===255&&t[1]&128,l=t[0]===0&&(t[1]&128)===0;(c||l)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(e);for(let c=0;c<this.valueHex.byteLength;c++)n[c]=0;n[0]=t[0]&128;const r=Zr(n,8),i=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(i);for(let c=0;c<this.valueHex.byteLength;c++)s[c]=t[c];return s[0]&=127,Zr(s,8)-r}function C3(t){const e=t<0?t*-1:t;let n=128;for(let r=1;r<8;r++){if(e<=n){if(t<0){const a=n-e,c=ar(a,8,r),l=new Uint8Array(c);return l[0]|=128,c}let i=ar(e,8,r),s=new Uint8Array(i);if(s[0]&128){const a=i.slice(0),c=new Uint8Array(a);i=new ArrayBuffer(i.byteLength+1),s=new Uint8Array(i);for(let l=0;l<a.byteLength;l++)s[l+1]=c[l];s[0]=0}return i}n*=Math.pow(2,8)}return new ArrayBuffer(0)}function N3(t,e){if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<n.length;i++)if(n[i]!==r[i])return!1;return!0}function at(t,e){const n=t.toString(10);if(e<n.length)return"";const r=e-n.length,i=new Array(r);for(let a=0;a<r;a++)i[a]="0";return i.join("").concat(n)}function ra(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Du(t){let e=0,n=0;for(let i=0;i<t.length;i++){const s=t[i];e+=s.byteLength}const r=new Uint8Array(e);for(let i=0;i<t.length;i++){const s=t[i];r.set(new Uint8Array(s),n),n+=s.byteLength}return r.buffer}function wn(t,e,n,r){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-n-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class tc{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return Du(this.items)}}const Ci=[new Uint8Array([1])],nh="0123456789",cl="name",rh="valueHexView",I3="isHexOnly",j3="idBlock",O3="tagClass",P3="tagNumber",T3="isConstructed",R3="fromBER",B3="toBER",L3="local",nt="",Jt=new ArrayBuffer(0),nc=new Uint8Array(0),bo="EndOfContent",z_="OCTET STRING",A_="BIT STRING";function Xt(t){var e;return e=class extends t{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r)}constructor(...r){var i;super(...r);const s=r[0]||{};this.isHexOnly=(i=s.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=s.valueHex?T.toUint8Array(s.valueHex):nc}fromBER(r,i,s){const a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!wn(this,a,i,s))return-1;const c=i+s;return this.valueHexView=a.subarray(i,c),this.valueHexView.length?(this.blockLength=s,c):(this.warnings.push("Zero buffer length"),i)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Jt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:q.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}class kr{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}constructor({blockLength:e=0,error:n=nt,warnings:r=[],valueBeforeDecode:i=nc}={}){this.blockLength=e,this.error=n,this.warnings=r,this.valueBeforeDecodeView=T.toUint8Array(i)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:q.ToHex(this.valueBeforeDecodeView)}}}kr.NAME="baseBlock";class et extends kr{fromBER(e,n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}et.NAME="valueBlock";class E_ extends Xt(kr){constructor({idBlock:e={}}={}){var n,r,i,s;super(),e?(this.isHexOnly=(n=e.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=e.valueHex?T.toUint8Array(e.valueHex):nc,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(i=e.tagNumber)!==null&&i!==void 0?i:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let n=0;switch(this.tagClass){case 1:n|=0;break;case 2:n|=64;break;case 3:n|=128;break;case 4:n|=192;break;default:return this.error="Unknown tag class",Jt}if(this.isConstructed&&(n|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,n|=s,i[0]=n}return i.buffer}if(!this.isHexOnly){const i=ar(this.tagNumber,7),s=new Uint8Array(i),a=i.byteLength,c=new Uint8Array(a+1);if(c[0]=n|31,!e){for(let l=0;l<a-1;l++)c[l+1]=s[l]|128;c[a]=s[a-1]}return c.buffer}const r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=n|31,!e){const i=this.valueHexView;for(let s=0;s<i.length-1;s++)r[s+1]=i[s]|128;r[this.valueHexView.byteLength]=i[i.length-1]}return r.buffer}fromBER(e,n,r){const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;const c=s[0]&31;if(c!==31)this.tagNumber=c,this.blockLength=1;else{let l=1,d=this.valueHexView=new Uint8Array(255),p=255;for(;s[l]&128;){if(d[l-1]=s[l]&127,l++,l>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(l===p){p+=255;const g=new Uint8Array(p);for(let _=0;_<d.length;_++)g[_]=d[_];d=this.valueHexView=new Uint8Array(p)}}this.blockLength=l+1,d[l-1]=s[l]&127;const f=new Uint8Array(l);for(let g=0;g<l;g++)f[g]=d[g];d=this.valueHexView=new Uint8Array(l),d.set(f),this.blockLength<=9?this.tagNumber=Zr(d,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return n+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}E_.NAME="identificationBlock";class C_ extends kr{constructor({lenBlock:e={}}={}){var n,r,i;super(),this.isIndefiniteForm=(n=e.isIndefiniteForm)!==null&&n!==void 0?n:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(i=e.length)!==null&&i!==void 0?i:0}fromBER(e,n,r){const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,n+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,n+this.blockLength;const a=s[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>s.length)return this.error="End of input reached before message was fully decoded",-1;const c=n+1,l=i.subarray(c,c+a);return l[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Zr(l,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,n+this.blockLength}toBER(e=!1){let n,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=128),n;if(this.longFormUsed){const i=ar(this.length,8);if(i.byteLength>127)return this.error="Too big length",Jt;if(n=new ArrayBuffer(i.byteLength+1),e)return n;const s=new Uint8Array(i);r=new Uint8Array(n),r[0]=i.byteLength|128;for(let a=0;a<i.byteLength;a++)r[a+1]=s[a];return n}return n=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(n),r[0]=this.length),n}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}C_.NAME="lengthBlock";const D={};class Me extends kr{constructor({name:e=nt,optional:n=!1,primitiveSchema:r,...i}={},s){super(i),this.name=e,this.optional=n,r&&(this.primitiveSchema=r),this.idBlock=new E_(i),this.lenBlock=new C_(i),this.valueBlock=s?new s(i):new et(i)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}toBER(e,n){const r=n||new tc;n||N_(this);const i=this.idBlock.toBER(e);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else{const s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;const a=this.lenBlock.toBER(e);r.write(a),r.write(s)}return n?Jt:r.final()}toJSON(){const e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():q.ToHex(this.toBER())}onAsciiEncoding(){const e=this.constructor.NAME,n=q.ToHex(this.valueBlock.valueBeforeDecodeView);return`${e} : ${n}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;const n=this.toBER(),r=e.toBER();return N3(n,r)}}Me.NAME="BaseBlock";function N_(t){var e;if(t instanceof D.Constructed)for(const n of t.valueBlock.value)N_(n)&&(t.lenBlock.isIndefiniteForm=!0);return!!(!((e=t.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}class Mu extends Me{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor({value:e=nt,...n}={},r){super(n,r),e&&this.fromString(e)}fromBER(e,n,r){const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}Mu.NAME="BaseStringBlock";class I_ extends Xt(et){constructor({isHexOnly:e=!0,...n}={}){super(n),this.isHexOnly=e}}I_.NAME="PrimitiveValueBlock";var j_;class Ho extends Me{constructor(e={}){super(e,I_),this.idBlock.isConstructed=!1}}j_=Ho;D.Primitive=j_;Ho.NAME="PRIMITIVE";function U3(t,e){if(t instanceof e)return t;const n=new e;return n.idBlock=t.idBlock,n.lenBlock=t.lenBlock,n.warnings=t.warnings,n.valueBeforeDecodeView=t.valueBeforeDecodeView,n}function gi(t,e=0,n=t.length){const r=e;let i=new Me({},et);const s=new kr;if(!wn(s,t,e,n))return i.error=s.error,{offset:-1,result:i};if(!t.subarray(e,e+n).length)return i.error="Zero buffer length",{offset:-1,result:i};let c=i.idBlock.fromBER(t,e,n);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),c===-1)return i.error=i.idBlock.error,{offset:-1,result:i};if(e=c,n-=i.idBlock.blockLength,c=i.lenBlock.fromBER(t,e,n),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),c===-1)return i.error=i.lenBlock.error,{offset:-1,result:i};if(e=c,n-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};let l=Me;switch(i.idBlock.tagClass){case 1:if(i.idBlock.tagNumber>=37&&i.idBlock.isHexOnly===!1)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};l=D.EndOfContent;break;case 1:l=D.Boolean;break;case 2:l=D.Integer;break;case 3:l=D.BitString;break;case 4:l=D.OctetString;break;case 5:l=D.Null;break;case 6:l=D.ObjectIdentifier;break;case 10:l=D.Enumerated;break;case 12:l=D.Utf8String;break;case 13:l=D.RelativeObjectIdentifier;break;case 14:l=D.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:l=D.Sequence;break;case 17:l=D.Set;break;case 18:l=D.NumericString;break;case 19:l=D.PrintableString;break;case 20:l=D.TeletexString;break;case 21:l=D.VideotexString;break;case 22:l=D.IA5String;break;case 23:l=D.UTCTime;break;case 24:l=D.GeneralizedTime;break;case 25:l=D.GraphicString;break;case 26:l=D.VisibleString;break;case 27:l=D.GeneralString;break;case 28:l=D.UniversalString;break;case 29:l=D.CharacterString;break;case 30:l=D.BmpString;break;case 31:l=D.DATE;break;case 32:l=D.TimeOfDay;break;case 33:l=D.DateTime;break;case 34:l=D.Duration;break;default:{const d=i.idBlock.isConstructed?new D.Constructed:new D.Primitive;d.idBlock=i.idBlock,d.lenBlock=i.lenBlock,d.warnings=i.warnings,i=d}}break;case 2:case 3:case 4:default:l=i.idBlock.isConstructed?D.Constructed:D.Primitive}return i=U3(i,l),c=i.fromBER(t,e,i.lenBlock.isIndefiniteForm?n:i.lenBlock.length),i.valueBeforeDecodeView=t.subarray(r,r+i.blockLength),{offset:c,result:i}}function Hr(t){if(!t.byteLength){const e=new Me({},et);return e.error="Input buffer has zero length",{offset:-1,result:e}}return gi(T.toUint8Array(t).slice(),0,t.byteLength)}function D3(t,e){return t?1:e}class jn extends et{constructor({value:e=[],isIndefiniteForm:n=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=n}fromBER(e,n,r){const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;if(this.valueBeforeDecodeView=i.subarray(n,n+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),n;let s=n;for(;D3(this.isIndefiniteForm,r)>0;){const a=gi(i,s,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(s=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===bo)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===bo?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,n){const r=n||new tc;for(let i=0;i<this.value.length;i++)this.value[i].toBER(e,r);return n?Jt:r.final()}toJSON(){const e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const n of this.value)e.value.push(n.toJSON());return e}}jn.NAME="ConstructedValueBlock";var O_;class Qe extends Me{constructor(e={}){super(e,jn),this.idBlock.isConstructed=!0}fromBER(e,n,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(e,n,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){const e=[];for(const r of this.valueBlock.value)e.push(r.toString("ascii").split(`
68
68
  `).map(i=>` ${i}`).join(`
69
69
  `));const n=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${n} :
70
70
  ${e.join(`
71
- `)}`:`${n} :`}}O_=Qe;D.Constructed=O_;Qe.NAME="CONSTRUCTED";class P_ extends et{fromBER(e,n,r){return n}toBER(e){return Pt}}P_.override="EndOfContentValueBlock";var T_;class qu extends Me{constructor(e={}){super(e,P_),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}T_=qu;D.EndOfContent=T_;qu.NAME=bo;var R_;class cr extends Me{constructor(e={}){super(e,et),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,n,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,n+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):n+r}toBER(e,n){const r=new ArrayBuffer(2);if(!e){const i=new Uint8Array(r);i[0]=5,i[1]=0}return n&&n.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}R_=cr;D.Null=R_;cr.NAME="NULL";class B_ extends Xt(et){get value(){for(const e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}constructor({value:e,...n}={}){super(n),n.valueHex?this.valueHexView=T.toUint8Array(n.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}fromBER(e,n,r){const i=T.toUint8Array(e);return wn(this,i,n,r)?(this.valueHexView=i.subarray(n,n+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,S_.call(this),this.blockLength=r,n+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}B_.NAME="BooleanValueBlock";var L_;let rc=class extends Me{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor(e={}){super(e,B_),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};L_=rc;D.Boolean=L_;rc.NAME="BOOLEAN";class U_ extends Xt(jn){constructor({isConstructed:e=!1,...n}={}){super(n),this.isConstructed=e}fromBER(e,n,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=jn.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(let s=0;s<this.value.length;s++){const a=this.value[s].constructor.NAME;if(a===bo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==z_)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(e,n,r),this.blockLength=r;return i}toBER(e,n){return this.isConstructed?jn.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}U_.NAME="OctetStringValueBlock";var Fu;let tr=class extends Me{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},U_),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,n,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),n;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(n,n+r);try{if(s.byteLength){const a=gi(s,0,s.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result])}}catch{}}return super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Qe.prototype.onAsciiEncoding.call(this);const e=this.constructor.NAME,n=q.ToHex(this.valueBlock.valueHexView);return`${e} : ${n}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const n of this.valueBlock.value)n instanceof Fu&&e.push(n.valueBlock.valueHexView);return T.concat(e)}};Fu=tr;D.OctetString=Fu;tr.NAME=z_;class D_ extends Xt(jn){constructor({unusedBits:e=0,isConstructed:n=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=n,this.blockLength=this.valueHexView.byteLength}fromBER(e,n,r){if(!r)return n;let i=-1;if(this.isConstructed){if(i=jn.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(const c of this.value){const l=c.constructor.NAME;if(l===bo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==A_)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const d=c.valueBlock;if(this.unusedBits>0&&d.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=d.unusedBits}return i}const s=T.toUint8Array(e);if(!wn(this,s,n,r))return-1;const a=s.subarray(n,n+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=a.subarray(1);try{if(c.byteLength){const l=gi(c,0,c.byteLength);l.offset!==-1&&l.offset===r-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,n+r}toBER(e,n){if(this.isConstructed)return jn.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Pt;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}D_.NAME="BitStringValueBlock";var M_;let nr=class extends Me{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},D_),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,n,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Qe.prototype.onAsciiEncoding.call(this);{const e=[],n=this.valueBlock.valueHexView;for(const a of n)e.push(a.toString(2).padStart(8,"0"));const r=e.join(""),i=this.constructor.NAME,s=r.substring(0,r.length-this.valueBlock.unusedBits);return`${i} : ${s}`}}};M_=nr;D.BitString=M_;nr.NAME=A_;var q_;function M3(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let s=r.slice(0);const a=s.length-1,c=i.slice(0),l=c.length-1;let d=0;const p=l<a?a:l;let f=0;for(let g=p;g>=0;g--,f++){switch(!0){case f<c.length:d=s[a-f]+c[l-f]+n[0];break;default:d=s[a-f]+n[0]}switch(n[0]=d/10,!0){case f>=s.length:s=Fl(new Uint8Array([d%10]),s);break;default:s[a-f]=d%10}}return n[0]>0&&(s=Fl(n,s)),s}function ih(t){if(t>=Ci.length)for(let e=Ci.length;e<=t;e++){const n=new Uint8Array([0]);let r=Ci[e-1].slice(0);for(let i=r.length-1;i>=0;i--){const s=new Uint8Array([(r[i]<<1)+n[0]]);n[0]=s[0]/10,r[i]=s[0]%10}n[0]>0&&(r=Fl(n,r)),Ci.push(r)}return Ci[t]}function q3(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),s=r.slice(0),a=s.length-1,c=i.slice(0),l=c.length-1;let d,p=0;for(let f=l;f>=0;f--,p++)switch(d=s[a-p]-c[l-p]-n,!0){case d<0:n=1,s[a-p]=d+10;break;default:n=0,s[a-p]=d}if(n>0)for(let f=a-l+1;f>=0;f--,p++)if(d=s[a-p]-n,d<0)n=1,s[a-p]=d+10;else{n=0,s[a-p]=d;break}return s.slice()}class Hu extends Xt(et){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=S_.call(this)))}constructor({value:e,...n}={}){super(n),this._valueDec=0,n.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(C3(e))}get valueDec(){return this._valueDec}fromDER(e,n,r,i=0){const s=this.fromBER(e,n,r);if(s===-1)return s;const a=this.valueHexView;return a[0]===0&&(a[1]&128)!==0?this.valueHexView=a.subarray(1):i!==0&&a.length<i&&(i-a.length>1&&(i=a.length+1),this.valueHexView=a.subarray(i-a.length)),s}toDER(e=!1){const n=this.valueHexView;switch(!0){case(n[0]&128)!==0:{const r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(n,1),this.valueHexView=r}break;case(n[0]===0&&(n[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,n,r){const i=super.fromBER(e,n,r);return i===-1||this.setValueHex(),i}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const e=this.valueHexView.length*8-1;let n=new Uint8Array(this.valueHexView.length*8/3),r=0,i;const s=this.valueHexView;let a="",c=!1;for(let l=s.byteLength-1;l>=0;l--){i=s[l];for(let d=0;d<8;d++){if((i&1)===1)switch(r){case e:n=q3(ih(r),n),a="-";break;default:n=M3(n,ih(r))}r++,i>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(a+=nh.charAt(n[l]));return c===!1&&(a+=nh.charAt(0)),a}}q_=Hu;Hu.NAME="IntegerValueBlock";Object.defineProperty(q_.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var oo;class mi extends Me{constructor(e={}){super(e,Hu),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return ra(),BigInt(this.valueBlock.toString())}static fromBigInt(e){ra();const n=BigInt(e),r=new tc,i=n.toString(16).replace(/^-/,""),s=new Uint8Array(q.FromHex(i));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const d=BigInt(`0x${q.ToHex(c)}`)+n,p=T.toUint8Array(q.FromHex(d.toString(16)));p[0]|=128,r.write(p)}else s[0]&128&&r.write(new Uint8Array([0])),r.write(s);return new oo({valueHex:r.final()})}convertToDER(){const e=new oo({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new oo({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}oo=mi;D.Integer=oo;mi.NAME="INTEGER";var F_;class ic extends mi{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}F_=ic;D.Enumerated=F_;ic.NAME="ENUMERATED";class Hl extends Xt(et){constructor({valueDec:e=-1,isFirstSid:n=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=n}fromBER(e,n,r){if(!r)return n;const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,(s[c]&128)!==0);c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,(s[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){ra();let n=BigInt(e).toString(2);for(;n.length%7;)n="0"+n;const r=new Uint8Array(n.length/7);for(let i=0;i<r.length;i++)r[i]=parseInt(n.slice(i*7,i*7+7),2)+(i+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=ar(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",Pt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r}toString(){let e="";if(this.isHexOnly)e=q.ToHex(this.valueHexView);else if(this.isFirstSid){let n=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",n-=40):(e="2.",n-=80),e+=n.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}Hl.NAME="sidBlock";class H_ extends et{constructor({value:e=nt,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Hl;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e){const n=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(e);if(i.byteLength===0)return this.error=this.value[r].error,Pt;n.push(i)}return Du(n)}fromString(e){this.value=[];let n=0,r=0,i="",s=!1;do if(r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1,s){const a=this.value[0];let c=0;switch(a.valueDec){case 0:break;case 1:c=40;break;case 2:c=80;break;default:this.value=[];return}const l=parseInt(i,10);if(isNaN(l))return;a.valueDec=l+c,s=!1}else{const a=new Hl;if(i>Number.MAX_SAFE_INTEGER){ra();const c=BigInt(i);a.valueBigInt=c}else if(a.valueDec=parseInt(i,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,s=!0),this.value.push(a)}while(r!==-1)}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n?(i=`{${i}}`,this.value[r].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}H_.NAME="ObjectIdentifierValueBlock";var V_;class oc extends Me{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,H_),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}V_=oc;D.ObjectIdentifier=V_;oc.NAME="OBJECT IDENTIFIER";class Vl extends Xt(kr){constructor({valueDec:e=0,...n}={}){super(n),this.valueDec=e}fromBER(e,n,r){if(r===0)return n;const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,(s[c]&128)!==0);c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,(s[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=ar(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",Pt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r.buffer}toString(){let e="";return this.isHexOnly?e=q.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Vl.NAME="relativeSidBlock";class K_ extends et{constructor({value:e=nt,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Vl;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e,n){const r=[];for(let i=0;i<this.value.length;i++){const s=this.value[i].toBER(e);if(s.byteLength===0)return this.error=this.value[i].error,Pt;r.push(s)}return Du(r)}fromString(e){this.value=[];let n=0,r=0,i="";do{r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1;const s=new Vl;if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(r!==-1);return!0}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n&&(i=`{${i}}`),e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}K_.NAME="RelativeObjectIdentifierValueBlock";var G_;class Vu extends Me{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,K_),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}G_=Vu;D.RelativeObjectIdentifier=G_;Vu.NAME="RelativeObjectIdentifier";var W_;class Nt extends Qe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}W_=Nt;D.Sequence=W_;Nt.NAME="SEQUENCE";var J_;let Kt=class extends Qe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};J_=Kt;D.Set=J_;Kt.NAME="SET";class X_ extends Xt(et){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=nt}toJSON(){return{...super.toJSON(),value:this.value}}}X_.NAME="StringValueBlock";class Z_ extends X_{}Z_.NAME="SimpleStringValueBlock";class dt extends Mu{constructor({...e}={}){super(e,Z_)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,T.toUint8Array(e))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);this.valueBlock.value=e}}dt.NAME="SIMPLE STRING";class Y_ extends dt{fromBuffer(e){this.valueBlock.valueHexView=T.toUint8Array(e);try{this.valueBlock.value=q.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=q.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(q.FromUtf8String(e)),this.valueBlock.value=e}}Y_.NAME="Utf8StringValueBlock";var Q_;class bn extends Y_{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Q_=bn;D.Utf8String=Q_;bn.NAME="UTF8String";class ey extends dt{fromBuffer(e){this.valueBlock.value=q.ToUtf16String(e),this.valueBlock.valueHexView=T.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(q.FromUtf16String(e))}}ey.NAME="BmpStringValueBlock";var ty;class sc extends ey{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}ty=sc;D.BmpString=ty;sc.NAME="BMPString";class ny extends dt{fromBuffer(e){const n=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(n);for(let i=0;i<r.length;i+=4)r[i]=r[i+3],r[i+1]=r[i+2],r[i+2]=0,r[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(n))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n*4);for(let i=0;i<n;i++){const s=ar(e.charCodeAt(i),8),a=new Uint8Array(s);if(a.length>4)continue;const c=4-a.length;for(let l=a.length-1;l>=0;l--)r[i*4+l+c]=a[l]}this.valueBlock.value=e}}ny.NAME="UniversalStringValueBlock";var ry;class ac extends ny{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}ry=ac;D.UniversalString=ry;ac.NAME="UniversalString";var iy;class cc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}iy=cc;D.NumericString=iy;cc.NAME="NumericString";var oy;class lc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}oy=lc;D.PrintableString=oy;lc.NAME="PrintableString";var sy;class dc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}sy=dc;D.TeletexString=sy;dc.NAME="TeletexString";var ay;class uc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}ay=uc;D.VideotexString=ay;uc.NAME="VideotexString";var cy;class pc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}cy=pc;D.IA5String=cy;pc.NAME="IA5String";var ly;class fc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}ly=fc;D.GraphicString=ly;fc.NAME="GraphicString";var dy;class Vo extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}dy=Vo;D.VisibleString=dy;Vo.NAME="VisibleString";var uy;class hc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}uy=hc;D.GeneralString=uy;hc.NAME="GeneralString";var py;class gc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}py=gc;D.CharacterString=py;gc.NAME="CharacterString";var fy;class Ko extends Vo{constructor({value:e,valueDate:n,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}n&&(this.fromDate(n),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,T.toUint8Array(e)))}toBuffer(){const e=this.toString(),n=new ArrayBuffer(e.length),r=new Uint8Array(n);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return n}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){const r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}const i=parseInt(r[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){const n=new Array(7);return n[0]=at(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=at(this.month,2),n[2]=at(this.day,2),n[3]=at(this.hour,2),n[4]=at(this.minute,2),n[5]=at(this.second,2),n[6]="Z",n.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}fy=Ko;D.UTCTime=fy;Ko.NAME="UTCTime";var hy;class mc extends Ko{constructor(e={}){var n;super(e),(n=this.millisecond)!==null&&n!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){const e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let n=!1,r="",i="",s=0,a,c=0,l=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),n=!0;else{const f=new Number(e[e.length-1]);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(n){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let f=1,g=r.indexOf("+"),_="";if(g===-1&&(g=r.indexOf("-"),f=-1),g!==-1){if(_=r.substring(g+1),r=r.substring(0,g),_.length!==2&&_.length!==4)throw new Error("Wrong input string for conversion");let w=parseInt(_.substring(0,2),10);if(isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");if(c=f*w,_.length===4){if(w=parseInt(_.substring(2,4),10),isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");l=f*w}}}let d=r.indexOf(".");if(d===-1&&(d=r.indexOf(",")),d!==-1){const f=new Number(`0${r.substring(d)}`);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");s=f.valueOf(),i=r.substring(0,d)}else i=r;switch(!0){case i.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,d!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.minute=Math.floor(f),f=60*(f-this.minute),this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){const f=1e3*s;this.millisecond=Math.floor(f)}break;default:throw new Error("Wrong input string for conversion")}const p=a.exec(i);if(p===null)throw new Error("Wrong input string for conversion");for(let f=1;f<p.length;f++)switch(f){case 1:this.year=parseInt(p[f],10);break;case 2:this.month=parseInt(p[f],10);break;case 3:this.day=parseInt(p[f],10);break;case 4:this.hour=parseInt(p[f],10)+c;break;case 5:this.minute=parseInt(p[f],10)+l;break;case 6:this.second=parseInt(p[f],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const f=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=f.getUTCFullYear(),this.month=f.getUTCMonth(),this.day=f.getUTCDay(),this.hour=f.getUTCHours(),this.minute=f.getUTCMinutes(),this.second=f.getUTCSeconds(),this.millisecond=f.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(at(this.year,4)),n.push(at(this.month,2)),n.push(at(this.day,2)),n.push(at(this.hour,2)),n.push(at(this.minute,2)),n.push(at(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(at(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}hy=mc;D.GeneralizedTime=hy;mc.NAME="GeneralizedTime";var gy;class Ku extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}gy=Ku;D.DATE=gy;Ku.NAME="DATE";var my;class Gu extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}my=Gu;D.TimeOfDay=my;Gu.NAME="TimeOfDay";var _y;class Wu extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}_y=Wu;D.DateTime=_y;Wu.NAME="DateTime";var yy;class Ju extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}yy=Ju;D.Duration=yy;Ju.NAME="Duration";var wy;class Xu extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}wy=Xu;D.TIME=wy;Xu.NAME="TIME";class lr{constructor({name:e=nt,optional:n=!1}={}){this.name=e,this.optional=n}}class Zu extends lr{constructor({value:e=[],...n}={}){super(n),this.value=e}}class ia extends lr{constructor({value:e=new lr,local:n=!1,...r}={}){super(r),this.value=e,this.local=n}}class F3{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=T.toUint8Array(e)}constructor({data:e=nc}={}){this.dataView=T.toUint8Array(e)}fromBER(e,n,r){const i=n+r;return this.dataView=T.toUint8Array(e).subarray(n,i),i}toBER(e){return this.dataView.slice().buffer}}function En(t,e,n){if(n instanceof Zu){for(const s of n.value)if(En(t,e,s).verified)return{verified:!0,result:t};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return n.hasOwnProperty(cl)&&(s.name=n.name),s}}if(n instanceof lr)return n.hasOwnProperty(cl)&&(t[n.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(j3 in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(R3 in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(B3 in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.toBER(!1);if(r.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(n.idBlock.fromBER(r,0,r.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(n.idBlock.hasOwnProperty(O3)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(P3)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(T3)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(I3 in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(n.idBlock.isHexOnly){if(!(rh in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,a=e.idBlock.valueHexView;if(s.length!==a.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==a[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(t[n.name]=e)),n instanceof D.Constructed){let s=0,a={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof ia&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&n.valueBlock.value.length!==0){let l=!0;for(let d=0;d<n.valueBlock.value.length;d++)l=l&&(n.valueBlock.value[d].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&delete t[n.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(n.valueBlock.value[l].optional===!1){const d={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(delete t[n.name],d.name=n.name)),d}}else if(n.valueBlock.value[0]instanceof ia){if(a=En(t,e.valueBlock.value[l],n.valueBlock.value[0].value),a.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&delete t[n.name]),a;if(cl in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let d={};L3 in n.valueBlock.value[0]&&n.valueBlock.value[0].local?d=e:d=t,typeof d[n.valueBlock.value[0].name]>"u"&&(d[n.valueBlock.value[0].name]=[]),d[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(a=En(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),a.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&delete t[n.name]),a;if(a.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&rh in e.valueBlock){const s=gi(e.valueBlock.valueHexView);if(s.offset===-1){const a={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(delete t[n.name],a.name=n.name)),a}return En(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function H3(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=gi(T.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:En(n.result,n.result,e)}const by=Object.freeze(Object.defineProperty({__proto__:null,Any:lr,BaseBlock:Me,BaseStringBlock:Mu,BitString:nr,BmpString:sc,Boolean:rc,CharacterString:gc,Choice:Zu,Constructed:Qe,DATE:Ku,DateTime:Wu,Duration:Ju,EndOfContent:qu,Enumerated:ic,GeneralString:hc,GeneralizedTime:mc,GraphicString:fc,HexBlock:Xt,IA5String:pc,Integer:mi,Null:cr,NumericString:cc,ObjectIdentifier:oc,OctetString:tr,Primitive:Ho,PrintableString:lc,RawData:F3,RelativeObjectIdentifier:Vu,Repeated:ia,Sequence:Nt,Set:Kt,TIME:Xu,TeletexString:dc,TimeOfDay:Gu,UTCTime:Ko,UniversalString:ac,Utf8String:bn,ValueBlock:et,VideotexString:uc,ViewWriter:tc,VisibleString:Vo,compareSchema:En,fromBER:Hr,verifySchema:H3},Symbol.toStringTag,{value:"Module"}));var E;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(E||(E={}));var b;(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(b||(b={}));class _c{constructor(e,n=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(T.isBufferSource(e))this.unusedBits=n,this.value=T.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof nr))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=e.valueBlock.valueHex,this}toASN(){return new nr({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new nr({name:e})}toNumber(){let e="";const n=new Uint8Array(this.value);for(const r of n)e+=r.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let n=e.toString(2);const r=n.length+7>>3;this.unusedBits=(r<<3)-n.length;const i=new Uint8Array(r);n=n.padStart(r<<3,"0").split("").reverse().join("");let s=0;for(;s<r;)i[s]=parseInt(n.slice(s<<3,(s<<3)+8),2),s++;this.value=i.buffer}}class ae{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):T.isBufferSource(e)?this.buffer=T.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof tr))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new tr({valueHex:this.buffer})}toSchema(e){return new tr({name:e})}}const V3={fromASN:t=>t instanceof cr?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new cr;const e=Hr(t);if(e.result.error)throw new Error(e.result.error);return e.result}},K3={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new mi({value:+t})},G3={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new ic({value:t})},me={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new mi({valueHex:t})},W3={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new nr({valueHex:t})},J3={fromASN:t=>t.valueBlock.toString(),toASN:t=>new oc({value:t})},X3={fromASN:t=>t.valueBlock.value,toASN:t=>new rc({value:t})},oa={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new tr({valueHex:t})},Z3={fromASN:t=>new ae(t.getValue()),toASN:t=>t.toASN()};function bt(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const vy=bt(bn),Y3=bt(sc),Q3=bt(ac),e4=bt(cc),t4=bt(lc),n4=bt(dc),r4=bt(uc),i4=bt(pc),o4=bt(fc),s4=bt(Vo),a4=bt(hc),c4=bt(gc),l4={fromASN:t=>t.toDate(),toASN:t=>new Ko({valueDate:t})},d4={fromASN:t=>t.toDate(),toASN:t=>new mc({valueDate:t})},u4={fromASN:()=>null,toASN:()=>new cr};function so(t){switch(t){case b.Any:return V3;case b.BitString:return W3;case b.BmpString:return Y3;case b.Boolean:return X3;case b.CharacterString:return c4;case b.Enumerated:return G3;case b.GeneralString:return a4;case b.GeneralizedTime:return d4;case b.GraphicString:return o4;case b.IA5String:return i4;case b.Integer:return K3;case b.Null:return u4;case b.NumericString:return e4;case b.ObjectIdentifier:return J3;case b.OctetString:return oa;case b.PrintableString:return t4;case b.TeletexString:return n4;case b.UTCTime:return l4;case b.UniversalString:return Q3;case b.Utf8String:return vy;case b.VideotexString:return r4;case b.VisibleString:return s4;default:return null}}function dn(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:dn(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function $y(t){var e;if(t){const n=Object.getPrototypeOf(t);return((e=n?.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:$y(n)}return!1}function p4(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}class f4{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,n=!1){const r=this.items.get(e);if(!r)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(n&&!r.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(e){const n=this.get(e);n.schema||(n.schema=this.create(e,!0))}createDefault(e){const n={type:E.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(n,r),n.items=Object.assign({},n.items,r.items)),n}create(e,n){const r=this.items.get(e)||this.createDefault(e),i=[];for(const s in r.items){const a=r.items[s],c=n?s:"";let l;if(typeof a.type=="number"){const p=b[a.type],f=by[p];if(!f)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new f({name:c})}else dn(a.type)?l=new a.type().toSchema(c):a.optional?this.get(a.type).type===E.Choice?l=new lr({name:c}):(l=this.create(a.type,!1),l.name=c):l=new lr({name:c});const d=!!a.optional||a.defaultValue!==void 0;if(a.repeated){l.name="";const p=a.repeated==="set"?Kt:Nt;l=new p({name:"",value:[new ia({name:c,value:l})]})}if(a.context!==null&&a.context!==void 0)if(a.implicit)if(typeof a.type=="number"||dn(a.type)){const p=a.repeated?Qe:Ho;i.push(new p({name:c,optional:d,idBlock:{tagClass:3,tagNumber:a.context}}))}else{this.cache(a.type);const p=!!a.repeated;let f=p?l:this.get(a.type,!0).schema;f="valueBlock"in f?f.valueBlock.value:f.value,i.push(new Qe({name:p?"":c,optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:f}))}else i.push(new Qe({optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:[l]}));else l.optional=d,i.push(l)}switch(r.type){case E.Sequence:return new Nt({value:i,name:""});case E.Set:return new Kt({value:i,name:""});case E.Choice:return new Zu({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,n){return this.items.set(e,n),this}findParentSchema(e){const n=Object.getPrototypeOf(e);return n?this.items.get(n)||this.findParentSchema(n):null}}const Le=new f4,j=t=>e=>{let n;Le.has(e)?n=Le.get(e):(n=Le.createDefault(e),Le.set(e,n)),Object.assign(n,t)},m=t=>(e,n)=>{let r;Le.has(e.constructor)?r=Le.get(e.constructor):(r=Le.createDefault(e.constructor),Le.set(e.constructor,r));const i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){const s=so(t.type);if(!s)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);i.converter=s}i.raw=t.raw,r.items[n]=i};class Ni extends Error{constructor(){super(...arguments),this.schemas=[]}}class h4{static parse(e,n){const r=Hr(e);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,n)}static fromASN(e,n){try{if(dn(n))return new n().fromASN(e);const r=Le.get(n);Le.cache(n);let i=r.schema;const s=this.handleChoiceTypes(e,r,n,i);if(s?.result)return s.result;s?.targetSchema&&(i=s.targetSchema);const a=this.handleSequenceTypes(e,r,n,i),c=new n;return $y(n)?this.handleArrayTypes(e,r,n):(this.processSchemaItems(r,a,c),c)}catch(r){throw r instanceof Ni&&r.schemas.push(n.name),r}}static handleChoiceTypes(e,n,r,i){if(e.constructor===Qe&&n.type===E.Choice&&e.idBlock.tagClass===3)for(const s in n.items){const a=n.items[s];if(a.context===e.idBlock.tagNumber&&a.implicit&&typeof a.type=="function"&&Le.has(a.type)){const c=Le.get(a.type);if(c&&c.type===E.Sequence){const l=new Nt;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in l.valueBlock){l.valueBlock.value=e.valueBlock.value;const d=this.fromASN(l,a.type),p=new r;return p[s]=d,{result:p}}}}}else if(e.constructor===Qe&&n.type!==E.Choice){const s=new Qe({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:n.schema.valueBlock.value});for(const a in n.items)delete e[a];return{targetSchema:s}}return null}static handleSequenceTypes(e,n,r,i){if(n.type===E.Sequence){const s=En({},e,i);if(!s.verified)throw new Ni(`Data does not match to ${r.name} ASN1 schema.${s.result.error?` ${s.result.error}`:""}`);return s}else{const s=En({},e,i);if(!s.verified)throw new Ni(`Data does not match to ${r.name} ASN1 schema.${s.result.error?` ${s.result.error}`:""}`);return s}}static processRepeatedField(e,n,r){let i=e.slice(n);if(i.length===1&&i[0].constructor.name==="Sequence"){const s=i[0];s.valueBlock&&s.valueBlock.value&&Array.isArray(s.valueBlock.value)&&(i=s.valueBlock.value)}if(typeof r.type=="number"){const s=so(r.type);if(!s)throw new Error(`No converter for ASN.1 type ${r.type}`);return i.filter(a=>a&&a.valueBlock).map(a=>{try{return s.fromASN(a)}catch{return}}).filter(a=>a!==void 0)}else return i.filter(s=>s&&s.valueBlock).map(s=>{try{return this.fromASN(s,r.type)}catch{return}}).filter(s=>s!==void 0)}static processPrimitiveField(e,n){const r=so(n.type);if(!r)throw new Error(`No converter for ASN.1 type ${n.type}`);return r.fromASN(e)}static isOptionalChoiceField(e){return e.optional&&typeof e.type=="function"&&Le.has(e.type)&&Le.get(e.type).type===E.Choice}static processOptionalChoiceField(e,n){try{return{processed:!0,value:this.fromASN(e,n.type)}}catch(r){if(r instanceof Ni&&/Wrong values for Choice type/.test(r.message))return{processed:!1};throw r}}static handleArrayTypes(e,n,r){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const i=n.itemType;if(typeof i=="number"){const s=so(i);if(!s)throw new Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);return r.from(e.valueBlock.value,a=>s.fromASN(a))}else return r.from(e.valueBlock.value,s=>this.fromASN(s,i))}static processSchemaItems(e,n,r){for(const i in e.items){const s=n.result[i];if(!s)continue;const a=e.items[i],c=a.type;let l;typeof c=="number"||dn(c)?l=this.processPrimitiveSchemaItem(s,a,c):l=this.processComplexSchemaItem(s,a,c),l&&typeof l=="object"&&"value"in l&&"raw"in l?(r[i]=l.value,r[`${i}Raw`]=l.raw):r[i]=l}}static processPrimitiveSchemaItem(e,n,r){var i;const s=(i=n.converter)!==null&&i!==void 0?i:dn(r)?new r:null;if(!s)throw new Error("Converter is empty");return n.repeated?this.processRepeatedPrimitiveItem(e,n,s):this.processSinglePrimitiveItem(e,n,r,s)}static processRepeatedPrimitiveItem(e,n,r){if(n.implicit){const i=n.repeated==="sequence"?Nt:Kt,s=new i;s.valueBlock=e.valueBlock;const a=Hr(s.toBER(!1));if(a.offset===-1)throw new Error(`Cannot parse the child item. ${a.result.error}`);if(!("value"in a.result.valueBlock&&Array.isArray(a.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const c=a.result.valueBlock.value;return Array.from(c,l=>r.fromASN(l))}else return Array.from(e,i=>r.fromASN(i))}static processSinglePrimitiveItem(e,n,r,i){let s=e;if(n.implicit){let a;if(dn(r))a=new r().toSchema("");else{const c=b[r],l=by[c];if(!l)throw new Error(`Cannot get '${c}' class from asn1js module`);a=new l}a.valueBlock=s.valueBlock,s=Hr(a.toBER(!1)).result}return i.fromASN(s)}static processComplexSchemaItem(e,n,r){if(n.repeated){if(!Array.isArray(e))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");return Array.from(e,i=>this.fromASN(i,r))}else{const i=this.handleImplicitTagging(e,n,r);if(this.isOptionalChoiceField(n))try{return this.fromASN(i,r)}catch(s){if(s instanceof Ni&&/Wrong values for Choice type/.test(s.message))return;throw s}else{const s=this.fromASN(i,r);return n.raw?{value:s,raw:e.valueBeforeDecodeView}:s}}}static handleImplicitTagging(e,n,r){if(n.implicit&&typeof n.context=="number"){const i=Le.get(r);if(i.type===E.Sequence){const s=new Nt;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in s.valueBlock)return s.valueBlock.value=e.valueBlock.value,s}else if(i.type===E.Set){const s=new Kt;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in s.valueBlock)return s.valueBlock.value=e.valueBlock.value,s}}return e}}class Yu{static serialize(e){return e instanceof Me?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&dn(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,r=Le.get(n);Le.cache(n);let i=[];if(r.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof r.itemType=="number"){const a=so(r.itemType);if(!a)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);i=e.map(c=>a.toASN(c))}else i=e.map(a=>this.toAsnItem({type:r.itemType},"[]",n,a))}else for(const a in r.items){const c=r.items[a],l=e[a];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&p4(this.serialize(c.defaultValue),this.serialize(l)))continue;const d=Yu.toAsnItem(c,a,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||dn(c.type))){const p={};p.valueHex=d instanceof cr?d.valueBeforeDecodeView:d.valueBlock.toBER(),i.push(new Ho({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else i.push(new Qe({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:d.valueBlock.value}));else i.push(new Qe({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[d]}));else c.repeated?i=i.concat(d):i.push(d)}let s;switch(r.type){case E.Sequence:s=new Nt({value:i});break;case E.Set:s=new Kt({value:i});break;case E.Choice:if(!i[0])throw new Error(`Schema '${n.name}' has wrong data. Choice cannot be empty.`);s=i[0];break}return s}static toAsnItem(e,n,r,i){let s;if(typeof e.type=="number"){const a=e.converter;if(!a)throw new Error(`Property '${n}' doesn't have converter for type ${b[e.type]} in schema '${r.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(i,d=>a.toASN(d)),l=e.repeated==="sequence"?Nt:Kt;s=new l({value:c})}else s=a.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const a=Array.from(i,l=>this.toASN(l)),c=e.repeated==="sequence"?Nt:Kt;s=new c({value:a})}else s=this.toASN(i);return s}}class de extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class P{static serialize(e){return Yu.serialize(e)}static parse(e,n){return h4.parse(e,n)}static toString(e){const n=T.isBufferSource(e)?T.toArrayBuffer(e):P.serialize(e),r=Hr(n);if(r.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}function h(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(a=t[c])&&(s=(i<3?a(s):i>3?a(e,n,s):a(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function te(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)}function we(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n}class oh{static isIPv4(e){return/^(\d{1,3}\.){3}\d{1,3}$/.test(e)}static parseIPv4(e){const n=e.split(".");if(n.length!==4)throw new Error("Invalid IPv4 address");return n.map(r=>{const i=parseInt(r,10);if(isNaN(i)||i<0||i>255)throw new Error("Invalid IPv4 address part");return i})}static parseIPv6(e){const r=this.expandIPv6(e).split(":");if(r.length!==8)throw new Error("Invalid IPv6 address");return r.reduce((i,s)=>{const a=parseInt(s,16);if(isNaN(a)||a<0||a>65535)throw new Error("Invalid IPv6 address part");return i.push(a>>8&255),i.push(a&255),i},[])}static expandIPv6(e){if(!e.includes("::"))return e;const n=e.split("::");if(n.length>2)throw new Error("Invalid IPv6 address");const r=n[0]?n[0].split(":"):[],i=n[1]?n[1].split(":"):[],s=8-(r.length+i.length);if(s<0)throw new Error("Invalid IPv6 address");return[...r,...Array(s).fill("0"),...i].join(":")}static formatIPv6(e){const n=[];for(let r=0;r<16;r+=2)n.push((e[r]<<8|e[r+1]).toString(16));return this.compressIPv6(n.join(":"))}static compressIPv6(e){const n=e.split(":");let r=-1,i=0,s=-1,a=0;for(let c=0;c<n.length;c++)n[c]==="0"?(s===-1&&(s=c),a++):(a>i&&(r=s,i=a),s=-1,a=0);if(a>i&&(r=s,i=a),i>1){const c=n.slice(0,r).join(":"),l=n.slice(r+i).join(":");return`${c}::${l}`}return e}static parseCIDR(e){const[n,r]=e.split("/"),i=parseInt(r,10);if(this.isIPv4(n)){if(i<0||i>32)throw new Error("Invalid IPv4 prefix length");return[this.parseIPv4(n),i]}else{if(i<0||i>128)throw new Error("Invalid IPv6 prefix length");return[this.parseIPv6(n),i]}}static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const n=parseInt(e.slice(8),16).toString(2).split("").reduce((i,s)=>i+ +s,0);let r=e.slice(0,8).replace(/(.{2})/g,i=>`${parseInt(i,16)}.`);return r=r.slice(0,-1),`${r}/${n}`}static toString(e){const n=new Uint8Array(e);if(n.length===4)return Array.from(n).join(".");if(n.length===16)return this.formatIPv6(n);if(n.length===8||n.length===32){const r=n.length/2,i=n.slice(0,r),s=n.slice(r);if(n.every(l=>l===0))return n.length===8?"0.0.0.0/0":"::/0";const c=s.reduce((l,d)=>l+(d.toString(2).match(/1/g)||[]).length,0);return n.length===8?`${Array.from(i).join(".")}/${c}`:`${this.formatIPv6(i)}/${c}`}return this.decodeIP(q.ToHex(e))}static fromString(e){if(e.includes("/")){const[r,i]=this.parseCIDR(e),s=new Uint8Array(r.length);let a=i;for(let l=0;l<s.length;l++)a>=8?(s[l]=255,a-=8):a>0&&(s[l]=255<<8-a,a=0);const c=new Uint8Array(r.length*2);return c.set(r,0),c.set(s,r.length),c.buffer}const n=this.isIPv4(e)?this.parseIPv4(e):this.parseIPv6(e);return new Uint8Array(n).buffer}}var Kl,Gl,Wl;let qe=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};h([m({type:b.TeletexString})],qe.prototype,"teletexString",void 0);h([m({type:b.PrintableString})],qe.prototype,"printableString",void 0);h([m({type:b.UniversalString})],qe.prototype,"universalString",void 0);h([m({type:b.Utf8String})],qe.prototype,"utf8String",void 0);h([m({type:b.BmpString})],qe.prototype,"bmpString",void 0);qe=h([j({type:E.Choice})],qe);let Yr=class extends qe{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?q.ToHex(this.anyValue):super.toString())}};h([m({type:b.IA5String})],Yr.prototype,"ia5String",void 0);h([m({type:b.Any})],Yr.prototype,"anyValue",void 0);Yr=h([j({type:E.Choice})],Yr);class yc{constructor(e={}){this.type="",this.value=new Yr,Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],yc.prototype,"type",void 0);h([m({type:Yr})],yc.prototype,"value",void 0);let Qr=Kl=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Kl.prototype)}};Qr=Kl=h([j({type:E.Set,itemType:yc})],Qr);let Jl=Gl=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Gl.prototype)}};Jl=Gl=h([j({type:E.Sequence,itemType:Qr})],Jl);let Ce=Wl=class extends Jl{constructor(e){super(e),Object.setPrototypeOf(this,Wl.prototype)}};Ce=Wl=h([j({type:E.Sequence})],Ce);const g4={fromASN:t=>oh.toString(oa.fromASN(t)),toASN:t=>oa.toASN(oh.fromString(t))};class vo{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],vo.prototype,"typeId",void 0);h([m({type:b.Any,context:0})],vo.prototype,"value",void 0);class Qu{constructor(e={}){this.partyName=new qe,Object.assign(this,e)}}h([m({type:qe,optional:!0,context:0,implicit:!0})],Qu.prototype,"nameAssigner",void 0);h([m({type:qe,context:1,implicit:!0})],Qu.prototype,"partyName",void 0);let Q=class{constructor(e={}){Object.assign(this,e)}};h([m({type:vo,context:0,implicit:!0})],Q.prototype,"otherName",void 0);h([m({type:b.IA5String,context:1,implicit:!0})],Q.prototype,"rfc822Name",void 0);h([m({type:b.IA5String,context:2,implicit:!0})],Q.prototype,"dNSName",void 0);h([m({type:b.Any,context:3,implicit:!0})],Q.prototype,"x400Address",void 0);h([m({type:Ce,context:4,implicit:!1})],Q.prototype,"directoryName",void 0);h([m({type:Qu,context:5})],Q.prototype,"ediPartyName",void 0);h([m({type:b.IA5String,context:6,implicit:!0})],Q.prototype,"uniformResourceIdentifier",void 0);h([m({type:b.OctetString,context:7,implicit:!0,converter:g4})],Q.prototype,"iPAddress",void 0);h([m({type:b.ObjectIdentifier,context:8,implicit:!0})],Q.prototype,"registeredID",void 0);Q=h([j({type:E.Choice})],Q);const ep="1.3.6.1.5.5.7",m4=`${ep}.1`,_i=`${ep}.3`,wc=`${ep}.48`,sh=`${wc}.1`,ah=`${wc}.2`,ch=`${wc}.3`,lh=`${wc}.5`,vn="2.5.29";var Xl;const Zl=`${m4}.1`;class Go{constructor(e={}){this.accessMethod="",this.accessLocation=new Q,Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Go.prototype,"accessMethod",void 0);h([m({type:Q})],Go.prototype,"accessLocation",void 0);let Ur=Xl=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Xl.prototype)}};Ur=Xl=h([j({type:E.Sequence,itemType:Go})],Ur);const Yl=`${vn}.35`;class tp extends ae{}class Zn{constructor(e={}){e&&Object.assign(this,e)}}h([m({type:tp,context:0,optional:!0,implicit:!0})],Zn.prototype,"keyIdentifier",void 0);h([m({type:Q,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Zn.prototype,"authorityCertIssuer",void 0);h([m({type:b.Integer,context:2,optional:!0,implicit:!0,converter:me})],Zn.prototype,"authorityCertSerialNumber",void 0);const ky=`${vn}.19`;class sa{constructor(e={}){this.cA=!1,Object.assign(this,e)}}h([m({type:b.Boolean,defaultValue:!1})],sa.prototype,"cA",void 0);h([m({type:b.Integer,optional:!0})],sa.prototype,"pathLenConstraint",void 0);var Ql;let Je=Ql=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ql.prototype)}};Je=Ql=h([j({type:E.Sequence,itemType:Q})],Je);var ed;let dh=ed=class extends Je{constructor(e){super(e),Object.setPrototypeOf(this,ed.prototype)}};dh=ed=h([j({type:E.Sequence})],dh);var td;const xy=`${vn}.32`;let pn=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};h([m({type:b.IA5String})],pn.prototype,"ia5String",void 0);h([m({type:b.VisibleString})],pn.prototype,"visibleString",void 0);h([m({type:b.BmpString})],pn.prototype,"bmpString",void 0);h([m({type:b.Utf8String})],pn.prototype,"utf8String",void 0);pn=h([j({type:E.Choice})],pn);class np{constructor(e={}){this.organization=new pn,this.noticeNumbers=[],Object.assign(this,e)}}h([m({type:pn})],np.prototype,"organization",void 0);h([m({type:b.Integer,repeated:"sequence"})],np.prototype,"noticeNumbers",void 0);class rp{constructor(e={}){Object.assign(this,e)}}h([m({type:np,optional:!0})],rp.prototype,"noticeRef",void 0);h([m({type:pn,optional:!0})],rp.prototype,"explicitText",void 0);let aa=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.IA5String})],aa.prototype,"cPSuri",void 0);h([m({type:rp})],aa.prototype,"userNotice",void 0);aa=h([j({type:E.Choice})],aa);class ip{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],ip.prototype,"policyQualifierId",void 0);h([m({type:b.Any})],ip.prototype,"qualifier",void 0);class bc{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],bc.prototype,"policyIdentifier",void 0);h([m({type:ip,repeated:"sequence",optional:!0})],bc.prototype,"policyQualifiers",void 0);let ca=td=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,td.prototype)}};ca=td=h([j({type:E.Sequence,itemType:bc})],ca);let la=class{constructor(e=0){this.value=e}};h([m({type:b.Integer})],la.prototype,"value",void 0);la=h([j({type:E.Choice})],la);let uh=class extends la{};uh=h([j({type:E.Choice})],uh);var nd;const rd=`${vn}.31`;var $t;(function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"})($t||($t={}));class Sy extends _c{toJSON(){const e=[],n=this.toNumber();return n&$t.aACompromise&&e.push("aACompromise"),n&$t.affiliationChanged&&e.push("affiliationChanged"),n&$t.cACompromise&&e.push("cACompromise"),n&$t.certificateHold&&e.push("certificateHold"),n&$t.cessationOfOperation&&e.push("cessationOfOperation"),n&$t.keyCompromise&&e.push("keyCompromise"),n&$t.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n&$t.superseded&&e.push("superseded"),n&$t.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let dr=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Q,context:0,repeated:"sequence",implicit:!0})],dr.prototype,"fullName",void 0);h([m({type:Qr,context:1,implicit:!0})],dr.prototype,"nameRelativeToCRLIssuer",void 0);dr=h([j({type:E.Choice})],dr);class yi{constructor(e={}){Object.assign(this,e)}}h([m({type:dr,context:0,optional:!0})],yi.prototype,"distributionPoint",void 0);h([m({type:Sy,context:1,optional:!0,implicit:!0})],yi.prototype,"reasons",void 0);h([m({type:Q,context:2,optional:!0,repeated:"sequence",implicit:!0})],yi.prototype,"cRLIssuer",void 0);let Vr=nd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,nd.prototype)}};Vr=nd=h([j({type:E.Sequence,itemType:yi})],Vr);var id;let ph=id=class extends Vr{constructor(e){super(e),Object.setPrototypeOf(this,id.prototype)}};ph=id=h([j({type:E.Sequence,itemType:yi})],ph);class We{constructor(e={}){this.onlyContainsUserCerts=We.ONLY,this.onlyContainsCACerts=We.ONLY,this.indirectCRL=We.ONLY,this.onlyContainsAttributeCerts=We.ONLY,Object.assign(this,e)}}We.ONLY=!1;h([m({type:dr,context:0,optional:!0})],We.prototype,"distributionPoint",void 0);h([m({type:b.Boolean,context:1,defaultValue:We.ONLY,implicit:!0})],We.prototype,"onlyContainsUserCerts",void 0);h([m({type:b.Boolean,context:2,defaultValue:We.ONLY,implicit:!0})],We.prototype,"onlyContainsCACerts",void 0);h([m({type:Sy,context:3,optional:!0,implicit:!0})],We.prototype,"onlySomeReasons",void 0);h([m({type:b.Boolean,context:4,defaultValue:We.ONLY,implicit:!0})],We.prototype,"indirectCRL",void 0);h([m({type:b.Boolean,context:5,defaultValue:We.ONLY,implicit:!0})],We.prototype,"onlyContainsAttributeCerts",void 0);var ao;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(ao||(ao={}));let od=class{constructor(e=ao.unspecified){this.reason=ao.unspecified,this.reason=e}toJSON(){return ao[this.reason]}toString(){return this.toJSON()}};h([m({type:b.Enumerated})],od.prototype,"reason",void 0);od=h([j({type:E.Choice})],od);var sd;const zy=`${vn}.37`;let da=sd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,sd.prototype)}};da=sd=h([j({type:E.Sequence,itemType:b.ObjectIdentifier})],da);const _4=`${_i}.1`,y4=`${_i}.2`,w4=`${_i}.3`,b4=`${_i}.4`,v4=`${_i}.8`,$4=`${_i}.9`;let ad=class{constructor(e=new ArrayBuffer(0)){this.value=e}};h([m({type:b.Integer,converter:me})],ad.prototype,"value",void 0);ad=h([j({type:E.Choice})],ad);let cd=class{constructor(e){this.value=new Date,e&&(this.value=e)}};h([m({type:b.GeneralizedTime})],cd.prototype,"value",void 0);cd=h([j({type:E.Choice})],cd);var ld;const Ay=`${vn}.18`;let fh=ld=class extends Je{constructor(e){super(e),Object.setPrototypeOf(this,ld.prototype)}};fh=ld=h([j({type:E.Sequence})],fh);const Ey=`${vn}.15`;var kt;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(kt||(kt={}));class ll extends _c{toJSON(){const e=this.toNumber(),n=[];return e&kt.cRLSign&&n.push("crlSign"),e&kt.dataEncipherment&&n.push("dataEncipherment"),e&kt.decipherOnly&&n.push("decipherOnly"),e&kt.digitalSignature&&n.push("digitalSignature"),e&kt.encipherOnly&&n.push("encipherOnly"),e&kt.keyAgreement&&n.push("keyAgreement"),e&kt.keyCertSign&&n.push("keyCertSign"),e&kt.keyEncipherment&&n.push("keyEncipherment"),e&kt.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var dd;class vc{constructor(e={}){this.base=new Q,this.minimum=0,Object.assign(this,e)}}h([m({type:Q})],vc.prototype,"base",void 0);h([m({type:b.Integer,context:0,defaultValue:0,implicit:!0})],vc.prototype,"minimum",void 0);h([m({type:b.Integer,context:1,optional:!0,implicit:!0})],vc.prototype,"maximum",void 0);let ua=dd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,dd.prototype)}};ua=dd=h([j({type:E.Sequence,itemType:vc})],ua);class Cy{constructor(e={}){Object.assign(this,e)}}h([m({type:ua,context:0,optional:!0,implicit:!0})],Cy.prototype,"permittedSubtrees",void 0);h([m({type:ua,context:1,optional:!0,implicit:!0})],Cy.prototype,"excludedSubtrees",void 0);class Ny{constructor(e={}){Object.assign(this,e)}}h([m({type:b.Integer,context:0,implicit:!0,optional:!0,converter:me})],Ny.prototype,"requireExplicitPolicy",void 0);h([m({type:b.Integer,context:1,implicit:!0,optional:!0,converter:me})],Ny.prototype,"inhibitPolicyMapping",void 0);var ud;class op{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],op.prototype,"issuerDomainPolicy",void 0);h([m({type:b.ObjectIdentifier})],op.prototype,"subjectDomainPolicy",void 0);let hh=ud=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ud.prototype)}};hh=ud=h([j({type:E.Sequence,itemType:op})],hh);var pd;const Iy=`${vn}.17`;let fd=pd=class extends Je{constructor(e){super(e),Object.setPrototypeOf(this,pd.prototype)}};fd=pd=h([j({type:E.Sequence})],fd);let fn=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],fn.prototype,"type",void 0);h([m({type:b.Any,repeated:"set"})],fn.prototype,"values",void 0);var hd;let gh=hd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,hd.prototype)}};gh=hd=h([j({type:E.Sequence,itemType:fn})],gh);const jy=`${vn}.14`;class On extends tp{}class Oy{constructor(e={}){Object.assign(this,e)}}h([m({type:b.GeneralizedTime,context:0,implicit:!0,optional:!0})],Oy.prototype,"notBefore",void 0);h([m({type:b.GeneralizedTime,context:1,implicit:!0,optional:!0})],Oy.prototype,"notAfter",void 0);var co;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(co||(co={}));class Py extends _c{toJSON(){const e=[],n=this.toNumber();return n&co.pKIXCertificate&&e.push("pKIXCertificate"),n&co.newExtensions&&e.push("newExtensions"),n&co.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Ty{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new Py,Object.assign(this,e)}}h([m({type:b.GeneralString})],Ty.prototype,"entrustVers",void 0);h([m({type:Py})],Ty.prototype,"entrustInfoFlags",void 0);var gd;let mh=gd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,gd.prototype)}};mh=gd=h([j({type:E.Sequence,itemType:Go})],mh);class U{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof U&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&x_(e.parameters,this.parameters)||e.parameters===this.parameters)}}h([m({type:b.ObjectIdentifier})],U.prototype,"algorithm",void 0);h([m({type:b.Any,optional:!0})],U.prototype,"parameters",void 0);class At{constructor(e={}){this.algorithm=new U,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:U})],At.prototype,"algorithm",void 0);h([m({type:b.BitString})],At.prototype,"subjectPublicKey",void 0);let Ue=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const n=new Date(e);n.getUTCFullYear()>2049?this.generalTime=n:this.utcTime=n}else Object.assign(this,e)}getTime(){const e=this.utcTime||this.generalTime;if(!e)throw new Error("Cannot get time from CHOICE object");return e}};h([m({type:b.UTCTime})],Ue.prototype,"utcTime",void 0);h([m({type:b.GeneralizedTime})],Ue.prototype,"generalTime",void 0);Ue=h([j({type:E.Choice})],Ue);class Wo{constructor(e){this.notBefore=new Ue(new Date),this.notAfter=new Ue(new Date),e&&(this.notBefore=new Ue(e.notBefore),this.notAfter=new Ue(e.notAfter))}}h([m({type:Ue})],Wo.prototype,"notBefore",void 0);h([m({type:Ue})],Wo.prototype,"notAfter",void 0);var md;let yt=class Ry{constructor(e={}){this.extnID="",this.critical=Ry.CRITICAL,this.extnValue=new ae,Object.assign(this,e)}};yt.CRITICAL=!1;h([m({type:b.ObjectIdentifier})],yt.prototype,"extnID",void 0);h([m({type:b.Boolean,defaultValue:yt.CRITICAL})],yt.prototype,"critical",void 0);h([m({type:ae})],yt.prototype,"extnValue",void 0);let Tn=md=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,md.prototype)}};Tn=md=h([j({type:E.Sequence,itemType:yt})],Tn);var ur;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(ur||(ur={}));class ut{constructor(e={}){this.version=ur.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new U,this.issuer=new Ce,this.validity=new Wo,this.subject=new Ce,this.subjectPublicKeyInfo=new At,Object.assign(this,e)}}h([m({type:b.Integer,context:0,defaultValue:ur.v1})],ut.prototype,"version",void 0);h([m({type:b.Integer,converter:me})],ut.prototype,"serialNumber",void 0);h([m({type:U})],ut.prototype,"signature",void 0);h([m({type:Ce})],ut.prototype,"issuer",void 0);h([m({type:Wo})],ut.prototype,"validity",void 0);h([m({type:Ce})],ut.prototype,"subject",void 0);h([m({type:At})],ut.prototype,"subjectPublicKeyInfo",void 0);h([m({type:b.BitString,context:1,implicit:!0,optional:!0})],ut.prototype,"issuerUniqueID",void 0);h([m({type:b.BitString,context:2,implicit:!0,optional:!0})],ut.prototype,"subjectUniqueID",void 0);h([m({type:Tn,context:3,optional:!0})],ut.prototype,"extensions",void 0);class pr{constructor(e={}){this.tbsCertificate=new ut,this.signatureAlgorithm=new U,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:ut,raw:!0})],pr.prototype,"tbsCertificate",void 0);h([m({type:U})],pr.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],pr.prototype,"signatureValue",void 0);class $c{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Ue,Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],$c.prototype,"userCertificate",void 0);h([m({type:Ue})],$c.prototype,"revocationDate",void 0);h([m({type:yt,optional:!0,repeated:"sequence"})],$c.prototype,"crlEntryExtensions",void 0);class $n{constructor(e={}){this.signature=new U,this.issuer=new Ce,this.thisUpdate=new Ue,Object.assign(this,e)}}h([m({type:b.Integer,optional:!0})],$n.prototype,"version",void 0);h([m({type:U})],$n.prototype,"signature",void 0);h([m({type:Ce})],$n.prototype,"issuer",void 0);h([m({type:Ue})],$n.prototype,"thisUpdate",void 0);h([m({type:Ue,optional:!0})],$n.prototype,"nextUpdate",void 0);h([m({type:$c,repeated:"sequence",optional:!0})],$n.prototype,"revokedCertificates",void 0);h([m({type:yt,optional:!0,context:0,repeated:"sequence"})],$n.prototype,"crlExtensions",void 0);class sp{constructor(e={}){this.tbsCertList=new $n,this.signatureAlgorithm=new U,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:$n,raw:!0})],sp.prototype,"tbsCertList",void 0);h([m({type:U})],sp.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],sp.prototype,"signature",void 0);class wi{constructor(e={}){this.issuer=new Ce,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:Ce})],wi.prototype,"issuer",void 0);h([m({type:b.Integer,converter:me})],wi.prototype,"serialNumber",void 0);let ei=class{constructor(e={}){Object.assign(this,e)}};h([m({type:On,context:0,implicit:!0})],ei.prototype,"subjectKeyIdentifier",void 0);h([m({type:wi})],ei.prototype,"issuerAndSerialNumber",void 0);ei=h([j({type:E.Choice})],ei);var hn;(function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"})(hn||(hn={}));let $o=class extends U{};$o=h([j({type:E.Sequence})],$o);let pa=class extends U{};pa=h([j({type:E.Sequence})],pa);let Wt=class extends U{};Wt=h([j({type:E.Sequence})],Wt);let fa=class extends U{};fa=h([j({type:E.Sequence})],fa);let _h=class extends U{};_h=h([j({type:E.Sequence})],_h);let _d=class extends U{};_d=h([j({type:E.Sequence})],_d);let bi=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],bi.prototype,"attrType",void 0);h([m({type:b.Any,repeated:"set"})],bi.prototype,"attrValues",void 0);var yd;class Zt{constructor(e={}){this.version=hn.v0,this.sid=new ei,this.digestAlgorithm=new $o,this.signatureAlgorithm=new pa,this.signature=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Zt.prototype,"version",void 0);h([m({type:ei})],Zt.prototype,"sid",void 0);h([m({type:$o})],Zt.prototype,"digestAlgorithm",void 0);h([m({type:bi,repeated:"set",context:0,implicit:!0,optional:!0,raw:!0})],Zt.prototype,"signedAttrs",void 0);h([m({type:pa})],Zt.prototype,"signatureAlgorithm",void 0);h([m({type:ae})],Zt.prototype,"signature",void 0);h([m({type:bi,repeated:"set",context:1,implicit:!0,optional:!0})],Zt.prototype,"unsignedAttrs",void 0);let ha=yd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,yd.prototype)}};ha=yd=h([j({type:E.Set,itemType:Zt})],ha);let yh=class extends Zt{};yh=h([j({type:E.Sequence})],yh);let wh=class extends Ue{};wh=h([j({type:E.Choice})],wh);class ap{constructor(e={}){this.acIssuer=new Q,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}h([m({type:Q})],ap.prototype,"acIssuer",void 0);h([m({type:b.Integer})],ap.prototype,"acSerial",void 0);h([m({type:fn,repeated:"sequence"})],ap.prototype,"attrs",void 0);var wd;let ga=wd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,wd.prototype)}};ga=wd=h([j({type:E.Sequence,itemType:b.ObjectIdentifier})],ga);class kc{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}h([m({type:b.Integer,optional:!0})],kc.prototype,"pathLenConstraint",void 0);h([m({type:ga,implicit:!0,context:0,optional:!0})],kc.prototype,"permittedAttrs",void 0);h([m({type:ga,implicit:!0,context:1,optional:!0})],kc.prototype,"excludedAttrs",void 0);h([m({type:b.Boolean,defaultValue:!0})],kc.prototype,"permitUnSpecified",void 0);class xr{constructor(e={}){this.issuer=new Je,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:Je})],xr.prototype,"issuer",void 0);h([m({type:b.Integer,converter:me})],xr.prototype,"serial",void 0);h([m({type:b.BitString,optional:!0})],xr.prototype,"issuerUID",void 0);var bd;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(bd||(bd={}));class Sr{constructor(e={}){this.digestedObjectType=bd.publicKey,this.digestAlgorithm=new U,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Enumerated})],Sr.prototype,"digestedObjectType",void 0);h([m({type:b.ObjectIdentifier,optional:!0})],Sr.prototype,"otherObjectTypeID",void 0);h([m({type:U})],Sr.prototype,"digestAlgorithm",void 0);h([m({type:b.BitString})],Sr.prototype,"objectDigest",void 0);class xc{constructor(e={}){Object.assign(this,e)}}h([m({type:Je,optional:!0})],xc.prototype,"issuerName",void 0);h([m({type:xr,context:0,implicit:!0,optional:!0})],xc.prototype,"baseCertificateID",void 0);h([m({type:Sr,context:1,implicit:!0,optional:!0})],xc.prototype,"objectDigestInfo",void 0);let ti=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Q,repeated:"sequence"})],ti.prototype,"v1Form",void 0);h([m({type:xc,context:0,implicit:!0})],ti.prototype,"v2Form",void 0);ti=h([j({type:E.Choice})],ti);class Sc{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}h([m({type:b.GeneralizedTime})],Sc.prototype,"notBeforeTime",void 0);h([m({type:b.GeneralizedTime})],Sc.prototype,"notAfterTime",void 0);class Jo{constructor(e={}){Object.assign(this,e)}}h([m({type:xr,implicit:!0,context:0,optional:!0})],Jo.prototype,"baseCertificateID",void 0);h([m({type:Je,implicit:!0,context:1,optional:!0})],Jo.prototype,"entityName",void 0);h([m({type:Sr,implicit:!0,context:2,optional:!0})],Jo.prototype,"objectDigestInfo",void 0);var vd;(function(t){t[t.v2=1]="v2"})(vd||(vd={}));class Tt{constructor(e={}){this.version=vd.v2,this.holder=new Jo,this.issuer=new ti,this.signature=new U,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new Sc,this.attributes=[],Object.assign(this,e)}}h([m({type:b.Integer})],Tt.prototype,"version",void 0);h([m({type:Jo})],Tt.prototype,"holder",void 0);h([m({type:ti})],Tt.prototype,"issuer",void 0);h([m({type:U})],Tt.prototype,"signature",void 0);h([m({type:b.Integer,converter:me})],Tt.prototype,"serialNumber",void 0);h([m({type:Sc})],Tt.prototype,"attrCertValidityPeriod",void 0);h([m({type:fn,repeated:"sequence"})],Tt.prototype,"attributes",void 0);h([m({type:b.BitString,optional:!0})],Tt.prototype,"issuerUniqueID",void 0);h([m({type:Tn,optional:!0})],Tt.prototype,"extensions",void 0);class zc{constructor(e={}){this.acinfo=new Tt,this.signatureAlgorithm=new U,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:Tt})],zc.prototype,"acinfo",void 0);h([m({type:U})],zc.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],zc.prototype,"signatureValue",void 0);var ma;(function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"})(ma||(ma={}));class $d extends _c{}class cp{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier,implicit:!0,context:0})],cp.prototype,"type",void 0);h([m({type:b.Any,implicit:!0,context:1})],cp.prototype,"value",void 0);class lp{constructor(e={}){this.policyId="",this.classList=new $d(ma.unclassified),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],lp.prototype,"policyId",void 0);h([m({type:$d,defaultValue:new $d(ma.unclassified)})],lp.prototype,"classList",void 0);h([m({type:cp,repeated:"set"})],lp.prototype,"securityCategories",void 0);class Ac{constructor(e={}){Object.assign(this,e)}}h([m({type:ae})],Ac.prototype,"cotets",void 0);h([m({type:b.ObjectIdentifier})],Ac.prototype,"oid",void 0);h([m({type:b.Utf8String})],Ac.prototype,"string",void 0);class By{constructor(e={}){this.values=[],Object.assign(this,e)}}h([m({type:Je,implicit:!0,context:0,optional:!0})],By.prototype,"policyAuthority",void 0);h([m({type:Ac,repeated:"sequence"})],By.prototype,"values",void 0);var kd;class Ec{constructor(e={}){this.targetCertificate=new xr,Object.assign(this,e)}}h([m({type:xr})],Ec.prototype,"targetCertificate",void 0);h([m({type:Q,optional:!0})],Ec.prototype,"targetName",void 0);h([m({type:Sr,optional:!0})],Ec.prototype,"certDigestInfo",void 0);let ni=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Q,context:0,implicit:!0})],ni.prototype,"targetName",void 0);h([m({type:Q,context:1,implicit:!0})],ni.prototype,"targetGroup",void 0);h([m({type:Ec,context:2,implicit:!0})],ni.prototype,"targetCert",void 0);ni=h([j({type:E.Choice})],ni);let xd=kd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,kd.prototype)}};xd=kd=h([j({type:E.Sequence,itemType:ni})],xd);var Sd;let bh=Sd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Sd.prototype)}};bh=Sd=h([j({type:E.Sequence,itemType:xd})],bh);class Ly{constructor(e={}){Object.assign(this,e)}}h([m({type:Je,implicit:!0,context:0,optional:!0})],Ly.prototype,"roleAuthority",void 0);h([m({type:Q,implicit:!0,context:1})],Ly.prototype,"roleName",void 0);class dp{constructor(e={}){this.service=new Q,this.ident=new Q,Object.assign(this,e)}}h([m({type:Q})],dp.prototype,"service",void 0);h([m({type:Q})],dp.prototype,"ident",void 0);h([m({type:ae,optional:!0})],dp.prototype,"authInfo",void 0);var zd;class up{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],up.prototype,"otherCertFormat",void 0);h([m({type:b.Any})],up.prototype,"otherCert",void 0);let ri=class{constructor(e={}){Object.assign(this,e)}};h([m({type:pr})],ri.prototype,"certificate",void 0);h([m({type:zc,context:2,implicit:!0})],ri.prototype,"v2AttrCert",void 0);h([m({type:up,context:3,implicit:!0})],ri.prototype,"other",void 0);ri=h([j({type:E.Choice})],ri);let _a=zd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,zd.prototype)}};_a=zd=h([j({type:E.Set,itemType:ri})],_a);class vi{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],vi.prototype,"contentType",void 0);h([m({type:b.Any,context:0})],vi.prototype,"content",void 0);let ko=class{constructor(e={}){Object.assign(this,e)}};h([m({type:ae})],ko.prototype,"single",void 0);h([m({type:b.Any})],ko.prototype,"any",void 0);ko=h([j({type:E.Choice})],ko);class Cc{constructor(e={}){this.eContentType="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Cc.prototype,"eContentType",void 0);h([m({type:ko,context:0,optional:!0})],Cc.prototype,"eContent",void 0);let xo=class{constructor(e={}){Object.assign(this,e)}};h([m({type:ae,context:0,implicit:!0,optional:!0})],xo.prototype,"value",void 0);h([m({type:ae,converter:Z3,context:0,implicit:!0,optional:!0,repeated:"sequence"})],xo.prototype,"constructedValue",void 0);xo=h([j({type:E.Choice})],xo);class Xo{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new fa,Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Xo.prototype,"contentType",void 0);h([m({type:fa})],Xo.prototype,"contentEncryptionAlgorithm",void 0);h([m({type:xo,optional:!0})],Xo.prototype,"encryptedContent",void 0);class Nc{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Nc.prototype,"keyAttrId",void 0);h([m({type:b.Any,optional:!0})],Nc.prototype,"keyAttr",void 0);var Ad;class Ic{constructor(e={}){this.subjectKeyIdentifier=new On,Object.assign(this,e)}}h([m({type:On})],Ic.prototype,"subjectKeyIdentifier",void 0);h([m({type:b.GeneralizedTime,optional:!0})],Ic.prototype,"date",void 0);h([m({type:Nc,optional:!0})],Ic.prototype,"other",void 0);let ii=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Ic,context:0,implicit:!0,optional:!0})],ii.prototype,"rKeyId",void 0);h([m({type:wi,optional:!0})],ii.prototype,"issuerAndSerialNumber",void 0);ii=h([j({type:E.Choice})],ii);class pp{constructor(e={}){this.rid=new ii,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:ii})],pp.prototype,"rid",void 0);h([m({type:ae})],pp.prototype,"encryptedKey",void 0);let ya=Ad=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ad.prototype)}};ya=Ad=h([j({type:E.Sequence,itemType:pp})],ya);class fp{constructor(e={}){this.algorithm=new U,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:U})],fp.prototype,"algorithm",void 0);h([m({type:b.BitString})],fp.prototype,"publicKey",void 0);let fr=class{constructor(e={}){Object.assign(this,e)}};h([m({type:On,context:0,implicit:!0,optional:!0})],fr.prototype,"subjectKeyIdentifier",void 0);h([m({type:fp,context:1,implicit:!0,optional:!0})],fr.prototype,"originatorKey",void 0);h([m({type:wi,optional:!0})],fr.prototype,"issuerAndSerialNumber",void 0);fr=h([j({type:E.Choice})],fr);class $i{constructor(e={}){this.version=hn.v3,this.originator=new fr,this.keyEncryptionAlgorithm=new Wt,this.recipientEncryptedKeys=new ya,Object.assign(this,e)}}h([m({type:b.Integer})],$i.prototype,"version",void 0);h([m({type:fr,context:0})],$i.prototype,"originator",void 0);h([m({type:ae,context:1,optional:!0})],$i.prototype,"ukm",void 0);h([m({type:Wt})],$i.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ya})],$i.prototype,"recipientEncryptedKeys",void 0);let oi=class{constructor(e={}){Object.assign(this,e)}};h([m({type:On,context:0,implicit:!0})],oi.prototype,"subjectKeyIdentifier",void 0);h([m({type:wi})],oi.prototype,"issuerAndSerialNumber",void 0);oi=h([j({type:E.Choice})],oi);class Zo{constructor(e={}){this.version=hn.v0,this.rid=new oi,this.keyEncryptionAlgorithm=new Wt,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Zo.prototype,"version",void 0);h([m({type:oi})],Zo.prototype,"rid",void 0);h([m({type:Wt})],Zo.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ae})],Zo.prototype,"encryptedKey",void 0);class Yo{constructor(e={}){this.keyIdentifier=new ae,Object.assign(this,e)}}h([m({type:ae})],Yo.prototype,"keyIdentifier",void 0);h([m({type:b.GeneralizedTime,optional:!0})],Yo.prototype,"date",void 0);h([m({type:Nc,optional:!0})],Yo.prototype,"other",void 0);class Qo{constructor(e={}){this.version=hn.v4,this.kekid=new Yo,this.keyEncryptionAlgorithm=new Wt,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Qo.prototype,"version",void 0);h([m({type:Yo})],Qo.prototype,"kekid",void 0);h([m({type:Wt})],Qo.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ae})],Qo.prototype,"encryptedKey",void 0);class es{constructor(e={}){this.version=hn.v0,this.keyEncryptionAlgorithm=new Wt,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],es.prototype,"version",void 0);h([m({type:_d,context:0,optional:!0})],es.prototype,"keyDerivationAlgorithm",void 0);h([m({type:Wt})],es.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ae})],es.prototype,"encryptedKey",void 0);class hp{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],hp.prototype,"oriType",void 0);h([m({type:b.Any})],hp.prototype,"oriValue",void 0);let Rn=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Zo,optional:!0})],Rn.prototype,"ktri",void 0);h([m({type:$i,context:1,implicit:!0,optional:!0})],Rn.prototype,"kari",void 0);h([m({type:Qo,context:2,implicit:!0,optional:!0})],Rn.prototype,"kekri",void 0);h([m({type:es,context:3,implicit:!0,optional:!0})],Rn.prototype,"pwri",void 0);h([m({type:hp,context:4,implicit:!0,optional:!0})],Rn.prototype,"ori",void 0);Rn=h([j({type:E.Choice})],Rn);var Ed;let wa=Ed=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ed.prototype)}};wa=Ed=h([j({type:E.Set,itemType:Rn})],wa);var Cd;class jc{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],jc.prototype,"otherRevInfoFormat",void 0);h([m({type:b.Any})],jc.prototype,"otherRevInfo",void 0);let ba=class{constructor(e={}){this.other=new jc,Object.assign(this,e)}};h([m({type:jc,context:1,implicit:!0})],ba.prototype,"other",void 0);ba=h([j({type:E.Choice})],ba);let va=Cd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Cd.prototype)}};va=Cd=h([j({type:E.Set,itemType:ba})],va);class gp{constructor(e={}){Object.assign(this,e)}}h([m({type:_a,context:0,implicit:!0,optional:!0})],gp.prototype,"certs",void 0);h([m({type:va,context:1,implicit:!0,optional:!0})],gp.prototype,"crls",void 0);var Nd;let Id=Nd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Nd.prototype)}};Id=Nd=h([j({type:E.Set,itemType:bi})],Id);class ts{constructor(e={}){this.version=hn.v0,this.recipientInfos=new wa,this.encryptedContentInfo=new Xo,Object.assign(this,e)}}h([m({type:b.Integer})],ts.prototype,"version",void 0);h([m({type:gp,context:0,implicit:!0,optional:!0})],ts.prototype,"originatorInfo",void 0);h([m({type:wa})],ts.prototype,"recipientInfos",void 0);h([m({type:Xo})],ts.prototype,"encryptedContentInfo",void 0);h([m({type:Id,context:1,implicit:!0,optional:!0})],ts.prototype,"unprotectedAttrs",void 0);const k4="1.2.840.113549.1.7.2";var jd;let $a=jd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,jd.prototype)}};$a=jd=h([j({type:E.Set,itemType:$o})],$a);class ki{constructor(e={}){this.version=hn.v0,this.digestAlgorithms=new $a,this.encapContentInfo=new Cc,this.signerInfos=new ha,Object.assign(this,e)}}h([m({type:b.Integer})],ki.prototype,"version",void 0);h([m({type:$a})],ki.prototype,"digestAlgorithms",void 0);h([m({type:Cc})],ki.prototype,"encapContentInfo",void 0);h([m({type:_a,context:0,implicit:!0,optional:!0})],ki.prototype,"certificates",void 0);h([m({type:va,context:1,implicit:!0,optional:!0})],ki.prototype,"crls",void 0);h([m({type:ha})],ki.prototype,"signerInfos",void 0);const So="1.2.840.10045.2.1",mp="1.2.840.10045.4.1",Uy="1.2.840.10045.4.3.1",_p="1.2.840.10045.4.3.2",yp="1.2.840.10045.4.3.3",wp="1.2.840.10045.4.3.4",vh="1.2.840.10045.3.1.7",$h="1.3.132.0.34",kh="1.3.132.0.35";function ns(t){return new U({algorithm:t})}const x4=ns(mp);ns(Uy);const S4=ns(_p),z4=ns(yp),A4=ns(wp);let zo=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],zo.prototype,"fieldType",void 0);h([m({type:b.Any})],zo.prototype,"parameters",void 0);zo=h([j({type:E.Sequence})],zo);class E4 extends ae{}let si=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.OctetString})],si.prototype,"a",void 0);h([m({type:b.OctetString})],si.prototype,"b",void 0);h([m({type:b.BitString,optional:!0})],si.prototype,"seed",void 0);si=h([j({type:E.Sequence})],si);var Od;(function(t){t[t.ecpVer1=1]="ecpVer1"})(Od||(Od={}));let gn=class{constructor(e={}){this.version=Od.ecpVer1,Object.assign(this,e)}};h([m({type:b.Integer})],gn.prototype,"version",void 0);h([m({type:zo})],gn.prototype,"fieldID",void 0);h([m({type:si})],gn.prototype,"curve",void 0);h([m({type:E4})],gn.prototype,"base",void 0);h([m({type:b.Integer,converter:me})],gn.prototype,"order",void 0);h([m({type:b.Integer,optional:!0})],gn.prototype,"cofactor",void 0);gn=h([j({type:E.Sequence})],gn);let Bn=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],Bn.prototype,"namedCurve",void 0);h([m({type:b.Null})],Bn.prototype,"implicitCurve",void 0);h([m({type:gn})],Bn.prototype,"specifiedCurve",void 0);Bn=h([j({type:E.Choice})],Bn);class Oc{constructor(e={}){this.version=1,this.privateKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Oc.prototype,"version",void 0);h([m({type:ae})],Oc.prototype,"privateKey",void 0);h([m({type:Bn,context:0,optional:!0})],Oc.prototype,"parameters",void 0);h([m({type:b.BitString,context:1,optional:!0})],Oc.prototype,"publicKey",void 0);class ka{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],ka.prototype,"r",void 0);h([m({type:b.Integer,converter:me})],ka.prototype,"s",void 0);const ot="1.2.840.113549.1.1",hr=`${ot}.1`,C4=`${ot}.7`,N4=`${ot}.9`,lo=`${ot}.10`,I4=`${ot}.2`,j4=`${ot}.4`,xa=`${ot}.5`,O4=`${ot}.14`,Pd=`${ot}.11`,Sa=`${ot}.12`,za=`${ot}.13`,Dy=`${ot}.15`,My=`${ot}.16`,Aa="1.3.14.3.2.26",qy="2.16.840.1.101.3.4.2.4",Ea="2.16.840.1.101.3.4.2.1",Ca="2.16.840.1.101.3.4.2.2",Na="2.16.840.1.101.3.4.2.3",P4="2.16.840.1.101.3.4.2.5",T4="2.16.840.1.101.3.4.2.6",R4="1.2.840.113549.2.2",B4="1.2.840.113549.2.5",Pc=`${ot}.8`;function Oe(t){return new U({algorithm:t,parameters:null})}Oe(R4);Oe(B4);const gr=Oe(Aa);Oe(qy);Oe(Ea);Oe(Ca);Oe(Na);Oe(P4);Oe(T4);const Fy=new U({algorithm:Pc,parameters:P.serialize(gr)}),Hy=new U({algorithm:N4,parameters:P.serialize(oa.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Oe(hr);Oe(I4);Oe(j4);Oe(xa);Oe(Dy);Oe(My);Oe(Sa);Oe(za);Oe(Dy);Oe(My);class Tc{constructor(e={}){this.hashAlgorithm=new U(gr),this.maskGenAlgorithm=new U({algorithm:Pc,parameters:P.serialize(gr)}),this.pSourceAlgorithm=new U(Hy),Object.assign(this,e)}}h([m({type:U,context:0,defaultValue:gr})],Tc.prototype,"hashAlgorithm",void 0);h([m({type:U,context:1,defaultValue:Fy})],Tc.prototype,"maskGenAlgorithm",void 0);h([m({type:U,context:2,defaultValue:Hy})],Tc.prototype,"pSourceAlgorithm",void 0);new U({algorithm:C4,parameters:P.serialize(new Tc)});class mr{constructor(e={}){this.hashAlgorithm=new U(gr),this.maskGenAlgorithm=new U({algorithm:Pc,parameters:P.serialize(gr)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}h([m({type:U,context:0,defaultValue:gr})],mr.prototype,"hashAlgorithm",void 0);h([m({type:U,context:1,defaultValue:Fy})],mr.prototype,"maskGenAlgorithm",void 0);h([m({type:b.Integer,context:2,defaultValue:20})],mr.prototype,"saltLength",void 0);h([m({type:b.Integer,context:3,defaultValue:1})],mr.prototype,"trailerField",void 0);new U({algorithm:lo,parameters:P.serialize(new mr)});class Rc{constructor(e={}){this.digestAlgorithm=new U,this.digest=new ae,Object.assign(this,e)}}h([m({type:U})],Rc.prototype,"digestAlgorithm",void 0);h([m({type:ae})],Rc.prototype,"digest",void 0);var Td;class Bc{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],Bc.prototype,"prime",void 0);h([m({type:b.Integer,converter:me})],Bc.prototype,"exponent",void 0);h([m({type:b.Integer,converter:me})],Bc.prototype,"coefficient",void 0);let Rd=Td=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Td.prototype)}};Rd=Td=h([j({type:E.Sequence,itemType:Bc})],Rd);class Yt{constructor(e={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer})],Yt.prototype,"version",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"modulus",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"publicExponent",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"privateExponent",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"prime1",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"prime2",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"exponent1",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"exponent2",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"coefficient",void 0);h([m({type:Rd,optional:!0})],Yt.prototype,"otherPrimeInfos",void 0);class bp{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],bp.prototype,"modulus",void 0);h([m({type:b.Integer,converter:me})],bp.prototype,"publicExponent",void 0);var Bd;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(Bd||(Bd={}));const tt=Bd;var Ld=function(t,e){return Ld=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])},Ld(t,e)};function vp(t,e){Ld(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function L4(t,e,n,r){function i(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function c(p){try{d(r.next(p))}catch(f){a(f)}}function l(p){try{d(r.throw(p))}catch(f){a(f)}}function d(p){p.done?s(p.value):i(p.value).then(c,l)}d((r=r.apply(t,[])).next())})}function U4(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(d){return function(p){return l([d,p])}}function l(d){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(s=d[0]&2?i.return:d[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,d[1])).done)return s;switch(i=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,i=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=e.call(t,n)}catch(p){d=[6,p],i=0}finally{r=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function gs(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ia(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){a={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Kn(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Ia(arguments[e]));return t}var D4="injectionTokens";function M4(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(D4,t)||{};return Object.keys(n).forEach(function(r){e[+r]=n[r]}),e}function Vy(t){return!!t.useClass}function Ud(t){return!!t.useFactory}var Ky=(function(){function t(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(e){var n=this,r={},i=!1,s,a=function(){return i||(s=e(n.wrap()),i=!0),s};return new Proxy(r,this.createHandler(a))},t.prototype.createHandler=function(e){var n={},r=function(i){n[i]=function(){for(var s=[],a=0;a<arguments.length;a++)s[a]=arguments[a];s[0]=e();var c=Reflect[i];return c.apply(void 0,Kn(s))}};return this.reflectMethods.forEach(r),n},t})();function Cr(t){return typeof t=="string"||typeof t=="symbol"}function q4(t){return typeof t=="object"&&"token"in t&&"multiple"in t}function xh(t){return typeof t=="object"&&"token"in t&&"transform"in t}function F4(t){return typeof t=="function"||t instanceof Ky}function Es(t){return!!t.useToken}function Cs(t){return t.useValue!=null}function H4(t){return Vy(t)||Cs(t)||Es(t)||Ud(t)}var $p=(function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},t.prototype.get=function(e){this.ensure(e);var n=this._registryMap.get(e);return n[n.length-1]||null},t.prototype.set=function(e,n){this.ensure(e),this._registryMap.get(e).push(n)},t.prototype.setAll=function(e,n){this._registryMap.set(e,n)},t.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},t})(),V4=(function(t){vp(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e})($p),ms=(function(){function t(){this.scopedResolutions=new Map}return t})();function K4(t,e){if(t===null)return"at position #"+e;var n=t.split(",")[e].trim();return'"'+n+'" at position #'+e}function G4(t,e,n){return n===void 0&&(n=" "),Kn([t],e.message.split(`
71
+ `)}`:`${n} :`}}O_=Qe;D.Constructed=O_;Qe.NAME="CONSTRUCTED";class P_ extends et{fromBER(e,n,r){return n}toBER(e){return Jt}}P_.override="EndOfContentValueBlock";var T_;class qu extends Me{constructor(e={}){super(e,P_),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}T_=qu;D.EndOfContent=T_;qu.NAME=bo;var R_;class cr extends Me{constructor(e={}){super(e,et),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(e,n,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,n+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):n+r}toBER(e,n){const r=new ArrayBuffer(2);if(!e){const i=new Uint8Array(r);i[0]=5,i[1]=0}return n&&n.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}R_=cr;D.Null=R_;cr.NAME="NULL";class B_ extends Xt(et){get value(){for(const e of this.valueHexView)if(e>0)return!0;return!1}set value(e){this.valueHexView[0]=e?255:0}constructor({value:e,...n}={}){super(n),n.valueHex?this.valueHexView=T.toUint8Array(n.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e)}fromBER(e,n,r){const i=T.toUint8Array(e);return wn(this,i,n,r)?(this.valueHexView=i.subarray(n,n+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,S_.call(this),this.blockLength=r,n+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}B_.NAME="BooleanValueBlock";var L_;let rc=class extends Me{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}constructor(e={}){super(e,B_),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};L_=rc;D.Boolean=L_;rc.NAME="BOOLEAN";class U_ extends Xt(jn){constructor({isConstructed:e=!1,...n}={}){super(n),this.isConstructed=e}fromBER(e,n,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=jn.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(let s=0;s<this.value.length;s++){const a=this.value[s].constructor.NAME;if(a===bo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==z_)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(e,n,r),this.blockLength=r;return i}toBER(e,n){return this.isConstructed?jn.prototype.toBER.call(this,e,n):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}U_.NAME="OctetStringValueBlock";var Fu;let tr=class extends Me{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},U_),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(e,n,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),n;if(!this.valueBlock.isConstructed){const s=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(n,n+r);try{if(s.byteLength){const a=gi(s,0,s.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result])}}catch{}}return super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Qe.prototype.onAsciiEncoding.call(this);const e=this.constructor.NAME,n=q.ToHex(this.valueBlock.valueHexView);return`${e} : ${n}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const e=[];for(const n of this.valueBlock.value)n instanceof Fu&&e.push(n.valueBlock.valueHexView);return T.concat(e)}};Fu=tr;D.OctetString=Fu;tr.NAME=z_;class D_ extends Xt(jn){constructor({unusedBits:e=0,isConstructed:n=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=n,this.blockLength=this.valueHexView.byteLength}fromBER(e,n,r){if(!r)return n;let i=-1;if(this.isConstructed){if(i=jn.prototype.fromBER.call(this,e,n,r),i===-1)return i;for(const c of this.value){const l=c.constructor.NAME;if(l===bo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(l!==A_)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const d=c.valueBlock;if(this.unusedBits>0&&d.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=d.unusedBits}return i}const s=T.toUint8Array(e);if(!wn(this,s,n,r))return-1;const a=s.subarray(n,n+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const c=a.subarray(1);try{if(c.byteLength){const l=gi(c,0,c.byteLength);l.offset!==-1&&l.offset===r-1&&(this.value=[l.result])}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,n+r}toBER(e,n){if(this.isConstructed)return jn.prototype.toBER.call(this,e,n);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){const i=new Uint8Array(1);return i[0]=0,i.buffer}const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}D_.NAME="BitStringValueBlock";var M_;let nr=class extends Me{constructor({idBlock:e={},lenBlock:n={},...r}={}){var i,s;(i=r.isConstructed)!==null&&i!==void 0||(r.isConstructed=!!(!((s=r.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...n,isIndefiniteForm:!!r.isIndefiniteForm},...r},D_),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(e,n,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,n,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Qe.prototype.onAsciiEncoding.call(this);{const e=[],n=this.valueBlock.valueHexView;for(const a of n)e.push(a.toString(2).padStart(8,"0"));const r=e.join(""),i=this.constructor.NAME,s=r.substring(0,r.length-this.valueBlock.unusedBits);return`${i} : ${s}`}}};M_=nr;D.BitString=M_;nr.NAME=A_;var q_;function M3(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let s=r.slice(0);const a=s.length-1,c=i.slice(0),l=c.length-1;let d=0;const p=l<a?a:l;let f=0;for(let g=p;g>=0;g--,f++){switch(!0){case f<c.length:d=s[a-f]+c[l-f]+n[0];break;default:d=s[a-f]+n[0]}switch(n[0]=d/10,!0){case f>=s.length:s=Fl(new Uint8Array([d%10]),s);break;default:s[a-f]=d%10}}return n[0]>0&&(s=Fl(n,s)),s}function ih(t){if(t>=Ci.length)for(let e=Ci.length;e<=t;e++){const n=new Uint8Array([0]);let r=Ci[e-1].slice(0);for(let i=r.length-1;i>=0;i--){const s=new Uint8Array([(r[i]<<1)+n[0]]);n[0]=s[0]/10,r[i]=s[0]%10}n[0]>0&&(r=Fl(n,r)),Ci.push(r)}return Ci[t]}function q3(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),s=r.slice(0),a=s.length-1,c=i.slice(0),l=c.length-1;let d,p=0;for(let f=l;f>=0;f--,p++)switch(d=s[a-p]-c[l-p]-n,!0){case d<0:n=1,s[a-p]=d+10;break;default:n=0,s[a-p]=d}if(n>0)for(let f=a-l+1;f>=0;f--,p++)if(d=s[a-p]-n,d<0)n=1,s[a-p]=d+10;else{n=0,s[a-p]=d;break}return s.slice()}class Hu extends Xt(et){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=S_.call(this)))}constructor({value:e,...n}={}){super(n),this._valueDec=0,n.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e)}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(C3(e))}get valueDec(){return this._valueDec}fromDER(e,n,r,i=0){const s=this.fromBER(e,n,r);if(s===-1)return s;const a=this.valueHexView;return a[0]===0&&(a[1]&128)!==0?this.valueHexView=a.subarray(1):i!==0&&a.length<i&&(i-a.length>1&&(i=a.length+1),this.valueHexView=a.subarray(i-a.length)),s}toDER(e=!1){const n=this.valueHexView;switch(!0){case(n[0]&128)!==0:{const r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(n,1),this.valueHexView=r}break;case(n[0]===0&&(n[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,n,r){const i=super.fromBER(e,n,r);return i===-1||this.setValueHex(),i}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const e=this.valueHexView.length*8-1;let n=new Uint8Array(this.valueHexView.length*8/3),r=0,i;const s=this.valueHexView;let a="",c=!1;for(let l=s.byteLength-1;l>=0;l--){i=s[l];for(let d=0;d<8;d++){if((i&1)===1)switch(r){case e:n=q3(ih(r),n),a="-";break;default:n=M3(n,ih(r))}r++,i>>=1}}for(let l=0;l<n.length;l++)n[l]&&(c=!0),c&&(a+=nh.charAt(n[l]));return c===!1&&(a+=nh.charAt(0)),a}}q_=Hu;Hu.NAME="IntegerValueBlock";Object.defineProperty(q_.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var oo;class mi extends Me{constructor(e={}){super(e,Hu),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return ra(),BigInt(this.valueBlock.toString())}static fromBigInt(e){ra();const n=BigInt(e),r=new tc,i=n.toString(16).replace(/^-/,""),s=new Uint8Array(q.FromHex(i));if(n<0){const c=new Uint8Array(s.length+(s[0]&128?1:0));c[0]|=128;const d=BigInt(`0x${q.ToHex(c)}`)+n,p=T.toUint8Array(q.FromHex(d.toString(16)));p[0]|=128,r.write(p)}else s[0]&128&&r.write(new Uint8Array([0])),r.write(s);return new oo({valueHex:r.final()})}convertToDER(){const e=new oo({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new oo({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}oo=mi;D.Integer=oo;mi.NAME="INTEGER";var F_;class ic extends mi{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}F_=ic;D.Enumerated=F_;ic.NAME="ENUMERATED";class Hl extends Xt(et){constructor({valueDec:e=-1,isFirstSid:n=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=n}fromBER(e,n,r){if(!r)return n;const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,(s[c]&128)!==0);c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,(s[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}set valueBigInt(e){ra();let n=BigInt(e).toString(2);for(;n.length%7;)n="0"+n;const r=new Uint8Array(n.length/7);for(let i=0;i<r.length;i++)r[i]=parseInt(n.slice(i*7,i*7+7),2)+(i+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=ar(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",Jt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r}toString(){let e="";if(this.isHexOnly)e=q.ToHex(this.valueHexView);else if(this.isFirstSid){let n=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",n-=40):(e="2.",n-=80),e+=n.toString()}else e=this.valueDec.toString();return e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}Hl.NAME="sidBlock";class H_ extends et{constructor({value:e=nt,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Hl;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e){const n=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(e);if(i.byteLength===0)return this.error=this.value[r].error,Jt;n.push(i)}return Du(n)}fromString(e){this.value=[];let n=0,r=0,i="",s=!1;do if(r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1,s){const a=this.value[0];let c=0;switch(a.valueDec){case 0:break;case 1:c=40;break;case 2:c=80;break;default:this.value=[];return}const l=parseInt(i,10);if(isNaN(l))return;a.valueDec=l+c,s=!1}else{const a=new Hl;if(i>Number.MAX_SAFE_INTEGER){ra();const c=BigInt(i);a.valueBigInt=c}else if(a.valueDec=parseInt(i,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,s=!0),this.value.push(a)}while(r!==-1)}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n?(i=`{${i}}`,this.value[r].isFirstSid?e=`2.{${i} - 80}`:e+=i):e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}H_.NAME="ObjectIdentifierValueBlock";var V_;class oc extends Me{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,H_),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}V_=oc;D.ObjectIdentifier=V_;oc.NAME="OBJECT IDENTIFIER";class Vl extends Xt(kr){constructor({valueDec:e=0,...n}={}){super(n),this.valueDec=e}fromBER(e,n,r){if(r===0)return n;const i=T.toUint8Array(e);if(!wn(this,i,n,r))return-1;const s=i.subarray(n,n+r);this.valueHexView=new Uint8Array(r);for(let c=0;c<r&&(this.valueHexView[c]=s[c]&127,this.blockLength++,(s[c]&128)!==0);c++);const a=new Uint8Array(this.blockLength);for(let c=0;c<this.blockLength;c++)a[c]=this.valueHexView[c];return this.valueHexView=a,(s[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Zr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),n+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);const i=this.valueHexView,s=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)s[a]=i[a]|128;return s[this.blockLength-1]=i[this.blockLength-1],s.buffer}const n=ar(this.valueDec,7);if(n.byteLength===0)return this.error="Error during encoding SID value",Jt;const r=new Uint8Array(n.byteLength);if(!e){const i=new Uint8Array(n),s=n.byteLength-1;for(let a=0;a<s;a++)r[a]=i[a]|128;r[s]=i[s]}return r.buffer}toString(){let e="";return this.isHexOnly?e=q.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Vl.NAME="relativeSidBlock";class K_ extends et{constructor({value:e=nt,...n}={}){super(n),this.value=[],e&&this.fromString(e)}fromBER(e,n,r){let i=n;for(;r>0;){const s=new Vl;if(i=s.fromBER(e,i,r),i===-1)return this.blockLength=0,this.error=s.error,i;this.blockLength+=s.blockLength,r-=s.blockLength,this.value.push(s)}return i}toBER(e,n){const r=[];for(let i=0;i<this.value.length;i++){const s=this.value[i].toBER(e);if(s.byteLength===0)return this.error=this.value[i].error,Jt;r.push(s)}return Du(r)}fromString(e){this.value=[];let n=0,r=0,i="";do{r=e.indexOf(".",n),r===-1?i=e.substring(n):i=e.substring(n,r),n=r+1;const s=new Vl;if(s.valueDec=parseInt(i,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(r!==-1);return!0}toString(){let e="",n=!1;for(let r=0;r<this.value.length;r++){n=this.value[r].isHexOnly;let i=this.value[r].toString();r!==0&&(e=`${e}.`),n&&(i=`{${i}}`),e+=i}return e}toJSON(){const e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let n=0;n<this.value.length;n++)e.sidArray.push(this.value[n].toJSON());return e}}K_.NAME="RelativeObjectIdentifierValueBlock";var G_;class Vu extends Me{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e)}constructor(e={}){super(e,K_),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}G_=Vu;D.RelativeObjectIdentifier=G_;Vu.NAME="RelativeObjectIdentifier";var W_;class Nt extends Qe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}W_=Nt;D.Sequence=W_;Nt.NAME="SEQUENCE";var J_;let Vt=class extends Qe{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};J_=Vt;D.Set=J_;Vt.NAME="SET";class X_ extends Xt(et){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=nt}toJSON(){return{...super.toJSON(),value:this.value}}}X_.NAME="StringValueBlock";class Z_ extends X_{}Z_.NAME="SimpleStringValueBlock";class dt extends Mu{constructor({...e}={}){super(e,Z_)}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,T.toUint8Array(e))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n);for(let i=0;i<n;i++)r[i]=e.charCodeAt(i);this.valueBlock.value=e}}dt.NAME="SIMPLE STRING";class Y_ extends dt{fromBuffer(e){this.valueBlock.valueHexView=T.toUint8Array(e);try{this.valueBlock.value=q.ToUtf8String(e)}catch(n){this.warnings.push(`Error during "decodeURIComponent": ${n}, using raw string`),this.valueBlock.value=q.ToBinary(e)}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(q.FromUtf8String(e)),this.valueBlock.value=e}}Y_.NAME="Utf8StringValueBlock";var Q_;class bn extends Y_{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Q_=bn;D.Utf8String=Q_;bn.NAME="UTF8String";class ey extends dt{fromBuffer(e){this.valueBlock.value=q.ToUtf16String(e),this.valueBlock.valueHexView=T.toUint8Array(e)}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(q.FromUtf16String(e))}}ey.NAME="BmpStringValueBlock";var ty;class sc extends ey{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}ty=sc;D.BmpString=ty;sc.NAME="BMPString";class ny extends dt{fromBuffer(e){const n=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(n);for(let i=0;i<r.length;i+=4)r[i]=r[i+3],r[i+1]=r[i+2],r[i+2]=0,r[i+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(n))}fromString(e){const n=e.length,r=this.valueBlock.valueHexView=new Uint8Array(n*4);for(let i=0;i<n;i++){const s=ar(e.charCodeAt(i),8),a=new Uint8Array(s);if(a.length>4)continue;const c=4-a.length;for(let l=a.length-1;l>=0;l--)r[i*4+l+c]=a[l]}this.valueBlock.value=e}}ny.NAME="UniversalStringValueBlock";var ry;class ac extends ny{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}ry=ac;D.UniversalString=ry;ac.NAME="UniversalString";var iy;class cc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}iy=cc;D.NumericString=iy;cc.NAME="NumericString";var oy;class lc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}oy=lc;D.PrintableString=oy;lc.NAME="PrintableString";var sy;class dc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}sy=dc;D.TeletexString=sy;dc.NAME="TeletexString";var ay;class uc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}ay=uc;D.VideotexString=ay;uc.NAME="VideotexString";var cy;class pc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}cy=pc;D.IA5String=cy;pc.NAME="IA5String";var ly;class fc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}ly=fc;D.GraphicString=ly;fc.NAME="GraphicString";var dy;class Vo extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}dy=Vo;D.VisibleString=dy;Vo.NAME="VisibleString";var uy;class hc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}uy=hc;D.GeneralString=uy;hc.NAME="GeneralString";var py;class gc extends dt{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}py=gc;D.CharacterString=py;gc.NAME="CharacterString";var fy;class Ko extends Vo{constructor({value:e,valueDate:n,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let i=0;i<e.length;i++)this.valueBlock.valueHexView[i]=e.charCodeAt(i)}n&&(this.fromDate(n),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,T.toUint8Array(e)))}toBuffer(){const e=this.toString(),n=new ArrayBuffer(e.length),r=new Uint8Array(n);for(let i=0;i<e.length;i++)r[i]=e.charCodeAt(i);return n}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){const r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}const i=parseInt(r[1],10);i>=50?this.year=1900+i:this.year=2e3+i,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10)}toString(e="iso"){if(e==="iso"){const n=new Array(7);return n[0]=at(this.year<2e3?this.year-1900:this.year-2e3,2),n[1]=at(this.month,2),n[2]=at(this.day,2),n[3]=at(this.hour,2),n[4]=at(this.minute,2),n[5]=at(this.second,2),n[6]="Z",n.join("")}return super.toString(e)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}fy=Ko;D.UTCTime=fy;Ko.NAME="UTCTime";var hy;class mc extends Ko{constructor(e={}){var n;super(e),(n=this.millisecond)!==null&&n!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds()}toDate(){const e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let n=!1,r="",i="",s=0,a,c=0,l=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),n=!0;else{const f=new Number(e[e.length-1]);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");r=e}if(n){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let f=1,g=r.indexOf("+"),_="";if(g===-1&&(g=r.indexOf("-"),f=-1),g!==-1){if(_=r.substring(g+1),r=r.substring(0,g),_.length!==2&&_.length!==4)throw new Error("Wrong input string for conversion");let w=parseInt(_.substring(0,2),10);if(isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");if(c=f*w,_.length===4){if(w=parseInt(_.substring(2,4),10),isNaN(w.valueOf()))throw new Error("Wrong input string for conversion");l=f*w}}}let d=r.indexOf(".");if(d===-1&&(d=r.indexOf(",")),d!==-1){const f=new Number(`0${r.substring(d)}`);if(isNaN(f.valueOf()))throw new Error("Wrong input string for conversion");s=f.valueOf(),i=r.substring(0,d)}else i=r;switch(!0){case i.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,d!==-1)throw new Error("Wrong input string for conversion");break;case i.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.minute=Math.floor(f),f=60*(f-this.minute),this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){let f=60*s;this.second=Math.floor(f),f=1e3*(f-this.second),this.millisecond=Math.floor(f)}break;case i.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,d!==-1){const f=1e3*s;this.millisecond=Math.floor(f)}break;default:throw new Error("Wrong input string for conversion")}const p=a.exec(i);if(p===null)throw new Error("Wrong input string for conversion");for(let f=1;f<p.length;f++)switch(f){case 1:this.year=parseInt(p[f],10);break;case 2:this.month=parseInt(p[f],10);break;case 3:this.day=parseInt(p[f],10);break;case 4:this.hour=parseInt(p[f],10)+c;break;case 5:this.minute=parseInt(p[f],10)+l;break;case 6:this.second=parseInt(p[f],10);break;default:throw new Error("Wrong input string for conversion")}if(n===!1){const f=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=f.getUTCFullYear(),this.month=f.getUTCMonth(),this.day=f.getUTCDay(),this.hour=f.getUTCHours(),this.minute=f.getUTCMinutes(),this.second=f.getUTCSeconds(),this.millisecond=f.getUTCMilliseconds()}}toString(e="iso"){if(e==="iso"){const n=[];return n.push(at(this.year,4)),n.push(at(this.month,2)),n.push(at(this.day,2)),n.push(at(this.hour,2)),n.push(at(this.minute,2)),n.push(at(this.second,2)),this.millisecond!==0&&(n.push("."),n.push(at(this.millisecond,3))),n.push("Z"),n.join("")}return super.toString(e)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}hy=mc;D.GeneralizedTime=hy;mc.NAME="GeneralizedTime";var gy;class Ku extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}gy=Ku;D.DATE=gy;Ku.NAME="DATE";var my;class Gu extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}my=Gu;D.TimeOfDay=my;Gu.NAME="TimeOfDay";var _y;class Wu extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}_y=Wu;D.DateTime=_y;Wu.NAME="DateTime";var yy;class Ju extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}yy=Ju;D.Duration=yy;Ju.NAME="Duration";var wy;class Xu extends bn{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}wy=Xu;D.TIME=wy;Xu.NAME="TIME";class lr{constructor({name:e=nt,optional:n=!1}={}){this.name=e,this.optional=n}}class Zu extends lr{constructor({value:e=[],...n}={}){super(n),this.value=e}}class ia extends lr{constructor({value:e=new lr,local:n=!1,...r}={}){super(r),this.value=e,this.local=n}}class F3{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=T.toUint8Array(e)}constructor({data:e=nc}={}){this.dataView=T.toUint8Array(e)}fromBER(e,n,r){const i=n+r;return this.dataView=T.toUint8Array(e).subarray(n,i),i}toBER(e){return this.dataView.slice().buffer}}function En(t,e,n){if(n instanceof Zu){for(const s of n.value)if(En(t,e,s).verified)return{verified:!0,result:t};{const s={verified:!1,result:{error:"Wrong values for Choice type"}};return n.hasOwnProperty(cl)&&(s.name=n.name),s}}if(n instanceof lr)return n.hasOwnProperty(cl)&&(t[n.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return{verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(n instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(j3 in n))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(R3 in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(B3 in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.toBER(!1);if(r.byteLength===0)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(n.idBlock.fromBER(r,0,r.byteLength)===-1)return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(n.idBlock.hasOwnProperty(O3)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(P3)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(n.idBlock.hasOwnProperty(T3)===!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(I3 in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(n.idBlock.isHexOnly){if(!(rh in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const s=n.idBlock.valueHexView,a=e.idBlock.valueHexView;if(s.length!==a.length)return{verified:!1,result:t};for(let c=0;c<s.length;c++)if(s[c]!==a[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(t[n.name]=e)),n instanceof D.Constructed){let s=0,a={verified:!1,result:{error:"Unknown error"}},c=n.valueBlock.value.length;if(c>0&&n.valueBlock.value[0]instanceof ia&&(c=e.valueBlock.value.length),c===0)return{verified:!0,result:t};if(e.valueBlock.value.length===0&&n.valueBlock.value.length!==0){let l=!0;for(let d=0;d<n.valueBlock.value.length;d++)l=l&&(n.valueBlock.value[d].optional||!1);return l?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&delete t[n.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let l=0;l<c;l++)if(l-s>=e.valueBlock.value.length){if(n.valueBlock.value[l].optional===!1){const d={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(delete t[n.name],d.name=n.name)),d}}else if(n.valueBlock.value[0]instanceof ia){if(a=En(t,e.valueBlock.value[l],n.valueBlock.value[0].value),a.verified===!1)if(n.valueBlock.value[0].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&delete t[n.name]),a;if(cl in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let d={};L3 in n.valueBlock.value[0]&&n.valueBlock.value[0].local?d=e:d=t,typeof d[n.valueBlock.value[0].name]>"u"&&(d[n.valueBlock.value[0].name]=[]),d[n.valueBlock.value[0].name].push(e.valueBlock.value[l])}}else if(a=En(t,e.valueBlock.value[l-s],n.valueBlock.value[l]),a.verified===!1)if(n.valueBlock.value[l].optional)s++;else return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&delete t[n.name]),a;if(a.verified===!1){const l={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(delete t[n.name],l.name=n.name)),l}return{verified:!0,result:t}}if(n.primitiveSchema&&rh in e.valueBlock){const s=gi(e.valueBlock.valueHexView);if(s.offset===-1){const a={verified:!1,result:s.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,nt),n.name&&(delete t[n.name],a.name=n.name)),a}return En(t,s.result,n.primitiveSchema)}return{verified:!0,result:t}}function H3(t,e){if(!(e instanceof Object))return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=gi(T.toUint8Array(t));return n.offset===-1?{verified:!1,result:n.result}:En(n.result,n.result,e)}const by=Object.freeze(Object.defineProperty({__proto__:null,Any:lr,BaseBlock:Me,BaseStringBlock:Mu,BitString:nr,BmpString:sc,Boolean:rc,CharacterString:gc,Choice:Zu,Constructed:Qe,DATE:Ku,DateTime:Wu,Duration:Ju,EndOfContent:qu,Enumerated:ic,GeneralString:hc,GeneralizedTime:mc,GraphicString:fc,HexBlock:Xt,IA5String:pc,Integer:mi,Null:cr,NumericString:cc,ObjectIdentifier:oc,OctetString:tr,Primitive:Ho,PrintableString:lc,RawData:F3,RelativeObjectIdentifier:Vu,Repeated:ia,Sequence:Nt,Set:Vt,TIME:Xu,TeletexString:dc,TimeOfDay:Gu,UTCTime:Ko,UniversalString:ac,Utf8String:bn,ValueBlock:et,VideotexString:uc,ViewWriter:tc,VisibleString:Vo,compareSchema:En,fromBER:Hr,verifySchema:H3},Symbol.toStringTag,{value:"Module"}));var C;(function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"})(C||(C={}));var b;(function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"})(b||(b={}));class _c{constructor(e,n=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),e)if(typeof e=="number")this.fromNumber(e);else if(T.isBufferSource(e))this.unusedBits=n,this.value=T.toArrayBuffer(e);else throw TypeError("Unsupported type of 'params' argument for BitString")}fromASN(e){if(!(e instanceof nr))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=e.valueBlock.unusedBits,this.value=e.valueBlock.valueHex,this}toASN(){return new nr({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(e){return new nr({name:e})}toNumber(){let e="";const n=new Uint8Array(this.value);for(const r of n)e+=r.toString(2).padStart(8,"0");return e=e.split("").reverse().join(""),this.unusedBits&&(e=e.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(e,2)}fromNumber(e){let n=e.toString(2);const r=n.length+7>>3;this.unusedBits=(r<<3)-n.length;const i=new Uint8Array(r);n=n.padStart(r<<3,"0").split("").reverse().join("");let s=0;for(;s<r;)i[s]=parseInt(n.slice(s<<3,(s<<3)+8),2),s++;this.value=i.buffer}}class ae{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(e){typeof e=="number"?this.buffer=new ArrayBuffer(e):T.isBufferSource(e)?this.buffer=T.toArrayBuffer(e):Array.isArray(e)?this.buffer=new Uint8Array(e):this.buffer=new ArrayBuffer(0)}fromASN(e){if(!(e instanceof tr))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=e.valueBlock.valueHex,this}toASN(){return new tr({valueHex:this.buffer})}toSchema(e){return new tr({name:e})}}const V3={fromASN:t=>t instanceof cr?null:t.valueBeforeDecodeView,toASN:t=>{if(t===null)return new cr;const e=Hr(t);if(e.result.error)throw new Error(e.result.error);return e.result}},K3={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new mi({value:+t})},G3={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new ic({value:t})},me={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new mi({valueHex:t})},W3={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new nr({valueHex:t})},J3={fromASN:t=>t.valueBlock.toString(),toASN:t=>new oc({value:t})},X3={fromASN:t=>t.valueBlock.value,toASN:t=>new rc({value:t})},oa={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new tr({valueHex:t})},Z3={fromASN:t=>new ae(t.getValue()),toASN:t=>t.toASN()};function bt(t){return{fromASN:e=>e.valueBlock.value,toASN:e=>new t({value:e})}}const vy=bt(bn),Y3=bt(sc),Q3=bt(ac),e4=bt(cc),t4=bt(lc),n4=bt(dc),r4=bt(uc),i4=bt(pc),o4=bt(fc),s4=bt(Vo),a4=bt(hc),c4=bt(gc),l4={fromASN:t=>t.toDate(),toASN:t=>new Ko({valueDate:t})},d4={fromASN:t=>t.toDate(),toASN:t=>new mc({valueDate:t})},u4={fromASN:()=>null,toASN:()=>new cr};function so(t){switch(t){case b.Any:return V3;case b.BitString:return W3;case b.BmpString:return Y3;case b.Boolean:return X3;case b.CharacterString:return c4;case b.Enumerated:return G3;case b.GeneralString:return a4;case b.GeneralizedTime:return d4;case b.GraphicString:return o4;case b.IA5String:return i4;case b.Integer:return K3;case b.Null:return u4;case b.NumericString:return e4;case b.ObjectIdentifier:return J3;case b.OctetString:return oa;case b.PrintableString:return t4;case b.TeletexString:return n4;case b.UTCTime:return l4;case b.UniversalString:return Q3;case b.Utf8String:return vy;case b.VideotexString:return r4;case b.VisibleString:return s4;default:return null}}function dn(t){return typeof t=="function"&&t.prototype?t.prototype.toASN&&t.prototype.fromASN?!0:dn(t.prototype):!!(t&&typeof t=="object"&&"toASN"in t&&"fromASN"in t)}function $y(t){var e;if(t){const n=Object.getPrototypeOf(t);return((e=n?.prototype)===null||e===void 0?void 0:e.constructor)===Array?!0:$y(n)}return!1}function p4(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let i=0;i<t.byteLength;i++)if(n[i]!==r[i])return!1;return!0}class f4{constructor(){this.items=new WeakMap}has(e){return this.items.has(e)}get(e,n=!1){const r=this.items.get(e);if(!r)throw new Error(`Cannot get schema for '${e.prototype.constructor.name}' target`);if(n&&!r.schema)throw new Error(`Schema '${e.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(e){const n=this.get(e);n.schema||(n.schema=this.create(e,!0))}createDefault(e){const n={type:C.Sequence,items:{}},r=this.findParentSchema(e);return r&&(Object.assign(n,r),n.items=Object.assign({},n.items,r.items)),n}create(e,n){const r=this.items.get(e)||this.createDefault(e),i=[];for(const s in r.items){const a=r.items[s],c=n?s:"";let l;if(typeof a.type=="number"){const p=b[a.type],f=by[p];if(!f)throw new Error(`Cannot get ASN1 class by name '${p}'`);l=new f({name:c})}else dn(a.type)?l=new a.type().toSchema(c):a.optional?this.get(a.type).type===C.Choice?l=new lr({name:c}):(l=this.create(a.type,!1),l.name=c):l=new lr({name:c});const d=!!a.optional||a.defaultValue!==void 0;if(a.repeated){l.name="";const p=a.repeated==="set"?Vt:Nt;l=new p({name:"",value:[new ia({name:c,value:l})]})}if(a.context!==null&&a.context!==void 0)if(a.implicit)if(typeof a.type=="number"||dn(a.type)){const p=a.repeated?Qe:Ho;i.push(new p({name:c,optional:d,idBlock:{tagClass:3,tagNumber:a.context}}))}else{this.cache(a.type);const p=!!a.repeated;let f=p?l:this.get(a.type,!0).schema;f="valueBlock"in f?f.valueBlock.value:f.value,i.push(new Qe({name:p?"":c,optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:f}))}else i.push(new Qe({optional:d,idBlock:{tagClass:3,tagNumber:a.context},value:[l]}));else l.optional=d,i.push(l)}switch(r.type){case C.Sequence:return new Nt({value:i,name:""});case C.Set:return new Vt({value:i,name:""});case C.Choice:return new Zu({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(e,n){return this.items.set(e,n),this}findParentSchema(e){const n=Object.getPrototypeOf(e);return n?this.items.get(n)||this.findParentSchema(n):null}}const Le=new f4,j=t=>e=>{let n;Le.has(e)?n=Le.get(e):(n=Le.createDefault(e),Le.set(e,n)),Object.assign(n,t)},m=t=>(e,n)=>{let r;Le.has(e.constructor)?r=Le.get(e.constructor):(r=Le.createDefault(e.constructor),Le.set(e.constructor,r));const i=Object.assign({},t);if(typeof i.type=="number"&&!i.converter){const s=so(t.type);if(!s)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);i.converter=s}i.raw=t.raw,r.items[n]=i};class Ni extends Error{constructor(){super(...arguments),this.schemas=[]}}class h4{static parse(e,n){const r=Hr(e);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,n)}static fromASN(e,n){try{if(dn(n))return new n().fromASN(e);const r=Le.get(n);Le.cache(n);let i=r.schema;const s=this.handleChoiceTypes(e,r,n,i);if(s?.result)return s.result;s?.targetSchema&&(i=s.targetSchema);const a=this.handleSequenceTypes(e,r,n,i),c=new n;return $y(n)?this.handleArrayTypes(e,r,n):(this.processSchemaItems(r,a,c),c)}catch(r){throw r instanceof Ni&&r.schemas.push(n.name),r}}static handleChoiceTypes(e,n,r,i){if(e.constructor===Qe&&n.type===C.Choice&&e.idBlock.tagClass===3)for(const s in n.items){const a=n.items[s];if(a.context===e.idBlock.tagNumber&&a.implicit&&typeof a.type=="function"&&Le.has(a.type)){const c=Le.get(a.type);if(c&&c.type===C.Sequence){const l=new Nt;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in l.valueBlock){l.valueBlock.value=e.valueBlock.value;const d=this.fromASN(l,a.type),p=new r;return p[s]=d,{result:p}}}}}else if(e.constructor===Qe&&n.type!==C.Choice){const s=new Qe({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:n.schema.valueBlock.value});for(const a in n.items)delete e[a];return{targetSchema:s}}return null}static handleSequenceTypes(e,n,r,i){if(n.type===C.Sequence){const s=En({},e,i);if(!s.verified)throw new Ni(`Data does not match to ${r.name} ASN1 schema.${s.result.error?` ${s.result.error}`:""}`);return s}else{const s=En({},e,i);if(!s.verified)throw new Ni(`Data does not match to ${r.name} ASN1 schema.${s.result.error?` ${s.result.error}`:""}`);return s}}static processRepeatedField(e,n,r){let i=e.slice(n);if(i.length===1&&i[0].constructor.name==="Sequence"){const s=i[0];s.valueBlock&&s.valueBlock.value&&Array.isArray(s.valueBlock.value)&&(i=s.valueBlock.value)}if(typeof r.type=="number"){const s=so(r.type);if(!s)throw new Error(`No converter for ASN.1 type ${r.type}`);return i.filter(a=>a&&a.valueBlock).map(a=>{try{return s.fromASN(a)}catch{return}}).filter(a=>a!==void 0)}else return i.filter(s=>s&&s.valueBlock).map(s=>{try{return this.fromASN(s,r.type)}catch{return}}).filter(s=>s!==void 0)}static processPrimitiveField(e,n){const r=so(n.type);if(!r)throw new Error(`No converter for ASN.1 type ${n.type}`);return r.fromASN(e)}static isOptionalChoiceField(e){return e.optional&&typeof e.type=="function"&&Le.has(e.type)&&Le.get(e.type).type===C.Choice}static processOptionalChoiceField(e,n){try{return{processed:!0,value:this.fromASN(e,n.type)}}catch(r){if(r instanceof Ni&&/Wrong values for Choice type/.test(r.message))return{processed:!1};throw r}}static handleArrayTypes(e,n,r){if(!("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const i=n.itemType;if(typeof i=="number"){const s=so(i);if(!s)throw new Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);return r.from(e.valueBlock.value,a=>s.fromASN(a))}else return r.from(e.valueBlock.value,s=>this.fromASN(s,i))}static processSchemaItems(e,n,r){for(const i in e.items){const s=n.result[i];if(!s)continue;const a=e.items[i],c=a.type;let l;typeof c=="number"||dn(c)?l=this.processPrimitiveSchemaItem(s,a,c):l=this.processComplexSchemaItem(s,a,c),l&&typeof l=="object"&&"value"in l&&"raw"in l?(r[i]=l.value,r[`${i}Raw`]=l.raw):r[i]=l}}static processPrimitiveSchemaItem(e,n,r){var i;const s=(i=n.converter)!==null&&i!==void 0?i:dn(r)?new r:null;if(!s)throw new Error("Converter is empty");return n.repeated?this.processRepeatedPrimitiveItem(e,n,s):this.processSinglePrimitiveItem(e,n,r,s)}static processRepeatedPrimitiveItem(e,n,r){if(n.implicit){const i=n.repeated==="sequence"?Nt:Vt,s=new i;s.valueBlock=e.valueBlock;const a=Hr(s.toBER(!1));if(a.offset===-1)throw new Error(`Cannot parse the child item. ${a.result.error}`);if(!("value"in a.result.valueBlock&&Array.isArray(a.result.valueBlock.value)))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const c=a.result.valueBlock.value;return Array.from(c,l=>r.fromASN(l))}else return Array.from(e,i=>r.fromASN(i))}static processSinglePrimitiveItem(e,n,r,i){let s=e;if(n.implicit){let a;if(dn(r))a=new r().toSchema("");else{const c=b[r],l=by[c];if(!l)throw new Error(`Cannot get '${c}' class from asn1js module`);a=new l}a.valueBlock=s.valueBlock,s=Hr(a.toBER(!1)).result}return i.fromASN(s)}static processComplexSchemaItem(e,n,r){if(n.repeated){if(!Array.isArray(e))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");return Array.from(e,i=>this.fromASN(i,r))}else{const i=this.handleImplicitTagging(e,n,r);if(this.isOptionalChoiceField(n))try{return this.fromASN(i,r)}catch(s){if(s instanceof Ni&&/Wrong values for Choice type/.test(s.message))return;throw s}else{const s=this.fromASN(i,r);return n.raw?{value:s,raw:e.valueBeforeDecodeView}:s}}}static handleImplicitTagging(e,n,r){if(n.implicit&&typeof n.context=="number"){const i=Le.get(r);if(i.type===C.Sequence){const s=new Nt;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in s.valueBlock)return s.valueBlock.value=e.valueBlock.value,s}else if(i.type===C.Set){const s=new Vt;if("value"in e.valueBlock&&Array.isArray(e.valueBlock.value)&&"value"in s.valueBlock)return s.valueBlock.value=e.valueBlock.value,s}}return e}}class Yu{static serialize(e){return e instanceof Me?e.toBER(!1):this.toASN(e).toBER(!1)}static toASN(e){if(e&&typeof e=="object"&&dn(e))return e.toASN();if(!(e&&typeof e=="object"))throw new TypeError("Parameter 1 should be type of Object.");const n=e.constructor,r=Le.get(n);Le.cache(n);let i=[];if(r.itemType){if(!Array.isArray(e))throw new TypeError("Parameter 1 should be type of Array.");if(typeof r.itemType=="number"){const a=so(r.itemType);if(!a)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);i=e.map(c=>a.toASN(c))}else i=e.map(a=>this.toAsnItem({type:r.itemType},"[]",n,a))}else for(const a in r.items){const c=r.items[a],l=e[a];if(l===void 0||c.defaultValue===l||typeof c.defaultValue=="object"&&typeof l=="object"&&p4(this.serialize(c.defaultValue),this.serialize(l)))continue;const d=Yu.toAsnItem(c,a,n,l);if(typeof c.context=="number")if(c.implicit)if(!c.repeated&&(typeof c.type=="number"||dn(c.type))){const p={};p.valueHex=d instanceof cr?d.valueBeforeDecodeView:d.valueBlock.toBER(),i.push(new Ho({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},...p}))}else i.push(new Qe({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:d.valueBlock.value}));else i.push(new Qe({optional:c.optional,idBlock:{tagClass:3,tagNumber:c.context},value:[d]}));else c.repeated?i=i.concat(d):i.push(d)}let s;switch(r.type){case C.Sequence:s=new Nt({value:i});break;case C.Set:s=new Vt({value:i});break;case C.Choice:if(!i[0])throw new Error(`Schema '${n.name}' has wrong data. Choice cannot be empty.`);s=i[0];break}return s}static toAsnItem(e,n,r,i){let s;if(typeof e.type=="number"){const a=e.converter;if(!a)throw new Error(`Property '${n}' doesn't have converter for type ${b[e.type]} in schema '${r.name}'`);if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const c=Array.from(i,d=>a.toASN(d)),l=e.repeated==="sequence"?Nt:Vt;s=new l({value:c})}else s=a.toASN(i)}else if(e.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const a=Array.from(i,l=>this.toASN(l)),c=e.repeated==="sequence"?Nt:Vt;s=new c({value:a})}else s=this.toASN(i);return s}}class de extends Array{constructor(e=[]){if(typeof e=="number")super(e);else{super();for(const n of e)this.push(n)}}}class P{static serialize(e){return Yu.serialize(e)}static parse(e,n){return h4.parse(e,n)}static toString(e){const n=T.isBufferSource(e)?T.toArrayBuffer(e):P.serialize(e),r=Hr(n);if(r.offset===-1)throw new Error(`Cannot decode ASN.1 data. ${r.result.error}`);return r.result.toString()}}function h(t,e,n,r){var i=arguments.length,s=i<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,n):r,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(a=t[c])&&(s=(i<3?a(s):i>3?a(e,n,s):a(e,n))||s);return i>3&&s&&Object.defineProperty(e,n,s),s}function te(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)}function we(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n}class oh{static isIPv4(e){return/^(\d{1,3}\.){3}\d{1,3}$/.test(e)}static parseIPv4(e){const n=e.split(".");if(n.length!==4)throw new Error("Invalid IPv4 address");return n.map(r=>{const i=parseInt(r,10);if(isNaN(i)||i<0||i>255)throw new Error("Invalid IPv4 address part");return i})}static parseIPv6(e){const r=this.expandIPv6(e).split(":");if(r.length!==8)throw new Error("Invalid IPv6 address");return r.reduce((i,s)=>{const a=parseInt(s,16);if(isNaN(a)||a<0||a>65535)throw new Error("Invalid IPv6 address part");return i.push(a>>8&255),i.push(a&255),i},[])}static expandIPv6(e){if(!e.includes("::"))return e;const n=e.split("::");if(n.length>2)throw new Error("Invalid IPv6 address");const r=n[0]?n[0].split(":"):[],i=n[1]?n[1].split(":"):[],s=8-(r.length+i.length);if(s<0)throw new Error("Invalid IPv6 address");return[...r,...Array(s).fill("0"),...i].join(":")}static formatIPv6(e){const n=[];for(let r=0;r<16;r+=2)n.push((e[r]<<8|e[r+1]).toString(16));return this.compressIPv6(n.join(":"))}static compressIPv6(e){const n=e.split(":");let r=-1,i=0,s=-1,a=0;for(let c=0;c<n.length;c++)n[c]==="0"?(s===-1&&(s=c),a++):(a>i&&(r=s,i=a),s=-1,a=0);if(a>i&&(r=s,i=a),i>1){const c=n.slice(0,r).join(":"),l=n.slice(r+i).join(":");return`${c}::${l}`}return e}static parseCIDR(e){const[n,r]=e.split("/"),i=parseInt(r,10);if(this.isIPv4(n)){if(i<0||i>32)throw new Error("Invalid IPv4 prefix length");return[this.parseIPv4(n),i]}else{if(i<0||i>128)throw new Error("Invalid IPv6 prefix length");return[this.parseIPv6(n),i]}}static decodeIP(e){if(e.length===64&&parseInt(e,16)===0)return"::/0";if(e.length!==16)return e;const n=parseInt(e.slice(8),16).toString(2).split("").reduce((i,s)=>i+ +s,0);let r=e.slice(0,8).replace(/(.{2})/g,i=>`${parseInt(i,16)}.`);return r=r.slice(0,-1),`${r}/${n}`}static toString(e){const n=new Uint8Array(e);if(n.length===4)return Array.from(n).join(".");if(n.length===16)return this.formatIPv6(n);if(n.length===8||n.length===32){const r=n.length/2,i=n.slice(0,r),s=n.slice(r);if(n.every(l=>l===0))return n.length===8?"0.0.0.0/0":"::/0";const c=s.reduce((l,d)=>l+(d.toString(2).match(/1/g)||[]).length,0);return n.length===8?`${Array.from(i).join(".")}/${c}`:`${this.formatIPv6(i)}/${c}`}return this.decodeIP(q.ToHex(e))}static fromString(e){if(e.includes("/")){const[r,i]=this.parseCIDR(e),s=new Uint8Array(r.length);let a=i;for(let l=0;l<s.length;l++)a>=8?(s[l]=255,a-=8):a>0&&(s[l]=255<<8-a,a=0);const c=new Uint8Array(r.length*2);return c.set(r,0),c.set(s,r.length),c.buffer}const n=this.isIPv4(e)?this.parseIPv4(e):this.parseIPv6(e);return new Uint8Array(n).buffer}}var Kl,Gl,Wl;let qe=class{constructor(e={}){Object.assign(this,e)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};h([m({type:b.TeletexString})],qe.prototype,"teletexString",void 0);h([m({type:b.PrintableString})],qe.prototype,"printableString",void 0);h([m({type:b.UniversalString})],qe.prototype,"universalString",void 0);h([m({type:b.Utf8String})],qe.prototype,"utf8String",void 0);h([m({type:b.BmpString})],qe.prototype,"bmpString",void 0);qe=h([j({type:C.Choice})],qe);let Yr=class extends qe{constructor(e={}){super(e),Object.assign(this,e)}toString(){return this.ia5String||(this.anyValue?q.ToHex(this.anyValue):super.toString())}};h([m({type:b.IA5String})],Yr.prototype,"ia5String",void 0);h([m({type:b.Any})],Yr.prototype,"anyValue",void 0);Yr=h([j({type:C.Choice})],Yr);class yc{constructor(e={}){this.type="",this.value=new Yr,Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],yc.prototype,"type",void 0);h([m({type:Yr})],yc.prototype,"value",void 0);let Qr=Kl=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Kl.prototype)}};Qr=Kl=h([j({type:C.Set,itemType:yc})],Qr);let Jl=Gl=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Gl.prototype)}};Jl=Gl=h([j({type:C.Sequence,itemType:Qr})],Jl);let Ce=Wl=class extends Jl{constructor(e){super(e),Object.setPrototypeOf(this,Wl.prototype)}};Ce=Wl=h([j({type:C.Sequence})],Ce);const g4={fromASN:t=>oh.toString(oa.fromASN(t)),toASN:t=>oa.toASN(oh.fromString(t))};class vo{constructor(e={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],vo.prototype,"typeId",void 0);h([m({type:b.Any,context:0})],vo.prototype,"value",void 0);class Qu{constructor(e={}){this.partyName=new qe,Object.assign(this,e)}}h([m({type:qe,optional:!0,context:0,implicit:!0})],Qu.prototype,"nameAssigner",void 0);h([m({type:qe,context:1,implicit:!0})],Qu.prototype,"partyName",void 0);let Q=class{constructor(e={}){Object.assign(this,e)}};h([m({type:vo,context:0,implicit:!0})],Q.prototype,"otherName",void 0);h([m({type:b.IA5String,context:1,implicit:!0})],Q.prototype,"rfc822Name",void 0);h([m({type:b.IA5String,context:2,implicit:!0})],Q.prototype,"dNSName",void 0);h([m({type:b.Any,context:3,implicit:!0})],Q.prototype,"x400Address",void 0);h([m({type:Ce,context:4,implicit:!1})],Q.prototype,"directoryName",void 0);h([m({type:Qu,context:5})],Q.prototype,"ediPartyName",void 0);h([m({type:b.IA5String,context:6,implicit:!0})],Q.prototype,"uniformResourceIdentifier",void 0);h([m({type:b.OctetString,context:7,implicit:!0,converter:g4})],Q.prototype,"iPAddress",void 0);h([m({type:b.ObjectIdentifier,context:8,implicit:!0})],Q.prototype,"registeredID",void 0);Q=h([j({type:C.Choice})],Q);const ep="1.3.6.1.5.5.7",m4=`${ep}.1`,_i=`${ep}.3`,wc=`${ep}.48`,sh=`${wc}.1`,ah=`${wc}.2`,ch=`${wc}.3`,lh=`${wc}.5`,vn="2.5.29";var Xl;const Zl=`${m4}.1`;class Go{constructor(e={}){this.accessMethod="",this.accessLocation=new Q,Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Go.prototype,"accessMethod",void 0);h([m({type:Q})],Go.prototype,"accessLocation",void 0);let Ur=Xl=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Xl.prototype)}};Ur=Xl=h([j({type:C.Sequence,itemType:Go})],Ur);const Yl=`${vn}.35`;class tp extends ae{}class Zn{constructor(e={}){e&&Object.assign(this,e)}}h([m({type:tp,context:0,optional:!0,implicit:!0})],Zn.prototype,"keyIdentifier",void 0);h([m({type:Q,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Zn.prototype,"authorityCertIssuer",void 0);h([m({type:b.Integer,context:2,optional:!0,implicit:!0,converter:me})],Zn.prototype,"authorityCertSerialNumber",void 0);const ky=`${vn}.19`;class sa{constructor(e={}){this.cA=!1,Object.assign(this,e)}}h([m({type:b.Boolean,defaultValue:!1})],sa.prototype,"cA",void 0);h([m({type:b.Integer,optional:!0})],sa.prototype,"pathLenConstraint",void 0);var Ql;let Je=Ql=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ql.prototype)}};Je=Ql=h([j({type:C.Sequence,itemType:Q})],Je);var ed;let dh=ed=class extends Je{constructor(e){super(e),Object.setPrototypeOf(this,ed.prototype)}};dh=ed=h([j({type:C.Sequence})],dh);var td;const xy=`${vn}.32`;let pn=class{constructor(e={}){Object.assign(this,e)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};h([m({type:b.IA5String})],pn.prototype,"ia5String",void 0);h([m({type:b.VisibleString})],pn.prototype,"visibleString",void 0);h([m({type:b.BmpString})],pn.prototype,"bmpString",void 0);h([m({type:b.Utf8String})],pn.prototype,"utf8String",void 0);pn=h([j({type:C.Choice})],pn);class np{constructor(e={}){this.organization=new pn,this.noticeNumbers=[],Object.assign(this,e)}}h([m({type:pn})],np.prototype,"organization",void 0);h([m({type:b.Integer,repeated:"sequence"})],np.prototype,"noticeNumbers",void 0);class rp{constructor(e={}){Object.assign(this,e)}}h([m({type:np,optional:!0})],rp.prototype,"noticeRef",void 0);h([m({type:pn,optional:!0})],rp.prototype,"explicitText",void 0);let aa=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.IA5String})],aa.prototype,"cPSuri",void 0);h([m({type:rp})],aa.prototype,"userNotice",void 0);aa=h([j({type:C.Choice})],aa);class ip{constructor(e={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],ip.prototype,"policyQualifierId",void 0);h([m({type:b.Any})],ip.prototype,"qualifier",void 0);class bc{constructor(e={}){this.policyIdentifier="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],bc.prototype,"policyIdentifier",void 0);h([m({type:ip,repeated:"sequence",optional:!0})],bc.prototype,"policyQualifiers",void 0);let ca=td=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,td.prototype)}};ca=td=h([j({type:C.Sequence,itemType:bc})],ca);let la=class{constructor(e=0){this.value=e}};h([m({type:b.Integer})],la.prototype,"value",void 0);la=h([j({type:C.Choice})],la);let uh=class extends la{};uh=h([j({type:C.Choice})],uh);var nd;const rd=`${vn}.31`;var $t;(function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"})($t||($t={}));class Sy extends _c{toJSON(){const e=[],n=this.toNumber();return n&$t.aACompromise&&e.push("aACompromise"),n&$t.affiliationChanged&&e.push("affiliationChanged"),n&$t.cACompromise&&e.push("cACompromise"),n&$t.certificateHold&&e.push("certificateHold"),n&$t.cessationOfOperation&&e.push("cessationOfOperation"),n&$t.keyCompromise&&e.push("keyCompromise"),n&$t.privilegeWithdrawn&&e.push("privilegeWithdrawn"),n&$t.superseded&&e.push("superseded"),n&$t.unused&&e.push("unused"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let dr=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Q,context:0,repeated:"sequence",implicit:!0})],dr.prototype,"fullName",void 0);h([m({type:Qr,context:1,implicit:!0})],dr.prototype,"nameRelativeToCRLIssuer",void 0);dr=h([j({type:C.Choice})],dr);class yi{constructor(e={}){Object.assign(this,e)}}h([m({type:dr,context:0,optional:!0})],yi.prototype,"distributionPoint",void 0);h([m({type:Sy,context:1,optional:!0,implicit:!0})],yi.prototype,"reasons",void 0);h([m({type:Q,context:2,optional:!0,repeated:"sequence",implicit:!0})],yi.prototype,"cRLIssuer",void 0);let Vr=nd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,nd.prototype)}};Vr=nd=h([j({type:C.Sequence,itemType:yi})],Vr);var id;let ph=id=class extends Vr{constructor(e){super(e),Object.setPrototypeOf(this,id.prototype)}};ph=id=h([j({type:C.Sequence,itemType:yi})],ph);class We{constructor(e={}){this.onlyContainsUserCerts=We.ONLY,this.onlyContainsCACerts=We.ONLY,this.indirectCRL=We.ONLY,this.onlyContainsAttributeCerts=We.ONLY,Object.assign(this,e)}}We.ONLY=!1;h([m({type:dr,context:0,optional:!0})],We.prototype,"distributionPoint",void 0);h([m({type:b.Boolean,context:1,defaultValue:We.ONLY,implicit:!0})],We.prototype,"onlyContainsUserCerts",void 0);h([m({type:b.Boolean,context:2,defaultValue:We.ONLY,implicit:!0})],We.prototype,"onlyContainsCACerts",void 0);h([m({type:Sy,context:3,optional:!0,implicit:!0})],We.prototype,"onlySomeReasons",void 0);h([m({type:b.Boolean,context:4,defaultValue:We.ONLY,implicit:!0})],We.prototype,"indirectCRL",void 0);h([m({type:b.Boolean,context:5,defaultValue:We.ONLY,implicit:!0})],We.prototype,"onlyContainsAttributeCerts",void 0);var ao;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(ao||(ao={}));let od=class{constructor(e=ao.unspecified){this.reason=ao.unspecified,this.reason=e}toJSON(){return ao[this.reason]}toString(){return this.toJSON()}};h([m({type:b.Enumerated})],od.prototype,"reason",void 0);od=h([j({type:C.Choice})],od);var sd;const zy=`${vn}.37`;let da=sd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,sd.prototype)}};da=sd=h([j({type:C.Sequence,itemType:b.ObjectIdentifier})],da);const _4=`${_i}.1`,y4=`${_i}.2`,w4=`${_i}.3`,b4=`${_i}.4`,v4=`${_i}.8`,$4=`${_i}.9`;let ad=class{constructor(e=new ArrayBuffer(0)){this.value=e}};h([m({type:b.Integer,converter:me})],ad.prototype,"value",void 0);ad=h([j({type:C.Choice})],ad);let cd=class{constructor(e){this.value=new Date,e&&(this.value=e)}};h([m({type:b.GeneralizedTime})],cd.prototype,"value",void 0);cd=h([j({type:C.Choice})],cd);var ld;const Ay=`${vn}.18`;let fh=ld=class extends Je{constructor(e){super(e),Object.setPrototypeOf(this,ld.prototype)}};fh=ld=h([j({type:C.Sequence})],fh);const Ey=`${vn}.15`;var kt;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(kt||(kt={}));class ll extends _c{toJSON(){const e=this.toNumber(),n=[];return e&kt.cRLSign&&n.push("crlSign"),e&kt.dataEncipherment&&n.push("dataEncipherment"),e&kt.decipherOnly&&n.push("decipherOnly"),e&kt.digitalSignature&&n.push("digitalSignature"),e&kt.encipherOnly&&n.push("encipherOnly"),e&kt.keyAgreement&&n.push("keyAgreement"),e&kt.keyCertSign&&n.push("keyCertSign"),e&kt.keyEncipherment&&n.push("keyEncipherment"),e&kt.nonRepudiation&&n.push("nonRepudiation"),n}toString(){return`[${this.toJSON().join(", ")}]`}}var dd;class vc{constructor(e={}){this.base=new Q,this.minimum=0,Object.assign(this,e)}}h([m({type:Q})],vc.prototype,"base",void 0);h([m({type:b.Integer,context:0,defaultValue:0,implicit:!0})],vc.prototype,"minimum",void 0);h([m({type:b.Integer,context:1,optional:!0,implicit:!0})],vc.prototype,"maximum",void 0);let ua=dd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,dd.prototype)}};ua=dd=h([j({type:C.Sequence,itemType:vc})],ua);class Cy{constructor(e={}){Object.assign(this,e)}}h([m({type:ua,context:0,optional:!0,implicit:!0})],Cy.prototype,"permittedSubtrees",void 0);h([m({type:ua,context:1,optional:!0,implicit:!0})],Cy.prototype,"excludedSubtrees",void 0);class Ny{constructor(e={}){Object.assign(this,e)}}h([m({type:b.Integer,context:0,implicit:!0,optional:!0,converter:me})],Ny.prototype,"requireExplicitPolicy",void 0);h([m({type:b.Integer,context:1,implicit:!0,optional:!0,converter:me})],Ny.prototype,"inhibitPolicyMapping",void 0);var ud;class op{constructor(e={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],op.prototype,"issuerDomainPolicy",void 0);h([m({type:b.ObjectIdentifier})],op.prototype,"subjectDomainPolicy",void 0);let hh=ud=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,ud.prototype)}};hh=ud=h([j({type:C.Sequence,itemType:op})],hh);var pd;const Iy=`${vn}.17`;let fd=pd=class extends Je{constructor(e){super(e),Object.setPrototypeOf(this,pd.prototype)}};fd=pd=h([j({type:C.Sequence})],fd);let fn=class{constructor(e={}){this.type="",this.values=[],Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],fn.prototype,"type",void 0);h([m({type:b.Any,repeated:"set"})],fn.prototype,"values",void 0);var hd;let gh=hd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,hd.prototype)}};gh=hd=h([j({type:C.Sequence,itemType:fn})],gh);const jy=`${vn}.14`;class On extends tp{}class Oy{constructor(e={}){Object.assign(this,e)}}h([m({type:b.GeneralizedTime,context:0,implicit:!0,optional:!0})],Oy.prototype,"notBefore",void 0);h([m({type:b.GeneralizedTime,context:1,implicit:!0,optional:!0})],Oy.prototype,"notAfter",void 0);var co;(function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"})(co||(co={}));class Py extends _c{toJSON(){const e=[],n=this.toNumber();return n&co.pKIXCertificate&&e.push("pKIXCertificate"),n&co.newExtensions&&e.push("newExtensions"),n&co.keyUpdateAllowed&&e.push("keyUpdateAllowed"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Ty{constructor(e={}){this.entrustVers="",this.entrustInfoFlags=new Py,Object.assign(this,e)}}h([m({type:b.GeneralString})],Ty.prototype,"entrustVers",void 0);h([m({type:Py})],Ty.prototype,"entrustInfoFlags",void 0);var gd;let mh=gd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,gd.prototype)}};mh=gd=h([j({type:C.Sequence,itemType:Go})],mh);class U{constructor(e={}){this.algorithm="",Object.assign(this,e)}isEqual(e){return e instanceof U&&e.algorithm==this.algorithm&&(e.parameters&&this.parameters&&x_(e.parameters,this.parameters)||e.parameters===this.parameters)}}h([m({type:b.ObjectIdentifier})],U.prototype,"algorithm",void 0);h([m({type:b.Any,optional:!0})],U.prototype,"parameters",void 0);class At{constructor(e={}){this.algorithm=new U,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:U})],At.prototype,"algorithm",void 0);h([m({type:b.BitString})],At.prototype,"subjectPublicKey",void 0);let Ue=class{constructor(e){if(e)if(typeof e=="string"||typeof e=="number"||e instanceof Date){const n=new Date(e);n.getUTCFullYear()>2049?this.generalTime=n:this.utcTime=n}else Object.assign(this,e)}getTime(){const e=this.utcTime||this.generalTime;if(!e)throw new Error("Cannot get time from CHOICE object");return e}};h([m({type:b.UTCTime})],Ue.prototype,"utcTime",void 0);h([m({type:b.GeneralizedTime})],Ue.prototype,"generalTime",void 0);Ue=h([j({type:C.Choice})],Ue);class Wo{constructor(e){this.notBefore=new Ue(new Date),this.notAfter=new Ue(new Date),e&&(this.notBefore=new Ue(e.notBefore),this.notAfter=new Ue(e.notAfter))}}h([m({type:Ue})],Wo.prototype,"notBefore",void 0);h([m({type:Ue})],Wo.prototype,"notAfter",void 0);var md;let yt=class Ry{constructor(e={}){this.extnID="",this.critical=Ry.CRITICAL,this.extnValue=new ae,Object.assign(this,e)}};yt.CRITICAL=!1;h([m({type:b.ObjectIdentifier})],yt.prototype,"extnID",void 0);h([m({type:b.Boolean,defaultValue:yt.CRITICAL})],yt.prototype,"critical",void 0);h([m({type:ae})],yt.prototype,"extnValue",void 0);let Tn=md=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,md.prototype)}};Tn=md=h([j({type:C.Sequence,itemType:yt})],Tn);var ur;(function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"})(ur||(ur={}));class ut{constructor(e={}){this.version=ur.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new U,this.issuer=new Ce,this.validity=new Wo,this.subject=new Ce,this.subjectPublicKeyInfo=new At,Object.assign(this,e)}}h([m({type:b.Integer,context:0,defaultValue:ur.v1})],ut.prototype,"version",void 0);h([m({type:b.Integer,converter:me})],ut.prototype,"serialNumber",void 0);h([m({type:U})],ut.prototype,"signature",void 0);h([m({type:Ce})],ut.prototype,"issuer",void 0);h([m({type:Wo})],ut.prototype,"validity",void 0);h([m({type:Ce})],ut.prototype,"subject",void 0);h([m({type:At})],ut.prototype,"subjectPublicKeyInfo",void 0);h([m({type:b.BitString,context:1,implicit:!0,optional:!0})],ut.prototype,"issuerUniqueID",void 0);h([m({type:b.BitString,context:2,implicit:!0,optional:!0})],ut.prototype,"subjectUniqueID",void 0);h([m({type:Tn,context:3,optional:!0})],ut.prototype,"extensions",void 0);class pr{constructor(e={}){this.tbsCertificate=new ut,this.signatureAlgorithm=new U,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:ut,raw:!0})],pr.prototype,"tbsCertificate",void 0);h([m({type:U})],pr.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],pr.prototype,"signatureValue",void 0);class $c{constructor(e={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Ue,Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],$c.prototype,"userCertificate",void 0);h([m({type:Ue})],$c.prototype,"revocationDate",void 0);h([m({type:yt,optional:!0,repeated:"sequence"})],$c.prototype,"crlEntryExtensions",void 0);class $n{constructor(e={}){this.signature=new U,this.issuer=new Ce,this.thisUpdate=new Ue,Object.assign(this,e)}}h([m({type:b.Integer,optional:!0})],$n.prototype,"version",void 0);h([m({type:U})],$n.prototype,"signature",void 0);h([m({type:Ce})],$n.prototype,"issuer",void 0);h([m({type:Ue})],$n.prototype,"thisUpdate",void 0);h([m({type:Ue,optional:!0})],$n.prototype,"nextUpdate",void 0);h([m({type:$c,repeated:"sequence",optional:!0})],$n.prototype,"revokedCertificates",void 0);h([m({type:yt,optional:!0,context:0,repeated:"sequence"})],$n.prototype,"crlExtensions",void 0);class sp{constructor(e={}){this.tbsCertList=new $n,this.signatureAlgorithm=new U,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:$n,raw:!0})],sp.prototype,"tbsCertList",void 0);h([m({type:U})],sp.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],sp.prototype,"signature",void 0);class wi{constructor(e={}){this.issuer=new Ce,this.serialNumber=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:Ce})],wi.prototype,"issuer",void 0);h([m({type:b.Integer,converter:me})],wi.prototype,"serialNumber",void 0);let ei=class{constructor(e={}){Object.assign(this,e)}};h([m({type:On,context:0,implicit:!0})],ei.prototype,"subjectKeyIdentifier",void 0);h([m({type:wi})],ei.prototype,"issuerAndSerialNumber",void 0);ei=h([j({type:C.Choice})],ei);var hn;(function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"})(hn||(hn={}));let $o=class extends U{};$o=h([j({type:C.Sequence})],$o);let pa=class extends U{};pa=h([j({type:C.Sequence})],pa);let Gt=class extends U{};Gt=h([j({type:C.Sequence})],Gt);let fa=class extends U{};fa=h([j({type:C.Sequence})],fa);let _h=class extends U{};_h=h([j({type:C.Sequence})],_h);let _d=class extends U{};_d=h([j({type:C.Sequence})],_d);let bi=class{constructor(e={}){this.attrType="",this.attrValues=[],Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],bi.prototype,"attrType",void 0);h([m({type:b.Any,repeated:"set"})],bi.prototype,"attrValues",void 0);var yd;class Zt{constructor(e={}){this.version=hn.v0,this.sid=new ei,this.digestAlgorithm=new $o,this.signatureAlgorithm=new pa,this.signature=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Zt.prototype,"version",void 0);h([m({type:ei})],Zt.prototype,"sid",void 0);h([m({type:$o})],Zt.prototype,"digestAlgorithm",void 0);h([m({type:bi,repeated:"set",context:0,implicit:!0,optional:!0,raw:!0})],Zt.prototype,"signedAttrs",void 0);h([m({type:pa})],Zt.prototype,"signatureAlgorithm",void 0);h([m({type:ae})],Zt.prototype,"signature",void 0);h([m({type:bi,repeated:"set",context:1,implicit:!0,optional:!0})],Zt.prototype,"unsignedAttrs",void 0);let ha=yd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,yd.prototype)}};ha=yd=h([j({type:C.Set,itemType:Zt})],ha);let yh=class extends Zt{};yh=h([j({type:C.Sequence})],yh);let wh=class extends Ue{};wh=h([j({type:C.Choice})],wh);class ap{constructor(e={}){this.acIssuer=new Q,this.acSerial=0,this.attrs=[],Object.assign(this,e)}}h([m({type:Q})],ap.prototype,"acIssuer",void 0);h([m({type:b.Integer})],ap.prototype,"acSerial",void 0);h([m({type:fn,repeated:"sequence"})],ap.prototype,"attrs",void 0);var wd;let ga=wd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,wd.prototype)}};ga=wd=h([j({type:C.Sequence,itemType:b.ObjectIdentifier})],ga);class kc{constructor(e={}){this.permitUnSpecified=!0,Object.assign(this,e)}}h([m({type:b.Integer,optional:!0})],kc.prototype,"pathLenConstraint",void 0);h([m({type:ga,implicit:!0,context:0,optional:!0})],kc.prototype,"permittedAttrs",void 0);h([m({type:ga,implicit:!0,context:1,optional:!0})],kc.prototype,"excludedAttrs",void 0);h([m({type:b.Boolean,defaultValue:!0})],kc.prototype,"permitUnSpecified",void 0);class xr{constructor(e={}){this.issuer=new Je,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:Je})],xr.prototype,"issuer",void 0);h([m({type:b.Integer,converter:me})],xr.prototype,"serial",void 0);h([m({type:b.BitString,optional:!0})],xr.prototype,"issuerUID",void 0);var bd;(function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"})(bd||(bd={}));class Sr{constructor(e={}){this.digestedObjectType=bd.publicKey,this.digestAlgorithm=new U,this.objectDigest=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Enumerated})],Sr.prototype,"digestedObjectType",void 0);h([m({type:b.ObjectIdentifier,optional:!0})],Sr.prototype,"otherObjectTypeID",void 0);h([m({type:U})],Sr.prototype,"digestAlgorithm",void 0);h([m({type:b.BitString})],Sr.prototype,"objectDigest",void 0);class xc{constructor(e={}){Object.assign(this,e)}}h([m({type:Je,optional:!0})],xc.prototype,"issuerName",void 0);h([m({type:xr,context:0,implicit:!0,optional:!0})],xc.prototype,"baseCertificateID",void 0);h([m({type:Sr,context:1,implicit:!0,optional:!0})],xc.prototype,"objectDigestInfo",void 0);let ti=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Q,repeated:"sequence"})],ti.prototype,"v1Form",void 0);h([m({type:xc,context:0,implicit:!0})],ti.prototype,"v2Form",void 0);ti=h([j({type:C.Choice})],ti);class Sc{constructor(e={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,e)}}h([m({type:b.GeneralizedTime})],Sc.prototype,"notBeforeTime",void 0);h([m({type:b.GeneralizedTime})],Sc.prototype,"notAfterTime",void 0);class Jo{constructor(e={}){Object.assign(this,e)}}h([m({type:xr,implicit:!0,context:0,optional:!0})],Jo.prototype,"baseCertificateID",void 0);h([m({type:Je,implicit:!0,context:1,optional:!0})],Jo.prototype,"entityName",void 0);h([m({type:Sr,implicit:!0,context:2,optional:!0})],Jo.prototype,"objectDigestInfo",void 0);var vd;(function(t){t[t.v2=1]="v2"})(vd||(vd={}));class Pt{constructor(e={}){this.version=vd.v2,this.holder=new Jo,this.issuer=new ti,this.signature=new U,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new Sc,this.attributes=[],Object.assign(this,e)}}h([m({type:b.Integer})],Pt.prototype,"version",void 0);h([m({type:Jo})],Pt.prototype,"holder",void 0);h([m({type:ti})],Pt.prototype,"issuer",void 0);h([m({type:U})],Pt.prototype,"signature",void 0);h([m({type:b.Integer,converter:me})],Pt.prototype,"serialNumber",void 0);h([m({type:Sc})],Pt.prototype,"attrCertValidityPeriod",void 0);h([m({type:fn,repeated:"sequence"})],Pt.prototype,"attributes",void 0);h([m({type:b.BitString,optional:!0})],Pt.prototype,"issuerUniqueID",void 0);h([m({type:Tn,optional:!0})],Pt.prototype,"extensions",void 0);class zc{constructor(e={}){this.acinfo=new Pt,this.signatureAlgorithm=new U,this.signatureValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:Pt})],zc.prototype,"acinfo",void 0);h([m({type:U})],zc.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],zc.prototype,"signatureValue",void 0);var ma;(function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"})(ma||(ma={}));class $d extends _c{}class cp{constructor(e={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier,implicit:!0,context:0})],cp.prototype,"type",void 0);h([m({type:b.Any,implicit:!0,context:1})],cp.prototype,"value",void 0);class lp{constructor(e={}){this.policyId="",this.classList=new $d(ma.unclassified),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],lp.prototype,"policyId",void 0);h([m({type:$d,defaultValue:new $d(ma.unclassified)})],lp.prototype,"classList",void 0);h([m({type:cp,repeated:"set"})],lp.prototype,"securityCategories",void 0);class Ac{constructor(e={}){Object.assign(this,e)}}h([m({type:ae})],Ac.prototype,"cotets",void 0);h([m({type:b.ObjectIdentifier})],Ac.prototype,"oid",void 0);h([m({type:b.Utf8String})],Ac.prototype,"string",void 0);class By{constructor(e={}){this.values=[],Object.assign(this,e)}}h([m({type:Je,implicit:!0,context:0,optional:!0})],By.prototype,"policyAuthority",void 0);h([m({type:Ac,repeated:"sequence"})],By.prototype,"values",void 0);var kd;class Ec{constructor(e={}){this.targetCertificate=new xr,Object.assign(this,e)}}h([m({type:xr})],Ec.prototype,"targetCertificate",void 0);h([m({type:Q,optional:!0})],Ec.prototype,"targetName",void 0);h([m({type:Sr,optional:!0})],Ec.prototype,"certDigestInfo",void 0);let ni=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Q,context:0,implicit:!0})],ni.prototype,"targetName",void 0);h([m({type:Q,context:1,implicit:!0})],ni.prototype,"targetGroup",void 0);h([m({type:Ec,context:2,implicit:!0})],ni.prototype,"targetCert",void 0);ni=h([j({type:C.Choice})],ni);let xd=kd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,kd.prototype)}};xd=kd=h([j({type:C.Sequence,itemType:ni})],xd);var Sd;let bh=Sd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Sd.prototype)}};bh=Sd=h([j({type:C.Sequence,itemType:xd})],bh);class Ly{constructor(e={}){Object.assign(this,e)}}h([m({type:Je,implicit:!0,context:0,optional:!0})],Ly.prototype,"roleAuthority",void 0);h([m({type:Q,implicit:!0,context:1})],Ly.prototype,"roleName",void 0);class dp{constructor(e={}){this.service=new Q,this.ident=new Q,Object.assign(this,e)}}h([m({type:Q})],dp.prototype,"service",void 0);h([m({type:Q})],dp.prototype,"ident",void 0);h([m({type:ae,optional:!0})],dp.prototype,"authInfo",void 0);var zd;class up{constructor(e={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],up.prototype,"otherCertFormat",void 0);h([m({type:b.Any})],up.prototype,"otherCert",void 0);let ri=class{constructor(e={}){Object.assign(this,e)}};h([m({type:pr})],ri.prototype,"certificate",void 0);h([m({type:zc,context:2,implicit:!0})],ri.prototype,"v2AttrCert",void 0);h([m({type:up,context:3,implicit:!0})],ri.prototype,"other",void 0);ri=h([j({type:C.Choice})],ri);let _a=zd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,zd.prototype)}};_a=zd=h([j({type:C.Set,itemType:ri})],_a);class vi{constructor(e={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],vi.prototype,"contentType",void 0);h([m({type:b.Any,context:0})],vi.prototype,"content",void 0);let ko=class{constructor(e={}){Object.assign(this,e)}};h([m({type:ae})],ko.prototype,"single",void 0);h([m({type:b.Any})],ko.prototype,"any",void 0);ko=h([j({type:C.Choice})],ko);class Cc{constructor(e={}){this.eContentType="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Cc.prototype,"eContentType",void 0);h([m({type:ko,context:0,optional:!0})],Cc.prototype,"eContent",void 0);let xo=class{constructor(e={}){Object.assign(this,e)}};h([m({type:ae,context:0,implicit:!0,optional:!0})],xo.prototype,"value",void 0);h([m({type:ae,converter:Z3,context:0,implicit:!0,optional:!0,repeated:"sequence"})],xo.prototype,"constructedValue",void 0);xo=h([j({type:C.Choice})],xo);class Xo{constructor(e={}){this.contentType="",this.contentEncryptionAlgorithm=new fa,Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Xo.prototype,"contentType",void 0);h([m({type:fa})],Xo.prototype,"contentEncryptionAlgorithm",void 0);h([m({type:xo,optional:!0})],Xo.prototype,"encryptedContent",void 0);class Nc{constructor(e={}){this.keyAttrId="",Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Nc.prototype,"keyAttrId",void 0);h([m({type:b.Any,optional:!0})],Nc.prototype,"keyAttr",void 0);var Ad;class Ic{constructor(e={}){this.subjectKeyIdentifier=new On,Object.assign(this,e)}}h([m({type:On})],Ic.prototype,"subjectKeyIdentifier",void 0);h([m({type:b.GeneralizedTime,optional:!0})],Ic.prototype,"date",void 0);h([m({type:Nc,optional:!0})],Ic.prototype,"other",void 0);let ii=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Ic,context:0,implicit:!0,optional:!0})],ii.prototype,"rKeyId",void 0);h([m({type:wi,optional:!0})],ii.prototype,"issuerAndSerialNumber",void 0);ii=h([j({type:C.Choice})],ii);class pp{constructor(e={}){this.rid=new ii,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:ii})],pp.prototype,"rid",void 0);h([m({type:ae})],pp.prototype,"encryptedKey",void 0);let ya=Ad=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ad.prototype)}};ya=Ad=h([j({type:C.Sequence,itemType:pp})],ya);class fp{constructor(e={}){this.algorithm=new U,this.publicKey=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:U})],fp.prototype,"algorithm",void 0);h([m({type:b.BitString})],fp.prototype,"publicKey",void 0);let fr=class{constructor(e={}){Object.assign(this,e)}};h([m({type:On,context:0,implicit:!0,optional:!0})],fr.prototype,"subjectKeyIdentifier",void 0);h([m({type:fp,context:1,implicit:!0,optional:!0})],fr.prototype,"originatorKey",void 0);h([m({type:wi,optional:!0})],fr.prototype,"issuerAndSerialNumber",void 0);fr=h([j({type:C.Choice})],fr);class $i{constructor(e={}){this.version=hn.v3,this.originator=new fr,this.keyEncryptionAlgorithm=new Gt,this.recipientEncryptedKeys=new ya,Object.assign(this,e)}}h([m({type:b.Integer})],$i.prototype,"version",void 0);h([m({type:fr,context:0})],$i.prototype,"originator",void 0);h([m({type:ae,context:1,optional:!0})],$i.prototype,"ukm",void 0);h([m({type:Gt})],$i.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ya})],$i.prototype,"recipientEncryptedKeys",void 0);let oi=class{constructor(e={}){Object.assign(this,e)}};h([m({type:On,context:0,implicit:!0})],oi.prototype,"subjectKeyIdentifier",void 0);h([m({type:wi})],oi.prototype,"issuerAndSerialNumber",void 0);oi=h([j({type:C.Choice})],oi);class Zo{constructor(e={}){this.version=hn.v0,this.rid=new oi,this.keyEncryptionAlgorithm=new Gt,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Zo.prototype,"version",void 0);h([m({type:oi})],Zo.prototype,"rid",void 0);h([m({type:Gt})],Zo.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ae})],Zo.prototype,"encryptedKey",void 0);class Yo{constructor(e={}){this.keyIdentifier=new ae,Object.assign(this,e)}}h([m({type:ae})],Yo.prototype,"keyIdentifier",void 0);h([m({type:b.GeneralizedTime,optional:!0})],Yo.prototype,"date",void 0);h([m({type:Nc,optional:!0})],Yo.prototype,"other",void 0);class Qo{constructor(e={}){this.version=hn.v4,this.kekid=new Yo,this.keyEncryptionAlgorithm=new Gt,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Qo.prototype,"version",void 0);h([m({type:Yo})],Qo.prototype,"kekid",void 0);h([m({type:Gt})],Qo.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ae})],Qo.prototype,"encryptedKey",void 0);class es{constructor(e={}){this.version=hn.v0,this.keyEncryptionAlgorithm=new Gt,this.encryptedKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],es.prototype,"version",void 0);h([m({type:_d,context:0,optional:!0})],es.prototype,"keyDerivationAlgorithm",void 0);h([m({type:Gt})],es.prototype,"keyEncryptionAlgorithm",void 0);h([m({type:ae})],es.prototype,"encryptedKey",void 0);class hp{constructor(e={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],hp.prototype,"oriType",void 0);h([m({type:b.Any})],hp.prototype,"oriValue",void 0);let Rn=class{constructor(e={}){Object.assign(this,e)}};h([m({type:Zo,optional:!0})],Rn.prototype,"ktri",void 0);h([m({type:$i,context:1,implicit:!0,optional:!0})],Rn.prototype,"kari",void 0);h([m({type:Qo,context:2,implicit:!0,optional:!0})],Rn.prototype,"kekri",void 0);h([m({type:es,context:3,implicit:!0,optional:!0})],Rn.prototype,"pwri",void 0);h([m({type:hp,context:4,implicit:!0,optional:!0})],Rn.prototype,"ori",void 0);Rn=h([j({type:C.Choice})],Rn);var Ed;let wa=Ed=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Ed.prototype)}};wa=Ed=h([j({type:C.Set,itemType:Rn})],wa);var Cd;class jc{constructor(e={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],jc.prototype,"otherRevInfoFormat",void 0);h([m({type:b.Any})],jc.prototype,"otherRevInfo",void 0);let ba=class{constructor(e={}){this.other=new jc,Object.assign(this,e)}};h([m({type:jc,context:1,implicit:!0})],ba.prototype,"other",void 0);ba=h([j({type:C.Choice})],ba);let va=Cd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Cd.prototype)}};va=Cd=h([j({type:C.Set,itemType:ba})],va);class gp{constructor(e={}){Object.assign(this,e)}}h([m({type:_a,context:0,implicit:!0,optional:!0})],gp.prototype,"certs",void 0);h([m({type:va,context:1,implicit:!0,optional:!0})],gp.prototype,"crls",void 0);var Nd;let Id=Nd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Nd.prototype)}};Id=Nd=h([j({type:C.Set,itemType:bi})],Id);class ts{constructor(e={}){this.version=hn.v0,this.recipientInfos=new wa,this.encryptedContentInfo=new Xo,Object.assign(this,e)}}h([m({type:b.Integer})],ts.prototype,"version",void 0);h([m({type:gp,context:0,implicit:!0,optional:!0})],ts.prototype,"originatorInfo",void 0);h([m({type:wa})],ts.prototype,"recipientInfos",void 0);h([m({type:Xo})],ts.prototype,"encryptedContentInfo",void 0);h([m({type:Id,context:1,implicit:!0,optional:!0})],ts.prototype,"unprotectedAttrs",void 0);const k4="1.2.840.113549.1.7.2";var jd;let $a=jd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,jd.prototype)}};$a=jd=h([j({type:C.Set,itemType:$o})],$a);class ki{constructor(e={}){this.version=hn.v0,this.digestAlgorithms=new $a,this.encapContentInfo=new Cc,this.signerInfos=new ha,Object.assign(this,e)}}h([m({type:b.Integer})],ki.prototype,"version",void 0);h([m({type:$a})],ki.prototype,"digestAlgorithms",void 0);h([m({type:Cc})],ki.prototype,"encapContentInfo",void 0);h([m({type:_a,context:0,implicit:!0,optional:!0})],ki.prototype,"certificates",void 0);h([m({type:va,context:1,implicit:!0,optional:!0})],ki.prototype,"crls",void 0);h([m({type:ha})],ki.prototype,"signerInfos",void 0);const So="1.2.840.10045.2.1",mp="1.2.840.10045.4.1",Uy="1.2.840.10045.4.3.1",_p="1.2.840.10045.4.3.2",yp="1.2.840.10045.4.3.3",wp="1.2.840.10045.4.3.4",vh="1.2.840.10045.3.1.7",$h="1.3.132.0.34",kh="1.3.132.0.35";function ns(t){return new U({algorithm:t})}const x4=ns(mp);ns(Uy);const S4=ns(_p),z4=ns(yp),A4=ns(wp);let zo=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],zo.prototype,"fieldType",void 0);h([m({type:b.Any})],zo.prototype,"parameters",void 0);zo=h([j({type:C.Sequence})],zo);class E4 extends ae{}let si=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.OctetString})],si.prototype,"a",void 0);h([m({type:b.OctetString})],si.prototype,"b",void 0);h([m({type:b.BitString,optional:!0})],si.prototype,"seed",void 0);si=h([j({type:C.Sequence})],si);var Od;(function(t){t[t.ecpVer1=1]="ecpVer1"})(Od||(Od={}));let gn=class{constructor(e={}){this.version=Od.ecpVer1,Object.assign(this,e)}};h([m({type:b.Integer})],gn.prototype,"version",void 0);h([m({type:zo})],gn.prototype,"fieldID",void 0);h([m({type:si})],gn.prototype,"curve",void 0);h([m({type:E4})],gn.prototype,"base",void 0);h([m({type:b.Integer,converter:me})],gn.prototype,"order",void 0);h([m({type:b.Integer,optional:!0})],gn.prototype,"cofactor",void 0);gn=h([j({type:C.Sequence})],gn);let Bn=class{constructor(e={}){Object.assign(this,e)}};h([m({type:b.ObjectIdentifier})],Bn.prototype,"namedCurve",void 0);h([m({type:b.Null})],Bn.prototype,"implicitCurve",void 0);h([m({type:gn})],Bn.prototype,"specifiedCurve",void 0);Bn=h([j({type:C.Choice})],Bn);class Oc{constructor(e={}){this.version=1,this.privateKey=new ae,Object.assign(this,e)}}h([m({type:b.Integer})],Oc.prototype,"version",void 0);h([m({type:ae})],Oc.prototype,"privateKey",void 0);h([m({type:Bn,context:0,optional:!0})],Oc.prototype,"parameters",void 0);h([m({type:b.BitString,context:1,optional:!0})],Oc.prototype,"publicKey",void 0);class ka{constructor(e={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],ka.prototype,"r",void 0);h([m({type:b.Integer,converter:me})],ka.prototype,"s",void 0);const ot="1.2.840.113549.1.1",hr=`${ot}.1`,C4=`${ot}.7`,N4=`${ot}.9`,lo=`${ot}.10`,I4=`${ot}.2`,j4=`${ot}.4`,xa=`${ot}.5`,O4=`${ot}.14`,Pd=`${ot}.11`,Sa=`${ot}.12`,za=`${ot}.13`,Dy=`${ot}.15`,My=`${ot}.16`,Aa="1.3.14.3.2.26",qy="2.16.840.1.101.3.4.2.4",Ea="2.16.840.1.101.3.4.2.1",Ca="2.16.840.1.101.3.4.2.2",Na="2.16.840.1.101.3.4.2.3",P4="2.16.840.1.101.3.4.2.5",T4="2.16.840.1.101.3.4.2.6",R4="1.2.840.113549.2.2",B4="1.2.840.113549.2.5",Pc=`${ot}.8`;function Oe(t){return new U({algorithm:t,parameters:null})}Oe(R4);Oe(B4);const gr=Oe(Aa);Oe(qy);Oe(Ea);Oe(Ca);Oe(Na);Oe(P4);Oe(T4);const Fy=new U({algorithm:Pc,parameters:P.serialize(gr)}),Hy=new U({algorithm:N4,parameters:P.serialize(oa.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Oe(hr);Oe(I4);Oe(j4);Oe(xa);Oe(Dy);Oe(My);Oe(Sa);Oe(za);Oe(Dy);Oe(My);class Tc{constructor(e={}){this.hashAlgorithm=new U(gr),this.maskGenAlgorithm=new U({algorithm:Pc,parameters:P.serialize(gr)}),this.pSourceAlgorithm=new U(Hy),Object.assign(this,e)}}h([m({type:U,context:0,defaultValue:gr})],Tc.prototype,"hashAlgorithm",void 0);h([m({type:U,context:1,defaultValue:Fy})],Tc.prototype,"maskGenAlgorithm",void 0);h([m({type:U,context:2,defaultValue:Hy})],Tc.prototype,"pSourceAlgorithm",void 0);new U({algorithm:C4,parameters:P.serialize(new Tc)});class mr{constructor(e={}){this.hashAlgorithm=new U(gr),this.maskGenAlgorithm=new U({algorithm:Pc,parameters:P.serialize(gr)}),this.saltLength=20,this.trailerField=1,Object.assign(this,e)}}h([m({type:U,context:0,defaultValue:gr})],mr.prototype,"hashAlgorithm",void 0);h([m({type:U,context:1,defaultValue:Fy})],mr.prototype,"maskGenAlgorithm",void 0);h([m({type:b.Integer,context:2,defaultValue:20})],mr.prototype,"saltLength",void 0);h([m({type:b.Integer,context:3,defaultValue:1})],mr.prototype,"trailerField",void 0);new U({algorithm:lo,parameters:P.serialize(new mr)});class Rc{constructor(e={}){this.digestAlgorithm=new U,this.digest=new ae,Object.assign(this,e)}}h([m({type:U})],Rc.prototype,"digestAlgorithm",void 0);h([m({type:ae})],Rc.prototype,"digest",void 0);var Td;class Bc{constructor(e={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],Bc.prototype,"prime",void 0);h([m({type:b.Integer,converter:me})],Bc.prototype,"exponent",void 0);h([m({type:b.Integer,converter:me})],Bc.prototype,"coefficient",void 0);let Rd=Td=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Td.prototype)}};Rd=Td=h([j({type:C.Sequence,itemType:Bc})],Rd);class Yt{constructor(e={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer})],Yt.prototype,"version",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"modulus",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"publicExponent",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"privateExponent",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"prime1",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"prime2",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"exponent1",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"exponent2",void 0);h([m({type:b.Integer,converter:me})],Yt.prototype,"coefficient",void 0);h([m({type:Rd,optional:!0})],Yt.prototype,"otherPrimeInfos",void 0);class bp{constructor(e={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.Integer,converter:me})],bp.prototype,"modulus",void 0);h([m({type:b.Integer,converter:me})],bp.prototype,"publicExponent",void 0);var Bd;(function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"})(Bd||(Bd={}));const tt=Bd;var Ld=function(t,e){return Ld=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)r.hasOwnProperty(i)&&(n[i]=r[i])},Ld(t,e)};function vp(t,e){Ld(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function L4(t,e,n,r){function i(s){return s instanceof n?s:new n(function(a){a(s)})}return new(n||(n=Promise))(function(s,a){function c(p){try{d(r.next(p))}catch(f){a(f)}}function l(p){try{d(r.throw(p))}catch(f){a(f)}}function d(p){p.done?s(p.value):i(p.value).then(c,l)}d((r=r.apply(t,[])).next())})}function U4(t,e){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,i,s,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(d){return function(p){return l([d,p])}}function l(d){if(r)throw new TypeError("Generator is already executing.");for(;n;)try{if(r=1,i&&(s=d[0]&2?i.return:d[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,d[1])).done)return s;switch(i=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return n.label++,{value:d[1],done:!1};case 5:n.label++,i=d[1],d=[0];continue;case 7:d=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){n.label=d[1];break}if(d[0]===6&&n.label<s[1]){n.label=s[1],s=d;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(d);break}s[2]&&n.ops.pop(),n.trys.pop();continue}d=e.call(t,n)}catch(p){d=[6,p],i=0}finally{r=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function gs(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ia(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],a;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(c){a={error:c}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return s}function Kn(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Ia(arguments[e]));return t}var D4="injectionTokens";function M4(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(D4,t)||{};return Object.keys(n).forEach(function(r){e[+r]=n[r]}),e}function Vy(t){return!!t.useClass}function Ud(t){return!!t.useFactory}var Ky=(function(){function t(e){this.wrap=e,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(e){var n=this,r={},i=!1,s,a=function(){return i||(s=e(n.wrap()),i=!0),s};return new Proxy(r,this.createHandler(a))},t.prototype.createHandler=function(e){var n={},r=function(i){n[i]=function(){for(var s=[],a=0;a<arguments.length;a++)s[a]=arguments[a];s[0]=e();var c=Reflect[i];return c.apply(void 0,Kn(s))}};return this.reflectMethods.forEach(r),n},t})();function Cr(t){return typeof t=="string"||typeof t=="symbol"}function q4(t){return typeof t=="object"&&"token"in t&&"multiple"in t}function xh(t){return typeof t=="object"&&"token"in t&&"transform"in t}function F4(t){return typeof t=="function"||t instanceof Ky}function Es(t){return!!t.useToken}function Cs(t){return t.useValue!=null}function H4(t){return Vy(t)||Cs(t)||Es(t)||Ud(t)}var $p=(function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(e){return this.ensure(e),this._registryMap.get(e)},t.prototype.get=function(e){this.ensure(e);var n=this._registryMap.get(e);return n[n.length-1]||null},t.prototype.set=function(e,n){this.ensure(e),this._registryMap.get(e).push(n)},t.prototype.setAll=function(e,n){this._registryMap.set(e,n)},t.prototype.has=function(e){return this.ensure(e),this._registryMap.get(e).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(e){this._registryMap.has(e)||this._registryMap.set(e,[])},t})(),V4=(function(t){vp(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e})($p),ms=(function(){function t(){this.scopedResolutions=new Map}return t})();function K4(t,e){if(t===null)return"at position #"+e;var n=t.split(",")[e].trim();return'"'+n+'" at position #'+e}function G4(t,e,n){return n===void 0&&(n=" "),Kn([t],e.message.split(`
72
72
  `).map(function(r){return n+r})).join(`
73
- `)}function W4(t,e,n){var r=Ia(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],s=i===void 0?null:i,a=K4(s,e);return G4("Cannot inject the dependency "+a+' of "'+t.name+'" constructor. Reason:',n)}function J4(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var X4=(function(t){vp(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e})($p),Z4=(function(t){vp(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e})($p),Y4=(function(){function t(){this.preResolution=new X4,this.postResolution=new Z4}return t})(),Gy=new Map,Q4=(function(){function t(e){this.parent=e,this._registry=new V4,this.interceptors=new Y4,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:tt.Transient}),this.ensureNotDisposed();var i;if(H4(n)?i=n:i={useClass:n},Es(i))for(var s=[e],a=i;a!=null;){var c=a.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+Kn(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&Es(l.provider)?a=l.provider:a=null}if((r.lifecycle===tt.Singleton||r.lifecycle==tt.ContainerScoped||r.lifecycle==tt.ResolutionScoped)&&(Cs(i)||Ud(i)))throw new Error('Cannot use lifecycle "'+tt[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),Cr(n)?this.register(e,{useToken:n}):this.register(e,{useClass:n})},t.prototype.registerInstance=function(e,n){return this.ensureNotDisposed(),this.register(e,{useValue:n})},t.prototype.registerSingleton=function(e,n){if(this.ensureNotDisposed(),Cr(e)){if(Cr(n))return this.register(e,{useToken:n},{lifecycle:tt.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:tt.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!Cr(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:tt.Singleton})},t.prototype.resolve=function(e,n,r){n===void 0&&(n=new ms),r===void 0&&(r=!1),this.ensureNotDisposed();var i=this.getRegistration(e);if(!i&&Cr(e)){if(r)return;throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"')}if(this.executePreResolutionInterceptor(e,"Single"),i){var s=this.resolveRegistration(i,n);return this.executePostResolutionInterceptor(e,s,"Single"),s}if(F4(e)){var s=this.construct(e,n);return this.executePostResolutionInterceptor(e,s,"Single"),s}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(e,n){var r,i;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var a=gs(this.interceptors.preResolution.getAll(e)),c=a.next();!c.done;c=a.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,n)}}catch(d){r={error:d}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,s)}},t.prototype.executePostResolutionInterceptor=function(e,n,r){var i,s;if(this.interceptors.postResolution.has(e)){var a=[];try{for(var c=gs(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var d=l.value;d.options.frequency!="Once"&&a.push(d),d.callback(e,n,r)}}catch(p){i={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,a)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===tt.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===tt.Singleton,i=e.options.lifecycle===tt.ContainerScoped,s=r||i,a;return Cs(e.provider)?a=e.provider.useValue:Es(e.provider)?a=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):Vy(e.provider)?a=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):Ud(e.provider)?a=e.provider.useFactory(this):a=this.construct(e.provider,n),e.options.lifecycle===tt.ResolutionScoped&&n.scopedResolutions.set(e,a),a},t.prototype.resolveAll=function(e,n,r){var i=this;n===void 0&&(n=new ms),r===void 0&&(r=!1),this.ensureNotDisposed();var s=this.getAllRegistrations(e);if(!s&&Cr(e)){if(r)return[];throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"')}if(this.executePreResolutionInterceptor(e,"All"),s){var a=s.map(function(l){return i.resolveRegistration(l,n)});return this.executePostResolutionInterceptor(e,a,"All"),a}var c=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,c,"All"),c},t.prototype.isRegistered=function(e,n){return n===void 0&&(n=!1),this.ensureNotDisposed(),this._registry.has(e)||n&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var e,n;this.ensureNotDisposed();try{for(var r=gs(this._registry.entries()),i=r.next();!i.done;i=r.next()){var s=Ia(i.value,2),a=s[0],c=s[1];this._registry.setAll(a,c.filter(function(l){return!Cs(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=gs(this._registry.entries()),s=i.next();!s.done;s=i.next()){var a=Ia(s.value,2),c=a[0],l=a[1];l.some(function(d){var p=d.options;return p.lifecycle===tt.ContainerScoped})&&r._registry.setAll(c,l.map(function(d){return d.options.lifecycle===tt.ContainerScoped?{provider:d.provider,options:d.options}:d}))}}catch(d){e={error:d}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:r})},t.prototype.afterResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:r})},t.prototype.dispose=function(){return L4(this,void 0,void 0,function(){var e;return U4(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(r){var i=r.dispose();i&&e.push(i)}),[4,Promise.all(e)];case 1:return n.sent(),[2]}})})},t.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},t.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},t.prototype.construct=function(e,n){var r=this;if(e instanceof Ky)return e.createProxy(function(s){return r.resolve(s,n)});var i=(function(){var s=Gy.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var a=s.map(r.resolveParams(n,e));return new(e.bind.apply(e,Kn([void 0],a)))})();return J4(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,s){var a,c,l;try{return q4(i)?xh(i)?i.multiple?(a=r.resolve(i.transform)).transform.apply(a,Kn([r.resolveAll(i.token,new ms,i.isOptional)],i.transformArgs)):(c=r.resolve(i.transform)).transform.apply(c,Kn([r.resolve(i.token,e,i.isOptional)],i.transformArgs)):i.multiple?r.resolveAll(i.token,new ms,i.isOptional):r.resolve(i.token,e,i.isOptional):xh(i)?(l=r.resolve(i.transform,e)).transform.apply(l,Kn([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(d){throw new Error(W4(n,s,d))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t})(),Fe=new Q4;function Lc(t){return function(e){Gy.set(e,M4(e))}}if(typeof Reflect>"u"||!Reflect.getMetadata)throw new Error(`tsyringe requires a reflect polyfill. Please add 'import "reflect-metadata"' to the top of your entry point.`);var Dd;class Uc{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}h([m({type:b.ObjectIdentifier})],Uc.prototype,"attrId",void 0);h([m({type:b.Any,repeated:"set"})],Uc.prototype,"attrValues",void 0);let Sh=Dd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Dd.prototype)}};Sh=Dd=h([j({type:E.Sequence,itemType:Uc})],Sh);var Md;let zh=Md=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Md.prototype)}};zh=Md=h([j({type:E.Sequence,itemType:vi})],zh);class Wy{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Wy.prototype,"certId",void 0);h([m({type:b.Any,context:0})],Wy.prototype,"certValue",void 0);class Jy{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Jy.prototype,"crlId",void 0);h([m({type:b.Any,context:0})],Jy.prototype,"crltValue",void 0);class Xy extends ae{}let Dc=class{constructor(e={}){this.encryptionAlgorithm=new U,this.encryptedData=new Xy,Object.assign(this,e)}};h([m({type:U})],Dc.prototype,"encryptionAlgorithm",void 0);h([m({type:Xy})],Dc.prototype,"encryptedData",void 0);var qd,Fd;(function(t){t[t.v1=0]="v1"})(Fd||(Fd={}));class Zy extends ae{}let Hd=qd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,qd.prototype)}};Hd=qd=h([j({type:E.Sequence,itemType:fn})],Hd);class rs{constructor(e={}){this.version=Fd.v1,this.privateKeyAlgorithm=new U,this.privateKey=new Zy,Object.assign(this,e)}}h([m({type:b.Integer})],rs.prototype,"version",void 0);h([m({type:U})],rs.prototype,"privateKeyAlgorithm",void 0);h([m({type:Zy})],rs.prototype,"privateKey",void 0);h([m({type:Hd,implicit:!0,context:0,optional:!0})],rs.prototype,"attributes",void 0);let Ah=class extends rs{};Ah=h([j({type:E.Sequence})],Ah);let Eh=class extends Dc{};Eh=h([j({type:E.Sequence})],Eh);class Yy{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Yy.prototype,"secretTypeId",void 0);h([m({type:b.Any,context:0})],Yy.prototype,"secretValue",void 0);class is{constructor(e={}){this.mac=new Rc,this.macSalt=new ae,this.iterations=1,Object.assign(this,e)}}h([m({type:Rc})],is.prototype,"mac",void 0);h([m({type:ae})],is.prototype,"macSalt",void 0);h([m({type:b.Integer,defaultValue:1})],is.prototype,"iterations",void 0);class Mc{constructor(e={}){this.version=3,this.authSafe=new vi,this.macData=new is,Object.assign(this,e)}}h([m({type:b.Integer})],Mc.prototype,"version",void 0);h([m({type:vi})],Mc.prototype,"authSafe",void 0);h([m({type:is,optional:!0})],Mc.prototype,"macData",void 0);var Vd;class qc{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],qc.prototype,"bagId",void 0);h([m({type:b.Any,context:0})],qc.prototype,"bagValue",void 0);h([m({type:Uc,repeated:"set",optional:!0})],qc.prototype,"bagAttributes",void 0);let Ch=Vd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Vd.prototype)}};Ch=Vd=h([j({type:E.Sequence,itemType:qc})],Ch);var Kd,Gd,Wd;const Qy="1.2.840.113549.1.9",e1=`${Qy}.7`,kp=`${Qy}.14`;let ja=class extends qe{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};h([m({type:b.IA5String})],ja.prototype,"ia5String",void 0);ja=h([j({type:E.Choice})],ja);let Nh=class extends vi{};Nh=h([j({type:E.Sequence})],Nh);let Ih=class extends Mc{};Ih=h([j({type:E.Sequence})],Ih);let jh=class extends Dc{};jh=h([j({type:E.Sequence})],jh);let Jd=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.IA5String})],Jd.prototype,"value",void 0);Jd=h([j({type:E.Choice})],Jd);let Oh=class extends ja{};Oh=h([j({type:E.Choice})],Oh);let Ph=class extends qe{};Ph=h([j({type:E.Choice})],Ph);let Xd=class{constructor(e=new Date){this.value=e}};h([m({type:b.GeneralizedTime})],Xd.prototype,"value",void 0);Xd=h([j({type:E.Choice})],Xd);let Th=class extends qe{};Th=h([j({type:E.Choice})],Th);let Zd=class{constructor(e="M"){this.value=e}toString(){return this.value}};h([m({type:b.PrintableString})],Zd.prototype,"value",void 0);Zd=h([j({type:E.Choice})],Zd);let Oa=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.PrintableString})],Oa.prototype,"value",void 0);Oa=h([j({type:E.Choice})],Oa);let Rh=class extends Oa{};Rh=h([j({type:E.Choice})],Rh);let Bh=class extends qe{};Bh=h([j({type:E.Choice})],Bh);let Yd=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.ObjectIdentifier})],Yd.prototype,"value",void 0);Yd=h([j({type:E.Choice})],Yd);let Lh=class extends Ue{};Lh=h([j({type:E.Choice})],Lh);let Qd=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};h([m({type:b.Integer})],Qd.prototype,"value",void 0);Qd=h([j({type:E.Choice})],Qd);let Uh=class extends Zt{};Uh=h([j({type:E.Sequence})],Uh);let Pa=class extends qe{};Pa=h([j({type:E.Choice})],Pa);let Dh=Kd=class extends Tn{constructor(e){super(e),Object.setPrototypeOf(this,Kd.prototype)}};Dh=Kd=h([j({type:E.Sequence})],Dh);let Mh=Gd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Gd.prototype)}};Mh=Gd=h([j({type:E.Set,itemType:bi})],Mh);let eu=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.BmpString})],eu.prototype,"value",void 0);eu=h([j({type:E.Choice})],eu);let tu=class extends U{};tu=h([j({type:E.Sequence})],tu);let qh=Wd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Wd.prototype)}};qh=Wd=h([j({type:E.Sequence,itemType:tu})],qh);var nu;let Ta=nu=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,nu.prototype)}};Ta=nu=h([j({type:E.Sequence,itemType:fn})],Ta);class xi{constructor(e={}){this.version=0,this.subject=new Ce,this.subjectPKInfo=new At,this.attributes=new Ta,Object.assign(this,e)}}h([m({type:b.Integer})],xi.prototype,"version",void 0);h([m({type:Ce})],xi.prototype,"subject",void 0);h([m({type:At})],xi.prototype,"subjectPKInfo",void 0);h([m({type:Ta,implicit:!0,context:0,optional:!0})],xi.prototype,"attributes",void 0);class Ao{constructor(e={}){this.certificationRequestInfo=new xi,this.signatureAlgorithm=new U,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:xi,raw:!0})],Ao.prototype,"certificationRequestInfo",void 0);h([m({type:U})],Ao.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],Ao.prototype,"signature",void 0);const os="crypto.algorithm";class e${getAlgorithms(){return Fe.resolveAll(os)}toAsnAlgorithm(e){({...e});for(const n of this.getAlgorithms()){const r=n.toAsnAlgorithm(e);if(r)return r}if(/^[0-9.]+$/.test(e.name)){const n=new U({algorithm:e.name});if("parameters"in e){const r=e;n.parameters=r.parameters}return n}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(const r of this.getAlgorithms()){const i=r.toWebAlgorithm(e);if(i)return i}return{name:e.algorithm,parameters:e.parameters}}}const _r="crypto.algorithmProvider";Fe.registerSingleton(_r,e$);var Ns;const st="1.3.36.3.3.2.8.1.1",Fh=`${st}.1`,Hh=`${st}.2`,Vh=`${st}.3`,Kh=`${st}.4`,Gh=`${st}.5`,Wh=`${st}.6`,Jh=`${st}.7`,Xh=`${st}.8`,Zh=`${st}.9`,Yh=`${st}.10`,Qh=`${st}.11`,eg=`${st}.12`,tg=`${st}.13`,ng=`${st}.14`,rg="brainpoolP160r1",ig="brainpoolP160t1",og="brainpoolP192r1",sg="brainpoolP192t1",ag="brainpoolP224r1",cg="brainpoolP224t1",lg="brainpoolP256r1",dg="brainpoolP256t1",ug="brainpoolP320r1",pg="brainpoolP320t1",fg="brainpoolP384r1",hg="brainpoolP384t1",gg="brainpoolP512r1",mg="brainpoolP512t1",ve="ECDSA";let Eo=Ns=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case ve.toLowerCase():if("hash"in e)switch((typeof e.hash=="string"?e.hash:e.hash.name).toLowerCase()){case"sha-1":return x4;case"sha-256":return S4;case"sha-384":return z4;case"sha-512":return A4}else if("namedCurve"in e){let n="";switch(e.namedCurve){case"P-256":n=vh;break;case"K-256":n=Ns.SECP256K1;break;case"P-384":n=$h;break;case"P-521":n=kh;break;case rg:n=Fh;break;case ig:n=Hh;break;case og:n=Vh;break;case sg:n=Kh;break;case ag:n=Gh;break;case cg:n=Wh;break;case lg:n=Jh;break;case dg:n=Xh;break;case ug:n=Zh;break;case pg:n=Yh;break;case fg:n=Qh;break;case hg:n=eg;break;case gg:n=tg;break;case mg:n=ng;break}if(n)return new U({algorithm:So,parameters:P.serialize(new Bn({namedCurve:n}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case mp:return{name:ve,hash:{name:"SHA-1"}};case _p:return{name:ve,hash:{name:"SHA-256"}};case yp:return{name:ve,hash:{name:"SHA-384"}};case wp:return{name:ve,hash:{name:"SHA-512"}};case So:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(P.parse(e.parameters,Bn).namedCurve){case vh:return{name:ve,namedCurve:"P-256"};case Ns.SECP256K1:return{name:ve,namedCurve:"K-256"};case $h:return{name:ve,namedCurve:"P-384"};case kh:return{name:ve,namedCurve:"P-521"};case Fh:return{name:ve,namedCurve:rg};case Hh:return{name:ve,namedCurve:ig};case Vh:return{name:ve,namedCurve:og};case Kh:return{name:ve,namedCurve:sg};case Gh:return{name:ve,namedCurve:ag};case Wh:return{name:ve,namedCurve:cg};case Jh:return{name:ve,namedCurve:lg};case Xh:return{name:ve,namedCurve:dg};case Zh:return{name:ve,namedCurve:ug};case Yh:return{name:ve,namedCurve:pg};case Qh:return{name:ve,namedCurve:fg};case eg:return{name:ve,namedCurve:hg};case tg:return{name:ve,namedCurve:gg};case ng:return{name:ve,namedCurve:mg}}}}return null}};Eo.SECP256K1="1.3.132.0.10";Eo=Ns=h([Lc()],Eo);Fe.registerSingleton(os,Eo);const t1=Symbol("name"),n1=Symbol("value");class le{constructor(e,n={},r=""){this[t1]=e,this[n1]=r;for(const i in n)this[i]=n[i]}}le.NAME=t1;le.VALUE=n1;class t${static toTextObject(e){const n=new le("Algorithm Identifier",{},Mn.toString(e.algorithm));if(e.parameters)switch(e.algorithm){case So:{const r=new Eo().toWebAlgorithm(e);r&&"namedCurve"in r?n["Named Curve"]=r.namedCurve:n.Parameters=e.parameters;break}default:n.Parameters=e.parameters}return n}}class Mn{static toString(e){const n=this.items[e];return n||e}}Mn.items={[Aa]:"sha1",[qy]:"sha224",[Ea]:"sha256",[Ca]:"sha384",[Na]:"sha512",[hr]:"rsaEncryption",[xa]:"sha1WithRSAEncryption",[O4]:"sha224WithRSAEncryption",[Pd]:"sha256WithRSAEncryption",[Sa]:"sha384WithRSAEncryption",[za]:"sha512WithRSAEncryption",[So]:"ecPublicKey",[mp]:"ecdsaWithSHA1",[Uy]:"ecdsaWithSHA224",[_p]:"ecdsaWithSHA256",[yp]:"ecdsaWithSHA384",[wp]:"ecdsaWithSHA512",[_4]:"TLS WWW server authentication",[y4]:"TLS WWW client authentication",[w4]:"Code Signing",[b4]:"E-mail Protection",[v4]:"Time Stamping",[$4]:"OCSP Signing",[k4]:"Signed Data"};class yr{static serialize(e){return this.serializeObj(e).join(`
73
+ `)}function W4(t,e,n){var r=Ia(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2),i=r[1],s=i===void 0?null:i,a=K4(s,e);return G4("Cannot inject the dependency "+a+' of "'+t.name+'" constructor. Reason:',n)}function J4(t){if(typeof t.dispose!="function")return!1;var e=t.dispose;return!(e.length>0)}var X4=(function(t){vp(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e})($p),Z4=(function(t){vp(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e})($p),Y4=(function(){function t(){this.preResolution=new X4,this.postResolution=new Z4}return t})(),Gy=new Map,Q4=(function(){function t(e){this.parent=e,this._registry=new V4,this.interceptors=new Y4,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(e,n,r){r===void 0&&(r={lifecycle:tt.Transient}),this.ensureNotDisposed();var i;if(H4(n)?i=n:i={useClass:n},Es(i))for(var s=[e],a=i;a!=null;){var c=a.useToken;if(s.includes(c))throw new Error("Token registration cycle detected! "+Kn(s,[c]).join(" -> "));s.push(c);var l=this._registry.get(c);l&&Es(l.provider)?a=l.provider:a=null}if((r.lifecycle===tt.Singleton||r.lifecycle==tt.ContainerScoped||r.lifecycle==tt.ResolutionScoped)&&(Cs(i)||Ud(i)))throw new Error('Cannot use lifecycle "'+tt[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(e,{provider:i,options:r}),this},t.prototype.registerType=function(e,n){return this.ensureNotDisposed(),Cr(n)?this.register(e,{useToken:n}):this.register(e,{useClass:n})},t.prototype.registerInstance=function(e,n){return this.ensureNotDisposed(),this.register(e,{useValue:n})},t.prototype.registerSingleton=function(e,n){if(this.ensureNotDisposed(),Cr(e)){if(Cr(n))return this.register(e,{useToken:n},{lifecycle:tt.Singleton});if(n)return this.register(e,{useClass:n},{lifecycle:tt.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=e;return n&&!Cr(n)&&(r=n),this.register(e,{useClass:r},{lifecycle:tt.Singleton})},t.prototype.resolve=function(e,n,r){n===void 0&&(n=new ms),r===void 0&&(r=!1),this.ensureNotDisposed();var i=this.getRegistration(e);if(!i&&Cr(e)){if(r)return;throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"')}if(this.executePreResolutionInterceptor(e,"Single"),i){var s=this.resolveRegistration(i,n);return this.executePostResolutionInterceptor(e,s,"Single"),s}if(F4(e)){var s=this.construct(e,n);return this.executePostResolutionInterceptor(e,s,"Single"),s}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(e,n){var r,i;if(this.interceptors.preResolution.has(e)){var s=[];try{for(var a=gs(this.interceptors.preResolution.getAll(e)),c=a.next();!c.done;c=a.next()){var l=c.value;l.options.frequency!="Once"&&s.push(l),l.callback(e,n)}}catch(d){r={error:d}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(e,s)}},t.prototype.executePostResolutionInterceptor=function(e,n,r){var i,s;if(this.interceptors.postResolution.has(e)){var a=[];try{for(var c=gs(this.interceptors.postResolution.getAll(e)),l=c.next();!l.done;l=c.next()){var d=l.value;d.options.frequency!="Once"&&a.push(d),d.callback(e,n,r)}}catch(p){i={error:p}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(e,a)}},t.prototype.resolveRegistration=function(e,n){if(this.ensureNotDisposed(),e.options.lifecycle===tt.ResolutionScoped&&n.scopedResolutions.has(e))return n.scopedResolutions.get(e);var r=e.options.lifecycle===tt.Singleton,i=e.options.lifecycle===tt.ContainerScoped,s=r||i,a;return Cs(e.provider)?a=e.provider.useValue:Es(e.provider)?a=s?e.instance||(e.instance=this.resolve(e.provider.useToken,n)):this.resolve(e.provider.useToken,n):Vy(e.provider)?a=s?e.instance||(e.instance=this.construct(e.provider.useClass,n)):this.construct(e.provider.useClass,n):Ud(e.provider)?a=e.provider.useFactory(this):a=this.construct(e.provider,n),e.options.lifecycle===tt.ResolutionScoped&&n.scopedResolutions.set(e,a),a},t.prototype.resolveAll=function(e,n,r){var i=this;n===void 0&&(n=new ms),r===void 0&&(r=!1),this.ensureNotDisposed();var s=this.getAllRegistrations(e);if(!s&&Cr(e)){if(r)return[];throw new Error('Attempted to resolve unregistered dependency token: "'+e.toString()+'"')}if(this.executePreResolutionInterceptor(e,"All"),s){var a=s.map(function(l){return i.resolveRegistration(l,n)});return this.executePostResolutionInterceptor(e,a,"All"),a}var c=[this.construct(e,n)];return this.executePostResolutionInterceptor(e,c,"All"),c},t.prototype.isRegistered=function(e,n){return n===void 0&&(n=!1),this.ensureNotDisposed(),this._registry.has(e)||n&&(this.parent||!1)&&this.parent.isRegistered(e,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var e,n;this.ensureNotDisposed();try{for(var r=gs(this._registry.entries()),i=r.next();!i.done;i=r.next()){var s=Ia(i.value,2),a=s[0],c=s[1];this._registry.setAll(a,c.filter(function(l){return!Cs(l.provider)}).map(function(l){return l.instance=void 0,l}))}}catch(l){e={error:l}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=gs(this._registry.entries()),s=i.next();!s.done;s=i.next()){var a=Ia(s.value,2),c=a[0],l=a[1];l.some(function(d){var p=d.options;return p.lifecycle===tt.ContainerScoped})&&r._registry.setAll(c,l.map(function(d){return d.options.lifecycle===tt.ContainerScoped?{provider:d.provider,options:d.options}:d}))}}catch(d){e={error:d}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.preResolution.set(e,{callback:n,options:r})},t.prototype.afterResolution=function(e,n,r){r===void 0&&(r={frequency:"Always"}),this.interceptors.postResolution.set(e,{callback:n,options:r})},t.prototype.dispose=function(){return L4(this,void 0,void 0,function(){var e;return U4(this,function(n){switch(n.label){case 0:return this.disposed=!0,e=[],this.disposables.forEach(function(r){var i=r.dispose();i&&e.push(i)}),[4,Promise.all(e)];case 1:return n.sent(),[2]}})})},t.prototype.getRegistration=function(e){return this.isRegistered(e)?this._registry.get(e):this.parent?this.parent.getRegistration(e):null},t.prototype.getAllRegistrations=function(e){return this.isRegistered(e)?this._registry.getAll(e):this.parent?this.parent.getAllRegistrations(e):null},t.prototype.construct=function(e,n){var r=this;if(e instanceof Ky)return e.createProxy(function(s){return r.resolve(s,n)});var i=(function(){var s=Gy.get(e);if(!s||s.length===0){if(e.length===0)return new e;throw new Error('TypeInfo not known for "'+e.name+'"')}var a=s.map(r.resolveParams(n,e));return new(e.bind.apply(e,Kn([void 0],a)))})();return J4(i)&&this.disposables.add(i),i},t.prototype.resolveParams=function(e,n){var r=this;return function(i,s){var a,c,l;try{return q4(i)?xh(i)?i.multiple?(a=r.resolve(i.transform)).transform.apply(a,Kn([r.resolveAll(i.token,new ms,i.isOptional)],i.transformArgs)):(c=r.resolve(i.transform)).transform.apply(c,Kn([r.resolve(i.token,e,i.isOptional)],i.transformArgs)):i.multiple?r.resolveAll(i.token,new ms,i.isOptional):r.resolve(i.token,e,i.isOptional):xh(i)?(l=r.resolve(i.transform,e)).transform.apply(l,Kn([r.resolve(i.token,e)],i.transformArgs)):r.resolve(i,e)}catch(d){throw new Error(W4(n,s,d))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t})(),Fe=new Q4;function Lc(t){return function(e){Gy.set(e,M4(e))}}if(typeof Reflect>"u"||!Reflect.getMetadata)throw new Error(`tsyringe requires a reflect polyfill. Please add 'import "reflect-metadata"' to the top of your entry point.`);var Dd;class Uc{constructor(e={}){this.attrId="",this.attrValues=[],Object.assign(e)}}h([m({type:b.ObjectIdentifier})],Uc.prototype,"attrId",void 0);h([m({type:b.Any,repeated:"set"})],Uc.prototype,"attrValues",void 0);let Sh=Dd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Dd.prototype)}};Sh=Dd=h([j({type:C.Sequence,itemType:Uc})],Sh);var Md;let zh=Md=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Md.prototype)}};zh=Md=h([j({type:C.Sequence,itemType:vi})],zh);class Wy{constructor(e={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Wy.prototype,"certId",void 0);h([m({type:b.Any,context:0})],Wy.prototype,"certValue",void 0);class Jy{constructor(e={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Jy.prototype,"crlId",void 0);h([m({type:b.Any,context:0})],Jy.prototype,"crltValue",void 0);class Xy extends ae{}let Dc=class{constructor(e={}){this.encryptionAlgorithm=new U,this.encryptedData=new Xy,Object.assign(this,e)}};h([m({type:U})],Dc.prototype,"encryptionAlgorithm",void 0);h([m({type:Xy})],Dc.prototype,"encryptedData",void 0);var qd,Fd;(function(t){t[t.v1=0]="v1"})(Fd||(Fd={}));class Zy extends ae{}let Hd=qd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,qd.prototype)}};Hd=qd=h([j({type:C.Sequence,itemType:fn})],Hd);class rs{constructor(e={}){this.version=Fd.v1,this.privateKeyAlgorithm=new U,this.privateKey=new Zy,Object.assign(this,e)}}h([m({type:b.Integer})],rs.prototype,"version",void 0);h([m({type:U})],rs.prototype,"privateKeyAlgorithm",void 0);h([m({type:Zy})],rs.prototype,"privateKey",void 0);h([m({type:Hd,implicit:!0,context:0,optional:!0})],rs.prototype,"attributes",void 0);let Ah=class extends rs{};Ah=h([j({type:C.Sequence})],Ah);let Eh=class extends Dc{};Eh=h([j({type:C.Sequence})],Eh);class Yy{constructor(e={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],Yy.prototype,"secretTypeId",void 0);h([m({type:b.Any,context:0})],Yy.prototype,"secretValue",void 0);class is{constructor(e={}){this.mac=new Rc,this.macSalt=new ae,this.iterations=1,Object.assign(this,e)}}h([m({type:Rc})],is.prototype,"mac",void 0);h([m({type:ae})],is.prototype,"macSalt",void 0);h([m({type:b.Integer,defaultValue:1})],is.prototype,"iterations",void 0);class Mc{constructor(e={}){this.version=3,this.authSafe=new vi,this.macData=new is,Object.assign(this,e)}}h([m({type:b.Integer})],Mc.prototype,"version",void 0);h([m({type:vi})],Mc.prototype,"authSafe",void 0);h([m({type:is,optional:!0})],Mc.prototype,"macData",void 0);var Vd;class qc{constructor(e={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:b.ObjectIdentifier})],qc.prototype,"bagId",void 0);h([m({type:b.Any,context:0})],qc.prototype,"bagValue",void 0);h([m({type:Uc,repeated:"set",optional:!0})],qc.prototype,"bagAttributes",void 0);let Ch=Vd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Vd.prototype)}};Ch=Vd=h([j({type:C.Sequence,itemType:qc})],Ch);var Kd,Gd,Wd;const Qy="1.2.840.113549.1.9",e1=`${Qy}.7`,kp=`${Qy}.14`;let ja=class extends qe{constructor(e={}){super(e)}toString(){return this.ia5String||super.toString()}};h([m({type:b.IA5String})],ja.prototype,"ia5String",void 0);ja=h([j({type:C.Choice})],ja);let Nh=class extends vi{};Nh=h([j({type:C.Sequence})],Nh);let Ih=class extends Mc{};Ih=h([j({type:C.Sequence})],Ih);let jh=class extends Dc{};jh=h([j({type:C.Sequence})],jh);let Jd=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.IA5String})],Jd.prototype,"value",void 0);Jd=h([j({type:C.Choice})],Jd);let Oh=class extends ja{};Oh=h([j({type:C.Choice})],Oh);let Ph=class extends qe{};Ph=h([j({type:C.Choice})],Ph);let Xd=class{constructor(e=new Date){this.value=e}};h([m({type:b.GeneralizedTime})],Xd.prototype,"value",void 0);Xd=h([j({type:C.Choice})],Xd);let Th=class extends qe{};Th=h([j({type:C.Choice})],Th);let Zd=class{constructor(e="M"){this.value=e}toString(){return this.value}};h([m({type:b.PrintableString})],Zd.prototype,"value",void 0);Zd=h([j({type:C.Choice})],Zd);let Oa=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.PrintableString})],Oa.prototype,"value",void 0);Oa=h([j({type:C.Choice})],Oa);let Rh=class extends Oa{};Rh=h([j({type:C.Choice})],Rh);let Bh=class extends qe{};Bh=h([j({type:C.Choice})],Bh);let Yd=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.ObjectIdentifier})],Yd.prototype,"value",void 0);Yd=h([j({type:C.Choice})],Yd);let Lh=class extends Ue{};Lh=h([j({type:C.Choice})],Lh);let Qd=class{constructor(e=0){this.value=e}toString(){return this.value.toString()}};h([m({type:b.Integer})],Qd.prototype,"value",void 0);Qd=h([j({type:C.Choice})],Qd);let Uh=class extends Zt{};Uh=h([j({type:C.Sequence})],Uh);let Pa=class extends qe{};Pa=h([j({type:C.Choice})],Pa);let Dh=Kd=class extends Tn{constructor(e){super(e),Object.setPrototypeOf(this,Kd.prototype)}};Dh=Kd=h([j({type:C.Sequence})],Dh);let Mh=Gd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Gd.prototype)}};Mh=Gd=h([j({type:C.Set,itemType:bi})],Mh);let eu=class{constructor(e=""){this.value=e}toString(){return this.value}};h([m({type:b.BmpString})],eu.prototype,"value",void 0);eu=h([j({type:C.Choice})],eu);let tu=class extends U{};tu=h([j({type:C.Sequence})],tu);let qh=Wd=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,Wd.prototype)}};qh=Wd=h([j({type:C.Sequence,itemType:tu})],qh);var nu;let Ta=nu=class extends de{constructor(e){super(e),Object.setPrototypeOf(this,nu.prototype)}};Ta=nu=h([j({type:C.Sequence,itemType:fn})],Ta);class xi{constructor(e={}){this.version=0,this.subject=new Ce,this.subjectPKInfo=new At,this.attributes=new Ta,Object.assign(this,e)}}h([m({type:b.Integer})],xi.prototype,"version",void 0);h([m({type:Ce})],xi.prototype,"subject",void 0);h([m({type:At})],xi.prototype,"subjectPKInfo",void 0);h([m({type:Ta,implicit:!0,context:0,optional:!0})],xi.prototype,"attributes",void 0);class Ao{constructor(e={}){this.certificationRequestInfo=new xi,this.signatureAlgorithm=new U,this.signature=new ArrayBuffer(0),Object.assign(this,e)}}h([m({type:xi,raw:!0})],Ao.prototype,"certificationRequestInfo",void 0);h([m({type:U})],Ao.prototype,"signatureAlgorithm",void 0);h([m({type:b.BitString})],Ao.prototype,"signature",void 0);const os="crypto.algorithm";class e${getAlgorithms(){return Fe.resolveAll(os)}toAsnAlgorithm(e){({...e});for(const n of this.getAlgorithms()){const r=n.toAsnAlgorithm(e);if(r)return r}if(/^[0-9.]+$/.test(e.name)){const n=new U({algorithm:e.name});if("parameters"in e){const r=e;n.parameters=r.parameters}return n}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(const r of this.getAlgorithms()){const i=r.toWebAlgorithm(e);if(i)return i}return{name:e.algorithm,parameters:e.parameters}}}const _r="crypto.algorithmProvider";Fe.registerSingleton(_r,e$);var Ns;const st="1.3.36.3.3.2.8.1.1",Fh=`${st}.1`,Hh=`${st}.2`,Vh=`${st}.3`,Kh=`${st}.4`,Gh=`${st}.5`,Wh=`${st}.6`,Jh=`${st}.7`,Xh=`${st}.8`,Zh=`${st}.9`,Yh=`${st}.10`,Qh=`${st}.11`,eg=`${st}.12`,tg=`${st}.13`,ng=`${st}.14`,rg="brainpoolP160r1",ig="brainpoolP160t1",og="brainpoolP192r1",sg="brainpoolP192t1",ag="brainpoolP224r1",cg="brainpoolP224t1",lg="brainpoolP256r1",dg="brainpoolP256t1",ug="brainpoolP320r1",pg="brainpoolP320t1",fg="brainpoolP384r1",hg="brainpoolP384t1",gg="brainpoolP512r1",mg="brainpoolP512t1",ve="ECDSA";let Eo=Ns=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case ve.toLowerCase():if("hash"in e)switch((typeof e.hash=="string"?e.hash:e.hash.name).toLowerCase()){case"sha-1":return x4;case"sha-256":return S4;case"sha-384":return z4;case"sha-512":return A4}else if("namedCurve"in e){let n="";switch(e.namedCurve){case"P-256":n=vh;break;case"K-256":n=Ns.SECP256K1;break;case"P-384":n=$h;break;case"P-521":n=kh;break;case rg:n=Fh;break;case ig:n=Hh;break;case og:n=Vh;break;case sg:n=Kh;break;case ag:n=Gh;break;case cg:n=Wh;break;case lg:n=Jh;break;case dg:n=Xh;break;case ug:n=Zh;break;case pg:n=Yh;break;case fg:n=Qh;break;case hg:n=eg;break;case gg:n=tg;break;case mg:n=ng;break}if(n)return new U({algorithm:So,parameters:P.serialize(new Bn({namedCurve:n}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case mp:return{name:ve,hash:{name:"SHA-1"}};case _p:return{name:ve,hash:{name:"SHA-256"}};case yp:return{name:ve,hash:{name:"SHA-384"}};case wp:return{name:ve,hash:{name:"SHA-512"}};case So:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(P.parse(e.parameters,Bn).namedCurve){case vh:return{name:ve,namedCurve:"P-256"};case Ns.SECP256K1:return{name:ve,namedCurve:"K-256"};case $h:return{name:ve,namedCurve:"P-384"};case kh:return{name:ve,namedCurve:"P-521"};case Fh:return{name:ve,namedCurve:rg};case Hh:return{name:ve,namedCurve:ig};case Vh:return{name:ve,namedCurve:og};case Kh:return{name:ve,namedCurve:sg};case Gh:return{name:ve,namedCurve:ag};case Wh:return{name:ve,namedCurve:cg};case Jh:return{name:ve,namedCurve:lg};case Xh:return{name:ve,namedCurve:dg};case Zh:return{name:ve,namedCurve:ug};case Yh:return{name:ve,namedCurve:pg};case Qh:return{name:ve,namedCurve:fg};case eg:return{name:ve,namedCurve:hg};case tg:return{name:ve,namedCurve:gg};case ng:return{name:ve,namedCurve:mg}}}}return null}};Eo.SECP256K1="1.3.132.0.10";Eo=Ns=h([Lc()],Eo);Fe.registerSingleton(os,Eo);const t1=Symbol("name"),n1=Symbol("value");class le{constructor(e,n={},r=""){this[t1]=e,this[n1]=r;for(const i in n)this[i]=n[i]}}le.NAME=t1;le.VALUE=n1;class t${static toTextObject(e){const n=new le("Algorithm Identifier",{},Mn.toString(e.algorithm));if(e.parameters)switch(e.algorithm){case So:{const r=new Eo().toWebAlgorithm(e);r&&"namedCurve"in r?n["Named Curve"]=r.namedCurve:n.Parameters=e.parameters;break}default:n.Parameters=e.parameters}return n}}class Mn{static toString(e){const n=this.items[e];return n||e}}Mn.items={[Aa]:"sha1",[qy]:"sha224",[Ea]:"sha256",[Ca]:"sha384",[Na]:"sha512",[hr]:"rsaEncryption",[xa]:"sha1WithRSAEncryption",[O4]:"sha224WithRSAEncryption",[Pd]:"sha256WithRSAEncryption",[Sa]:"sha384WithRSAEncryption",[za]:"sha512WithRSAEncryption",[So]:"ecPublicKey",[mp]:"ecdsaWithSHA1",[Uy]:"ecdsaWithSHA224",[_p]:"ecdsaWithSHA256",[yp]:"ecdsaWithSHA384",[wp]:"ecdsaWithSHA512",[_4]:"TLS WWW server authentication",[y4]:"TLS WWW client authentication",[w4]:"Code Signing",[b4]:"E-mail Protection",[v4]:"Time Stamping",[$4]:"OCSP Signing",[k4]:"Signed Data"};class yr{static serialize(e){return this.serializeObj(e).join(`
74
74
  `)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,n=0){const r=[];let i=this.pad(n++),s="";const a=e[le.VALUE];a&&(s=` ${a}`),r.push(`${i}${e[le.NAME]}:${s}`),i=this.pad(n);for(const c in e){if(typeof c=="symbol")continue;const l=e[c],d=c?`${c}: `:"";if(typeof l=="string"||typeof l=="number"||typeof l=="boolean")r.push(`${i}${d}${l}`);else if(l instanceof Date)r.push(`${i}${d}${l.toUTCString()}`);else if(Array.isArray(l))for(const p of l)p[le.NAME]=c,r.push(...this.serializeObj(p,n));else if(l instanceof le)l[le.NAME]=c,r.push(...this.serializeObj(l,n));else if(T.isBufferSource(l))c?(r.push(`${i}${d}`),r.push(...this.serializeBufferSource(l,n+1))):r.push(...this.serializeBufferSource(l,n));else if("toTextObject"in l){const p=l.toTextObject();p[le.NAME]=c,r.push(...this.serializeObj(p,n))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return r}static serializeBufferSource(e,n=0){const r=this.pad(n),i=T.toUint8Array(e),s=[];for(let a=0;a<i.length;){const c=[];for(let l=0;l<16&&a<i.length;l++){l===8&&c.push("");const d=i[a++].toString(16).padStart(2,"0");c.push(d)}s.push(`${r}${c.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}yr.oidSerializer=Mn;yr.algorithmSerializer=t$;var jr;class qn{get rawData(){return te(this,jr,"f")||we(this,jr,P.serialize(this.asn),"f"),te(this,jr,"f")}constructor(...e){jr.set(this,void 0),T.isBufferSource(e[0])?(this.asn=P.parse(e[0],e[1]),we(this,jr,T.toArrayBuffer(e[0]),"f"),this.onInit(this.asn)):(this.asn=e[0],this.onInit(this.asn))}equal(e){return e instanceof qn?x_(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return P.toString(this.rawData);case"text":return yr.serialize(this.toTextObject());case"hex":return q.ToHex(this.rawData);case"base64":return q.ToBase64(this.rawData);case"base64url":return q.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const e=this.toTextObjectEmpty();return e[""]=this.rawData,e}toTextObjectEmpty(e){return new le(this.getTextName(),{},e)}}jr=new WeakMap;qn.NAME="ASN";class pt extends qn{constructor(...e){let n;T.isBufferSource(e[0])?n=T.toArrayBuffer(e[0]):n=P.serialize(new yt({extnID:e[0],critical:e[1],extnValue:new ae(T.toArrayBuffer(e[2]))})),super(n,yt)}onInit(e){this.type=e.extnID,this.critical=e.critical,this.value=e.extnValue.buffer}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.value,e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty(this.critical?"critical":void 0);return e[le.NAME]===pt.NAME&&(e[le.NAME]=Mn.toString(this.type)),e}}var r1;class Cn{static isCryptoKeyPair(e){return e&&e.privateKey&&e.publicKey}static isCryptoKey(e){return e&&e.usages&&e.type&&e.algorithm&&e.extractable!==void 0}constructor(){this.items=new Map,this[r1]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(Cn.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(Cn.DEFAULT,global.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,n){return this.items.forEach(e,n)}has(e){return this.items.has(e)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(e=Cn.DEFAULT){const n=this.items.get(e.toLowerCase());if(!n)throw new Error(`Cannot get Crypto by name '${e}'`);return n}set(e,n){if(typeof e=="string"){if(!n)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),n)}else this.items.set(Cn.DEFAULT,e);return this}}r1=Symbol.toStringTag;Cn.DEFAULT="default";const Te=new Cn,n$=/^[0-2](?:\.[1-9][0-9]*)+$/;function r$(t){return new RegExp(n$).test(t)}class i1{constructor(e={}){this.items={};for(const n in e)this.register(n,e[n])}get(e){return this.items[e]||null}findId(e){return r$(e)?e:this.get(e)}register(e,n){this.items[e]=n,this.items[n]=e}}const rt=new i1;rt.register("CN","2.5.4.3");rt.register("L","2.5.4.7");rt.register("ST","2.5.4.8");rt.register("O","2.5.4.10");rt.register("OU","2.5.4.11");rt.register("C","2.5.4.6");rt.register("DC","0.9.2342.19200300.100.1.25");rt.register("E","1.2.840.113549.1.9.1");rt.register("G","2.5.4.42");rt.register("I","2.5.4.43");rt.register("SN","2.5.4.4");rt.register("T","2.5.4.12");function i$(t,e){return`\\${q.ToHex(q.FromUtf8String(e)).toUpperCase()}`}function o$(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,i$)}class Et{static isASCII(e){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,n={}){this.extraNames=new i1,this.asn=new Ce;for(const r in n)if(Object.prototype.hasOwnProperty.call(n,r)){const i=n[r];this.extraNames.register(r,i)}typeof e=="string"?this.asn=this.fromString(e):e instanceof Ce?this.asn=e:T.isBufferSource(e)?this.asn=P.parse(e,Ce):this.asn=this.fromJSON(e)}getField(e){const n=this.extraNames.findId(e)||rt.findId(e),r=[];for(const i of this.asn)for(const s of i)s.type===n&&r.push(s.value.toString());return r}getName(e){return this.extraNames.get(e)||rt.get(e)}toString(){return this.asn.map(e=>e.map(n=>{const r=this.getName(n.type)||n.type,i=n.value.anyValue?`#${q.ToHex(n.value.anyValue)}`:o$(n.value.toString());return`${r}=${i}`}).join("+")).join(", ")}toJSON(){var e;const n=[];for(const r of this.asn){const i={};for(const s of r){const a=this.getName(s.type)||s.type;(e=i[a])!==null&&e!==void 0||(i[a]=[]),i[a].push(s.value.anyValue?`#${q.ToHex(s.value.anyValue)}`:s.value.toString())}n.push(i)}return n}fromString(e){const n=new Ce,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+"\\](?=[,+]|$))|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,s=",";for(;i=r.exec(`${e},`);){let[,a,c]=i;const l=c[c.length-1];(l===","||l==="+")&&(c=c.slice(0,c.length-1),i[3]=l);const d=i[3];a=this.getTypeOid(a);const p=this.createAttribute(a,c);s==="+"?n[n.length-1].push(p):n.push(new Qr([p])),s=d}return n}fromJSON(e){const n=new Ce;for(const r of e){const i=new Qr;for(const s in r){const a=this.getTypeOid(s),c=r[s];for(const l of c){const d=this.createAttribute(a,l);i.push(d)}}n.push(i)}return n}getTypeOid(e){if(/[\d.]+/.test(e)||(e=this.getName(e)||""),!e)throw new Error(`Cannot get OID for name type '${e}'`);return e}createAttribute(e,n){const r=new yc({type:e});if(typeof n=="object")for(const i in n)switch(i){case"ia5String":r.value.ia5String=n[i];break;case"utf8String":r.value.utf8String=n[i];break;case"universalString":r.value.universalString=n[i];break;case"bmpString":r.value.bmpString=n[i];break;case"printableString":r.value.printableString=n[i];break}else if(n[0]==="#")r.value.anyValue=q.FromHex(n.slice(1));else{const i=this.processStringValue(n);e===this.getName("E")||e===this.getName("DC")?r.value.ia5String=i:Et.isPrintableString(i)?r.value.printableString=i:r.value.utf8String=i}return r}processStringValue(e){const n=/"(.*?[^\\])?"/.exec(e);return n&&(e=n[1]),e.replace(/\\0a/ig,`
75
75
  `).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return P.serialize(this.asn)}async getThumbprint(...e){var n;let r,i="SHA-1";return e.length>=1&&!(!((n=e[0])===null||n===void 0)&&n.subtle)?(i=e[0]||i,r=e[1]||Te.get()):r=e[0]||Te.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const o1="Cannot initialize GeneralName from ASN.1 data.",_g=`${o1} Unsupported string format in use.`,s$=`${o1} Value doesn't match to GUID regular expression.`,yg=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,wg="1.3.6.1.4.1.311.25.1",bg="1.3.6.1.4.1.311.20.2.3",dl="dns",ul="dn",pl="email",fl="ip",hl="url",gl="guid",ml="upn",_s="id";class Nn extends qn{constructor(...e){let n;if(e.length===2)switch(e[0]){case ul:{const r=new Et(e[1]).toArrayBuffer(),i=P.parse(r,Ce);n=new Q({directoryName:i});break}case dl:n=new Q({dNSName:e[1]});break;case pl:n=new Q({rfc822Name:e[1]});break;case gl:{const r=new RegExp(yg,"i").exec(e[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((s,a)=>a<3?q.ToHex(new Uint8Array(q.FromHex(s)).reverse()):s).join("");n=new Q({otherName:new vo({typeId:wg,value:P.serialize(new ae(q.FromHex(i)))})});break}case fl:n=new Q({iPAddress:e[1]});break;case _s:n=new Q({registeredID:e[1]});break;case ml:{n=new Q({otherName:new vo({typeId:bg,value:P.serialize(vy.toASN(e[1]))})});break}case hl:n=new Q({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else T.isBufferSource(e[0])?n=P.parse(e[0],Q):n=e[0];super(n)}onInit(e){if(e.dNSName!=null)this.type=dl,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=pl,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=fl,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=hl,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=_s,this.value=e.registeredID;else if(e.directoryName!=null)this.type=ul,this.value=new Et(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===wg){this.type=gl;const n=P.parse(e.otherName.value,ae),r=new RegExp(yg,"i").exec(q.ToHex(n));if(!r)throw new Error(s$);this.value=r.slice(1).map((i,s)=>s<3?q.ToHex(new Uint8Array(q.FromHex(i)).reverse()):i).join("-")}else if(e.otherName.typeId===bg)this.type=ml,this.value=P.parse(e.otherName.value,qe).toString();else throw new Error(_g);else throw new Error(_g)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case ul:case dl:case gl:case fl:case _s:case ml:case hl:e=this.type.toUpperCase();break;case pl:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let n=this.value;return this.type===_s&&(n=Mn.toString(n)),new le(e,void 0,n)}}class wr extends qn{constructor(e){let n;if(e instanceof Je)n=e;else if(Array.isArray(e)){const r=[];for(const i of e)if(i instanceof Q)r.push(i);else{const s=P.parse(new Nn(i.type,i.value).rawData,Q);r.push(s)}n=new Je(r)}else if(T.isBufferSource(e))n=P.parse(e,Je);else throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(n)}onInit(e){const n=[];for(const r of e){let i=null;try{i=new Nn(r)}catch{continue}n.push(i)}this.items=n}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){const e=super.toTextObjectEmpty();for(const n of this.items){const r=n.toTextObject();let i=e[r[le.NAME]];Array.isArray(i)||(i=[],e[r[le.NAME]]=i),i.push(r)}return e}}wr.NAME="GeneralNames";const uo="-{5}",Co="\\n",a$=`[^${Co}]+`,c$=`${uo}BEGIN (${a$}(?=${uo}))${uo}`,l$=`${uo}END \\1${uo}`,ai="\\n",d$=`[^:${Co}]+`,u$=`(?:[^${Co}]+${ai}(?: +[^${Co}]+${ai})*)`,p$="[a-zA-Z0-9=+/]+",f$=`(?:${p$}${ai})+`,vg=`${c$}${ai}(?:((?:${d$}: ${u$})+))?${ai}?(${f$})${l$}`;class ct{static isPem(e){return typeof e=="string"&&new RegExp(vg,"g").test(e.replace(/\r/g,""))}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const n=new RegExp(vg,"g"),r=[];let i=null;for(;i=n.exec(e);){const s=i[3].replace(new RegExp(`[${Co}]+`,"g"),""),a={type:i[1],headers:[],rawData:q.FromBase64(s)},c=i[2];if(c){const l=c.split(new RegExp(ai,"g"));let d=null;for(const p of l){const[f,g]=p.split(/:(.*)/);if(g===void 0){if(!d)throw new Error("Cannot parse PEM string. Incorrect header value");d.value+=f.trim()}else d&&a.headers.push(d),d={key:f,value:g.trim()}}d&&a.headers.push(d)}r.push(a)}return r}static decode(e){return this.decodeWithHeaders(e).map(r=>r.rawData)}static decodeFirst(e){const n=this.decode(e);if(!n.length)throw new RangeError("PEM string doesn't contain any objects");return n[0]}static encode(e,n){if(Array.isArray(e)){const r=new Array;return n?e.forEach(i=>{if(!T.isBufferSource(i))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:n,rawData:T.toArrayBuffer(i)}))}):e.forEach(i=>{if(!("type"in i))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(i))}),r.join(`
76
76
  `)}else{if(!n)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:n,rawData:T.toArrayBuffer(e)})}}static encodeStruct(e){var n;const r=e.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),!((n=e.headers)===null||n===void 0)&&n.length){for(const d of e.headers)i.push(`${d.key}: ${d.value}`);i.push("")}const s=q.ToBase64(e.rawData);let a,c=0;const l=Array();for(;c<s.length&&(s.length-c<64?a=s.substring(c):(a=s.substring(c,c+64),c+=64),a.length!==0);)if(l.push(a),a.length<64)break;return i.push(...l),i.push(`-----END ${r}-----`),i.join(`
@@ -78,18 +78,18 @@ ${e.join(`
78
78
  `,i=0;for(;i<n.length;)i+64<=n.length?r+=n.substr(i,64)+`\r
79
79
  `:r+=n.substr(i)+`\r
80
80
  `,i+=64;return r+=`-----END ${t} KEY-----\r
81
- `,r}async function b$(t){const e=await t.publicKey.export(),n=await crypto.subtle.exportKey("jwk",e),r=JSON.stringify(n,Object.keys(n).sort()),s=new TextEncoder().encode(r);return Bl(await Hm(s))}const v$=1e3*60*60*24,$$=new o.OpenAPIHono().openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Ol)}},description:"List of keys"}}}),async t=>{const{signingKeys:e}=await t.env.data.keys.list({q:"type:jwt_signing"}),n=e.filter(r=>"cert"in r).map(r=>r);return t.json(n)}).openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ol}},description:"The requested key"}}}),async t=>{const{kid:e}=t.req.valid("param"),{signingKeys:n}=await t.env.data.keys.list({q:"type:jwt_signing"}),r=n.find(i=>i.kid===e);if(!r)throw new v(404,{message:"Key not found"});return t.json(r)}).openapi(o.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const{signingKeys:e}=await t.env.data.keys.list({q:"type:jwt_signing"});for await(const r of e)await t.env.data.keys.update(r.kid,{revoked_at:new Date(Date.now()+v$).toISOString()});const n=await su({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create({...n,type:"jwt_signing"}),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const{kid:e}=t.req.valid("param");if(!await t.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new v(404,{message:"Key not found"});const r=await su({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create({...r,type:"jwt_signing"}),t.text("OK")}),k$=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:o.z.object({email:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.array(bu)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),i=(await Iu(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(i)}),x$=it.extend({clients:o.z.array(Gn)}),S$=new o.OpenAPIHono().openapi(o.createRoute({tags:["clients"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([x$,o.z.array(Gn)])}},description:"List of clients"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),l=(await t.env.data.clients.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a})).clients;return i?t.json({clients:l,start:0,limit:10,length:l.length}):t.json(l)}).openapi(o.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Gn}},description:"A client"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.clients.get(e,n);if(!r)throw new v(404);return t.json(r)}).openapi(o.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.clients.remove(e,n))throw new v(404,{message:"Client not found"});return t.text("OK")}).openapi(o.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Ms.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Gn}},description:"The updated client"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=t.req.valid("json");await t.env.data.clients.update(e,n,i);const s=await t.env.data.clients.get(e,n);if(!s)throw new v(404,{message:"Client not found"});return t.json(s)}).openapi(o.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Ms.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:o.z.object(Gn.shape)}},description:"A client"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,client_secret:n.client_secret||pe()},i=await t.env.data.clients.create(e,r);return t.json(i,{status:201})});o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()});Ma.extend({email:o.z.string(),login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any());const z$=it.extend({tenants:o.z.array(zn)}),A$=new o.OpenAPIHono().openapi(o.createRoute({tags:["tenants","settings"],method:"get",path:"/settings",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:zn}},description:"Current tenant settings"}}}),async t=>{const e=await t.env.data.tenants.get(t.var.tenant_id);if(!e)throw new v(404,{message:"Tenant not found"});return t.json(e)}).openapi(o.createRoute({tags:["tenants","settings"],method:"patch",path:"/settings",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(no.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:zn}},description:"Updated tenant settings"}}}),async t=>{const e=t.req.valid("json"),{id:n,...r}=e,i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new v(404,{message:"Tenant not found"});const s=Pl(i,r);await t.env.data.tenants.update(t.var.tenant_id,s);const a=await t.env.data.tenants.get(t.var.tenant_id);if(!a)throw new v(500,{message:"Failed to retrieve updated tenant"});return t.json(a)}).openapi(o.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.union([o.z.array(zn),z$])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.tenants.list({page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.tenants)}).openapi(o.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:zn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");return await t.env.data.tenants.remove(e),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(no.shape).partial()}}},params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");return await t.env.data.tenants.update(e,n),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(no.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"tenant/json":{schema:zn}},description:"An tenant"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.tenants.create(e);return t.json(n,{status:201})}),E$=it.extend({logs:o.z.array(Vs)}),C$=new o.OpenAPIHono().openapi(o.createRoute({tags:["logs"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Vs),E$])}},description:"List of log rows"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.logs.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.logs)}).openapi(o.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Vs}},description:"A log entry"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.logs.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}),N$=17,I$={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function Vc(t){const r=Mm("0123456789abcdefghijklmnopqrstuvwxyz",N$)();return`${I$[t]}${r}`}function j$(){return Vc("organization")}function O$(){return Vc("connection")}function P$(){return Vc("hook")}function T$(){return Vc("invite")}const R$=it.extend({hooks:o.z.array(Lr)}),B$=new o.OpenAPIHono().openapi(o.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Lr),R$])}},description:"List of hooks"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.hooks.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.hooks)}).openapi(o.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:bs}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Lr}},description:"The created hook"}}}),async t=>{const e=t.req.valid("json"),n={...e,hook_id:e.hook_id||P$()},r=await t.env.data.hooks.create(t.var.tenant_id,n);return t.json(r,{status:201})}).openapi(o.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()}),body:{content:{"application/json":{schema:o.z.union([bs.options[0].omit({hook_id:!0}).partial(),bs.options[1].omit({hook_id:!0}).partial()])}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Lr}},description:"The updated hook"},404:{description:"Hook not found"}}}),async t=>{const{hook_id:e}=t.req.valid("param"),n=t.req.valid("json");await t.env.data.hooks.update(t.var.tenant_id,e,n);const r=await t.env.data.hooks.get(t.var.tenant_id,e);if(!r)throw new v(404,{message:"Hook not found"});return t.json(r)}).openapi(o.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Lr}},description:"A hook"},404:{description:"Hook not found"}}}),async t=>{const{hook_id:e}=t.req.valid("param"),n=await t.env.data.hooks.get(t.var.tenant_id,e);if(!n)throw new v(404,{message:"Hook not found"});return t.json(n)}).openapi(o.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{description:"A hook"}}}),async t=>{const{hook_id:e}=t.req.valid("param");if(!await t.env.data.hooks.remove(t.var.tenant_id,e))throw new v(404,{message:"Hook not found"});return t.text("OK")}),L$=it.extend({connections:o.z.array(St)}),U$=new o.OpenAPIHono().openapi(o.createRoute({tags:["connections"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(St),L$])}},description:"List of connectionss"}}}),async t=>{const{page:e,per_page:n,include_totals:r=!1,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.connections.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.connections)}).openapi(o.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:St}},description:"A connection"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.connections.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.connections.remove(t.var.tenant_id,e))throw new v(404,{message:"Connection not found"});return t.text("OK")}).openapi(o.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Fs.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:St}},description:"The updated connection"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");if(!await t.env.data.connections.update(t.var.tenant_id,e,n))throw new v(404,{message:"Connection not found"});const i=await t.env.data.connections.get(t.var.tenant_id,e);if(!i)throw new v(404,{message:"Connection not found"});return t.json(i)}).openapi(o.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Fs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:St}},description:"A connection"}}}),async t=>{const e=t.req.valid("json"),n={...e,id:e.id||O$()},r=await t.env.data.connections.create(t.var.tenant_id,n);return t.json(r,{status:201})}),D$=new o.OpenAPIHono().openapi(o.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:$s}},description:"Branding settings"}}}),async t=>{const e=await t.env.data.promptSettings.get(t.var.tenant_id);return e?t.json(e):t.json($s.parse({}))}).openapi(o.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object($s.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.promptSettings.get(t.var.tenant_id);return Object.assign(n,e),await t.env.data.promptSettings.set(t.var.tenant_id,n),t.json(n)});let zg=!1;function Ep(t){t.use(async(e,n)=>(zg||(t.openAPIRegistry.registerComponent("securitySchemes","Bearer",{type:"oauth2",scheme:"bearer",flows:{implicit:{authorizationUrl:`${e.env.AUTH_URL}/authorize`,scopes:{openid:"Basic user information",email:"User email",profile:"User profile information"}}}}),zg=!0),await n()))}var M$=(t,e)=>{try{return e(t)}catch{return t.replace(/(?:%[0-9A-Fa-f]{2})+/g,n=>{try{return e(n)}catch{return n}})}},q$=decodeURIComponent,F$=/^[\w!#$%&'*.^`|~+-]+$/,H$=/^[ !#-:<-[\]-~]*$/,V$=(t,e)=>{if(t.indexOf(e)===-1)return{};const n=t.trim().split(";"),r={};for(let i of n){i=i.trim();const s=i.indexOf("=");if(s===-1)continue;const a=i.substring(0,s).trim();if(e!==a||!F$.test(a))continue;let c=i.substring(s+1).trim();if(c.startsWith('"')&&c.endsWith('"')&&(c=c.slice(1,-1)),H$.test(c)){r[a]=c.indexOf("%")!==-1?M$(c,q$):c;break}}return r},K$=(t,e,n={})=>{let r=`${t}=${e}`;if(t.startsWith("__Secure-")&&!n.secure)throw new Error("__Secure- Cookie must have Secure attributes");if(t.startsWith("__Host-")){if(!n.secure)throw new Error("__Host- Cookie must have Secure attributes");if(n.path!=="/")throw new Error('__Host- Cookie must have Path attributes with "/"');if(n.domain)throw new Error("__Host- Cookie must not have Domain attributes")}if(n&&typeof n.maxAge=="number"&&n.maxAge>=0){if(n.maxAge>3456e4)throw new Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!=="host"&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw new Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+="; HttpOnly"),n.secure&&(r+="; Secure"),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw new Error("Partitioned Cookie must have Secure attributes");r+="; Partitioned"}return r},wl=(t,e,n)=>(e=encodeURIComponent(e),K$(t,e,n)),G$=(t,e,n)=>{const r=t.req.raw.headers.get("Cookie");{if(!r)return;let i=e;return V$(r,i)[i]}},W$=(t,e,n)=>{let r;return n?.prefix==="secure"?r=wl("__Secure-"+t,e,{path:"/",...n,secure:!0}):n?.prefix==="host"?r=wl("__Host-"+t,e,{...n,path:"/",secure:!0,domain:void 0}):r=wl(t,e,{path:"/",...n}),r},Ag=(t,e,n,r)=>{const i=W$(e,n,r);t.header("Set-Cookie",i,{append:!0})},p1=t=>f1(t.replace(/_|-/g,e=>({_:"/","-":"+"})[e]??e)),f1=t=>{const e=atob(t),n=new Uint8Array(new ArrayBuffer(e.length)),r=e.length/2;for(let i=0,s=e.length-1;i<=r;i++,s--)n[i]=e.charCodeAt(i),n[s]=e.charCodeAt(s);return n},h1=(t=>(t.HS256="HS256",t.HS384="HS384",t.HS512="HS512",t.RS256="RS256",t.RS384="RS384",t.RS512="RS512",t.PS256="PS256",t.PS384="PS384",t.PS512="PS512",t.ES256="ES256",t.ES384="ES384",t.ES512="ES512",t.EdDSA="EdDSA",t))(h1||{}),J$=class extends Error{constructor(t){super(`${t} is not an implemented algorithm`),this.name="JwtAlgorithmNotImplemented"}},g1=class extends Error{constructor(t){super(`invalid JWT token: ${t}`),this.name="JwtTokenInvalid"}},X$=class extends Error{constructor(t){super(`token (${t}) is being used before it's valid`),this.name="JwtTokenNotBefore"}},Z$=class extends Error{constructor(t){super(`token (${t}) expired`),this.name="JwtTokenExpired"}},Y$=class extends Error{constructor(t,e){super(`Invalid "iat" claim, must be a valid number lower than "${t}" (iat: "${e}")`),this.name="JwtTokenIssuedAt"}},bl=class extends Error{constructor(t,e){super(`expected issuer "${t}", got ${e?`"${e}"`:"none"} `),this.name="JwtTokenIssuer"}},Q$=class extends Error{constructor(t){super(`jwt header is invalid: ${JSON.stringify(t)}`),this.name="JwtHeaderInvalid"}},ek=class extends Error{constructor(t){super(`token(${t}) signature mismatched`),this.name="JwtTokenSignatureMismatched"}},tk=class extends Error{constructor(t){super(`required "aud" in jwt payload: ${JSON.stringify(t)}`),this.name="JwtPayloadRequiresAud"}},nk=class extends Error{constructor(t,e){super(`expected audience "${Array.isArray(t)?t.join(", "):t}", got "${e}"`),this.name="JwtTokenAudience"}},Ba=(t=>(t.Encrypt="encrypt",t.Decrypt="decrypt",t.Sign="sign",t.Verify="verify",t.DeriveKey="deriveKey",t.DeriveBits="deriveBits",t.WrapKey="wrapKey",t.UnwrapKey="unwrapKey",t))(Ba||{}),m1=new TextEncoder,rk=new TextDecoder;async function ik(t,e,n,r){const i=sk(e),s=await ok(t,i);return await crypto.subtle.verify(i,s,n,r)}function Eg(t){return f1(t.replace(/-+(BEGIN|END).*/g,"").replace(/\s/g,""))}async function ok(t,e){if(!crypto.subtle||!crypto.subtle.importKey)throw new Error("`crypto.subtle.importKey` is undefined. JWT auth middleware requires it.");if(ak(t)){if(t.type==="public"||t.type==="secret")return t;t=await Cg(t)}if(typeof t=="string"&&t.includes("PRIVATE")){const r=await crypto.subtle.importKey("pkcs8",Eg(t),e,!0,[Ba.Sign]);t=await Cg(r)}const n=[Ba.Verify];return typeof t=="object"?await crypto.subtle.importKey("jwk",t,e,!1,n):t.includes("PUBLIC")?await crypto.subtle.importKey("spki",Eg(t),e,!1,n):await crypto.subtle.importKey("raw",m1.encode(t),e,!1,n)}async function Cg(t){if(t.type!=="private")throw new Error(`unexpected key type: ${t.type}`);if(!t.extractable)throw new Error("unexpected private key is unextractable");const e=await crypto.subtle.exportKey("jwk",t),{kty:n}=e,{alg:r,e:i,n:s}=e,{crv:a,x:c,y:l}=e;return{kty:n,alg:r,e:i,n:s,crv:a,x:c,y:l,key_ops:[Ba.Verify]}}function sk(t){switch(t){case"HS256":return{name:"HMAC",hash:{name:"SHA-256"}};case"HS384":return{name:"HMAC",hash:{name:"SHA-384"}};case"HS512":return{name:"HMAC",hash:{name:"SHA-512"}};case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"RS384":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"RS512":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"PS256":return{name:"RSA-PSS",hash:{name:"SHA-256"},saltLength:32};case"PS384":return{name:"RSA-PSS",hash:{name:"SHA-384"},saltLength:48};case"PS512":return{name:"RSA-PSS",hash:{name:"SHA-512"},saltLength:64};case"ES256":return{name:"ECDSA",hash:{name:"SHA-256"},namedCurve:"P-256"};case"ES384":return{name:"ECDSA",hash:{name:"SHA-384"},namedCurve:"P-384"};case"ES512":return{name:"ECDSA",hash:{name:"SHA-512"},namedCurve:"P-521"};case"EdDSA":return{name:"Ed25519",namedCurve:"Ed25519"};default:throw new J$(t)}}function ak(t){return qm()==="node"&&crypto.webcrypto?t instanceof crypto.webcrypto.CryptoKey:t instanceof CryptoKey}var Ng=t=>JSON.parse(rk.decode(p1(t)));function ck(t){if(typeof t=="object"&&t!==null){const e=t;return"alg"in e&&Object.values(h1).includes(e.alg)&&(!("typ"in e)||e.typ==="JWT")}return!1}var lk=async(t,e,n)=>{const{alg:r="HS256",iss:i,nbf:s=!0,exp:a=!0,iat:c=!0,aud:l}=typeof n=="string"?{alg:n}:n||{},d=t.split(".");if(d.length!==3)throw new g1(t);const{header:p,payload:f}=_1(t);if(!ck(p))throw new Q$(p);const g=Date.now()/1e3|0;if(s&&f.nbf&&f.nbf>g)throw new X$(t);if(a&&f.exp&&f.exp<=g)throw new Z$(t);if(c&&f.iat&&g<f.iat)throw new Y$(g,f.iat);if(i){if(!f.iss)throw new bl(i,null);if(typeof i=="string"&&f.iss!==i)throw new bl(i,f.iss);if(i instanceof RegExp&&!i.test(f.iss))throw new bl(i,f.iss)}if(l){if(!f.aud)throw new tk(f);if(!(Array.isArray(f.aud)?f.aud:[f.aud]).some(I=>l instanceof RegExp?l.test(I):typeof l=="string"?I===l:Array.isArray(l)&&l.includes(I)))throw new nk(l,f.aud)}const _=t.substring(0,t.lastIndexOf("."));if(!await ik(e,r,p1(d[2]),m1.encode(_)))throw new ek(t);return f},_1=t=>{try{const[e,n]=t.split("."),r=Ng(e),i=Ng(n);return{header:r,payload:i}}catch{throw new g1(t)}},y1={verify:lk,decode:_1},dk=y1.verify,uk=y1.decode;async function au(t){const{signingKeys:e}=await t.keys.list({q:"type:jwt_signing"});return await Promise.all(e.map(async r=>{const s=await new Hc(r.cert).publicKey.export(),a=await crypto.subtle.exportKey("jwk",s);return Su.parse({...a,kid:r.kid})}))}o.z.object({alg:o.z.literal("RS256"),kty:o.z.literal("RSA"),use:o.z.literal("sig"),n:o.z.string(),e:o.z.string(),kid:o.z.string(),x5t:o.z.string(),x5c:o.z.array(o.z.string())});async function pk(t){if(t.JWKS_URL&&t.JWKS_SERVICE){const e=await t.JWKS_SERVICE.fetch(t.JWKS_URL);return e.ok?(await e.json()).keys:(console.warn(`JWKS fetch failed with status ${e.status}, falling back to database`),await au(t.data))}return await au(t.data)}async function fk(t,e){try{const{header:n}=uk(e),i=(await pk(t.env)).find(c=>c.kid===n.kid);if(!i)throw new L(401,{message:"No matching kid found"});const s=await crypto.subtle.importKey("jwk",i,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return await dk(e,s,"RS256")}catch(n){throw n instanceof v?n:new L(403,{message:"Invalid JWT signature"})}}function hk(t){return t.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}function gk(t,e){return e.startsWith(t)?e:t+e}function Cp(t){return async(e,n)=>{const r=e.req.matchedRoutes.find(c=>c.method.toUpperCase()===e.req.method&&c.path!=="/*");if(!r)return await n();const i=hk(r.path),s="basePath"in r&&typeof r.basePath=="string"?r.basePath:"",a=t.openAPIRegistry.definitions.find(c=>"route"in c&&gk(s,c.route.path)===i&&c.route.method.toUpperCase()===e.req.method.toUpperCase());if(a&&"route"in a){const c=a.route.security?.[0]?.Bearer;if(!c?.length)return await n();const l=e.req.header("authorization")||"",[d,p]=l.split(" ");if(d?.toLowerCase()!=="bearer"||!p)throw new L(401,{message:"Missing bearer token"});try{const f=await fk(e,p);e.set("user_id",f.sub),e.set("user",f),!e.var.tenant_id&&f.tenant_id&&e.set("tenant_id",f.tenant_id);const g=f.permissions||[],_=f.scope?.split(" ")||[];if(c.length&&!(c.some(w=>g.includes(w))||c.some(w=>_.includes(w))))throw new L(403,{message:"Unauthorized"})}catch(f){throw f instanceof v?f:new L(403,{message:"Invalid token"})}}return await n()}}const mk=new o.OpenAPIHono().openapi(o.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ks}},description:"Email provider"}}}),async t=>{const e=await t.env.data.emailProviders.get(t.var.tenant_id);if(!e)throw new v(404,{message:"Email provider not found"});return t.json(e)}).openapi(o.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(ks.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const e=t.req.valid("json");return await t.env.data.emailProviders.create(t.var.tenant_id,e),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(ks.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const e=t.req.valid("json");return await t.env.data.emailProviders.update(t.var.tenant_id,e),t.text("OK")}),_k=new o.OpenAPIHono().openapi(o.createRoute({tags:["sessions"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Va}},description:"A session"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.sessions.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["sessions"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.sessions.remove(t.var.tenant_id,e))throw new v(404,{message:"Session not found"});return t.text("OK")}).openapi(o.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{202:{description:"Sesssion deletion status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.sessions.update(t.var.tenant_id,e,{revoked_at:new Date().toDateString()}))throw new v(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),yk=new o.OpenAPIHono().openapi(o.createRoute({tags:["refresh_tokens"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Au}},description:"A session"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.refreshTokens.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["refresh_tokens"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.refreshTokens.remove(t.var.tenant_id,e))throw new v(404,{message:"Session not found"});return t.text("OK")}),wk=new o.OpenAPIHono().openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Sn)}},description:"List of custom domains"}}}),async t=>{const e=await t.env.data.customDomains.list(t.var.tenant_id);return t.json(e)}).openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Sn}},description:"A customDomain"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.customDomains.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["custom-domains"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.customDomains.remove(t.var.tenant_id,e))throw new v(404,{message:"Custom domain not found"});return t.text("OK")}).openapi(o.createRoute({tags:["custom-domains"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Sn.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Sn}},description:"The updated custom domain"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");if(!await t.env.data.customDomains.update(t.var.tenant_id,e,n))throw new v(404);const i=await t.env.data.customDomains.get(t.var.tenant_id,e);if(!i)throw new v(404);return t.json(i)}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(ku.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Sn}},description:"The created custom domain"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.customDomains.create(t.var.tenant_id,e);return t.json(n,{status:201})}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/{id}/verify",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Sn}},description:"The custom domain"}}}),async()=>{throw new v(501,{message:"Not implemented"})});function Kc(t,e){const n={};for(const[r,i]of Object.entries(e)){if(i==null)continue;const s={};for(const[a,c]of Object.entries(i))typeof c=="function"?s[a]=async(...l)=>{const d=performance.now();try{const p=await c(...l),g=performance.now()-d,_=t.res.headers.get("Server-Timing")||"",w=_?`${_}, ${r}-${a};dur=${g.toFixed(2)}`:`${r}-${a};dur=${g.toFixed(2)}`;return t.res.headers.set("Server-Timing",w),p}catch(p){const g=performance.now()-d,_=t.res.headers.get("Server-Timing")||"",w=_?`${_}, ${r}-${a}-error;dur=${g.toFixed(2)}`:`${r}-${a}-error;dur=${g.toFixed(2)}`;throw t.res.headers.set("Server-Timing",w),p}}:s[a]=c;n[r]=s}return n}async function Gc(t,e){const n=t.req.header("x-forwarded-host");if(n){const i=await t.env.data.customDomains.getByDomain(n);if(i)return t.set("tenant_id",i.tenant_id),t.set("custom_domain",n),t.set("host",n),await e()}const r=t.req.header("host");if(r){t.set("host",r);const i=r.split(".");if(i.length>1&&typeof i[0]=="string"){const s=i[0];await t.env.data.tenants.get(s)&&t.set("tenant_id",s)}}else t.set("host",new URL(ec(t.env)).host);if(!t.var.tenant_id){const i=t.req.header("tenant-id");i&&t.set("tenant_id",i)}return await e()}const bk=o.z.object({name:o.z.string(),version:o.z.string(),env:o.z.object({node:o.z.string().optional()}).optional()});function vk(t){if(t)try{let e=t;try{e=atob(t)}catch{}try{const n=JSON.parse(e);return bk.parse(n)}catch{}}catch{return}}const Wc=async(t,e)=>{const n=t.req.query("auth0Client")?.slice(0,255),i=(t.req.header("x-forwarded-host")&&t.req.header("x-forwarded-for")?t.req.header("x-forwarded-for")?.split(",")[0]?.trim():t.req.header("cf-connecting-ip")||t.req.header("x-real-ip"))?.slice(0,45),s=t.req.header("user-agent")?.slice(0,512),a=t.req.header("cf-ipcountry")?.slice(0,2),c=n?vk(n):void 0;c&&t.set("auth0_client",c),i&&t.set("ip",i),s&&t.set("useragent",s),a&&t.set("countryCode",a),await e()};function $k(t,e,n,r){try{const i=`${t}:${e}:${JSON.stringify(n)}`;return r?`${r}:${i}`:i}catch{const s=`${t}:${e}:${Date.now()}-${Math.random()}`;return r?`${r}:${s}`:s}}function Jc(t,e){const{cache:n,defaultTtl:r,customTtls:i={},excludeMethods:s=[],cacheEntities:a=[],keyPrefix:c}=e,l=new Set(s),d=a.length===0,p=new Set(a),f={};for(const[g,_]of Object.entries(t)){if(_==null)continue;const w=d||p.has(g),k={};for(const[z,I]of Object.entries(_))if(typeof I=="function"){if(!w){k[z]=I;continue}const N=`${g}:${z}`;if(l.has(N)){k[z]=I;continue}const S=i[N]??r,C=["create","update","remove","delete","set","used"].includes(z);k[z]=async(...O)=>{if(C)return await I.apply(_,O);const K=$k(g,z,O,c),W=await n.get(K);if(W!==null)if(W&&typeof W=="object"&&"isCachedNull"in W){const F=W;return F.isCachedNull?null:F.value}else return W;const ie=await I.apply(_,O);if(S>=0)if(ie!==null)await n.set(K,ie,S);else{const F={value:null,isCachedNull:!0};await n.set(K,F,S)}return ie}}else k[z]=I;f[g]=k}return f}class kk{constructor(e={}){this.config=e;const n=e.cleanupIntervalMs;n&&n>0&&(this.cleanupTimer=setInterval(()=>{this.cleanupExpired()},n))}cache=new Map;accessOrder=new Map;accessCounter=0;cleanupTimer;async get(e){const n=this.cache.get(e);return n?n.expiresAt&&n.expiresAt<new Date?(this.cache.delete(e),this.accessOrder.delete(e),null):(this.accessOrder.set(e,++this.accessCounter),n.value):null}async set(e,n,r){let i;const s=r??this.config.defaultTtlSeconds,a=s!==void 0,c=a?Math.max(0,s):0;a&&(i=new Date(Date.now()+(c>0?c*1e3:-1))),this.config.maxEntries&&this.cache.size>=this.config.maxEntries&&!this.cache.has(e)&&this.evictLeastRecentlyUsed();const l={value:n,expiresAt:i};this.cache.set(e,l),this.accessOrder.set(e,++this.accessCounter)}async delete(e){const n=this.cache.has(e);return this.cache.delete(e),this.accessOrder.delete(e),n}async clear(){this.cache.clear(),this.accessOrder.clear(),this.accessCounter=0}getStats(){return{size:this.cache.size,maxEntries:this.config.maxEntries,defaultTtlSeconds:this.config.defaultTtlSeconds}}cleanupExpired(){const e=new Date,n=[];for(const[r,i]of this.cache.entries())i.expiresAt&&i.expiresAt<e&&n.push(r);for(const r of n)this.cache.delete(r),this.accessOrder.delete(r)}evictLeastRecentlyUsed(){let e=null,n=1/0;for(const[r,i]of this.accessOrder.entries())i<n&&(n=i,e=r);e&&(this.cache.delete(e),this.accessOrder.delete(e))}destroy(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=void 0)}}function cs(t={}){return new kk(t)}const xk=it.extend({forms:o.z.array(Br)}),Sk=new o.OpenAPIHono().openapi(o.createRoute({tags:["forms"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Br),xk])}},description:"List of forms"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.forms.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a});return i?t.json(c):t.json(c.forms)}).openapi(o.createRoute({tags:["forms"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Br}},description:"A form"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.forms.get(e,n);if(!r)throw new v(404);return t.json(r)}).openapi(o.createRoute({tags:["forms"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.forms.remove(e,n))throw new v(404,{message:"Form not found"});return t.text("OK")}).openapi(o.createRoute({tags:["forms"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Hs.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Br}},description:"The updated form"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.forms.update(e,n,r))throw new v(404,{message:"Form not found"});const s=await t.env.data.forms.get(e,n);if(!s)throw new v(404,{message:"Form not found"});return t.json(s)}).openapi(o.createRoute({tags:["forms"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Hs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Br}},description:"A form"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.forms.create(e,n);return t.json(r,{status:201})}),zk=it.extend({roles:o.z.array(Xn)}),Ak=new o.OpenAPIHono().openapi(o.createRoute({tags:["roles"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Xn),zk])}},description:"List of roles"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.roles.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.roles)}).openapi(o.createRoute({tags:["roles"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Xn}},description:"A role"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.roles.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["roles"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Gs}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Xn}},description:"Role created"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.roles.create(t.var.tenant_id,e);return t.json(n,{status:201})}).openapi(o.createRoute({tags:["roles"],method:"patch",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Gs.partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Xn}},description:"Updated role"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");if(!await t.env.data.roles.update(t.var.tenant_id,e,n))throw new v(404);const i=await t.env.data.roles.get(t.var.tenant_id,e);return t.json(i)}).openapi(o.createRoute({tags:["roles"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.roles.remove(t.var.tenant_id,e))throw new v(404);return t.text("OK")}).openapi(o.createRoute({tags:["roles"],method:"get",path:"/{id}/permissions",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:km}},description:"Role permissions"}}}),async t=>{const{id:e}=t.req.valid("param"),{page:n,per_page:r,sort:i,q:s}=t.req.valid("query");if(!await t.env.data.roles.get(t.var.tenant_id,e))throw new v(404,{message:"Role not found"});const c=await t.env.data.rolePermissions.list(t.var.tenant_id,e,{page:n,per_page:r,include_totals:!1,sort:Ge(i),q:s});return t.json(c)}).openapi(o.createRoute({tags:["roles"],method:"post",path:"/{id}/permissions",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Permissions assigned to role"}}}),async t=>{const{id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.roles.get(t.var.tenant_id,e))throw new v(404,{message:"Role not found"});if(!await t.env.data.rolePermissions.assign(t.var.tenant_id,e,n.map(s=>({role_id:e,resource_server_identifier:s.resource_server_identifier,permission_name:s.permission_name}))))throw new v(500,{message:"Failed to assign permissions to role"});return t.json({message:"Permissions assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["roles"],method:"delete",path:"/{id}/permissions",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Permissions removed from role"}}}),async t=>{const{id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.roles.get(t.var.tenant_id,e))throw new v(404,{message:"Role not found"});if(!await t.env.data.rolePermissions.remove(t.var.tenant_id,e,n))throw new v(500,{message:"Failed to remove permissions from role"});return t.json({message:"Permissions removed successfully"})}),Ek=it.extend({resource_servers:o.z.array(Jn)}),Ck=new o.OpenAPIHono().openapi(o.createRoute({tags:["resource-servers"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Jn),Ek])}},description:"List of resource servers"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.resourceServers.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a});return i?t.json(c):t.json(c.resource_servers)}).openapi(o.createRoute({tags:["resource-servers"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Jn}},description:"A resource server"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.resourceServers.get(e,n);if(!r)throw new v(404);return t.json(r)}).openapi(o.createRoute({tags:["resource-servers"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.resourceServers.remove(e,n))throw new v(404,{message:"Resource server not found"});return t.text("OK")}).openapi(o.createRoute({tags:["resource-servers"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Ks.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Jn}},description:"The updated resource server"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.resourceServers.update(e,n,r))throw new v(404,{message:"Resource server not found"});const s=await t.env.data.resourceServers.get(e,n);if(!s)throw new v(404,{message:"Resource server not found"});return t.json(s)}).openapi(o.createRoute({tags:["resource-servers"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Ks.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Jn}},description:"A resource server"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.resourceServers.create(e,n);return t.json(r,{status:201})}),Nk=o.z.object({per_page:o.z.string().min(1).optional().default("50").transform(t=>parseInt(t,10)).openapi({description:"Number of results per page. Defaults to 50."}),page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"Page index of the results to return. First page is 0."}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"Return results inside an object that contains the total result count (true) or as a direct array of results (false, default)."}),from:o.z.string().optional().openapi({description:"Optional Id from which to start selection."}),take:o.z.string().min(1).optional().transform(t=>t?parseInt(t,10):void 0).openapi({description:"Number of results per page. Defaults to 50."}),audience:o.z.string().optional().openapi({description:"Optional filter on audience."}),client_id:o.z.string().optional().openapi({description:"Optional filter on client_id."}),allow_any_organization:o.z.string().optional().transform(t=>t==="true"?!0:t==="false"?!1:void 0).openapi({description:"Optional filter on allow_any_organization."}),subject_type:o.z.enum(["client","user"]).optional().openapi({description:"EA The type of application access the client grant allows. Use of this field is subject to the applicable Free Trial terms in Okta's Master Subscription Agreement."})}),Ik=it.extend({client_grants:o.z.array(Wn)}),jk=new o.OpenAPIHono().openapi(o.createRoute({tags:["client-grants"],method:"get",path:"/",request:{query:Nk,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Wn),Ik])}},description:"List of client grants"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,from:s,take:a,audience:c,client_id:l,allow_any_organization:d,subject_type:p}=t.req.valid("query"),f=[];l&&f.push(`client_id:"${l}"`),c&&f.push(`audience:"${c}"`),d!==void 0&&f.push(`allow_any_organization:${d}`),p&&f.push(`subject_type:"${p}"`),s&&f.push(`id:>${s}`);const g=f.length>0?f.join(" AND "):void 0,_=a??r,w=await t.env.data.clientGrants.list(e,{page:n,per_page:_,include_totals:i,q:g});return i?t.json(w):t.json(w.client_grants)}).openapi(o.createRoute({tags:["client-grants"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Wn}},description:"A client grant"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.clientGrants.get(e,n);if(!r)throw new v(404,{message:"Client grant not found"});return t.json(r)}).openapi(o.createRoute({tags:["client-grants"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.clientGrants.remove(e,n))throw new v(404,{message:"Client grant not found"});return t.text("OK")}).openapi(o.createRoute({tags:["client-grants"],method:"patch",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),body:{content:{"application/json":{schema:o.z.object(qs.shape).partial()}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Wn}},description:"The updated client grant"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.clientGrants.get(e,n))throw new v(404,{message:"Client grant not found"});if(!await t.env.data.clientGrants.update(e,n,r))throw new v(500,{message:"Failed to update client grant"});const a=await t.env.data.clientGrants.get(e,n);if(!a)throw new v(404,{message:"Client grant not found"});return t.json(a)}).openapi(o.createRoute({tags:["client-grants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(qs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Wn}},description:"A client grant"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.clientGrants.create(e,n);return t.json(r,{status:201})}),Ok=o.z.object({page:o.z.string().optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"Page index of the results to return. First page is 0."}),per_page:o.z.string().optional().default("50").transform(t=>parseInt(t,10)).openapi({description:"Number of results per page. Defaults to 50."}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"When true, return results inside an object that also contains the start and limit. When false (default), a direct array of results is returned."}),fields:o.z.string().optional().openapi({description:"Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields."}),include_fields:o.z.string().optional().default("true").transform(t=>t==="true").openapi({description:"Whether specified fields are to be included (true) or excluded (false). Defaults to true."}),sort:o.z.string().optional().default("created_at:-1").openapi({description:"Field to sort by. Use field:order where order is 1 for ascending and -1 for descending. Defaults to created_at:-1."})}),Pk=o.z.object({invitations:o.z.array(ro),start:o.z.number(),limit:o.z.number(),length:o.z.number()}),Tk=xu.omit({organization_id:!0,invitation_url:!0}),Rk=it.extend({organizations:o.z.array(An)}),Np=o.z.object({user_id:o.z.string().openapi({description:"ID of this user"}),email:o.z.string().email().optional().openapi({description:"Email address of this user",format:"email"}),roles:o.z.array(o.z.object({})).default([]).openapi({description:"Array of roles assigned to this user in the organization"})}),Bk=o.z.object({start:o.z.number().openapi({description:"Start index of the current page"}),limit:o.z.number().openapi({description:"Number of items per page"}),total:o.z.number().openapi({description:"Total number of members"}),members:o.z.array(Np).openapi({description:"Array of organization members"})}),Lk=o.z.object({next:o.z.string().optional().openapi({description:"Checkpoint ID to be used to retrieve the next set of results"}),members:o.z.array(Np).openapi({description:"Array of organization members"})}),Uk=o.z.object({members:o.z.array(o.z.string()).openapi({description:"Array of user IDs to add to the organization"})}),Dk=o.z.object({members:o.z.array(o.z.string()).openapi({description:"Array of user IDs to remove from the organization"})}),Mk=new o.OpenAPIHono().openapi(o.createRoute({tags:["organizations"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([Rk,o.z.array(An)])}},description:"List of organizations"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.organizations.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a});return i?t.json(c):t.json(c.organizations)}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:An}},description:"An organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.organizations.get(e,n);if(!r)throw new v(404,{message:"Organization not found"});return t.json(r)}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Organization deleted successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.organizations.remove(e,n))throw new v(404,{message:"Organization not found"});return t.text("OK")}).openapi(o.createRoute({tags:["organizations"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:Js.partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:An}},description:"The updated organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.organizations.update(e,n,r))throw new v(404,{message:"Organization not found"});const s=await t.env.data.organizations.get(e,n);if(!s)throw new v(404,{message:"Organization not found"});return t.json(s)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:Js}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:An}},description:"The created organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,id:n.id||j$()},i=await t.env.data.organizations.create(e,r);return t.json(i,{status:201})}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/members",request:{params:o.z.object({id:o.z.string()}),query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Np),Bk,Lk])}},description:"List of organization members"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{page:r,per_page:i,include_totals:s,sort:a}=t.req.valid("query");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});const l=await t.env.data.userOrganizations.list(e,{page:r,per_page:i,include_totals:s,sort:Ge(a),q:`organization_id:${n}`}),d=[];for(const p of l.userOrganizations){const f=await t.env.data.users.get(e,p.user_id);f&&d.push({user_id:f.user_id,email:f.email||void 0,roles:[]})}return s?t.json({start:l.start,limit:l.limit,total:l.length,members:d}):t.json(d)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/{id}/members",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Uk}}}},security:[{Bearer:["auth:write"]}],responses:{204:{description:"Members added successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{members:r}=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});for(const s of r)(await t.env.data.userOrganizations.list(e,{q:`user_id:${s}`,per_page:1})).userOrganizations.some(l=>l.organization_id===n)||await t.env.data.userOrganizations.create(e,{user_id:s,organization_id:n});return new Response(null,{status:204})}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}/members",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Dk}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Members removed successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{members:r}=t.req.valid("json");for(const i of r){const a=(await t.env.data.userOrganizations.list(e,{q:`user_id:${i}`,per_page:100})).userOrganizations.find(c=>c.organization_id===n);a&&await t.env.data.userOrganizations.remove(e,a.id)}return t.json({message:"Members removed successfully"})}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/members/{user_id}/roles",request:{params:o.z.object({id:o.z.string(),user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ws}},description:"User roles in organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,user_id:r}=t.req.valid("param");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});if(!await t.env.data.users.get(e,r))throw new v(404,{message:"User not found"});const a=await t.env.data.userRoles.list(e,r,void 0,n);return t.json(a)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/{id}/members/{user_id}/roles",request:{params:o.z.object({id:o.z.string(),user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string()).openapi({description:"List of role IDs to associate with the user"})})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Roles assigned successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,user_id:r}=t.req.valid("param"),{roles:i}=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});if(!await t.env.data.users.get(e,r))throw new v(404,{message:"User not found"});for(const c of i){if(!await t.env.data.roles.get(e,c))throw new v(400,{message:`Role ${c} not found`});if(!await t.env.data.userRoles.create(e,r,c,n))throw new v(500,{message:`Failed to assign role ${c} to user`})}return t.json({message:"Roles assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}/members/{user_id}/roles",request:{params:o.z.object({id:o.z.string(),user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string()).openapi({description:"List of role IDs to remove from the user"})})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Roles removed successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,user_id:r}=t.req.valid("param"),{roles:i}=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});if(!await t.env.data.users.get(e,r))throw new v(404,{message:"User not found"});for(const c of i)if(!await t.env.data.userRoles.remove(e,r,c,n))throw new v(500,{message:`Failed to remove role ${c} from user`});return t.json({message:"Roles removed successfully"})}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/roles",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ws}},description:"List of roles available in organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{page:r,per_page:i,sort:s,q:a}=t.req.valid("query");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});const l=await t.env.data.roles.list(e,{page:r,per_page:i,sort:Ge(s),q:a});return t.json(l.roles)}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/invitations",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}})}),query:Ok,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(ro),Pk])}},description:"List of organization invitations"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{page:r,per_page:i,include_totals:s,fields:a,include_fields:c,sort:l}=t.req.valid("query");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});let f=(await t.env.data.invites.list(e,{page:r,per_page:i})).invites.filter(g=>g.organization_id===n);if(l){const g=Ge(l);if(g){const{sort_by:_,sort_order:w}=g;f.sort((k,z)=>{const I=k[_],N=z[_];if(I===void 0||N===void 0||I===N)return 0;const S=I<N?-1:1;return w==="asc"?S:-S})}}if(a){const g=a.split(",").map(_=>_.trim());f=f.map(_=>{const w={};for(const k of Object.keys(_))(c?g.includes(k):!g.includes(k))&&(w[k]=_[k]);return w})}return s?t.json({invitations:f,start:r*i,limit:i,length:f.length}):t.json(f)}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/invitations/{invitation_id}",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}}),invitation_id:o.z.string().openapi({description:"Invitation ID",param:{name:"invitation_id",in:"path"}})}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ro}},description:"An invitation"},404:{description:"Invitation not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,invitation_id:r}=t.req.valid("param"),i=await t.env.data.invites.get(e,r);if(!i||i.organization_id!==n)throw new v(404,{message:"Invitation not found"});return t.json(i)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/{id}/invitations",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}})}),body:{content:{"application/json":{schema:Tk}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:ro}},description:"The created invitation"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});const a=`https://invite.placeholder/${T$()}`,c={...r,organization_id:n,invitation_url:a},l=await t.env.data.invites.create(e,c);return t.json(l,{status:201})}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}/invitations/{invitation_id}",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}}),invitation_id:o.z.string().openapi({description:"Invitation ID",param:{name:"invitation_id",in:"path"}})}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{204:{description:"Invitation deleted successfully"},404:{description:"Invitation not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,invitation_id:r}=t.req.valid("param"),i=await t.env.data.invites.get(e,r);if(!i||i.organization_id!==n)throw new v(404,{message:"Invitation not found"});if(!await t.env.data.invites.remove(e,r))throw new v(404,{message:"Invitation not found"});return t.body(null,{status:204})});function qk(t){const e=new o.OpenAPIHono;e.use(P0({origin:r=>r&&t.allowedOrigins?.includes(r)?r:"",allowHeaders:["Tenant-Id","Content-Type","Content-Range","Auth0-Client","Authorization","Range","Upgrade-Insecure-Requests"],allowMethods:["POST","PUT","GET","DELETE","PATCH","OPTIONS"],exposeHeaders:["Content-Length","Content-Range"],maxAge:600,credentials:!0})),Ep(e),e.use(async(r,i)=>{const s=Do(r,t.dataAdapter),a=cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),c=Jc(s,{defaultTtl:0,cacheEntities:["tenants","connections","clients","legacyClients","branding","themes","promptSettings","forms"],cache:a});return r.env.data=Kc(r,c),i()}),e.use(Wc).use(Gc).use(Cp(e));const n=e.route("/branding",mb).route("/custom-domains",wk).route("/email/providers",mk).route("/users",v3).route("/keys",$$).route("/users-by-email",k$).route("/clients",S$).route("/client-grants",jk).route("/tenants",A$).route("/logs",C$).route("/hooks",B$).route("/connections",U$).route("/prompts",D$).route("/sessions",_k).route("/refresh_tokens",yk).route("/forms",Sk).route("/roles",Ak).route("/resource-servers",Ck).route("/organizations",Mk);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management API"},servers:[{url:"/api/v2",description:"API V2"}],security:[{oauth2:["openid","email","profile"]}]}),n}function Fk(t,e){Object.keys(e).forEach(n=>{const r=e[n];r!=null&&r.length&&t.searchParams.set(n,r)})}function _n(t){if(t)return`${t.name}/${t.version}${t.env?.node?` (env: node/${t.env.node})`:""}`}async function zi(t,e){const n=await t.data.legacyClients.get(e);if(!n)throw new L(403,{message:"Client not found"});let r=n;if(t.DEFAULT_CLIENT_ID||t.DEFAULT_TENANT_ID){const i=t.DEFAULT_CLIENT_ID?await t.data.legacyClients.get(t.DEFAULT_CLIENT_ID):void 0,s=await t.data.connections.list(n.tenant.id),a=t.DEFAULT_TENANT_ID?await t.data.connections.list(t.DEFAULT_TENANT_ID):{connections:[]},c=s.connections.map(l=>{const d=a.connections?.find(f=>f.name===l.name);if(!d?.options)return l;const p=St.parse({...d||{},...l});return p.options=Dr.passthrough().parse({...d.options||{},...l.options}),p}).filter(l=>l);r={...n,web_origins:[...i?.web_origins||[],...n.web_origins||[]],allowed_logout_urls:[...i?.allowed_logout_urls||[],...n.allowed_logout_urls||[]],callbacks:[...i?.callbacks||[],...n.callbacks||[]],connections:c,tenant:{...i?.tenant||{},...n.tenant}}}return{...r,web_origins:[...r.web_origins||[],`${De(t)}login`],allowed_logout_urls:[...r.allowed_logout_urls||[],t.ISSUER],callbacks:[...r.callbacks||[],`${De(t)}info`]}}async function Ig(t,e,n,r){if(!r.state)throw new L(400,{message:"State not found"});const i=e.connections.find(l=>l.name===n);if(!i)throw t.set("client_id",e.client_id),await ne(t,e.tenant.id,{type:ee.FAILED_LOGIN,description:"Connection not found"}),new L(403,{message:"Connection Not Found"});let s=await t.env.data.loginSessions.get(e.tenant.id,r.state);if(!s){const l=t.get("ip"),d=t.get("useragent"),p=t.get("auth0_client");s=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:r,csrf_token:pe(),ip:l,useragent:d,auth0Client:_n(p)})}const c=await k_(t,i.strategy).getRedirect(t,i);return await t.env.data.codes.create(e.tenant.id,{login_id:s.id,code_id:c.code,code_type:"oauth2_state",connection_id:i.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+Xb*1e3).toISOString()}),new Response(null,{status:302,headers:{location:c.redirectUrl}})}async function jg(t,{code:e,state:n}){const{env:r}=t,i=await r.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!i||!i.connection_id)throw new L(403,{message:"State not found"});const s=await r.data.loginSessions.get(t.var.tenant_id||"",i.login_id);if(!s)throw new L(403,{message:"Session not found"});if(s.authorization_url){const w=new URL(s.authorization_url).hostname,k=t.var.host||"";if(w!==k&&w){const z=new URL(`https://${w}/callback`);return z.searchParams.set("state",n),z.searchParams.set("code",e),new Response("Redirecting",{status:307,headers:{location:z.toString()}})}}const a=await zi(r,s.authParams.client_id);t.set("client_id",a.client_id),t.set("tenant_id",a.tenant.id);const c=a.connections.find(w=>w.id===i.connection_id);if(!c)throw await ne(t,a.tenant.id,{type:ee.FAILED_LOGIN,description:"Connection not found"}),new L(403,{message:"Connection not found"});if(t.set("connection",c.name),!s.authParams.redirect_uri)throw await ne(t,a.tenant.id,{type:ee.FAILED_LOGIN,description:"Redirect URI not defined"}),new L(403,{message:"Redirect URI not defined"});const d=await k_(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,i.code_verifier),{sub:p,...f}=d;t.set("user_id",p);const g=d.email?.toLocaleLowerCase()||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",g);const _=await Za(t,{client:a,username:g,provider:c.strategy,connection:c.name,userId:p,profileData:f,isSocial:!0,ip:t.var.ip});return Gt(t,{client:a,authParams:s.authParams,loginSession:s,user:_,authStrategy:{strategy:c.strategy,strategy_type:"social"}})}async function Og(t,e,n,r,i,s){const a=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!a)throw new v(400,{message:"State not found"});const c=await t.env.data.loginSessions.get(t.var.tenant_id,a.login_id);if(!c)throw new v(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new v(400,{message:"Redirect uri not found"});ne(t,t.var.tenant_id,{type:ee.FAILED_LOGIN,description:`Failed connection login: ${i} ${n}, ${r}`});const d=new URL(l);return Fk(d,{error:n,error_description:r,error_reason:s,error_code:i,state:c.authParams.state}),t.redirect(`${De(t.env)}login/identifier?state=${c.id}&error=${n}`)}const Hk=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})},responses:{302:{description:"Redirect to the client's redirect uri"},400:{description:"Bad Request",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}},500:{description:"Internal Server Error",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("query");if(r)return Og(t,e,r,i,s,a);if(!n)throw new v(400,{message:"Code is required"});const c=await jg(t,{code:n,state:e});if(!(c instanceof Response))throw new v(500,{message:"Internal server error"});return c}).openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})}}}},responses:{302:{description:"Redirect to the client's redirect uri"},400:{description:"Bad Request",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}},500:{description:"Internal Server Error",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("form");if(r)return Og(t,e,r,i,s,a);if(!n)throw new v(400,{message:"Code is required"});const c=await jg(t,{code:n,state:e});if(!(c instanceof Response))throw new v(500,{message:"Internal server error"});return c});function Ip(t,e=[],n={}){try{const r=new URL(t);return e.some(i=>{try{return Vk(r,new URL(i),n)}catch{return!1}})}catch{return!1}}function Vk(t,e,n={}){if(t.protocol!==e.protocol)return!1;if(n.allowPathWildcards&&e.pathname.includes("*")){const r=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${r}$`).test(t.pathname))return!1}else if(t.pathname!==e.pathname)return!1;if(n.allowSubDomainWildcards&&e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const r=e.hostname.split(".").slice(1).join(".");return t.hostname===r||t.hostname.endsWith("."+r)}return t.hostname===e.hostname}const Kk=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),returnTo:o.z.string().optional()}),header:o.z.object({cookie:o.z.string().optional()})},responses:{302:{description:"Log the user out"}}}),async t=>{const{client_id:e,returnTo:n}=t.req.valid("query"),r=await t.env.data.legacyClients.get(e);if(!r)return t.text("OK");const i=await t.env.data.legacyClients.get("DEFAULT_CLIENT");t.set("client_id",e),t.set("tenant_id",r.tenant.id);const s=n||t.req.header("referer");if(!s)return t.text("OK");if(!Ip(s,[...r.allowed_logout_urls||[],...i?.allowed_logout_urls||[]],{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new v(400,{message:"Invalid redirect uri"});const a=t.req.header("cookie");if(a){const c=Wr(r.tenant.id,a);if(c){const l=await t.env.data.sessions.get(r.tenant.id,c);if(l){const d=await t.env.data.users.get(r.tenant.id,l.user_id);d&&(t.set("user_id",d.user_id),t.set("connection",d.connection));const p=await t.env.data.refreshTokens.list(r.tenant.id,{q:`session_id=${c}`,page:0,per_page:100,include_totals:!1});await Promise.all(p.refresh_tokens.map(f=>t.env.data.refreshTokens.remove(r.tenant.id,f.id))),await t.env.data.sessions.update(r.tenant.id,c,{revoked_at:new Date().toISOString()})}}}return ne(t,r.tenant.id,{type:ee.SUCCESS_LOGOUT,description:"User successfully logged out"}),new Response("Redirecting",{status:302,headers:{"set-cookie":tv(r.tenant.id,t.req.header("host")),location:s}})}),Pg=o.z.object({sub:o.z.string(),email:o.z.string().optional(),family_name:o.z.string().optional(),given_name:o.z.string().optional(),email_verified:o.z.boolean()}),Gk=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:Pg}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new v(404,{message:"User not found"});const e=await t.env.data.users.get(t.var.user.tenant_id,t.var.user.sub);if(!e)throw new v(404,{message:"User not found"});return t.json(Pg.parse({...e,sub:e.user_id}))}),Wk=new o.OpenAPIHono().openapi(o.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:om}},description:"List of tenants"}}}),async t=>{const e=await au(t.env.data);return t.json({keys:e},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${hs}, stale-while-revalidate=${hs*2}, stale-if-error=86400`}})}).openapi(o.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:jl}},description:"List of tenants"}}}),async t=>{const e=jl.parse({issuer:ec(t.env),authorization_endpoint:`${ge(t.env)}authorize`,token_endpoint:`${ge(t.env)}oauth/token`,device_authorization_endpoint:`${ge(t.env)}oauth/device/code`,userinfo_endpoint:`${ge(t.env)}userinfo`,mfa_challenge_endpoint:`${ge(t.env)}mfa/challenge`,jwks_uri:`${ge(t.env)}.well-known/jwks.json`,registration_endpoint:`${ge(t.env)}oidc/register`,revocation_endpoint:`${ge(t.env)}oauth/revoke`,scopes_supported:["openid","profile","offline_access","name","given_name","family_name","nickname","email","email_verified","picture","created_at","identities","phone","address"],response_types_supported:["code","token","id_token","code token","code id_token","token id_token","code token id_token"],code_challenge_methods_supported:["S256","plain"],response_modes_supported:["query","fragment","form_post"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],token_endpoint_auth_methods_supported:["client_secret_basic","client_secret_post"],claims_supported:["aud","auth_time","created_at","email","email_verified","exp","family_name","given_name","iat","identities","iss","name","nickname","phone_number","picture","sub"],request_uri_parameter_supported:!1,request_parameter_supported:!1,token_endpoint_auth_signing_alg_values_supported:["RS256","RS384","PS256"]});return t.json(e,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${hs}, stale-while-revalidate=${hs*2}, stale-if-error=86400`}})});function po(t,e){if(!t||!e||t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}const w1=o.z.object({grant_type:o.z.literal("client_credentials"),scope:o.z.string().optional(),client_secret:o.z.string(),client_id:o.z.string(),audience:o.z.string().optional()});async function Jk(t,e){const n=await t.env.data.legacyClients.get(e.client_id);if(!n)throw new L(403,{message:"Invalid client credentials"});if(n.client_secret&&!po(n.client_secret,e.client_secret))throw new L(403,{message:"Invalid client credentials"});const r={client_id:n.client_id,scope:e.scope,audience:e.audience||n.tenant.default_audience};return{client:n,authParams:r}}const Xk=o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string().optional(),client_secret:o.z.string().optional(),code_verifier:o.z.string().optional(),organization:o.z.string().optional()}).refine(t=>"client_secret"in t&&!("code_verifier"in t)||!("client_secret"in t)&&"code_verifier"in t,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function Zk(t,e){const n=await t.env.data.legacyClients.get(e.client_id);if(!n)throw new L(403,{message:"Client not found"});const r=await t.env.data.codes.get(n.tenant.id,e.code,"authorization_code");if(!r||!r.user_id)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid client credentials"}),new L(403,{message:"Invalid client credentials"});if(new Date(r.expires_at)<new Date)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Code expired",userId:r.user_id}),new L(403,{message:"Code expired"});if(r.used_at)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid authorization code",userId:r.user_id}),new L(403,{error:"invalid_grant",error_description:"Invalid authorization code"});const i=await t.env.data.loginSessions.get(n.tenant.id,r.login_id);if(!i)throw new L(403,{message:"Invalid login"});if(e.organization&&i.authParams.organization&&e.organization!==i.authParams.organization)throw new L(400,{error:"invalid_request",error_description:"Organization parameter does not match login session organization"});if("client_secret"in e){const l=await t.env.data.legacyClients.get("DEFAULT_CLIENT");if(!po(n.client_secret,e.client_secret)&&!po(l?.client_secret,e.client_secret))throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid client credentials",userId:r.user_id}),new L(403,{message:"Invalid client credentials"})}else if(r.code_challenge&&r.code_challenge_method&&e.code_verifier){const l=await Gb(e.code_verifier,r.code_challenge_method);if(!po(l,r.code_challenge))throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid client credentials",userId:r.user_id}),new L(403,{message:"Invalid client credentials"})}if(r.redirect_uri&&r.redirect_uri!==e.redirect_uri)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid redirect uri",userId:r.user_id}),new L(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,r.user_id);if(!s)throw new L(403,{message:"User not found"});await t.env.data.codes.used(n.tenant.id,e.code);let a;i.session_id&&i.authParams.scope?.split(" ").includes("offline_access")&&(a=await t_(t,{user:s,client:n,session_id:i.session_id,scope:i.authParams.scope,audience:i.authParams.audience}));let c;if(i.authParams.organization){const l=await t.env.data.organizations.get(n.tenant.id,i.authParams.organization);l?c={id:l.id,name:l.name}:c={id:i.authParams.organization,name:"Unknown"}}return{user:s,client:n,loginSession:i,session_id:i.session_id,refresh_token:a?.id,organization:c,authParams:{...i.authParams,state:r.state,nonce:r.nonce,response_mode:Vt.WEB_MESSAGE,client_id:n.client_id,scope:i.authParams.scope,audience:i.authParams.audience}}}function Tg(t,e){const n=t.var.log;n?t.set("log",`${n}
82
- ${e}`):t.set("log",e)}const Yk=o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string(),redirect_uri:o.z.string().optional(),refresh_token:o.z.string(),client_secret:o.z.string().optional()});async function Qk(t,e){const n=await t.env.data.legacyClients.get(e.client_id);if(!n)throw new L(403,{message:"Client not found"});if(e.client_secret&&n.client_secret&&!po(n.client_secret,e.client_secret))throw new L(403,{error:"invalid_client",error_description:"Client authentication failed"});const r=await t.env.data.refreshTokens.get(n.tenant.id,e.refresh_token);if(r){if(r.expires_at&&new Date(r.expires_at)<new Date||r.idle_expires_at&&new Date(r.idle_expires_at)<new Date)throw Tg(t,`Refresh token has expired: ${e.refresh_token}`),new L(400,{error:"invalid_grant",error_description:"Refresh token has expired"})}else throw Tg(t,`Invalid refresh token: ${e.refresh_token}`),new L(400,{error:"invalid_grant",error_description:"Invalid refresh token"});const i=await t.env.data.users.get(n.tenant.id,r.user_id);if(!i)throw new L(403,{message:"User not found"});t.set("user_id",i.user_id);const s=r.resource_servers[0];if(r.idle_expires_at){const a=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,r.id,{idle_expires_at:a.toISOString(),last_exchanged_at:new Date().toISOString(),device:{...r.device,last_ip:t.req.header["x-real-ip"]||"",last_user_agent:t.req.header["user-agent"]||""}})}return{user:i,client:n,refresh_token:r.id,session_id:r.session_id,authParams:{client_id:n.client_id,audience:s?.audience,scope:s?.scopes,response_mode:Vt.WEB_MESSAGE}}}const e5={version:4,country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[135-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[135-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([457]\\d{6})$|1","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2457]\\d{6})$|1","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d{3})(\\d{3})(\\d{5})","$1-$2-$3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"([267]\\d{6})$|1","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]","(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",[5,6,7,8,9,10,12],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|4"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"(183[12])|0",0,0,0,[["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}",[9]],["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["163\\d{2,6}",[5,6,7,8,9]],["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10,11,12],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","365\\d{6}|(?:[124579]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2|365|46","1[28]|2|365[45]|46","1[28]|2|365(?:4|5[02])|46"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-9]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-3]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]|6[56]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","246$1",0,"246"],BD:["880","00","[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-8]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]|2[23]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","(?:[025-7]\\d|44)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[024-7]"]]]],BG:["359","00","00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9,12],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[02-4679]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","(?:01\\d|8)\\d{7}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["0"]]]],BL:["590","00","(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"],["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","8001\\d{5}|(?:[2-467]\\d|50)\\d{6}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[235]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37|86)","300|4(?:0(?:0|20)|370|864)"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([3-8]\\d{6})$|1","242$1",0,"242"],BT:["975","00","[178]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-6]|7[246]|8[2-4]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|[78]"]]]],BW:["267","00","(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",[7,8,10],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[24-6]|3[15-9]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37]"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["8"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","[2-9]\\d{9}|3\\d{6}",[7,10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}",[10]],["",[10]],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",[10]],["900[2-9]\\d{6}",[10]],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\\d{6}",[10]],0,["310\\d{4}",[7]],0,["600[2-9]\\d{6}",[10]]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CD:["243","00","(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["5"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02]\\d{9}",[10],[["(\\d{2})(\\d{2})(\\d)(\\d{5})","$1 $2 $3 $4",["2"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3 $4",["0"]]]],CK:["682","00","[2-578]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-578]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["219","2196"],"($1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["60|809"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[1-36]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9(?:10|[2-9])"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","[26]\\d{8}|88\\d{6,7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]|88"]]]],CN:["86","00|1(?:[12]\\d|79)\\d\\d00","(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]","(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"(1(?:[12]\\d|79)\\d\\d)|0",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["46"]],["(\\d{3})(\\d{7})","$1 $2",["6|90"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3[0-357]|9[14]"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}",[6,7,8,10],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["[56]"],"0$1"],["(\\d{3})(\\d{7})","$1 $2",["8"],"0$1"]],"0"],CV:["238","0","(?:[2-59]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-589]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9,10,11,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["96"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[03568]","15(?:[0568]|3[13])"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8001|8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-49])","[45]|8(?:00[1-9]|[1-49])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{8})","$1 $2",["1"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","[5-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-579]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-579]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",[5,6,7,8,9,10,11,12],[["(\\d{5})","$1",["20[2-59]"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[1-3]0|[68])0|70[07-9]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[14]|2[09]|50|7[135]"],"0$1"],["(\\d{2})(\\d{6,10})","$1 $2",["7"],"0$1"],["(\\d)(\\d{4,9})","$1 $2",["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","(?:[39]\\d\\d|820)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[389]"]]]],FO:["298","00","[2-9]\\d{5}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["11|[67]"],"0$1"]],0,0,"0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})","$1"],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[02-9])","[25]|7(?:0|6(?:[03-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,"0|180020",0,0,0,[["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","(?:[56]94\\d|7093)\\d{5}|(?:80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]|9[47]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"([25-9]\\d{5})$|0|180020","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d|60)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d|70)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-9]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","722\\d{6}|(?:3|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-79]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"],["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",[10,11,12],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]],["(\\d{3})(\\d{3,4})(\\d{5})","$1 $2 $3",["8"]]]],GT:["502","00","80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-8]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:[2-8]\\d{3}|9008)\\d{3}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","8\\d{10}|[237-9]\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}",[7,8,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6|7[245]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-589]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-589]"]]]],HU:["36","00","[235-7]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"06 $1"]],"06"],ID:["62","00[89]","00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13,14,15,16,17],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([25-8]\\d{5})$|0|180020","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",[6,7,8,9,10,11,12],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:44|[679])|[378]|43"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]|14"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[03]"]]],0,0,0,0,0,0,[["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[2-9]\\d{7,8}|(?:31|43)\\d{8}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],["3[2-8]\\d{9,10}",[11,12]],0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([0-24-8]\\d{5})$|0|180020","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[47]"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]","3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[289][2-9]|5[3-9]|7[2-4679]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[25-9]"],"0$1"]],"0",0,"(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0","$1"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|[235-9]\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|[2-7])\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[36]0|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","18\\d{5}|(?:[2569]\\d|41)\\d{6}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[245]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","345$1",0,"345"],KZ:["7","810","(?:33622|8\\d{8})\\d{5}|[78]\\d{9}",[10,14],0,"8",0,0,0,0,"33622|7",0,"8~10"],LA:["856","00","[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[23]"],"0$1"]],"0"],LB:["961","00","[27-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"([2-8]\\d{6})$|1","758$1",0,"758"],LI:["423","00","[68]\\d{8}|(?:[2378]\\d|90)\\d{5}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2379]|8(?:0[09]|7)","[2379]|8(?:0(?:02|9)|7)"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"(1001)|0"],LK:["94","00","[1-9]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["4[67]|[56]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-7]"],"(0-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"0 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(0-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(0-$1)",1]],"0",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|78|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2679]|8[01]"]]]],LY:["218","00","[2-9]\\d{8}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[2-9]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:[19]|2[2-46-9]|3[3-9])|8(?:0[89]|92)"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:(?:18|4[0679]|5[03])\\d|2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9]))\\d{5}"],["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}"],["80[0-7]\\d{6}"],["89\\d{7}"],0,0,0,0,["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]],MC:["377","00","(?:[3489]|[67]\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[389]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[67]"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"],["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"([24-9]\\d{6})$|0","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2|34[47]|4(?:[37]7|5[47]|64)"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","[24-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|452|678|86","[12]|452|6788|86"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[5-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[5-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","0800\\d{3}|(?:28|[68]\\d)\\d{6}",[7,8],[["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","670$1",0,"670"],MQ:["596","00","(?:596\\d|7091)\\d{5}|(?:69|[89]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-79]|8(?:0[6-9]|[36])"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","(?:[58]\\d\\d|664|900)\\d{7}",[10],0,"1",0,"([34]\\d{6})$|1","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["[57]"]],["(\\d{5})(\\d{5})","$1 $2",["8"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[34679]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","(?:[1289]\\d|31|77)\\d{7}|1\\d{6}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[137-9]"],"0$1"]],"0"],MX:["52","0[09]","[2-9]\\d{9}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"]]],0,0,0,0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[02469]|[378][1-9]|53)|8","1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1(?:[367]|80)"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-79]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","(?:050|[2-57-9]\\d\\d)\\d{3}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[02-57-9]"]]]],NE:["227","00","[027-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[013]|7[0467]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1[0-3]"]],["(\\d)(\\d{5})","$1 $2",["[13]"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:20|9\\d)\\d{8}|[78]\\d{9,13}",[10,11,12,13,14],[["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["20[129]"],"0$1"],["(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",[5,6,7,8,9,10,11],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-578]|91"],"0$1"],["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3",["9"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","(?:1\\d|9)\\d{9}|[1-9]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[24-9]"]]]],NU:["683","00","(?:[4-7]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,8})","$1 $2",["8[1-79]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["50[036-8]|8|90","50(?:[0367]|88)|8|90"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[589]"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["1|2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[179]"]]]],PA:["507","00","(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",[7,8,10,11],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["[68]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]]],PE:["51","00|19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,"00"," Anexo "],PF:["689","00","4\\d{5}(?:\\d{2})?|8\\d{7,8}",[6,8,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4|8[7-9]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,7})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",[6,7,8,9,10],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|20|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-7]|8[1-79]|9[145]"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["8"]]]],PM:["508","00","[45]\\d{5}|(?:708|8\\d\\d)\\d{6}",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","1693\\d{5}|(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["16|[236-9]"]]]],PW:["680","01[12]","(?:[24-8]\\d\\d|345|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9(?:[5-79]|8[1-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],"0"],QA:["974","00","800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",[7,8,9,11],[["(\\d{3})(\\d{4})","$1 $2",["2[136]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","709\\d{6}|(?:26|[689]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[26-9]"],"0$1"]],"0",0,0,0,0,0,[["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"],["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"],["80\\d{7}"],["89[1-37-9]\\d{6}"],0,0,0,0,["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"],["8(?:1[019]|2[0156]|84|90)\\d{6}"]]],RO:["40","00","(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","8\\d{13}|[347-9]\\d{9}",[10,14],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[349]|8(?:[02-7]|1[1-8])"],"8 ($1)",1],["(\\d{4})(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["8"],"8 ($1)"]],"8",0,0,0,0,0,[["336(?:[013-9]\\d|2[013-9])\\d{5}|(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\\d{7}",[10]],["9\\d{9}",[10]],["8(?:0[04]|108\\d{3})\\d{7}"],["80[39]\\d{7}",[10]],["808\\d{7}",[10]]],"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","(?:[15]\\d|800|92)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","[6-9]\\d{6}|[1-6]\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","(?:[2489]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]|9[57]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10,12],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44|9)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["10|7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8(?:0[1-9]|[1-9])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[489]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[237-9]\\d|66)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[236-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d|93)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],["(\\d)(\\d{7})","$1 $2",["(?:2|90)4|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[0-35-9]|7[67]|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|[6-8]\\d|90)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-9]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[25-7]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"(5\\d{6})$|1","721$1",0,"721"],SY:["963","00","[1-359]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-4]|5[1-3]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[59]"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"([2-479]\\d{6})$|1","649$1",0,"649"],TD:["235","00|16","(?:22|30|[689]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[236-9]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",[8,9,10,13],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[0-57-9]\\d|66)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["44[02-479]|[34]7"]],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3(?:[1245]|3[12])"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["\\d"]]],0,0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","(?:[1-6]\\d|71)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["[67]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-9]"]]]],TR:["90","00","4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",[7,10,12,13],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[01589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|61[06])","5(?:[0-59]|61[06]1)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1],["(\\d{3})(\\d{3})(\\d{6,7})","$1 $2 $3",["80"],"0$1",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-46-8]\\d{6})$|1","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7],[["(\\d{2})(\\d{3})","$1 $2",["2"]],["(\\d{2})(\\d{4})","$1 $2",["90"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],TW:["886","0(?:0[25-79]|19)","[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10,11],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[258]0"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]","[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,5})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[25-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["5"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])","3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|89|9[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}|3\\d{6}",[10],[["(\\d{3})(\\d{4})","$1-$2",["310"],0,1],["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,0,0,["305209\\d{4}"]]],UY:["598","0(?:0|1[3-9]\\d)","0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}",[4,5,6,7,8,9,10,11,12,13],[["(\\d{4,5})","$1",["21"]],["(\\d{3})(\\d{3,4})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[49]0|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[124]"]],["(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3 $4",["0"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","00","(?:20|33|[5-9]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-9]"]]]],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11,12],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","784$1",0,"784"],VE:["58","00","[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24-689]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-578]\\d{6})$|1","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["6"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[357-9]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[57-9]"]]]],WF:["681","00","(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[47-9]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],WS:["685","0","(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",[5,6,7,10],[["(\\d{5})","$1",["[2-5]|6[1-9]"]],["(\\d{3})(\\d{3,7})","$1 $2",["[68]"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}",[8,9,10,11,12],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2|39"],"0$1"],["(\\d{2})(\\d{7,10})","$1 $2",["3"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7(?:[24-6]|8[0-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,0,[["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"],["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"],["80\\d{7}"],0,0,0,0,0,["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]],ZA:["27","00","[1-79]\\d{8}|8\\d{4,9}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|[579]\\d|63)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[579]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"]},nonGeographic:{800:["800",0,"(?:00|[1-9]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["\\d"]]],0,0,0,0,0,0,[0,0,["(?:00|[1-9]\\d)\\d{6}"]]],808:["808",0,"[1-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[1-9]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,["[1-9]\\d{7}"]]],870:["870",0,"7\\d{11}|[235-7]\\d{8}",[9,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-7]"]]],0,0,0,0,0,0,[0,["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"],0,0,0,0,0,0,["2\\d{8}",[9]]]],878:["878",0,"10\\d{10}",[12],[["(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3",["1"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["10\\d{10}"]]],881:["881",0,"6\\d{9}|[0-36-9]\\d{8}",[9,10],[["(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[0-37-9]"]],["(\\d)(\\d{3})(\\d{5,6})","$1 $2 $3",["6"]]],0,0,0,0,0,0,[0,["6\\d{9}|[0-36-9]\\d{8}"]]],882:["882",0,"[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",[7,8,9,10,11,12],[["(\\d{2})(\\d{5})","$1 $2",["16|342"]],["(\\d{2})(\\d{6})","$1 $2",["49"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1[36]|9"]],["(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|23|3(?:[15]|4[57])|4|51"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["34"]],["(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["[1-35]"]]],0,0,0,0,0,0,[0,["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",[7,8,9,10,12]],0,0,0,["348[57]\\d{7}",[11]],0,0,["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]],883:["883",0,"(?:[1-4]\\d|51)\\d{6,10}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,8})","$1 $2 $3",["[14]|2[24-689]|3[02-689]|51[24-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["21"]],["(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[235]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]],888:["888",0,"\\d{11}",[11],[["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],0,0,0,0,0,0,[0,0,0,0,0,0,["\\d{11}"]]],979:["979",0,"[1359]\\d{8}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[1359]"]]],0,0,0,0,0,0,[0,0,0,["[1359]\\d{8}"]]]}};function t5(t,e){var n=Array.prototype.slice.call(e);return n.push(e5),t.apply(this,n)}function Rg(t,e){t=t.split("-"),e=e.split("-");for(var n=t[0].split("."),r=e[0].split("."),i=0;i<3;i++){var s=Number(n[i]),a=Number(r[i]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return t[1]&&e[1]?t[1]>e[1]?1:t[1]<e[1]?-1:0:!t[1]&&e[1]?1:t[1]&&!e[1]?-1:0}var n5={}.constructor;function Kr(t){return t!=null&&t.constructor===n5}function ci(t){"@babel/helpers - typeof";return ci=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ci(t)}function Xc(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r5(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,i5(r.key),r)}}function Zc(t,e,n){return e&&r5(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function i5(t){var e=o5(t,"string");return ci(e)=="symbol"?e:e+""}function o5(t,e){if(ci(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ci(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var s5="1.2.0",a5="1.7.35",Bg=" ext. ",c5=/^\d+$/,Xe=(function(){function t(e){Xc(this,t),b1(e),this.metadata=e,v1.call(this,e)}return Zc(t,[{key:"getCountries",value:function(){return Object.keys(this.metadata.countries).filter(function(n){return n!=="001"})}},{key:"getCountryMetadata",value:function(n){return this.metadata.countries[n]}},{key:"nonGeographic",value:function(){if(!(this.v1||this.v2||this.v3))return this.metadata.nonGeographic||this.metadata.nonGeographical}},{key:"hasCountry",value:function(n){return this.getCountryMetadata(n)!==void 0}},{key:"hasCallingCode",value:function(n){if(this.getCountryCodesForCallingCode(n))return!0;if(this.nonGeographic()){if(this.nonGeographic()[n])return!0}else{var r=this.countryCallingCodes()[n];if(r&&r.length===1&&r[0]==="001")return!0}}},{key:"isNonGeographicCallingCode",value:function(n){return this.nonGeographic()?!!this.nonGeographic()[n]:!this.getCountryCodesForCallingCode(n)}},{key:"country",value:function(n){return this.selectNumberingPlan(n)}},{key:"selectNumberingPlan",value:function(n,r){if(n&&c5.test(n)&&(r=n,n=null),n&&n!=="001"){if(!this.hasCountry(n))throw new Error("Unknown country: ".concat(n));this.numberingPlan=new Lg(this.getCountryMetadata(n),this)}else if(r){if(!this.hasCallingCode(r))throw new Error("Unknown calling code: ".concat(r));this.numberingPlan=new Lg(this.getNumberingPlanMetadata(r),this)}else this.numberingPlan=void 0;return this}},{key:"getCountryCodesForCallingCode",value:function(n){var r=this.countryCallingCodes()[n];if(r)return r.length===1&&r[0].length===3?void 0:r}},{key:"getCountryCodeForCallingCode",value:function(n){var r=this.getCountryCodesForCallingCode(n);if(r)return r[0]}},{key:"getNumberingPlanMetadata",value:function(n){var r=this.getCountryCodeForCallingCode(n);if(r)return this.getCountryMetadata(r);if(this.nonGeographic()){var i=this.nonGeographic()[n];if(i)return i}else{var s=this.countryCallingCodes()[n];if(s&&s.length===1&&s[0]==="001")return this.metadata.countries["001"]}}},{key:"countryCallingCode",value:function(){return this.numberingPlan.callingCode()}},{key:"IDDPrefix",value:function(){return this.numberingPlan.IDDPrefix()}},{key:"defaultIDDPrefix",value:function(){return this.numberingPlan.defaultIDDPrefix()}},{key:"nationalNumberPattern",value:function(){return this.numberingPlan.nationalNumberPattern()}},{key:"possibleLengths",value:function(){return this.numberingPlan.possibleLengths()}},{key:"formats",value:function(){return this.numberingPlan.formats()}},{key:"nationalPrefixForParsing",value:function(){return this.numberingPlan.nationalPrefixForParsing()}},{key:"nationalPrefixTransformRule",value:function(){return this.numberingPlan.nationalPrefixTransformRule()}},{key:"leadingDigits",value:function(){return this.numberingPlan.leadingDigits()}},{key:"hasTypes",value:function(){return this.numberingPlan.hasTypes()}},{key:"type",value:function(n){return this.numberingPlan.type(n)}},{key:"ext",value:function(){return this.numberingPlan.ext()}},{key:"countryCallingCodes",value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:"chooseCountryByCountryCallingCode",value:function(n){return this.selectNumberingPlan(n)}},{key:"hasSelectedNumberingPlan",value:function(){return this.numberingPlan!==void 0}}])})(),Lg=(function(){function t(e,n){Xc(this,t),this.globalMetadataObject=n,this.metadata=e,v1.call(this,n.metadata)}return Zc(t,[{key:"callingCode",value:function(){return this.metadata[0]}},{key:"getDefaultCountryMetadataForRegion",value:function(){return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())}},{key:"IDDPrefix",value:function(){if(!(this.v1||this.v2))return this.metadata[1]}},{key:"defaultIDDPrefix",value:function(){if(!(this.v1||this.v2))return this.metadata[12]}},{key:"nationalNumberPattern",value:function(){return this.v1||this.v2?this.metadata[1]:this.metadata[2]}},{key:"possibleLengths",value:function(){if(!this.v1)return this.metadata[this.v2?2:3]}},{key:"_getFormats",value:function(n){return n[this.v1?2:this.v2?3:4]}},{key:"formats",value:function(){var n=this,r=this._getFormats(this.metadata)||this._getFormats(this.getDefaultCountryMetadataForRegion())||[];return r.map(function(i){return new l5(i,n)})}},{key:"nationalPrefix",value:function(){return this.metadata[this.v1?3:this.v2?4:5]}},{key:"_getNationalPrefixFormattingRule",value:function(n){return n[this.v1?4:this.v2?5:6]}},{key:"nationalPrefixFormattingRule",value:function(){return this._getNationalPrefixFormattingRule(this.metadata)||this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())}},{key:"_nationalPrefixForParsing",value:function(){return this.metadata[this.v1?5:this.v2?6:7]}},{key:"nationalPrefixForParsing",value:function(){return this._nationalPrefixForParsing()||this.nationalPrefix()}},{key:"nationalPrefixTransformRule",value:function(){return this.metadata[this.v1?6:this.v2?7:8]}},{key:"_getNationalPrefixIsOptionalWhenFormatting",value:function(){return!!this.metadata[this.v1?7:this.v2?8:9]}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())}},{key:"leadingDigits",value:function(){return this.metadata[this.v1?8:this.v2?9:10]}},{key:"types",value:function(){return this.metadata[this.v1?9:this.v2?10:11]}},{key:"hasTypes",value:function(){return this.types()&&this.types().length===0?!1:!!this.types()}},{key:"type",value:function(n){if(this.hasTypes()&&Ug(this.types(),n))return new u5(Ug(this.types(),n),this)}},{key:"ext",value:function(){return this.v1||this.v2?Bg:this.metadata[13]||Bg}}])})(),l5=(function(){function t(e,n){Xc(this,t),this._format=e,this.metadata=n}return Zc(t,[{key:"pattern",value:function(){return this._format[0]}},{key:"format",value:function(){return this._format[1]}},{key:"leadingDigitsPatterns",value:function(){return this._format[2]||[]}},{key:"nationalPrefixFormattingRule",value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"nationalPrefixIsMandatoryWhenFormattingInNationalFormat",value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"usesNationalPrefix",value:function(){return!!(this.nationalPrefixFormattingRule()&&!d5.test(this.nationalPrefixFormattingRule()))}},{key:"internationalFormat",value:function(){return this._format[5]||this.format()}}])})(),d5=/^\(?\$1\)?$/,u5=(function(){function t(e,n){Xc(this,t),this.type=e,this.metadata=n}return Zc(t,[{key:"pattern",value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:"possibleLengths",value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}])})();function Ug(t,e){switch(e){case"FIXED_LINE":return t[0];case"MOBILE":return t[1];case"TOLL_FREE":return t[2];case"PREMIUM_RATE":return t[3];case"PERSONAL_NUMBER":return t[4];case"VOICEMAIL":return t[5];case"UAN":return t[6];case"PAGER":return t[7];case"VOIP":return t[8];case"SHARED_COST":return t[9]}}function b1(t){if(!t)throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!Kr(t)||!Kr(t.countries))throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(Kr(t)?"an object of shape: { "+Object.keys(t).join(", ")+" }":"a "+p5(t)+": "+t,"."))}var p5=function(e){return ci(e)};function jp(t,e){if(e=new Xe(e),e.hasCountry(t))return e.selectNumberingPlan(t).countryCallingCode();throw new Error("Unknown country: ".concat(t))}function f5(t,e){return e.countries.hasOwnProperty(t)}function v1(t){var e=t.version;typeof e=="number"?(this.v1=e===1,this.v2=e===2,this.v3=e===3,this.v4=e===4):e?Rg(e,s5)===-1?this.v2=!0:Rg(e,a5)===-1?this.v3=!0:this.v4=!0:this.v1=!0}function Op(t,e,n){return h5(t,e,void 0,n)}function h5(t,e,n,r){e&&(r=new Xe(r.metadata),r.selectNumberingPlan(e));var i=r.type(n),s=i&&i.possibleLengths()||r.possibleLengths();if(!s)return"IS_POSSIBLE";var a=t.length,c=s[0];return c===a?"IS_POSSIBLE":c>a?"TOO_SHORT":s[s.length-1]<a?"TOO_LONG":s.indexOf(a,1)>=0?"IS_POSSIBLE":"INVALID_LENGTH"}function g5(t,e,n){if(e===void 0&&(e={}),n=new Xe(n),e.v2){if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}else{if(!t.phone)return!1;if(t.country){if(!n.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));n.selectNumberingPlan(t.country)}else{if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}}if(n.possibleLengths())return $1(t.phone||t.nationalNumber,t.country,n);if(t.countryCallingCode&&n.isNonGeographicCallingCode(t.countryCallingCode))return!0;throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.')}function $1(t,e,n){switch(Op(t,e,n)){case"IS_POSSIBLE":return!0;default:return!1}}function yn(t,e){return t=t||"",new RegExp("^(?:"+e+")$").test(t)}function m5(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=_5(t))||e){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
81
+ `,r}async function b$(t){const e=await t.publicKey.export(),n=await crypto.subtle.exportKey("jwk",e),r=JSON.stringify(n,Object.keys(n).sort()),s=new TextEncoder().encode(r);return Bl(await Hm(s))}const v$=1e3*60*60*24,$$=new o.OpenAPIHono().openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Ol)}},description:"List of keys"}}}),async t=>{const{signingKeys:e}=await t.env.data.keys.list({q:"type:jwt_signing"}),n=e.filter(r=>"cert"in r).map(r=>r);return t.json(n)}).openapi(o.createRoute({tags:["keys"],method:"get",path:"/signing/{kid}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ol}},description:"The requested key"}}}),async t=>{const{kid:e}=t.req.valid("param"),{signingKeys:n}=await t.env.data.keys.list({q:"type:jwt_signing"}),r=n.find(i=>i.kid===e);if(!r)throw new v(404,{message:"Key not found"});return t.json(r)}).openapi(o.createRoute({tags:["keys"],method:"post",path:"/signing/rotate",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const{signingKeys:e}=await t.env.data.keys.list({q:"type:jwt_signing"});for await(const r of e)await t.env.data.keys.update(r.kid,{revoked_at:new Date(Date.now()+v$).toISOString()});const n=await su({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create({...n,type:"jwt_signing"}),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["keys"],method:"put",path:"/signing/{kid}/revoke",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({kid:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Status"}}}),async t=>{const{kid:e}=t.req.valid("param");if(!await t.env.data.keys.update(e,{revoked_at:new Date().toISOString()}))throw new v(404,{message:"Key not found"});const r=await su({name:`CN=${t.env.ORGANIZATION_NAME}`});return await t.env.data.keys.create({...r,type:"jwt_signing"}),t.text("OK")}),k$=new o.OpenAPIHono().openapi(o.createRoute({tags:["users"],method:"get",path:"/",request:{query:o.z.object({email:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.array(bu)}},description:"List of users"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{email:n}=t.req.valid("query"),i=(await Iu(t.env.data.users,e,n)).filter(s=>!s.linked_to);return t.json(i)}),x$=it.extend({clients:o.z.array(Gn)}),S$=new o.OpenAPIHono().openapi(o.createRoute({tags:["clients"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([x$,o.z.array(Gn)])}},description:"List of clients"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),l=(await t.env.data.clients.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a})).clients;return i?t.json({clients:l,start:0,limit:10,length:l.length}):t.json(l)}).openapi(o.createRoute({tags:["clients"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Gn}},description:"A client"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.clients.get(e,n);if(!r)throw new v(404);return t.json(r)}).openapi(o.createRoute({tags:["clients"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.clients.remove(e,n))throw new v(404,{message:"Client not found"});return t.text("OK")}).openapi(o.createRoute({tags:["clients"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Ms.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Gn}},description:"The updated client"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),i=t.req.valid("json");await t.env.data.clients.update(e,n,i);const s=await t.env.data.clients.get(e,n);if(!s)throw new v(404,{message:"Client not found"});return t.json(s)}).openapi(o.createRoute({tags:["clients"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Ms.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:o.z.object(Gn.shape)}},description:"A client"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,client_secret:n.client_secret||pe()},i=await t.env.data.clients.create(e,r);return t.json(i,{status:201})});o.z.object({start:o.z.number(),limit:o.z.number(),length:o.z.number()});Ma.extend({email:o.z.string(),login_count:o.z.number(),multifactor:o.z.array(o.z.string()).optional(),last_ip:o.z.string().optional(),last_login:o.z.string().optional(),user_id:o.z.string()}).catchall(o.z.any());const z$=it.extend({tenants:o.z.array(zn)}),A$=new o.OpenAPIHono().openapi(o.createRoute({tags:["tenants","settings"],method:"get",path:"/settings",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:zn}},description:"Current tenant settings"}}}),async t=>{const e=await t.env.data.tenants.get(t.var.tenant_id);if(!e)throw new v(404,{message:"Tenant not found"});return t.json(e)}).openapi(o.createRoute({tags:["tenants","settings"],method:"patch",path:"/settings",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(no.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:zn}},description:"Updated tenant settings"}}}),async t=>{const e=t.req.valid("json"),{id:n,...r}=e,i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new v(404,{message:"Tenant not found"});const s=Pl(i,r);await t.env.data.tenants.update(t.var.tenant_id,s);const a=await t.env.data.tenants.get(t.var.tenant_id);if(!a)throw new v(500,{message:"Failed to retrieve updated tenant"});return t.json(a)}).openapi(o.createRoute({tags:["tenants"],method:"get",path:"/",request:{query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:o.z.union([o.z.array(zn),z$])}},description:"List of tenants"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.tenants.list({page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.tenants)}).openapi(o.createRoute({tags:["tenants"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"tenant/json":{schema:zn}},description:"A tenant"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.tenants.get(e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["tenants"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");return await t.env.data.tenants.remove(e),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(no.shape).partial()}}},params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");return await t.env.data.tenants.update(e,n),t.text("OK")}).openapi(o.createRoute({tags:["tenants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(no.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"tenant/json":{schema:zn}},description:"An tenant"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.tenants.create(e);return t.json(n,{status:201})}),E$=it.extend({logs:o.z.array(Vs)}),C$=new o.OpenAPIHono().openapi(o.createRoute({tags:["logs"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Vs),E$])}},description:"List of log rows"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.logs.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.logs)}).openapi(o.createRoute({tags:["logs"],method:"get",path:"/{id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Vs}},description:"A log entry"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.logs.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}),N$=17,I$={organization:"org_",connection:"con_",action:"act_",hook:"h_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function Vc(t){const r=Mm("0123456789abcdefghijklmnopqrstuvwxyz",N$)();return`${I$[t]}${r}`}function j$(){return Vc("organization")}function O$(){return Vc("connection")}function P$(){return Vc("hook")}function T$(){return Vc("invite")}const R$=it.extend({hooks:o.z.array(Lr)}),B$=new o.OpenAPIHono().openapi(o.createRoute({tags:["hooks"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Lr),R$])}},description:"List of hooks"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.hooks.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.hooks)}).openapi(o.createRoute({tags:["hooks"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:bs}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Lr}},description:"The created hook"}}}),async t=>{const e=t.req.valid("json"),n={...e,hook_id:e.hook_id||P$()},r=await t.env.data.hooks.create(t.var.tenant_id,n);return t.json(r,{status:201})}).openapi(o.createRoute({tags:["hooks"],method:"patch",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()}),body:{content:{"application/json":{schema:o.z.union([bs.options[0].omit({hook_id:!0}).partial(),bs.options[1].omit({hook_id:!0}).partial()])}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Lr}},description:"The updated hook"},404:{description:"Hook not found"}}}),async t=>{const{hook_id:e}=t.req.valid("param"),n=t.req.valid("json");await t.env.data.hooks.update(t.var.tenant_id,e,n);const r=await t.env.data.hooks.get(t.var.tenant_id,e);if(!r)throw new v(404,{message:"Hook not found"});return t.json(r)}).openapi(o.createRoute({tags:["hooks"],method:"get",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Lr}},description:"A hook"},404:{description:"Hook not found"}}}),async t=>{const{hook_id:e}=t.req.valid("param"),n=await t.env.data.hooks.get(t.var.tenant_id,e);if(!n)throw new v(404,{message:"Hook not found"});return t.json(n)}).openapi(o.createRoute({tags:["hooks"],method:"delete",path:"/{hook_id}",request:{headers:o.z.object({"tenant-id":o.z.string()}),params:o.z.object({hook_id:o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{description:"A hook"}}}),async t=>{const{hook_id:e}=t.req.valid("param");if(!await t.env.data.hooks.remove(t.var.tenant_id,e))throw new v(404,{message:"Hook not found"});return t.text("OK")}),L$=it.extend({connections:o.z.array(St)}),U$=new o.OpenAPIHono().openapi(o.createRoute({tags:["connections"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(St),L$])}},description:"List of connectionss"}}}),async t=>{const{page:e,per_page:n,include_totals:r=!1,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.connections.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.connections)}).openapi(o.createRoute({tags:["connections"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:St}},description:"A connection"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.connections.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["connections"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.connections.remove(t.var.tenant_id,e))throw new v(404,{message:"Connection not found"});return t.text("OK")}).openapi(o.createRoute({tags:["connections"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Fs.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:St}},description:"The updated connection"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");if(!await t.env.data.connections.update(t.var.tenant_id,e,n))throw new v(404,{message:"Connection not found"});const i=await t.env.data.connections.get(t.var.tenant_id,e);if(!i)throw new v(404,{message:"Connection not found"});return t.json(i)}).openapi(o.createRoute({tags:["connections"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Fs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:St}},description:"A connection"}}}),async t=>{const e=t.req.valid("json"),n={...e,id:e.id||O$()},r=await t.env.data.connections.create(t.var.tenant_id,n);return t.json(r,{status:201})}),D$=new o.OpenAPIHono().openapi(o.createRoute({tags:["prompts"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:$s}},description:"Branding settings"}}}),async t=>{const e=await t.env.data.promptSettings.get(t.var.tenant_id);return e?t.json(e):t.json($s.parse({}))}).openapi(o.createRoute({tags:["prompts"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object($s.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Prompts settings"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.promptSettings.get(t.var.tenant_id);return Object.assign(n,e),await t.env.data.promptSettings.set(t.var.tenant_id,n),t.json(n)});let zg=!1;function Ep(t){t.use(async(e,n)=>(zg||(t.openAPIRegistry.registerComponent("securitySchemes","Bearer",{type:"oauth2",scheme:"bearer",flows:{implicit:{authorizationUrl:`${e.env.AUTH_URL}/authorize`,scopes:{openid:"Basic user information",email:"User email",profile:"User profile information"}}}}),zg=!0),await n()))}var M$=(t,e)=>{try{return e(t)}catch{return t.replace(/(?:%[0-9A-Fa-f]{2})+/g,n=>{try{return e(n)}catch{return n}})}},q$=decodeURIComponent,F$=/^[\w!#$%&'*.^`|~+-]+$/,H$=/^[ !#-:<-[\]-~]*$/,V$=(t,e)=>{if(t.indexOf(e)===-1)return{};const n=t.trim().split(";"),r={};for(let i of n){i=i.trim();const s=i.indexOf("=");if(s===-1)continue;const a=i.substring(0,s).trim();if(e!==a||!F$.test(a))continue;let c=i.substring(s+1).trim();if(c.startsWith('"')&&c.endsWith('"')&&(c=c.slice(1,-1)),H$.test(c)){r[a]=c.indexOf("%")!==-1?M$(c,q$):c;break}}return r},K$=(t,e,n={})=>{let r=`${t}=${e}`;if(t.startsWith("__Secure-")&&!n.secure)throw new Error("__Secure- Cookie must have Secure attributes");if(t.startsWith("__Host-")){if(!n.secure)throw new Error("__Host- Cookie must have Secure attributes");if(n.path!=="/")throw new Error('__Host- Cookie must have Path attributes with "/"');if(n.domain)throw new Error("__Host- Cookie must not have Domain attributes")}if(n&&typeof n.maxAge=="number"&&n.maxAge>=0){if(n.maxAge>3456e4)throw new Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!=="host"&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw new Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+="; HttpOnly"),n.secure&&(r+="; Secure"),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw new Error("Partitioned Cookie must have Secure attributes");r+="; Partitioned"}return r},wl=(t,e,n)=>(e=encodeURIComponent(e),K$(t,e,n)),G$=(t,e,n)=>{const r=t.req.raw.headers.get("Cookie");{if(!r)return;let i=e;return V$(r,i)[i]}},W$=(t,e,n)=>{let r;return n?.prefix==="secure"?r=wl("__Secure-"+t,e,{path:"/",...n,secure:!0}):n?.prefix==="host"?r=wl("__Host-"+t,e,{...n,path:"/",secure:!0,domain:void 0}):r=wl(t,e,{path:"/",...n}),r},Ag=(t,e,n,r)=>{const i=W$(e,n,r);t.header("Set-Cookie",i,{append:!0})},p1=t=>f1(t.replace(/_|-/g,e=>({_:"/","-":"+"})[e]??e)),f1=t=>{const e=atob(t),n=new Uint8Array(new ArrayBuffer(e.length)),r=e.length/2;for(let i=0,s=e.length-1;i<=r;i++,s--)n[i]=e.charCodeAt(i),n[s]=e.charCodeAt(s);return n},h1=(t=>(t.HS256="HS256",t.HS384="HS384",t.HS512="HS512",t.RS256="RS256",t.RS384="RS384",t.RS512="RS512",t.PS256="PS256",t.PS384="PS384",t.PS512="PS512",t.ES256="ES256",t.ES384="ES384",t.ES512="ES512",t.EdDSA="EdDSA",t))(h1||{}),J$=class extends Error{constructor(t){super(`${t} is not an implemented algorithm`),this.name="JwtAlgorithmNotImplemented"}},g1=class extends Error{constructor(t){super(`invalid JWT token: ${t}`),this.name="JwtTokenInvalid"}},X$=class extends Error{constructor(t){super(`token (${t}) is being used before it's valid`),this.name="JwtTokenNotBefore"}},Z$=class extends Error{constructor(t){super(`token (${t}) expired`),this.name="JwtTokenExpired"}},Y$=class extends Error{constructor(t,e){super(`Invalid "iat" claim, must be a valid number lower than "${t}" (iat: "${e}")`),this.name="JwtTokenIssuedAt"}},bl=class extends Error{constructor(t,e){super(`expected issuer "${t}", got ${e?`"${e}"`:"none"} `),this.name="JwtTokenIssuer"}},Q$=class extends Error{constructor(t){super(`jwt header is invalid: ${JSON.stringify(t)}`),this.name="JwtHeaderInvalid"}},ek=class extends Error{constructor(t){super(`token(${t}) signature mismatched`),this.name="JwtTokenSignatureMismatched"}},tk=class extends Error{constructor(t){super(`required "aud" in jwt payload: ${JSON.stringify(t)}`),this.name="JwtPayloadRequiresAud"}},nk=class extends Error{constructor(t,e){super(`expected audience "${Array.isArray(t)?t.join(", "):t}", got "${e}"`),this.name="JwtTokenAudience"}},Ba=(t=>(t.Encrypt="encrypt",t.Decrypt="decrypt",t.Sign="sign",t.Verify="verify",t.DeriveKey="deriveKey",t.DeriveBits="deriveBits",t.WrapKey="wrapKey",t.UnwrapKey="unwrapKey",t))(Ba||{}),m1=new TextEncoder,rk=new TextDecoder;async function ik(t,e,n,r){const i=sk(e),s=await ok(t,i);return await crypto.subtle.verify(i,s,n,r)}function Eg(t){return f1(t.replace(/-+(BEGIN|END).*/g,"").replace(/\s/g,""))}async function ok(t,e){if(!crypto.subtle||!crypto.subtle.importKey)throw new Error("`crypto.subtle.importKey` is undefined. JWT auth middleware requires it.");if(ak(t)){if(t.type==="public"||t.type==="secret")return t;t=await Cg(t)}if(typeof t=="string"&&t.includes("PRIVATE")){const r=await crypto.subtle.importKey("pkcs8",Eg(t),e,!0,[Ba.Sign]);t=await Cg(r)}const n=[Ba.Verify];return typeof t=="object"?await crypto.subtle.importKey("jwk",t,e,!1,n):t.includes("PUBLIC")?await crypto.subtle.importKey("spki",Eg(t),e,!1,n):await crypto.subtle.importKey("raw",m1.encode(t),e,!1,n)}async function Cg(t){if(t.type!=="private")throw new Error(`unexpected key type: ${t.type}`);if(!t.extractable)throw new Error("unexpected private key is unextractable");const e=await crypto.subtle.exportKey("jwk",t),{kty:n}=e,{alg:r,e:i,n:s}=e,{crv:a,x:c,y:l}=e;return{kty:n,alg:r,e:i,n:s,crv:a,x:c,y:l,key_ops:[Ba.Verify]}}function sk(t){switch(t){case"HS256":return{name:"HMAC",hash:{name:"SHA-256"}};case"HS384":return{name:"HMAC",hash:{name:"SHA-384"}};case"HS512":return{name:"HMAC",hash:{name:"SHA-512"}};case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"RS384":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"RS512":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"PS256":return{name:"RSA-PSS",hash:{name:"SHA-256"},saltLength:32};case"PS384":return{name:"RSA-PSS",hash:{name:"SHA-384"},saltLength:48};case"PS512":return{name:"RSA-PSS",hash:{name:"SHA-512"},saltLength:64};case"ES256":return{name:"ECDSA",hash:{name:"SHA-256"},namedCurve:"P-256"};case"ES384":return{name:"ECDSA",hash:{name:"SHA-384"},namedCurve:"P-384"};case"ES512":return{name:"ECDSA",hash:{name:"SHA-512"},namedCurve:"P-521"};case"EdDSA":return{name:"Ed25519",namedCurve:"Ed25519"};default:throw new J$(t)}}function ak(t){return qm()==="node"&&crypto.webcrypto?t instanceof crypto.webcrypto.CryptoKey:t instanceof CryptoKey}var Ng=t=>JSON.parse(rk.decode(p1(t)));function ck(t){if(typeof t=="object"&&t!==null){const e=t;return"alg"in e&&Object.values(h1).includes(e.alg)&&(!("typ"in e)||e.typ==="JWT")}return!1}var lk=async(t,e,n)=>{const{alg:r="HS256",iss:i,nbf:s=!0,exp:a=!0,iat:c=!0,aud:l}=typeof n=="string"?{alg:n}:n||{},d=t.split(".");if(d.length!==3)throw new g1(t);const{header:p,payload:f}=_1(t);if(!ck(p))throw new Q$(p);const g=Date.now()/1e3|0;if(s&&f.nbf&&f.nbf>g)throw new X$(t);if(a&&f.exp&&f.exp<=g)throw new Z$(t);if(c&&f.iat&&g<f.iat)throw new Y$(g,f.iat);if(i){if(!f.iss)throw new bl(i,null);if(typeof i=="string"&&f.iss!==i)throw new bl(i,f.iss);if(i instanceof RegExp&&!i.test(f.iss))throw new bl(i,f.iss)}if(l){if(!f.aud)throw new tk(f);if(!(Array.isArray(f.aud)?f.aud:[f.aud]).some(N=>l instanceof RegExp?l.test(N):typeof l=="string"?N===l:Array.isArray(l)&&l.includes(N)))throw new nk(l,f.aud)}const _=t.substring(0,t.lastIndexOf("."));if(!await ik(e,r,p1(d[2]),m1.encode(_)))throw new ek(t);return f},_1=t=>{try{const[e,n]=t.split("."),r=Ng(e),i=Ng(n);return{header:r,payload:i}}catch{throw new g1(t)}},y1={verify:lk,decode:_1},dk=y1.verify,uk=y1.decode;async function au(t){const{signingKeys:e}=await t.keys.list({q:"type:jwt_signing"});return await Promise.all(e.map(async r=>{const s=await new Hc(r.cert).publicKey.export(),a=await crypto.subtle.exportKey("jwk",s);return Su.parse({...a,kid:r.kid})}))}o.z.object({alg:o.z.literal("RS256"),kty:o.z.literal("RSA"),use:o.z.literal("sig"),n:o.z.string(),e:o.z.string(),kid:o.z.string(),x5t:o.z.string(),x5c:o.z.array(o.z.string())});async function pk(t){if(t.JWKS_URL&&t.JWKS_SERVICE){const e=await t.JWKS_SERVICE.fetch(t.JWKS_URL);return e.ok?(await e.json()).keys:(console.warn(`JWKS fetch failed with status ${e.status}, falling back to database`),await au(t.data))}return await au(t.data)}async function fk(t,e){try{const{header:n}=uk(e),i=(await pk(t.env)).find(c=>c.kid===n.kid);if(!i)throw new L(401,{message:"No matching kid found"});const s=await crypto.subtle.importKey("jwk",i,{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["verify"]);return await dk(e,s,"RS256")}catch(n){throw n instanceof v?n:new L(403,{message:"Invalid JWT signature"})}}function hk(t){return t.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}function gk(t,e){return e.startsWith(t)?e:t+e}function Cp(t){return async(e,n)=>{const r=e.req.matchedRoutes.find(c=>c.method.toUpperCase()===e.req.method&&c.path!=="/*");if(!r)return await n();const i=hk(r.path),s="basePath"in r&&typeof r.basePath=="string"?r.basePath:"",a=t.openAPIRegistry.definitions.find(c=>"route"in c&&gk(s,c.route.path)===i&&c.route.method.toUpperCase()===e.req.method.toUpperCase());if(a&&"route"in a){const c=a.route.security?.[0]?.Bearer;if(!c?.length)return await n();const l=e.req.header("authorization")||"",[d,p]=l.split(" ");if(d?.toLowerCase()!=="bearer"||!p)throw new L(401,{message:"Missing bearer token"});try{const f=await fk(e,p);e.set("user_id",f.sub),e.set("user",f),!e.var.tenant_id&&f.tenant_id&&e.set("tenant_id",f.tenant_id);const g=f.permissions||[],_=f.scope?.split(" ")||[];if(c.length&&!(c.some(w=>g.includes(w))||c.some(w=>_.includes(w))))throw new L(403,{message:"Unauthorized"})}catch(f){throw f instanceof v?f:new L(403,{message:"Invalid token"})}}return await n()}}const mk=new o.OpenAPIHono().openapi(o.createRoute({tags:["emails"],method:"get",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ks}},description:"Email provider"}}}),async t=>{const e=await t.env.data.emailProviders.get(t.var.tenant_id);if(!e)throw new v(404,{message:"Email provider not found"});return t.json(e)}).openapi(o.createRoute({tags:["emails"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(ks.shape)}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const e=t.req.valid("json");return await t.env.data.emailProviders.create(t.var.tenant_id,e),t.text("OK",{status:201})}).openapi(o.createRoute({tags:["emails"],method:"patch",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object(ks.shape).partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Branding settings"}}}),async t=>{const e=t.req.valid("json");return await t.env.data.emailProviders.update(t.var.tenant_id,e),t.text("OK")}),_k=new o.OpenAPIHono().openapi(o.createRoute({tags:["sessions"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Va}},description:"A session"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.sessions.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["sessions"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.sessions.remove(t.var.tenant_id,e))throw new v(404,{message:"Session not found"});return t.text("OK")}).openapi(o.createRoute({tags:["sessions"],method:"post",path:"/{id}/revoke",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{202:{description:"Sesssion deletion status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.sessions.update(t.var.tenant_id,e,{revoked_at:new Date().toDateString()}))throw new v(404,{message:"Session not found"});return t.text("Session deletion request accepted.",{status:202})}),yk=new o.OpenAPIHono().openapi(o.createRoute({tags:["refresh_tokens"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Au}},description:"A session"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.refreshTokens.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["refresh_tokens"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.refreshTokens.remove(t.var.tenant_id,e))throw new v(404,{message:"Session not found"});return t.text("OK")}),wk=new o.OpenAPIHono().openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.array(Sn)}},description:"List of custom domains"}}}),async t=>{const e=await t.env.data.customDomains.list(t.var.tenant_id);return t.json(e)}).openapi(o.createRoute({tags:["custom-domains"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Sn}},description:"A customDomain"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.customDomains.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["custom-domains"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.customDomains.remove(t.var.tenant_id,e))throw new v(404,{message:"Custom domain not found"});return t.text("OK")}).openapi(o.createRoute({tags:["custom-domains"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Sn.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Sn}},description:"The updated custom domain"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");if(!await t.env.data.customDomains.update(t.var.tenant_id,e,n))throw new v(404);const i=await t.env.data.customDomains.get(t.var.tenant_id,e);if(!i)throw new v(404);return t.json(i)}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(ku.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Sn}},description:"The created custom domain"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.customDomains.create(t.var.tenant_id,e);return t.json(n,{status:201})}).openapi(o.createRoute({tags:["custom-domains"],method:"post",path:"/{id}/verify",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Sn}},description:"The custom domain"}}}),async()=>{throw new v(501,{message:"Not implemented"})});function Kc(t,e){const n={};for(const[r,i]of Object.entries(e)){if(i==null)continue;const s={};for(const[a,c]of Object.entries(i))typeof c=="function"?s[a]=async(...l)=>{const d=performance.now();try{const p=await c(...l),g=performance.now()-d,_=t.res.headers.get("Server-Timing")||"",w=_?`${_}, ${r}-${a};dur=${g.toFixed(2)}`:`${r}-${a};dur=${g.toFixed(2)}`;return t.res.headers.set("Server-Timing",w),p}catch(p){const g=performance.now()-d,_=t.res.headers.get("Server-Timing")||"",w=_?`${_}, ${r}-${a}-error;dur=${g.toFixed(2)}`:`${r}-${a}-error;dur=${g.toFixed(2)}`;throw t.res.headers.set("Server-Timing",w),p}}:s[a]=c;n[r]=s}return n}async function Gc(t,e){const n=t.req.header("x-forwarded-host");if(n){const i=await t.env.data.customDomains.getByDomain(n);if(i)return t.set("tenant_id",i.tenant_id),t.set("custom_domain",n),t.set("host",n),await e()}const r=t.req.header("host");if(r){t.set("host",r);const i=r.split(".");if(i.length>1&&typeof i[0]=="string"){const s=i[0];await t.env.data.tenants.get(s)&&t.set("tenant_id",s)}}else t.set("host",new URL(ec(t.env)).host);if(!t.var.tenant_id){const i=t.req.header("tenant-id");i&&t.set("tenant_id",i)}return await e()}const bk=o.z.object({name:o.z.string(),version:o.z.string(),env:o.z.object({node:o.z.string().optional()}).optional()});function vk(t){if(t)try{let e=t;try{e=atob(t)}catch{}try{const n=JSON.parse(e);return bk.parse(n)}catch{}}catch{return}}const Wc=async(t,e)=>{const n=t.req.query("auth0Client")?.slice(0,255),i=(t.req.header("x-forwarded-host")&&t.req.header("x-forwarded-for")?t.req.header("x-forwarded-for")?.split(",")[0]?.trim():t.req.header("cf-connecting-ip")||t.req.header("x-real-ip"))?.slice(0,45),s=t.req.header("user-agent")?.slice(0,512),a=t.req.header("cf-ipcountry")?.slice(0,2),c=n?vk(n):void 0;c&&t.set("auth0_client",c),i&&t.set("ip",i),s&&t.set("useragent",s),a&&t.set("countryCode",a),await e()};function $k(t,e,n,r){try{const i=`${t}:${e}:${JSON.stringify(n)}`;return r?`${r}:${i}`:i}catch{const s=`${t}:${e}:${Date.now()}-${Math.random()}`;return r?`${r}:${s}`:s}}function Jc(t,e){const{cache:n,defaultTtl:r,customTtls:i={},excludeMethods:s=[],cacheEntities:a=[],keyPrefix:c}=e,l=new Set(s),d=a.length===0,p=new Set(a),f={};for(const[g,_]of Object.entries(t)){if(_==null)continue;const w=d||p.has(g),k={};for(const[z,N]of Object.entries(_))if(typeof N=="function"){if(!w){k[z]=N;continue}const I=`${g}:${z}`;if(l.has(I)){k[z]=N;continue}const S=i[I]??r,E=["create","update","remove","delete","set","used"].includes(z);k[z]=async(...O)=>{if(E)return await N.apply(_,O);const K=$k(g,z,O,c),W=await n.get(K);if(W!==null)if(W&&typeof W=="object"&&"isCachedNull"in W){const F=W;return F.isCachedNull?null:F.value}else return W;const ie=await N.apply(_,O);if(S>=0)if(ie!==null)await n.set(K,ie,S);else{const F={value:null,isCachedNull:!0};await n.set(K,F,S)}return ie}}else k[z]=N;f[g]=k}return f}class kk{constructor(e={}){this.config=e;const n=e.cleanupIntervalMs;n&&n>0&&(this.cleanupTimer=setInterval(()=>{this.cleanupExpired()},n))}cache=new Map;accessOrder=new Map;accessCounter=0;cleanupTimer;async get(e){const n=this.cache.get(e);return n?n.expiresAt&&n.expiresAt<new Date?(this.cache.delete(e),this.accessOrder.delete(e),null):(this.accessOrder.set(e,++this.accessCounter),n.value):null}async set(e,n,r){let i;const s=r??this.config.defaultTtlSeconds,a=s!==void 0,c=a?Math.max(0,s):0;a&&(i=new Date(Date.now()+(c>0?c*1e3:-1))),this.config.maxEntries&&this.cache.size>=this.config.maxEntries&&!this.cache.has(e)&&this.evictLeastRecentlyUsed();const l={value:n,expiresAt:i};this.cache.set(e,l),this.accessOrder.set(e,++this.accessCounter)}async delete(e){const n=this.cache.has(e);return this.cache.delete(e),this.accessOrder.delete(e),n}async clear(){this.cache.clear(),this.accessOrder.clear(),this.accessCounter=0}getStats(){return{size:this.cache.size,maxEntries:this.config.maxEntries,defaultTtlSeconds:this.config.defaultTtlSeconds}}cleanupExpired(){const e=new Date,n=[];for(const[r,i]of this.cache.entries())i.expiresAt&&i.expiresAt<e&&n.push(r);for(const r of n)this.cache.delete(r),this.accessOrder.delete(r)}evictLeastRecentlyUsed(){let e=null,n=1/0;for(const[r,i]of this.accessOrder.entries())i<n&&(n=i,e=r);e&&(this.cache.delete(e),this.accessOrder.delete(e))}destroy(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=void 0)}}function cs(t={}){return new kk(t)}const xk=it.extend({forms:o.z.array(Br)}),Sk=new o.OpenAPIHono().openapi(o.createRoute({tags:["forms"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Br),xk])}},description:"List of forms"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.forms.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a});return i?t.json(c):t.json(c.forms)}).openapi(o.createRoute({tags:["forms"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Br}},description:"A form"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.forms.get(e,n);if(!r)throw new v(404);return t.json(r)}).openapi(o.createRoute({tags:["forms"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.forms.remove(e,n))throw new v(404,{message:"Form not found"});return t.text("OK")}).openapi(o.createRoute({tags:["forms"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Hs.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Br}},description:"The updated form"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.forms.update(e,n,r))throw new v(404,{message:"Form not found"});const s=await t.env.data.forms.get(e,n);if(!s)throw new v(404,{message:"Form not found"});return t.json(s)}).openapi(o.createRoute({tags:["forms"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Hs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Br}},description:"A form"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.forms.create(e,n);return t.json(r,{status:201})}),zk=it.extend({roles:o.z.array(Xn)}),Ak=new o.OpenAPIHono().openapi(o.createRoute({tags:["roles"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Xn),zk])}},description:"List of roles"}}}),async t=>{const{page:e,per_page:n,include_totals:r,sort:i,q:s}=t.req.valid("query"),a=await t.env.data.roles.list(t.var.tenant_id,{page:e,per_page:n,include_totals:r,sort:Ge(i),q:s});return r?t.json(a):t.json(a.roles)}).openapi(o.createRoute({tags:["roles"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Xn}},description:"A role"}}}),async t=>{const{id:e}=t.req.valid("param"),n=await t.env.data.roles.get(t.var.tenant_id,e);if(!n)throw new v(404);return t.json(n)}).openapi(o.createRoute({tags:["roles"],method:"post",path:"/",request:{headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Gs}}}},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Xn}},description:"Role created"}}}),async t=>{const e=t.req.valid("json"),n=await t.env.data.roles.create(t.var.tenant_id,e);return t.json(n,{status:201})}).openapi(o.createRoute({tags:["roles"],method:"patch",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Gs.partial()}}}},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Xn}},description:"Updated role"}}}),async t=>{const{id:e}=t.req.valid("param"),n=t.req.valid("json");if(!await t.env.data.roles.update(t.var.tenant_id,e,n))throw new v(404);const i=await t.env.data.roles.get(t.var.tenant_id,e);return t.json(i)}).openapi(o.createRoute({tags:["roles"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{id:e}=t.req.valid("param");if(!await t.env.data.roles.remove(t.var.tenant_id,e))throw new v(404);return t.text("OK")}).openapi(o.createRoute({tags:["roles"],method:"get",path:"/{id}/permissions",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:km}},description:"Role permissions"}}}),async t=>{const{id:e}=t.req.valid("param"),{page:n,per_page:r,sort:i,q:s}=t.req.valid("query");if(!await t.env.data.roles.get(t.var.tenant_id,e))throw new v(404,{message:"Role not found"});const c=await t.env.data.rolePermissions.list(t.var.tenant_id,e,{page:n,per_page:r,include_totals:!1,sort:Ge(i),q:s});return t.json(c)}).openapi(o.createRoute({tags:["roles"],method:"post",path:"/{id}/permissions",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Permissions assigned to role"}}}),async t=>{const{id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.roles.get(t.var.tenant_id,e))throw new v(404,{message:"Role not found"});if(!await t.env.data.rolePermissions.assign(t.var.tenant_id,e,n.map(s=>({role_id:e,resource_server_identifier:s.resource_server_identifier,permission_name:s.permission_name}))))throw new v(500,{message:"Failed to assign permissions to role"});return t.json({message:"Permissions assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["roles"],method:"delete",path:"/{id}/permissions",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({permissions:o.z.array(o.z.object({permission_name:o.z.string(),resource_server_identifier:o.z.string()}))})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Permissions removed from role"}}}),async t=>{const{id:e}=t.req.valid("param"),{permissions:n}=t.req.valid("json");if(!await t.env.data.roles.get(t.var.tenant_id,e))throw new v(404,{message:"Role not found"});if(!await t.env.data.rolePermissions.remove(t.var.tenant_id,e,n))throw new v(500,{message:"Failed to remove permissions from role"});return t.json({message:"Permissions removed successfully"})}),Ek=it.extend({resource_servers:o.z.array(Jn)}),Ck=new o.OpenAPIHono().openapi(o.createRoute({tags:["resource-servers"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Jn),Ek])}},description:"List of resource servers"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.resourceServers.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a});return i?t.json(c):t.json(c.resource_servers)}).openapi(o.createRoute({tags:["resource-servers"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Jn}},description:"A resource server"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.resourceServers.get(e,n);if(!r)throw new v(404);return t.json(r)}).openapi(o.createRoute({tags:["resource-servers"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.resourceServers.remove(e,n))throw new v(404,{message:"Resource server not found"});return t.text("OK")}).openapi(o.createRoute({tags:["resource-servers"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:o.z.object(Ks.shape).partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Jn}},description:"The updated resource server"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.resourceServers.update(e,n,r))throw new v(404,{message:"Resource server not found"});const s=await t.env.data.resourceServers.get(e,n);if(!s)throw new v(404,{message:"Resource server not found"});return t.json(s)}).openapi(o.createRoute({tags:["resource-servers"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(Ks.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Jn}},description:"A resource server"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.resourceServers.create(e,n);return t.json(r,{status:201})}),Nk=o.z.object({per_page:o.z.string().min(1).optional().default("50").transform(t=>parseInt(t,10)).openapi({description:"Number of results per page. Defaults to 50."}),page:o.z.string().min(0).optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"Page index of the results to return. First page is 0."}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"Return results inside an object that contains the total result count (true) or as a direct array of results (false, default)."}),from:o.z.string().optional().openapi({description:"Optional Id from which to start selection."}),take:o.z.string().min(1).optional().transform(t=>t?parseInt(t,10):void 0).openapi({description:"Number of results per page. Defaults to 50."}),audience:o.z.string().optional().openapi({description:"Optional filter on audience."}),client_id:o.z.string().optional().openapi({description:"Optional filter on client_id."}),allow_any_organization:o.z.string().optional().transform(t=>t==="true"?!0:t==="false"?!1:void 0).openapi({description:"Optional filter on allow_any_organization."}),subject_type:o.z.enum(["client","user"]).optional().openapi({description:"EA The type of application access the client grant allows. Use of this field is subject to the applicable Free Trial terms in Okta's Master Subscription Agreement."})}),Ik=it.extend({client_grants:o.z.array(Wn)}),jk=new o.OpenAPIHono().openapi(o.createRoute({tags:["client-grants"],method:"get",path:"/",request:{query:Nk,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Wn),Ik])}},description:"List of client grants"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i=!1,from:s,take:a,audience:c,client_id:l,allow_any_organization:d,subject_type:p}=t.req.valid("query"),f=[];l&&f.push(`client_id:"${l}"`),c&&f.push(`audience:"${c}"`),d!==void 0&&f.push(`allow_any_organization:${d}`),p&&f.push(`subject_type:"${p}"`),s&&f.push(`id:>${s}`);const g=f.length>0?f.join(" AND "):void 0,_=a??r,w=await t.env.data.clientGrants.list(e,{page:n,per_page:_,include_totals:i,q:g});return i?t.json(w):t.json(w.client_grants)}).openapi(o.createRoute({tags:["client-grants"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Wn}},description:"A client grant"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.clientGrants.get(e,n);if(!r)throw new v(404,{message:"Client grant not found"});return t.json(r)}).openapi(o.createRoute({tags:["client-grants"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Status"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.clientGrants.remove(e,n))throw new v(404,{message:"Client grant not found"});return t.text("OK")}).openapi(o.createRoute({tags:["client-grants"],method:"patch",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),body:{content:{"application/json":{schema:o.z.object(qs.shape).partial()}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:Wn}},description:"The updated client grant"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.clientGrants.get(e,n))throw new v(404,{message:"Client grant not found"});if(!await t.env.data.clientGrants.update(e,n,r))throw new v(500,{message:"Failed to update client grant"});const a=await t.env.data.clientGrants.get(e,n);if(!a)throw new v(404,{message:"Client grant not found"});return t.json(a)}).openapi(o.createRoute({tags:["client-grants"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.object(qs.shape)}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:Wn}},description:"A client grant"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r=await t.env.data.clientGrants.create(e,n);return t.json(r,{status:201})}),Ok=o.z.object({page:o.z.string().optional().default("0").transform(t=>parseInt(t,10)).openapi({description:"Page index of the results to return. First page is 0."}),per_page:o.z.string().optional().default("50").transform(t=>parseInt(t,10)).openapi({description:"Number of results per page. Defaults to 50."}),include_totals:o.z.string().optional().default("false").transform(t=>t==="true").openapi({description:"When true, return results inside an object that also contains the start and limit. When false (default), a direct array of results is returned."}),fields:o.z.string().optional().openapi({description:"Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields."}),include_fields:o.z.string().optional().default("true").transform(t=>t==="true").openapi({description:"Whether specified fields are to be included (true) or excluded (false). Defaults to true."}),sort:o.z.string().optional().default("created_at:-1").openapi({description:"Field to sort by. Use field:order where order is 1 for ascending and -1 for descending. Defaults to created_at:-1."})}),Pk=o.z.object({invitations:o.z.array(ro),start:o.z.number(),limit:o.z.number(),length:o.z.number()}),Tk=xu.omit({organization_id:!0,invitation_url:!0}),Rk=it.extend({organizations:o.z.array(An)}),Np=o.z.object({user_id:o.z.string().openapi({description:"ID of this user"}),email:o.z.string().email().optional().openapi({description:"Email address of this user",format:"email"}),roles:o.z.array(o.z.object({})).default([]).openapi({description:"Array of roles assigned to this user in the organization"})}),Bk=o.z.object({start:o.z.number().openapi({description:"Start index of the current page"}),limit:o.z.number().openapi({description:"Number of items per page"}),total:o.z.number().openapi({description:"Total number of members"}),members:o.z.array(Np).openapi({description:"Array of organization members"})}),Lk=o.z.object({next:o.z.string().optional().openapi({description:"Checkpoint ID to be used to retrieve the next set of results"}),members:o.z.array(Np).openapi({description:"Array of organization members"})}),Uk=o.z.object({members:o.z.array(o.z.string()).openapi({description:"Array of user IDs to add to the organization"})}),Dk=o.z.object({members:o.z.array(o.z.string()).openapi({description:"Array of user IDs to remove from the organization"})}),Mk=new o.OpenAPIHono().openapi(o.createRoute({tags:["organizations"],method:"get",path:"/",request:{query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([Rk,o.z.array(An)])}},description:"List of organizations"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{page:n,per_page:r,include_totals:i,sort:s,q:a}=t.req.valid("query"),c=await t.env.data.organizations.list(e,{page:n,per_page:r,include_totals:i,sort:Ge(s),q:a});return i?t.json(c):t.json(c.organizations)}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:An}},description:"An organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=await t.env.data.organizations.get(e,n);if(!r)throw new v(404,{message:"Organization not found"});return t.json(r)}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Organization deleted successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param");if(!await t.env.data.organizations.remove(e,n))throw new v(404,{message:"Organization not found"});return t.text("OK")}).openapi(o.createRoute({tags:["organizations"],method:"patch",path:"/{id}",request:{body:{content:{"application/json":{schema:Js.partial()}}},params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{200:{content:{"application/json":{schema:An}},description:"The updated organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.organizations.update(e,n,r))throw new v(404,{message:"Organization not found"});const s=await t.env.data.organizations.get(e,n);if(!s)throw new v(404,{message:"Organization not found"});return t.json(s)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:Js}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:An}},description:"The created organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),n=t.req.valid("json"),r={...n,id:n.id||j$()},i=await t.env.data.organizations.create(e,r);return t.json(i,{status:201})}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/members",request:{params:o.z.object({id:o.z.string()}),query:Re,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(Np),Bk,Lk])}},description:"List of organization members"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{page:r,per_page:i,include_totals:s,sort:a}=t.req.valid("query");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});const l=await t.env.data.userOrganizations.list(e,{page:r,per_page:i,include_totals:s,sort:Ge(a),q:`organization_id:${n}`}),d=[];for(const p of l.userOrganizations){const f=await t.env.data.users.get(e,p.user_id);f&&d.push({user_id:f.user_id,email:f.email||void 0,roles:[]})}return s?t.json({start:l.start,limit:l.limit,total:l.length,members:d}):t.json(d)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/{id}/members",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Uk}}}},security:[{Bearer:["auth:write"]}],responses:{204:{description:"Members added successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{members:r}=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});for(const s of r)(await t.env.data.userOrganizations.list(e,{q:`user_id:${s}`,per_page:1})).userOrganizations.some(l=>l.organization_id===n)||await t.env.data.userOrganizations.create(e,{user_id:s,organization_id:n});return new Response(null,{status:204})}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}/members",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:Dk}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Members removed successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{members:r}=t.req.valid("json");for(const i of r){const a=(await t.env.data.userOrganizations.list(e,{q:`user_id:${i}`,per_page:100})).userOrganizations.find(c=>c.organization_id===n);a&&await t.env.data.userOrganizations.remove(e,a.id)}return t.json({message:"Members removed successfully"})}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/members/{user_id}/roles",request:{params:o.z.object({id:o.z.string(),user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ws}},description:"User roles in organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,user_id:r}=t.req.valid("param");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});if(!await t.env.data.users.get(e,r))throw new v(404,{message:"User not found"});const a=await t.env.data.userRoles.list(e,r,void 0,n);return t.json(a)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/{id}/members/{user_id}/roles",request:{params:o.z.object({id:o.z.string(),user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string()).openapi({description:"List of role IDs to associate with the user"})})}}}},security:[{Bearer:["auth:write"]}],responses:{201:{description:"Roles assigned successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,user_id:r}=t.req.valid("param"),{roles:i}=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});if(!await t.env.data.users.get(e,r))throw new v(404,{message:"User not found"});for(const c of i){if(!await t.env.data.roles.get(e,c))throw new v(400,{message:`Role ${c} not found`});if(!await t.env.data.userRoles.create(e,r,c,n))throw new v(500,{message:`Failed to assign role ${c} to user`})}return t.json({message:"Roles assigned successfully"},{status:201})}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}/members/{user_id}/roles",request:{params:o.z.object({id:o.z.string(),user_id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),body:{content:{"application/json":{schema:o.z.object({roles:o.z.array(o.z.string()).openapi({description:"List of role IDs to remove from the user"})})}}}},security:[{Bearer:["auth:write"]}],responses:{200:{description:"Roles removed successfully"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,user_id:r}=t.req.valid("param"),{roles:i}=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});if(!await t.env.data.users.get(e,r))throw new v(404,{message:"User not found"});for(const c of i)if(!await t.env.data.userRoles.remove(e,r,c,n))throw new v(500,{message:`Failed to remove role ${c} from user`});return t.json({message:"Roles removed successfully"})}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/roles",request:{params:o.z.object({id:o.z.string()}),headers:o.z.object({"tenant-id":o.z.string()}),query:Re},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:Ws}},description:"List of roles available in organization"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{page:r,per_page:i,sort:s,q:a}=t.req.valid("query");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});const l=await t.env.data.roles.list(e,{page:r,per_page:i,sort:Ge(s),q:a});return t.json(l.roles)}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/invitations",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}})}),query:Ok,headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:o.z.union([o.z.array(ro),Pk])}},description:"List of organization invitations"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),{page:r,per_page:i,include_totals:s,fields:a,include_fields:c,sort:l}=t.req.valid("query");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});let f=(await t.env.data.invites.list(e,{page:r,per_page:i})).invites.filter(g=>g.organization_id===n);if(l){const g=Ge(l);if(g){const{sort_by:_,sort_order:w}=g;f.sort((k,z)=>{const N=k[_],I=z[_];if(N===void 0||I===void 0||N===I)return 0;const S=N<I?-1:1;return w==="asc"?S:-S})}}if(a){const g=a.split(",").map(_=>_.trim());f=f.map(_=>{const w={};for(const k of Object.keys(_))(c?g.includes(k):!g.includes(k))&&(w[k]=_[k]);return w})}return s?t.json({invitations:f,start:r*i,limit:i,length:f.length}):t.json(f)}).openapi(o.createRoute({tags:["organizations"],method:"get",path:"/{id}/invitations/{invitation_id}",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}}),invitation_id:o.z.string().openapi({description:"Invitation ID",param:{name:"invitation_id",in:"path"}})}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:read"]}],responses:{200:{content:{"application/json":{schema:ro}},description:"An invitation"},404:{description:"Invitation not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,invitation_id:r}=t.req.valid("param"),i=await t.env.data.invites.get(e,r);if(!i||i.organization_id!==n)throw new v(404,{message:"Invitation not found"});return t.json(i)}).openapi(o.createRoute({tags:["organizations"],method:"post",path:"/{id}/invitations",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}})}),body:{content:{"application/json":{schema:Tk}}},headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{201:{content:{"application/json":{schema:ro}},description:"The created invitation"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n}=t.req.valid("param"),r=t.req.valid("json");if(!await t.env.data.organizations.get(e,n))throw new v(404,{message:"Organization not found"});const a=`https://invite.placeholder/${T$()}`,c={...r,organization_id:n,invitation_url:a},l=await t.env.data.invites.create(e,c);return t.json(l,{status:201})}).openapi(o.createRoute({tags:["organizations"],method:"delete",path:"/{id}/invitations/{invitation_id}",request:{params:o.z.object({id:o.z.string().openapi({description:"Organization ID",param:{name:"id",in:"path"}}),invitation_id:o.z.string().openapi({description:"Invitation ID",param:{name:"invitation_id",in:"path"}})}),headers:o.z.object({"tenant-id":o.z.string()})},security:[{Bearer:["auth:write"]}],responses:{204:{description:"Invitation deleted successfully"},404:{description:"Invitation not found"}}}),async t=>{const{"tenant-id":e}=t.req.valid("header"),{id:n,invitation_id:r}=t.req.valid("param"),i=await t.env.data.invites.get(e,r);if(!i||i.organization_id!==n)throw new v(404,{message:"Invitation not found"});if(!await t.env.data.invites.remove(e,r))throw new v(404,{message:"Invitation not found"});return t.body(null,{status:204})});function qk(t){const e=new o.OpenAPIHono;e.use(P0({origin:r=>r&&t.allowedOrigins?.includes(r)?r:"",allowHeaders:["Tenant-Id","Content-Type","Content-Range","Auth0-Client","Authorization","Range","Upgrade-Insecure-Requests"],allowMethods:["POST","PUT","GET","DELETE","PATCH","OPTIONS"],exposeHeaders:["Content-Length","Content-Range"],maxAge:600,credentials:!0})),Ep(e),e.use(async(r,i)=>{const s=Do(r,t.dataAdapter),a=cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),c=Jc(s,{defaultTtl:0,cacheEntities:["tenants","connections","clients","legacyClients","branding","themes","promptSettings","forms"],cache:a});return r.env.data=Kc(r,c),i()}),e.use(Wc).use(Gc).use(Cp(e));const n=e.route("/branding",mb).route("/custom-domains",wk).route("/email/providers",mk).route("/users",v3).route("/keys",$$).route("/users-by-email",k$).route("/clients",S$).route("/client-grants",jk).route("/tenants",A$).route("/logs",C$).route("/hooks",B$).route("/connections",U$).route("/prompts",D$).route("/sessions",_k).route("/refresh_tokens",yk).route("/forms",Sk).route("/roles",Ak).route("/resource-servers",Ck).route("/organizations",Mk);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Management API"},servers:[{url:"/api/v2",description:"API V2"}],security:[{oauth2:["openid","email","profile"]}]}),n}function Fk(t,e){Object.keys(e).forEach(n=>{const r=e[n];r!=null&&r.length&&t.searchParams.set(n,r)})}function _n(t){if(t)return`${t.name}/${t.version}${t.env?.node?` (env: node/${t.env.node})`:""}`}async function zi(t,e){const n=await t.data.legacyClients.get(e);if(!n)throw new L(403,{message:"Client not found"});let r=n;if(t.DEFAULT_CLIENT_ID||t.DEFAULT_TENANT_ID){const i=t.DEFAULT_CLIENT_ID?await t.data.legacyClients.get(t.DEFAULT_CLIENT_ID):void 0,s=await t.data.connections.list(n.tenant.id),a=t.DEFAULT_TENANT_ID?await t.data.connections.list(t.DEFAULT_TENANT_ID):{connections:[]},c=s.connections.map(l=>{const d=a.connections?.find(f=>f.name===l.name);if(!d?.options)return l;const p=St.parse({...d||{},...l});return p.options=Dr.passthrough().parse({...d.options||{},...l.options}),p}).filter(l=>l);r={...n,web_origins:[...i?.web_origins||[],...n.web_origins||[]],allowed_logout_urls:[...i?.allowed_logout_urls||[],...n.allowed_logout_urls||[]],callbacks:[...i?.callbacks||[],...n.callbacks||[]],connections:c,tenant:{...i?.tenant||{},...n.tenant}}}return{...r,web_origins:[...r.web_origins||[],`${De(t)}login`],allowed_logout_urls:[...r.allowed_logout_urls||[],t.ISSUER],callbacks:[...r.callbacks||[],`${De(t)}info`]}}async function Ig(t,e,n,r){if(!r.state)throw new L(400,{message:"State not found"});const i=e.connections.find(l=>l.name===n);if(!i)throw t.set("client_id",e.client_id),await ne(t,e.tenant.id,{type:ee.FAILED_LOGIN,description:"Connection not found"}),new L(403,{message:"Connection Not Found"});let s=await t.env.data.loginSessions.get(e.tenant.id,r.state);if(!s){const l=t.get("ip"),d=t.get("useragent"),p=t.get("auth0_client");s=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:r,csrf_token:pe(),ip:l,useragent:d,auth0Client:_n(p)})}const c=await k_(t,i.strategy).getRedirect(t,i);return await t.env.data.codes.create(e.tenant.id,{login_id:s.id,code_id:c.code,code_type:"oauth2_state",connection_id:i.id,code_verifier:c.codeVerifier,expires_at:new Date(Date.now()+Xb*1e3).toISOString()}),new Response(null,{status:302,headers:{location:c.redirectUrl}})}async function jg(t,{code:e,state:n}){const{env:r}=t,i=await r.data.codes.get(t.var.tenant_id||"",n,"oauth2_state");if(!i||!i.connection_id)throw new L(403,{message:"State not found"});const s=await r.data.loginSessions.get(t.var.tenant_id||"",i.login_id);if(!s)throw new L(403,{message:"Session not found"});if(s.authorization_url){const w=new URL(s.authorization_url).hostname,k=t.var.host||"";if(w!==k&&w){const z=new URL(`https://${w}/callback`);return z.searchParams.set("state",n),z.searchParams.set("code",e),new Response("Redirecting",{status:307,headers:{location:z.toString()}})}}const a=await zi(r,s.authParams.client_id);t.set("client_id",a.client_id),t.set("tenant_id",a.tenant.id);const c=a.connections.find(w=>w.id===i.connection_id);if(!c)throw await ne(t,a.tenant.id,{type:ee.FAILED_LOGIN,description:"Connection not found"}),new L(403,{message:"Connection not found"});if(t.set("connection",c.name),!s.authParams.redirect_uri)throw await ne(t,a.tenant.id,{type:ee.FAILED_LOGIN,description:"Redirect URI not defined"}),new L(403,{message:"Redirect URI not defined"});const d=await k_(t,c.strategy).validateAuthorizationCodeAndGetUser(t,c,e,i.code_verifier),{sub:p,...f}=d;t.set("user_id",p);const g=d.email?.toLocaleLowerCase()||`${c.name}.${p}@${new URL(t.env.ISSUER).hostname}`;t.set("username",g);const _=await Za(t,{client:a,username:g,provider:c.strategy,connection:c.name,userId:p,profileData:f,isSocial:!0,ip:t.var.ip});return Kt(t,{client:a,authParams:s.authParams,loginSession:s,user:_,authStrategy:{strategy:c.strategy,strategy_type:"social"}})}async function Og(t,e,n,r,i,s){const a=await t.env.data.codes.get(t.var.tenant_id||"",e,"oauth2_state");if(!a)throw new v(400,{message:"State not found"});const c=await t.env.data.loginSessions.get(t.var.tenant_id,a.login_id);if(!c)throw new v(400,{message:"Login not found"});const{redirect_uri:l}=c.authParams;if(!l)throw new v(400,{message:"Redirect uri not found"});ne(t,t.var.tenant_id,{type:ee.FAILED_LOGIN,description:`Failed connection login: ${i} ${n}, ${r}`});const d=new URL(l);return Fk(d,{error:n,error_description:r,error_reason:s,error_code:i,state:c.authParams.state}),t.redirect(`${De(t.env)}login/identifier?state=${c.id}&error=${n}`)}const Hk=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})},responses:{302:{description:"Redirect to the client's redirect uri"},400:{description:"Bad Request",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}},500:{description:"Internal Server Error",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("query");if(r)return Og(t,e,r,i,s,a);if(!n)throw new v(400,{message:"Code is required"});const c=await jg(t,{code:n,state:e});if(!(c instanceof Response))throw new v(500,{message:"Internal server error"});return c}).openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({state:o.z.string(),code:o.z.string().optional(),scope:o.z.string().optional(),hd:o.z.string().optional(),error:o.z.string().optional(),error_description:o.z.string().optional(),error_code:o.z.string().optional(),error_reason:o.z.string().optional()})}}}},responses:{302:{description:"Redirect to the client's redirect uri"},400:{description:"Bad Request",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}},500:{description:"Internal Server Error",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{state:e,code:n,error:r,error_description:i,error_code:s,error_reason:a}=t.req.valid("form");if(r)return Og(t,e,r,i,s,a);if(!n)throw new v(400,{message:"Code is required"});const c=await jg(t,{code:n,state:e});if(!(c instanceof Response))throw new v(500,{message:"Internal server error"});return c});function Ip(t,e=[],n={}){try{const r=new URL(t);return e.some(i=>{try{return Vk(r,new URL(i),n)}catch{return!1}})}catch{return!1}}function Vk(t,e,n={}){if(t.protocol!==e.protocol)return!1;if(n.allowPathWildcards&&e.pathname.includes("*")){const r=e.pathname.replace(/\*/g,".*").replace(/\//g,"\\/");if(!new RegExp(`^${r}$`).test(t.pathname))return!1}else if(t.pathname!==e.pathname)return!1;if(n.allowSubDomainWildcards&&e.hostname.startsWith("*.")&&e.hostname.split(".").length>2&&["http:","https:"].includes(e.protocol)){const r=e.hostname.split(".").slice(1).join(".");return t.hostname===r||t.hostname.endsWith("."+r)}return t.hostname===e.hostname}const Kk=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),returnTo:o.z.string().optional()}),header:o.z.object({cookie:o.z.string().optional()})},responses:{302:{description:"Log the user out"}}}),async t=>{const{client_id:e,returnTo:n}=t.req.valid("query"),r=await t.env.data.legacyClients.get(e);if(!r)return t.text("OK");const i=await t.env.data.legacyClients.get("DEFAULT_CLIENT");t.set("client_id",e),t.set("tenant_id",r.tenant.id);const s=n||t.req.header("referer");if(!s)return t.text("OK");if(!Ip(s,[...r.allowed_logout_urls||[],...i?.allowed_logout_urls||[]],{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new v(400,{message:"Invalid redirect uri"});const a=t.req.header("cookie");if(a){const c=Wr(r.tenant.id,a);if(c){const l=await t.env.data.sessions.get(r.tenant.id,c);if(l){const d=await t.env.data.users.get(r.tenant.id,l.user_id);d&&(t.set("user_id",d.user_id),t.set("connection",d.connection));const p=await t.env.data.refreshTokens.list(r.tenant.id,{q:`session_id=${c}`,page:0,per_page:100,include_totals:!1});await Promise.all(p.refresh_tokens.map(f=>t.env.data.refreshTokens.remove(r.tenant.id,f.id))),await t.env.data.sessions.update(r.tenant.id,c,{revoked_at:new Date().toISOString()})}}}return ne(t,r.tenant.id,{type:ee.SUCCESS_LOGOUT,description:"User successfully logged out"}),new Response("Redirecting",{status:302,headers:{"set-cookie":tv(r.tenant.id,t.req.header("host")),location:s}})}),Pg=o.z.object({sub:o.z.string(),email:o.z.string().optional(),family_name:o.z.string().optional(),given_name:o.z.string().optional(),email_verified:o.z.boolean()}),Gk=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"get",path:"/",request:{},security:[{Bearer:["openid"]}],responses:{200:{content:{"application/json":{schema:Pg}},description:"Userinfo"}}}),async t=>{if(!t.var.user)throw new v(404,{message:"User not found"});const e=await t.env.data.users.get(t.var.user.tenant_id,t.var.user.sub);if(!e)throw new v(404,{message:"User not found"});return t.json(Pg.parse({...e,sub:e.user_id}))}),Wk=new o.OpenAPIHono().openapi(o.createRoute({tags:["well known"],method:"get",path:"/jwks.json",request:{},responses:{200:{content:{"application/json":{schema:om}},description:"List of tenants"}}}),async t=>{const e=await au(t.env.data);return t.json({keys:e},{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${hs}, stale-while-revalidate=${hs*2}, stale-if-error=86400`}})}).openapi(o.createRoute({tags:["well known"],method:"get",path:"/openid-configuration",request:{},responses:{200:{content:{"application/json":{schema:jl}},description:"List of tenants"}}}),async t=>{const e=jl.parse({issuer:ec(t.env),authorization_endpoint:`${ge(t.env)}authorize`,token_endpoint:`${ge(t.env)}oauth/token`,device_authorization_endpoint:`${ge(t.env)}oauth/device/code`,userinfo_endpoint:`${ge(t.env)}userinfo`,mfa_challenge_endpoint:`${ge(t.env)}mfa/challenge`,jwks_uri:`${ge(t.env)}.well-known/jwks.json`,registration_endpoint:`${ge(t.env)}oidc/register`,revocation_endpoint:`${ge(t.env)}oauth/revoke`,scopes_supported:["openid","profile","offline_access","name","given_name","family_name","nickname","email","email_verified","picture","created_at","identities","phone","address"],response_types_supported:["code","token","id_token","code token","code id_token","token id_token","code token id_token"],code_challenge_methods_supported:["S256","plain"],response_modes_supported:["query","fragment","form_post"],subject_types_supported:["public"],id_token_signing_alg_values_supported:["RS256"],token_endpoint_auth_methods_supported:["client_secret_basic","client_secret_post"],claims_supported:["aud","auth_time","created_at","email","email_verified","exp","family_name","given_name","iat","identities","iss","name","nickname","phone_number","picture","sub"],request_uri_parameter_supported:!1,request_parameter_supported:!1,token_endpoint_auth_signing_alg_values_supported:["RS256","RS384","PS256"]});return t.json(e,{headers:{"access-control-allow-origin":"*","access-control-allow-method":"GET","cache-control":`public, max-age=${hs}, stale-while-revalidate=${hs*2}, stale-if-error=86400`}})});function po(t,e){if(!t||!e||t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t.charCodeAt(r)^e.charCodeAt(r);return n===0}const w1=o.z.object({grant_type:o.z.literal("client_credentials"),scope:o.z.string().optional(),client_secret:o.z.string(),client_id:o.z.string(),audience:o.z.string().optional()});async function Jk(t,e){const n=await t.env.data.legacyClients.get(e.client_id);if(!n)throw new L(403,{message:"Invalid client credentials"});if(n.client_secret&&!po(n.client_secret,e.client_secret))throw new L(403,{message:"Invalid client credentials"});const r={client_id:n.client_id,scope:e.scope,audience:e.audience||n.tenant.default_audience};return{client:n,authParams:r}}const Xk=o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string().optional(),client_secret:o.z.string().optional(),code_verifier:o.z.string().optional(),organization:o.z.string().optional()}).refine(t=>"client_secret"in t&&!("code_verifier"in t)||!("client_secret"in t)&&"code_verifier"in t,{message:"Must provide either client_secret (standard flow) or code_verifier/code_verifier_mode (PKCE flow), but not both"});async function Zk(t,e){const n=await t.env.data.legacyClients.get(e.client_id);if(!n)throw new L(403,{message:"Client not found"});const r=await t.env.data.codes.get(n.tenant.id,e.code,"authorization_code");if(!r||!r.user_id)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid client credentials"}),new L(403,{message:"Invalid client credentials"});if(new Date(r.expires_at)<new Date)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Code expired",userId:r.user_id}),new L(403,{message:"Code expired"});if(r.used_at)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid authorization code",userId:r.user_id}),new L(403,{error:"invalid_grant",error_description:"Invalid authorization code"});const i=await t.env.data.loginSessions.get(n.tenant.id,r.login_id);if(!i)throw new L(403,{message:"Invalid login"});if(e.organization&&i.authParams.organization&&e.organization!==i.authParams.organization)throw new L(400,{error:"invalid_request",error_description:"Organization parameter does not match login session organization"});if("client_secret"in e){const l=await t.env.data.legacyClients.get("DEFAULT_CLIENT");if(!po(n.client_secret,e.client_secret)&&!po(l?.client_secret,e.client_secret))throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid client credentials",userId:r.user_id}),new L(403,{message:"Invalid client credentials"})}else if(r.code_challenge&&r.code_challenge_method&&e.code_verifier){const l=await Gb(e.code_verifier,r.code_challenge_method);if(!po(l,r.code_challenge))throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid client credentials",userId:r.user_id}),new L(403,{message:"Invalid client credentials"})}if(r.redirect_uri&&r.redirect_uri!==e.redirect_uri)throw ne(t,n.tenant.id,{type:ee.FAILED_EXCHANGE_AUTHORIZATION_CODE_FOR_ACCESS_TOKEN,description:"Invalid redirect uri",userId:r.user_id}),new L(403,{message:"Invalid redirect uri"});const s=await t.env.data.users.get(n.tenant.id,r.user_id);if(!s)throw new L(403,{message:"User not found"});await t.env.data.codes.used(n.tenant.id,e.code);let a;i.session_id&&i.authParams.scope?.split(" ").includes("offline_access")&&(a=await t_(t,{user:s,client:n,session_id:i.session_id,scope:i.authParams.scope,audience:i.authParams.audience}));let c;if(i.authParams.organization){const l=await t.env.data.organizations.get(n.tenant.id,i.authParams.organization);l?c={id:l.id,name:l.name}:c={id:i.authParams.organization,name:"Unknown"}}return{user:s,client:n,loginSession:i,session_id:i.session_id,refresh_token:a?.id,organization:c,authParams:{...i.authParams,state:r.state,nonce:r.nonce,response_mode:Ht.WEB_MESSAGE,client_id:n.client_id,scope:i.authParams.scope,audience:i.authParams.audience}}}function Tg(t,e){const n=t.var.log;n?t.set("log",`${n}
82
+ ${e}`):t.set("log",e)}const Yk=o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string(),redirect_uri:o.z.string().optional(),refresh_token:o.z.string(),client_secret:o.z.string().optional()});async function Qk(t,e){const n=await t.env.data.legacyClients.get(e.client_id);if(!n)throw new L(403,{message:"Client not found"});if(e.client_secret&&n.client_secret&&!po(n.client_secret,e.client_secret))throw new L(403,{error:"invalid_client",error_description:"Client authentication failed"});const r=await t.env.data.refreshTokens.get(n.tenant.id,e.refresh_token);if(r){if(r.expires_at&&new Date(r.expires_at)<new Date||r.idle_expires_at&&new Date(r.idle_expires_at)<new Date)throw Tg(t,`Refresh token has expired: ${e.refresh_token}`),new L(400,{error:"invalid_grant",error_description:"Refresh token has expired"})}else throw Tg(t,`Invalid refresh token: ${e.refresh_token}`),new L(400,{error:"invalid_grant",error_description:"Invalid refresh token"});const i=await t.env.data.users.get(n.tenant.id,r.user_id);if(!i)throw new L(403,{message:"User not found"});t.set("user_id",i.user_id);const s=r.resource_servers[0];if(r.idle_expires_at){const a=new Date(Date.now()+2592e6);await t.env.data.refreshTokens.update(n.tenant.id,r.id,{idle_expires_at:a.toISOString(),last_exchanged_at:new Date().toISOString(),device:{...r.device,last_ip:t.req.header["x-real-ip"]||"",last_user_agent:t.req.header["user-agent"]||""}})}return{user:i,client:n,refresh_token:r.id,session_id:r.session_id,authParams:{client_id:n.client_id,audience:s?.audience,scope:s?.scopes,response_mode:Ht.WEB_MESSAGE}}}const e5={version:4,country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6]],AD:["376","00","(?:1|6\\d)\\d{7}|[135-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[135-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0"],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0"],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([457]\\d{6})$|1","268$1",0,"268"],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2457]\\d{6})$|1","264$1",0,"264"],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0"],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0"],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]]],AR:["54","00","(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d{3})(\\d{3})(\\d{5})","$1-$2-$3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1"],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"([267]\\d{6})$|1","684$1",0,"684"],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]","(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0"],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",[5,6,7,8,9,10,12],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|4"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"(183[12])|0",0,0,0,[["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}",[9]],["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["163\\d{2,6}",[5,6,7,8,9]],["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10,11,12],0,"0",0,0,0,0,"18",0,"00"],AZ:["994","00","365\\d{6}|(?:[124579]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2|365|46","1[28]|2|365[45]|46","1[28]|2|365(?:4|5[02])|46"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-9]"],"0$1"]],"0"],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-3]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]|6[56]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0"],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","246$1",0,"246"],BD:["880","00","[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-8]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]|2[23]"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0"],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0"],BF:["226","00","(?:[025-7]\\d|44)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[024-7]"]]]],BG:["359","00","00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9,12],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0"],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[02-4679]"]]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]]],BJ:["229","00","(?:01\\d|8)\\d{7}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["0"]]]],BL:["590","00","(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"],["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","441$1",0,"441"],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]]],BO:["591","00(?:1\\d)?","8001\\d{5}|(?:[2-467]\\d|50)\\d{6}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[235]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?"],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]"],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37|86)","300|4(?:0(?:0|20)|370|864)"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2"],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([3-8]\\d{6})$|1","242$1",0,"242"],BT:["975","00","[178]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-6]|7[246]|8[2-4]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|[78]"]]]],BW:["267","00","(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",[7,8,10],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[24-6]|3[15-9]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37]"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["8"]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,0,"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]]],CA:["1","011","[2-9]\\d{9}|3\\d{6}",[7,10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}",[10]],["",[10]],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",[10]],["900[2-9]\\d{6}",[10]],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\\d{6}",[10]],0,["310\\d{4}",[7]],0,["600[2-9]\\d{6}",[10]]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CD:["243","00","(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["5"],"0$1"]],"0"],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0"],CI:["225","00","[02]\\d{9}",[10],[["(\\d{2})(\\d{2})(\\d)(\\d{5})","$1 $2 $3 $4",["2"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3 $4",["0"]]]],CK:["682","00","[2-578]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-578]"]]]],CL:["56","(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["219","2196"],"($1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["60|809"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[1-36]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9(?:10|[2-9])"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]]],CM:["237","00","[26]\\d{8}|88\\d{6,7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]|88"]]]],CN:["86","00|1(?:[12]\\d|79)\\d\\d00","(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]","(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123","10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"(1(?:[12]\\d|79)\\d\\d)|0",0,0,0,0,"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["46"]],["(\\d{3})(\\d{7})","$1 $2",["6|90"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3[0-357]|9[14]"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?"],CR:["506","00","(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))"],CU:["53","119","(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}",[6,7,8,10],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["[56]"],"0$1"],["(\\d{3})(\\d{7})","$1 $2",["8"],"0$1"]],"0"],CV:["238","0","(?:[2-59]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-589]"]]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]"],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9,10,11,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["96"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]]],DE:["49","00","[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[03568]","15(?:[0568]|3[13])"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0"],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","767$1",0,"767"],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8001|8[024]9"],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0"],EC:["593","00","1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0"],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-49])","[45]|8(?:00[1-9]|[1-49])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{8})","$1 $2",["1"],"0$1"]],"0"],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]"],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0"],ES:["34","00","[5-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]]],ET:["251","00","(?:11|[2-579]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-579]"],"0$1"]],"0"],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",[5,6,7,8,9,10,11,12],[["(\\d{5})","$1",["20[2-59]"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[1-3]0|[68])0|70[07-9]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[14]|2[09]|50|7[135]"],"0$1"],["(\\d{2})(\\d{6,10})","$1 $2",["7"],"0$1"],["(\\d)(\\d{4,9})","$1 $2",["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",0,"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,0,"00"],FK:["500","00","[2-7]\\d{4}",[5]],FM:["691","00","(?:[39]\\d\\d|820)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[389]"]]]],FO:["298","00","[2-9]\\d{5}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))"],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0"],GA:["241","00","(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["11|[67]"],"0$1"]],0,0,"0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})","$1"],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[02-9])","[25]|7(?:0|6(?:[03-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,"0|180020",0,0,0,[["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","473$1",0,"473"],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0"],GF:["594","00","(?:[56]94\\d|7093)\\d{5}|(?:80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]|9[47]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"],"0$1"]],"0"],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"([25-9]\\d{5})$|0|180020","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0"],GI:["350","00","(?:[25]\\d|60)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]]],GL:["299","00","(?:19|[2-689]\\d|70)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-9]"]]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],GN:["224","00","722\\d{6}|(?:3|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]]],GP:["590","00","(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-79]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"],["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]]],GR:["30","00","5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",[10,11,12],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]],["(\\d{3})(\\d{3,4})(\\d{5})","$1 $2 $3",["8"]]]],GT:["502","00","80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-8]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","671$1",0,"671"],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]]],GY:["592","001","(?:[2-8]\\d{3}|9008)\\d{3}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,0,"00"],HN:["504","00","8\\d{10}|[237-9]\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]]],HR:["385","00","[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}",[7,8,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6|7[245]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0"],HT:["509","00","[2-589]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-589]"]]]],HU:["36","00","[235-7]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"06 $1"]],"06"],ID:["62","00[89]","00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13,14,15,16,17],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0"],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"]],"0"],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0"],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([25-8]\\d{5})$|0|180020","1624$1",0,"74576|(?:16|7[56])24"],IN:["91","00","(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0"],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0"],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0"],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,0,"00"],IT:["39","00","0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",[6,7,8,9,10,11,12],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:44|[679])|[378]|43"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]|14"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[03]"]]],0,0,0,0,0,0,[["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[2-9]\\d{7,8}|(?:31|43)\\d{8}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],["3[2-8]\\d{9,10}",[11,12]],0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([0-24-8]\\d{5})$|0|180020","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876"],JO:["962","00","(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[47]"],"0$1"]],"0"],JP:["81","010","00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]","3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[289][2-9]|5[3-9]|7[2-4679]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[25-9]"],"0$1"]],"0",0,"(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0","$1"],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0"],KG:["996","00","8\\d{9}|[235-9]\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0"],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0"],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","869$1",0,"869"],KP:["850","00|99","85\\d{6}|(?:19\\d|[2-7])\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0"],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[36]0|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?"],KW:["965","00","18\\d{5}|(?:[2569]\\d|41)\\d{6}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[245]"]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","345$1",0,"345"],KZ:["7","810","(?:33622|8\\d{8})\\d{5}|[78]\\d{9}",[10,14],0,"8",0,0,0,0,"33622|7",0,"8~10"],LA:["856","00","[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["3"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[23]"],"0$1"]],"0"],LB:["961","00","[27-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27-9]"]]],"0"],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"([2-8]\\d{6})$|1","758$1",0,"758"],LI:["423","00","[68]\\d{8}|(?:[2378]\\d|90)\\d{5}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2379]|8(?:0[09]|7)","[2379]|8(?:0(?:02|9)|7)"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"(1001)|0"],LK:["94","00","[1-9]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0"],LR:["231","00","(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["4[67]|[56]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-578]"],"0$1"]],"0"],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-7]"],"(0-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"0 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(0-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(0-$1)",1]],"0",0,"[08]"],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"],LV:["371","00","(?:[268]\\d|78|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2679]|8[01]"]]]],LY:["218","00","[2-9]\\d{8}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[2-9]"],"0$1"]],"0"],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:[19]|2[2-46-9]|3[3-9])|8(?:0[89]|92)"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:(?:18|4[0679]|5[03])\\d|2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9]))\\d{5}"],["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}"],["80[0-7]\\d{6}"],["89\\d{7}"],0,0,0,0,["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]],MC:["377","00","(?:[3489]|[67]\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[389]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[67]"],"0$1"]],"0"],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0"],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0"],MF:["590","00","(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"],["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"([24-9]\\d{6})$|0","20$1"],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1"],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2|34[47]|4(?:[37]7|5[47]|64)"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0"],ML:["223","00","[24-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|452|678|86","[12]|452|6788|86"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0"],MN:["976","001","[12]\\d{7,9}|[5-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[5-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0"],MO:["853","00","0800\\d{3}|(?:28|[68]\\d)\\d{6}",[7,8],[["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{4})(\\d{4})","$1 $2",["[268]"]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","670$1",0,"670"],MQ:["596","00","(?:596\\d|7091)\\d{5}|(?:69|[89]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-79]|8(?:0[6-9]|[36])"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]]],MS:["1","011","(?:[58]\\d\\d|664|900)\\d{7}",[10],0,"1",0,"([34]\\d{6})$|1","664$1",0,"664"],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["[57]"]],["(\\d{5})(\\d{5})","$1 $2",["8"]]],0,0,0,0,0,0,0,"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[34679]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,0,"00"],MW:["265","00","(?:[1289]\\d|31|77)\\d{7}|1\\d{6}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[137-9]"],"0$1"]],"0"],MX:["52","0[09]","[2-9]\\d{9}",[10],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"]]],0,0,0,0,0,0,0,"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[02469]|[378][1-9]|53)|8","1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1(?:[367]|80)"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0"],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-79]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],NC:["687","00","(?:050|[2-57-9]\\d\\d)\\d{3}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[02-57-9]"]]]],NE:["227","00","[027-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[013]|7[0467]"]]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1[0-3]"]],["(\\d)(\\d{5})","$1 $2",["[13]"]]],0,0,"([0-258]\\d{4})$","3$1"],NG:["234","009","(?:20|9\\d)\\d{8}|[78]\\d{9,13}",[10,11,12,13,14],[["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["20[129]"],"0$1"],["(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0"],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",[5,6,7,8,9,10,11],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-578]|91"],"0$1"],["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3",["9"],"0$1"]],"0"],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]"]]],0,0,0,0,0,"[02-689]|7[0-8]"],NP:["977","00","(?:1\\d|9)\\d{9}|[1-9]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0"],NR:["674","00","(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[24-9]"]]]],NU:["683","00","(?:[4-7]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]]],NZ:["64","0(?:0|161)","[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,8})","$1 $2",["8[1-79]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["50[036-8]|8|90","50(?:[0367]|88)|8|90"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[589]"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["1|2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7"],"0$1"]],"0",0,0,0,0,0,0,"00"],OM:["968","00","(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[179]"]]]],PA:["507","00","(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",[7,8,10,11],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["[68]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]]],PE:["51","00|19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,0,"00"," Anexo "],PF:["689","00","4\\d{5}(?:\\d{2})?|8\\d{7,8}",[6,8,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4|8[7-9]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,0,"00"],PH:["63","00","(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0"],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,7})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0"],PL:["48","00","(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",[6,7,8,9,10],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|20|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-7]|8[1-79]|9[145]"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["8"]]]],PM:["508","00","[45]\\d{5}|(?:708|8\\d\\d)\\d{6}",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0"],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939"],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],PT:["351","00","1693\\d{5}|(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["16|[236-9]"]]]],PW:["680","01[12]","(?:[24-8]\\d\\d|345|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]]],PY:["595","00","59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9(?:[5-79]|8[1-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],"0"],QA:["974","00","800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",[7,8,9,11],[["(\\d{3})(\\d{4})","$1 $2",["2[136]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]]],RE:["262","00","709\\d{6}|(?:26|[689]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[26-9]"],"0$1"]],"0",0,0,0,0,0,[["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"],["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"],["80\\d{7}"],["89[1-37-9]\\d{6}"],0,0,0,0,["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"],["8(?:1[019]|2[0156]|84|90)\\d{6}"]]],RO:["40","00","(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"],"0$1"]],"0",0,0,0,0,0,0,0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0"],RU:["7","810","8\\d{13}|[347-9]\\d{9}",[10,14],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[349]|8(?:[02-7]|1[1-8])"],"8 ($1)",1],["(\\d{4})(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["8"],"8 ($1)"]],"8",0,0,0,0,0,[["336(?:[013-9]\\d|2[013-9])\\d{5}|(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\\d{7}",[10]],["9\\d{9}",[10]],["8(?:0[04]|108\\d{3})\\d{7}"],["80[39]\\d{7}",[10]],["808\\d{7}",[10]]],"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0"],SA:["966","00","(?:[15]\\d|800|92)\\d{7}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0"],SB:["677","0[01]","[6-9]\\d{6}|[1-6]\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]],SC:["248","010|0[0-2]","(?:[2489]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]|9[57]"]]],0,0,0,0,0,0,0,"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0"],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10,12],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44|9)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["10|7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0"],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8(?:0[1-9]|[1-9])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]"],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,0,"00"],SJ:["47","00","0\\d{4}|(?:[489]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79"],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0"],SL:["232","00","(?:[237-9]\\d|66)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[236-9]"],"(0$1)"]],"0"],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1"],SN:["221","00","(?:[378]\\d|93)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],["(\\d)(\\d{7})","$1 $2",["(?:2|90)4|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[0-35-9]|7[67]|9[2-9]"]]],"0"],SR:["597","00","(?:[2-5]|[6-8]\\d|90)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-9]"]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0"],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]]],SV:["503","00","[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[25-7]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"(5\\d{6})$|1","721$1",0,"721"],SY:["963","00","[1-359]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-4]|5[1-3]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[59]"],"0$1",1]],"0"],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8"],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"([2-479]\\d{6})$|1","649$1",0,"649"],TD:["235","00|16","(?:22|30|[689]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[236-9]"]]],0,0,0,0,0,0,0,"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]]],TH:["66","00[1-9]","(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",[8,9,10,13],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0"],TJ:["992","810","(?:[0-57-9]\\d|66)\\d{7}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["44[02-479]|[34]7"]],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3(?:[1245]|3[12])"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["\\d"]]],0,0,0,0,0,0,0,"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]]],TM:["993","810","(?:[1-6]\\d|71)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["[67]"],"8 $1"]],"8",0,0,0,0,0,0,"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]]],TO:["676","00","(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-9]"]]]],TR:["90","00","4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",[7,10,12,13],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[01589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|61[06])","5(?:[0-59]|61[06]1)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1],["(\\d{3})(\\d{3})(\\d{6,7})","$1 $2 $3",["80"],"0$1",1]],"0"],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-46-8]\\d{6})$|1","868$1",0,"868"],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7],[["(\\d{2})(\\d{3})","$1 $2",["2"]],["(\\d{2})(\\d{4})","$1 $2",["90"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],TW:["886","0(?:0[25-79]|19)","[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10,11],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[258]0"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]","[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,5})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,0,0,"#"],TZ:["255","00[056]","(?:[25-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["5"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0"],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])","3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|89|9[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,0,"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0"],US:["1","011","[2-9]\\d{9}|3\\d{6}",[10],[["(\\d{3})(\\d{4})","$1-$2",["310"],0,1],["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,0,0,["305209\\d{4}"]]],UY:["598","0(?:0|1[3-9]\\d)","0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}",[4,5,6,7,8,9,10,11,12,13],[["(\\d{4,5})","$1",["21"]],["(\\d{3})(\\d{3,4})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[49]0|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[124]"]],["(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3 $4",["0"]]],"0",0,0,0,0,0,0,"00"," int. "],UZ:["998","00","(?:20|33|[5-9]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-9]"]]]],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11,12],0,0,0,0,0,0,"06698"],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","784$1",0,"784"],VE:["58","00","[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24-689]"],"0$1"]],"0"],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-578]\\d{6})$|1","284$1",0,"284"],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","340$1",0,"340"],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["6"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[357-9]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0"],VU:["678","00","[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[57-9]"]]]],WF:["681","00","(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[47-9]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]]],WS:["685","0","(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",[5,6,7,10],[["(\\d{5})","$1",["[2-5]|6[1-9]"]],["(\\d{3})(\\d{3,7})","$1 $2",["[68]"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]]],XK:["383","00","2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}",[8,9,10,11,12],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2|39"],"0$1"],["(\\d{2})(\\d{7,10})","$1 $2",["3"],"0$1"]],"0"],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7(?:[24-6]|8[0-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0"],YT:["262","00","7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,0,[["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"],["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"],["80\\d{7}"],0,0,0,0,0,["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]],ZA:["27","00","[1-79]\\d{8}|8\\d{4,9}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0"],ZM:["260","00","800\\d{6}|(?:21|[579]\\d|63)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[579]"],"0$1"]],"0"],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0"]},nonGeographic:{800:["800",0,"(?:00|[1-9]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["\\d"]]],0,0,0,0,0,0,[0,0,["(?:00|[1-9]\\d)\\d{6}"]]],808:["808",0,"[1-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[1-9]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,["[1-9]\\d{7}"]]],870:["870",0,"7\\d{11}|[235-7]\\d{8}",[9,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-7]"]]],0,0,0,0,0,0,[0,["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"],0,0,0,0,0,0,["2\\d{8}",[9]]]],878:["878",0,"10\\d{10}",[12],[["(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3",["1"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["10\\d{10}"]]],881:["881",0,"6\\d{9}|[0-36-9]\\d{8}",[9,10],[["(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[0-37-9]"]],["(\\d)(\\d{3})(\\d{5,6})","$1 $2 $3",["6"]]],0,0,0,0,0,0,[0,["6\\d{9}|[0-36-9]\\d{8}"]]],882:["882",0,"[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",[7,8,9,10,11,12],[["(\\d{2})(\\d{5})","$1 $2",["16|342"]],["(\\d{2})(\\d{6})","$1 $2",["49"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1[36]|9"]],["(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|23|3(?:[15]|4[57])|4|51"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["34"]],["(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["[1-35]"]]],0,0,0,0,0,0,[0,["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",[7,8,9,10,12]],0,0,0,["348[57]\\d{7}",[11]],0,0,["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]],883:["883",0,"(?:[1-4]\\d|51)\\d{6,10}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,8})","$1 $2 $3",["[14]|2[24-689]|3[02-689]|51[24-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["21"]],["(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[235]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]],888:["888",0,"\\d{11}",[11],[["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],0,0,0,0,0,0,[0,0,0,0,0,0,["\\d{11}"]]],979:["979",0,"[1359]\\d{8}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[1359]"]]],0,0,0,0,0,0,[0,0,0,["[1359]\\d{8}"]]]}};function t5(t,e){var n=Array.prototype.slice.call(e);return n.push(e5),t.apply(this,n)}function Rg(t,e){t=t.split("-"),e=e.split("-");for(var n=t[0].split("."),r=e[0].split("."),i=0;i<3;i++){var s=Number(n[i]),a=Number(r[i]);if(s>a)return 1;if(a>s)return-1;if(!isNaN(s)&&isNaN(a))return 1;if(isNaN(s)&&!isNaN(a))return-1}return t[1]&&e[1]?t[1]>e[1]?1:t[1]<e[1]?-1:0:!t[1]&&e[1]?1:t[1]&&!e[1]?-1:0}var n5={}.constructor;function Kr(t){return t!=null&&t.constructor===n5}function ci(t){"@babel/helpers - typeof";return ci=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ci(t)}function Xc(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r5(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,i5(r.key),r)}}function Zc(t,e,n){return e&&r5(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function i5(t){var e=o5(t,"string");return ci(e)=="symbol"?e:e+""}function o5(t,e){if(ci(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(ci(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var s5="1.2.0",a5="1.7.35",Bg=" ext. ",c5=/^\d+$/,Xe=(function(){function t(e){Xc(this,t),b1(e),this.metadata=e,v1.call(this,e)}return Zc(t,[{key:"getCountries",value:function(){return Object.keys(this.metadata.countries).filter(function(n){return n!=="001"})}},{key:"getCountryMetadata",value:function(n){return this.metadata.countries[n]}},{key:"nonGeographic",value:function(){if(!(this.v1||this.v2||this.v3))return this.metadata.nonGeographic||this.metadata.nonGeographical}},{key:"hasCountry",value:function(n){return this.getCountryMetadata(n)!==void 0}},{key:"hasCallingCode",value:function(n){if(this.getCountryCodesForCallingCode(n))return!0;if(this.nonGeographic()){if(this.nonGeographic()[n])return!0}else{var r=this.countryCallingCodes()[n];if(r&&r.length===1&&r[0]==="001")return!0}}},{key:"isNonGeographicCallingCode",value:function(n){return this.nonGeographic()?!!this.nonGeographic()[n]:!this.getCountryCodesForCallingCode(n)}},{key:"country",value:function(n){return this.selectNumberingPlan(n)}},{key:"selectNumberingPlan",value:function(n,r){if(n&&c5.test(n)&&(r=n,n=null),n&&n!=="001"){if(!this.hasCountry(n))throw new Error("Unknown country: ".concat(n));this.numberingPlan=new Lg(this.getCountryMetadata(n),this)}else if(r){if(!this.hasCallingCode(r))throw new Error("Unknown calling code: ".concat(r));this.numberingPlan=new Lg(this.getNumberingPlanMetadata(r),this)}else this.numberingPlan=void 0;return this}},{key:"getCountryCodesForCallingCode",value:function(n){var r=this.countryCallingCodes()[n];if(r)return r.length===1&&r[0].length===3?void 0:r}},{key:"getCountryCodeForCallingCode",value:function(n){var r=this.getCountryCodesForCallingCode(n);if(r)return r[0]}},{key:"getNumberingPlanMetadata",value:function(n){var r=this.getCountryCodeForCallingCode(n);if(r)return this.getCountryMetadata(r);if(this.nonGeographic()){var i=this.nonGeographic()[n];if(i)return i}else{var s=this.countryCallingCodes()[n];if(s&&s.length===1&&s[0]==="001")return this.metadata.countries["001"]}}},{key:"countryCallingCode",value:function(){return this.numberingPlan.callingCode()}},{key:"IDDPrefix",value:function(){return this.numberingPlan.IDDPrefix()}},{key:"defaultIDDPrefix",value:function(){return this.numberingPlan.defaultIDDPrefix()}},{key:"nationalNumberPattern",value:function(){return this.numberingPlan.nationalNumberPattern()}},{key:"possibleLengths",value:function(){return this.numberingPlan.possibleLengths()}},{key:"formats",value:function(){return this.numberingPlan.formats()}},{key:"nationalPrefixForParsing",value:function(){return this.numberingPlan.nationalPrefixForParsing()}},{key:"nationalPrefixTransformRule",value:function(){return this.numberingPlan.nationalPrefixTransformRule()}},{key:"leadingDigits",value:function(){return this.numberingPlan.leadingDigits()}},{key:"hasTypes",value:function(){return this.numberingPlan.hasTypes()}},{key:"type",value:function(n){return this.numberingPlan.type(n)}},{key:"ext",value:function(){return this.numberingPlan.ext()}},{key:"countryCallingCodes",value:function(){return this.v1?this.metadata.country_phone_code_to_countries:this.metadata.country_calling_codes}},{key:"chooseCountryByCountryCallingCode",value:function(n){return this.selectNumberingPlan(n)}},{key:"hasSelectedNumberingPlan",value:function(){return this.numberingPlan!==void 0}}])})(),Lg=(function(){function t(e,n){Xc(this,t),this.globalMetadataObject=n,this.metadata=e,v1.call(this,n.metadata)}return Zc(t,[{key:"callingCode",value:function(){return this.metadata[0]}},{key:"getDefaultCountryMetadataForRegion",value:function(){return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())}},{key:"IDDPrefix",value:function(){if(!(this.v1||this.v2))return this.metadata[1]}},{key:"defaultIDDPrefix",value:function(){if(!(this.v1||this.v2))return this.metadata[12]}},{key:"nationalNumberPattern",value:function(){return this.v1||this.v2?this.metadata[1]:this.metadata[2]}},{key:"possibleLengths",value:function(){if(!this.v1)return this.metadata[this.v2?2:3]}},{key:"_getFormats",value:function(n){return n[this.v1?2:this.v2?3:4]}},{key:"formats",value:function(){var n=this,r=this._getFormats(this.metadata)||this._getFormats(this.getDefaultCountryMetadataForRegion())||[];return r.map(function(i){return new l5(i,n)})}},{key:"nationalPrefix",value:function(){return this.metadata[this.v1?3:this.v2?4:5]}},{key:"_getNationalPrefixFormattingRule",value:function(n){return n[this.v1?4:this.v2?5:6]}},{key:"nationalPrefixFormattingRule",value:function(){return this._getNationalPrefixFormattingRule(this.metadata)||this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())}},{key:"_nationalPrefixForParsing",value:function(){return this.metadata[this.v1?5:this.v2?6:7]}},{key:"nationalPrefixForParsing",value:function(){return this._nationalPrefixForParsing()||this.nationalPrefix()}},{key:"nationalPrefixTransformRule",value:function(){return this.metadata[this.v1?6:this.v2?7:8]}},{key:"_getNationalPrefixIsOptionalWhenFormatting",value:function(){return!!this.metadata[this.v1?7:this.v2?8:9]}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata)||this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())}},{key:"leadingDigits",value:function(){return this.metadata[this.v1?8:this.v2?9:10]}},{key:"types",value:function(){return this.metadata[this.v1?9:this.v2?10:11]}},{key:"hasTypes",value:function(){return this.types()&&this.types().length===0?!1:!!this.types()}},{key:"type",value:function(n){if(this.hasTypes()&&Ug(this.types(),n))return new u5(Ug(this.types(),n),this)}},{key:"ext",value:function(){return this.v1||this.v2?Bg:this.metadata[13]||Bg}}])})(),l5=(function(){function t(e,n){Xc(this,t),this._format=e,this.metadata=n}return Zc(t,[{key:"pattern",value:function(){return this._format[0]}},{key:"format",value:function(){return this._format[1]}},{key:"leadingDigitsPatterns",value:function(){return this._format[2]||[]}},{key:"nationalPrefixFormattingRule",value:function(){return this._format[3]||this.metadata.nationalPrefixFormattingRule()}},{key:"nationalPrefixIsOptionalWhenFormattingInNationalFormat",value:function(){return!!this._format[4]||this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"nationalPrefixIsMandatoryWhenFormattingInNationalFormat",value:function(){return this.usesNationalPrefix()&&!this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()}},{key:"usesNationalPrefix",value:function(){return!!(this.nationalPrefixFormattingRule()&&!d5.test(this.nationalPrefixFormattingRule()))}},{key:"internationalFormat",value:function(){return this._format[5]||this.format()}}])})(),d5=/^\(?\$1\)?$/,u5=(function(){function t(e,n){Xc(this,t),this.type=e,this.metadata=n}return Zc(t,[{key:"pattern",value:function(){return this.metadata.v1?this.type:this.type[0]}},{key:"possibleLengths",value:function(){if(!this.metadata.v1)return this.type[1]||this.metadata.possibleLengths()}}])})();function Ug(t,e){switch(e){case"FIXED_LINE":return t[0];case"MOBILE":return t[1];case"TOLL_FREE":return t[2];case"PREMIUM_RATE":return t[3];case"PERSONAL_NUMBER":return t[4];case"VOICEMAIL":return t[5];case"UAN":return t[6];case"PAGER":return t[7];case"VOIP":return t[8];case"SHARED_COST":return t[9]}}function b1(t){if(!t)throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");if(!Kr(t)||!Kr(t.countries))throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(Kr(t)?"an object of shape: { "+Object.keys(t).join(", ")+" }":"a "+p5(t)+": "+t,"."))}var p5=function(e){return ci(e)};function jp(t,e){if(e=new Xe(e),e.hasCountry(t))return e.selectNumberingPlan(t).countryCallingCode();throw new Error("Unknown country: ".concat(t))}function f5(t,e){return e.countries.hasOwnProperty(t)}function v1(t){var e=t.version;typeof e=="number"?(this.v1=e===1,this.v2=e===2,this.v3=e===3,this.v4=e===4):e?Rg(e,s5)===-1?this.v2=!0:Rg(e,a5)===-1?this.v3=!0:this.v4=!0:this.v1=!0}function Op(t,e,n){return h5(t,e,void 0,n)}function h5(t,e,n,r){e&&(r=new Xe(r.metadata),r.selectNumberingPlan(e));var i=r.type(n),s=i&&i.possibleLengths()||r.possibleLengths();if(!s)return"IS_POSSIBLE";var a=t.length,c=s[0];return c===a?"IS_POSSIBLE":c>a?"TOO_SHORT":s[s.length-1]<a?"TOO_LONG":s.indexOf(a,1)>=0?"IS_POSSIBLE":"INVALID_LENGTH"}function g5(t,e,n){if(e===void 0&&(e={}),n=new Xe(n),e.v2){if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}else{if(!t.phone)return!1;if(t.country){if(!n.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));n.selectNumberingPlan(t.country)}else{if(!t.countryCallingCode)throw new Error("Invalid phone number object passed");n.selectNumberingPlan(t.countryCallingCode)}}if(n.possibleLengths())return $1(t.phone||t.nationalNumber,t.country,n);if(t.countryCallingCode&&n.isNonGeographicCallingCode(t.countryCallingCode))return!0;throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.')}function $1(t,e,n){switch(Op(t,e,n)){case"IS_POSSIBLE":return!0;default:return!1}}function yn(t,e){return t=t||"",new RegExp("^(?:"+e+")$").test(t)}function m5(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=_5(t))||e){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
83
83
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _5(t,e){if(t){if(typeof t=="string")return Dg(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Dg(t,e):void 0}}function Dg(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var y5=["MOBILE","PREMIUM_RATE","TOLL_FREE","SHARED_COST","VOIP","PERSONAL_NUMBER","PAGER","UAN","VOICEMAIL"];function Pp(t,e,n){if(e=e||{},!(!t.country&&!t.countryCallingCode)){n=new Xe(n),n.selectNumberingPlan(t.country,t.countryCallingCode);var r=e.v2?t.nationalNumber:t.phone;if(yn(r,n.nationalNumberPattern())){if(vl(r,"FIXED_LINE",n))return n.type("MOBILE")&&n.type("MOBILE").pattern()===""||!n.type("MOBILE")||vl(r,"MOBILE",n)?"FIXED_LINE_OR_MOBILE":"FIXED_LINE";for(var i=m5(y5),s;!(s=i()).done;){var a=s.value;if(vl(r,a,n))return a}}}}function vl(t,e,n){return e=n.type(e),!e||!e.pattern()||e.possibleLengths()&&e.possibleLengths().indexOf(t.length)<0?!1:yn(t,e.pattern())}function w5(t,e,n){if(e=e||{},n=new Xe(n),n.selectNumberingPlan(t.country,t.countryCallingCode),n.hasTypes())return Pp(t,e,n.metadata)!==void 0;var r=e.v2?t.nationalNumber:t.phone;return yn(r,n.nationalNumberPattern())}function b5(t,e,n){var r=new Xe(n),i=r.getCountryCodesForCallingCode(t);return i?i.filter(function(s){return v5(e,s,n)}):[]}function v5(t,e,n){var r=new Xe(n);return r.selectNumberingPlan(e),r.numberingPlan.possibleLengths().indexOf(t.length)>=0}var Tp=2,$5=17,k5=3,Ot="0-90-9٠-٩۰-۹",x5="-‐-―−ー-",S5="//",z5="..",A5="  ­​⁠ ",E5="()()[]\\[\\]",C5="~⁓∼~",La="".concat(x5).concat(S5).concat(z5).concat(A5).concat(E5).concat(C5),Rp="++",N5=new RegExp("(["+Ot+"])");function I5(t,e,n,r){if(e){var i=new Xe(r);i.selectNumberingPlan(e,n);var s=new RegExp(i.IDDPrefix());if(t.search(s)===0){t=t.slice(t.match(s)[0].length);var a=t.match(N5);if(!(a&&a[1]!=null&&a[1].length>0&&a[1]==="0"))return t}}}function j5(t,e){if(t&&e.numberingPlan.nationalPrefixForParsing()){var n=new RegExp("^(?:"+e.numberingPlan.nationalPrefixForParsing()+")"),r=n.exec(t);if(r){var i,s,a=r.length-1,c=a>0&&r[a];if(e.nationalPrefixTransformRule()&&c)i=t.replace(n,e.nationalPrefixTransformRule()),a>1&&(s=r[1]);else{var l=r[0];i=t.slice(l.length),c&&(s=r[1])}var d;if(c){var p=t.indexOf(r[1]),f=t.slice(0,p);f===e.numberingPlan.nationalPrefix()&&(d=e.numberingPlan.nationalPrefix())}else d=r[0];return{nationalNumber:i,nationalPrefix:d,carrierCode:s}}}return{nationalNumber:t}}function O5(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=P5(t))||e){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
84
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function P5(t,e){if(t){if(typeof t=="string")return Mg(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mg(t,e):void 0}}function Mg(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function T5(t,e){var n=e.countries,r=e.metadata;r=new Xe(r);for(var i=O5(n),s;!(s=i()).done;){var a=s.value;if(r.selectNumberingPlan(a),r.leadingDigits()){if(t&&t.search(r.leadingDigits())===0)return a}else if(Pp({phone:t,country:a},void 0,r.metadata))return a}}function k1(t,e){var n=e.nationalNumber,r=e.metadata,i=r.getCountryCodesForCallingCode(t);if(i)return i.length===1?i[0]:T5(n,{countries:i,metadata:r.metadata})}function cu(t,e,n){var r=j5(t,n),i=r.carrierCode,s=r.nationalNumber;if(s!==t){if(!R5(t,s,n))return{nationalNumber:t};if(n.numberingPlan.possibleLengths()&&(e||(e=k1(n.numberingPlan.callingCode(),{nationalNumber:s,metadata:n})),!B5(s,e,n)))return{nationalNumber:t}}return{nationalNumber:s,carrierCode:i}}function R5(t,e,n){return!(yn(t,n.nationalNumberPattern())&&!yn(e,n.nationalNumberPattern()))}function B5(t,e,n){switch(Op(t,e,n)){case"TOO_SHORT":case"INVALID_LENGTH":return!1;default:return!0}}function L5(t,e,n,r,i){var s=n?jp(n,i):r;if(t.indexOf(s)===0){i=new Xe(i),i.selectNumberingPlan(n,s);var a=t.slice(s.length),c=cu(a,e,i),l=c.nationalNumber,d=cu(t,e,i),p=d.nationalNumber;if(!yn(p,i.nationalNumberPattern())&&yn(l,i.nationalNumberPattern())||Op(p,e,i)==="TOO_LONG")return{countryCallingCode:s,number:a}}return{number:t}}function x1(t,e,n,r,i){if(!t)return{};var s;if(t[0]!=="+"){var a=I5(t,n,r,i);if(a&&a!==t)s=!0,t="+"+a;else{if(n||r){var c=L5(t,e,n,r,i),l=c.countryCallingCode,d=c.number;if(l)return{countryCallingCodeSource:"FROM_NUMBER_WITHOUT_PLUS_SIGN",countryCallingCode:l,number:d}}return{number:t}}}if(t[1]==="0")return{};i=new Xe(i);for(var p=2;p-1<=k5&&p<=t.length;){var f=t.slice(1,p);if(i.hasCallingCode(f))return i.selectNumberingPlan(f),{countryCallingCodeSource:s?"FROM_NUMBER_WITH_IDD":"FROM_NUMBER_WITH_PLUS_SIGN",countryCallingCode:f,number:t.slice(p)};p++}return{}}function U5(t){return t.replace(new RegExp("[".concat(La,"]+"),"g")," ").trim()}var D5=/(\$\d)/;function M5(t,e,n){var r=n.useInternationalFormat,i=n.withNationalPrefix,s=t.replace(new RegExp(e.pattern()),r?e.internationalFormat():i&&e.nationalPrefixFormattingRule()?e.format().replace(D5,e.nationalPrefixFormattingRule()):e.format());return r?U5(s):s}var q5=/^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;function F5(t,e,n){var r=new Xe(n);if(r.selectNumberingPlan(t,e),r.defaultIDDPrefix())return r.defaultIDDPrefix();if(q5.test(r.IDDPrefix()))return r.IDDPrefix()}var H5=";ext=",Nr=function(e){return"([".concat(Ot,"]{1,").concat(e,"})")};function S1(t){var e="20",n="15",r="9",i="6",s="[  \\t,]*",a="[:\\..]?[  \\t,-]*",c="#?",l="(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)",d="(?:[xx##~~]|int|int)",p="[- ]+",f="[  \\t]*",g="(?:,{2}|;)",_=H5+Nr(e),w=s+l+a+Nr(e)+c,k=s+d+a+Nr(r)+c,z=p+Nr(i)+"#",I=f+g+a+Nr(n)+c,N=f+"(?:,)+"+a+Nr(r)+c;return _+"|"+w+"|"+k+"|"+z+"|"+I+"|"+N}var V5="["+Ot+"]{"+Tp+"}",K5="["+Rp+"]{0,1}(?:["+La+"]*["+Ot+"]){3,}["+La+Ot+"]*",G5=new RegExp("^["+Rp+"]{0,1}(?:["+La+"]*["+Ot+"]){1,2}$","i"),W5=K5+"(?:"+S1()+")?",J5=new RegExp("^"+V5+"$|^"+W5+"$","i");function X5(t){return t.length>=Tp&&J5.test(t)}function Z5(t){return G5.test(t)}function Y5(t){var e=t.number,n=t.ext;if(!e)return"";if(e[0]!=="+")throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');return"tel:".concat(e).concat(n?";ext="+n:"")}var qg={formatExtension:function(e,n,r){return"".concat(e).concat(r.ext()).concat(n)}};function Q5(t,e,n,r){if(n?n=n6({},qg,n):n=qg,r=new Xe(r),t.country&&t.country!=="001"){if(!r.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));r.selectNumberingPlan(t.country)}else if(t.countryCallingCode)r.selectNumberingPlan(t.countryCallingCode);else return t.phone||"";var i=r.countryCallingCode(),s=n.v2?t.nationalNumber:t.phone,a;switch(e){case"NATIONAL":return s?(a=Ua(s,t.carrierCode,"NATIONAL",r,n),$l(a,t.ext,r,n.formatExtension)):"";case"INTERNATIONAL":return s?(a=Ua(s,null,"INTERNATIONAL",r,n),a="+".concat(i," ").concat(a),$l(a,t.ext,r,n.formatExtension)):"+".concat(i);case"E.164":return"+".concat(i).concat(s);case"RFC3966":return Y5({number:"+".concat(i).concat(s),ext:t.ext});case"IDD":if(!n.fromCountry)return;var c=t6(s,t.carrierCode,i,n.fromCountry,r);return $l(c,t.ext,r,n.formatExtension);default:throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(e,'"'))}}function Ua(t,e,n,r,i){var s=e6(r.formats(),t);return s?M5(t,s,{useInternationalFormat:n==="INTERNATIONAL",withNationalPrefix:!(s.nationalPrefixIsOptionalWhenFormattingInNationalFormat()&&i&&i.nationalPrefix===!1)}):t}function e6(t,e){return r6(t,function(n){if(n.leadingDigitsPatterns().length>0){var r=n.leadingDigitsPatterns()[n.leadingDigitsPatterns().length-1];if(e.search(r)!==0)return!1}return yn(e,n.pattern())})}function $l(t,e,n,r){return e?r(t,e,n):t}function t6(t,e,n,r,i){var s=jp(r,i.metadata);if(s===n){var a=Ua(t,e,"NATIONAL",i);return n==="1"?n+" "+a:a}var c=F5(r,void 0,i.metadata);if(c)return"".concat(c," ").concat(n," ").concat(Ua(t,null,"INTERNATIONAL",i))}function n6(){for(var t=1,e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];for(;t<n.length;){if(n[t])for(var i in n[t])n[0][i]=n[t][i];t++}return n[0]}function r6(t,e){for(var n=0;n<t.length;){if(e(t[n]))return t[n];n++}}function Io(t){"@babel/helpers - typeof";return Io=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Io(t)}function Fg(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Hg(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Fg(Object(n),!0).forEach(function(r){i6(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Fg(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function i6(t,e,n){return(e=z1(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s6(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,z1(r.key),r)}}function a6(t,e,n){return e&&s6(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function z1(t){var e=c6(t,"string");return Io(e)=="symbol"?e:e+""}function c6(t,e){if(Io(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Io(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var l6=(function(){function t(e,n,r){if(o6(this,t),!e)throw new TypeError("First argument is required");if(typeof e!="string")throw new TypeError("First argument must be a string");if(e[0]==="+"&&!n)throw new TypeError("`metadata` argument not passed");if(Kr(n)&&Kr(n.countries)){r=n;var i=e;if(!p6.test(i))throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');var s=x1(i,void 0,void 0,void 0,r),a=s.countryCallingCode,c=s.number;if(n=c,e=a,!n)throw new Error("Invalid `number` argument passed: too short")}if(!n)throw new TypeError("`nationalNumber` argument is required");if(typeof n!="string")throw new TypeError("`nationalNumber` argument must be a string");b1(r);var l=u6(e,r),d=l.country,p=l.countryCallingCode;this.country=d,this.countryCallingCode=p,this.nationalNumber=n,this.number="+"+this.countryCallingCode+this.nationalNumber,this.getMetadata=function(){return r}}return a6(t,[{key:"setExt",value:function(n){this.ext=n}},{key:"getPossibleCountries",value:function(){return this.country?[this.country]:b5(this.countryCallingCode,this.nationalNumber,this.getMetadata())}},{key:"isPossible",value:function(){return g5(this,{v2:!0},this.getMetadata())}},{key:"isValid",value:function(){return w5(this,{v2:!0},this.getMetadata())}},{key:"isNonGeographic",value:function(){var n=new Xe(this.getMetadata());return n.isNonGeographicCallingCode(this.countryCallingCode)}},{key:"isEqual",value:function(n){return this.number===n.number&&this.ext===n.ext}},{key:"getType",value:function(){return Pp(this,{v2:!0},this.getMetadata())}},{key:"format",value:function(n,r){return Q5(this,n,r?Hg(Hg({},r),{},{v2:!0}):{v2:!0},this.getMetadata())}},{key:"formatNational",value:function(n){return this.format("NATIONAL",n)}},{key:"formatInternational",value:function(n){return this.format("INTERNATIONAL",n)}},{key:"getURI",value:function(n){return this.format("RFC3966",n)}}])})(),d6=function(e){return/^[A-Z]{2}$/.test(e)};function u6(t,e){var n,r,i=new Xe(e);return d6(t)?(n=t,i.selectNumberingPlan(n),r=i.countryCallingCode()):r=t,{country:n,countryCallingCode:r}}var p6=/^\+\d+$/;function lu(t){"@babel/helpers - typeof";return lu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lu(t)}function f6(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function h6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function g6(t,e,n){return e=Oo(e),m6(t,Bp()?Reflect.construct(e,n||[],Oo(t).constructor):e.apply(t,n))}function m6(t,e){if(e&&(lu(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _6(t)}function _6(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function y6(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&jo(t,e)}function du(t){var e=typeof Map=="function"?new Map:void 0;return du=function(r){if(r===null||!b6(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return w6(r,arguments,Oo(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),jo(i,r)},du(t)}function w6(t,e,n){if(Bp())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&jo(i,n.prototype),i}function Bp(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Bp=function(){return!!t})()}function b6(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function jo(t,e){return jo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},jo(t,e)}function Oo(t){return Oo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Oo(t)}var cn=(function(t){function e(n){var r;return h6(this,e),r=g6(this,e,[n]),Object.setPrototypeOf(r,e.prototype),r.name=r.constructor.name,r}return y6(e,t),f6(e)})(du(Error)),Vg=new RegExp("(?:"+S1()+")$","i");function v6(t){var e=t.search(Vg);if(e<0)return{};for(var n=t.slice(0,e),r=t.match(Vg),i=1;i<r.length;){if(r[i])return{number:n,ext:r[i]};i++}}var $6={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"};function k6(t){return $6[t]}function x6(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=S6(t))||e){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
84
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function P5(t,e){if(t){if(typeof t=="string")return Mg(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mg(t,e):void 0}}function Mg(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function T5(t,e){var n=e.countries,r=e.metadata;r=new Xe(r);for(var i=O5(n),s;!(s=i()).done;){var a=s.value;if(r.selectNumberingPlan(a),r.leadingDigits()){if(t&&t.search(r.leadingDigits())===0)return a}else if(Pp({phone:t,country:a},void 0,r.metadata))return a}}function k1(t,e){var n=e.nationalNumber,r=e.metadata,i=r.getCountryCodesForCallingCode(t);if(i)return i.length===1?i[0]:T5(n,{countries:i,metadata:r.metadata})}function cu(t,e,n){var r=j5(t,n),i=r.carrierCode,s=r.nationalNumber;if(s!==t){if(!R5(t,s,n))return{nationalNumber:t};if(n.numberingPlan.possibleLengths()&&(e||(e=k1(n.numberingPlan.callingCode(),{nationalNumber:s,metadata:n})),!B5(s,e,n)))return{nationalNumber:t}}return{nationalNumber:s,carrierCode:i}}function R5(t,e,n){return!(yn(t,n.nationalNumberPattern())&&!yn(e,n.nationalNumberPattern()))}function B5(t,e,n){switch(Op(t,e,n)){case"TOO_SHORT":case"INVALID_LENGTH":return!1;default:return!0}}function L5(t,e,n,r,i){var s=n?jp(n,i):r;if(t.indexOf(s)===0){i=new Xe(i),i.selectNumberingPlan(n,s);var a=t.slice(s.length),c=cu(a,e,i),l=c.nationalNumber,d=cu(t,e,i),p=d.nationalNumber;if(!yn(p,i.nationalNumberPattern())&&yn(l,i.nationalNumberPattern())||Op(p,e,i)==="TOO_LONG")return{countryCallingCode:s,number:a}}return{number:t}}function x1(t,e,n,r,i){if(!t)return{};var s;if(t[0]!=="+"){var a=I5(t,n,r,i);if(a&&a!==t)s=!0,t="+"+a;else{if(n||r){var c=L5(t,e,n,r,i),l=c.countryCallingCode,d=c.number;if(l)return{countryCallingCodeSource:"FROM_NUMBER_WITHOUT_PLUS_SIGN",countryCallingCode:l,number:d}}return{number:t}}}if(t[1]==="0")return{};i=new Xe(i);for(var p=2;p-1<=k5&&p<=t.length;){var f=t.slice(1,p);if(i.hasCallingCode(f))return i.selectNumberingPlan(f),{countryCallingCodeSource:s?"FROM_NUMBER_WITH_IDD":"FROM_NUMBER_WITH_PLUS_SIGN",countryCallingCode:f,number:t.slice(p)};p++}return{}}function U5(t){return t.replace(new RegExp("[".concat(La,"]+"),"g")," ").trim()}var D5=/(\$\d)/;function M5(t,e,n){var r=n.useInternationalFormat,i=n.withNationalPrefix,s=t.replace(new RegExp(e.pattern()),r?e.internationalFormat():i&&e.nationalPrefixFormattingRule()?e.format().replace(D5,e.nationalPrefixFormattingRule()):e.format());return r?U5(s):s}var q5=/^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;function F5(t,e,n){var r=new Xe(n);if(r.selectNumberingPlan(t,e),r.defaultIDDPrefix())return r.defaultIDDPrefix();if(q5.test(r.IDDPrefix()))return r.IDDPrefix()}var H5=";ext=",Nr=function(e){return"([".concat(Ot,"]{1,").concat(e,"})")};function S1(t){var e="20",n="15",r="9",i="6",s="[  \\t,]*",a="[:\\..]?[  \\t,-]*",c="#?",l="(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)",d="(?:[xx##~~]|int|int)",p="[- ]+",f="[  \\t]*",g="(?:,{2}|;)",_=H5+Nr(e),w=s+l+a+Nr(e)+c,k=s+d+a+Nr(r)+c,z=p+Nr(i)+"#",N=f+g+a+Nr(n)+c,I=f+"(?:,)+"+a+Nr(r)+c;return _+"|"+w+"|"+k+"|"+z+"|"+N+"|"+I}var V5="["+Ot+"]{"+Tp+"}",K5="["+Rp+"]{0,1}(?:["+La+"]*["+Ot+"]){3,}["+La+Ot+"]*",G5=new RegExp("^["+Rp+"]{0,1}(?:["+La+"]*["+Ot+"]){1,2}$","i"),W5=K5+"(?:"+S1()+")?",J5=new RegExp("^"+V5+"$|^"+W5+"$","i");function X5(t){return t.length>=Tp&&J5.test(t)}function Z5(t){return G5.test(t)}function Y5(t){var e=t.number,n=t.ext;if(!e)return"";if(e[0]!=="+")throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');return"tel:".concat(e).concat(n?";ext="+n:"")}var qg={formatExtension:function(e,n,r){return"".concat(e).concat(r.ext()).concat(n)}};function Q5(t,e,n,r){if(n?n=n6({},qg,n):n=qg,r=new Xe(r),t.country&&t.country!=="001"){if(!r.hasCountry(t.country))throw new Error("Unknown country: ".concat(t.country));r.selectNumberingPlan(t.country)}else if(t.countryCallingCode)r.selectNumberingPlan(t.countryCallingCode);else return t.phone||"";var i=r.countryCallingCode(),s=n.v2?t.nationalNumber:t.phone,a;switch(e){case"NATIONAL":return s?(a=Ua(s,t.carrierCode,"NATIONAL",r,n),$l(a,t.ext,r,n.formatExtension)):"";case"INTERNATIONAL":return s?(a=Ua(s,null,"INTERNATIONAL",r,n),a="+".concat(i," ").concat(a),$l(a,t.ext,r,n.formatExtension)):"+".concat(i);case"E.164":return"+".concat(i).concat(s);case"RFC3966":return Y5({number:"+".concat(i).concat(s),ext:t.ext});case"IDD":if(!n.fromCountry)return;var c=t6(s,t.carrierCode,i,n.fromCountry,r);return $l(c,t.ext,r,n.formatExtension);default:throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(e,'"'))}}function Ua(t,e,n,r,i){var s=e6(r.formats(),t);return s?M5(t,s,{useInternationalFormat:n==="INTERNATIONAL",withNationalPrefix:!(s.nationalPrefixIsOptionalWhenFormattingInNationalFormat()&&i&&i.nationalPrefix===!1)}):t}function e6(t,e){return r6(t,function(n){if(n.leadingDigitsPatterns().length>0){var r=n.leadingDigitsPatterns()[n.leadingDigitsPatterns().length-1];if(e.search(r)!==0)return!1}return yn(e,n.pattern())})}function $l(t,e,n,r){return e?r(t,e,n):t}function t6(t,e,n,r,i){var s=jp(r,i.metadata);if(s===n){var a=Ua(t,e,"NATIONAL",i);return n==="1"?n+" "+a:a}var c=F5(r,void 0,i.metadata);if(c)return"".concat(c," ").concat(n," ").concat(Ua(t,null,"INTERNATIONAL",i))}function n6(){for(var t=1,e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];for(;t<n.length;){if(n[t])for(var i in n[t])n[0][i]=n[t][i];t++}return n[0]}function r6(t,e){for(var n=0;n<t.length;){if(e(t[n]))return t[n];n++}}function Io(t){"@babel/helpers - typeof";return Io=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Io(t)}function Fg(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Hg(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Fg(Object(n),!0).forEach(function(r){i6(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Fg(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function i6(t,e,n){return(e=z1(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s6(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,z1(r.key),r)}}function a6(t,e,n){return e&&s6(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function z1(t){var e=c6(t,"string");return Io(e)=="symbol"?e:e+""}function c6(t,e){if(Io(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Io(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}var l6=(function(){function t(e,n,r){if(o6(this,t),!e)throw new TypeError("First argument is required");if(typeof e!="string")throw new TypeError("First argument must be a string");if(e[0]==="+"&&!n)throw new TypeError("`metadata` argument not passed");if(Kr(n)&&Kr(n.countries)){r=n;var i=e;if(!p6.test(i))throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');var s=x1(i,void 0,void 0,void 0,r),a=s.countryCallingCode,c=s.number;if(n=c,e=a,!n)throw new Error("Invalid `number` argument passed: too short")}if(!n)throw new TypeError("`nationalNumber` argument is required");if(typeof n!="string")throw new TypeError("`nationalNumber` argument must be a string");b1(r);var l=u6(e,r),d=l.country,p=l.countryCallingCode;this.country=d,this.countryCallingCode=p,this.nationalNumber=n,this.number="+"+this.countryCallingCode+this.nationalNumber,this.getMetadata=function(){return r}}return a6(t,[{key:"setExt",value:function(n){this.ext=n}},{key:"getPossibleCountries",value:function(){return this.country?[this.country]:b5(this.countryCallingCode,this.nationalNumber,this.getMetadata())}},{key:"isPossible",value:function(){return g5(this,{v2:!0},this.getMetadata())}},{key:"isValid",value:function(){return w5(this,{v2:!0},this.getMetadata())}},{key:"isNonGeographic",value:function(){var n=new Xe(this.getMetadata());return n.isNonGeographicCallingCode(this.countryCallingCode)}},{key:"isEqual",value:function(n){return this.number===n.number&&this.ext===n.ext}},{key:"getType",value:function(){return Pp(this,{v2:!0},this.getMetadata())}},{key:"format",value:function(n,r){return Q5(this,n,r?Hg(Hg({},r),{},{v2:!0}):{v2:!0},this.getMetadata())}},{key:"formatNational",value:function(n){return this.format("NATIONAL",n)}},{key:"formatInternational",value:function(n){return this.format("INTERNATIONAL",n)}},{key:"getURI",value:function(n){return this.format("RFC3966",n)}}])})(),d6=function(e){return/^[A-Z]{2}$/.test(e)};function u6(t,e){var n,r,i=new Xe(e);return d6(t)?(n=t,i.selectNumberingPlan(n),r=i.countryCallingCode()):r=t,{country:n,countryCallingCode:r}}var p6=/^\+\d+$/;function lu(t){"@babel/helpers - typeof";return lu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lu(t)}function f6(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function h6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function g6(t,e,n){return e=Oo(e),m6(t,Bp()?Reflect.construct(e,n||[],Oo(t).constructor):e.apply(t,n))}function m6(t,e){if(e&&(lu(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _6(t)}function _6(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function y6(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&jo(t,e)}function du(t){var e=typeof Map=="function"?new Map:void 0;return du=function(r){if(r===null||!b6(r))return r;if(typeof r!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(r))return e.get(r);e.set(r,i)}function i(){return w6(r,arguments,Oo(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),jo(i,r)},du(t)}function w6(t,e,n){if(Bp())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&jo(i,n.prototype),i}function Bp(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Bp=function(){return!!t})()}function b6(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function jo(t,e){return jo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},jo(t,e)}function Oo(t){return Oo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Oo(t)}var cn=(function(t){function e(n){var r;return h6(this,e),r=g6(this,e,[n]),Object.setPrototypeOf(r,e.prototype),r.name=r.constructor.name,r}return y6(e,t),f6(e)})(du(Error)),Vg=new RegExp("(?:"+S1()+")$","i");function v6(t){var e=t.search(Vg);if(e<0)return{};for(var n=t.slice(0,e),r=t.match(Vg),i=1;i<r.length;){if(r[i])return{number:n,ext:r[i]};i++}}var $6={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"};function k6(t){return $6[t]}function x6(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=S6(t))||e){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
85
85
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S6(t,e){if(t){if(typeof t=="string")return Kg(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Kg(t,e):void 0}}function Kg(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function Gg(t){for(var e="",n=x6(t.split("")),r;!(r=n()).done;){var i=r.value;e+=z6(i,e)||""}return e}function z6(t,e,n){return t==="+"?e?void 0:"+":k6(t)}var A1="+",A6="[\\-\\.\\(\\)]?",Wg="(["+Ot+"]|"+A6+")",E6="^\\"+A1+Wg+"*["+Ot+"]"+Wg+"*$",C6=new RegExp(E6,"g"),uu=Ot,N6="["+uu+"]+((\\-)*["+uu+"])*",I6="a-zA-Z",j6="["+I6+"]+((\\-)*["+uu+"])*",O6="^("+N6+"\\.)*"+j6+"\\.?$",P6=new RegExp(O6,"g"),Jg="tel:",pu=";phone-context=",T6=";isub=";function R6(t){var e=t.indexOf(pu);if(e<0)return null;var n=e+pu.length;if(n>=t.length)return"";var r=t.indexOf(";",n);return r>=0?t.substring(n,r):t.substring(n)}function B6(t){return t===null?!0:t.length===0?!1:C6.test(t)||P6.test(t)}function L6(t,e){var n=e.extractFormattedPhoneNumber,r=R6(t);if(!B6(r))throw new cn("NOT_A_NUMBER");var i;if(r===null)i=n(t)||"";else{i="",r.charAt(0)===A1&&(i+=r);var s=t.indexOf(Jg),a;s>=0?a=s+Jg.length:a=0;var c=t.indexOf(pu);i+=t.substring(a,c)}var l=i.indexOf(T6);if(l>0&&(i=i.substring(0,l)),i!=="")return i}var U6=250,D6=new RegExp("["+Rp+Ot+"]"),M6=new RegExp("[^"+Ot+"#]+$");function q6(t,e,n){if(e=e||{},n=new Xe(n),e.defaultCountry&&!n.hasCountry(e.defaultCountry))throw e.v2?new cn("INVALID_COUNTRY"):new Error("Unknown country: ".concat(e.defaultCountry));var r=H6(t,e.v2,e.extract),i=r.number,s=r.ext,a=r.error;if(!i){if(e.v2)throw a==="TOO_SHORT"?new cn("TOO_SHORT"):new cn("NOT_A_NUMBER");return{}}var c=K6(i,e.defaultCountry,e.defaultCallingCode,n),l=c.country,d=c.nationalNumber,p=c.countryCallingCode,f=c.countryCallingCodeSource,g=c.carrierCode;if(!n.hasSelectedNumberingPlan()){if(e.v2)throw new cn("INVALID_COUNTRY");return{}}if(!d||d.length<Tp){if(e.v2)throw new cn("TOO_SHORT");return{}}if(d.length>$5){if(e.v2)throw new cn("TOO_LONG");return{}}if(e.v2){var _=new l6(p,d,n.metadata);return l&&(_.country=l),g&&(_.carrierCode=g),s&&(_.ext=s),_.__countryCallingCodeSource=f,_}var w=(e.extended?n.hasSelectedNumberingPlan():l)?yn(d,n.nationalNumberPattern()):!1;return e.extended?{country:l,countryCallingCode:p,carrierCode:g,valid:w,possible:w?!0:!!(e.extended===!0&&n.possibleLengths()&&$1(d,l,n)),phone:d,ext:s}:w?V6(l,d,s):{}}function F6(t,e,n){if(t){if(t.length>U6){if(n)throw new cn("TOO_LONG");return}if(e===!1)return t;var r=t.search(D6);if(!(r<0))return t.slice(r).replace(M6,"")}}function H6(t,e,n){var r=L6(t,{extractFormattedPhoneNumber:function(a){return F6(a,n,e)}});if(!r)return{};if(!X5(r))return Z5(r)?{error:"TOO_SHORT"}:{};var i=v6(r);return i.ext?i:{number:r}}function V6(t,e,n){var r={country:t,phone:e};return n&&(r.ext=n),r}function K6(t,e,n,r){var i=x1(Gg(t),void 0,e,n,r.metadata),s=i.countryCallingCodeSource,a=i.countryCallingCode,c=i.number,l;if(a)r.selectNumberingPlan(a);else if(c&&(e||n))r.selectNumberingPlan(e,n),e&&(l=e),a=n||jp(e,r.metadata);else return{};if(!c)return{countryCallingCodeSource:s,countryCallingCode:a};var d=cu(Gg(c),l,r),p=d.nationalNumber,f=d.carrierCode,g=k1(a,{nationalNumber:p,metadata:r});return g&&(l=g,g==="001"||r.selectNumberingPlan(l)),{country:l,countryCallingCode:a,countryCallingCodeSource:s,nationalNumber:p,carrierCode:f}}function Po(t){"@babel/helpers - typeof";return Po=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Po(t)}function Xg(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Zg(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Xg(Object(n),!0).forEach(function(r){G6(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Xg(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function G6(t,e,n){return(e=W6(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function W6(t){var e=J6(t,"string");return Po(e)=="symbol"?e:e+""}function J6(t,e){if(Po(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Po(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function X6(t,e,n){return q6(t,Zg(Zg({},e),{},{v2:!0}),n)}function To(t){"@babel/helpers - typeof";return To=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},To(t)}function Yg(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Z6(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Yg(Object(n),!0).forEach(function(r){Y6(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Yg(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Y6(t,e,n){return(e=Q6(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Q6(t){var e=e8(t,"string");return To(e)=="symbol"?e:e+""}function e8(t,e){if(To(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(To(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function t8(t,e){return o8(t)||i8(t,e)||r8(t,e)||n8()}function n8(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
86
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r8(t,e){if(t){if(typeof t=="string")return Qg(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qg(t,e):void 0}}function Qg(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function i8(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var r,i,s,a,c=[],l=!0,d=!1;try{if(s=(n=n.call(t)).next,e!==0)for(;!(l=(r=s.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(p){d=!0,i=p}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw i}}return c}}function o8(t){if(Array.isArray(t))return t}function s8(t){var e=Array.prototype.slice.call(t),n=t8(e,4),r=n[0],i=n[1],s=n[2],a=n[3],c,l,d;if(typeof r=="string")c=r;else throw new TypeError("A text for parsing must be a string.");if(!i||typeof i=="string")a?(l=s,d=a):(l=void 0,d=s),i&&(l=Z6({defaultCountry:i},l));else if(Kr(i))s?(l=i,d=s):d=i;else throw new Error("Invalid second argument: ".concat(i));return{text:c,options:l,metadata:d}}function Ro(t){"@babel/helpers - typeof";return Ro=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ro(t)}function e0(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function t0(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?e0(Object(n),!0).forEach(function(r){a8(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e0(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function a8(t,e,n){return(e=c8(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c8(t){var e=l8(t,"string");return Ro(e)=="symbol"?e:e+""}function l8(t,e){if(Ro(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ro(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function d8(t,e,n){e&&e.defaultCountry&&!f5(e.defaultCountry,n)&&(e=t0(t0({},e),{},{defaultCountry:void 0}));try{return X6(t,e,n)}catch(r){if(!(r instanceof cn))throw r}}function u8(){var t=s8(arguments),e=t.text,n=t.options,r=t.metadata;return d8(e,n,r)}function p8(){return t5(u8,arguments)}function Yc(t,e="US"){const n=t.trim();if(n.includes("@")){const r=n.toLowerCase(),i=/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r);return{connectionType:"email",normalized:i?r:null,isValid:i}}else if(/^\+?\d[\d\s\-().]*$/.test(n)){const r=p8(n,{defaultCountry:e});return r&&r.isValid()?{connectionType:"sms",normalized:r.number,isValid:!0}:{connectionType:"sms",normalized:null,isValid:!1}}else return{connectionType:"username",normalized:n,isValid:!0}}function Lp(t){let e=t.trim();e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1));const n=e.indexOf("%");return n!==-1&&(e=e.slice(0,n)),e}function f8(t){const n=Lp(t).split(".");return n.length!==4?!1:n.every(r=>/^\d+$/.test(r)&&Number(r)>=0&&Number(r)<=255)}function h8(t){const e=Lp(t);if(e.length<2||e.indexOf(":")===-1||!/^[0-9a-fA-F:.]+$/.test(e))return!1;const n=e.split(":");return e.includes("::")?n.length<=8:n.length===8}function g8(t){let e=t.trim();const n=/^\[([^\]]+)\](?::\d+)?$/,r=e.match(n);if(r&&r[1])return r[1];const i=e.lastIndexOf(":");if(i!==-1){const s=e.slice(0,i),a=e.slice(i+1);/^[0-9.]+$/.test(s)&&/^\d+$/.test(a)&&(e=s)}return e}function n0(t){if(!t)return null;const e=Lp(g8(t));return f8(e)?{family:4,normalized:e}:h8(e)?{family:6,normalized:e.toLowerCase()}:null}function r0(t){if(t.includes("::")){let[e,n]=t.split("::"),r=e?e.split(":").filter(Boolean):[],i=n?n.split(":").filter(Boolean):[],s=8-(r.length+i.length);return[...r.map(a=>a.toLowerCase()||"0"),...Array(s).fill("0"),...i.map(a=>a.toLowerCase()||"0")]}else return t.split(":").map(e=>e.toLowerCase()||"0")}function m8(t,e,n=!0){const r=n0(t),i=n0(e);if(!r||!i||r.family!==i.family)return!1;if(r.family===4)return r.normalized===i.normalized;const s=r0(r.normalized),a=r0(i.normalized);return n?s.length===8&&a.length===8&&s.join(":")===a.join(":"):s.slice(0,4).join(":")===a.slice(0,4).join(":")}class br extends Error{location;status;constructor(e,n=302){super(`Redirect to ${e}`),this.name=br.name,this.location=e,this.status=n}}const _8=o.z.object({client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),otp:o.z.string(),authParams:ho.optional(),enforceIpCheck:o.z.boolean().optional().default(!1)});async function E1(t,{client_id:e,username:n,otp:r,authParams:i,enforceIpCheck:s=!1}){const a=t.get("ip"),c=t.get("countryCode"),{connectionType:l,normalized:d}=Yc(n,c);if(!d)throw new L(400,{message:"Invalid username format"});const p=await t.env.data.legacyClients.get(e);if(!p)throw new L(403,{message:"Client not found"});const{env:f}=t,g=await f.data.codes.get(p.tenant.id,r,"otp");if(!g)throw new L(400,{message:X("code_invalid")});if(g.expires_at<new Date().toISOString())throw new L(400,{message:X("code_expired")});if(g.used_at)throw new L(400,{message:X("code_used")});const _=await f.data.loginSessions.get(p.tenant.id,g.login_id);if(!_||_.authParams.username!==n)throw new L(400,{message:"Code not found or expired"});if(s&&_.ip&&a&&!m8(_.ip,a))throw new br(`${De(t.env)}invalid-session?state=${_.id}`);const w=await Za(t,{client:p,username:d,provider:l,connection:l,isSocial:!1,ip:t.var.ip});return await f.data.codes.used(p.tenant.id,r),{user:w,client:p,loginSession:_,session_id:_.session_id,authParams:{..._.authParams,...i||{}}}}async function Up(t,e){const n=await E1(t,e);return Gt(t,{authParams:n.authParams,client:n.client,user:n.user,loginSession:n.loginSession,authStrategy:{strategy:"email",strategy_type:"passwordless"}})}const i0=o.z.object({client_id:o.z.string().optional(),client_secret:o.z.string().optional()}),o0=o.z.union([w1.extend(i0.shape),o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string(),code_verifier:o.z.string().min(43).max(128),organization:o.z.string().optional()}),o.z.object({grant_type:o.z.literal("authorization_code"),code:o.z.string(),redirect_uri:o.z.string().optional(),organization:o.z.string().optional(),...i0.shape}),o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string().optional(),refresh_token:o.z.string(),redirect_uri:o.z.string().optional(),client_secret:o.z.string().optional()}),o.z.object({grant_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),client_id:o.z.string(),username:o.z.string(),otp:o.z.string(),realm:o.z.enum(["email","sms"])})]);function y8(t){if(!t)return{};const[e,n]=t.split(" ");if(e?.toLowerCase()==="basic"&&n){const[r,i]=atob(n).split(":");return{client_id:r,client_secret:i}}return{}}const w8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:o0},"application/json":{schema:o0}}}},responses:{200:{content:{"application/json":{schema:zu}},description:"Tokens"},302:{description:"Redirect for further user interaction (e.g., MFA, consent).",headers:o.z.object({Location:o.z.string().url()}).openapi({})},400:{description:"Bad Request - The request was malformed or invalid.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}},401:{description:"Unauthorized - Client authentication failed.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}},403:{description:"Forbidden - User is not a member of the required organization.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}}}}),async t=>{const n=(t.req.header("Content-Type")||"").includes("application/json")?t.req.valid("json"):t.req.valid("form"),r=y8(t.req.header("Authorization")),i={...n,...r};if(!i.client_id)throw new v(400,{message:"client_id is required"});t.set("client_id",i.client_id);let s;switch(n.grant_type){case xt.AuthorizationCode:s=await Zk(t,Xk.parse(i));break;case xt.ClientCredential:s=await Jk(t,w1.parse(i));break;case xt.RefreshToken:s=await Qk(t,Yk.parse(i));break;case xt.OTP:s=await E1(t,_8.parse(i));break;default:return t.json({error:"unsupported_grant_type",error_description:"Grant type not implemented"},400)}const a=new Headers;if(s.session_id){const d=Ys(s.client.tenant.id,s.session_id,t.var.host||"");a.set("Set-Cookie",d)}let c=[];if(s.authParams.audience)try{let d;if(n.grant_type===xt.ClientCredential)d=await Qs(t,{grantType:xt.ClientCredential,tenantId:s.client.tenant.id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(" ")||[],organizationId:s.organization?.id});else{if(!s.user?.user_id)throw new L(400,{error:"invalid_request",error_description:"User ID is required for user-based grants"});d=await Qs(t,{grantType:n.grant_type,tenantId:s.client.tenant.id,userId:s.user.user_id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(" ")||[],organizationId:s.organization?.id})}s.authParams.scope=d.scopes.join(" "),c=d.permissions}catch(d){if(d instanceof v)throw d;console.error("Error calculating scopes and permissions:",d)}const l=await Wa(t,{...s,grantType:n.grant_type,permissions:c.length>0?c:void 0});return t.json(l,{headers:a})}),xn={TOO_SHORT:"password_too_short",MISSING_LOWERCASE:"password_missing_lowercase",MISSING_UPPERCASE:"password_missing_uppercase",MISSING_NUMBER:"password_missing_number",MISSING_SPECIAL:"password_missing_special",REUSED:"password_reused",CONTAINS_PERSONAL_INFO:"password_contains_personal_info",CONTAINS_FORBIDDEN_WORD:"password_contains_forbidden_word"};class Ft extends Error{code;params;constructor(e,n,r){super(n),this.code=e,this.params=r,this.name="PasswordPolicyError"}}async function Dp(t,e){const{newPassword:n,userData:r,data:i,tenantId:s,userId:a}=e,c=t.passwordPolicy!==void 0||t.password_complexity_options!==void 0||t.password_history!==void 0||t.password_no_personal_info!==void 0||t.password_dictionary!==void 0,l=c?t.passwordPolicy:"good",d=c?t.password_complexity_options?.min_length:8;if(d&&n.length<d)throw new Ft(xn.TOO_SHORT,`Password must be at least ${d} characters`,{minLength:d});if(l&&l!=="none"&&l==="good"){if(!/[a-z]/.test(n))throw new Ft(xn.MISSING_LOWERCASE,"Password must contain at least one lowercase letter");if(!/[A-Z]/.test(n))throw new Ft(xn.MISSING_UPPERCASE,"Password must contain at least one uppercase letter");if(!/\d/.test(n))throw new Ft(xn.MISSING_NUMBER,"Password must contain at least one number");if(!/[^A-Za-z0-9]/.test(n))throw new Ft(xn.MISSING_SPECIAL,"Password must contain at least one special character")}if(t.password_history?.enable){const p=t.password_history.size||5,f=await i.passwords.list(s,a,p);for(const g of f)if(await rr.compare(n,g.password))throw new Ft(xn.REUSED,"Password was used recently and cannot be reused",{historySize:p})}if(t.password_no_personal_info?.enable&&r&&[r.email,r.name].filter(Boolean).join(" ").toLowerCase().includes(n.toLowerCase()))throw new Ft(xn.CONTAINS_PERSONAL_INFO,"Password cannot contain personal information like your name or email");if(t.password_dictionary?.enable&&t.password_dictionary.dictionary&&t.password_dictionary.dictionary.some(p=>n.toLowerCase().includes(p.toLowerCase())))throw new Ft(xn.CONTAINS_FORBIDDEN_WORD,"Password contains a forbidden word")}async function Mp(t,e,n){return(await t.connections.get(e,n))?.options||{}}async function ls(t,e){const n=await t.env.data.emailProviders.get(t.var.tenant_id)||(t.env.DEFAULT_TENANT_ID?await t.env.data.emailProviders.get(t.env.DEFAULT_TENANT_ID):null);if(!n)throw new v(500,{message:"Email provider not found"});const r=t.env.emailProviders?.[n.name];if(!r)throw new v(500,{message:"Email provider not found"});await r({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function C1(t,e){if(!t.var.client_id)throw new v(500,{message:"Client not found"});const n=await zi(t.env,t.var.client_id),r=n.connections.find(a=>a.strategy==="sms");if(!r)throw new v(500,{message:"SMS provider not found"});const i=r.options?.provider||"twilio",s=t.env.smsProviders?.[i];if(!s)throw new v(500,{message:"SMS provider not found"});await s({options:r.options,to:e.to,from:e.from,text:e.text,template:"auth-code",data:{code:e.code,tenantName:n.tenant.friendly_name,tenantId:n.tenant.id}})}async function N1(t,e,n,r,i){const s=await t.env.data.tenants.get(t.var.tenant_id);if(!s)throw new v(500,{message:"Tenant not found"});const a=`${De(t.env)}reset-password?state=${r}&code=${n}`,c=await t.env.data.branding.get(t.var.tenant_id),l=c?.logo_url||"",d=c?.colors?.primary||"#7d68f4",p={vendorName:s.friendly_name,lng:"en"};await ls(t,{to:e,subject:X("reset_password_title",p),html:`Click here to reset your password: ${De(t.env)}reset-password?state=${r}&code=${n}`,template:"auth-password-reset",data:{vendorName:s.friendly_name,logo:l,passwordResetUrl:a,supportUrl:s.support_url||"https://support.sesamy.com",buttonColor:d,passwordResetTitle:X("password_reset_title",p),resetPasswordEmailClickToReset:X("reset_password_email_click_to_reset",p),resetPasswordEmailReset:X("reset_password_email_reset",p),supportInfo:X("support_info",p),contactUs:X("contact_us",p),copyright:X("copyright",p),tenantName:s.friendly_name,tenantId:s.id}}),ne(t,s.id,{type:ee.SUCCESS_CHANGE_PASSWORD_REQUEST,description:e})}async function qp(t,{to:e,code:n,language:r}){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new v(500,{message:"Tenant not found"});const{connectionType:s}=Yc(e),a=await t.env.data.branding.get(t.var.tenant_id),c=a?.logo_url||"",l=a?.colors?.primary||"#7d68f4",d=new URL(De(t.env)),p={vendorName:i.friendly_name,vendorId:i.id,loginDomain:d.hostname,code:n,lng:r||"en"};s==="email"?await ls(t,{to:e,subject:X("code_email_subject",p),html:`Click here to validate your email: ${De(t.env)}validate-email`,template:"auth-code",data:{code:n,vendorName:i.friendly_name,logo:c,supportUrl:i.support_url||"",buttonColor:l,welcomeToYourAccount:X("welcome_to_your_account",p),linkEmailClickToLogin:X("link_email_click_to_login",p),linkEmailLogin:X("link_email_login",p),linkEmailOrEnterCode:X("link_email_or_enter_code",p),codeValid30Mins:X("code_valid_30_minutes",p),supportInfo:X("support_info",p),contactUs:X("contact_us",p),copyright:X("copyright",p)}}):s==="sms"&&await C1(t,{to:e,text:X("sms_code_text",p),code:n,from:i.friendly_name}),ne(t,i.id,{type:ee.CODE_LINK_SENT,description:e})}async function Fp(t,{to:e,code:n,authParams:r,language:i}){const s=await t.env.data.tenants.get(t.var.tenant_id);if(!s)throw new v(500,{message:"Tenant not found"});if(!r.redirect_uri)throw new v(400,{message:"redirect_uri is required"});const{connectionType:a}=Yc(e),c=await t.env.data.branding.get(t.var.tenant_id),l=c?.logo_url||"",d=c?.colors?.primary||"",p=new URL(ge(t.env));p.pathname="passwordless/verify_redirect",p.searchParams.set("verification_code",n),p.searchParams.set("connection",a),p.searchParams.set("client_id",r.client_id),p.searchParams.set("redirect_uri",r.redirect_uri),p.searchParams.set("email",e),r.response_type&&p.searchParams.set("response_type",r.response_type),r.scope&&p.searchParams.set("scope",r.scope),r.state&&p.searchParams.set("state",r.state),r.nonce&&p.searchParams.set("nonce",r.nonce),r.code_challenge&&p.searchParams.set("code_challenge",r.code_challenge),r.code_challenge_method&&p.searchParams.set("code_challenge_method",r.code_challenge_method),r.audience&&p.searchParams.set("audience",r.audience);const f={vendorName:s.friendly_name,code:n,lng:i||"en"};if(a==="email")await ls(t,{to:e,subject:X("code_email_subject",f),html:`Click here to validate your email: ${De(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:s.friendly_name,logo:l,supportUrl:s.support_url||"",magicLink:p.toString(),buttonColor:d,welcomeToYourAccount:X("welcome_to_your_account",f),linkEmailClickToLogin:X("link_email_click_to_login",f),linkEmailLogin:X("link_email_login",f),linkEmailOrEnterCode:X("link_email_or_enter_code",f),codeValid30Mins:X("code_valid_30_minutes",f),supportInfo:X("support_info",f),contactUs:X("contact_us",f),copyright:X("copyright",f)}});else if(a==="sms")await C1(t,{to:e,text:`${X("link_sms_login",f)}: ${p.toString()}`,code:n,from:s.friendly_name});else throw new v(400,{message:"Only email and SMS connections are supported for magic links"});ne(t,s.id,{type:ee.CODE_LINK_SENT,description:e})}async function Hp(t,e,n){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new v(500,{message:"Tenant not found"});if(!e.email)throw new v(400,{message:"User has no email"});const i=await t.env.data.branding.get(t.var.tenant_id),s=i?.logo_url||"",a=i?.colors?.primary||"#7d68f4",c={vendorName:r.friendly_name,lng:n||"en"};await ls(t,{to:e.email,subject:X("welcome_to_your_account",c),html:`Click here to validate your email: ${De(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:r.friendly_name,logo:s,emailValidationUrl:`${De(t.env)}validate-email`,supportUrl:r.support_url||"https://support.sesamy.com",buttonColor:a,welcomeToYourAccount:X("welcome_to_your_account",c),verifyEmailVerify:X("verify_email_verify",c),supportInfo:X("support_info",c),contactUs:X("contact_us",c),copyright:X("copyright",c)}})}async function b8(t,e,n,r,i){const s=await t.env.data.tenants.get(t.var.tenant_id);if(!s)throw new v(500,{message:"Tenant not found"});const a=await t.env.data.branding.get(t.var.tenant_id),c=a?.logo_url||"",l=a?.colors?.primary||"#7d68f4",d={vendorName:s.friendly_name,lng:"en"},p=`${De(t.env)}signup?state=${r}&code=${n}`;await ls(t,{to:e,subject:X("register_password_account",d),html:`Click here to register: ${p}`,template:"auth-pre-signup-verification",data:{vendorName:s.friendly_name,logo:c,signupUrl:p,setPassword:X("set_password",d),registerPasswordAccount:X("register_password_account",d),clickToSignUpDescription:X("click_to_sign_up_description",d),supportUrl:s.support_url||"https://support.sesamy.com",buttonColor:l,welcomeToYourAccount:X("welcome_to_your_account",d),verifyEmailVerify:X("verify_email_verify",d),supportInfo:X("support_info",d),contactUs:X("contact_us",d),copyright:X("copyright",d)}})}const v8=new o.OpenAPIHono().openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string()})}}}},responses:{200:{content:{"application/json":{schema:o.z.object({_id:o.z.string(),email:o.z.string().optional(),email_verified:o.z.boolean(),app_metadata:o.z.object({}),user_metadata:o.z.object({})})}},description:"Created user"}}}),async t=>{const{email:e,password:n,client_id:r}=t.req.valid("json"),i=await t.env.data.legacyClients.get(r);if(!i)throw new v(400,{message:"Client not found"});t.set("client_id",i.client_id),t.set("tenant_id",i.tenant.id);const s=await Mp(t.env.data,i.tenant.id,"Username-Password-Authentication");try{await Dp(s,{tenantId:i.tenant.id,userId:"",newPassword:n,data:t.env.data})}catch(d){throw new v(400,{message:d?.message||"Password does not meet the requirements"})}if(await _o({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:e,provider:"auth2"}))throw new v(400,{message:"Invalid sign up"});const c=await t.env.data.users.create(i.tenant.id,{user_id:`auth2|${Ka()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",c.user_id),t.set("username",c.email),t.set("connection",c.connection);const l=await rr.hash(n,10);return await t.env.data.passwords.create(i.tenant.id,{user_id:c.user_id,password:l,algorithm:"bcrypt",is_current:!0}),await Hp(t,c),ne(t,i.tenant.id,{type:ee.SUCCESS_SIGNUP,description:"Successful signup"}),t.json({_id:c.user_id,email:c.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{email:e,client_id:n}=t.req.valid("json"),r=await t.env.data.legacyClients.get(n);if(!r)throw new v(400,{message:"Client not found"});if(t.set("client_id",r.client_id),t.set("tenant_id",r.tenant.id),!await pi({userAdapter:t.env.data.users,tenant_id:r.tenant.id,username:e,provider:"auth2"}))return t.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:n,username:e},a=await t.env.data.loginSessions.create(r.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:s,csrf_token:pe(),ip:t.get("ip"),useragent:t.get("useragent"),auth0Client:_n(t.get("auth0_client"))});return await N1(t,e,a.id,a.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function Ln(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}const $8=new o.OpenAPIHono().openapi(o.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({connection:o.z.literal("email"),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),send:o.z.enum(["link","code"]),authParams:ho.omit({client_id:!0})}),o.z.object({client_id:o.z.string(),connection:o.z.literal("sms"),phone_number:o.z.string(),send:o.z.enum(["link","code"]),authParams:ho.omit({client_id:!0})})])}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:r,send:i,authParams:s,connection:a}=e,c=await t.env.data.legacyClients.get(r);if(!c)throw new v(400,{message:"Client not found"});t.set("client_id",c.client_id),t.set("tenant_id",c.tenant.id);const l=a==="email"?e.email:e.phone_number,d=t.get("ip"),p=t.get("useragent"),f=t.get("auth0_client"),g=_n(f),_=await n.data.loginSessions.create(c.tenant.id,{authParams:{...s,client_id:r,username:l},expires_at:new Date(Date.now()+xs).toISOString(),csrf_token:pe(),ip:d,useragent:p,auth0Client:g}),w=await n.data.codes.create(c.tenant.id,{code_id:Ln(),code_type:"otp",login_id:_.id,expires_at:new Date(Date.now()+xs).toISOString(),redirect_uri:s.redirect_uri}),k=s?.ui_locales?.split(" ")?.map(z=>z.split("-")[0])[0];return i==="link"?await Fp(t,{to:l,code:w.code_id,authParams:{...s,client_id:r},language:k}):await qp(t,{to:l,code:w.code_id,language:k}),t.html("OK")}).openapi(o.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:o.z.object({scope:o.z.string(),response_type:o.z.nativeEnum(mt),redirect_uri:o.z.string(),state:o.z.string(),nonce:o.z.string().optional(),verification_code:o.z.string(),connection:o.z.string(),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),audience:o.z.string().optional()})},responses:{302:{description:"Successful verification, redirecting to continue flow.",headers:o.z.object({Location:o.z.string().url()}).openapi({})},400:{description:"Bad Request (e.g., invalid client, invalid code, missing parameters).",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}},500:{description:"Internal Server Error.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}}}}),async t=>{const{env:e}=t,{client_id:n,email:r,verification_code:i,redirect_uri:s,state:a,scope:c,audience:l,response_type:d,nonce:p}=t.req.valid("query"),f=await zi(e,n);t.set("client_id",f.client_id),t.set("tenant_id",f.tenant.id),t.set("connection","email");const g={client_id:n,redirect_uri:s,state:a,nonce:p,scope:c,audience:l,response_type:d};let _="Something went wrong. Please try again later.";try{const S=await Up(t,{client_id:n,username:r,otp:i,authParams:g,enforceIpCheck:!0});if(S instanceof Response)return S;if(S&&typeof S=="object"&&"access_token"in S)return t.json(S)}catch(S){const C=S;"message"in C&&typeof C.message=="string"&&(_=C.message)}const w=t.get("ip"),k=t.get("useragent"),z=t.get("auth0_client"),I=_n(z),N=await e.data.loginSessions.create(f.tenant.id,{authParams:{...g,username:r},expires_at:new Date(Date.now()+xs).toISOString(),csrf_token:pe(),ip:w,useragent:k,auth0Client:I});return t.redirect(`${De(t.env)}invalid-session?state=${N.id}&error=${encodeURIComponent(_)}`,302)});class Tr extends v{_code;constructor(e,n){super(e,n),this._code=n?.code}get code(){return this._code}}async function k8(t,e,n){const r=n.app_metadata||{},i=r.failed_logins||[],s=Date.now(),a=[...i.filter(c=>s-c<1e3*60*5),s];r.failed_logins=a,await t.users.update(e,n.user_id,{app_metadata:r})}function x8(t){const n=(t.app_metadata||{}).failed_logins||[],r=Date.now();return n.filter(i=>r-i<1e3*60*5)}async function I1(t,e,n,r){const{data:i}=t.env,{username:s}=n;if(t.set("username",s),!s)throw new L(400,{message:"Username is required"});const a=await pi({userAdapter:t.env.data.users,tenant_id:e.tenant.id,username:s,provider:"auth2"});if(!a)throw ne(t,e.tenant.id,{type:ee.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"}),new Tr(403,{message:"User not found",code:"USER_NOT_FOUND"});const c=a.linked_to?await i.users.get(e.tenant.id,a.linked_to):a;if(!c)throw new Tr(403,{message:"User not found",code:"USER_NOT_FOUND"});if(t.set("connection",a.connection),t.set("user_id",c.user_id),x8(c).length>=3)throw ne(t,e.tenant.id,{type:ee.FAILED_LOGIN,description:"Too many failed login attempts"}),new Tr(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"});const d=await i.passwords.get(e.tenant.id,a.user_id);if(!(d&&await rr.compare(n.password,d.password)))throw ne(t,e.tenant.id,{type:ee.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"}),k8(i,e.tenant.id,c),new Tr(403,{message:"Invalid password",code:"INVALID_PASSWORD"});if(!a.email_verified&&e.client_metadata?.email_validation==="enforced"){const g=r?.authParams?.ui_locales?.split(" ")?.map(_=>_.split("-")[0])[0];throw await Hp(t,a,g),ne(t,e.tenant.id,{type:ee.FAILED_LOGIN,description:"Email not verified"}),new Tr(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const f=c.app_metadata||{};return f.failed_logins&&f.failed_logins.length>0&&(f.failed_logins=[],i.users.update(e.tenant.id,c.user_id,{app_metadata:f})),{client:e,authParams:n,user:c,loginSession:r}}async function j1(t,e,n,r,i){const s=await I1(t,e,n,r);return Gt(t,{...s,ticketAuth:i,authStrategy:{strategy:"Username-Password-Authentication",strategy_type:"database"}})}async function S8(t,e,n,r){await Za(t,{client:e,username:n,provider:"auth2",connection:"Username-Password-Authentication",isSocial:!1,ip:t.var.ip});let i=Ln(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");for(;s;)i=Ln(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");const a=t.get("ip"),c=t.get("useragent"),l=t.get("auth0_client"),d=_n(l),p=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+Qb).toISOString(),authParams:{client_id:e.client_id,username:n},csrf_token:pe(),ip:a,useragent:c,auth0Client:d}),f=await t.env.data.codes.create(e.tenant.id,{code_id:i,code_type:"password_reset",login_id:p.id,expires_at:new Date(Date.now()+Yb).toISOString()});await N1(t,n,f.code_id,r)}const z8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:o.z.string(),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),realm:o.z.enum(["email"]),scope:o.z.string().optional()}),o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string(),realm:o.z.enum(["Username-Password-Authentication"]),scope:o.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async t=>{const e=t.req.valid("json"),{client_id:n,username:r}=e;t.set("username",r);const i=await t.env.data.legacyClients.get(n);if(!i)throw new v(400,{message:"Client not found"});t.set("client_id",n),t.set("tenant_id",i.tenant.id);const s=r.toLocaleLowerCase(),a=t.get("ip"),c=t.get("useragent"),l=t.get("auth0_client");let d;if("otp"in e)d=await Up(t,{client_id:n,username:s,otp:e.otp});else if("password"in e){const p=await t.env.data.loginSessions.create(i.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:{client_id:n,username:s},csrf_token:pe(),ip:a,useragent:c,auth0Client:_n(l)});d=await j1(t,i,{username:s,password:e.password,client_id:n},p,!0)}else throw new v(400,{message:"Code or password required"});if(!(d instanceof Response))throw new v(500,{message:"Unexpected response from loginWithPassword"});return d});function O1(t,e){if(!t||e.length===0)return!1;const n=kl(t)?.host??null;if(!n)return!1;for(const r of e){let i;if(r.startsWith("http://")||r.startsWith("https://")?i=kl(r)?.host??null:i=kl("https://"+r)?.host??null,n===i)return!0}return!1}function kl(t){try{return new URL(t)}catch{return null}}async function A8({ctx:t,session:e,client:n,authParams:r,connection:i,login_hint:s}){const a=new URL(t.req.url);t.var.custom_domain&&(a.hostname=t.var.custom_domain);const{ip:c,auth0_client:l,useragent:d}=t.var,p=_n(l),f=await t.env.data.loginSessions.create(n.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:r,csrf_token:pe(),authorization_url:a.toString(),ip:c,useragent:d,auth0Client:p});if(e&&s){const g=await t.env.data.users.get(n.tenant.id,e.user_id);if(g?.email===s)return await t.env.data.loginSessions.update(n.tenant.id,f.id,{session_id:e.id}),Gt(t,{client:n,loginSession:{...f,session_id:e.id},authParams:r,user:g,sessionId:e.id})}if(i==="email"&&s){const g=Ln();return await t.env.data.codes.create(n.tenant.id,{code_id:g,code_type:"otp",login_id:f.id,expires_at:new Date(Date.now()+ir*1e3).toISOString(),redirect_uri:r.redirect_uri}),await Fp(t,{code:g,to:s,authParams:r}),t.redirect(`/u/enter-code?state=${f.id}`)}return e?t.redirect(`/u/check-account?state=${f.id}`):t.redirect(`/u/login/identifier?state=${f.id}`)}function E8(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new L(403,{message:"Invalid realm"})}async function C8(t,e,n,r,i){const{env:s}=t;t.set("connection",i);const a=await s.data.codes.get(e,n,"ticket");if(!a||a.used_at)throw new L(403,{message:"Ticket not found"});const c=await s.data.loginSessions.get(e,a.login_id);if(!c||!c.authParams.username)throw new L(403,{message:"Session not found"});const l=await s.data.legacyClients.get(c.authParams.client_id);if(!l)throw new L(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const d=E8(i),f=l.connections.find(k=>k.name===i)?.strategy||(d==="auth2"?"Username-Password-Authentication":"email"),g=f==="Username-Password-Authentication"?"database":"passwordless";let _=await Za(t,{username:c.authParams.username,provider:d,client:l,connection:i,isSocial:!1,ip:t.var.ip});t.set("username",_.email||_.phone_number),t.set("user_id",_.user_id);const w=await n_(t,{user:_,client:l,loginSession:c});return Gt(t,{authParams:{scope:c.authParams?.scope,...r},loginSession:c,sessionId:w.id,user:_,client:l,authStrategy:{strategy:f,strategy_type:g}})}async function N8({ctx:t,client:e,session:n,redirect_uri:r,state:i,nonce:s,code_challenge_method:a,code_challenge:c,audience:l,scope:d,response_type:p,organization:f}){const{env:g}=t,_=new URL(r),w=`${_.protocol}//${_.host}`;async function k(W="Login required"){return ne(t,e.tenant.id,{type:ee.FAILED_SILENT_AUTH,description:W}),t.html(Ul(w,JSON.stringify({error:"login_required",error_description:W,state:i})))}if(!n||n?.expires_at&&new Date(n.expires_at)<new Date||n?.idle_expires_at&&new Date(n.idle_expires_at)<new Date)return k();t.set("user_id",n.user_id);const I=await g.data.users.get(e.tenant.id,n.user_id);if(!I)return console.error("User not found",n.user_id),k("User not found");t.set("username",I.email),t.set("connection",I.connection);const N=await g.data.loginSessions.create(e.tenant.id,{csrf_token:pe(),authParams:{client_id:e.client_id,audience:l,scope:d,state:i,nonce:s,response_type:p,redirect_uri:r,organization:f},expires_at:new Date(Date.now()+300*1e3).toISOString(),session_id:n.id,ip:t.var.ip,useragent:t.var.useragent}),S={client:e,authParams:{client_id:e.client_id,audience:l,code_challenge_method:a,code_challenge:c,scope:d,state:i,nonce:s,response_type:p,redirect_uri:r},user:I,session_id:n.id},C=p===mt.CODE?await e_(t,{user:I,client:e,authParams:S.authParams,login_id:N.id}):await Wa(t,S);await g.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),last_interaction_at:new Date().toISOString(),login_session_id:N.id,device:{...n.device,last_ip:t.var.ip||"",last_user_agent:t.var.useragent||""},idle_expires_at:n.idle_expires_at?new Date(Date.now()+Ga*1e3).toISOString():void 0}),ne(t,e.tenant.id,{type:ee.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});const O=new Headers;O.set("Server-Timing","cf-nel=0; no-cloudflare-insights=1");const K=Ys(e.tenant.id,n.id,t.req.header("host"));return O.set("set-cookie",K),t.html(Ul(w,JSON.stringify({...C,state:i})),{headers:O})}const I8=["email","sms","Username-Password-Authentication"],j8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),vendor_id:o.z.string().optional(),redirect_uri:o.z.string(),scope:o.z.string().optional(),state:o.z.string(),prompt:o.z.string().optional(),response_mode:o.z.nativeEnum(Vt).optional(),response_type:o.z.nativeEnum(mt).optional(),audience:o.z.string().optional(),connection:o.z.string().optional(),nonce:o.z.string().optional(),max_age:o.z.string().optional(),login_ticket:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Fa).optional(),code_challenge:o.z.string().optional(),realm:o.z.string().optional(),auth0Client:o.z.string().optional(),organization:o.z.string().optional(),login_hint:o.z.string().optional(),screen_hint:o.z.string().openapi({example:"signup",description:'Optional hint for the screen to show, like "signup" or "login".'}).optional(),ui_locales:o.z.string().optional()})},responses:{200:{description:"Successful authorization response. This can be an HTML page (e.g., for silent authentication iframe or universal login page) or a JSON object containing tokens (e.g., for response_mode=web_message).",content:{"text/html":{schema:o.z.string().openapi({example:"<html>...</html>"})},"application/json":{schema:zu}}},302:{description:"Redirect to the client's redirect URI, an authentication page, or an external identity provider.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request. Invalid parameters or other client-side errors.",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}},403:{description:"Forbidden. The request is not allowed (e.g., invalid origin).",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{env:e}=t,{client_id:n,vendor_id:r,redirect_uri:i,scope:s,state:a,audience:c,nonce:l,connection:d,response_type:p,response_mode:f,code_challenge:g,code_challenge_method:_,prompt:w,login_ticket:k,realm:z,auth0Client:I,login_hint:N,ui_locales:S,organization:C}=t.req.valid("query");t.set("log","authorize");const O=await zi(e,n);t.set("client_id",O.client_id),t.set("tenant_id",O.tenant.id);const K={redirect_uri:i.split("#")[0],scope:s,state:a,client_id:n,vendor_id:r,audience:c,nonce:l,prompt:w,response_type:p,response_mode:f,code_challenge:g,code_challenge_method:_,username:N,ui_locales:S,organization:C},W=t.req.header("origin");if(W&&!O1(W,O.web_origins||[]))throw new v(403,{message:`Origin ${W} not allowed`});if(K.redirect_uri){const fe=O.callbacks||[];if(t.var.host&&(fe.push(`${ec(t.env)}/*`),fe.push(`${De(t.env)}/*`)),!Ip(K.redirect_uri,fe,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new v(400,{message:`Invalid redirect URI - ${K.redirect_uri}`})}const ie=Wr(O.tenant.id,t.req.header("cookie")),F=ie?await e.data.sessions.get(O.tenant.id,ie):void 0,se=F&&!F.revoked_at?F:void 0;if(w=="none"){if(!p)throw new v(400,{message:"Missing response_type"});return N8({ctx:t,session:se||void 0,redirect_uri:i,state:a,response_type:p,client:O,nonce:l,code_challenge_method:_,code_challenge:g,audience:c,scope:s,organization:C})}if(O.connections.length===1&&O.connections[0]&&!I8.includes(O.connections[0].strategy||""))return Ig(t,O,O.connections[0].name,K);if(d&&d!=="email")return Ig(t,O,d,K);if(k){const fe=await C8(t,O.tenant.id,k,K,z);return fe instanceof Response?fe:t.json(fe)}const ce=await A8({ctx:t,client:O,authParams:K,session:se||void 0,connection:d,login_hint:N});return ce instanceof Response?ce:t.json(ce)}),O8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),redirect_url:o.z.string().optional(),login_hint:o.z.string().toLowerCase().optional(),screen_hint:o.z.enum(["account","change-email","change-phone","change-password"]).optional().default("account")})},responses:{302:{description:"Redirect to the account page with login session state or login page",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request. Invalid parameters or other client-side errors.",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{env:e}=t,{client_id:n,redirect_url:r,login_hint:i,screen_hint:s}=t.req.valid("query");t.set("log","account");const a=await zi(e,n);t.set("client_id",a.client_id),t.set("tenant_id",a.tenant.id);const c={redirect_uri:r||t.req.url,client_id:n,username:i},l=t.req.header("origin");if(l&&!O1(l,a.web_origins||[]))throw new v(403,{message:`Origin ${l} not allowed`});if(c.redirect_uri){const N=a.callbacks||[];if(t.var.host&&(N.push(`${ec(t.env)}/*`),N.push(`${De(t.env)}/*`)),!Ip(c.redirect_uri,N,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new v(400,{message:`Invalid redirect URI - ${c.redirect_uri}`})}const d=Wr(a.tenant.id,t.req.header("cookie")),p=d?await e.data.sessions.get(a.tenant.id,d):void 0,f=p&&!p.revoked_at?p:void 0,g=new URL(t.req.url);t.var.custom_domain&&(g.hostname=t.var.custom_domain);const{ip:_,auth0_client:w,useragent:k}=t.var,z=_n(w),I=await e.data.loginSessions.create(a.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:c,csrf_token:pe(),authorization_url:g.toString(),ip:_,useragent:k,auth0Client:z});if(f){if(i&&(await e.data.users.get(a.tenant.id,f.user_id))?.email!==i)return t.redirect(`${De(t.env)}login/identifier?state=${encodeURIComponent(I.id)}`);if(await e.data.loginSessions.update(a.tenant.id,I.id,{session_id:f.id}),s==="change-email"){const S=new URL("/u/account/change-email",t.req.url);return S.searchParams.set("state",I.id),t.redirect(S.toString())}const N=new URL("/u/account",t.req.url);return N.searchParams.set("state",I.id),t.redirect(N.toString())}return t.redirect(`${De(t.env)}login/identifier?state=${encodeURIComponent(I.id)}`)});function P8(t){const e=new o.OpenAPIHono;e.use(async(r,i)=>{const s=Do(r,t.dataAdapter),a=t.dataAdapter.cache||cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),c=t.dataAdapter.cache?300:0,l=Jc(s,{defaultTtl:c,cacheEntities:["tenants","connections","customDomains","clients","legacyClients","branding","themes","promptSettings","forms","resourceServers","roles","organizations","userRoles","userPermissions"],cache:a});return r.env.data=Kc(r,l),i()}),e.use("/oauth/token",P0({origin:r=>r||"",allowHeaders:["Tenant-Id","Content-Type","Auth0-Client","Upgrade-Insecure-Requests"],allowMethods:["POST"],maxAge:600})),e.use(Wc).use(Gc).use(Cp(e));const n=e.route("/v2/logout",Kk).route("/userinfo",Gk).route("/.well-known",Wk).route("/oauth/token",w8).route("/dbconnections",v8).route("/passwordless",$8).route("/co/authenticate",z8).route("/authorize",j8).route("/account",O8).route("/callback",Hk);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"},security:[{oauth2:["openid","email","profile"]}]}),Ep(n),n}async function ue(t,e,n=!1){const{env:r}=t,i=await r.data.loginSessions.get(t.var.tenant_id||"",e);if(!i)throw new L(400,{message:"Login session not found"});t.set("loginSession",i);const s=await zi(r,i.authParams.client_id);t.set("client_id",s.client_id),t.set("tenant_id",s.tenant.id);let a;try{a=G$(t,"auth_ui_style")}catch{a=void 0}let c=!1;t.req?.url&&(c=(new URL(t.req.url).searchParams.get("style")||a||"classic")==="shadcn");const l=await r.data.tenants.get(s.tenant.id);if(l){if(i.session_id&&!n){if(!i.authParams.redirect_uri)throw new L(400,{message:"Login session closed and no redirect URI available"});const g=new URL(i.authParams.redirect_uri);throw g.searchParams.set("error","access_denied"),g.searchParams.set("error_description","Login session closed"),i.authParams.state&&g.searchParams.set("state",i.authParams.state),new br(g.toString(),302)}}else throw new L(400,{message:"Tenant not found"});const d=await r.data.themes.get(l.id,"default"),p=await r.data.branding.get(l.id),f=i.authParams?.ui_locales?.split(" ")?.map(g=>g.split("-")[0])?.find(g=>{if(Array.isArray(y.options.supportedLngs))return y.options.supportedLngs.includes(g)});return await y.changeLanguage(f||"en"),{theme:d,branding:p,client:s,tenant:l,loginSession:i,useShadcn:c}}async function vr(t,e){const{theme:n,branding:r,client:i,tenant:s,loginSession:a,useShadcn:c}=await ue(t,e,!0),l=Wr(i.tenant.id,t.req.header("cookie")),d=l?await t.env.data.sessions.get(i.tenant.id,l):null;if(!d||!a.session_id)throw new br(`/u/login/identifier?state=${encodeURIComponent(e)}`);const p=await t.env.data.sessions.get(i.tenant.id,a.session_id),f=await t.env.data.users.get(i.tenant.id,d.user_id);if(!f||p?.user_id!==d.user_id)throw new br(`/u/login/identifier?state=${encodeURIComponent(e)}`);return{theme:n,branding:r,client:i,user:f,tenant:s,loginSession:a,session:p,useShadcn:c}}async function T8(t,e,n,r){if(r!==void 0)return r==="password";const i=await ju({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n});return i?.app_metadata.strategy?i.app_metadata.strategy==="Username-Password-Authentication":(await t.env.data.promptSettings.get(e.tenant.id)).password_first}var xl={exports:{}};var s0;function R8(){return s0||(s0=1,(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var s="",a=0;a<arguments.length;a++){var c=arguments[a];c&&(s=i(s,r(c)))}return s}function r(s){if(typeof s=="string"||typeof s=="number")return s;if(typeof s!="object")return"";if(Array.isArray(s))return n.apply(null,s);if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]"))return s.toString();var a="";for(var c in s)e.call(s,c)&&s[c]&&(a=i(a,c));return a}function i(s,a){return a?s?s+" "+a:s+a:s}t.exports?(n.default=n,t.exports=n):window.classNames=n})()})(xl)),xl.exports}var B8=R8();const Y=$3(B8),Qt=({children:t,className:e,style:n})=>u("div",{className:Y("rounded-lg border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-800",e),style:n,children:t}),en=({children:t,className:e})=>u("div",{className:Y("flex flex-col space-y-1.5 p-6",e),children:t}),tn=({children:t,className:e,style:n})=>u("h3",{className:Y("text-2xl font-semibold leading-none tracking-tight",e),style:n,children:t}),nn=({children:t,className:e,style:n})=>u("p",{className:Y("text-sm text-gray-500 dark:text-gray-400",e),style:n,children:t}),rn=({children:t,className:e})=>u("div",{className:Y("p-6 pt-0",e),children:t}),P1=({children:t,className:e})=>u("div",{className:Y("flex items-center p-6 pt-0",e),children:t}),jt=({id:t,type:e="text",name:n,placeholder:r,className:i,required:s=!1,value:a,disabled:c=!1,error:l=!1,style:d})=>u("input",{id:t,type:e,name:n,placeholder:r,required:s,value:a,disabled:c,className:Y("flex h-10 w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm ring-offset-white transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:ring-offset-gray-900 dark:placeholder:text-gray-400",l&&"border-red-500 focus-visible:ring-red-500",i),style:d}),Jt=({children:t,className:e,variant:n="default",size:r="default",type:i="button",disabled:s=!1,style:a})=>{const c={default:"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-700 dark:hover:bg-blue-800",outline:"border border-gray-300 bg-transparent hover:bg-gray-100 dark:border-gray-600 dark:hover:bg-gray-800",ghost:"hover:bg-gray-100 dark:hover:bg-gray-800"},l={default:"h-10 px-4 py-2",sm:"h-9 px-3 text-sm",lg:"h-11 px-8"};return u("button",{type:i,disabled:s,className:Y("inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 disabled:pointer-events-none disabled:opacity-50",c[n],l[r],e),style:a,children:t})},_t=({htmlFor:t,className:e,style:n,children:r})=>u("label",{for:t,className:Y("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",e),style:n,children:r}),Be=({children:t,className:e})=>u("div",{className:Y("mb-2 text-sm text-red",e),children:t}),Rt=({theme:t,branding:e})=>{const n=t?.widget?.logo_url||e?.logo_url;return n?u("div",{className:"inline-flex h-9 items-center",children:u("img",{src:n,className:"h-full w-auto",alt:"Logo"})}):u(Ya,{})},js=({error:t,theme:e,branding:n,loginSession:r,email:i,client:s,className:a,isEmbedded:c,browserName:l})=>{const d=s.connections.map(({strategy:ye})=>ye),p=d.includes("email")||d.includes("Username-Password-Authentication"),f=d.includes("sms"),g=d.map(ye=>{const zr=Uu[ye];return zr?{name:ye,...zr}:null}).filter(ye=>ye!==null).filter(ye=>!(c&&ye.disableEmbeddedBrowsers)),_=p&&f?"email_or_phone_placeholder":p?"email_placeholder":"phone_placeholder",w=y.t(_,p&&f?"Email or Phone Number":p?"Email Address":"Phone Number"),k=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",z=e?.colors?.primary_button_label||"#ffffff",I=e?.colors?.body_text||"#333333",N=e?.colors?.input_background||"#ffffff",S=e?.colors?.input_border||"#d1d5db",C=e?.colors?.input_filled_text||"#111827",O=e?.colors?.error||"#dc2626",K=e?.colors?.widget_background||"#ffffff",W=e?.colors?.widget_border||"#e5e7eb",ie=e?.borders?.widget_corner_radius||8,F=e?.borders?.input_border_radius||4,se=e?.borders?.button_border_radius||4,ce=e?.borders?.show_widget_shadow??!0,fe=e?.fonts?.title?.size||24,$e=e?.fonts?.title?.bold??!0,_e=e?.fonts?.body_text?.size||14,on={backgroundColor:K,borderColor:W,borderRadius:`${ie}px`,boxShadow:ce?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:I},He={fontSize:`${fe}px`,fontWeight:$e?"700":"400",color:e?.colors?.header||I},Ze={fontSize:`${_e}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},Lt={backgroundColor:N,borderColor:t?O:S,borderRadius:`${F}px`,color:C},sn={backgroundColor:k,color:z,borderRadius:`${se}px`},an=e?.widget?.logo_position||"center",Pe=an==="left"?"text-left":an==="right"?"text-right":"text-center",ht=e?.widget?.logo_url||n?.logo_url,G=an!=="none"&&ht;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",a),children:[u("div",{id:"incognito-warning-container",className:"mb-4 hidden rounded-md border border-yellow-200 bg-yellow-50 p-4 text-sm text-yellow-800 dark:border-yellow-900 dark:bg-yellow-900/20 dark:text-yellow-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("incognito_mode_detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("incognito_mode_warning")})]})]})}),c&&u("div",{className:"mb-4 rounded-md border border-orange-200 bg-orange-50 p-4 text-sm text-orange-800 dark:border-orange-900 dark:bg-orange-900/20 dark:text-orange-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("embedded_browser_detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("embedded_browser_warning",{browserName:l||"the app"})})]})]})}),u(Qt,{style:on,className:"border",children:[u(en,{children:[G&&u("div",{className:Y("mb-4",Pe),children:u(Rt,{theme:e,branding:n})}),u(tn,{style:He,children:y.t("welcome","Login")}),u(nn,{style:Ze,children:y.t("login_description_template",{authMethod:y.t(_,{defaultValue:p&&f?"email or phone number":p?"email address":"phone number"}).toLocaleLowerCase(),defaultValue:"Enter your {{authMethod}} below to login to your account"})})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-6",children:[u("div",{className:"grid gap-2",children:[u(_t,{htmlFor:"username",style:Ze,children:y.t(_,p&&f?"Email or Phone Number":p?"Email":"Phone Number")}),u(jt,{id:"username",name:"username",type:"text",placeholder:w,required:!0,value:i||"",error:!!t,className:"border",style:Lt}),t&&u(Be,{children:t})]}),u(Jt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:sn,children:y.t("continue","Continue")}),g.length>0&&u(Ya,{children:[u("div",{className:"relative text-center",style:{color:e?.colors?.input_labels_placeholders||"#6b7280",fontSize:`${_e}px`},children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b",style:{borderColor:W}}),u("div",{className:"relative inline-block px-2",style:{backgroundColor:K},children:y.t("or","Or")})]}),u("div",{className:"flex gap-4 sm:flex-col short:flex-row",children:g.map(ye=>{const zr=ye.logo;return u("a",{href:`/authorize/redirect?state=${r.id}&connection=${ye.name}`,className:"inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 disabled:pointer-events-none disabled:opacity-50 border bg-transparent hover:bg-gray-100 dark:hover:bg-gray-800 h-10 px-4 py-2 w-full sm:w-full short:flex-1",style:{borderColor:S,borderRadius:`${se}px`,color:I},children:[u(zr,{className:"h-5 w-5"}),u("span",{className:"sm:inline short:hidden",children:y.t("continue_with","Login with {{provider}}",{provider:ye.displayName})}),u("span",{className:"hidden short:inline",children:ye.displayName})]},ye.name)})})]})]})})})]})]})},T1=t=>u("div",{className:"mt-8",children:t.client?.client_metadata?.termsAndConditionsUrl&&u("div",{className:"text-xs text-gray-300",children:[y.t("agree_to")," ",u("a",{href:t.client.client_metadata.termsAndConditionsUrl,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:y.t("terms")})]})}),L8=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",Ne=({name:t,size:e,className:n=""})=>{const r=L8(e);return u("span",{className:Y(`uicon-${t}`,n,r)})},U8=(t,e)=>{const n=t.replace("#",""),r=parseInt(n,16),i=r>>16&255,s=r>>8&255,a=r&255,c=Math.min(255,Math.round(i+(255-i)*e)),l=Math.min(255,Math.round(s+(255-s)*e)),d=Math.min(255,Math.round(a+(255-a)*e));return`#${(c<<16|l<<8|d).toString(16).padStart(6,"0")}`},D8=(t,e)=>{const n=t?.colors?.primary_button||e?.colors?.primary||"#000000",r=t?.colors?.base_hover_color||U8(n,.2),i=t?.colors?.primary_button_label||"#ffffff";return`
86
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function r8(t,e){if(t){if(typeof t=="string")return Qg(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qg(t,e):void 0}}function Qg(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function i8(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var r,i,s,a,c=[],l=!0,d=!1;try{if(s=(n=n.call(t)).next,e!==0)for(;!(l=(r=s.call(n)).done)&&(c.push(r.value),c.length!==e);l=!0);}catch(p){d=!0,i=p}finally{try{if(!l&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw i}}return c}}function o8(t){if(Array.isArray(t))return t}function s8(t){var e=Array.prototype.slice.call(t),n=t8(e,4),r=n[0],i=n[1],s=n[2],a=n[3],c,l,d;if(typeof r=="string")c=r;else throw new TypeError("A text for parsing must be a string.");if(!i||typeof i=="string")a?(l=s,d=a):(l=void 0,d=s),i&&(l=Z6({defaultCountry:i},l));else if(Kr(i))s?(l=i,d=s):d=i;else throw new Error("Invalid second argument: ".concat(i));return{text:c,options:l,metadata:d}}function Ro(t){"@babel/helpers - typeof";return Ro=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ro(t)}function e0(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function t0(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?e0(Object(n),!0).forEach(function(r){a8(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e0(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function a8(t,e,n){return(e=c8(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c8(t){var e=l8(t,"string");return Ro(e)=="symbol"?e:e+""}function l8(t,e){if(Ro(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(Ro(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function d8(t,e,n){e&&e.defaultCountry&&!f5(e.defaultCountry,n)&&(e=t0(t0({},e),{},{defaultCountry:void 0}));try{return X6(t,e,n)}catch(r){if(!(r instanceof cn))throw r}}function u8(){var t=s8(arguments),e=t.text,n=t.options,r=t.metadata;return d8(e,n,r)}function p8(){return t5(u8,arguments)}function Yc(t,e="US"){const n=t.trim();if(n.includes("@")){const r=n.toLowerCase(),i=/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r);return{connectionType:"email",normalized:i?r:null,isValid:i}}else if(/^\+?\d[\d\s\-().]*$/.test(n)){const r=p8(n,{defaultCountry:e});return r&&r.isValid()?{connectionType:"sms",normalized:r.number,isValid:!0}:{connectionType:"sms",normalized:null,isValid:!1}}else return{connectionType:"username",normalized:n,isValid:!0}}function Lp(t){let e=t.trim();e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1));const n=e.indexOf("%");return n!==-1&&(e=e.slice(0,n)),e}function f8(t){const n=Lp(t).split(".");return n.length!==4?!1:n.every(r=>/^\d+$/.test(r)&&Number(r)>=0&&Number(r)<=255)}function h8(t){const e=Lp(t);if(e.length<2||e.indexOf(":")===-1||!/^[0-9a-fA-F:.]+$/.test(e))return!1;const n=e.split(":");return e.includes("::")?n.length<=8:n.length===8}function g8(t){let e=t.trim();const n=/^\[([^\]]+)\](?::\d+)?$/,r=e.match(n);if(r&&r[1])return r[1];const i=e.lastIndexOf(":");if(i!==-1){const s=e.slice(0,i),a=e.slice(i+1);/^[0-9.]+$/.test(s)&&/^\d+$/.test(a)&&(e=s)}return e}function n0(t){if(!t)return null;const e=Lp(g8(t));return f8(e)?{family:4,normalized:e}:h8(e)?{family:6,normalized:e.toLowerCase()}:null}function r0(t){if(t.includes("::")){let[e,n]=t.split("::"),r=e?e.split(":").filter(Boolean):[],i=n?n.split(":").filter(Boolean):[],s=8-(r.length+i.length);return[...r.map(a=>a.toLowerCase()||"0"),...Array(s).fill("0"),...i.map(a=>a.toLowerCase()||"0")]}else return t.split(":").map(e=>e.toLowerCase()||"0")}function m8(t,e,n=!0){const r=n0(t),i=n0(e);if(!r||!i||r.family!==i.family)return!1;if(r.family===4)return r.normalized===i.normalized;const s=r0(r.normalized),a=r0(i.normalized);return n?s.length===8&&a.length===8&&s.join(":")===a.join(":"):s.slice(0,4).join(":")===a.slice(0,4).join(":")}class br extends Error{location;status;constructor(e,n=302){super(`Redirect to ${e}`),this.name=br.name,this.location=e,this.status=n}}const _8=o.z.object({client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),otp:o.z.string(),authParams:ho.optional(),enforceIpCheck:o.z.boolean().optional().default(!1)});async function E1(t,{client_id:e,username:n,otp:r,authParams:i,enforceIpCheck:s=!1}){const a=t.get("ip"),c=t.get("countryCode"),{connectionType:l,normalized:d}=Yc(n,c);if(!d)throw new L(400,{message:"Invalid username format"});const p=await t.env.data.legacyClients.get(e);if(!p)throw new L(403,{message:"Client not found"});const{env:f}=t,g=await f.data.codes.get(p.tenant.id,r,"otp");if(!g)throw new L(400,{message:X("code_invalid")});if(g.expires_at<new Date().toISOString())throw new L(400,{message:X("code_expired")});if(g.used_at)throw new L(400,{message:X("code_used")});const _=await f.data.loginSessions.get(p.tenant.id,g.login_id);if(!_||_.authParams.username!==n)throw new L(400,{message:"Code not found or expired"});if(s&&_.ip&&a&&!m8(_.ip,a))throw new br(`${De(t.env)}invalid-session?state=${_.id}`);const w=await Za(t,{client:p,username:d,provider:l,connection:l,isSocial:!1,ip:t.var.ip});return await f.data.codes.used(p.tenant.id,r),{user:w,client:p,loginSession:_,session_id:_.session_id,authParams:{..._.authParams,...i||{}}}}async function Up(t,e){const n=await E1(t,e);return Kt(t,{authParams:n.authParams,client:n.client,user:n.user,loginSession:n.loginSession,authStrategy:{strategy:"email",strategy_type:"passwordless"}})}const i0=o.z.object({client_id:o.z.string().optional(),client_secret:o.z.string().optional()}),o0=o.z.union([w1.extend(i0.shape),o.z.object({grant_type:o.z.literal("authorization_code"),client_id:o.z.string(),code:o.z.string(),redirect_uri:o.z.string(),code_verifier:o.z.string().min(43).max(128),organization:o.z.string().optional()}),o.z.object({grant_type:o.z.literal("authorization_code"),code:o.z.string(),redirect_uri:o.z.string().optional(),organization:o.z.string().optional(),...i0.shape}),o.z.object({grant_type:o.z.literal("refresh_token"),client_id:o.z.string().optional(),refresh_token:o.z.string(),redirect_uri:o.z.string().optional(),client_secret:o.z.string().optional()}),o.z.object({grant_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),client_id:o.z.string(),username:o.z.string(),otp:o.z.string(),realm:o.z.enum(["email","sms"])})]);function y8(t){if(!t)return{};const[e,n]=t.split(" ");if(e?.toLowerCase()==="basic"&&n){const[r,i]=atob(n).split(":");return{client_id:r,client_secret:i}}return{}}const w8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth2"],method:"post",path:"/",request:{body:{content:{"application/x-www-form-urlencoded":{schema:o0},"application/json":{schema:o0}}}},responses:{200:{content:{"application/json":{schema:zu}},description:"Tokens"},302:{description:"Redirect for further user interaction (e.g., MFA, consent).",headers:o.z.object({Location:o.z.string().url()}).openapi({})},400:{description:"Bad Request - The request was malformed or invalid.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}},401:{description:"Unauthorized - Client authentication failed.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}},403:{description:"Forbidden - User is not a member of the required organization.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}}}}),async t=>{const n=(t.req.header("Content-Type")||"").includes("application/json")?t.req.valid("json"):t.req.valid("form"),r=y8(t.req.header("Authorization")),i={...n,...r};if(!i.client_id)throw new v(400,{message:"client_id is required"});t.set("client_id",i.client_id);let s;switch(n.grant_type){case xt.AuthorizationCode:s=await Zk(t,Xk.parse(i));break;case xt.ClientCredential:s=await Jk(t,w1.parse(i));break;case xt.RefreshToken:s=await Qk(t,Yk.parse(i));break;case xt.OTP:s=await E1(t,_8.parse(i));break;default:return t.json({error:"unsupported_grant_type",error_description:"Grant type not implemented"},400)}const a=new Headers;if(s.session_id){const d=Ys(s.client.tenant.id,s.session_id,t.var.host||"");a.set("Set-Cookie",d)}let c=[];if(s.authParams.audience)try{let d;if(n.grant_type===xt.ClientCredential)d=await Qs(t,{grantType:xt.ClientCredential,tenantId:s.client.tenant.id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(" ")||[],organizationId:s.organization?.id});else{if(!s.user?.user_id)throw new L(400,{error:"invalid_request",error_description:"User ID is required for user-based grants"});d=await Qs(t,{grantType:n.grant_type,tenantId:s.client.tenant.id,userId:s.user.user_id,clientId:s.client.client_id,audience:s.authParams.audience,requestedScopes:s.authParams.scope?.split(" ")||[],organizationId:s.organization?.id})}s.authParams.scope=d.scopes.join(" "),c=d.permissions}catch(d){if(d instanceof v)throw d;console.error("Error calculating scopes and permissions:",d)}const l=await Wa(t,{...s,grantType:n.grant_type,permissions:c.length>0?c:void 0});return t.json(l,{headers:a})}),xn={TOO_SHORT:"password_too_short",MISSING_LOWERCASE:"password_missing_lowercase",MISSING_UPPERCASE:"password_missing_uppercase",MISSING_NUMBER:"password_missing_number",MISSING_SPECIAL:"password_missing_special",REUSED:"password_reused",CONTAINS_PERSONAL_INFO:"password_contains_personal_info",CONTAINS_FORBIDDEN_WORD:"password_contains_forbidden_word"};class qt extends Error{code;params;constructor(e,n,r){super(n),this.code=e,this.params=r,this.name="PasswordPolicyError"}}async function Dp(t,e){const{newPassword:n,userData:r,data:i,tenantId:s,userId:a}=e,c=t.passwordPolicy!==void 0||t.password_complexity_options!==void 0||t.password_history!==void 0||t.password_no_personal_info!==void 0||t.password_dictionary!==void 0,l=c?t.passwordPolicy:"good",d=c?t.password_complexity_options?.min_length:8;if(d&&n.length<d)throw new qt(xn.TOO_SHORT,`Password must be at least ${d} characters`,{minLength:d});if(l&&l!=="none"&&l==="good"){if(!/[a-z]/.test(n))throw new qt(xn.MISSING_LOWERCASE,"Password must contain at least one lowercase letter");if(!/[A-Z]/.test(n))throw new qt(xn.MISSING_UPPERCASE,"Password must contain at least one uppercase letter");if(!/\d/.test(n))throw new qt(xn.MISSING_NUMBER,"Password must contain at least one number");if(!/[^A-Za-z0-9]/.test(n))throw new qt(xn.MISSING_SPECIAL,"Password must contain at least one special character")}if(t.password_history?.enable){const p=t.password_history.size||5,f=await i.passwords.list(s,a,p);for(const g of f)if(await rr.compare(n,g.password))throw new qt(xn.REUSED,"Password was used recently and cannot be reused",{historySize:p})}if(t.password_no_personal_info?.enable&&r&&[r.email,r.name].filter(Boolean).join(" ").toLowerCase().includes(n.toLowerCase()))throw new qt(xn.CONTAINS_PERSONAL_INFO,"Password cannot contain personal information like your name or email");if(t.password_dictionary?.enable&&t.password_dictionary.dictionary&&t.password_dictionary.dictionary.some(p=>n.toLowerCase().includes(p.toLowerCase())))throw new qt(xn.CONTAINS_FORBIDDEN_WORD,"Password contains a forbidden word")}async function Mp(t,e,n){return(await t.connections.get(e,n))?.options||{}}async function ls(t,e){const n=await t.env.data.emailProviders.get(t.var.tenant_id)||(t.env.DEFAULT_TENANT_ID?await t.env.data.emailProviders.get(t.env.DEFAULT_TENANT_ID):null);if(!n)throw new v(500,{message:"Email provider not found"});const r=t.env.emailProviders?.[n.name];if(!r)throw new v(500,{message:"Email provider not found"});await r({emailProvider:n,...e,from:n.default_from_address||`login@${t.env.ISSUER}`})}async function C1(t,e){if(!t.var.client_id)throw new v(500,{message:"Client not found"});const n=await zi(t.env,t.var.client_id),r=n.connections.find(a=>a.strategy==="sms");if(!r)throw new v(500,{message:"SMS provider not found"});const i=r.options?.provider||"twilio",s=t.env.smsProviders?.[i];if(!s)throw new v(500,{message:"SMS provider not found"});await s({options:r.options,to:e.to,from:e.from,text:e.text,template:"auth-code",data:{code:e.code,tenantName:n.tenant.friendly_name,tenantId:n.tenant.id}})}async function N1(t,e,n,r,i){const s=await t.env.data.tenants.get(t.var.tenant_id);if(!s)throw new v(500,{message:"Tenant not found"});const a=`${De(t.env)}reset-password?state=${r}&code=${n}`,c=await t.env.data.branding.get(t.var.tenant_id),l=c?.logo_url||"",d=c?.colors?.primary||"#7d68f4",p={vendorName:s.friendly_name,lng:"en"};await ls(t,{to:e,subject:X("reset_password_title",p),html:`Click here to reset your password: ${De(t.env)}reset-password?state=${r}&code=${n}`,template:"auth-password-reset",data:{vendorName:s.friendly_name,logo:l,passwordResetUrl:a,supportUrl:s.support_url||"https://support.sesamy.com",buttonColor:d,passwordResetTitle:X("password_reset_title",p),resetPasswordEmailClickToReset:X("reset_password_email_click_to_reset",p),resetPasswordEmailReset:X("reset_password_email_reset",p),supportInfo:X("support_info",p),contactUs:X("contact_us",p),copyright:X("copyright",p),tenantName:s.friendly_name,tenantId:s.id}}),ne(t,s.id,{type:ee.SUCCESS_CHANGE_PASSWORD_REQUEST,description:e})}async function qp(t,{to:e,code:n,language:r}){const i=await t.env.data.tenants.get(t.var.tenant_id);if(!i)throw new v(500,{message:"Tenant not found"});const{connectionType:s}=Yc(e),a=await t.env.data.branding.get(t.var.tenant_id),c=a?.logo_url||"",l=a?.colors?.primary||"#7d68f4",d=new URL(De(t.env)),p={vendorName:i.friendly_name,vendorId:i.id,loginDomain:d.hostname,code:n,lng:r||"en"};s==="email"?await ls(t,{to:e,subject:X("code_email_subject",p),html:`Click here to validate your email: ${De(t.env)}validate-email`,template:"auth-code",data:{code:n,vendorName:i.friendly_name,logo:c,supportUrl:i.support_url||"",buttonColor:l,welcomeToYourAccount:X("welcome_to_your_account",p),linkEmailClickToLogin:X("link_email_click_to_login",p),linkEmailLogin:X("link_email_login",p),linkEmailOrEnterCode:X("link_email_or_enter_code",p),codeValid30Mins:X("code_valid_30_minutes",p),supportInfo:X("support_info",p),contactUs:X("contact_us",p),copyright:X("copyright",p)}}):s==="sms"&&await C1(t,{to:e,text:X("sms_code_text",p),code:n,from:i.friendly_name}),ne(t,i.id,{type:ee.CODE_LINK_SENT,description:e})}async function Fp(t,{to:e,code:n,authParams:r,language:i}){const s=await t.env.data.tenants.get(t.var.tenant_id);if(!s)throw new v(500,{message:"Tenant not found"});if(!r.redirect_uri)throw new v(400,{message:"redirect_uri is required"});const{connectionType:a}=Yc(e),c=await t.env.data.branding.get(t.var.tenant_id),l=c?.logo_url||"",d=c?.colors?.primary||"",p=new URL(ge(t.env));p.pathname="passwordless/verify_redirect",p.searchParams.set("verification_code",n),p.searchParams.set("connection",a),p.searchParams.set("client_id",r.client_id),p.searchParams.set("redirect_uri",r.redirect_uri),p.searchParams.set("email",e),r.response_type&&p.searchParams.set("response_type",r.response_type),r.scope&&p.searchParams.set("scope",r.scope),r.state&&p.searchParams.set("state",r.state),r.nonce&&p.searchParams.set("nonce",r.nonce),r.code_challenge&&p.searchParams.set("code_challenge",r.code_challenge),r.code_challenge_method&&p.searchParams.set("code_challenge_method",r.code_challenge_method),r.audience&&p.searchParams.set("audience",r.audience);const f={vendorName:s.friendly_name,code:n,lng:i||"en"};if(a==="email")await ls(t,{to:e,subject:X("code_email_subject",f),html:`Click here to validate your email: ${De(t.env)}validate-email`,template:"auth-link",data:{code:n,vendorName:s.friendly_name,logo:l,supportUrl:s.support_url||"",magicLink:p.toString(),buttonColor:d,welcomeToYourAccount:X("welcome_to_your_account",f),linkEmailClickToLogin:X("link_email_click_to_login",f),linkEmailLogin:X("link_email_login",f),linkEmailOrEnterCode:X("link_email_or_enter_code",f),codeValid30Mins:X("code_valid_30_minutes",f),supportInfo:X("support_info",f),contactUs:X("contact_us",f),copyright:X("copyright",f)}});else if(a==="sms")await C1(t,{to:e,text:`${X("link_sms_login",f)}: ${p.toString()}`,code:n,from:s.friendly_name});else throw new v(400,{message:"Only email and SMS connections are supported for magic links"});ne(t,s.id,{type:ee.CODE_LINK_SENT,description:e})}async function Hp(t,e,n){const r=await t.env.data.tenants.get(t.var.tenant_id);if(!r)throw new v(500,{message:"Tenant not found"});if(!e.email)throw new v(400,{message:"User has no email"});const i=await t.env.data.branding.get(t.var.tenant_id),s=i?.logo_url||"",a=i?.colors?.primary||"#7d68f4",c={vendorName:r.friendly_name,lng:n||"en"};await ls(t,{to:e.email,subject:X("welcome_to_your_account",c),html:`Click here to validate your email: ${De(t.env)}validate-email`,template:"auth-verify-email",data:{vendorName:r.friendly_name,logo:s,emailValidationUrl:`${De(t.env)}validate-email`,supportUrl:r.support_url||"https://support.sesamy.com",buttonColor:a,welcomeToYourAccount:X("welcome_to_your_account",c),verifyEmailVerify:X("verify_email_verify",c),supportInfo:X("support_info",c),contactUs:X("contact_us",c),copyright:X("copyright",c)}})}async function b8(t,e,n,r,i){const s=await t.env.data.tenants.get(t.var.tenant_id);if(!s)throw new v(500,{message:"Tenant not found"});const a=await t.env.data.branding.get(t.var.tenant_id),c=a?.logo_url||"",l=a?.colors?.primary||"#7d68f4",d={vendorName:s.friendly_name,lng:"en"},p=`${De(t.env)}signup?state=${r}&code=${n}`;await ls(t,{to:e,subject:X("register_password_account",d),html:`Click here to register: ${p}`,template:"auth-pre-signup-verification",data:{vendorName:s.friendly_name,logo:c,signupUrl:p,setPassword:X("set_password",d),registerPasswordAccount:X("register_password_account",d),clickToSignUpDescription:X("click_to_sign_up_description",d),supportUrl:s.support_url||"https://support.sesamy.com",buttonColor:l,welcomeToYourAccount:X("welcome_to_your_account",d),verifyEmailVerify:X("verify_email_verify",d),supportInfo:X("support_info",d),contactUs:X("contact_us",d),copyright:X("copyright",d)}})}const v8=new o.OpenAPIHono().openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/signup",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string()})}}}},responses:{200:{content:{"application/json":{schema:o.z.object({_id:o.z.string(),email:o.z.string().optional(),email_verified:o.z.boolean(),app_metadata:o.z.object({}),user_metadata:o.z.object({})})}},description:"Created user"}}}),async t=>{const{email:e,password:n,client_id:r}=t.req.valid("json"),i=await t.env.data.legacyClients.get(r);if(!i)throw new v(400,{message:"Client not found"});t.set("client_id",i.client_id),t.set("tenant_id",i.tenant.id);const a=i.connections.find(f=>f.strategy==="Username-Password-Authentication")?.name||"Username-Password-Authentication",c=await Mp(t.env.data,i.tenant.id,a);try{await Dp(c,{tenantId:i.tenant.id,userId:"",newPassword:n,data:t.env.data})}catch(f){throw new v(400,{message:f?.message||"Password does not meet the requirements"})}if(await _o({userAdapter:t.env.data.users,tenant_id:i.tenant.id,username:e,provider:"auth2"}))throw new v(400,{message:"Invalid sign up"});const d=await t.env.data.users.create(i.tenant.id,{user_id:`auth2|${Ka()}`,email:e,email_verified:!1,provider:"auth2",connection:"Username-Password-Authentication",is_social:!1});t.set("user_id",d.user_id),t.set("username",d.email),t.set("connection",d.connection);const p=await rr.hash(n,10);return await t.env.data.passwords.create(i.tenant.id,{user_id:d.user_id,password:p,algorithm:"bcrypt",is_current:!0}),await Hp(t,d),ne(t,i.tenant.id,{type:ee.SUCCESS_SIGNUP,description:"Successful signup"}),t.json({_id:d.user_id,email:d.email,email_verified:!1,app_metadata:{},user_metadata:{}})}).openapi(o.createRoute({tags:["dbconnections"],method:"post",path:"/change_password",request:{body:{content:{"application/json":{schema:o.z.object({client_id:o.z.string(),connection:o.z.literal("Username-Password-Authentication"),email:o.z.string().transform(t=>t.toLowerCase())})}}}},responses:{200:{description:"Redirect to the client's redirect uri"}}}),async t=>{const{email:e,client_id:n}=t.req.valid("json"),r=await t.env.data.legacyClients.get(n);if(!r)throw new v(400,{message:"Client not found"});if(t.set("client_id",r.client_id),t.set("tenant_id",r.tenant.id),!await pi({userAdapter:t.env.data.users,tenant_id:r.tenant.id,username:e,provider:"auth2"}))return t.html("If an account with that email exists, we've sent instructions to reset your password.");const s={client_id:n,username:e},a=await t.env.data.loginSessions.create(r.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:s,csrf_token:pe(),ip:t.get("ip"),useragent:t.get("useragent"),auth0Client:_n(t.get("auth0_client"))});return await N1(t,e,a.id,a.authParams.state),t.html("If an account with that email exists, we've sent instructions to reset your password.")});function Ln(){const t="1234567890";let e="";for(let n=0;n<6;n+=1)e+=t[Math.floor(Math.random()*10)];return e.toString()}const $8=new o.OpenAPIHono().openapi(o.createRoute({tags:["passwordless"],method:"post",path:"/start",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({connection:o.z.literal("email"),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),send:o.z.enum(["link","code"]),authParams:ho.omit({client_id:!0})}),o.z.object({client_id:o.z.string(),connection:o.z.literal("sms"),phone_number:o.z.string(),send:o.z.enum(["link","code"]),authParams:ho.omit({client_id:!0})})])}}}},responses:{200:{description:"Status"}}}),async t=>{const e=t.req.valid("json"),{env:n}=t,{client_id:r,send:i,authParams:s,connection:a}=e,c=await t.env.data.legacyClients.get(r);if(!c)throw new v(400,{message:"Client not found"});t.set("client_id",c.client_id),t.set("tenant_id",c.tenant.id);const l=a==="email"?e.email:e.phone_number,d=t.get("ip"),p=t.get("useragent"),f=t.get("auth0_client"),g=_n(f),_=await n.data.loginSessions.create(c.tenant.id,{authParams:{...s,client_id:r,username:l},expires_at:new Date(Date.now()+xs).toISOString(),csrf_token:pe(),ip:d,useragent:p,auth0Client:g}),w=await n.data.codes.create(c.tenant.id,{code_id:Ln(),code_type:"otp",login_id:_.id,expires_at:new Date(Date.now()+xs).toISOString(),redirect_uri:s.redirect_uri}),k=s?.ui_locales?.split(" ")?.map(z=>z.split("-")[0])[0];return i==="link"?await Fp(t,{to:l,code:w.code_id,authParams:{...s,client_id:r},language:k}):await qp(t,{to:l,code:w.code_id,language:k}),t.html("OK")}).openapi(o.createRoute({tags:["passwordless"],method:"get",path:"/verify_redirect",request:{query:o.z.object({scope:o.z.string(),response_type:o.z.nativeEnum(mt),redirect_uri:o.z.string(),state:o.z.string(),nonce:o.z.string().optional(),verification_code:o.z.string(),connection:o.z.string(),client_id:o.z.string(),email:o.z.string().transform(t=>t.toLowerCase()),audience:o.z.string().optional()})},responses:{302:{description:"Successful verification, redirecting to continue flow.",headers:o.z.object({Location:o.z.string().url()}).openapi({})},400:{description:"Bad Request (e.g., invalid client, invalid code, missing parameters).",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}},500:{description:"Internal Server Error.",content:{"application/json":{schema:o.z.object({error:o.z.string(),error_description:o.z.string().optional()})}}}}}),async t=>{const{env:e}=t,{client_id:n,email:r,verification_code:i,redirect_uri:s,state:a,scope:c,audience:l,response_type:d,nonce:p}=t.req.valid("query"),f=await zi(e,n);t.set("client_id",f.client_id),t.set("tenant_id",f.tenant.id),t.set("connection","email");const g={client_id:n,redirect_uri:s,state:a,nonce:p,scope:c,audience:l,response_type:d};let _="Something went wrong. Please try again later.";try{const S=await Up(t,{client_id:n,username:r,otp:i,authParams:g,enforceIpCheck:!0});if(S instanceof Response)return S;if(S&&typeof S=="object"&&"access_token"in S)return t.json(S)}catch(S){const E=S;"message"in E&&typeof E.message=="string"&&(_=E.message)}const w=t.get("ip"),k=t.get("useragent"),z=t.get("auth0_client"),N=_n(z),I=await e.data.loginSessions.create(f.tenant.id,{authParams:{...g,username:r},expires_at:new Date(Date.now()+xs).toISOString(),csrf_token:pe(),ip:w,useragent:k,auth0Client:N});return t.redirect(`${De(t.env)}invalid-session?state=${I.id}&error=${encodeURIComponent(_)}`,302)});class Tr extends v{_code;constructor(e,n){super(e,n),this._code=n?.code}get code(){return this._code}}async function k8(t,e,n){const r=n.app_metadata||{},i=r.failed_logins||[],s=Date.now(),a=[...i.filter(c=>s-c<1e3*60*5),s];r.failed_logins=a,await t.users.update(e,n.user_id,{app_metadata:r})}function x8(t){const n=(t.app_metadata||{}).failed_logins||[],r=Date.now();return n.filter(i=>r-i<1e3*60*5)}async function I1(t,e,n,r){const{data:i}=t.env,{username:s}=n;if(t.set("username",s),!s)throw new L(400,{message:"Username is required"});const a=await pi({userAdapter:t.env.data.users,tenant_id:e.tenant.id,username:s,provider:"auth2"});if(!a)throw ne(t,e.tenant.id,{type:ee.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid user"}),new Tr(403,{message:"User not found",code:"USER_NOT_FOUND"});const c=a.linked_to?await i.users.get(e.tenant.id,a.linked_to):a;if(!c)throw new Tr(403,{message:"User not found",code:"USER_NOT_FOUND"});if(t.set("connection",a.connection),t.set("user_id",c.user_id),x8(c).length>=3)throw ne(t,e.tenant.id,{type:ee.FAILED_LOGIN,description:"Too many failed login attempts"}),new Tr(403,{message:"Too many failed login attempts",code:"TOO_MANY_FAILED_LOGINS"});const d=await i.passwords.get(e.tenant.id,a.user_id);if(!(d&&await rr.compare(n.password,d.password)))throw ne(t,e.tenant.id,{type:ee.FAILED_LOGIN_INCORRECT_PASSWORD,description:"Invalid password"}),k8(i,e.tenant.id,c),new Tr(403,{message:"Invalid password",code:"INVALID_PASSWORD"});if(!a.email_verified&&e.client_metadata?.email_validation==="enforced"){const g=r?.authParams?.ui_locales?.split(" ")?.map(_=>_.split("-")[0])[0];throw await Hp(t,a,g),ne(t,e.tenant.id,{type:ee.FAILED_LOGIN,description:"Email not verified"}),new Tr(403,{message:"Email not verified",code:"EMAIL_NOT_VERIFIED"})}const f=c.app_metadata||{};return f.failed_logins&&f.failed_logins.length>0&&(f.failed_logins=[],i.users.update(e.tenant.id,c.user_id,{app_metadata:f})),{client:e,authParams:n,user:c,loginSession:r}}async function j1(t,e,n,r,i){const s=await I1(t,e,n,r);return Kt(t,{...s,ticketAuth:i,authStrategy:{strategy:"Username-Password-Authentication",strategy_type:"database"}})}async function S8(t,e,n,r){await Za(t,{client:e,username:n,provider:"auth2",connection:"Username-Password-Authentication",isSocial:!1,ip:t.var.ip});let i=Ln(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");for(;s;)i=Ln(),s=await t.env.data.codes.get(e.tenant.id,i,"password_reset");const a=t.get("ip"),c=t.get("useragent"),l=t.get("auth0_client"),d=_n(l),p=await t.env.data.loginSessions.create(e.tenant.id,{expires_at:new Date(Date.now()+Qb).toISOString(),authParams:{client_id:e.client_id,username:n},csrf_token:pe(),ip:a,useragent:c,auth0Client:d}),f=await t.env.data.codes.create(e.tenant.id,{code_id:i,code_type:"password_reset",login_id:p.id,expires_at:new Date(Date.now()+Yb).toISOString()});await N1(t,n,f.code_id,r)}const z8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"post",path:"/",request:{body:{content:{"application/json":{schema:o.z.union([o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/passwordless/otp"),otp:o.z.string(),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),realm:o.z.enum(["email"]),scope:o.z.string().optional()}),o.z.object({credential_type:o.z.literal("http://auth0.com/oauth/grant-type/password-realm"),client_id:o.z.string(),username:o.z.string().transform(t=>t.toLowerCase()),password:o.z.string(),realm:o.z.enum(["Username-Password-Authentication"]),scope:o.z.string().optional()})])}}}},responses:{200:{description:"List of tenants"}}}),async t=>{const e=t.req.valid("json"),{client_id:n,username:r}=e;t.set("username",r);const i=await t.env.data.legacyClients.get(n);if(!i)throw new v(400,{message:"Client not found"});t.set("client_id",n),t.set("tenant_id",i.tenant.id);const s=r.toLocaleLowerCase(),a=t.get("ip"),c=t.get("useragent"),l=t.get("auth0_client");let d;if("otp"in e)d=await Up(t,{client_id:n,username:s,otp:e.otp});else if("password"in e){const p=await t.env.data.loginSessions.create(i.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:{client_id:n,username:s},csrf_token:pe(),ip:a,useragent:c,auth0Client:_n(l)});d=await j1(t,i,{username:s,password:e.password,client_id:n},p,!0)}else throw new v(400,{message:"Code or password required"});if(!(d instanceof Response))throw new v(500,{message:"Unexpected response from loginWithPassword"});return d});function O1(t,e){if(!t||e.length===0)return!1;const n=kl(t)?.host??null;if(!n)return!1;for(const r of e){let i;if(r.startsWith("http://")||r.startsWith("https://")?i=kl(r)?.host??null:i=kl("https://"+r)?.host??null,n===i)return!0}return!1}function kl(t){try{return new URL(t)}catch{return null}}async function A8({ctx:t,session:e,client:n,authParams:r,connection:i,login_hint:s}){const a=new URL(t.req.url);t.var.custom_domain&&(a.hostname=t.var.custom_domain);const{ip:c,auth0_client:l,useragent:d}=t.var,p=_n(l),f=await t.env.data.loginSessions.create(n.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:r,csrf_token:pe(),authorization_url:a.toString(),ip:c,useragent:d,auth0Client:p});if(e&&s){const g=await t.env.data.users.get(n.tenant.id,e.user_id);if(g?.email===s)return await t.env.data.loginSessions.update(n.tenant.id,f.id,{session_id:e.id}),Kt(t,{client:n,loginSession:{...f,session_id:e.id},authParams:r,user:g,sessionId:e.id})}if(i==="email"&&s){const g=Ln();return await t.env.data.codes.create(n.tenant.id,{code_id:g,code_type:"otp",login_id:f.id,expires_at:new Date(Date.now()+ir*1e3).toISOString(),redirect_uri:r.redirect_uri}),await Fp(t,{code:g,to:s,authParams:r}),t.redirect(`/u/enter-code?state=${f.id}`)}return e?t.redirect(`/u/check-account?state=${f.id}`):t.redirect(`/u/login/identifier?state=${f.id}`)}function E8(t){if(t==="Username-Password-Authentication")return"auth2";if(t==="email")return"email";throw new L(403,{message:"Invalid realm"})}async function C8(t,e,n,r,i){const{env:s}=t;t.set("connection",i);const a=await s.data.codes.get(e,n,"ticket");if(!a||a.used_at)throw new L(403,{message:"Ticket not found"});const c=await s.data.loginSessions.get(e,a.login_id);if(!c||!c.authParams.username)throw new L(403,{message:"Session not found"});const l=await s.data.legacyClients.get(c.authParams.client_id);if(!l)throw new L(403,{message:"Client not found"});t.set("client_id",c.authParams.client_id),await s.data.codes.used(e,n);const d=E8(i),f=l.connections.find(k=>k.name===i)?.strategy||(d==="auth2"?"Username-Password-Authentication":"email"),g=f==="Username-Password-Authentication"?"database":"passwordless";let _=await Za(t,{username:c.authParams.username,provider:d,client:l,connection:i,isSocial:!1,ip:t.var.ip});t.set("username",_.email||_.phone_number),t.set("user_id",_.user_id);const w=await n_(t,{user:_,client:l,loginSession:c});return Kt(t,{authParams:{scope:c.authParams?.scope,...r},loginSession:c,sessionId:w.id,user:_,client:l,authStrategy:{strategy:f,strategy_type:g}})}async function N8({ctx:t,client:e,session:n,redirect_uri:r,state:i,nonce:s,code_challenge_method:a,code_challenge:c,audience:l,scope:d,response_type:p,organization:f}){const{env:g}=t,_=new URL(r),w=`${_.protocol}//${_.host}`;async function k(W="Login required"){return ne(t,e.tenant.id,{type:ee.FAILED_SILENT_AUTH,description:W}),t.html(Ul(w,JSON.stringify({error:"login_required",error_description:W,state:i})))}if(!n||n?.expires_at&&new Date(n.expires_at)<new Date||n?.idle_expires_at&&new Date(n.idle_expires_at)<new Date)return k();t.set("user_id",n.user_id);const N=await g.data.users.get(e.tenant.id,n.user_id);if(!N)return console.error("User not found",n.user_id),k("User not found");t.set("username",N.email),t.set("connection",N.connection);const I=await g.data.loginSessions.create(e.tenant.id,{csrf_token:pe(),authParams:{client_id:e.client_id,audience:l,scope:d,state:i,nonce:s,response_type:p,redirect_uri:r,organization:f},expires_at:new Date(Date.now()+300*1e3).toISOString(),session_id:n.id,ip:t.var.ip,useragent:t.var.useragent}),S={client:e,authParams:{client_id:e.client_id,audience:l,code_challenge_method:a,code_challenge:c,scope:d,state:i,nonce:s,response_type:p,redirect_uri:r},user:N,session_id:n.id},E=p===mt.CODE?await e_(t,{user:N,client:e,authParams:S.authParams,login_id:I.id}):await Wa(t,S);await g.data.sessions.update(e.tenant.id,n.id,{used_at:new Date().toISOString(),last_interaction_at:new Date().toISOString(),login_session_id:I.id,device:{...n.device,last_ip:t.var.ip||"",last_user_agent:t.var.useragent||""},idle_expires_at:n.idle_expires_at?new Date(Date.now()+Ga*1e3).toISOString():void 0}),ne(t,e.tenant.id,{type:ee.SUCCESS_SILENT_AUTH,description:"Successful silent authentication"});const O=new Headers;O.set("Server-Timing","cf-nel=0; no-cloudflare-insights=1");const K=Ys(e.tenant.id,n.id,t.req.header("host"));return O.set("set-cookie",K),t.html(Ul(w,JSON.stringify({...E,state:i})),{headers:O})}const I8=["email","sms","Username-Password-Authentication"],j8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),vendor_id:o.z.string().optional(),redirect_uri:o.z.string(),scope:o.z.string().optional(),state:o.z.string(),prompt:o.z.string().optional(),response_mode:o.z.nativeEnum(Ht).optional(),response_type:o.z.nativeEnum(mt).optional(),audience:o.z.string().optional(),connection:o.z.string().optional(),nonce:o.z.string().optional(),max_age:o.z.string().optional(),login_ticket:o.z.string().optional(),code_challenge_method:o.z.nativeEnum(Fa).optional(),code_challenge:o.z.string().optional(),realm:o.z.string().optional(),auth0Client:o.z.string().optional(),organization:o.z.string().optional(),login_hint:o.z.string().optional(),screen_hint:o.z.string().openapi({example:"signup",description:'Optional hint for the screen to show, like "signup" or "login".'}).optional(),ui_locales:o.z.string().optional()})},responses:{200:{description:"Successful authorization response. This can be an HTML page (e.g., for silent authentication iframe or universal login page) or a JSON object containing tokens (e.g., for response_mode=web_message).",content:{"text/html":{schema:o.z.string().openapi({example:"<html>...</html>"})},"application/json":{schema:zu}}},302:{description:"Redirect to the client's redirect URI, an authentication page, or an external identity provider.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request. Invalid parameters or other client-side errors.",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}},403:{description:"Forbidden. The request is not allowed (e.g., invalid origin).",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{env:e}=t,{client_id:n,vendor_id:r,redirect_uri:i,scope:s,state:a,audience:c,nonce:l,connection:d,response_type:p,response_mode:f,code_challenge:g,code_challenge_method:_,prompt:w,login_ticket:k,realm:z,auth0Client:N,login_hint:I,ui_locales:S,organization:E}=t.req.valid("query");t.set("log","authorize");const O=await zi(e,n);t.set("client_id",O.client_id),t.set("tenant_id",O.tenant.id);const K={redirect_uri:i.split("#")[0],scope:s,state:a,client_id:n,vendor_id:r,audience:c,nonce:l,prompt:w,response_type:p,response_mode:f,code_challenge:g,code_challenge_method:_,username:I,ui_locales:S,organization:E},W=t.req.header("origin");if(W&&!O1(W,O.web_origins||[]))throw new v(403,{message:`Origin ${W} not allowed`});if(K.redirect_uri){const fe=O.callbacks||[];if(t.var.host&&(fe.push(`${ec(t.env)}/*`),fe.push(`${De(t.env)}/*`)),!Ip(K.redirect_uri,fe,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new v(400,{message:`Invalid redirect URI - ${K.redirect_uri}`})}const ie=Wr(O.tenant.id,t.req.header("cookie")),F=ie?await e.data.sessions.get(O.tenant.id,ie):void 0,se=F&&!F.revoked_at?F:void 0;if(w=="none"){if(!p)throw new v(400,{message:"Missing response_type"});return N8({ctx:t,session:se||void 0,redirect_uri:i,state:a,response_type:p,client:O,nonce:l,code_challenge_method:_,code_challenge:g,audience:c,scope:s,organization:E})}if(O.connections.length===1&&O.connections[0]&&!I8.includes(O.connections[0].strategy||""))return Ig(t,O,O.connections[0].name,K);if(d&&d!=="email")return Ig(t,O,d,K);if(k){const fe=await C8(t,O.tenant.id,k,K,z);return fe instanceof Response?fe:t.json(fe)}const ce=await A8({ctx:t,client:O,authParams:K,session:se||void 0,connection:d,login_hint:I});return ce instanceof Response?ce:t.json(ce)}),O8=new o.OpenAPIHono().openapi(o.createRoute({tags:["oauth"],method:"get",path:"/",request:{query:o.z.object({client_id:o.z.string(),redirect_url:o.z.string().optional(),login_hint:o.z.string().toLowerCase().optional(),screen_hint:o.z.enum(["account","change-email","change-phone","change-password"]).optional().default("account")})},responses:{302:{description:"Redirect to the account page with login session state or login page",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request. Invalid parameters or other client-side errors.",content:{"application/json":{schema:o.z.object({message:o.z.string()})}}}}}),async t=>{const{env:e}=t,{client_id:n,redirect_url:r,login_hint:i,screen_hint:s}=t.req.valid("query");t.set("log","account");const a=await zi(e,n);t.set("client_id",a.client_id),t.set("tenant_id",a.tenant.id);const c={redirect_uri:r||t.req.url,client_id:n,username:i},l=t.req.header("origin");if(l&&!O1(l,a.web_origins||[]))throw new v(403,{message:`Origin ${l} not allowed`});if(c.redirect_uri){const I=a.callbacks||[];if(t.var.host&&(I.push(`${ec(t.env)}/*`),I.push(`${De(t.env)}/*`)),!Ip(c.redirect_uri,I,{allowPathWildcards:!0,allowSubDomainWildcards:!0}))throw new v(400,{message:`Invalid redirect URI - ${c.redirect_uri}`})}const d=Wr(a.tenant.id,t.req.header("cookie")),p=d?await e.data.sessions.get(a.tenant.id,d):void 0,f=p&&!p.revoked_at?p:void 0,g=new URL(t.req.url);t.var.custom_domain&&(g.hostname=t.var.custom_domain);const{ip:_,auth0_client:w,useragent:k}=t.var,z=_n(w),N=await e.data.loginSessions.create(a.tenant.id,{expires_at:new Date(Date.now()+ir*1e3).toISOString(),authParams:c,csrf_token:pe(),authorization_url:g.toString(),ip:_,useragent:k,auth0Client:z});if(f){if(i&&(await e.data.users.get(a.tenant.id,f.user_id))?.email!==i)return t.redirect(`${De(t.env)}login/identifier?state=${encodeURIComponent(N.id)}`);if(await e.data.loginSessions.update(a.tenant.id,N.id,{session_id:f.id}),s==="change-email"){const S=new URL("/u/account/change-email",t.req.url);return S.searchParams.set("state",N.id),t.redirect(S.toString())}const I=new URL("/u/account",t.req.url);return I.searchParams.set("state",N.id),t.redirect(I.toString())}return t.redirect(`${De(t.env)}login/identifier?state=${encodeURIComponent(N.id)}`)});function P8(t){const e=new o.OpenAPIHono;e.use(async(r,i)=>{const s=Do(r,t.dataAdapter),a=t.dataAdapter.cache||cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),c=t.dataAdapter.cache?300:0,l=Jc(s,{defaultTtl:c,cacheEntities:["tenants","connections","customDomains","clients","legacyClients","branding","themes","promptSettings","forms","resourceServers","roles","organizations","userRoles","userPermissions"],cache:a});return r.env.data=Kc(r,l),i()}),e.use("/oauth/token",P0({origin:r=>r||"",allowHeaders:["Tenant-Id","Content-Type","Auth0-Client","Upgrade-Insecure-Requests"],allowMethods:["POST"],maxAge:600})),e.use(Wc).use(Gc).use(Cp(e));const n=e.route("/v2/logout",Kk).route("/userinfo",Gk).route("/.well-known",Wk).route("/oauth/token",w8).route("/dbconnections",v8).route("/passwordless",$8).route("/co/authenticate",z8).route("/authorize",j8).route("/account",O8).route("/callback",Hk);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Oauth API"},security:[{oauth2:["openid","email","profile"]}]}),Ep(n),n}async function ue(t,e,n=!1){const{env:r}=t,i=await r.data.loginSessions.get(t.var.tenant_id||"",e);if(!i)throw new L(400,{message:"Login session not found"});t.set("loginSession",i);const s=await zi(r,i.authParams.client_id);t.set("client_id",s.client_id),t.set("tenant_id",s.tenant.id);let a;try{a=G$(t,"auth_ui_style")}catch{a=void 0}let c=!1;t.req?.url&&(c=(new URL(t.req.url).searchParams.get("style")||a||"classic")==="shadcn");const l=await r.data.tenants.get(s.tenant.id);if(l){if(i.session_id&&!n){if(!i.authParams.redirect_uri)throw new L(400,{message:"Login session closed and no redirect URI available"});const g=new URL(i.authParams.redirect_uri);throw g.searchParams.set("error","access_denied"),g.searchParams.set("error_description","Login session closed"),i.authParams.state&&g.searchParams.set("state",i.authParams.state),new br(g.toString(),302)}}else throw new L(400,{message:"Tenant not found"});const d=await r.data.themes.get(l.id,"default"),p=await r.data.branding.get(l.id),f=i.authParams?.ui_locales?.split(" ")?.map(g=>g.split("-")[0])?.find(g=>{if(Array.isArray(y.options.supportedLngs))return y.options.supportedLngs.includes(g)});return await y.changeLanguage(f||"en"),{theme:d,branding:p,client:s,tenant:l,loginSession:i,useShadcn:c}}async function vr(t,e){const{theme:n,branding:r,client:i,tenant:s,loginSession:a,useShadcn:c}=await ue(t,e,!0),l=Wr(i.tenant.id,t.req.header("cookie")),d=l?await t.env.data.sessions.get(i.tenant.id,l):null;if(!d||!a.session_id)throw new br(`/u/login/identifier?state=${encodeURIComponent(e)}`);const p=await t.env.data.sessions.get(i.tenant.id,a.session_id),f=await t.env.data.users.get(i.tenant.id,d.user_id);if(!f||p?.user_id!==d.user_id)throw new br(`/u/login/identifier?state=${encodeURIComponent(e)}`);return{theme:n,branding:r,client:i,user:f,tenant:s,loginSession:a,session:p,useShadcn:c}}async function T8(t,e,n,r){if(r!==void 0)return r==="password";const i=await ju({userAdapter:t.env.data.users,tenant_id:e.tenant.id,email:n});return i?.app_metadata.strategy?i.app_metadata.strategy==="Username-Password-Authentication":(await t.env.data.promptSettings.get(e.tenant.id)).password_first}var xl={exports:{}};var s0;function R8(){return s0||(s0=1,(function(t){(function(){var e={}.hasOwnProperty;function n(){for(var s="",a=0;a<arguments.length;a++){var c=arguments[a];c&&(s=i(s,r(c)))}return s}function r(s){if(typeof s=="string"||typeof s=="number")return s;if(typeof s!="object")return"";if(Array.isArray(s))return n.apply(null,s);if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]"))return s.toString();var a="";for(var c in s)e.call(s,c)&&s[c]&&(a=i(a,c));return a}function i(s,a){return a?s?s+" "+a:s+a:s}t.exports?(n.default=n,t.exports=n):window.classNames=n})()})(xl)),xl.exports}var B8=R8();const Y=$3(B8),Qt=({children:t,className:e,style:n})=>u("div",{className:Y("rounded-lg border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-800",e),style:n,children:t}),en=({children:t,className:e})=>u("div",{className:Y("flex flex-col space-y-1.5 p-6",e),children:t}),tn=({children:t,className:e,style:n})=>u("h3",{className:Y("text-2xl font-semibold leading-none tracking-tight",e),style:n,children:t}),nn=({children:t,className:e,style:n})=>u("p",{className:Y("text-sm text-gray-500 dark:text-gray-400",e),style:n,children:t}),rn=({children:t,className:e})=>u("div",{className:Y("p-6 pt-0",e),children:t}),P1=({children:t,className:e})=>u("div",{className:Y("flex items-center p-6 pt-0",e),children:t}),jt=({id:t,type:e="text",name:n,placeholder:r,className:i,required:s=!1,value:a,disabled:c=!1,error:l=!1,style:d})=>u("input",{id:t,type:e,name:n,placeholder:r,required:s,value:a,disabled:c,className:Y("flex h-10 w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm ring-offset-white transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-gray-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-600 dark:bg-gray-800 dark:ring-offset-gray-900 dark:placeholder:text-gray-400",l&&"border-red-500 focus-visible:ring-red-500",i),style:d}),Wt=({children:t,className:e,variant:n="default",size:r="default",type:i="button",disabled:s=!1,style:a})=>{const c={default:"bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-700 dark:hover:bg-blue-800",outline:"border border-gray-300 bg-transparent hover:bg-gray-100 dark:border-gray-600 dark:hover:bg-gray-800",ghost:"hover:bg-gray-100 dark:hover:bg-gray-800"},l={default:"h-10 px-4 py-2",sm:"h-9 px-3 text-sm",lg:"h-11 px-8"};return u("button",{type:i,disabled:s,className:Y("inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 disabled:pointer-events-none disabled:opacity-50",c[n],l[r],e),style:a,children:t})},_t=({htmlFor:t,className:e,style:n,children:r})=>u("label",{for:t,className:Y("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",e),style:n,children:r}),Be=({children:t,className:e})=>u("div",{className:Y("mb-2 text-sm text-red",e),children:t}),Tt=({theme:t,branding:e})=>{const n=t?.widget?.logo_url||e?.logo_url;return n?u("div",{className:"inline-flex h-9 items-center",children:u("img",{src:n,className:"h-full w-auto",alt:"Logo"})}):u(Ya,{})},js=({error:t,theme:e,branding:n,loginSession:r,email:i,client:s,className:a,isEmbedded:c,browserName:l})=>{const d=s.connections.map(({strategy:ye})=>ye),p=d.includes("email")||d.includes("Username-Password-Authentication"),f=d.includes("sms"),g=d.map(ye=>{const zr=Uu[ye];return zr?{name:ye,...zr}:null}).filter(ye=>ye!==null).filter(ye=>!(c&&ye.disableEmbeddedBrowsers)),_=p&&f?"email_or_phone_placeholder":p?"email_placeholder":"phone_placeholder",w=y.t(_,p&&f?"Email or Phone Number":p?"Email Address":"Phone Number"),k=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",z=e?.colors?.primary_button_label||"#ffffff",N=e?.colors?.body_text||"#333333",I=e?.colors?.input_background||"#ffffff",S=e?.colors?.input_border||"#d1d5db",E=e?.colors?.input_filled_text||"#111827",O=e?.colors?.error||"#dc2626",K=e?.colors?.widget_background||"#ffffff",W=e?.colors?.widget_border||"#e5e7eb",ie=e?.borders?.widget_corner_radius||8,F=e?.borders?.input_border_radius||4,se=e?.borders?.button_border_radius||4,ce=e?.borders?.show_widget_shadow??!0,fe=e?.fonts?.title?.size||24,$e=e?.fonts?.title?.bold??!0,_e=e?.fonts?.body_text?.size||14,on={backgroundColor:K,borderColor:W,borderRadius:`${ie}px`,boxShadow:ce?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:N},He={fontSize:`${fe}px`,fontWeight:$e?"700":"400",color:e?.colors?.header||N},Ze={fontSize:`${_e}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},Bt={backgroundColor:I,borderColor:t?O:S,borderRadius:`${F}px`,color:E},sn={backgroundColor:k,color:z,borderRadius:`${se}px`},an=e?.widget?.logo_position||"center",Pe=an==="left"?"text-left":an==="right"?"text-right":"text-center",ht=e?.widget?.logo_url||n?.logo_url,G=an!=="none"&&ht;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",a),children:[u("div",{id:"incognito-warning-container",className:"mb-4 hidden rounded-md border border-yellow-200 bg-yellow-50 p-4 text-sm text-yellow-800 dark:border-yellow-900 dark:bg-yellow-900/20 dark:text-yellow-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("incognito_mode_detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("incognito_mode_warning")})]})]})}),c&&u("div",{className:"mb-4 rounded-md border border-orange-200 bg-orange-50 p-4 text-sm text-orange-800 dark:border-orange-900 dark:bg-orange-900/20 dark:text-orange-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("embedded_browser_detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("embedded_browser_warning",{browserName:l||"the app"})})]})]})}),u(Qt,{style:on,className:"border",children:[u(en,{children:[G&&u("div",{className:Y("mb-4",Pe),children:u(Tt,{theme:e,branding:n})}),u(tn,{style:He,children:y.t("welcome","Login")}),u(nn,{style:Ze,children:y.t("login_description_template",{authMethod:y.t(_,{defaultValue:p&&f?"email or phone number":p?"email address":"phone number"}).toLocaleLowerCase(),defaultValue:"Enter your {{authMethod}} below to login to your account"})})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-6",children:[u("div",{className:"grid gap-2",children:[u(_t,{htmlFor:"username",style:Ze,children:y.t(_,p&&f?"Email or Phone Number":p?"Email":"Phone Number")}),u(jt,{id:"username",name:"username",type:"text",placeholder:w,required:!0,value:i||"",error:!!t,className:"border",style:Bt}),t&&u(Be,{children:t})]}),u(Wt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:sn,children:y.t("continue","Continue")}),g.length>0&&u(Ya,{children:[u("div",{className:"relative text-center",style:{color:e?.colors?.input_labels_placeholders||"#6b7280",fontSize:`${_e}px`},children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b",style:{borderColor:W}}),u("div",{className:"relative inline-block px-2",style:{backgroundColor:K},children:y.t("or","Or")})]}),u("div",{className:"flex gap-4 sm:flex-col short:flex-row",children:g.map(ye=>{const zr=ye.logo;return u("a",{href:`/authorize/redirect?state=${r.id}&connection=${ye.name}`,className:"inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 disabled:pointer-events-none disabled:opacity-50 border bg-transparent hover:bg-gray-100 dark:hover:bg-gray-800 h-10 px-4 py-2 w-full sm:w-full short:flex-1",style:{borderColor:S,borderRadius:`${se}px`,color:N},children:[u(zr,{className:"h-5 w-5"}),u("span",{className:"sm:inline short:hidden",children:y.t("continue_with","Login with {{provider}}",{provider:ye.displayName})}),u("span",{className:"hidden short:inline",children:ye.displayName})]},ye.name)})})]})]})})})]})]})},T1=t=>u("div",{className:"mt-8",children:t.client?.client_metadata?.termsAndConditionsUrl&&u("div",{className:"text-xs text-gray-300",children:[y.t("agree_to")," ",u("a",{href:t.client.client_metadata.termsAndConditionsUrl,className:"text-primary hover:underline",target:"_blank",rel:"noreferrer",children:y.t("terms")})]})}),L8=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",Ne=({name:t,size:e,className:n=""})=>{const r=L8(e);return u("span",{className:Y(`uicon-${t}`,n,r)})},U8=(t,e)=>{const n=t.replace("#",""),r=parseInt(n,16),i=r>>16&255,s=r>>8&255,a=r&255,c=Math.min(255,Math.round(i+(255-i)*e)),l=Math.min(255,Math.round(s+(255-s)*e)),d=Math.min(255,Math.round(a+(255-a)*e));return`#${(c<<16|l<<8|d).toString(16).padStart(6,"0")}`},D8=(t,e)=>{const n=t?.colors?.primary_button||e?.colors?.primary||"#000000",r=t?.colors?.base_hover_color||U8(n,.2),i=t?.colors?.primary_button_label||"#ffffff";return`
87
87
  body {
88
88
  --primary-color: ${n};
89
89
  --primary-hover: ${r};
90
90
  --text-on-primary: ${i};
91
91
  }
92
- `},M8="https://assets.sesamy.com/images/login-bg.jpg",Se=({title:t,children:e,theme:n,branding:r,client:i})=>{const s={backgroundImage:`url(${n?.page_background?.background_image_url||M8})`};return u("html",{lang:y.language||"en",children:[u("head",{children:[u("title",{children:t}),u("meta",{charset:"UTF-8"}),u("meta",{name:"robots",content:"noindex, follow"}),u("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),u("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),u("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),u("link",{rel:"stylesheet",href:"/u/css/tailwind.css"}),u("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"}),u("style",{children:D8(n,r)}),u("meta",{name:"theme-color",content:"#000000"})]}),u("body",{children:[u("div",{className:"row min-h-full w-full overflow-hidden bg-cover bg-center text-sm sm:bg-fixed sm:bg-left-top sm:pt-16 py-2",style:s,children:u("div",{className:"row-up-left w-[calc(100%-theme(space.2)-theme(space.2))] max-w-[1295px] !flex-nowrap sm:w-[calc(100%-theme(space.16)-theme(space.16))]",children:u("div",{className:"column-left w-full sm:w-auto",children:[u("div",{className:"relative flex w-full flex-col rounded-2xl bg-white px-5 py-10 dark:bg-gray-800 dark:text-white sm:min-h-[700px] sm:max-w-md sm:px-14 sm:py-14 md:min-w-[448px] short:min-h-[558px] min-h-[calc(100vh-83px)]",children:[u("div",{className:"mb-16",children:u(Rt,{theme:n,branding:r})}),u("div",{className:"flex flex-1 flex-col",children:[e,u(T1,{theme:n,branding:r,client:i})]})]}),u("div",{className:"flex w-full items-center px-6 pb-8 pt-4 justify-between",children:[u("div",{className:"flex justify-center leading-[0]",children:u("a",{href:"https://sesamy.com",target:"_blank",rel:"noreferrer",children:u(Ne,{name:"sesamy",className:"text-xl text-white"})})}),u("div",{className:"flex justify-center space-x-2 text-xs text-white sm:justify-normal md:text-xs"})]})]})})}),u("div",{id:"client-root"})]}),u("script",{type:"module",src:"/u/js/client.js"})]})},q8=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",R1=({size:t})=>{const e=q8(t);return u("div",{className:"relative inline-block leading-[0]",children:[u(Ne,{className:Y("text-gray-200 dark:text-[#201a41]",{[e]:e}),name:"spinner-circle"}),u(Ne,{className:Y("absolute inset-0 animate-spin text-primary",{[e]:e}),name:"spinner-inner"})]})},xe=({children:t,className:e,Component:n="button",variant:r="primary",href:i,disabled:s,isLoading:a,id:c})=>{const l=n==="a"?{href:i}:{};return u(n,{class:Y("btn relative w-full rounded-lg text-center",{"px-4 py-5":r!=="custom","bg-primary text-textOnPrimary hover:bg-primaryHover":r==="primary","border border-gray-300 bg-white text-black":r==="secondary","pointer-events-none cursor-not-allowed opacity-40":s,"is-loading":a},"focus:outline-none focus:ring",e),type:"submit",disabled:s,id:c,...l,children:[u("span",{className:"btn-label flex items-center justify-center space-x-2",children:t}),u("div",{className:"btn-spinner absolute left-0 top-0 flex h-full w-full items-center justify-center",children:u(R1,{size:"medium"})})]})},B1=({connection:t,text:e,icon:n=null,canResize:r=!1,loginSession:i})=>{const s=new URLSearchParams({client_id:i.authParams.client_id,connection:t});i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.redirect_uri&&s.set("redirect_uri",i.authParams.redirect_uri),i.authParams.scope&&s.set("scope",i.authParams.scope),i.authParams.nonce&&s.set("nonce",i.authParams.nonce),i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.state&&s.set("state",i.id);const a=`/authorize?${s.toString()}`;return u(xe,{className:Y("border border-gray-200 bg-white hover:bg-gray-100 dark:border-gray-400 dark:bg-black dark:hover:bg-black/90",{"px-0 py-3 sm:px-10 sm:py-4 short:px-0 short:py-3":r,"px-10 py-3":!r}),variant:"custom","aria-label":e,Component:"a",href:a,children:[n||"",u("div",{className:Y("text-left text-black dark:text-white sm:text-base",{"hidden sm:inline short:hidden":r}),children:e})]})},Bt=({children:t,className:e})=>u("form",{id:"form",method:"post",className:e,children:t}),Os=({error:t,theme:e,branding:n,loginSession:r,email:i,client:s,isEmbedded:a,browserName:c})=>{const l=s.connections.map(({strategy:S})=>S),d=l.includes("email")||l.includes("Username-Password-Authentication"),p=l.includes("sms"),f=new Set(["email","sms","Username-Password-Authentication","auth0"]),g=s.connections.filter(S=>!f.has(S.strategy)).filter(S=>S.show_as_button!==!1).map(S=>{const C=Uu[S.strategy];return C?{...C,connectionName:S.name,displayName:S.display_name||C.displayName||S.name,iconUrl:S.options.icon_url}:null}).filter(S=>S!==null).filter(S=>!(a&&S.disableEmbeddedBrowsers)),_=d||p;let w="text",k="username";const z=d&&p?"email_or_phone_placeholder":d?"email_placeholder":"phone_placeholder";let I=y.t(z,d&&p?"Email or Phone Number":d?"Email Address":"Phone Number");return u(Se,{title:y.t("welcome"),theme:e,branding:n,client:s,children:[u("div",{id:"incognito-warning-container",className:"mb-4 hidden rounded-md border border-yellow-200 bg-yellow-50 p-4 text-sm text-yellow-800 dark:border-yellow-900 dark:bg-yellow-900/20 dark:text-yellow-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("incognito_mode_detected","Incognito Mode Detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("incognito_mode_warning","You are in incognito/private mode. Session data may not persist across page refreshes. Some features might not work as expected.")})]})]})}),a&&u("div",{className:"mb-4 rounded-md border border-orange-200 bg-orange-50 p-4 text-sm text-orange-800 dark:border-orange-900 dark:bg-orange-900/20 dark:text-orange-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("embedded_browser_detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("embedded_browser_warning",{browserName:c||"app"})})]})]})}),u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("welcome")}),u("div",{className:"mb-8 text-gray-300",children:y.t("login_description_template",{authMethod:y.t(z,{defaultValue:d&&p?"email or phone number":d?"email address":"phone number"}).toLocaleLowerCase(),defaultValue:"Sign in with your {{authMethod}}"})}),u("div",{className:"flex flex-1 flex-col justify-center",children:[_&&u(Bt,{className:"mb-7",children:[u("input",{type:w,name:k,placeholder:I,className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:i||""}),t&&u(Be,{children:t}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]}),_&&g.length>0&&u("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),u("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:y.t("continue_social_login")})]}),u("div",{className:"flex space-x-4 sm:flex-col sm:space-x-0 sm:space-y-4 short:flex-row short:space-x-4 short:space-y-0",children:g.map(S=>{const C=S.logo;return u(B1,{connection:S.connectionName,text:y.t("continue_with",{provider:S.displayName}),canResize:!0,icon:u(C,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0",iconUrl:S.iconUrl}),loginSession:r},S.connectionName)})})]})]})},F8="https://assets.sesamy.com/images/login-bg.jpg",be=({title:t,children:e,theme:n,branding:r})=>{const i=n?.page_background?.page_layout||"center",s=n?.page_background?.background_color||"#ffffff",a=n?.page_background?.background_image_url,c=a??F8,l=c?.startsWith("linear-gradient")||c?.startsWith("radial-gradient")||c?.startsWith("conic-gradient"),d=c?l?c:`url(${c})`:void 0;let p="justify-center",f="p-6 md:p-10";i==="left"?(p="justify-start",f="pl-12 pr-6 py-6 md:pl-20 md:pr-10 md:py-10"):i==="right"&&(p="justify-end",f="pr-12 pl-6 py-6 md:pr-20 md:pl-10 md:py-10");const g=Y("min-h-screen w-full flex bg-cover bg-center",p,f),_={...d&&{backgroundImage:d},backgroundColor:s,display:"flex",alignItems:"stretch",justifyContent:i==="left"?"flex-start":i==="right"?"flex-end":"center",minHeight:"100vh",width:"100%"},w=Y("w-full max-w-sm","flex flex-col justify-center");return u("html",{lang:y.language||"en",children:[u("head",{children:[u("title",{children:t}),u("meta",{charset:"UTF-8"}),u("meta",{name:"robots",content:"noindex, follow"}),u("link",{rel:"stylesheet",href:"/u/css/tailwind.css"}),u("link",{rel:"stylesheet",href:"/u/css/shadcn-ui.css"}),u("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"}),u("meta",{name:"theme-color",content:"#000000"}),r?.favicon_url&&u("link",{rel:"icon",type:"image/x-icon",href:r.favicon_url}),n?.fonts?.font_url&&u("link",{rel:"stylesheet",href:n.fonts.font_url})]}),u("body",{children:[u("div",{className:g,style:_,children:u("div",{className:w,children:[e,r?.powered_by_logo_url&&u("div",{className:"mt-5 text-left",children:u("a",{href:"https://authhero.com",target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:u("img",{src:r.powered_by_logo_url,alt:"Powered by",className:"h-9 opacity-60 hover:opacity-100 transition-opacity"})})})]})}),u("div",{id:"client-root"}),u("script",{type:"module",src:"/u/js/client.js"})]})]})};class H8{parse(e){const n=this.detectEmbedded(e);return{browser:n.browser,isEmbedded:n.isEmbedded}}detectEmbedded(e){const n=[[/wv\)/i,"WebView"],[/GSA\//i,"Google Search App"],[/FBAN\//i,"Facebook"],[/FBAV\//i,"Facebook"],[/Instagram/i,"Instagram"],[/Snapchat/i,"Snapchat"],[/TikTok/i,"TikTok"],[/Twitter/i,"Twitter/X"],[/LinkedIn/i,"LinkedIn"],[/UC Browser/i,"UC Browser"],[/SamsungBrowser/i,"Samsung Internet"],[/Electron/i,"Electron"],[/Tauri/i,"Tauri"]];for(const[r,i]of n)if(r.test(e))return{isEmbedded:!0,browser:{name:i}};return{isEmbedded:!1}}}function a0(t){const n=new H8().parse(t);return{isEmbedded:n.isEmbedded??!1,browserName:n.browser?.name}}const V8=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:o.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,loginSession:i,client:s,useShadcn:a}=await ue(t,e),c=t.req.header("user-agent")||"",{isEmbedded:l,browserName:d}=a0(c);return a?t.html(u(be,{title:y.t("welcome","Login"),theme:n,branding:r,client:s,children:u(js,{theme:n,branding:r,loginSession:i,client:s,email:i.authParams.username,isEmbedded:l,browserName:d})})):t.html(u(Os,{theme:n,branding:r,loginSession:i,client:s,email:i.authParams.username,isEmbedded:l,browserName:d}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),style:o.z.enum(["classic","shadcn"]).optional().openapi({description:"UI style to use for the login page"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({username:o.z.string().transform(t=>t.toLowerCase()),login_selection:o.z.enum(["code","password"]).optional()})}}}},responses:{400:{description:"Error response"},302:{description:"Redirect to enter code or password"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form");t.set("body",r),t.set("username",r.username);const{client:i,loginSession:s,theme:a,branding:c,useShadcn:l}=await ue(t,n);t.set("client_id",i.client_id);const d=t.req.header("user-agent")||"",{isEmbedded:p,browserName:f}=a0(d),g=t.get("countryCode"),{normalized:_,connectionType:w}=Yc(r.username,g),k=_?await _o({userAdapter:e.data.users,tenant_id:i.tenant.id,username:_,provider:w}):null,z=k?.app_metadata.strategy==="Username-Password-Authentication";if(!(i.connections.find(W=>W.strategy===w)||z&&w==="email")||!_)return l?t.html(u(be,{title:y.t("welcome","Login"),theme:a,branding:c,client:i,children:u(js,{theme:a,branding:c,loginSession:s,error:y.t("invalid_identifier"),email:r.username,client:i,isEmbedded:p,browserName:f})}),400):t.html(u(Os,{theme:a,branding:c,loginSession:s,error:y.t("invalid_identifier"),email:r.username,client:i}),400);if(k&&t.set("user_id",k.user_id),!k){const W=await r_(t,i,t.env.data,_,w);if(!W.allowed)return await ne(t,i.tenant.id,{type:ee.FAILED_SIGNUP,description:W.reason||"Public signup is disabled"}),l?t.html(u(be,{title:y.t("welcome","Login"),theme:a,branding:c,client:i,children:u(js,{theme:a,branding:c,loginSession:s,error:y.t("user_account_does_not_exist"),email:r.username,client:i,isEmbedded:p,browserName:f})}),400):t.html(u(Os,{theme:a,branding:c,loginSession:s,error:y.t("user_account_does_not_exist"),email:r.username,client:i,isEmbedded:p,browserName:f}),400)}if(s.authParams.username=_,await e.data.loginSessions.update(i.tenant.id,s.id,s),await T8(t,i,r.username,r.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let N=Ln(),S=await e.data.codes.get(i.tenant.id,N,"otp");for(;S;)N=Ln(),S=await e.data.codes.get(i.tenant.id,N,"otp");const C=await t.env.data.codes.create(i.tenant.id,{code_id:N,code_type:"otp",login_id:s.id,expires_at:new Date(Date.now()+xs).toISOString(),redirect_uri:s.authParams.redirect_uri}),O=i.connections.find(W=>W.strategy===w);if(!O)throw new v(400,{message:y.t("connection_not_found",{connection:w})});const K=s.authParams?.ui_locales?.split(" ")?.map(W=>W.split("-")[0])[0];return w==="email"&&O.options.authentication_method==="magic_link"?await Fp(t,{to:_,code:C.code_id,authParams:s.authParams,language:K}):await qp(t,{to:_,code:C.code_id,language:K}),t.redirect(`/u/enter-code?state=${n}`)}),lt=t=>u("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/login/identifier?state=${t.state}`,children:y.t("go_back")});var Bo="_hp",K8={Change:"Input",DoubleClick:"DblClick"},G8={svg:"2000/svg",math:"1998/Math/MathML"},Lo=[],fu=new WeakMap,li=void 0,W8=()=>li,ln=t=>"t"in t,Sl={onClick:["click",!1]},c0=t=>{if(!t.startsWith("on"))return;if(Sl[t])return Sl[t];const e=t.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(e){const[,n,r]=e;return Sl[t]=[(K8[n]||n).toLowerCase(),!!r]}},l0=(t,e)=>li&&t instanceof SVGElement&&/[A-Z]/.test(e)&&(e in t.style||e.match(/^(?:o|pai|str|u|ve)/))?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,J8=(t,e,n)=>{e||={};for(let r in e){const i=e[r];if(r!=="children"&&(!n||n[r]!==i)){r=ta(r);const s=c0(r);if(s){if(n?.[r]!==i&&(n&&t.removeEventListener(s[0],n[r],s[1]),i!=null)){if(typeof i!="function")throw new Error(`Event handler for "${r}" is not a function`);t.addEventListener(s[0],i,s[1])}}else if(r==="dangerouslySetInnerHTML"&&i)t.innerHTML=i.__html;else if(r==="ref"){let a;typeof i=="function"?a=i(t)||(()=>i(null)):i&&"current"in i&&(i.current=t,a=()=>i.current=null),fu.set(t,a)}else if(r==="style"){const a=t.style;typeof i=="string"?a.cssText=i:(a.cssText="",i!=null&&u_(i,a.setProperty.bind(a)))}else{if(r==="value"){const c=t.nodeName;if(c==="INPUT"||c==="TEXTAREA"||c==="SELECT"){if(t.value=i==null||i===!1?null:i,c==="TEXTAREA"){t.textContent=i;continue}else if(c==="SELECT"){t.selectedIndex===-1&&(t.selectedIndex=0);continue}}}else(r==="checked"&&t.nodeName==="INPUT"||r==="selected"&&t.nodeName==="OPTION")&&(t[r]=i);const a=l0(t,r);i==null||i===!1?t.removeAttribute(a):i===!0?t.setAttribute(a,""):typeof i=="string"||typeof i=="number"?t.setAttribute(a,i):t.setAttribute(a,i.toString())}}}if(n)for(let r in n){const i=n[r];if(r!=="children"&&!(r in e)){r=ta(r);const s=c0(r);s?t.removeEventListener(s[0],i,s[1]):r==="ref"?fu.get(t)?.():t.removeAttribute(l0(t,r))}}},X8=(t,e)=>{e[ke][0]=0,Lo.push([t,e]);const n=e.tag[Ou]||e.tag,r=n.defaultProps?{...n.defaultProps,...e.props}:e.props;try{return[n.call(null,r)]}finally{Lo.pop()}},L1=(t,e,n,r,i)=>{t.vR?.length&&(r.push(...t.vR),delete t.vR),typeof t.tag=="function"&&t[ke][1][q1]?.forEach(s=>i.push(s)),t.vC.forEach(s=>{if(ln(s))n.push(s);else if(typeof s.tag=="function"||s.tag===""){s.c=e;const a=n.length;if(L1(s,e,n,r,i),s.s){for(let c=a;c<n.length;c++)n[c].s=!0;s.s=!1}}else n.push(s),s.vR?.length&&(r.push(...s.vR),delete s.vR)})},Z8=t=>{for(;;t=t.tag===Bo||!t.vC||!t.pP?t.nN:t.vC[0]){if(!t)return null;if(t.tag!==Bo&&t.e)return t.e}},U1=t=>{ln(t)||(t[ke]?.[1][q1]?.forEach(e=>e[2]?.()),fu.get(t.e)?.(),t.p===2&&t.vC?.forEach(e=>e.p=2),t.vC?.forEach(U1)),t.p||(t.e?.remove(),delete t.e),typeof t.tag=="function"&&(Qi.delete(t),Ps.delete(t),delete t[ke][3],t.a=!0)},D1=(t,e,n)=>{t.c=e,M1(t,e,n)},d0=(t,e)=>{if(e){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return n}},u0=Symbol(),M1=(t,e,n)=>{const r=[],i=[],s=[];L1(t,e,r,i,s),i.forEach(U1);const a=n?void 0:e.childNodes;let c,l=null;if(n)c=-1;else if(!a.length)c=0;else{const d=d0(a,Z8(t.nN));d!==void 0?(l=a[d],c=d):c=d0(a,r.find(p=>p.tag!==Bo&&p.e)?.e)??-1,c===-1&&(n=!0)}for(let d=0,p=r.length;d<p;d++,c++){const f=r[d];let g;if(f.s&&f.e)g=f.e,f.s=!1;else{const _=n||!f.e;ln(f)?(f.e&&f.d&&(f.e.textContent=f.t),f.d=!1,g=f.e||=document.createTextNode(f.t)):(g=f.e||=f.n?document.createElementNS(f.n,f.tag):document.createElement(f.tag),J8(g,f.props,f.pP),M1(f,g,_))}f.tag===Bo?c--:n?g.parentNode||e.appendChild(g):a[c]!==g&&a[c-1]!==g&&(a[c+1]===g?e.appendChild(a[c]):e.insertBefore(g,l||a[c]||null))}if(t.pP&&delete t.pP,s.length){const d=[],p=[];s.forEach(([,f,,g,_])=>{f&&d.push(f),g&&p.push(g),_?.()}),d.forEach(f=>f()),p.length&&requestAnimationFrame(()=>{p.forEach(f=>f())})}},Y8=(t,e)=>!!(t&&t.length===e.length&&t.every((n,r)=>n[1]===e[r][1])),Ps=new WeakMap,hu=(t,e,n)=>{const r=!n&&e.pC;n&&(e.pC||=e.vC);let i;try{n||=typeof e.tag=="function"?X8(t,e):Mo(e.props.children),n[0]?.tag===""&&n[0][Ml]&&(i=n[0][Ml],t[5].push([t,i,e]));const s=r?[...e.pC]:e.vC?[...e.vC]:void 0,a=[];let c;for(let l=0;l<n.length;l++){Array.isArray(n[l])&&n.splice(l,1,...n[l].flat());let d=Q8(n[l]);if(d){typeof d.tag=="function"&&!d.tag[o_]&&(Jr.length>0&&(d[ke][2]=Jr.map(f=>[f,f.values.at(-1)])),t[5]?.length&&(d[ke][3]=t[5].at(-1)));let p;if(s&&s.length){const f=s.findIndex(ln(d)?g=>ln(g):d.key!==void 0?g=>g.key===d.key&&g.tag===d.tag:g=>g.tag===d.tag);f!==-1&&(p=s[f],s.splice(f,1))}if(p)if(ln(d))p.t!==d.t&&(p.t=d.t,p.d=!0),d=p;else{const f=p.pP=p.props;if(p.props=d.props,p.f||=d.f||e.f,typeof d.tag=="function"){const g=p[ke][2];p[ke][2]=d[ke][2]||[],p[ke][3]=d[ke][3],!p.f&&((p.o||p)===d.o||p.tag[Wv]?.(f,p.props))&&Y8(g,p[ke][2])&&(p.s=!0)}d=p}else if(!ln(d)&&li){const f=fi(li);f&&(d.n=f)}if(!ln(d)&&!d.s&&(hu(t,d),delete d.f),a.push(d),c&&!c.s&&!d.s)for(let f=c;f&&!ln(f);f=f.vC?.at(-1))f.nN=d;c=d}}e.vR=r?[...e.vC,...s||[]]:s||[],e.vC=a,r&&delete e.pC}catch(s){if(e.f=!0,s===u0){if(i)return;throw s}const[a,c,l]=e[ke]?.[3]||[];if(c){const d=()=>Ts([0,!1,t[2]],l),p=Ps.get(l)||[];p.push(d),Ps.set(l,p);const f=c(s,()=>{const g=Ps.get(l);if(g){const _=g.indexOf(d);if(_!==-1)return g.splice(_,1),d()}});if(f){if(t[0]===1)t[1]=!0;else if(hu(t,l,[f]),(c.length===1||t!==a)&&l.c){D1(l,l.c,!1);return}throw u0}}throw s}finally{i&&t[5].pop()}},Q8=t=>{if(!(t==null||typeof t=="boolean")){if(typeof t=="string"||typeof t=="number")return{t:t.toString(),d:!0};if("vR"in t&&(t={tag:t.tag,props:t.props,key:t.key,f:t.f,type:t.tag,ref:t.props.ref,o:t.o||t}),typeof t.tag=="function")t[ke]=[0,[]];else{const e=G8[t.tag];e&&(li||=a_(""),t.props.children=[{tag:li,props:{value:t.n=`http://www.w3.org/${e}`,children:t.props.children}}])}return t}},p0=(t,e)=>{e[ke][2]?.forEach(([n,r])=>{n.values.push(r)});try{hu(t,e,void 0)}catch{return}if(e.a){delete e.a;return}e[ke][2]?.forEach(([n])=>{n.values.pop()}),(t[0]!==1||!t[1])&&D1(e,e.c,!1)},Qi=new WeakMap,f0=[],Ts=async(t,e)=>{t[5]||=[];const n=Qi.get(e);n&&n[0](void 0);let r;const i=new Promise(s=>r=s);if(Qi.set(e,[r,()=>{t[2]?t[2](t,e,s=>{p0(s,e)}).then(()=>r(e)):(p0(t,e),r(e))}]),f0.length)f0.at(-1).add(e);else{await Promise.resolve();const s=Qi.get(e);s&&(Qi.delete(e),s[1]())}return i},ex=(t,e,n)=>({tag:Bo,props:{children:t},key:n,e,p:1}),tx=0,q1=1,nx=2,rx=3,zl=new WeakMap,F1=(t,e)=>!t||!e||t.length!==e.length||e.some((n,r)=>n!==t[r]),ix=void 0,h0=[],ox=t=>{const e=()=>typeof t=="function"?t():t,n=Lo.at(-1);if(!n)return[e(),()=>{}];const[,r]=n,i=r[ke][1][tx]||=[],s=r[ke][0]++;return i[s]||=[e(),a=>{const c=ix,l=i[s];if(typeof a=="function"&&(a=a(l[0])),!Object.is(a,l[0]))if(l[0]=a,h0.length){const[d,p]=h0.at(-1);Promise.all([d===3?r:Ts([d,!1,c],r),p]).then(([f])=>{if(!f||!(d===2||d===3))return;const g=f.vC;requestAnimationFrame(()=>{setTimeout(()=>{g===f.vC&&Ts([d===3?1:0,!1,c],f)})})})}else Ts([0,!1,c],r)}]},Vp=(t,e)=>{const n=Lo.at(-1);if(!n)return t;const[,r]=n,i=r[ke][1][nx]||=[],s=r[ke][0]++,a=i[s];return F1(a?.[1],e)?i[s]=[t,e]:t=i[s][0],t},sx=t=>{const e=zl.get(t);if(e){if(e.length===2)throw e[1];return e[0]}throw t.then(n=>zl.set(t,[n]),n=>zl.set(t,[void 0,n])),t},ax=(t,e)=>{const n=Lo.at(-1);if(!n)return t();const[,r]=n,i=r[ke][1][rx]||=[],s=r[ke][0]++,a=i[s];return F1(a?.[1],e)&&(i[s]=[t(),e]),i[s][0]},cx=a_({pending:!1,data:null,method:null,action:null}),g0=new Set,lx=t=>{g0.add(t),t.finally(()=>g0.delete(t))},Kp=(t,e)=>ax(()=>n=>{let r;t&&(typeof t=="function"?r=t(n)||(()=>{t(null)}):t&&"current"in t&&(t.current=n,r=()=>{t.current=null}));const i=e(n);return()=>{i?.(),r?.()}},[t]),m0=Object.create(null),_0=Object.create(null),ds=(t,e,n,r,i)=>{if(e?.itemProp)return{tag:t,props:e,type:t,ref:e.ref};const s=document.head;let{onLoad:a,onError:c,precedence:l,blocking:d,...p}=e,f=null,g=!1;const _=Ss[t];let w;if(_.length>0){const N=s.querySelectorAll(t);e:for(const S of N)for(const C of Ss[t])if(S.getAttribute(C)===e[C]){f=S;break e}if(!f){const S=_.reduce((C,O)=>e[O]===void 0?C:`${C}-${O}-${e[O]}`,t);g=!_0[S],f=_0[S]||=(()=>{const C=document.createElement(t);for(const O of _)e[O]!==void 0&&C.setAttribute(O,e[O]),e.rel&&C.setAttribute("rel",e.rel);return C})()}}else w=s.querySelectorAll(t);l=r?l??"":void 0,r&&(p[zs]=l);const k=Vp(N=>{if(_.length>0){let S=!1;for(const C of s.querySelectorAll(t)){if(S&&C.getAttribute(zs)!==l){s.insertBefore(N,C);return}C.getAttribute(zs)===l&&(S=!0)}s.appendChild(N)}else if(w){let S=!1;for(const C of w)if(C===N){S=!0;break}S||s.insertBefore(N,s.contains(w[0])?w[0]:s.querySelector(t)),w=void 0}},[l]),z=Kp(e.ref,N=>{const S=_[0];if(n===2&&(N.innerHTML=""),(g||w)&&k(N),!c&&!a)return;let C=m0[N.getAttribute(S)]||=new Promise((O,K)=>{N.addEventListener("load",O),N.addEventListener("error",K)});a&&(C=C.then(a)),c&&(C=C.catch(c)),C.catch(()=>{})});if(i&&d==="render"){const N=Ss[t][0];if(e[N]){const S=e[N],C=m0[S]||=new Promise((O,K)=>{k(f),f.addEventListener("load",O),f.addEventListener("error",K)});sx(C)}}const I={tag:t,type:t,props:{...p,ref:z},ref:z};return I.p=n,f&&(I.e=f),ex(I,s)},dx=t=>{const e=W8();return(e&&fi(e))?.endsWith("svg")?{tag:"title",props:t,type:"title",ref:t.ref}:ds("title",t,void 0,!1,!1)},ux=t=>!t||["src","async"].some(e=>!t[e])?{tag:"script",props:t,type:"script",ref:t.ref}:ds("script",t,1,!1,!0),px=t=>!t||!["href","precedence"].every(e=>e in t)?{tag:"style",props:t,type:"style",ref:t.ref}:(t["data-href"]=t.href,delete t.href,ds("style",t,2,!0,!0)),fx=t=>!t||["onLoad","onError"].some(e=>e in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?{tag:"link",props:t,type:"link",ref:t.ref}:ds("link",t,1,"precedence"in t,!0),hx=t=>ds("meta",t,void 0,!1,!1),H1=Symbol(),gx=t=>{const{action:e,...n}=t;typeof e!="function"&&(n.action=e);const[r,i]=ox([null,!1]),s=Vp(async d=>{const p=d.isTrusted?e:d.detail[H1];if(typeof p!="function")return;d.preventDefault();const f=new FormData(d.target);i([f,!0]);const g=p(f);g instanceof Promise&&(lx(g),await g),i([null,!0])},[]),a=Kp(t.ref,d=>(d.addEventListener("submit",s),()=>{d.removeEventListener("submit",s)})),[c,l]=r;return r[1]=!1,{tag:cx,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?e:null},children:{tag:"form",props:{...n,ref:a},type:"form",ref:a}},f:l}},V1=(t,{formAction:e,...n})=>{if(typeof e=="function"){const r=Vp(i=>{i.preventDefault(),i.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[H1]:e}}))},[]);n.ref=Kp(n.ref,i=>(i.addEventListener("click",r),()=>{i.removeEventListener("click",r)}))}return{tag:t,props:n,type:t,ref:n.ref}},mx=t=>V1("input",t),_x=t=>V1("button",t);Object.assign(ql,{title:dx,script:ux,style:px,link:fx,meta:hx,form:gx,input:mx,button:_x});c_(null);new TextEncoder;const Un=t=>{const{i18nKey:e,values:n,components:r}=t,i=y.t(e,n),s=/<(\d+)>(.*?)<\/\d+>/g,a=[];let c=0,l;for(;(l=s.exec(i))!==null;){const[,d,p]=l,f=i.substring(c,l.index);f&&a.push(f);const g=parseInt(d,10);a.push(c2(r[g],{},p)),c=s.lastIndex}return c<i.length&&a.push(i.substring(c)),u(Ya,{children:a})},y0=6,gu=({error:t,theme:e,branding:n,email:r,state:i,client:s,hasPasswordLogin:a})=>{const c=new URLSearchParams({state:i}),d=s.connections.map(({name:p})=>p).includes("auth2");return u(Se,{title:y.t("verify_your_email"),theme:e,branding:n,client:s,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("verify_your_email")}),u("div",{className:"mb-8 text-gray-300",children:u(Un,{i18nKey:"code_sent_template",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{username:r}})}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Bt,{className:"pt-2",children:[u("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:y0,inputMode:"numeric",name:"code",placeholder:"******",className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:y0,required:!0,id:"code-input"}),t&&u(Be,{children:t}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("login")}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]}),d&&u("div",{className:"text-center mb-12",children:[u("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),u("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:y.t("or")})]}),u(xe,{Component:"a",href:`/u/${a?"enter-password":"pre-signup"}?${c.toString()}`,variant:"secondary",className:"block",children:y.t("enter_your_password_btn")})]})]}),u(lt,{state:i})]})]})},yx=({maxLength:t,value:e="",disabled:n=!1,className:r,containerClassName:i,name:s,id:a,required:c,autoFocus:l})=>u("div",{className:Y("flex items-center gap-2 has-[:disabled]:opacity-50",i),"data-input-otp-container":"",children:Array.from({length:t}).map((d,p)=>u("input",{type:"text",inputMode:"numeric",maxLength:1,value:e[p]||"",disabled:n,name:p===0?s:void 0,id:p===0?a:void 0,required:p===0?c:void 0,autoFocus:p===0?l:void 0,className:Y("relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md text-center font-mono","focus:z-10 focus:ring-1 focus:ring-ring","disabled:cursor-not-allowed disabled:opacity-50",r),"data-input-otp-slot":p},p))}),wx=6,w0=({error:t,theme:e,branding:n,email:r,state:i,hasPasswordLogin:s,className:a})=>{const c=new URLSearchParams({state:i}),l=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",d=e?.colors?.primary_button_label||"#ffffff",p=e?.colors?.body_text||"#333333",f=e?.colors?.input_border||"#d1d5db",g=e?.colors?.widget_background||"#ffffff",_=e?.colors?.widget_border||"#e5e7eb",w=e?.borders?.widget_corner_radius||8,k=e?.borders?.button_border_radius||4,z=e?.borders?.show_widget_shadow??!0,I=e?.fonts?.title?.size||24,N=e?.fonts?.title?.bold??!0,S=e?.fonts?.body_text?.size||14,C={backgroundColor:g,borderColor:_,borderRadius:`${w}px`,boxShadow:z?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:p},O={fontSize:`${I}px`,fontWeight:N?"700":"400",color:e?.colors?.header||p},K={fontSize:`${S}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},W={backgroundColor:l,color:d,borderRadius:`${k}px`},ie=e?.widget?.logo_position||"center",F=ie==="left"?"text-left":ie==="right"?"text-right":"text-center",se=e?.widget?.logo_url||n?.logo_url,ce=ie!=="none"&&se;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",a),children:[u(Qt,{style:C,className:"border",children:[u(en,{children:[ce&&u("div",{className:Y("mb-4",F),children:u(Rt,{theme:e,branding:n})}),u(tn,{style:O,children:y.t("verify_your_email","Verify your email")}),u(nn,{style:K,children:u(Un,{i18nKey:"code_sent_template",components:[u("span",{className:"font-medium"},"span")],values:{username:r}})})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-6",children:[u("div",{className:"grid gap-4",children:[u(_t,{htmlFor:"code",style:K,children:y.t("verification_code","Verification Code")}),u("div",{className:"flex justify-center",children:u(yx,{maxLength:wx,name:"code",id:"code",required:!0,autoFocus:!0,containerClassName:"gap-2",className:Y("w-12 h-12 text-center text-lg font-mono border rounded-md transition-colors",t?"border-red-500 focus:ring-red-500":"border-gray-300 focus:ring-blue-500 focus:border-blue-500")})}),t&&u(Be,{children:t})]}),u(Jt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:W,children:y.t("login","Login")}),u("div",{className:"text-center text-xs text-gray-500",children:u("div",{className:"flex items-center justify-center gap-1",children:[u("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:u("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})}),u("span",{children:y.t("sent_code_spam","Check your spam folder if you don't see the code")})]})}),s&&u("div",{className:"text-center",children:[u("div",{className:"relative mb-5 block text-center",style:K,children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b",style:{borderColor:_}}),u("div",{className:"relative inline-block px-2",style:{backgroundColor:g},children:y.t("or","Or")})]}),u("a",{href:`/u/${s?"enter-password":"pre-signup"}?${c.toString()}`,className:Y("w-full inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500","border border-gray-300 bg-transparent hover:bg-gray-100 dark:border-gray-600 dark:hover:bg-gray-800","h-10 px-4 py-2"),style:{borderColor:f,borderRadius:`${k}px`,color:p},children:y.t("enter_your_password_btn","Enter your password instead")})]})]})})})]}),u(lt,{state:i})]})},wt=t=>{const{message:e,theme:n,branding:r,client:i,pageTitle:s,state:a}=t;return u(Se,{title:"Login",theme:n,branding:r,client:i,children:[s?u("div",{className:"mb-4 text-2xl font-medium",children:s}):"",u("div",{className:"text-gray-300 mb-12",children:e}),a?u(lt,{state:a}):""]})},bx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"}),style:o.z.enum(["classic","shadcn"]).optional().openapi({description:"UI style to use for the enter code page"})})},responses:{200:{description:"HTML page to enter verification code.",content:{"text/html":{schema:o.z.string()}}},400:{description:"Bad Request - HTML error page if username is missing in state.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,style:n}=t.req.valid("query");let r,i,s,a,c;n&&Ag(t,"auth_ui_style",n,{path:"/",maxAge:3600*24*365,httpOnly:!0,secure:!0,sameSite:"Lax"});try{if({theme:r,branding:i,loginSession:s,client:a,useShadcn:c}=await ue(t,e),!s.authParams.username)return t.html(u(wt,{theme:r,branding:i,client:a,state:e,pageTitle:y.t("error_page_title")||"Error",message:y.t("username_not_found_error")||"Username not found in session."}),400);const l=await _o({userAdapter:t.env.data.users,tenant_id:a.tenant.id,username:s.authParams.username,provider:"auth2"});return c?t.html(u(be,{title:y.t("verify_your_email","Verify your email"),theme:r,branding:i,client:a,children:u(w0,{theme:r,branding:i,email:s.authParams.username,state:e,hasPasswordLogin:!!l})})):t.html(u(gu,{theme:r,branding:i,email:s.authParams.username,state:e,client:a,hasPasswordLogin:!!l}))}catch(l){return console.error("Error in GET /u/enter-code:",l),i||(i=null),r||(r=null),a||(a=null),t.html(u(wt,{theme:r,branding:i,client:a,state:e,pageTitle:y.t("error_page_title")||"Error",message:y.t("unexpected_error_try_again")||"An unexpected error occurred. Please try again."}),500)}}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"}),style:o.z.enum(["classic","shadcn"]).optional().openapi({description:"UI style to use for the enter code page"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({code:o.z.string()})}}}},responses:{302:{description:"Redirect to continue authentication flow.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML page with an error message (e.g., invalid code, username missing).",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page for unexpected issues.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,style:n}=t.req.valid("query"),{code:r}=t.req.valid("form");n&&Ag(t,"auth_ui_style",n,{path:"/",maxAge:3600*24*365,httpOnly:!0,secure:!0,sameSite:"Lax"});const{theme:i,branding:s,client:a,loginSession:c,useShadcn:l}=await ue(t,e);if(!c.authParams.username)throw new v(400,{message:y.t("username_not_found_error")||"Username not found in session."});try{t.set("client_id",a.client_id);const d=await Up(t,{client_id:a.client_id,authParams:c.authParams,username:c.authParams.username,otp:r});if(d instanceof Response)return d;throw new v(500,{message:y.t("unexpected_error_try_again")||"An unexpected error occurred. Please try again."})}catch(d){let p;try{p=await _o({userAdapter:t.env.data.users,tenant_id:a.tenant.id,username:c.authParams.username,provider:"auth2"})}catch{p=null}return l?t.html(u(be,{title:y.t("verify_your_email","Verify your email"),theme:i,branding:s,client:a,children:u(w0,{theme:i,branding:s,email:c.authParams?.username,state:e,error:d.message,hasPasswordLogin:!!p})}),400):t.html(u(gu,{theme:i,branding:s,email:c.authParams?.username,state:e,client:a,error:d.message,hasPasswordLogin:!!p}),400)}}),K1=t=>{const{theme:e,branding:n,client:r,state:i}=t;return u(Se,{title:y.t("unverified_email"),theme:e,branding:n,client:r,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:[u("p",{className:"mb-8 text-gray-300 text-lg",children:y.t("unverified_email")}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]}),u(lt,{state:i})]}),u(lt,{state:i})]})},vx=({width:t=22,height:e=17,className:n,...r})=>u("svg",{width:t,height:e,className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",...r,children:u("path",{fill:"currentColor",d:"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4 142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32M144 256a144 144 0 1 1 288 0 144 144 0 1 1-288 0m144-64c0 35.3-28.7 64-64 64-7.1 0-13.9-1.2-20.3-3.3-5.5-1.8-11.9 1.6-11.7 7.4.3 6.9 1.3 13.8 3.2 20.7 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1-5.8-.2-9.2 6.1-7.4 11.7 2.1 6.4 3.3 13.2 3.3 20.3"})}),$x=({width:t=23,height:e=18,className:n,...r})=>u("svg",{width:t,height:e,className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",...r,children:u("path",{fill:"currentColor",d:"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-105.2-82.4c39.6-40.6 66.4-86.1 79.9-118.4 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8zm184.3 144.4c25.5-23.3 59.6-37.5 96.9-37.5 79.5 0 144 64.5 144 144 0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3-11.1-41.5-47.8-69.4-88.6-71.1-5.8-.2-9.2 6.1-7.4 11.7 2.1 6.4 3.3 13.2 3.3 20.3 0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1-79.5 0-144-64.5-144-144 0-6.9.5-13.6 1.4-20.2l-94.3-74.3c-22.8 29.7-39.1 59.3-48.6 82.2-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47 43.8 111.7 80.6 192.5 80.6 47.8 0 89.9-12.9 126.2-32.5z"})}),mu=({name:t,placeholder:e=y.t("password")})=>u("div",{className:"password-input relative mb-2","data-password-toggle":!0,children:[u("input",{type:"password",name:t,placeholder:e,className:"w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),u("button",{type:"button","aria-label":y.t("show_password"),title:y.t("show_password"),className:"absolute right-0 top-0 w-10 h-full rounded-r-lg text-gray-400 column hover:bg-black/5","data-password-toggle-btn":!0,children:[u(vx,{"data-show-icon":!0}),u($x,{"data-hide-icon":!0,className:"hidden"})]})]}),Rs=t=>{const{error:e,theme:n,branding:r,email:i,state:s,client:a}=t,c=new URLSearchParams({state:s});return u(Se,{title:y.t("enter_password"),theme:n,branding:r,client:a,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("enter_password")}),u("div",{className:"mb-6 text-gray-300",children:y.t("enter_password_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Bt,{className:"mb-7",children:[u("input",{type:"text",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:i}),u(mu,{name:"password"}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("login")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]}),u("a",{href:`/u/forgot-password?${c.toString()}`,className:"text-primary hover:underline mb-4",children:y.t("forgot_password_link")}),u("div",{className:"text-center mb-12",children:[u("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),u("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:y.t("or")})]}),u("form",{method:"post",action:`/u/login/identifier?${c.toString()}`,children:[u("input",{type:"hidden",name:"login_selection",value:"code"}),u("input",{type:"hidden",name:"username",value:i}),u(xe,{variant:"secondary",className:"block",children:y.t("enter_a_code_btn")})]})]}),u(lt,{state:s})]})]})},Al=({error:t,theme:e,branding:n,loginSession:r,email:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_background||"#ffffff",p=e?.colors?.input_border||"#d1d5db",f=e?.colors?.input_filled_text||"#111827",g=e?.colors?.error||"#dc2626",_=e?.colors?.widget_background||"#ffffff",w=e?.colors?.widget_border||"#e5e7eb",k=e?.borders?.widget_corner_radius||8,z=e?.borders?.input_border_radius||4,I=e?.borders?.button_border_radius||4,N=e?.borders?.show_widget_shadow??!0,S=e?.fonts?.title?.size||24,C=e?.fonts?.title?.bold??!0,O=e?.fonts?.body_text?.size||14,K={backgroundColor:_,borderColor:w,borderRadius:`${k}px`,boxShadow:N?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},W={fontSize:`${S}px`,fontWeight:C?"700":"400",color:e?.colors?.header||l},ie={fontSize:`${O}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},F={backgroundColor:d,borderColor:t?g:p,borderRadius:`${z}px`,color:f},se={backgroundColor:a,color:c,borderRadius:`${I}px`},ce=e?.widget?.logo_position||"center",fe=ce==="left"?"text-left":ce==="right"?"text-right":"text-center",$e=e?.widget?.logo_url||n?.logo_url,_e=ce!=="none"&&$e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:K,className:"border",children:[u(en,{children:[_e&&u("div",{className:Y("mb-4",fe),children:u(Rt,{theme:e,branding:n})}),u(tn,{style:W,children:y.t("enter_password","Enter your password")}),u(nn,{style:ie,children:y.t("enter_password_description","Enter your password to continue")})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-6",children:[u("div",{className:"grid gap-2",children:[u(_t,{htmlFor:"email",style:ie,children:y.t("email","Email")}),u(jt,{id:"email",name:"username",type:"email",value:i,disabled:!0,className:"border bg-gray-50",style:{...F,cursor:"not-allowed"}})]}),u("div",{className:"grid gap-2",children:[u("div",{className:"flex items-center justify-between",children:[u(_t,{htmlFor:"password",style:ie,children:y.t("password","Password")}),u("a",{href:`/u/forgot-password?state=${r.id}`,className:"text-sm hover:underline",style:{color:a},children:y.t("forgot_password","Forgot password?")})]}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"password",name:"password",type:"password","data-password-input":"password",placeholder:y.t("password_placeholder","Enter your password"),required:!0,error:!!t,className:"border pr-8",style:F}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]}),t&&u(Be,{children:t})]}),u(Jt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:se,children:y.t("continue","Continue")}),u("div",{className:"text-center",children:u("a",{href:`/u/login/identifier?state=${r.id}`,className:"text-sm hover:underline",style:ie,children:["← ",y.t("back","Back")]})})]})})})]})})},kx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e);if(!s.authParams.username)throw new v(400,{message:"Username required"});return a?t.html(u(be,{title:y.t("enter_your_password","Enter your password"),theme:n,branding:r,client:i,children:u(Al,{theme:n,branding:r,loginSession:s,email:s.authParams.username,client:i})})):t.html(u(Rs,{theme:n,branding:r,email:s.authParams.username,state:e,client:i}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string()})}}}},responses:{200:{description:"HTML page indicating success or a next step (if not redirecting).",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to continue the authentication flow (e.g., to client, MFA, consent).",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML page with an error message (e.g., invalid password, username required).",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML page with an error message.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{password:r}=n,{theme:i,branding:s,client:a,loginSession:c,useShadcn:l}=await ue(t,e),{username:d}=c.authParams;if(!d)throw new v(400,{message:"Username required"});try{return await j1(t,a,{...c.authParams,password:r},c)}catch(p){const f=p;return f.code==="INVALID_PASSWORD"||f.code==="USER_NOT_FOUND"?l?t.html(u(be,{title:y.t("enter_your_password","Enter your password"),theme:i,branding:s,client:a,children:u(Al,{theme:i,branding:s,loginSession:c,email:d,error:y.t("invalid_password"),client:a})}),400):t.html(u(Rs,{theme:i,branding:s,email:d,error:y.t("invalid_password"),state:e,client:a}),400):f.code==="EMAIL_NOT_VERIFIED"?t.html(u(K1,{theme:i,branding:s,client:a,state:e}),400):l?t.html(u(be,{title:y.t("enter_your_password","Enter your password"),theme:i,branding:s,client:a,children:u(Al,{theme:i,branding:s,loginSession:c,email:d,error:f.message||"An unknown error occurred.",client:a})}),f.code?400:500):t.html(u(Rs,{theme:i,branding:s,email:d,error:f.message||"An unknown error occurred.",state:e,client:a}),f.code?400:500)}}),Vn=t=>{const{error:e,theme:n,branding:r,client:i,email:s,state:a,code:c}=t;return u(Se,{title:y.t("sign_up"),theme:n,branding:r,client:i,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("create_account_title")}),u("div",{className:"mb-6 text-gray-300",children:y.t("create_account_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Bt,{children:[u("input",{type:"hidden",name:"code",value:c}),u("input",{type:"email",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:s,disabled:!!s}),u("input",{type:"password",name:"password",placeholder:y.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),u("input",{type:"password",name:"re-enter-password",placeholder:y.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("continue")})]}),u(lt,{state:a})]})]})},Ii=({error:t,theme:e,branding:n,loginSession:r,email:i,code:s,className:a})=>{const c=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",l=e?.colors?.primary_button_label||"#ffffff",d=e?.colors?.body_text||"#333333",p=e?.colors?.input_background||"#ffffff",f=e?.colors?.input_border||"#d1d5db",g=e?.colors?.input_filled_text||"#111827",_=e?.colors?.error||"#dc2626",w=e?.colors?.widget_background||"#ffffff",k=e?.colors?.widget_border||"#e5e7eb",z=e?.borders?.widget_corner_radius||8,I=e?.borders?.input_border_radius||4,N=e?.borders?.button_border_radius||4,S=e?.borders?.show_widget_shadow??!0,C=e?.fonts?.title?.size||24,O=e?.fonts?.title?.bold??!0,K=e?.fonts?.body_text?.size||14,W={backgroundColor:w,borderColor:k,borderRadius:`${z}px`,boxShadow:S?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:d},ie={fontSize:`${C}px`,fontWeight:O?"700":"400",color:e?.colors?.header||d},F={fontSize:`${K}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},se={backgroundColor:p,borderColor:t?_:f,borderRadius:`${I}px`,color:g},ce={backgroundColor:c,color:l,borderRadius:`${N}px`},fe=e?.widget?.logo_position||"center",$e=fe==="left"?"text-left":fe==="right"?"text-right":"text-center",_e=e?.widget?.logo_url||n?.logo_url,on=fe!=="none"&&_e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",a),children:u(Qt,{style:W,className:"border",children:[u(en,{children:[on&&u("div",{className:Y("mb-4",$e),children:u(Rt,{theme:e,branding:n})}),u(tn,{style:ie,children:y.t("create_account_title","Create Account")}),u(nn,{style:F,children:y.t("create_account_description","Sign up to get started")})]}),u(rn,{children:[u("form",{method:"post",className:"space-y-4",children:[u("input",{type:"hidden",name:"state",value:r.authParams.state}),s&&u("input",{type:"hidden",name:"code",value:s}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"username",style:F,children:y.t("email_label","Email")}),u(jt,{id:"username",type:"email",name:"username",placeholder:y.t("email_placeholder","Email Address"),value:i,disabled:!!i,style:se,className:"w-full",required:!0})]}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"password",style:F,children:y.t("password","Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"password",name:"password",type:"password","data-password-input":"password",placeholder:y.t("enter_new_password_placeholder","Enter new password"),required:!0,error:!!t,className:"border pr-8",style:se}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"re-enter-password",style:F,children:y.t("confirm_password","Confirm Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"re-enter-password",name:"re-enter-password",type:"password","data-password-input":"re-enter-password",placeholder:y.t("reenter_new_password_placeholder","Re-enter new password"),required:!0,error:!!t,className:"border pr-8",style:se}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),t&&u(Be,{children:t}),u(Jt,{type:"submit",className:"w-full",style:ce,disabled:!1,children:y.t("continue","Continue")})]}),u("div",{className:"mt-4 text-center",children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(r.authParams.state||"")}`,className:"text-sm",style:{color:c},children:y.t("back_to_login","Back to Login")})})]})]})})},xx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().optional().openapi({description:"The code parameter from an email verification link"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{theme:r,branding:i,client:s,loginSession:a,useShadcn:c}=await ue(t,e),{username:l}=a.authParams;if(!l)throw new v(400,{message:"Username required"});return c?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:r,branding:i,client:s,children:u(Ii,{theme:r,branding:i,loginSession:a,email:l,code:n,client:s})})):n?t.html(u(Vn,{state:e,theme:r,branding:i,client:s,email:l,code:n})):t.html(u(Vn,{state:e,theme:r,branding:i,client:s,email:l}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string(),code:o.z.string().optional()})}}}},responses:{200:{description:"HTML page indicating success (e.g., email verification sent) or a next step.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to continue the authentication flow (e.g., to client, MFA, consent) after successful login.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML page with an error message (e.g., passwords don't match, weak password, user exists).",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML page with an error message.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{env:r}=t,{theme:i,branding:s,client:a,loginSession:c,useShadcn:l}=await ue(t,e);try{if(!c.authParams.username)throw new v(400,{message:"Username required"});const d="Username-Password-Authentication";if(t.set("connection",d),n.password!==n["re-enter-password"])return l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:y.t("create_account_passwords_didnt_match"),client:a})}),400):t.html(u(Vn,{state:e,code:n.code,theme:i,branding:s,client:a,error:y.t("create_account_passwords_didnt_match"),email:c.authParams.username}),400);const p=await Mp(r.data,a.tenant.id,"Username-Password-Authentication");try{await Dp(p,{tenantId:a.tenant.id,userId:"",newPassword:n.password,data:r.data})}catch(N){let S;return N instanceof Ft?S=y.t(N.code,{defaultValue:N.message,...N.params}):S=N?.message||y.t("create_account_weak_password"),l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:S,client:a})}),400):t.html(u(Vn,{state:e,code:n.code,theme:i,branding:s,client:a,error:S,email:c.authParams.username}),400)}const f=n.code?await r.data.codes.get(a.tenant.id,n.code,"email_verification"):void 0,g=f?await r.data.loginSessions.get(a.tenant.id,f.login_id):void 0;if(await pi({userAdapter:t.env.data.users,tenant_id:a.tenant.id,username:c.authParams.username,provider:"auth2"}))return l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:y.t("user_exists_error"),client:a})}),400):t.html(u(Vn,{state:e,code:n.code,theme:i,branding:s,client:a,error:y.t("user_exists_error"),email:c.authParams.username}),400);const w=g?.authParams.username===c.authParams.username,k=`auth2|${Ka()}`,z=await r.data.users.create(a.tenant.id,{user_id:k,email:c.authParams.username,email_verified:w,provider:"auth2",connection:d,is_social:!1});if(await r.data.passwords.create(a.tenant.id,{user_id:k,password:await rr.hash(n.password,10),algorithm:"bcrypt",is_current:!0}),!w){const N=c.authParams?.ui_locales?.split(" ")?.map(S=>S.split("-")[0])[0];return await Hp(t,z,N),t.html(u(wt,{message:y.t("validate_email_body"),pageTitle:y.t("validate_email_title"),theme:i,branding:s,client:a,state:e}))}const I=await I1(t,a,{...c.authParams,password:n.password},c);return Gt(t,I)}catch(d){let p=y.t("unknown_error_message"),f=400;return d instanceof v?(p=d.message||p,f=d.status===400?400:500):d instanceof Tr?p=d.message||p:d instanceof Error&&(p=d.message||p,f=500),l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:p,client:a})}),f):t.html(u(Vn,{state:e,theme:i,branding:s,client:a,error:p,email:c.authParams.username,code:n.code}),f)}}),Rr=t=>{const{error:e,theme:n,branding:r,client:i,email:s}=t;return u(Se,{title:y.t("reset_password_title"),theme:n,branding:r,client:i,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("reset_password_title")}),u("div",{className:"mb-6 text-gray-300",children:`${y.t("reset_password_description")} ${s}`}),u("div",{className:"flex flex-1 flex-col justify-center",children:u(Bt,{children:[u(mu,{name:"password",placeholder:y.t("enter_new_password_placeholder")}),u(mu,{name:"re-enter-password",placeholder:y.t("reenter_new_password_placeholder")}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("reset_password_cta")})]})})]})},ji=({error:t,theme:e,branding:n,loginSession:r,email:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_background||"#ffffff",p=e?.colors?.input_border||"#d1d5db",f=e?.colors?.input_filled_text||"#111827",g=e?.colors?.error||"#dc2626",_=e?.colors?.widget_background||"#ffffff",w=e?.colors?.widget_border||"#e5e7eb",k=e?.borders?.widget_corner_radius||8,z=e?.borders?.input_border_radius||4,I=e?.borders?.button_border_radius||4,N=e?.borders?.show_widget_shadow??!0,S=e?.fonts?.title?.size||24,C=e?.fonts?.title?.bold??!0,O=e?.fonts?.body_text?.size||14,K={backgroundColor:_,borderColor:w,borderRadius:`${k}px`,boxShadow:N?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},W={fontSize:`${S}px`,fontWeight:C?"700":"400",color:e?.colors?.header||l},ie={fontSize:`${O}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},F={backgroundColor:d,borderColor:t?g:p,borderRadius:`${z}px`,color:f},se={backgroundColor:a,color:c,borderRadius:`${I}px`},ce=e?.widget?.logo_position||"center",fe=ce==="left"?"text-left":ce==="right"?"text-right":"text-center",$e=e?.widget?.logo_url||n?.logo_url,_e=ce!=="none"&&$e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:K,className:"border",children:[u(en,{children:[_e&&u("div",{className:Y("mb-4",fe),children:u(Rt,{theme:e,branding:n})}),u(tn,{style:W,children:y.t("reset_password_title","Reset Password")}),u(nn,{style:ie,children:`${y.t("reset_password_description","Set a new password for")} ${i}`})]}),u(rn,{children:u("form",{method:"post",className:"space-y-4",children:[u("input",{type:"hidden",name:"state",value:r.authParams.state}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"password",style:ie,children:y.t("new_password","New Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"password",name:"password",type:"password","data-password-input":"password",placeholder:y.t("enter_new_password_placeholder","Enter new password"),required:!0,error:!!t,className:"border pr-8",style:F}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"re-enter-password",style:ie,children:y.t("confirm_password","Confirm Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"re-enter-password",name:"re-enter-password",type:"password","data-password-input":"re-enter-password",placeholder:y.t("reenter_new_password_placeholder","Re-enter new password"),required:!0,error:!!t,className:"border pr-8",style:F}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),t&&u(Be,{children:t}),u(Jt,{type:"submit",className:"w-full",style:se,disabled:!1,children:y.t("reset_password_cta","Reset Password")})]})})]})})},Sx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e);if(!s.authParams.username)throw new v(400,{message:"Username required"});return a?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:n,branding:r,client:i,children:u(ji,{theme:n,branding:r,loginSession:s,email:s.authParams.username,client:i})})):t.html(u(Rr,{theme:n,branding:r,client:i,email:s.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{password:r,"re-enter-password":i}=t.req.valid("form"),{env:s}=t,{theme:a,branding:c,client:l,loginSession:d,useShadcn:p}=await ue(t,e);if(!d.authParams.username)throw new v(400,{message:"Username required"});if(r!==i)return p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:y.t("create_account_passwords_didnt_match"),theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:y.t("create_account_passwords_didnt_match"),theme:a,branding:c,client:l,email:d.authParams.username}),400);const f=await pi({userAdapter:s.data.users,tenant_id:l.tenant.id,username:d.authParams.username,provider:"auth2"});if(!f)throw new v(400,{message:"User not found"});const g=await Mp(s.data,l.tenant.id,"Username-Password-Authentication");try{await Dp(g,{tenantId:l.tenant.id,userId:f.user_id,newPassword:r,userData:f,data:s.data})}catch(_){const w=_?.message||y.t("create_account_weak_password");return p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:w,theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:w,theme:a,branding:c,client:l,email:d.authParams.username}),400)}try{if(!await s.data.codes.get(l.tenant.id,n,"password_reset")){const k=y.t("password_reset_code_expired","Code not found or expired");return p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:k,theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:k,theme:a,branding:c,client:l,email:d.authParams.username}),400)}const w=await s.data.passwords.get(l.tenant.id,f.user_id);w&&await s.data.passwords.update(l.tenant.id,{id:w.id,user_id:f.user_id,password:w.password,algorithm:w.algorithm,is_current:!1}),await s.data.passwords.create(l.tenant.id,{user_id:f.user_id,password:await rr.hash(r,10),algorithm:"bcrypt",is_current:!0}),f.email_verified||await s.data.users.update(l.tenant.id,f.user_id,{email_verified:!0}),await ne(t,l.tenant.id,{type:ee.SUCCESS_CHANGE_PASSWORD,description:`Password changed for ${f.email}`,userId:f.user_id})}catch(_){console.error("Password reset failed:",_);const w=_ instanceof Error?_.message:JSON.stringify(_);await ne(t,l.tenant.id,{type:ee.FAILED_CHANGE_PASSWORD,description:`Password reset failed for ${f.email}: ${w}`,userId:f.user_id});let k;return _ instanceof Ft?k=y.t(_.code,{defaultValue:_.message,..._.params}):k=y.t("password_reset_failed","The password could not be reset"),p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:k,theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:k,theme:a,branding:c,client:l,email:d.authParams.username}),400)}return t.html(u(wt,{message:y.t("password_has_been_reset"),theme:a,branding:c,client:l,state:e}))}),G1=t=>{const{error:e,theme:n,branding:r,client:i,email:s,state:a}=t;return u(Se,{title:y.t("forgot_password_title"),theme:n,branding:r,client:i,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("forgot_password_title")}),u("div",{className:"mb-6 text-gray-300",children:y.t("forgot_password_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Bt,{className:"pt-2",children:[u("input",{type:"email",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:s,disabled:!!s}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("forgot_password_cta")})]}),u(lt,{state:a})]})]})},zx=({error:t,theme:e,branding:n,loginSession:r,email:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_background||"#ffffff",p=e?.colors?.input_border||"#d1d5db",f=e?.colors?.input_filled_text||"#111827",g=e?.colors?.error||"#dc2626",_=e?.colors?.widget_background||"#ffffff",w=e?.colors?.widget_border||"#e5e7eb",k=e?.borders?.widget_corner_radius||8,z=e?.borders?.input_border_radius||4,I=e?.borders?.button_border_radius||4,N=e?.borders?.show_widget_shadow??!0,S=e?.fonts?.title?.size||24,C=e?.fonts?.title?.bold??!0,O=e?.fonts?.body_text?.size||14,K={backgroundColor:_,borderColor:w,borderRadius:`${k}px`,boxShadow:N?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},W={fontSize:`${S}px`,fontWeight:C?"700":"400",color:e?.colors?.header||l},ie={fontSize:`${O}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},F={backgroundColor:d,borderColor:t?g:p,borderRadius:`${z}px`,color:f},se={backgroundColor:a,color:c,borderRadius:`${I}px`},ce=e?.widget?.logo_position||"center",fe=ce==="left"?"text-left":ce==="right"?"text-right":"text-center",$e=e?.widget?.logo_url||n?.logo_url,_e=ce!=="none"&&$e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:K,className:"border",children:[u(en,{children:[_e&&u("div",{className:Y("mb-4",fe),children:u(Rt,{theme:e,branding:n})}),u(tn,{style:W,children:y.t("forgot_password_title","Forgot Password")}),u(nn,{style:ie,children:y.t("forgot_password_description","Enter your email address and we'll send you a link to reset your password.")})]}),u(rn,{children:[u("form",{method:"post",className:"space-y-4",children:[u("input",{type:"hidden",name:"state",value:r.authParams.state}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"username",style:ie,className:"text-sm font-medium",children:y.t("email_label","Email")}),u(jt,{id:"username",type:"email",name:"username",placeholder:y.t("email_placeholder","Email Address"),value:i,disabled:!!i,style:F,className:"w-full",required:!0})]}),t&&u(Be,{children:t}),u(Jt,{type:"submit",className:"w-full",style:se,disabled:!1,children:y.t("forgot_password_cta","Send Reset Link")})]}),u("div",{className:"mt-4 text-center",children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(r.authParams.state||"")}`,className:"text-sm",style:{color:a},children:y.t("back_to_login","Back to Login")})})]})]})})},W1=t=>{const{theme:e,branding:n,client:r,state:i}=t;return u(Se,{title:"Login",theme:e,branding:n,client:r,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{children:y.t("forgot_password_email_sent")}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]})]}),u(lt,{state:i})]})},Ax=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e);return a?t.html(u(be,{title:y.t("forgot_password_title","Forgot Password"),theme:n,branding:r,client:i,children:u(zx,{theme:n,branding:r,loginSession:s,email:s.authParams.username,client:i})})):t.html(u(G1,{theme:n,branding:r,client:i,state:e,email:s.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e);return await S8(t,i,s.authParams.username,s.id),t.html(u(W1,{theme:n,branding:r,client:i,state:e}))}),J1=({theme:t,branding:e,client:n,state:r,user:i})=>u(Se,{title:X("check_email_title"),theme:t,branding:e,client:n,children:u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{className:"mb-8 text-gray-700 dark:text-gray-300",children:[u(Un,{i18nKey:"currently_logged_in_as",components:[u("span",{className:"font-semibold text-gray-900 dark:text-white"},"span")],values:{email:i.email||""}}),u("br",{}),X("continue_with_sso_provider_headline")]}),u("div",{className:"space-y-6",children:[u(Bt,{children:u(xe,{className:"!text-base",children:u("span",{children:y.t("yes_continue_with_existing_account")})})}),u("a",{className:"block text-center text-primary hover:text-primaryHover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 dark:focus:ring-offset-gray-900",href:`/u/login/identifier?state=${encodeURIComponent(r)}`,children:y.t("no_use_another")})]})]})}),Ex=({theme:t,branding:e,state:n,user:r,className:i})=>{const s=t?.colors?.primary_button||e?.colors?.primary||"#0066cc",a=t?.colors?.primary_button_label||"#ffffff",c=t?.colors?.body_text||"#333333",l=t?.colors?.widget_background||"#ffffff",d=t?.colors?.widget_border||"#e5e7eb",p=t?.borders?.widget_corner_radius||8,f=t?.borders?.button_border_radius||4,g=t?.borders?.show_widget_shadow??!0,_=t?.fonts?.title?.size||24,w=t?.fonts?.title?.bold??!0,k=t?.fonts?.body_text?.size||14,z={backgroundColor:l,borderColor:d,borderRadius:`${p}px`,boxShadow:g?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:c},I={fontSize:`${_}px`,fontWeight:w?"700":"400",color:t?.colors?.header||c},N={fontSize:`${k}px`,color:t?.colors?.input_labels_placeholders||"#6b7280"},S={backgroundColor:s,color:a,borderRadius:`${f}px`},C={color:t?.colors?.links_focused_components||s,fontSize:`${k}px`},O=t?.widget?.logo_position||"center",K=O==="left"?"text-left":O==="right"?"text-right":"text-center",W=t?.widget?.logo_url||e?.logo_url,ie=O!=="none"&&W;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",i),children:u(Qt,{style:z,className:"border",children:[u(en,{children:[ie&&u("div",{className:Y("mb-4",K),children:u(Rt,{theme:t,branding:e})}),u(tn,{style:I,children:y.t("continue_with_account","Continue with account")}),u(nn,{style:N,children:[u(Un,{i18nKey:"currently_logged_in_as",components:[u("span",{className:"font-semibold"},"span")],values:{email:r.email||""}}),u("br",{}),u("br",{}),y.t("continue_with_sso_provider_headline","Do you want to continue with this account?")]})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-4",children:[u(Jt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:S,children:y.t("yes_continue_with_existing_account","Yes, continue")}),u("div",{className:"text-center",children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(n)}`,className:"text-sm hover:underline focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors",style:C,children:y.t("no_use_another","No, use another account")})})]})})})]})})},Cx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"HTML page to check account status or verify email.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login identifier page if no valid session.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{theme:r,branding:i,client:s,useShadcn:a}=await ue(t,n);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in GET /u/check-account after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:n,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")||"A configuration error occurred."}),500);const c=Wr(s.tenant.id,t.req.header("cookie")),l=c?await e.data.sessions.get(s.tenant.id,c):null;if(!l)return t.redirect(`/u/login/identifier?state=${n}`);const d=await e.data.users.get(s.tenant.id,l.user_id);return d?a?t.html(u(be,{title:y.t("continue_with_account","Continue with account"),theme:r,branding:i,client:s,children:u(Ex,{theme:r,branding:i,client:s,state:n,user:d})})):t.html(u(J1,{theme:r,branding:i,client:s,state:n,user:d})):t.redirect(`/u/login/identifier?state=${n}`)}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect to continue authentication flow or to login identifier.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page for unexpected issues or if TokenResponse is returned.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{theme:r,branding:i,client:s,loginSession:a}=await ue(t,n);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in POST /u/check-account after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:n,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")}),500);const c=Wr(s.tenant.id,t.req.header("cookie")),l=c?await e.data.sessions.get(s.tenant.id,c):null;if(!l)return t.redirect(`/u/login/identifier?state=${n}`);const d=await e.data.users.get(s.tenant.id,l.user_id);if(!d)return t.redirect(`/u/login/identifier?state=${n}`);await e.data.loginSessions.update(s.tenant.id,a.id,{session_id:l.id});const p=await Gt(t,{user:d,authParams:a.authParams,client:s,loginSession:{...a,session_id:l.id},sessionId:l.id});if(!(p instanceof Response))throw new v(500,{message:y.t("unexpected_error_try_again")});return p}),Nx=({width:t=18,height:e=18,className:n})=>u("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:e,viewBox:"0 0 640 640",className:n,fill:"currentColor",role:"img",focusable:"false",children:u("path",{d:"M416.9 85.2 372 130.1 509.9 268l44.9-44.9c13.6-13.5 21.2-31.9 21.2-51.1s-7.6-37.6-21.2-51.1l-35.7-35.7C505.6 71.6 487.2 64 468 64s-37.6 7.6-51.1 21.2M338.1 164 122.9 379.1c-10.7 10.7-18.5 24.1-22.6 38.7L64.9 545.6c-2.3 8.3 0 17.3 6.2 23.4s15.1 8.5 23.4 6.2l127.8-35.5c14.6-4.1 27.9-11.8 38.7-22.6l215-215.2z"})}),Ix=!1,b0=t=>{const{theme:e,branding:n,user:r,client:i,error:s,success:a,state:c,csrfToken:l}=t;return r.identities?.filter(d=>!(d.provider===r.provider&&d.user_id===r.user_id.split("|")[1])),u(Se,{title:y.t("account_title")||"Account Settings",theme:e,branding:n,client:i,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("account_title")}),u("div",{className:"mb-8 text-gray-300",children:y.t("account_page_description")}),s&&u(Be,{className:"mb-8",children:s}),a&&u("div",{className:"mb-8 text-green",children:a}),u("div",{className:"column-left gap-6 border-y border-gray-200/50 py-6 mb-8",children:[u("div",{className:"row-left w-full !justify-between !flex-nowrap gap-4",children:[u("div",{className:"column-left gap-1.5",children:[u("div",{className:"text-gray-300",children:y.t("email_placeholder")}),u("div",{className:"font-medium text-base text-gray-800 line-clamp-1 break-all",children:r.email||y.t("no_email_address")})]}),u("a",{className:"bg-gray-200/40 p-2 rounded-md hover:bg-gray-200/75",title:y.t("edit"),"aria-label":y.t("edit"),href:c?`/u/account/change-email?state=${encodeURIComponent(c)}`:`/u/account/change-email?client_id=${encodeURIComponent(i.client_id)}`,children:u(Nx,{})})]}),Ix]})]})},jx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"HTML page showing account management interface.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{theme:r,branding:i,client:s,user:a,loginSession:c}=await vr(t,n);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in GET /u/account after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:n,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")||"A configuration error occurred."}),500);const l=pe();return await e.data.loginSessions.update(s.tenant.id,c.id,{csrf_token:l}),t.html(u(b0,{theme:r,branding:i,user:a,client:s,state:n,csrfToken:l}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({action:o.z.enum(["unlink_account"]),provider:o.z.string().optional(),user_id:o.z.string().optional(),csrf_token:o.z.string().optional()})}}}},responses:{200:{description:"HTML response with form results",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form"),{theme:i,branding:s,client:a,user:c,loginSession:l}=await vr(t,n);let d,p;try{if(r.action==="unlink_account"&&r.provider&&r.user_id){if(!r.csrf_token||r.csrf_token!==l.csrf_token)throw new Error("Invalid CSRF token");await e.data.users.unlink(a.tenant.id,c.user_id,r.provider,r.user_id),p=y.t("account_unlinked_successfully")||"Account unlinked successfully"}}catch{d=y.t("operation_failed")||"Operation failed"}const f=await e.data.users.get(a.tenant.id,c.user_id),g=pe();return await e.data.loginSessions.update(a.tenant.id,l.id,{csrf_token:g}),t.html(u(b0,{theme:i,branding:s,user:f||c,client:a,error:d,success:p,state:n,csrfToken:g}))}),v0=t=>{const{theme:e,branding:n,user:r,client:i,state:s,error:a}=t;return u(Se,{title:y.t("change_email"),theme:e,branding:n,client:i,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("change_email")}),u("div",{className:"column-left gap-1 mb-8",children:[u("div",{className:"text-gray-300",children:y.t("current_email")}),u("div",{className:"font-medium text-base text-gray-800",children:r.email||y.t("no_email_address")})]}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Bt,{children:[u("input",{type:"email",id:"email",name:"email",placeholder:y.t("new_email"),className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":a,"border-gray-100 dark:border-gray-500":!a}),required:!0}),a&&u(Be,{children:a}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u("span",{className:"uicon-info-bubble text-base"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("new_email_code_info")})]})]}),u("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/account?state=${encodeURIComponent(s)}`,children:y.t("go_back")})]})]})},Ox=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"HTML page showing email change interface.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,user:s}=await vr(t,e);return t.html(u(v0,{theme:n,branding:r,user:s,client:i,state:e}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({email:o.z.string().toLowerCase()})}}}},responses:{200:{description:"HTML response with form results",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to change-email verification page",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{email:r}=t.req.valid("form"),{theme:i,branding:s,client:a,user:c,loginSession:l}=await vr(t,n),d=await e.data.users.list(a.tenant.id,{page:1,per_page:1,include_totals:!1,q:`email:"${r}"`});if(d.users.length>0&&d.users[0]?.user_id!==c.user_id)return t.html(u(v0,{theme:i,branding:s,user:c,client:a,state:n,error:y.t("email_already_taken")||"Email is already taken"}));const p=Ln(),f=pe();await e.data.codes.create(a.tenant.id,{code_id:f,login_id:"",code_type:"email_verification",expires_at:new Date(Date.now()+Ll).toISOString(),user_id:c.user_id}),await e.data.codes.create(a.tenant.id,{code_id:p,login_id:"",code_type:"email_verification",expires_at:new Date(Date.now()+Ll).toISOString(),user_id:c.user_id});const g=l.authParams?.ui_locales?.split(" ")?.map(_=>_.split("-")[0])[0];return await qp(t,{to:r,code:p,language:g}),t.redirect(`/u/account/change-email-verify?state=${encodeURIComponent(n)}&email=${encodeURIComponent(r)}&change_id=${f}`)}),$0=6,_u=({error:t,theme:e,branding:n,client:r,email:i,success:s,state:a,redirectUrl:c})=>s?u(Se,{title:y.t("success"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("success")}),u("div",{className:"mb-8 text-gray-300",children:u(Un,{i18nKey:"email_changed_to_template",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{email:i}})}),u("div",{className:"flex flex-1 flex-col justify-center",children:u(xe,{Component:"a",href:c||(a?`/u/account?state=${encodeURIComponent(a)}`:`/u/account?client_id=${encodeURIComponent(r.client_id)}`),className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})})]}):u(Se,{title:y.t("verify_email_verify"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("verify_email_verify")}),u("div",{className:"mb-8 text-gray-300",children:u(Un,{i18nKey:"code_sent_template",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{username:i}})}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Bt,{className:"pt-2",children:[u("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:$0,inputMode:"numeric",name:"code",placeholder:"******",className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:$0,required:!0,id:"code-input"}),t&&u(Be,{children:t}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]})]}),u("a",{className:"block text-primary hover:text-primaryHover text-center",href:a?`/u/account?state=${encodeURIComponent(a)}`:`/u/account?client_id=${encodeURIComponent(r.client_id)}`,children:y.t("go_back")})]})]}),Px=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),email:o.z.string().email(),change_id:o.z.string()})},responses:{200:{description:"HTML page for email change verification",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to account or login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,email:n,change_id:r}=t.req.valid("query"),{theme:i,branding:s,client:a,user:c}=await vr(t,e),l=await t.env.data.codes.get(a.tenant.id,r,"email_verification");return!l||l.user_id!==c.user_id?t.redirect(`/u/account?state=${e}`):t.html(u(_u,{theme:i,branding:s,client:a,email:n,state:e}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),email:o.z.string().toLowerCase(),change_id:o.z.string()}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({code:o.z.string()})}}}},responses:{200:{description:"HTML response with verification result",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to confirmation page on success",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n,email:r,change_id:i}=t.req.valid("query"),{code:s}=t.req.valid("form"),{theme:a,branding:c,client:l,user:d}=await vr(t,n);let p;try{const f=await e.data.codes.get(l.tenant.id,i,"email_verification");if(!f)p=y.t("invalid_request");else if(f.user_id!==d.user_id)p=y.t("invalid_request");else if(f.used_at)p=y.t("code_already_used");else if(new Date(f.expires_at)<new Date)p=y.t("code_expired");else{const g=await e.data.codes.get(l.tenant.id,s,"email_verification");if(!g)p=y.t("invalid_code");else if(g.used_at)p=y.t("code_already_used");else if(new Date(g.expires_at)<new Date)p=y.t("code_expired");else if(g.user_id!==d.user_id)p=y.t("invalid_code");else return await e.data.codes.used(l.tenant.id,i),await e.data.codes.used(l.tenant.id,s),await e.data.users.update(l.tenant.id,d.user_id,{email:r,email_verified:!0}),t.redirect(`/u/account/change-email-confirmation?state=${encodeURIComponent(n)}&email=${encodeURIComponent(r)}`)}}catch{p=y.t("operation_failed")}return t.html(u(_u,{theme:a,branding:c,client:l,email:r,error:p,state:n}))}),Tx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),email:o.z.string().email()})},responses:{200:{description:"HTML page showing email change confirmation",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,email:n}=t.req.valid("query"),{theme:r,branding:i,client:s,loginSession:a}=await vr(t,e);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in GET /u/change-email-confirmation after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:e,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")||"A configuration error occurred."}),500);let c=`/u/account?state=${encodeURIComponent(e)}`;return a?.authorization_url&&new URL(a.authorization_url).searchParams.get("screen_hint")==="change-email"&&(c=a.authParams?.redirect_uri||c),t.html(u(_u,{theme:r,branding:i,client:s,email:n,success:!0,state:e,redirectUrl:c}))}),X1=t=>{const{theme:e,branding:n,client:r,email:i,state:s}=t;return u(Se,{title:y.t("create_password_account_title"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("create_password_account_title")}),u("div",{className:"mb-6 text-gray-300",children:y.t("enter_email_for_verification_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:u(Bt,{className:"pt-2",children:[u("input",{type:"email",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:i,disabled:!0}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("send")})]})}),u(lt,{state:s})]})},Rx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e),{username:a}=s.authParams;if(!a)throw new v(400,{message:"Username required"});return t.html(u(X1,{state:e,theme:n,branding:r,client:i,email:a}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{loginSession:n,client:r}=await ue(t,e),{username:i}=n.authParams;if(!i)throw new v(400,{message:"Username required"});const s=await t.env.data.codes.create(r.tenant.id,{code_id:Ln(),code_type:"email_verification",login_id:n.id,expires_at:new Date(Date.now()+Ll).toISOString()});return await b8(t,i,s.code_id,n.id),t.redirect(`/u/pre-signup-sent?state=${e}`)}),Z1=t=>{const{redirectUrl:e,theme:n,branding:r,client:i}=t;return u(Se,{title:y.t("invalid_session_title"),theme:n,branding:r,client:i,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:y.t("invalid_session_body")}),u("div",{className:"flex flex-1 flex-col justify-center",children:e&&u("a",{className:"block text-primary hover:text-primaryHover text-center",href:e,children:y.t("go_back")})})]})},Bx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e);let a;return s.authParams.redirect_uri&&s.authParams.state&&(a=new URL(s.authParams.redirect_uri),a.searchParams.set("state",s.authParams.state),a.searchParams.set("error","invalid_session"),a.searchParams.set("error_description",s.authParams.username||"")),t.html(u(Z1,{redirectUrl:a?.href,theme:n,branding:r,client:i}))}),Lx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i}=await ue(t,e);return t.html(u(wt,{message:"Not implemented",pageTitle:"User info",theme:n,branding:r,client:i,state:e}))}),Y1=({theme:t,branding:e,client:n,state:r})=>{const i=new URLSearchParams({state:r});return u(Se,{title:y.t("email_validated"),theme:t,branding:e,client:n,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("email_validated")}),u("div",{className:"flex flex-1 flex-col justify-center mb-7",children:u(xe,{Component:"a",href:`/u/enter-password?${i}`,className:"text-base sm:mt-4 md:text-base",children:u("div",{className:"flex items-center space-x-2",children:[u("span",{children:y.t("email_validated_cta")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})})})]})},Ux=({theme:t,branding:e,loginSession:n,className:r})=>{const i=t?.colors?.primary_button||e?.colors?.primary||"#0066cc",s=t?.colors?.primary_button_label||"#ffffff",a=t?.colors?.body_text||"#333333",c=t?.colors?.widget_background||"#ffffff",l=t?.colors?.widget_border||"#e5e7eb",d=t?.colors?.success||"#10b981",p=t?.borders?.widget_corner_radius||8,f=t?.borders?.button_border_radius||4,g=t?.borders?.show_widget_shadow??!0,_=t?.fonts?.title?.size||24,w=t?.fonts?.title?.bold??!0,k=t?.fonts?.body_text?.size||14,z={backgroundColor:c,borderColor:l,borderRadius:`${p}px`,boxShadow:g?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:a},I={fontSize:`${_}px`,fontWeight:w?"700":"400",color:t?.colors?.header||a},N={fontSize:`${k}px`,color:t?.colors?.input_labels_placeholders||"#6b7280"},S={backgroundColor:i,color:s,borderRadius:`${f}px`},C=t?.widget?.logo_position||"center",O=C==="left"?"text-left":C==="right"?"text-right":"text-center",K=t?.widget?.logo_url||e?.logo_url,W=C!=="none"&&K;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",r),children:u(Qt,{style:z,className:"border",children:[u(en,{children:[W&&u("div",{className:Y("mb-4",O),children:u(Rt,{theme:t,branding:e})}),u("div",{className:"flex justify-center mb-4",children:u("div",{className:"rounded-full p-3",style:{backgroundColor:`${d}15`},children:u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:d,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14"}),u("polyline",{points:"22 4 12 14.01 9 11.01"})]})})}),u(tn,{style:I,className:"text-center",children:y.t("email_validated","Email Verified")}),u(nn,{style:N,className:"text-center",children:y.t("email_validated_description","Your email has been successfully verified. You can now continue to login.")})]}),u(rn,{children:u("a",{href:`/u/enter-password?state=${encodeURIComponent(n.authParams.state||"")}`,className:"w-full flex items-center justify-center gap-2 h-10 px-4 py-2 rounded-md font-medium transition-colors",style:S,children:[u("span",{children:y.t("email_validated_cta","Continue to Login")}),u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),u("polyline",{points:"12 5 19 12 12 19"})]})]})})]})})},Dx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{env:r}=t,{client:i,loginSession:s,theme:a,branding:c,useShadcn:l}=await ue(t,e),{username:d}=s.authParams;if(!d)throw new v(400,{message:"Username not found in state"});const p=await pi({userAdapter:r.data.users,tenant_id:i.tenant.id,username:d,provider:"auth2"});if(!p)throw new v(500,{message:"No user found"});if(!await r.data.codes.get(i.tenant.id,n,"email_verification"))throw new v(400,{message:"Code not found or expired"});await r.data.users.update(i.tenant.id,p.user_id,{email_verified:!0});const _=(await Iu(r.data.users,i.tenant.id,d)).filter(w=>w.provider!=="auth2");if(_.length>0){const w=_.filter(k=>!k.linked_to);w.length>1&&console.error("More than one primary user found for email",d),w.length===0&&console.error("No primary user found for email",d),w.length===1&&await r.data.users.update(i.tenant.id,p.user_id,{linked_to:w[0]?.user_id})}return l?t.html(u(be,{title:y.t("email_validated","Email Verified"),theme:a,branding:c,client:i,children:u(Ux,{theme:a,branding:c,loginSession:s,client:i})})):t.html(u(Y1,{theme:a,branding:c,client:i,state:e}))}),Q1=t=>{const{theme:e,branding:n,client:r,email:i,state:s}=t;return u(Se,{title:y.t("sign_up_success"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("email_verification_for_signup_sent_title")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{className:"mb-6 text-gray-300",children:u(Un,{i18nKey:"email_verification_for_signup_sent_description",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{email:i}})}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]})]}),u(lt,{state:s})]})},Mx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e),{username:a}=s.authParams;if(!a)throw new v(400,{message:"Username required"});return t.html(u(Q1,{theme:n,branding:r,client:i,state:e,email:a}))}),Gp=`
92
+ `},M8="https://assets.sesamy.com/images/login-bg.jpg",Se=({title:t,children:e,theme:n,branding:r,client:i})=>{const s={backgroundImage:`url(${n?.page_background?.background_image_url||M8})`};return u("html",{lang:y.language||"en",children:[u("head",{children:[u("title",{children:t}),u("meta",{charset:"UTF-8"}),u("meta",{name:"robots",content:"noindex, follow"}),u("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),u("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),u("link",{rel:"preload",href:"https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2",as:"font",type:"font/woff2",crossOrigin:"anonymous"}),u("link",{rel:"stylesheet",href:"/u/css/tailwind.css"}),u("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"}),u("style",{children:D8(n,r)}),u("meta",{name:"theme-color",content:"#000000"})]}),u("body",{children:[u("div",{className:"row min-h-full w-full overflow-hidden bg-cover bg-center text-sm sm:bg-fixed sm:bg-left-top sm:pt-16 py-2",style:s,children:u("div",{className:"row-up-left w-[calc(100%-theme(space.2)-theme(space.2))] max-w-[1295px] !flex-nowrap sm:w-[calc(100%-theme(space.16)-theme(space.16))]",children:u("div",{className:"column-left w-full sm:w-auto",children:[u("div",{className:"relative flex w-full flex-col rounded-2xl bg-white px-5 py-10 dark:bg-gray-800 dark:text-white sm:min-h-[700px] sm:max-w-md sm:px-14 sm:py-14 md:min-w-[448px] short:min-h-[558px] min-h-[calc(100vh-83px)]",children:[u("div",{className:"mb-16",children:u(Tt,{theme:n,branding:r})}),u("div",{className:"flex flex-1 flex-col",children:[e,u(T1,{theme:n,branding:r,client:i})]})]}),u("div",{className:"flex w-full items-center px-6 pb-8 pt-4 justify-between",children:[u("div",{className:"flex justify-center leading-[0]",children:u("a",{href:"https://sesamy.com",target:"_blank",rel:"noreferrer",children:u(Ne,{name:"sesamy",className:"text-xl text-white"})})}),u("div",{className:"flex justify-center space-x-2 text-xs text-white sm:justify-normal md:text-xs"})]})]})})}),u("div",{id:"client-root"})]}),u("script",{type:"module",src:"/u/js/client.js"})]})},q8=t=>t==="small"?"text-base":t==="medium"?"text-2xl":t==="large"?"text-3xl":"",R1=({size:t})=>{const e=q8(t);return u("div",{className:"relative inline-block leading-[0]",children:[u(Ne,{className:Y("text-gray-200 dark:text-[#201a41]",{[e]:e}),name:"spinner-circle"}),u(Ne,{className:Y("absolute inset-0 animate-spin text-primary",{[e]:e}),name:"spinner-inner"})]})},xe=({children:t,className:e,Component:n="button",variant:r="primary",href:i,disabled:s,isLoading:a,id:c})=>{const l=n==="a"?{href:i}:{};return u(n,{class:Y("btn relative w-full rounded-lg text-center",{"px-4 py-5":r!=="custom","bg-primary text-textOnPrimary hover:bg-primaryHover":r==="primary","border border-gray-300 bg-white text-black":r==="secondary","pointer-events-none cursor-not-allowed opacity-40":s,"is-loading":a},"focus:outline-none focus:ring",e),type:"submit",disabled:s,id:c,...l,children:[u("span",{className:"btn-label flex items-center justify-center space-x-2",children:t}),u("div",{className:"btn-spinner absolute left-0 top-0 flex h-full w-full items-center justify-center",children:u(R1,{size:"medium"})})]})},B1=({connection:t,text:e,icon:n=null,canResize:r=!1,loginSession:i})=>{const s=new URLSearchParams({client_id:i.authParams.client_id,connection:t});i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.redirect_uri&&s.set("redirect_uri",i.authParams.redirect_uri),i.authParams.scope&&s.set("scope",i.authParams.scope),i.authParams.nonce&&s.set("nonce",i.authParams.nonce),i.authParams.response_type&&s.set("response_type",i.authParams.response_type),i.authParams.state&&s.set("state",i.id);const a=`/authorize?${s.toString()}`;return u(xe,{className:Y("border border-gray-200 bg-white hover:bg-gray-100 dark:border-gray-400 dark:bg-black dark:hover:bg-black/90",{"px-0 py-3 sm:px-10 sm:py-4 short:px-0 short:py-3":r,"px-10 py-3":!r}),variant:"custom","aria-label":e,Component:"a",href:a,children:[n||"",u("div",{className:Y("text-left text-black dark:text-white sm:text-base",{"hidden sm:inline short:hidden":r}),children:e})]})},Rt=({children:t,className:e})=>u("form",{id:"form",method:"post",className:e,children:t}),Os=({error:t,theme:e,branding:n,loginSession:r,email:i,client:s,isEmbedded:a,browserName:c})=>{const l=s.connections.map(({strategy:S})=>S),d=l.includes("email")||l.includes("Username-Password-Authentication"),p=l.includes("sms"),f=new Set(["email","sms","Username-Password-Authentication","auth0"]),g=s.connections.filter(S=>!f.has(S.strategy)).filter(S=>S.show_as_button!==!1).map(S=>{const E=Uu[S.strategy];return E?{...E,connectionName:S.name,displayName:S.display_name||E.displayName||S.name,iconUrl:S.options.icon_url}:null}).filter(S=>S!==null).filter(S=>!(a&&S.disableEmbeddedBrowsers)),_=d||p;let w="text",k="username";const z=d&&p?"email_or_phone_placeholder":d?"email_placeholder":"phone_placeholder";let N=y.t(z,d&&p?"Email or Phone Number":d?"Email Address":"Phone Number");return u(Se,{title:y.t("welcome"),theme:e,branding:n,client:s,children:[u("div",{id:"incognito-warning-container",className:"mb-4 hidden rounded-md border border-yellow-200 bg-yellow-50 p-4 text-sm text-yellow-800 dark:border-yellow-900 dark:bg-yellow-900/20 dark:text-yellow-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("incognito_mode_detected","Incognito Mode Detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("incognito_mode_warning","You are in incognito/private mode. Session data may not persist across page refreshes. Some features might not work as expected.")})]})]})}),a&&u("div",{className:"mb-4 rounded-md border border-orange-200 bg-orange-50 p-4 text-sm text-orange-800 dark:border-orange-900 dark:bg-orange-900/20 dark:text-orange-100",role:"alert",children:u("div",{className:"flex items-start gap-3",children:[u("span",{className:"text-lg leading-none",children:"⚠️"}),u("div",{children:[u("strong",{children:y.t("embedded_browser_detected")}),u("p",{className:"mt-1 text-xs opacity-90",children:y.t("embedded_browser_warning",{browserName:c||"app"})})]})]})}),u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("welcome")}),u("div",{className:"mb-8 text-gray-300",children:y.t("login_description_template",{authMethod:y.t(z,{defaultValue:d&&p?"email or phone number":d?"email address":"phone number"}).toLocaleLowerCase(),defaultValue:"Sign in with your {{authMethod}}"})}),u("div",{className:"flex flex-1 flex-col justify-center",children:[_&&u(Rt,{className:"mb-7",children:[u("input",{type:w,name:k,placeholder:N,className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),required:!0,value:i||""}),t&&u(Be,{children:t}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]}),_&&g.length>0&&u("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),u("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:y.t("continue_social_login")})]}),u("div",{className:"flex space-x-4 sm:flex-col sm:space-x-0 sm:space-y-4 short:flex-row short:space-x-4 short:space-y-0",children:g.map(S=>{const E=S.logo;return u(B1,{connection:S.connectionName,text:y.t("continue_with",{provider:S.displayName}),canResize:!0,icon:u(E,{className:"h-5 w-5 sm:absolute sm:left-4 sm:top-1/2 sm:h-6 sm:w-6 sm:-translate-y-1/2 short:static short:left-auto short:top-auto short:h-5 short:w-5 short:translate-y-0",iconUrl:S.iconUrl}),loginSession:r},S.connectionName)})})]})]})},F8="https://assets.sesamy.com/images/login-bg.jpg",be=({title:t,children:e,theme:n,branding:r})=>{const i=n?.page_background?.page_layout||"center",s=n?.page_background?.background_color||"#ffffff",a=n?.page_background?.background_image_url,c=a??F8,l=c?.startsWith("linear-gradient")||c?.startsWith("radial-gradient")||c?.startsWith("conic-gradient"),d=c?l?c:`url(${c})`:void 0;let p="justify-center",f="p-6 md:p-10";i==="left"?(p="justify-start",f="pl-12 pr-6 py-6 md:pl-20 md:pr-10 md:py-10"):i==="right"&&(p="justify-end",f="pr-12 pl-6 py-6 md:pr-20 md:pl-10 md:py-10");const g=Y("min-h-screen w-full flex bg-cover bg-center",p,f),_={...d&&{backgroundImage:d},backgroundColor:s,display:"flex",alignItems:"stretch",justifyContent:i==="left"?"flex-start":i==="right"?"flex-end":"center",minHeight:"100vh",width:"100%"},w=Y("w-full max-w-sm","flex flex-col justify-center");return u("html",{lang:y.language||"en",children:[u("head",{children:[u("title",{children:t}),u("meta",{charset:"UTF-8"}),u("meta",{name:"robots",content:"noindex, follow"}),u("link",{rel:"stylesheet",href:"/u/css/tailwind.css"}),u("link",{rel:"stylesheet",href:"/u/css/shadcn-ui.css"}),u("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"}),u("meta",{name:"theme-color",content:"#000000"}),r?.favicon_url&&u("link",{rel:"icon",type:"image/x-icon",href:r.favicon_url}),n?.fonts?.font_url&&u("link",{rel:"stylesheet",href:n.fonts.font_url})]}),u("body",{children:[u("div",{className:g,style:_,children:u("div",{className:w,children:[e,r?.powered_by_logo_url&&u("div",{className:"mt-5 text-left",children:u("a",{href:"https://authhero.com",target:"_blank",rel:"noopener noreferrer",className:"inline-block",children:u("img",{src:r.powered_by_logo_url,alt:"Powered by",className:"h-9 opacity-60 hover:opacity-100 transition-opacity"})})})]})}),u("div",{id:"client-root"}),u("script",{type:"module",src:"/u/js/client.js"})]})]})};class H8{parse(e){const n=this.detectEmbedded(e);return{browser:n.browser,isEmbedded:n.isEmbedded}}detectEmbedded(e){const n=[[/wv\)/i,"WebView"],[/GSA\//i,"Google Search App"],[/FBAN\//i,"Facebook"],[/FBAV\//i,"Facebook"],[/Instagram/i,"Instagram"],[/Snapchat/i,"Snapchat"],[/TikTok/i,"TikTok"],[/Twitter/i,"Twitter/X"],[/LinkedIn/i,"LinkedIn"],[/UC Browser/i,"UC Browser"],[/SamsungBrowser/i,"Samsung Internet"],[/Electron/i,"Electron"],[/Tauri/i,"Tauri"]];for(const[r,i]of n)if(r.test(e))return{isEmbedded:!0,browser:{name:i}};return{isEmbedded:!1}}}function a0(t){const n=new H8().parse(t);return{isEmbedded:n.isEmbedded??!1,browserName:n.browser?.name}}const V8=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),impersonation:o.z.string().optional()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,loginSession:i,client:s,useShadcn:a}=await ue(t,e),c=t.req.header("user-agent")||"",{isEmbedded:l,browserName:d}=a0(c);return a?t.html(u(be,{title:y.t("welcome","Login"),theme:n,branding:r,client:s,children:u(js,{theme:n,branding:r,loginSession:i,client:s,email:i.authParams.username,isEmbedded:l,browserName:d})})):t.html(u(Os,{theme:n,branding:r,loginSession:i,client:s,email:i.authParams.username,isEmbedded:l,browserName:d}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),style:o.z.enum(["classic","shadcn"]).optional().openapi({description:"UI style to use for the login page"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({username:o.z.string().transform(t=>t.toLowerCase()),login_selection:o.z.enum(["code","password"]).optional()})}}}},responses:{400:{description:"Error response"},302:{description:"Redirect to enter code or password"}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form");t.set("body",r),t.set("username",r.username);const{client:i,loginSession:s,theme:a,branding:c,useShadcn:l}=await ue(t,n);t.set("client_id",i.client_id);const d=t.req.header("user-agent")||"",{isEmbedded:p,browserName:f}=a0(d),g=t.get("countryCode"),{normalized:_,connectionType:w}=Yc(r.username,g),k=_?await _o({userAdapter:e.data.users,tenant_id:i.tenant.id,username:_,provider:w}):null,z=k?.app_metadata.strategy==="Username-Password-Authentication";if(!(i.connections.find(W=>W.strategy===w)||z&&w==="email")||!_)return l?t.html(u(be,{title:y.t("welcome","Login"),theme:a,branding:c,client:i,children:u(js,{theme:a,branding:c,loginSession:s,error:y.t("invalid_identifier"),email:r.username,client:i,isEmbedded:p,browserName:f})}),400):t.html(u(Os,{theme:a,branding:c,loginSession:s,error:y.t("invalid_identifier"),email:r.username,client:i}),400);if(k&&t.set("user_id",k.user_id),!k){const W=await r_(t,i,t.env.data,_,w);if(!W.allowed)return await ne(t,i.tenant.id,{type:ee.FAILED_SIGNUP,description:W.reason||"Public signup is disabled"}),l?t.html(u(be,{title:y.t("welcome","Login"),theme:a,branding:c,client:i,children:u(js,{theme:a,branding:c,loginSession:s,error:y.t("user_account_does_not_exist"),email:r.username,client:i,isEmbedded:p,browserName:f})}),400):t.html(u(Os,{theme:a,branding:c,loginSession:s,error:y.t("user_account_does_not_exist"),email:r.username,client:i,isEmbedded:p,browserName:f}),400)}if(s.authParams.username=_,await e.data.loginSessions.update(i.tenant.id,s.id,s),await T8(t,i,r.username,r.login_selection))return t.redirect(`/u/enter-password?state=${n}`);let I=Ln(),S=await e.data.codes.get(i.tenant.id,I,"otp");for(;S;)I=Ln(),S=await e.data.codes.get(i.tenant.id,I,"otp");const E=await t.env.data.codes.create(i.tenant.id,{code_id:I,code_type:"otp",login_id:s.id,expires_at:new Date(Date.now()+xs).toISOString(),redirect_uri:s.authParams.redirect_uri}),O=i.connections.find(W=>W.strategy===w);if(!O)throw new v(400,{message:y.t("connection_not_found",{connection:w})});const K=s.authParams?.ui_locales?.split(" ")?.map(W=>W.split("-")[0])[0];return w==="email"&&O.options.authentication_method==="magic_link"?await Fp(t,{to:_,code:E.code_id,authParams:s.authParams,language:K}):await qp(t,{to:_,code:E.code_id,language:K}),t.redirect(`/u/enter-code?state=${n}`)}),lt=t=>u("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/login/identifier?state=${t.state}`,children:y.t("go_back")});var Bo="_hp",K8={Change:"Input",DoubleClick:"DblClick"},G8={svg:"2000/svg",math:"1998/Math/MathML"},Lo=[],fu=new WeakMap,li=void 0,W8=()=>li,ln=t=>"t"in t,Sl={onClick:["click",!1]},c0=t=>{if(!t.startsWith("on"))return;if(Sl[t])return Sl[t];const e=t.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(e){const[,n,r]=e;return Sl[t]=[(K8[n]||n).toLowerCase(),!!r]}},l0=(t,e)=>li&&t instanceof SVGElement&&/[A-Z]/.test(e)&&(e in t.style||e.match(/^(?:o|pai|str|u|ve)/))?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,J8=(t,e,n)=>{e||={};for(let r in e){const i=e[r];if(r!=="children"&&(!n||n[r]!==i)){r=ta(r);const s=c0(r);if(s){if(n?.[r]!==i&&(n&&t.removeEventListener(s[0],n[r],s[1]),i!=null)){if(typeof i!="function")throw new Error(`Event handler for "${r}" is not a function`);t.addEventListener(s[0],i,s[1])}}else if(r==="dangerouslySetInnerHTML"&&i)t.innerHTML=i.__html;else if(r==="ref"){let a;typeof i=="function"?a=i(t)||(()=>i(null)):i&&"current"in i&&(i.current=t,a=()=>i.current=null),fu.set(t,a)}else if(r==="style"){const a=t.style;typeof i=="string"?a.cssText=i:(a.cssText="",i!=null&&u_(i,a.setProperty.bind(a)))}else{if(r==="value"){const c=t.nodeName;if(c==="INPUT"||c==="TEXTAREA"||c==="SELECT"){if(t.value=i==null||i===!1?null:i,c==="TEXTAREA"){t.textContent=i;continue}else if(c==="SELECT"){t.selectedIndex===-1&&(t.selectedIndex=0);continue}}}else(r==="checked"&&t.nodeName==="INPUT"||r==="selected"&&t.nodeName==="OPTION")&&(t[r]=i);const a=l0(t,r);i==null||i===!1?t.removeAttribute(a):i===!0?t.setAttribute(a,""):typeof i=="string"||typeof i=="number"?t.setAttribute(a,i):t.setAttribute(a,i.toString())}}}if(n)for(let r in n){const i=n[r];if(r!=="children"&&!(r in e)){r=ta(r);const s=c0(r);s?t.removeEventListener(s[0],i,s[1]):r==="ref"?fu.get(t)?.():t.removeAttribute(l0(t,r))}}},X8=(t,e)=>{e[ke][0]=0,Lo.push([t,e]);const n=e.tag[Ou]||e.tag,r=n.defaultProps?{...n.defaultProps,...e.props}:e.props;try{return[n.call(null,r)]}finally{Lo.pop()}},L1=(t,e,n,r,i)=>{t.vR?.length&&(r.push(...t.vR),delete t.vR),typeof t.tag=="function"&&t[ke][1][q1]?.forEach(s=>i.push(s)),t.vC.forEach(s=>{if(ln(s))n.push(s);else if(typeof s.tag=="function"||s.tag===""){s.c=e;const a=n.length;if(L1(s,e,n,r,i),s.s){for(let c=a;c<n.length;c++)n[c].s=!0;s.s=!1}}else n.push(s),s.vR?.length&&(r.push(...s.vR),delete s.vR)})},Z8=t=>{for(;;t=t.tag===Bo||!t.vC||!t.pP?t.nN:t.vC[0]){if(!t)return null;if(t.tag!==Bo&&t.e)return t.e}},U1=t=>{ln(t)||(t[ke]?.[1][q1]?.forEach(e=>e[2]?.()),fu.get(t.e)?.(),t.p===2&&t.vC?.forEach(e=>e.p=2),t.vC?.forEach(U1)),t.p||(t.e?.remove(),delete t.e),typeof t.tag=="function"&&(Qi.delete(t),Ps.delete(t),delete t[ke][3],t.a=!0)},D1=(t,e,n)=>{t.c=e,M1(t,e,n)},d0=(t,e)=>{if(e){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return n}},u0=Symbol(),M1=(t,e,n)=>{const r=[],i=[],s=[];L1(t,e,r,i,s),i.forEach(U1);const a=n?void 0:e.childNodes;let c,l=null;if(n)c=-1;else if(!a.length)c=0;else{const d=d0(a,Z8(t.nN));d!==void 0?(l=a[d],c=d):c=d0(a,r.find(p=>p.tag!==Bo&&p.e)?.e)??-1,c===-1&&(n=!0)}for(let d=0,p=r.length;d<p;d++,c++){const f=r[d];let g;if(f.s&&f.e)g=f.e,f.s=!1;else{const _=n||!f.e;ln(f)?(f.e&&f.d&&(f.e.textContent=f.t),f.d=!1,g=f.e||=document.createTextNode(f.t)):(g=f.e||=f.n?document.createElementNS(f.n,f.tag):document.createElement(f.tag),J8(g,f.props,f.pP),M1(f,g,_))}f.tag===Bo?c--:n?g.parentNode||e.appendChild(g):a[c]!==g&&a[c-1]!==g&&(a[c+1]===g?e.appendChild(a[c]):e.insertBefore(g,l||a[c]||null))}if(t.pP&&delete t.pP,s.length){const d=[],p=[];s.forEach(([,f,,g,_])=>{f&&d.push(f),g&&p.push(g),_?.()}),d.forEach(f=>f()),p.length&&requestAnimationFrame(()=>{p.forEach(f=>f())})}},Y8=(t,e)=>!!(t&&t.length===e.length&&t.every((n,r)=>n[1]===e[r][1])),Ps=new WeakMap,hu=(t,e,n)=>{const r=!n&&e.pC;n&&(e.pC||=e.vC);let i;try{n||=typeof e.tag=="function"?X8(t,e):Mo(e.props.children),n[0]?.tag===""&&n[0][Ml]&&(i=n[0][Ml],t[5].push([t,i,e]));const s=r?[...e.pC]:e.vC?[...e.vC]:void 0,a=[];let c;for(let l=0;l<n.length;l++){Array.isArray(n[l])&&n.splice(l,1,...n[l].flat());let d=Q8(n[l]);if(d){typeof d.tag=="function"&&!d.tag[o_]&&(Jr.length>0&&(d[ke][2]=Jr.map(f=>[f,f.values.at(-1)])),t[5]?.length&&(d[ke][3]=t[5].at(-1)));let p;if(s&&s.length){const f=s.findIndex(ln(d)?g=>ln(g):d.key!==void 0?g=>g.key===d.key&&g.tag===d.tag:g=>g.tag===d.tag);f!==-1&&(p=s[f],s.splice(f,1))}if(p)if(ln(d))p.t!==d.t&&(p.t=d.t,p.d=!0),d=p;else{const f=p.pP=p.props;if(p.props=d.props,p.f||=d.f||e.f,typeof d.tag=="function"){const g=p[ke][2];p[ke][2]=d[ke][2]||[],p[ke][3]=d[ke][3],!p.f&&((p.o||p)===d.o||p.tag[Wv]?.(f,p.props))&&Y8(g,p[ke][2])&&(p.s=!0)}d=p}else if(!ln(d)&&li){const f=fi(li);f&&(d.n=f)}if(!ln(d)&&!d.s&&(hu(t,d),delete d.f),a.push(d),c&&!c.s&&!d.s)for(let f=c;f&&!ln(f);f=f.vC?.at(-1))f.nN=d;c=d}}e.vR=r?[...e.vC,...s||[]]:s||[],e.vC=a,r&&delete e.pC}catch(s){if(e.f=!0,s===u0){if(i)return;throw s}const[a,c,l]=e[ke]?.[3]||[];if(c){const d=()=>Ts([0,!1,t[2]],l),p=Ps.get(l)||[];p.push(d),Ps.set(l,p);const f=c(s,()=>{const g=Ps.get(l);if(g){const _=g.indexOf(d);if(_!==-1)return g.splice(_,1),d()}});if(f){if(t[0]===1)t[1]=!0;else if(hu(t,l,[f]),(c.length===1||t!==a)&&l.c){D1(l,l.c,!1);return}throw u0}}throw s}finally{i&&t[5].pop()}},Q8=t=>{if(!(t==null||typeof t=="boolean")){if(typeof t=="string"||typeof t=="number")return{t:t.toString(),d:!0};if("vR"in t&&(t={tag:t.tag,props:t.props,key:t.key,f:t.f,type:t.tag,ref:t.props.ref,o:t.o||t}),typeof t.tag=="function")t[ke]=[0,[]];else{const e=G8[t.tag];e&&(li||=a_(""),t.props.children=[{tag:li,props:{value:t.n=`http://www.w3.org/${e}`,children:t.props.children}}])}return t}},p0=(t,e)=>{e[ke][2]?.forEach(([n,r])=>{n.values.push(r)});try{hu(t,e,void 0)}catch{return}if(e.a){delete e.a;return}e[ke][2]?.forEach(([n])=>{n.values.pop()}),(t[0]!==1||!t[1])&&D1(e,e.c,!1)},Qi=new WeakMap,f0=[],Ts=async(t,e)=>{t[5]||=[];const n=Qi.get(e);n&&n[0](void 0);let r;const i=new Promise(s=>r=s);if(Qi.set(e,[r,()=>{t[2]?t[2](t,e,s=>{p0(s,e)}).then(()=>r(e)):(p0(t,e),r(e))}]),f0.length)f0.at(-1).add(e);else{await Promise.resolve();const s=Qi.get(e);s&&(Qi.delete(e),s[1]())}return i},ex=(t,e,n)=>({tag:Bo,props:{children:t},key:n,e,p:1}),tx=0,q1=1,nx=2,rx=3,zl=new WeakMap,F1=(t,e)=>!t||!e||t.length!==e.length||e.some((n,r)=>n!==t[r]),ix=void 0,h0=[],ox=t=>{const e=()=>typeof t=="function"?t():t,n=Lo.at(-1);if(!n)return[e(),()=>{}];const[,r]=n,i=r[ke][1][tx]||=[],s=r[ke][0]++;return i[s]||=[e(),a=>{const c=ix,l=i[s];if(typeof a=="function"&&(a=a(l[0])),!Object.is(a,l[0]))if(l[0]=a,h0.length){const[d,p]=h0.at(-1);Promise.all([d===3?r:Ts([d,!1,c],r),p]).then(([f])=>{if(!f||!(d===2||d===3))return;const g=f.vC;requestAnimationFrame(()=>{setTimeout(()=>{g===f.vC&&Ts([d===3?1:0,!1,c],f)})})})}else Ts([0,!1,c],r)}]},Vp=(t,e)=>{const n=Lo.at(-1);if(!n)return t;const[,r]=n,i=r[ke][1][nx]||=[],s=r[ke][0]++,a=i[s];return F1(a?.[1],e)?i[s]=[t,e]:t=i[s][0],t},sx=t=>{const e=zl.get(t);if(e){if(e.length===2)throw e[1];return e[0]}throw t.then(n=>zl.set(t,[n]),n=>zl.set(t,[void 0,n])),t},ax=(t,e)=>{const n=Lo.at(-1);if(!n)return t();const[,r]=n,i=r[ke][1][rx]||=[],s=r[ke][0]++,a=i[s];return F1(a?.[1],e)&&(i[s]=[t(),e]),i[s][0]},cx=a_({pending:!1,data:null,method:null,action:null}),g0=new Set,lx=t=>{g0.add(t),t.finally(()=>g0.delete(t))},Kp=(t,e)=>ax(()=>n=>{let r;t&&(typeof t=="function"?r=t(n)||(()=>{t(null)}):t&&"current"in t&&(t.current=n,r=()=>{t.current=null}));const i=e(n);return()=>{i?.(),r?.()}},[t]),m0=Object.create(null),_0=Object.create(null),ds=(t,e,n,r,i)=>{if(e?.itemProp)return{tag:t,props:e,type:t,ref:e.ref};const s=document.head;let{onLoad:a,onError:c,precedence:l,blocking:d,...p}=e,f=null,g=!1;const _=Ss[t];let w;if(_.length>0){const I=s.querySelectorAll(t);e:for(const S of I)for(const E of Ss[t])if(S.getAttribute(E)===e[E]){f=S;break e}if(!f){const S=_.reduce((E,O)=>e[O]===void 0?E:`${E}-${O}-${e[O]}`,t);g=!_0[S],f=_0[S]||=(()=>{const E=document.createElement(t);for(const O of _)e[O]!==void 0&&E.setAttribute(O,e[O]),e.rel&&E.setAttribute("rel",e.rel);return E})()}}else w=s.querySelectorAll(t);l=r?l??"":void 0,r&&(p[zs]=l);const k=Vp(I=>{if(_.length>0){let S=!1;for(const E of s.querySelectorAll(t)){if(S&&E.getAttribute(zs)!==l){s.insertBefore(I,E);return}E.getAttribute(zs)===l&&(S=!0)}s.appendChild(I)}else if(w){let S=!1;for(const E of w)if(E===I){S=!0;break}S||s.insertBefore(I,s.contains(w[0])?w[0]:s.querySelector(t)),w=void 0}},[l]),z=Kp(e.ref,I=>{const S=_[0];if(n===2&&(I.innerHTML=""),(g||w)&&k(I),!c&&!a)return;let E=m0[I.getAttribute(S)]||=new Promise((O,K)=>{I.addEventListener("load",O),I.addEventListener("error",K)});a&&(E=E.then(a)),c&&(E=E.catch(c)),E.catch(()=>{})});if(i&&d==="render"){const I=Ss[t][0];if(e[I]){const S=e[I],E=m0[S]||=new Promise((O,K)=>{k(f),f.addEventListener("load",O),f.addEventListener("error",K)});sx(E)}}const N={tag:t,type:t,props:{...p,ref:z},ref:z};return N.p=n,f&&(N.e=f),ex(N,s)},dx=t=>{const e=W8();return(e&&fi(e))?.endsWith("svg")?{tag:"title",props:t,type:"title",ref:t.ref}:ds("title",t,void 0,!1,!1)},ux=t=>!t||["src","async"].some(e=>!t[e])?{tag:"script",props:t,type:"script",ref:t.ref}:ds("script",t,1,!1,!0),px=t=>!t||!["href","precedence"].every(e=>e in t)?{tag:"style",props:t,type:"style",ref:t.ref}:(t["data-href"]=t.href,delete t.href,ds("style",t,2,!0,!0)),fx=t=>!t||["onLoad","onError"].some(e=>e in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?{tag:"link",props:t,type:"link",ref:t.ref}:ds("link",t,1,"precedence"in t,!0),hx=t=>ds("meta",t,void 0,!1,!1),H1=Symbol(),gx=t=>{const{action:e,...n}=t;typeof e!="function"&&(n.action=e);const[r,i]=ox([null,!1]),s=Vp(async d=>{const p=d.isTrusted?e:d.detail[H1];if(typeof p!="function")return;d.preventDefault();const f=new FormData(d.target);i([f,!0]);const g=p(f);g instanceof Promise&&(lx(g),await g),i([null,!0])},[]),a=Kp(t.ref,d=>(d.addEventListener("submit",s),()=>{d.removeEventListener("submit",s)})),[c,l]=r;return r[1]=!1,{tag:cx,props:{value:{pending:c!==null,data:c,method:c?"post":null,action:c?e:null},children:{tag:"form",props:{...n,ref:a},type:"form",ref:a}},f:l}},V1=(t,{formAction:e,...n})=>{if(typeof e=="function"){const r=Vp(i=>{i.preventDefault(),i.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[H1]:e}}))},[]);n.ref=Kp(n.ref,i=>(i.addEventListener("click",r),()=>{i.removeEventListener("click",r)}))}return{tag:t,props:n,type:t,ref:n.ref}},mx=t=>V1("input",t),_x=t=>V1("button",t);Object.assign(ql,{title:dx,script:ux,style:px,link:fx,meta:hx,form:gx,input:mx,button:_x});c_(null);new TextEncoder;const Un=t=>{const{i18nKey:e,values:n,components:r}=t,i=y.t(e,n),s=/<(\d+)>(.*?)<\/\d+>/g,a=[];let c=0,l;for(;(l=s.exec(i))!==null;){const[,d,p]=l,f=i.substring(c,l.index);f&&a.push(f);const g=parseInt(d,10);a.push(c2(r[g],{},p)),c=s.lastIndex}return c<i.length&&a.push(i.substring(c)),u(Ya,{children:a})},y0=6,gu=({error:t,theme:e,branding:n,email:r,state:i,client:s,hasPasswordLogin:a})=>{const c=new URLSearchParams({state:i}),d=s.connections.map(({name:p})=>p).includes("auth2");return u(Se,{title:y.t("verify_your_email"),theme:e,branding:n,client:s,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("verify_your_email")}),u("div",{className:"mb-8 text-gray-300",children:u(Un,{i18nKey:"code_sent_template",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{username:r}})}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Rt,{className:"pt-2",children:[u("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:y0,inputMode:"numeric",name:"code",placeholder:"******",className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:y0,required:!0,id:"code-input"}),t&&u(Be,{children:t}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("login")}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]}),d&&u("div",{className:"text-center mb-12",children:[u("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),u("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:y.t("or")})]}),u(xe,{Component:"a",href:`/u/${a?"enter-password":"pre-signup"}?${c.toString()}`,variant:"secondary",className:"block",children:y.t("enter_your_password_btn")})]})]}),u(lt,{state:i})]})]})},yx=({maxLength:t,value:e="",disabled:n=!1,className:r,containerClassName:i,name:s,id:a,required:c,autoFocus:l})=>u("div",{className:Y("flex items-center gap-2 has-[:disabled]:opacity-50",i),"data-input-otp-container":"",children:Array.from({length:t}).map((d,p)=>u("input",{type:"text",inputMode:"numeric",maxLength:1,value:e[p]||"",disabled:n,name:p===0?s:void 0,id:p===0?a:void 0,required:p===0?c:void 0,autoFocus:p===0?l:void 0,className:Y("relative flex h-9 w-9 items-center justify-center border-y border-r border-input text-sm shadow-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md text-center font-mono","focus:z-10 focus:ring-1 focus:ring-ring","disabled:cursor-not-allowed disabled:opacity-50",r),"data-input-otp-slot":p},p))}),wx=6,w0=({error:t,theme:e,branding:n,email:r,state:i,hasPasswordLogin:s,className:a})=>{const c=new URLSearchParams({state:i}),l=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",d=e?.colors?.primary_button_label||"#ffffff",p=e?.colors?.body_text||"#333333",f=e?.colors?.input_border||"#d1d5db",g=e?.colors?.widget_background||"#ffffff",_=e?.colors?.widget_border||"#e5e7eb",w=e?.borders?.widget_corner_radius||8,k=e?.borders?.button_border_radius||4,z=e?.borders?.show_widget_shadow??!0,N=e?.fonts?.title?.size||24,I=e?.fonts?.title?.bold??!0,S=e?.fonts?.body_text?.size||14,E={backgroundColor:g,borderColor:_,borderRadius:`${w}px`,boxShadow:z?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:p},O={fontSize:`${N}px`,fontWeight:I?"700":"400",color:e?.colors?.header||p},K={fontSize:`${S}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},W={backgroundColor:l,color:d,borderRadius:`${k}px`},ie=e?.widget?.logo_position||"center",F=ie==="left"?"text-left":ie==="right"?"text-right":"text-center",se=e?.widget?.logo_url||n?.logo_url,ce=ie!=="none"&&se;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",a),children:[u(Qt,{style:E,className:"border",children:[u(en,{children:[ce&&u("div",{className:Y("mb-4",F),children:u(Tt,{theme:e,branding:n})}),u(tn,{style:O,children:y.t("verify_your_email","Verify your email")}),u(nn,{style:K,children:u(Un,{i18nKey:"code_sent_template",components:[u("span",{className:"font-medium"},"span")],values:{username:r}})})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-6",children:[u("div",{className:"grid gap-4",children:[u(_t,{htmlFor:"code",style:K,children:y.t("verification_code","Verification Code")}),u("div",{className:"flex justify-center",children:u(yx,{maxLength:wx,name:"code",id:"code",required:!0,autoFocus:!0,containerClassName:"gap-2",className:Y("w-12 h-12 text-center text-lg font-mono border rounded-md transition-colors",t?"border-red-500 focus:ring-red-500":"border-gray-300 focus:ring-blue-500 focus:border-blue-500")})}),t&&u(Be,{children:t})]}),u(Wt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:W,children:y.t("login","Login")}),u("div",{className:"text-center text-xs text-gray-500",children:u("div",{className:"flex items-center justify-center gap-1",children:[u("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:u("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z",clipRule:"evenodd"})}),u("span",{children:y.t("sent_code_spam","Check your spam folder if you don't see the code")})]})}),s&&u("div",{className:"text-center",children:[u("div",{className:"relative mb-5 block text-center",style:K,children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b",style:{borderColor:_}}),u("div",{className:"relative inline-block px-2",style:{backgroundColor:g},children:y.t("or","Or")})]}),u("a",{href:`/u/${s?"enter-password":"pre-signup"}?${c.toString()}`,className:Y("w-full inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500","border border-gray-300 bg-transparent hover:bg-gray-100 dark:border-gray-600 dark:hover:bg-gray-800","h-10 px-4 py-2"),style:{borderColor:f,borderRadius:`${k}px`,color:p},children:y.t("enter_your_password_btn","Enter your password instead")})]})]})})})]}),u(lt,{state:i})]})},wt=t=>{const{message:e,theme:n,branding:r,client:i,pageTitle:s,state:a}=t;return u(Se,{title:"Login",theme:n,branding:r,client:i,children:[s?u("div",{className:"mb-4 text-2xl font-medium",children:s}):"",u("div",{className:"text-gray-300 mb-12",children:e}),a?u(lt,{state:a}):""]})},bx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"}),style:o.z.enum(["classic","shadcn"]).optional().openapi({description:"UI style to use for the enter code page"})})},responses:{200:{description:"HTML page to enter verification code.",content:{"text/html":{schema:o.z.string()}}},400:{description:"Bad Request - HTML error page if username is missing in state.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,style:n}=t.req.valid("query");let r,i,s,a,c;n&&Ag(t,"auth_ui_style",n,{path:"/",maxAge:3600*24*365,httpOnly:!0,secure:!0,sameSite:"Lax"});try{if({theme:r,branding:i,loginSession:s,client:a,useShadcn:c}=await ue(t,e),!s.authParams.username)return t.html(u(wt,{theme:r,branding:i,client:a,state:e,pageTitle:y.t("error_page_title")||"Error",message:y.t("username_not_found_error")||"Username not found in session."}),400);const l=await _o({userAdapter:t.env.data.users,tenant_id:a.tenant.id,username:s.authParams.username,provider:"auth2"});return c?t.html(u(be,{title:y.t("verify_your_email","Verify your email"),theme:r,branding:i,client:a,children:u(w0,{theme:r,branding:i,email:s.authParams.username,state:e,hasPasswordLogin:!!l})})):t.html(u(gu,{theme:r,branding:i,email:s.authParams.username,state:e,client:a,hasPasswordLogin:!!l}))}catch(l){return console.error("Error in GET /u/enter-code:",l),i||(i=null),r||(r=null),a||(a=null),t.html(u(wt,{theme:r,branding:i,client:a,state:e,pageTitle:y.t("error_page_title")||"Error",message:y.t("unexpected_error_try_again")||"An unexpected error occurred. Please try again."}),500)}}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state"}),style:o.z.enum(["classic","shadcn"]).optional().openapi({description:"UI style to use for the enter code page"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({code:o.z.string()})}}}},responses:{302:{description:"Redirect to continue authentication flow.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML page with an error message (e.g., invalid code, username missing).",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page for unexpected issues.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,style:n}=t.req.valid("query"),{code:r}=t.req.valid("form");n&&Ag(t,"auth_ui_style",n,{path:"/",maxAge:3600*24*365,httpOnly:!0,secure:!0,sameSite:"Lax"});const{theme:i,branding:s,client:a,loginSession:c,useShadcn:l}=await ue(t,e);if(!c.authParams.username)throw new v(400,{message:y.t("username_not_found_error")||"Username not found in session."});try{t.set("client_id",a.client_id);const d=await Up(t,{client_id:a.client_id,authParams:c.authParams,username:c.authParams.username,otp:r});if(d instanceof Response)return d;throw new v(500,{message:y.t("unexpected_error_try_again")||"An unexpected error occurred. Please try again."})}catch(d){let p;try{p=await _o({userAdapter:t.env.data.users,tenant_id:a.tenant.id,username:c.authParams.username,provider:"auth2"})}catch{p=null}return l?t.html(u(be,{title:y.t("verify_your_email","Verify your email"),theme:i,branding:s,client:a,children:u(w0,{theme:i,branding:s,email:c.authParams?.username,state:e,error:d.message,hasPasswordLogin:!!p})}),400):t.html(u(gu,{theme:i,branding:s,email:c.authParams?.username,state:e,client:a,error:d.message,hasPasswordLogin:!!p}),400)}}),K1=t=>{const{theme:e,branding:n,client:r,state:i}=t;return u(Se,{title:y.t("unverified_email"),theme:e,branding:n,client:r,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:[u("p",{className:"mb-8 text-gray-300 text-lg",children:y.t("unverified_email")}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]}),u(lt,{state:i})]}),u(lt,{state:i})]})},vx=({width:t=22,height:e=17,className:n,...r})=>u("svg",{width:t,height:e,className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",...r,children:u("path",{fill:"currentColor",d:"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4 142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32M144 256a144 144 0 1 1 288 0 144 144 0 1 1-288 0m144-64c0 35.3-28.7 64-64 64-7.1 0-13.9-1.2-20.3-3.3-5.5-1.8-11.9 1.6-11.7 7.4.3 6.9 1.3 13.8 3.2 20.7 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1-5.8-.2-9.2 6.1-7.4 11.7 2.1 6.4 3.3 13.2 3.3 20.3"})}),$x=({width:t=23,height:e=18,className:n,...r})=>u("svg",{width:t,height:e,className:n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512",...r,children:u("path",{fill:"currentColor",d:"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-105.2-82.4c39.6-40.6 66.4-86.1 79.9-118.4 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8zm184.3 144.4c25.5-23.3 59.6-37.5 96.9-37.5 79.5 0 144 64.5 144 144 0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3-11.1-41.5-47.8-69.4-88.6-71.1-5.8-.2-9.2 6.1-7.4 11.7 2.1 6.4 3.3 13.2 3.3 20.3 0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1-79.5 0-144-64.5-144-144 0-6.9.5-13.6 1.4-20.2l-94.3-74.3c-22.8 29.7-39.1 59.3-48.6 82.2-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47 43.8 111.7 80.6 192.5 80.6 47.8 0 89.9-12.9 126.2-32.5z"})}),mu=({name:t,placeholder:e=y.t("password")})=>u("div",{className:"password-input relative mb-2","data-password-toggle":!0,children:[u("input",{type:"password",name:t,placeholder:e,className:"w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),u("button",{type:"button","aria-label":y.t("show_password"),title:y.t("show_password"),className:"absolute right-0 top-0 w-10 h-full rounded-r-lg text-gray-400 column hover:bg-black/5","data-password-toggle-btn":!0,children:[u(vx,{"data-show-icon":!0}),u($x,{"data-hide-icon":!0,className:"hidden"})]})]}),Rs=t=>{const{error:e,theme:n,branding:r,email:i,state:s,client:a}=t,c=new URLSearchParams({state:s});return u(Se,{title:y.t("enter_password"),theme:n,branding:r,client:a,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("enter_password")}),u("div",{className:"mb-6 text-gray-300",children:y.t("enter_password_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Rt,{className:"mb-7",children:[u("input",{type:"text",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:i}),u(mu,{name:"password"}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("login")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]}),u("a",{href:`/u/forgot-password?${c.toString()}`,className:"text-primary hover:underline mb-4",children:y.t("forgot_password_link")}),u("div",{className:"text-center mb-12",children:[u("div",{className:"relative mb-5 block text-center text-gray-300 dark:text-gray-300",children:[u("div",{className:"absolute left-0 right-0 top-1/2 border-b border-gray-200 dark:border-gray-600"}),u("div",{className:"relative inline-block bg-white px-2 dark:bg-gray-800",children:y.t("or")})]}),u("form",{method:"post",action:`/u/login/identifier?${c.toString()}`,children:[u("input",{type:"hidden",name:"login_selection",value:"code"}),u("input",{type:"hidden",name:"username",value:i}),u(xe,{variant:"secondary",className:"block",children:y.t("enter_a_code_btn")})]})]}),u(lt,{state:s})]})]})},Al=({error:t,theme:e,branding:n,loginSession:r,email:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_background||"#ffffff",p=e?.colors?.input_border||"#d1d5db",f=e?.colors?.input_filled_text||"#111827",g=e?.colors?.error||"#dc2626",_=e?.colors?.widget_background||"#ffffff",w=e?.colors?.widget_border||"#e5e7eb",k=e?.borders?.widget_corner_radius||8,z=e?.borders?.input_border_radius||4,N=e?.borders?.button_border_radius||4,I=e?.borders?.show_widget_shadow??!0,S=e?.fonts?.title?.size||24,E=e?.fonts?.title?.bold??!0,O=e?.fonts?.body_text?.size||14,K={backgroundColor:_,borderColor:w,borderRadius:`${k}px`,boxShadow:I?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},W={fontSize:`${S}px`,fontWeight:E?"700":"400",color:e?.colors?.header||l},ie={fontSize:`${O}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},F={backgroundColor:d,borderColor:t?g:p,borderRadius:`${z}px`,color:f},se={backgroundColor:a,color:c,borderRadius:`${N}px`},ce=e?.widget?.logo_position||"center",fe=ce==="left"?"text-left":ce==="right"?"text-right":"text-center",$e=e?.widget?.logo_url||n?.logo_url,_e=ce!=="none"&&$e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:K,className:"border",children:[u(en,{children:[_e&&u("div",{className:Y("mb-4",fe),children:u(Tt,{theme:e,branding:n})}),u(tn,{style:W,children:y.t("enter_password","Enter your password")}),u(nn,{style:ie,children:y.t("enter_password_description","Enter your password to continue")})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-6",children:[u("div",{className:"grid gap-2",children:[u(_t,{htmlFor:"email",style:ie,children:y.t("email","Email")}),u(jt,{id:"email",name:"username",type:"email",value:i,disabled:!0,className:"border bg-gray-50",style:{...F,cursor:"not-allowed"}})]}),u("div",{className:"grid gap-2",children:[u("div",{className:"flex items-center justify-between",children:[u(_t,{htmlFor:"password",style:ie,children:y.t("password","Password")}),u("a",{href:`/u/forgot-password?state=${r.id}`,className:"text-sm hover:underline",style:{color:a},children:y.t("forgot_password","Forgot password?")})]}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"password",name:"password",type:"password","data-password-input":"password",placeholder:y.t("password_placeholder","Enter your password"),required:!0,error:!!t,className:"border pr-8",style:F}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]}),t&&u(Be,{children:t})]}),u(Wt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:se,children:y.t("continue","Continue")}),u("div",{className:"text-center",children:u("a",{href:`/u/login/identifier?state=${r.id}`,className:"text-sm hover:underline",style:ie,children:["← ",y.t("back","Back")]})})]})})})]})})},kx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e);if(!s.authParams.username)throw new v(400,{message:"Username required"});return a?t.html(u(be,{title:y.t("enter_your_password","Enter your password"),theme:n,branding:r,client:i,children:u(Al,{theme:n,branding:r,loginSession:s,email:s.authParams.username,client:i})})):t.html(u(Rs,{theme:n,branding:r,email:s.authParams.username,state:e,client:i}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string()})}}}},responses:{200:{description:"HTML page indicating success or a next step (if not redirecting).",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to continue the authentication flow (e.g., to client, MFA, consent).",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML page with an error message (e.g., invalid password, username required).",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML page with an error message.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{password:r}=n,{theme:i,branding:s,client:a,loginSession:c,useShadcn:l}=await ue(t,e),{username:d}=c.authParams;if(!d)throw new v(400,{message:"Username required"});try{return await j1(t,a,{...c.authParams,password:r},c)}catch(p){const f=p;return f.code==="INVALID_PASSWORD"||f.code==="USER_NOT_FOUND"?l?t.html(u(be,{title:y.t("enter_your_password","Enter your password"),theme:i,branding:s,client:a,children:u(Al,{theme:i,branding:s,loginSession:c,email:d,error:y.t("invalid_password"),client:a})}),400):t.html(u(Rs,{theme:i,branding:s,email:d,error:y.t("invalid_password"),state:e,client:a}),400):f.code==="EMAIL_NOT_VERIFIED"?t.html(u(K1,{theme:i,branding:s,client:a,state:e}),400):l?t.html(u(be,{title:y.t("enter_your_password","Enter your password"),theme:i,branding:s,client:a,children:u(Al,{theme:i,branding:s,loginSession:c,email:d,error:f.message||"An unknown error occurred.",client:a})}),f.code?400:500):t.html(u(Rs,{theme:i,branding:s,email:d,error:f.message||"An unknown error occurred.",state:e,client:a}),f.code?400:500)}}),Vn=t=>{const{error:e,theme:n,branding:r,client:i,email:s,state:a,code:c}=t;return u(Se,{title:y.t("sign_up"),theme:n,branding:r,client:i,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("create_account_title")}),u("div",{className:"mb-6 text-gray-300",children:y.t("create_account_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Rt,{children:[u("input",{type:"hidden",name:"code",value:c}),u("input",{type:"email",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:s,disabled:!!s}),u("input",{type:"password",name:"password",placeholder:y.t("enter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),u("input",{type:"password",name:"re-enter-password",placeholder:y.t("reenter_new_password_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base"}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("continue")})]}),u(lt,{state:a})]})]})},Ii=({error:t,theme:e,branding:n,loginSession:r,email:i,code:s,className:a})=>{const c=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",l=e?.colors?.primary_button_label||"#ffffff",d=e?.colors?.body_text||"#333333",p=e?.colors?.input_background||"#ffffff",f=e?.colors?.input_border||"#d1d5db",g=e?.colors?.input_filled_text||"#111827",_=e?.colors?.error||"#dc2626",w=e?.colors?.widget_background||"#ffffff",k=e?.colors?.widget_border||"#e5e7eb",z=e?.borders?.widget_corner_radius||8,N=e?.borders?.input_border_radius||4,I=e?.borders?.button_border_radius||4,S=e?.borders?.show_widget_shadow??!0,E=e?.fonts?.title?.size||24,O=e?.fonts?.title?.bold??!0,K=e?.fonts?.body_text?.size||14,W={backgroundColor:w,borderColor:k,borderRadius:`${z}px`,boxShadow:S?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:d},ie={fontSize:`${E}px`,fontWeight:O?"700":"400",color:e?.colors?.header||d},F={fontSize:`${K}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},se={backgroundColor:p,borderColor:t?_:f,borderRadius:`${N}px`,color:g},ce={backgroundColor:c,color:l,borderRadius:`${I}px`},fe=e?.widget?.logo_position||"center",$e=fe==="left"?"text-left":fe==="right"?"text-right":"text-center",_e=e?.widget?.logo_url||n?.logo_url,on=fe!=="none"&&_e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",a),children:u(Qt,{style:W,className:"border",children:[u(en,{children:[on&&u("div",{className:Y("mb-4",$e),children:u(Tt,{theme:e,branding:n})}),u(tn,{style:ie,children:y.t("create_account_title","Create Account")}),u(nn,{style:F,children:y.t("create_account_description","Sign up to get started")})]}),u(rn,{children:[u("form",{method:"post",className:"space-y-4",children:[u("input",{type:"hidden",name:"state",value:r.authParams.state}),s&&u("input",{type:"hidden",name:"code",value:s}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"username",style:F,children:y.t("email_label","Email")}),u(jt,{id:"username",type:"email",name:"username",placeholder:y.t("email_placeholder","Email Address"),value:i,disabled:!!i,style:se,className:"w-full",required:!0})]}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"password",style:F,children:y.t("password","Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"password",name:"password",type:"password","data-password-input":"password",placeholder:y.t("enter_new_password_placeholder","Enter new password"),required:!0,error:!!t,className:"border pr-8",style:se}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"re-enter-password",style:F,children:y.t("confirm_password","Confirm Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"re-enter-password",name:"re-enter-password",type:"password","data-password-input":"re-enter-password",placeholder:y.t("reenter_new_password_placeholder","Re-enter new password"),required:!0,error:!!t,className:"border pr-8",style:se}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),t&&u(Be,{children:t}),u(Wt,{type:"submit",className:"w-full",style:ce,disabled:!1,children:y.t("continue","Continue")})]}),u("div",{className:"mt-4 text-center",children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(r.authParams.state||"")}`,className:"text-sm",style:{color:c},children:y.t("back_to_login","Back to Login")})})]})]})})},xx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().optional().openapi({description:"The code parameter from an email verification link"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{theme:r,branding:i,client:s,loginSession:a,useShadcn:c}=await ue(t,e),{username:l}=a.authParams;if(!l)throw new v(400,{message:"Username required"});return c?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:r,branding:i,client:s,children:u(Ii,{theme:r,branding:i,loginSession:a,email:l,code:n,client:s})})):n?t.html(u(Vn,{state:e,theme:r,branding:i,client:s,email:l,code:n})):t.html(u(Vn,{state:e,theme:r,branding:i,client:s,email:l}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string(),code:o.z.string().optional()})}}}},responses:{200:{description:"HTML page indicating success (e.g., email verification sent) or a next step.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to continue the authentication flow (e.g., to client, MFA, consent) after successful login.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML page with an error message (e.g., passwords don't match, weak password, user exists).",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML page with an error message.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e}=t.req.valid("query"),n=t.req.valid("form"),{env:r}=t,{theme:i,branding:s,client:a,loginSession:c,useShadcn:l}=await ue(t,e);try{if(!c.authParams.username)throw new v(400,{message:"Username required"});const p=a.connections.find(S=>S.strategy==="Username-Password-Authentication")?.name||"Username-Password-Authentication";if(t.set("connection",p),n.password!==n["re-enter-password"])return l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:y.t("create_account_passwords_didnt_match"),client:a})}),400):t.html(u(Vn,{state:e,code:n.code,theme:i,branding:s,client:a,error:y.t("create_account_passwords_didnt_match"),email:c.authParams.username}),400);const f=await Mp(r.data,a.tenant.id,p);try{await Dp(f,{tenantId:a.tenant.id,userId:"",newPassword:n.password,data:r.data})}catch(S){let E;return S instanceof qt?E=y.t(S.code,{defaultValue:S.message,...S.params}):E=S?.message||y.t("create_account_weak_password"),l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:E,client:a})}),400):t.html(u(Vn,{state:e,code:n.code,theme:i,branding:s,client:a,error:E,email:c.authParams.username}),400)}const g=n.code?await r.data.codes.get(a.tenant.id,n.code,"email_verification"):void 0,_=g?await r.data.loginSessions.get(a.tenant.id,g.login_id):void 0;if(await pi({userAdapter:t.env.data.users,tenant_id:a.tenant.id,username:c.authParams.username,provider:"auth2"}))return l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:y.t("user_exists_error"),client:a})}),400):t.html(u(Vn,{state:e,code:n.code,theme:i,branding:s,client:a,error:y.t("user_exists_error"),email:c.authParams.username}),400);const k=_?.authParams.username===c.authParams.username,z=`auth2|${Ka()}`,N=await r.data.users.create(a.tenant.id,{user_id:z,email:c.authParams.username,email_verified:k,provider:"auth2",connection:p,is_social:!1});if(await r.data.passwords.create(a.tenant.id,{user_id:z,password:await rr.hash(n.password,10),algorithm:"bcrypt",is_current:!0}),!k){const S=c.authParams?.ui_locales?.split(" ")?.map(E=>E.split("-")[0])[0];return await Hp(t,N,S),t.html(u(wt,{message:y.t("validate_email_body"),pageTitle:y.t("validate_email_title"),theme:i,branding:s,client:a,state:e}))}const I=await I1(t,a,{...c.authParams,password:n.password},c);return Kt(t,I)}catch(d){let p=y.t("unknown_error_message"),f=400;return d instanceof v?(p=d.message||p,f=d.status===400?400:500):d instanceof Tr?p=d.message||p:d instanceof Error&&(p=d.message||p,f=500),l?t.html(u(be,{title:y.t("sign_up","Sign Up"),theme:i,branding:s,client:a,children:u(Ii,{theme:i,branding:s,loginSession:c,email:c.authParams.username,code:n.code,error:p,client:a})}),f):t.html(u(Vn,{state:e,theme:i,branding:s,client:a,error:p,email:c.authParams.username,code:n.code}),f)}}),Rr=t=>{const{error:e,theme:n,branding:r,client:i,email:s}=t;return u(Se,{title:y.t("reset_password_title"),theme:n,branding:r,client:i,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("reset_password_title")}),u("div",{className:"mb-6 text-gray-300",children:`${y.t("reset_password_description")} ${s}`}),u("div",{className:"flex flex-1 flex-col justify-center",children:u(Rt,{children:[u(mu,{name:"password",placeholder:y.t("enter_new_password_placeholder")}),u(mu,{name:"re-enter-password",placeholder:y.t("reenter_new_password_placeholder")}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("reset_password_cta")})]})})]})},ji=({error:t,theme:e,branding:n,loginSession:r,email:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_background||"#ffffff",p=e?.colors?.input_border||"#d1d5db",f=e?.colors?.input_filled_text||"#111827",g=e?.colors?.error||"#dc2626",_=e?.colors?.widget_background||"#ffffff",w=e?.colors?.widget_border||"#e5e7eb",k=e?.borders?.widget_corner_radius||8,z=e?.borders?.input_border_radius||4,N=e?.borders?.button_border_radius||4,I=e?.borders?.show_widget_shadow??!0,S=e?.fonts?.title?.size||24,E=e?.fonts?.title?.bold??!0,O=e?.fonts?.body_text?.size||14,K={backgroundColor:_,borderColor:w,borderRadius:`${k}px`,boxShadow:I?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},W={fontSize:`${S}px`,fontWeight:E?"700":"400",color:e?.colors?.header||l},ie={fontSize:`${O}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},F={backgroundColor:d,borderColor:t?g:p,borderRadius:`${z}px`,color:f},se={backgroundColor:a,color:c,borderRadius:`${N}px`},ce=e?.widget?.logo_position||"center",fe=ce==="left"?"text-left":ce==="right"?"text-right":"text-center",$e=e?.widget?.logo_url||n?.logo_url,_e=ce!=="none"&&$e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:K,className:"border",children:[u(en,{children:[_e&&u("div",{className:Y("mb-4",fe),children:u(Tt,{theme:e,branding:n})}),u(tn,{style:W,children:y.t("reset_password_title","Reset Password")}),u(nn,{style:ie,children:`${y.t("reset_password_description","Set a new password for")} ${i}`})]}),u(rn,{children:u("form",{method:"post",className:"space-y-4",children:[u("input",{type:"hidden",name:"state",value:r.authParams.state}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"password",style:ie,children:y.t("new_password","New Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"password",name:"password",type:"password","data-password-input":"password",placeholder:y.t("enter_new_password_placeholder","Enter new password"),required:!0,error:!!t,className:"border pr-8",style:F}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"re-enter-password",style:ie,children:y.t("confirm_password","Confirm Password")}),u("div",{className:"relative","data-password-toggle":!0,children:[u(jt,{id:"re-enter-password",name:"re-enter-password",type:"password","data-password-input":"re-enter-password",placeholder:y.t("reenter_new_password_placeholder","Re-enter new password"),required:!0,error:!!t,className:"border pr-8",style:F}),u("button",{type:"button","data-password-toggle-btn":!0,className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-500 hover:text-gray-700 transition-colors","aria-label":y.t("toggle_password_visibility","Toggle password visibility"),children:[u("svg",{"data-show-icon":!0,xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),u("circle",{cx:"12",cy:"12",r:"3"})]}),u("svg",{"data-hide-icon":!0,className:"hidden",xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24"}),u("path",{d:"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),u("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),u("line",{x1:"2",x2:"22",y1:"2",y2:"22"})]})]})]})]}),t&&u(Be,{children:t}),u(Wt,{type:"submit",className:"w-full",style:se,disabled:!1,children:y.t("reset_password_cta","Reset Password")})]})})]})})},Sx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e);if(!s.authParams.username)throw new v(400,{message:"Username required"});return a?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:n,branding:r,client:i,children:u(ji,{theme:n,branding:r,loginSession:s,email:s.authParams.username,client:i})})):t.html(u(Rr,{theme:n,branding:r,client:i,email:s.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({password:o.z.string(),"re-enter-password":o.z.string()})}}}},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{password:r,"re-enter-password":i}=t.req.valid("form"),{env:s}=t,{theme:a,branding:c,client:l,loginSession:d,useShadcn:p}=await ue(t,e);if(!d.authParams.username)throw new v(400,{message:"Username required"});if(r!==i)return p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:y.t("create_account_passwords_didnt_match"),theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:y.t("create_account_passwords_didnt_match"),theme:a,branding:c,client:l,email:d.authParams.username}),400);const f=await pi({userAdapter:s.data.users,tenant_id:l.tenant.id,username:d.authParams.username,provider:"auth2"});if(!f)throw new v(400,{message:"User not found"});const g=await Mp(s.data,l.tenant.id,f.connection);try{await Dp(g,{tenantId:l.tenant.id,userId:f.user_id,newPassword:r,userData:f,data:s.data})}catch(_){const w=_?.message||y.t("create_account_weak_password");return p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:w,theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:w,theme:a,branding:c,client:l,email:d.authParams.username}),400)}try{if(!await s.data.codes.get(l.tenant.id,n,"password_reset")){const k=y.t("password_reset_code_expired","Code not found or expired");return p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:k,theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:k,theme:a,branding:c,client:l,email:d.authParams.username}),400)}const w=await s.data.passwords.get(l.tenant.id,f.user_id);w&&await s.data.passwords.update(l.tenant.id,{id:w.id,user_id:f.user_id,password:w.password,algorithm:w.algorithm,is_current:!1}),await s.data.passwords.create(l.tenant.id,{user_id:f.user_id,password:await rr.hash(r,10),algorithm:"bcrypt",is_current:!0}),f.email_verified||await s.data.users.update(l.tenant.id,f.user_id,{email_verified:!0}),await ne(t,l.tenant.id,{type:ee.SUCCESS_CHANGE_PASSWORD,description:`Password changed for ${f.email}`,userId:f.user_id})}catch(_){console.error("Password reset failed:",_);const w=_ instanceof Error?_.message:JSON.stringify(_);await ne(t,l.tenant.id,{type:ee.FAILED_CHANGE_PASSWORD,description:`Password reset failed for ${f.email}: ${w}`,userId:f.user_id});let k;return _ instanceof qt?k=y.t(_.code,{defaultValue:_.message,..._.params}):k=y.t("password_reset_failed","The password could not be reset"),p?t.html(u(be,{title:y.t("reset_password_title","Reset Password"),theme:a,branding:c,client:l,children:u(ji,{error:k,theme:a,branding:c,loginSession:d,email:d.authParams.username,client:l})}),400):t.html(u(Rr,{error:k,theme:a,branding:c,client:l,email:d.authParams.username}),400)}return t.html(u(wt,{message:y.t("password_has_been_reset"),theme:a,branding:c,client:l,state:e}))}),G1=t=>{const{error:e,theme:n,branding:r,client:i,email:s,state:a}=t;return u(Se,{title:y.t("forgot_password_title"),theme:n,branding:r,client:i,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("forgot_password_title")}),u("div",{className:"mb-6 text-gray-300",children:y.t("forgot_password_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Rt,{className:"pt-2",children:[u("input",{type:"email",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",value:s,disabled:!!s}),e&&u(Be,{children:e}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("forgot_password_cta")})]}),u(lt,{state:a})]})]})},zx=({error:t,theme:e,branding:n,loginSession:r,email:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_background||"#ffffff",p=e?.colors?.input_border||"#d1d5db",f=e?.colors?.input_filled_text||"#111827",g=e?.colors?.error||"#dc2626",_=e?.colors?.widget_background||"#ffffff",w=e?.colors?.widget_border||"#e5e7eb",k=e?.borders?.widget_corner_radius||8,z=e?.borders?.input_border_radius||4,N=e?.borders?.button_border_radius||4,I=e?.borders?.show_widget_shadow??!0,S=e?.fonts?.title?.size||24,E=e?.fonts?.title?.bold??!0,O=e?.fonts?.body_text?.size||14,K={backgroundColor:_,borderColor:w,borderRadius:`${k}px`,boxShadow:I?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},W={fontSize:`${S}px`,fontWeight:E?"700":"400",color:e?.colors?.header||l},ie={fontSize:`${O}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},F={backgroundColor:d,borderColor:t?g:p,borderRadius:`${z}px`,color:f},se={backgroundColor:a,color:c,borderRadius:`${N}px`},ce=e?.widget?.logo_position||"center",fe=ce==="left"?"text-left":ce==="right"?"text-right":"text-center",$e=e?.widget?.logo_url||n?.logo_url,_e=ce!=="none"&&$e;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:K,className:"border",children:[u(en,{children:[_e&&u("div",{className:Y("mb-4",fe),children:u(Tt,{theme:e,branding:n})}),u(tn,{style:W,children:y.t("forgot_password_title","Forgot Password")}),u(nn,{style:ie,children:y.t("forgot_password_description","Enter your email address and we'll send you a link to reset your password.")})]}),u(rn,{children:[u("form",{method:"post",className:"space-y-4",children:[u("input",{type:"hidden",name:"state",value:r.authParams.state}),u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"username",style:ie,className:"text-sm font-medium",children:y.t("email_label","Email")}),u(jt,{id:"username",type:"email",name:"username",placeholder:y.t("email_placeholder","Email Address"),value:i,disabled:!!i,style:F,className:"w-full",required:!0})]}),t&&u(Be,{children:t}),u(Wt,{type:"submit",className:"w-full",style:se,disabled:!1,children:y.t("forgot_password_cta","Send Reset Link")})]}),u("div",{className:"mt-4 text-center",children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(r.authParams.state||"")}`,className:"text-sm",style:{color:a},children:y.t("back_to_login","Back to Login")})})]})]})})},W1=t=>{const{theme:e,branding:n,client:r,state:i}=t;return u(Se,{title:"Login",theme:e,branding:n,client:r,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{children:y.t("forgot_password_email_sent")}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]})]}),u(lt,{state:i})]})},Ax=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e);return a?t.html(u(be,{title:y.t("forgot_password_title","Forgot Password"),theme:n,branding:r,client:i,children:u(zx,{theme:n,branding:r,loginSession:s,email:s.authParams.username,client:i})})):t.html(u(G1,{theme:n,branding:r,client:i,state:e,email:s.authParams.username}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e);return await S8(t,i,s.authParams.username,s.id),t.html(u(W1,{theme:n,branding:r,client:i,state:e}))}),J1=({theme:t,branding:e,client:n,state:r,user:i})=>u(Se,{title:X("check_email_title"),theme:t,branding:e,client:n,children:u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{className:"mb-8 text-gray-700 dark:text-gray-300",children:[u(Un,{i18nKey:"currently_logged_in_as",components:[u("span",{className:"font-semibold text-gray-900 dark:text-white"},"span")],values:{email:i.email||""}}),u("br",{}),X("continue_with_sso_provider_headline")]}),u("div",{className:"space-y-6",children:[u(Rt,{children:u(xe,{className:"!text-base",children:u("span",{children:y.t("yes_continue_with_existing_account")})})}),u("a",{className:"block text-center text-primary hover:text-primaryHover focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 dark:focus:ring-offset-gray-900",href:`/u/login/identifier?state=${encodeURIComponent(r)}`,children:y.t("no_use_another")})]})]})}),Ex=({theme:t,branding:e,state:n,user:r,className:i})=>{const s=t?.colors?.primary_button||e?.colors?.primary||"#0066cc",a=t?.colors?.primary_button_label||"#ffffff",c=t?.colors?.body_text||"#333333",l=t?.colors?.widget_background||"#ffffff",d=t?.colors?.widget_border||"#e5e7eb",p=t?.borders?.widget_corner_radius||8,f=t?.borders?.button_border_radius||4,g=t?.borders?.show_widget_shadow??!0,_=t?.fonts?.title?.size||24,w=t?.fonts?.title?.bold??!0,k=t?.fonts?.body_text?.size||14,z={backgroundColor:l,borderColor:d,borderRadius:`${p}px`,boxShadow:g?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:c},N={fontSize:`${_}px`,fontWeight:w?"700":"400",color:t?.colors?.header||c},I={fontSize:`${k}px`,color:t?.colors?.input_labels_placeholders||"#6b7280"},S={backgroundColor:s,color:a,borderRadius:`${f}px`},E={color:t?.colors?.links_focused_components||s,fontSize:`${k}px`},O=t?.widget?.logo_position||"center",K=O==="left"?"text-left":O==="right"?"text-right":"text-center",W=t?.widget?.logo_url||e?.logo_url,ie=O!=="none"&&W;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",i),children:u(Qt,{style:z,className:"border",children:[u(en,{children:[ie&&u("div",{className:Y("mb-4",K),children:u(Tt,{theme:t,branding:e})}),u(tn,{style:N,children:y.t("continue_with_account","Continue with account")}),u(nn,{style:I,children:[u(Un,{i18nKey:"currently_logged_in_as",components:[u("span",{className:"font-semibold"},"span")],values:{email:r.email||""}}),u("br",{}),u("br",{}),y.t("continue_with_sso_provider_headline","Do you want to continue with this account?")]})]}),u(rn,{children:u("form",{method:"post",children:u("div",{className:"grid gap-4",children:[u(Wt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:S,children:y.t("yes_continue_with_existing_account","Yes, continue")}),u("div",{className:"text-center",children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(n)}`,className:"text-sm hover:underline focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors",style:E,children:y.t("no_use_another","No, use another account")})})]})})})]})})},Cx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"HTML page to check account status or verify email.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login identifier page if no valid session.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{theme:r,branding:i,client:s,useShadcn:a}=await ue(t,n);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in GET /u/check-account after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:n,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")||"A configuration error occurred."}),500);const c=Wr(s.tenant.id,t.req.header("cookie")),l=c?await e.data.sessions.get(s.tenant.id,c):null;if(!l)return t.redirect(`/u/login/identifier?state=${n}`);const d=await e.data.users.get(s.tenant.id,l.user_id);return d?a?t.html(u(be,{title:y.t("continue_with_account","Continue with account"),theme:r,branding:i,client:s,children:u(Ex,{theme:r,branding:i,client:s,state:n,user:d})})):t.html(u(J1,{theme:r,branding:i,client:s,state:n,user:d})):t.redirect(`/u/login/identifier?state=${n}`)}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect to continue authentication flow or to login identifier.",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page for unexpected issues or if TokenResponse is returned.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{theme:r,branding:i,client:s,loginSession:a}=await ue(t,n);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in POST /u/check-account after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:n,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")}),500);const c=Wr(s.tenant.id,t.req.header("cookie")),l=c?await e.data.sessions.get(s.tenant.id,c):null;if(!l)return t.redirect(`/u/login/identifier?state=${n}`);const d=await e.data.users.get(s.tenant.id,l.user_id);if(!d)return t.redirect(`/u/login/identifier?state=${n}`);await e.data.loginSessions.update(s.tenant.id,a.id,{session_id:l.id});const p=await Kt(t,{user:d,authParams:a.authParams,client:s,loginSession:{...a,session_id:l.id},sessionId:l.id});if(!(p instanceof Response))throw new v(500,{message:y.t("unexpected_error_try_again")});return p}),Nx=({width:t=18,height:e=18,className:n})=>u("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:e,viewBox:"0 0 640 640",className:n,fill:"currentColor",role:"img",focusable:"false",children:u("path",{d:"M416.9 85.2 372 130.1 509.9 268l44.9-44.9c13.6-13.5 21.2-31.9 21.2-51.1s-7.6-37.6-21.2-51.1l-35.7-35.7C505.6 71.6 487.2 64 468 64s-37.6 7.6-51.1 21.2M338.1 164 122.9 379.1c-10.7 10.7-18.5 24.1-22.6 38.7L64.9 545.6c-2.3 8.3 0 17.3 6.2 23.4s15.1 8.5 23.4 6.2l127.8-35.5c14.6-4.1 27.9-11.8 38.7-22.6l215-215.2z"})}),Ix=!1,b0=t=>{const{theme:e,branding:n,user:r,client:i,error:s,success:a,state:c,csrfToken:l}=t;return r.identities?.filter(d=>!(d.provider===r.provider&&d.user_id===r.user_id.split("|")[1])),u(Se,{title:y.t("account_title")||"Account Settings",theme:e,branding:n,client:i,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("account_title")}),u("div",{className:"mb-8 text-gray-300",children:y.t("account_page_description")}),s&&u(Be,{className:"mb-8",children:s}),a&&u("div",{className:"mb-8 text-green",children:a}),u("div",{className:"column-left gap-6 border-y border-gray-200/50 py-6 mb-8",children:[u("div",{className:"row-left w-full !justify-between !flex-nowrap gap-4",children:[u("div",{className:"column-left gap-1.5",children:[u("div",{className:"text-gray-300",children:y.t("email_placeholder")}),u("div",{className:"font-medium text-base text-gray-800 line-clamp-1 break-all",children:r.email||y.t("no_email_address")})]}),u("a",{className:"bg-gray-200/40 p-2 rounded-md hover:bg-gray-200/75",title:y.t("edit"),"aria-label":y.t("edit"),href:c?`/u/account/change-email?state=${encodeURIComponent(c)}`:`/u/account/change-email?client_id=${encodeURIComponent(i.client_id)}`,children:u(Nx,{})})]}),Ix]})]})},jx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"HTML page showing account management interface.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{theme:r,branding:i,client:s,user:a,loginSession:c}=await vr(t,n);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in GET /u/account after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:n,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")||"A configuration error occurred."}),500);const l=pe();return await e.data.loginSessions.update(s.tenant.id,c.id,{csrf_token:l}),t.html(u(b0,{theme:r,branding:i,user:a,client:s,state:n,csrfToken:l}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({action:o.z.enum(["unlink_account"]),provider:o.z.string().optional(),user_id:o.z.string().optional(),csrf_token:o.z.string().optional()})}}}},responses:{200:{description:"HTML response with form results",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),r=t.req.valid("form"),{theme:i,branding:s,client:a,user:c,loginSession:l}=await vr(t,n);let d,p;try{if(r.action==="unlink_account"&&r.provider&&r.user_id){if(!r.csrf_token||r.csrf_token!==l.csrf_token)throw new Error("Invalid CSRF token");await e.data.users.unlink(a.tenant.id,c.user_id,r.provider,r.user_id),p=y.t("account_unlinked_successfully")||"Account unlinked successfully"}}catch{d=y.t("operation_failed")||"Operation failed"}const f=await e.data.users.get(a.tenant.id,c.user_id),g=pe();return await e.data.loginSessions.update(a.tenant.id,l.id,{csrf_token:g}),t.html(u(b0,{theme:i,branding:s,user:f||c,client:a,error:d,success:p,state:n,csrfToken:g}))}),v0=t=>{const{theme:e,branding:n,user:r,client:i,state:s,error:a}=t;return u(Se,{title:y.t("change_email"),theme:e,branding:n,client:i,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("change_email")}),u("div",{className:"column-left gap-1 mb-8",children:[u("div",{className:"text-gray-300",children:y.t("current_email")}),u("div",{className:"font-medium text-base text-gray-800",children:r.email||y.t("no_email_address")})]}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Rt,{children:[u("input",{type:"email",id:"email",name:"email",placeholder:y.t("new_email"),className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",{"border-red":a,"border-gray-100 dark:border-gray-500":!a}),required:!0}),a&&u(Be,{children:a}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u("span",{className:"uicon-info-bubble text-base"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("new_email_code_info")})]})]}),u("a",{className:"block text-primary hover:text-primaryHover text-center",href:`/u/account?state=${encodeURIComponent(s)}`,children:y.t("go_back")})]})]})},Ox=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"HTML page showing email change interface.",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,user:s}=await vr(t,e);return t.html(u(v0,{theme:n,branding:r,user:s,client:i,state:e}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({email:o.z.string().toLowerCase()})}}}},responses:{200:{description:"HTML response with form results",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to change-email verification page",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n}=t.req.valid("query"),{email:r}=t.req.valid("form"),{theme:i,branding:s,client:a,user:c,loginSession:l}=await vr(t,n),d=await e.data.users.list(a.tenant.id,{page:1,per_page:1,include_totals:!1,q:`email:"${r}"`});if(d.users.length>0&&d.users[0]?.user_id!==c.user_id)return t.html(u(v0,{theme:i,branding:s,user:c,client:a,state:n,error:y.t("email_already_taken")||"Email is already taken"}));const p=Ln(),f=pe();await e.data.codes.create(a.tenant.id,{code_id:f,login_id:"",code_type:"email_verification",expires_at:new Date(Date.now()+Ll).toISOString(),user_id:c.user_id}),await e.data.codes.create(a.tenant.id,{code_id:p,login_id:"",code_type:"email_verification",expires_at:new Date(Date.now()+Ll).toISOString(),user_id:c.user_id});const g=l.authParams?.ui_locales?.split(" ")?.map(_=>_.split("-")[0])[0];return await qp(t,{to:r,code:p,language:g}),t.redirect(`/u/account/change-email-verify?state=${encodeURIComponent(n)}&email=${encodeURIComponent(r)}&change_id=${f}`)}),$0=6,_u=({error:t,theme:e,branding:n,client:r,email:i,success:s,state:a,redirectUrl:c})=>s?u(Se,{title:y.t("success"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("success")}),u("div",{className:"mb-8 text-gray-300",children:u(Un,{i18nKey:"email_changed_to_template",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{email:i}})}),u("div",{className:"flex flex-1 flex-col justify-center",children:u(xe,{Component:"a",href:c||(a?`/u/account?state=${encodeURIComponent(a)}`:`/u/account?client_id=${encodeURIComponent(r.client_id)}`),className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})})]}):u(Se,{title:y.t("verify_email_verify"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-2xl font-medium",children:y.t("verify_email_verify")}),u("div",{className:"mb-8 text-gray-300",children:u(Un,{i18nKey:"code_sent_template",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{username:i}})}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u(Rt,{className:"pt-2",children:[u("input",{autoFocus:!0,type:"text",pattern:"[0-9]*",maxLength:$0,inputMode:"numeric",name:"code",placeholder:"******",className:Y("mb-2 w-full rounded-lg border bg-gray-100 px-4 pb-2 pt-2.5 text-center indent-[5px] font-mono text-3xl placeholder:text-gray-300 dark:bg-gray-600 md:text-3xl",{"border-red":t,"border-gray-100 dark:border-gray-500":!t}),minLength:$0,required:!0,id:"code-input"}),t&&u(Be,{children:t}),u(xe,{className:"sm:mt-4 !text-base",children:[u("span",{children:y.t("continue")}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]})]}),u("a",{className:"block text-primary hover:text-primaryHover text-center",href:a?`/u/account?state=${encodeURIComponent(a)}`:`/u/account?client_id=${encodeURIComponent(r.client_id)}`,children:y.t("go_back")})]})]}),Px=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),email:o.z.string().email(),change_id:o.z.string()})},responses:{200:{description:"HTML page for email change verification",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to account or login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,email:n,change_id:r}=t.req.valid("query"),{theme:i,branding:s,client:a,user:c}=await vr(t,e),l=await t.env.data.codes.get(a.tenant.id,r,"email_verification");return!l||l.user_id!==c.user_id?t.redirect(`/u/account?state=${e}`):t.html(u(_u,{theme:i,branding:s,client:a,email:n,state:e}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),email:o.z.string().toLowerCase(),change_id:o.z.string()}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({code:o.z.string()})}}}},responses:{200:{description:"HTML response with verification result",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to confirmation page on success",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{env:e}=t,{state:n,email:r,change_id:i}=t.req.valid("query"),{code:s}=t.req.valid("form"),{theme:a,branding:c,client:l,user:d}=await vr(t,n);let p;try{const f=await e.data.codes.get(l.tenant.id,i,"email_verification");if(!f)p=y.t("invalid_request");else if(f.user_id!==d.user_id)p=y.t("invalid_request");else if(f.used_at)p=y.t("code_already_used");else if(new Date(f.expires_at)<new Date)p=y.t("code_expired");else{const g=await e.data.codes.get(l.tenant.id,s,"email_verification");if(!g)p=y.t("invalid_code");else if(g.used_at)p=y.t("code_already_used");else if(new Date(g.expires_at)<new Date)p=y.t("code_expired");else if(g.user_id!==d.user_id)p=y.t("invalid_code");else return await e.data.codes.used(l.tenant.id,i),await e.data.codes.used(l.tenant.id,s),await e.data.users.update(l.tenant.id,d.user_id,{email:r,email_verified:!0}),t.redirect(`/u/account/change-email-confirmation?state=${encodeURIComponent(n)}&email=${encodeURIComponent(r)}`)}}catch{p=y.t("operation_failed")}return t.html(u(_u,{theme:a,branding:c,client:l,email:r,error:p,state:n}))}),Tx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),email:o.z.string().email()})},responses:{200:{description:"HTML page showing email change confirmation",content:{"text/html":{schema:o.z.string()}}},302:{description:"Redirect to login if no session",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - HTML error page if state is missing or other input error.",content:{"text/html":{schema:o.z.string()}}},500:{description:"Internal Server Error - HTML error page.",content:{"text/html":{schema:o.z.string()}}}}}),async t=>{const{state:e,email:n}=t.req.valid("query"),{theme:r,branding:i,client:s,loginSession:a}=await vr(t,e);if(!s||!s.tenant?.id)return console.error("Client or tenant ID missing in GET /u/change-email-confirmation after initJSXRoute"),t.html(u(wt,{theme:r,branding:i,client:s,state:e,pageTitle:y.t("error_page_title")||"Error",message:y.t("configuration_error_message")||"A configuration error occurred."}),500);let c=`/u/account?state=${encodeURIComponent(e)}`;return a?.authorization_url&&new URL(a.authorization_url).searchParams.get("screen_hint")==="change-email"&&(c=a.authParams?.redirect_uri||c),t.html(u(_u,{theme:r,branding:i,client:s,email:n,success:!0,state:e,redirectUrl:c}))}),X1=t=>{const{theme:e,branding:n,client:r,email:i,state:s}=t;return u(Se,{title:y.t("create_password_account_title"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("create_password_account_title")}),u("div",{className:"mb-6 text-gray-300",children:y.t("enter_email_for_verification_description")}),u("div",{className:"flex flex-1 flex-col justify-center",children:u(Rt,{className:"pt-2",children:[u("input",{type:"email",name:"username",placeholder:y.t("email_placeholder"),className:"mb-2 w-full rounded-lg bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0,value:i,disabled:!0}),u(xe,{className:"sm:mt-4 !text-base",children:y.t("send")})]})}),u(lt,{state:s})]})},Rx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e),{username:a}=s.authParams;if(!a)throw new v(400,{message:"Username required"});return t.html(u(X1,{state:e,theme:n,branding:r,client:i,email:a}))}).openapi(o.createRoute({tags:["login"],method:"post",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{loginSession:n,client:r}=await ue(t,e),{username:i}=n.authParams;if(!i)throw new v(400,{message:"Username required"});const s=await t.env.data.codes.create(r.tenant.id,{code_id:Ln(),code_type:"email_verification",login_id:n.id,expires_at:new Date(Date.now()+Ll).toISOString()});return await b8(t,i,s.code_id,n.id),t.redirect(`/u/pre-signup-sent?state=${e}`)}),Z1=t=>{const{redirectUrl:e,theme:n,branding:r,client:i}=t;return u(Se,{title:y.t("invalid_session_title"),theme:n,branding:r,client:i,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:y.t("invalid_session_body")}),u("div",{className:"flex flex-1 flex-col justify-center",children:e&&u("a",{className:"block text-primary hover:text-primaryHover text-center",href:e,children:y.t("go_back")})})]})},Bx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string()})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e);let a;return s.authParams.redirect_uri&&s.authParams.state&&(a=new URL(s.authParams.redirect_uri),a.searchParams.set("state",s.authParams.state),a.searchParams.set("error","invalid_session"),a.searchParams.set("error_description",s.authParams.username||"")),t.html(u(Z1,{redirectUrl:a?.href,theme:n,branding:r,client:i}))}),Lx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i}=await ue(t,e);return t.html(u(wt,{message:"Not implemented",pageTitle:"User info",theme:n,branding:r,client:i,state:e}))}),Y1=({theme:t,branding:e,client:n,state:r})=>{const i=new URLSearchParams({state:r});return u(Se,{title:y.t("email_validated"),theme:t,branding:e,client:n,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("email_validated")}),u("div",{className:"flex flex-1 flex-col justify-center mb-7",children:u(xe,{Component:"a",href:`/u/enter-password?${i}`,className:"text-base sm:mt-4 md:text-base",children:u("div",{className:"flex items-center space-x-2",children:[u("span",{children:y.t("email_validated_cta")}),u(Ne,{className:"text-xs",name:"arrow-right"})]})})})]})},Ux=({theme:t,branding:e,loginSession:n,className:r})=>{const i=t?.colors?.primary_button||e?.colors?.primary||"#0066cc",s=t?.colors?.primary_button_label||"#ffffff",a=t?.colors?.body_text||"#333333",c=t?.colors?.widget_background||"#ffffff",l=t?.colors?.widget_border||"#e5e7eb",d=t?.colors?.success||"#10b981",p=t?.borders?.widget_corner_radius||8,f=t?.borders?.button_border_radius||4,g=t?.borders?.show_widget_shadow??!0,_=t?.fonts?.title?.size||24,w=t?.fonts?.title?.bold??!0,k=t?.fonts?.body_text?.size||14,z={backgroundColor:c,borderColor:l,borderRadius:`${p}px`,boxShadow:g?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:a},N={fontSize:`${_}px`,fontWeight:w?"700":"400",color:t?.colors?.header||a},I={fontSize:`${k}px`,color:t?.colors?.input_labels_placeholders||"#6b7280"},S={backgroundColor:i,color:s,borderRadius:`${f}px`},E=t?.widget?.logo_position||"center",O=E==="left"?"text-left":E==="right"?"text-right":"text-center",K=t?.widget?.logo_url||e?.logo_url,W=E!=="none"&&K;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",r),children:u(Qt,{style:z,className:"border",children:[u(en,{children:[W&&u("div",{className:Y("mb-4",O),children:u(Tt,{theme:t,branding:e})}),u("div",{className:"flex justify-center mb-4",children:u("div",{className:"rounded-full p-3",style:{backgroundColor:`${d}15`},children:u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:d,"stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14"}),u("polyline",{points:"22 4 12 14.01 9 11.01"})]})})}),u(tn,{style:N,className:"text-center",children:y.t("email_validated","Email Verified")}),u(nn,{style:I,className:"text-center",children:y.t("email_validated_description","Your email has been successfully verified. You can now continue to login.")})]}),u(rn,{children:u("a",{href:`/u/enter-password?state=${encodeURIComponent(n.authParams.state||"")}`,className:"w-full flex items-center justify-center gap-2 h-10 px-4 py-2 rounded-md font-medium transition-colors",style:S,children:[u("span",{children:y.t("email_validated_cta","Continue to Login")}),u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",children:[u("line",{x1:"5",y1:"12",x2:"19",y2:"12"}),u("polyline",{points:"12 5 19 12 12 19"})]})]})})]})})},Dx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"}),code:o.z.string().openapi({description:"The code parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e,code:n}=t.req.valid("query"),{env:r}=t,{client:i,loginSession:s,theme:a,branding:c,useShadcn:l}=await ue(t,e),{username:d}=s.authParams;if(!d)throw new v(400,{message:"Username not found in state"});const p=await pi({userAdapter:r.data.users,tenant_id:i.tenant.id,username:d,provider:"auth2"});if(!p)throw new v(500,{message:"No user found"});if(!await r.data.codes.get(i.tenant.id,n,"email_verification"))throw new v(400,{message:"Code not found or expired"});await r.data.users.update(i.tenant.id,p.user_id,{email_verified:!0});const _=(await Iu(r.data.users,i.tenant.id,d)).filter(w=>w.provider!=="auth2");if(_.length>0){const w=_.filter(k=>!k.linked_to);w.length>1&&console.error("More than one primary user found for email",d),w.length===0&&console.error("No primary user found for email",d),w.length===1&&await r.data.users.update(i.tenant.id,p.user_id,{linked_to:w[0]?.user_id})}return l?t.html(u(be,{title:y.t("email_validated","Email Verified"),theme:a,branding:c,client:i,children:u(Ux,{theme:a,branding:c,loginSession:s,client:i})})):t.html(u(Y1,{theme:a,branding:c,client:i,state:e}))}),Q1=t=>{const{theme:e,branding:n,client:r,email:i,state:s}=t;return u(Se,{title:y.t("sign_up_success"),theme:e,branding:n,client:r,children:[u("div",{className:"mb-4 text-lg font-medium sm:text-2xl",children:y.t("email_verification_for_signup_sent_title")}),u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{className:"mb-6 text-gray-300",children:u(Un,{i18nKey:"email_verification_for_signup_sent_description",components:[u("span",{className:"text-black dark:text-white"},"span")],values:{email:i}})}),u("div",{className:"my-4 flex space-x-2 text-sm text-[#B2B2B2]",children:[u(Ne,{className:"text-base",name:"info-bubble"}),u("div",{className:"text-sm text-gray-300 md:text-sm",children:y.t("sent_code_spam")})]})]}),u(lt,{state:s})]})},Mx=new o.OpenAPIHono().openapi(o.createRoute({tags:["login"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Response"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s}=await ue(t,e),{username:a}=s.authParams;if(!a)throw new v(400,{message:"Username required"});return t.html(u(Q1,{theme:n,branding:r,client:i,state:e,email:a}))}),Gp=`
93
93
  @font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:400;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:500;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2) format("woff2")}@font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:600;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2) format("woff2")}@font-face{font-family:uicon;src:url(https://login2.sesamy.com/_next/static/media/uicon.0b00e08a.woff2)}[class*=" uicon-"],[class^=uicon-]{font-family:uicon!important;font-size:inherit;font-style:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.uicon-apple:before{content:"\\ea01"}.uicon-arrow-down:before{content:"\\ea02"}.uicon-arrow-left:before{content:"\\ea03"}.uicon-arrow-right:before{content:"\\ea04"}.uicon-arrow-up:before{content:"\\ea05"}.uicon-facebook:before{content:"\\ea06"}.uicon-google:before{content:"\\ea07"}.uicon-info-bubble:before{content:"\\ea08"}.uicon-info:before{content:"\\ea09"}.uicon-sesamy:before{content:"\\ea0a"}.uicon-spinner-circle:before{content:"\\ea0b"}.uicon-spinner-inner:before{content:"\\ea0c"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
94
94
 
95
95
  /*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #bfbcd7;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:KHTeka,Helvetica Neue,HelveticaNeue,TeX Gyre Heros,TeXGyreHeros,FreeSans,Nimbus Sans L,Liberation Sans,Arimo,Helvetica,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#4b4a58;opacity:1}input::placeholder,textarea::placeholder{color:#4b4a58;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}body,html{height:100%}body{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity,1));font-size:1rem;letter-spacing:.0125rem;line-height:120%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:1280px){body{font-size:1.125rem;line-height:120%}}body:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}button,input,optgroup,select,textarea{font-size:.875rem;letter-spacing:.0125rem;line-height:120%}@media (min-width:1280px){button,input,optgroup,select,textarea{font-size:1rem;line-height:120%}}h1{font-size:1.5rem;font-weight:500;line-height:120%}@media (min-width:1280px){h1{font-size:2rem;line-height:120%}}@media (min-width:640px){h1{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}@media (min-width:1280px){h1{font-size:3.5rem;letter-spacing:-.0625rem;line-height:100%}}h2{font-size:1.25rem;font-weight:500;line-height:120%}@media (min-width:1280px){h2{font-size:1.5rem;line-height:120%}}@media (min-width:640px){h2{font-size:2rem;letter-spacing:0;line-height:120%}}@media (min-width:1280px){h2{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}h3{font-size:1.125rem;font-weight:500;line-height:120%}@media (min-width:1280px){h3{font-size:1.25rem;line-height:120%}}@media (min-width:640px){h3{font-size:1.5rem;line-height:120%}}@media (min-width:1280px){h3{font-size:2rem;line-height:120%}}h4{font-size:1rem;font-weight:500;line-height:120%}@media (min-width:1280px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:640px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:1280px){h4{font-size:1.5rem;line-height:120%}}h5{font-size:.875rem;font-weight:500;line-height:120%}@media (min-width:1280px){h5{font-size:1rem;line-height:120%}}@media (min-width:640px){h5{font-size:1rem;line-height:120%}}@media (min-width:1280px){h5{font-size:1.125rem;line-height:120%}}h6{font-size:.75rem;font-weight:500;line-height:135%}@media (min-width:1280px){h6{font-size:.875rem;line-height:120%}}@media (min-width:640px){h6{font-size:.875rem;line-height:120%}}@media (min-width:1280px){h6{font-size:1rem;line-height:120%}}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1920px){.container{max-width:1920px}}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\\/2{top:50%}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.line-clamp-1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-full{height:100%}.min-h-\\[calc\\(100vh-83px\\)\\]{min-height:calc(100vh - 83px)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-5{width:1.25rem}.w-9{width:2.25rem}.w-\\[calc\\(100\\%-theme\\(space\\.2\\)-theme\\(space\\.2\\)\\)\\]{width:calc(100% - 1rem)}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\\[1295px\\]{max-width:1295px}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.\\!flex-nowrap{flex-wrap:nowrap!important}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.\\!justify-between{justify-content:space-between!important}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-2xl{border-radius:1.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.625rem}.rounded-md{border-radius:.375rem}.rounded-r-lg{border-bottom-right-radius:.625rem;border-top-right-radius:.625rem}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(248 249 251/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(191 188 215/var(--tw-border-opacity,1))}.border-gray-200\\/50{border-color:rgba(191,188,215,.5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(136 134 159/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity,1))}.border-red{--tw-border-opacity:1;border-color:rgb(252 90 90/var(--tw-border-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity,1))}.bg-gray-200\\/40{background-color:rgba(191,188,215,.4)}.bg-primary{background-color:var(--primary-color)}.bg-primaryHover{background-color:var(--primary-hover)}.bg-red\\/80{background-color:rgba(252,90,90,.8)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-2{padding-bottom:.5rem}.pb-8{padding-bottom:2rem}.pl-12{padding-left:3rem}.pl-6{padding-left:1.5rem}.pr-12{padding-right:3rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-2\\.5{padding-top:.625rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.indent-\\[5px\\]{text-indent:5px}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\\!text-base{font-size:1rem!important;line-height:120%!important}.\\!text-xs{font-size:.75rem!important;line-height:135%!important}.text-2xl{font-size:1.5rem;line-height:120%}.text-3xl{font-size:2rem;line-height:120%}.text-base{font-size:1rem;line-height:120%}.text-lg{font-size:1.125rem;line-height:120%}.text-sm{font-size:.875rem;line-height:120%}.text-xl{font-size:1.25rem;line-height:120%}.text-xs{font-size:.75rem;line-height:135%}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\\[0\\]{line-height:0}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-\\[\\#B2B2B2\\]{--tw-text-opacity:1;color:rgb(178 178 178/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(191 188 215/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(59 57 70/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(30 30 39/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(20 20 26/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(8 8 14/var(--tw-text-opacity,1))}.text-green{--tw-text-opacity:1;color:rgb(54 191 118/var(--tw-text-opacity,1))}.text-primary{color:var(--primary-color)}.text-red{--tw-text-opacity:1;color:rgb(252 90 90/var(--tw-text-opacity,1))}.text-textOnPrimary{color:var(--text-on-primary)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.accent-\\[\\#4F2D7F\\]{accent-color:#4f2d7f}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.row-up-left{align-content:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.row-left{justify-content:flex-start}.row,.row-left{align-content:center;align-items:center;display:flex;flex-direction:row;flex-wrap:wrap}.row{justify-content:center}.column-left{align-items:flex-start}.column,.column-left{display:flex;flex-direction:column;justify-content:center}.column{align-items:center}@media (min-width:1280px){.text-5xl{font-size:5.125rem;letter-spacing:-.125rem;line-height:100%}.text-4xl{font-size:3.5rem}.text-3xl,.text-4xl{letter-spacing:-.0625rem;line-height:100%}.text-3xl{font-size:3rem}.text-2xl{font-size:2rem}.text-2xl,.text-xl{line-height:120%}.text-xl{font-size:1.5rem}.text-lg{font-size:1.25rem}.text-base,.text-lg{line-height:120%}.text-base{font-size:1.125rem}.text-sm{font-size:1rem}.text-sm,.text-xs{line-height:120%}.text-xs{font-size:.875rem}}:root{--primary-color:#7d68f4;--primary-hover:#9786f6;--text-on-primary:#fff}svg{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}*,:after,:before{text-underline-offset:4px}input[type=number],input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield!important}.btn.is-loading{cursor:not-allowed;opacity:.4;pointer-events:none}.btn .btn-spinner,.btn.is-loading .btn-label{opacity:0;visibility:hidden}.btn.is-loading .btn-spinner{opacity:1;visibility:visible}[class*=" uicon-"],[class^=uicon-]{letter-spacing:0;line-height:100%}.file\\:border-0::file-selector-button{border-width:0}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:120%}.file\\:font-medium::file-selector-button{font-weight:500}.placeholder\\:text-gray-300::-moz-placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.placeholder\\:text-gray-300::placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(59 57 70/var(--tw-text-opacity,1))}.placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(59 57 70/var(--tw-text-opacity,1))}.first\\:rounded-l-md:first-child{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.first\\:border-l:first-child{border-left-width:1px}.last\\:rounded-r-md:last-child{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.hover\\:bg-black\\/5:hover{background-color:rgba(0,0,0,.05)}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity,1))}.hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(191 188 215/var(--tw-bg-opacity,1))}.hover\\:bg-gray-200\\/75:hover{background-color:rgba(191,188,215,.75)}.hover\\:bg-primaryHover:hover{background-color:var(--primary-hover)}.hover\\:bg-red\\/90:hover{background-color:rgba(252,90,90,.9)}.hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(30 30 39/var(--tw-text-opacity,1))}.hover\\:text-primaryHover:hover{color:var(--primary-hover)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:brightness-90:hover{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\\:z-10:focus{z-index:10}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-1:focus,.focus\\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-primary:focus{--tw-ring-color:var(--primary-color)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group[open] .group-open\\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:disabled~.peer-disabled\\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\\:opacity-70{opacity:.7}.has-\\[\\:disabled\\]\\:opacity-50:has(:disabled){opacity:.5}.dark\\:border-gray-400:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 74 88/var(--tw-border-opacity,1))}.dark\\:border-gray-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity,1))}.dark\\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(40 40 52/var(--tw-border-opacity,1))}.dark\\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 30 39/var(--tw-border-opacity,1))}.dark\\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(40 40 52/var(--tw-bg-opacity,1))}.dark\\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 30 39/var(--tw-bg-opacity,1))}.dark\\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 20 26/var(--tw-bg-opacity,1))}.dark\\:text-\\[\\#201a41\\]:is(.dark *){--tw-text-opacity:1;color:rgb(32 26 65/var(--tw-text-opacity,1))}.dark\\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.dark\\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.dark\\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\\:ring-offset-gray-900:is(.dark *){--tw-ring-offset-color:#08080e}.dark\\:placeholder\\:text-gray-400:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.dark\\:placeholder\\:text-gray-400:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.dark\\:hover\\:bg-black\\/90:hover:is(.dark *){background-color:rgba(0,0,0,.9)}.dark\\:hover\\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 30 39/var(--tw-bg-opacity,1))}.dark\\:hover\\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 20 26/var(--tw-bg-opacity,1))}.dark\\:focus\\:ring-offset-gray-900:focus:is(.dark *){--tw-ring-offset-color:#08080e}@media (min-width:640px){.sm\\:absolute{position:absolute}.sm\\:left-4{left:1rem}.sm\\:top-1\\/2{top:50%}.sm\\:mt-4{margin-top:1rem}.sm\\:inline{display:inline}.sm\\:h-6{height:1.5rem}.sm\\:min-h-\\[700px\\]{min-height:700px}.sm\\:w-6{width:1.5rem}.sm\\:w-\\[calc\\(100\\%-theme\\(space\\.16\\)-theme\\(space\\.16\\)\\)\\]{width:calc(100% - 8rem)}.sm\\:w-auto{width:auto}.sm\\:w-full{width:100%}.sm\\:max-w-md{max-width:28rem}.sm\\:-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:flex-col{flex-direction:column}.sm\\:justify-normal{justify-content:normal}.sm\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.sm\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\\:bg-fixed{background-attachment:fixed}.sm\\:bg-left-top{background-position:0 0}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\\:py-14{padding-bottom:3.5rem;padding-top:3.5rem}.sm\\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\\:pt-16{padding-top:4rem}.sm\\:text-2xl{font-size:1.5rem;line-height:120%}.sm\\:text-base{font-size:1rem;line-height:120%}}@media (min-width:1280px){.md\\:min-w-\\[448px\\]{min-width:448px}.md\\:p-10{padding:2.5rem}.md\\:py-10{padding-bottom:2.5rem;padding-top:2.5rem}.md\\:pl-10{padding-left:2.5rem}.md\\:pl-20{padding-left:5rem}.md\\:pr-10{padding-right:2.5rem}.md\\:pr-20{padding-right:5rem}.md\\:text-3xl{font-size:2rem;line-height:120%}.md\\:text-base{font-size:1rem;line-height:120%}.md\\:text-sm{font-size:.875rem;line-height:120%}.md\\:text-xs{font-size:.75rem;line-height:135%}}@media (max-height:900px) and (min-width:640px){.short\\:static{position:static}.short\\:left-auto{left:auto}.short\\:top-auto{top:auto}.short\\:inline{display:inline}.short\\:hidden{display:none}.short\\:h-5{height:1.25rem}.short\\:min-h-\\[558px\\]{min-height:558px}.short\\:w-5{width:1.25rem}.short\\:flex-1{flex:1 1 0%}.short\\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.short\\:flex-row{flex-direction:row}.short\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.short\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.short\\:px-0{padding-left:0;padding-right:0}.short\\:py-3{padding-bottom:.75rem;padding-top:.75rem}}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:0}.\\[\\&_h1\\]\\:mb-6 h1,.\\[\\&_h2\\]\\:mb-6 h2{margin-bottom:1.5rem}`;function qx(){if(typeof document<"u"){const t=document.createElement("style");t.innerHTML=Gp,t.setAttribute("data-authhero-tailwind",""),document.head.appendChild(t)}}const Fx='var Ke={Stringify:1},b=(e,t)=>{const n=new String(e);return n.isEscaped=!0,n.callbacks=t,n},We=/[&<>\'"]/,Ue=async(e,t)=>{let n="";t||=[];const r=await Promise.all(e);for(let a=r.length-1;n+=r[a],a--,!(a<0);a--){let i=r[a];typeof i=="object"&&t.push(...i.callbacks||[]);const s=i.isEscaped;if(i=await(typeof i=="object"?i.toString():i),typeof i=="object"&&t.push(...i.callbacks||[]),i.isEscaped??s)n+=i;else{const o=[n];A(i,o),n=o[0]}}return b(n,t)},A=(e,t)=>{const n=e.search(We);if(n===-1){t[0]+=e;return}let r,a,i=0;for(a=n;a<e.length;a++){switch(e.charCodeAt(a)){case 34:r="&quot;";break;case 39:r="&#39;";break;case 38:r="&amp;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}t[0]+=e.substring(i,a)+r,i=a+1}t[0]+=e.substring(i,a)},Ve=e=>{const t=e.callbacks;if(!t?.length)return e;const n=[e],r={};return t.forEach(a=>a({phase:Ke.Stringify,buffer:n,context:r})),n[0]},ee=Symbol("RENDERER"),G=Symbol("ERROR_HANDLER"),v=Symbol("STASH"),Ie=Symbol("INTERNAL"),Ze=Symbol("MEMO"),F=Symbol("PERMALINK"),fe=e=>(e[Ie]=!0,e),Te=e=>({value:t,children:n})=>{if(!n)return;const r={children:[{tag:fe(()=>{e.push(t)}),props:{}}]};Array.isArray(n)?r.children.push(...n.flat()):r.children.push(n),r.children.push({tag:fe(()=>{e.pop()}),props:{}});const a={tag:"",props:r,type:""};return a[G]=i=>{throw e.pop(),i},a},Le=e=>{const t=[e],n=Te(t);return n.values=t,n.Provider=n,C.push(n),n},C=[],Pe=e=>{const t=[e],n=r=>{t.push(r.value);let a;try{a=r.children?(Array.isArray(r.children)?new $e("",{},r.children):r.children).toString():""}finally{t.pop()}return a instanceof Promise?a.then(i=>b(i,i.callbacks)):b(a)};return n.values=t,n.Provider=n,n[ee]=Te(t),C.push(n),n},T=e=>e.values.at(-1),x={title:[],script:["src"],style:["data-href"],link:["href"],meta:["name","httpEquiv","charset","itemProp"]},Y={},_="data-precedence",M=e=>Array.isArray(e)?e:[e],ue=new WeakMap,de=(e,t,n,r)=>({buffer:a,context:i})=>{if(!a)return;const s=ue.get(i)||{};ue.set(i,s);const o=s[e]||=[];let u=!1;const l=x[e];if(l.length>0){e:for(const[,f]of o)for(const c of l)if((f?.[c]??null)===n?.[c]){u=!0;break e}}if(u?a[0]=a[0].replaceAll(t,""):l.length>0?o.push([t,n,r]):o.unshift([t,n,r]),a[0].indexOf("</head>")!==-1){let f;if(r===void 0)f=o.map(([c])=>c);else{const c=[];f=o.map(([d,,p])=>{let y=c.indexOf(p);return y===-1&&(c.push(p),y=c.length-1),[d,y]}).sort((d,p)=>d[1]-p[1]).map(([d])=>d)}f.forEach(c=>{a[0]=a[0].replaceAll(c,"")}),a[0]=a[0].replace(/(?=<\\/head>)/,f.join(""))}},D=(e,t,n)=>b(new w(e,n,M(t??[])).toString()),$=(e,t,n,r)=>{if("itemProp"in n)return D(e,t,n);let{precedence:a,blocking:i,...s}=n;a=r?a??"":void 0,r&&(s[_]=a);const o=new w(e,s,M(t||[])).toString();return o instanceof Promise?o.then(u=>b(o,[...u.callbacks||[],de(e,u,s,a)])):b(o,[de(e,o,s,a)])},ze=({children:e,...t})=>{const n=te();if(n){const r=T(n);if(r==="svg"||r==="head")return new w("title",t,M(e??[]))}return $("title",e,t,!1)},Je=({children:e,...t})=>{const n=te();return["src","async"].some(r=>!t[r])||n&&T(n)==="head"?D("script",e,t):$("script",e,t,!1)},Xe=({children:e,...t})=>["href","precedence"].every(n=>n in t)?(t["data-href"]=t.href,delete t.href,$("style",e,t,!0)):D("style",e,t),Ge=({children:e,...t})=>["onLoad","onError"].some(n=>n in t)||t.rel==="stylesheet"&&(!("precedence"in t)||"disabled"in t)?D("link",e,t):$("link",e,t,"precedence"in t),Ye=({children:e,...t})=>{const n=te();return n&&T(n)==="head"?D("meta",e,t):$("meta",e,t,!1)},Ne=(e,{children:t,...n})=>new w(e,n,M(t??[])),Qe=e=>(typeof e.action=="function"&&(e.action=F in e.action?e.action[F]:void 0),Ne("form",e)),Me=(e,t)=>(typeof t.formAction=="function"&&(t.formAction=F in t.formAction?t.formAction[F]:void 0),Ne(e,t)),et=e=>Me("input",e),tt=e=>Me("button",e);const V=Object.freeze(Object.defineProperty({__proto__:null,button:tt,form:Qe,input:et,link:Ge,meta:Ye,script:Je,style:Xe,title:ze},Symbol.toStringTag,{value:"Module"}));var nt=new Map([["className","class"],["htmlFor","for"],["crossOrigin","crossorigin"],["httpEquiv","http-equiv"],["itemProp","itemprop"],["fetchPriority","fetchpriority"],["noModule","nomodule"],["formAction","formaction"]]),q=e=>nt.get(e)||e,De=(e,t)=>{for(const[n,r]of Object.entries(e)){const a=n[0]==="-"||!/[A-Z]/.test(n)?n:n.replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`);t(a,r==null?null:typeof r=="number"?a.match(/^(?:a|border-im|column(?:-c|s)|flex(?:$|-[^b])|grid-(?:ar|[^a])|font-w|li|or|sca|st|ta|wido|z)|ty$/)?`${r}`:`${r}px`:r)}},P=void 0,te=()=>P,rt=e=>/[A-Z]/.test(e)&&e.match(/^(?:al|basel|clip(?:Path|Rule)$|co|do|fill|fl|fo|gl|let|lig|i|marker[EMS]|o|pai|pointe|sh|st[or]|text[^L]|tr|u|ve|w)/)?e.replace(/([A-Z])/g,"-$1").toLowerCase():e,at=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],it=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","defer","disabled","download","formnovalidate","hidden","inert","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],ne=(e,t)=>{for(let n=0,r=e.length;n<r;n++){const a=e[n];if(typeof a=="string")A(a,t);else{if(typeof a=="boolean"||a===null||a===void 0)continue;a instanceof w?a.toStringToBuffer(t):typeof a=="number"||a.isEscaped?t[0]+=a:a instanceof Promise?t.unshift("",a):ne(a,t)}}},w=class{tag;props;key;children;isEscaped=!0;localContexts;constructor(e,t,n){this.tag=e,this.props=t,this.children=n}get type(){return this.tag}get ref(){return this.props.ref||null}toString(){const e=[""];this.localContexts?.forEach(([t,n])=>{t.values.push(n)});try{this.toStringToBuffer(e)}finally{this.localContexts?.forEach(([t])=>{t.values.pop()})}return e.length===1?"callbacks"in e?Ve(b(e[0],e.callbacks)).toString():e[0]:Ue(e,e.callbacks)}toStringToBuffer(e){const t=this.tag,n=this.props;let{children:r}=this;e[0]+=`<${t}`;const a=P&&T(P)==="svg"?i=>rt(q(i)):i=>q(i);for(let[i,s]of Object.entries(n))if(i=a(i),i!=="children"){if(i==="style"&&typeof s=="object"){let o="";De(s,(u,l)=>{l!=null&&(o+=`${o?";":""}${u}:${l}`)}),e[0]+=\' style="\',A(o,e),e[0]+=\'"\'}else if(typeof s=="string")e[0]+=` ${i}="`,A(s,e),e[0]+=\'"\';else if(s!=null)if(typeof s=="number"||s.isEscaped)e[0]+=` ${i}="${s}"`;else if(typeof s=="boolean"&&it.includes(i))s&&(e[0]+=` ${i}=""`);else if(i==="dangerouslySetInnerHTML"){if(r.length>0)throw new Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");r=[b(s.__html)]}else if(s instanceof Promise)e[0]+=` ${i}="`,e.unshift(\'"\',s);else if(typeof s=="function"){if(!i.startsWith("on")&&i!=="ref")throw new Error(`Invalid prop \'${i}\' of type \'function\' supplied to \'${t}\'.`)}else e[0]+=` ${i}="`,A(s.toString(),e),e[0]+=\'"\'}if(at.includes(t)&&r.length===0){e[0]+="/>";return}e[0]+=">",ne(r,e),e[0]+=`</${t}>`}},Z=class extends w{toStringToBuffer(e){const{children:t}=this,n={...this.props};t.length&&(n.children=t.length===1?t[0]:t);const r=this.tag.call(null,n);if(!(typeof r=="boolean"||r==null))if(r instanceof Promise)if(C.length===0)e.unshift("",r);else{const a=C.map(i=>[i,i.values.at(-1)]);e.unshift("",r.then(i=>(i instanceof w&&(i.localContexts=a),i)))}else r instanceof w?r.toStringToBuffer(e):typeof r=="number"||r.isEscaped?(e[0]+=r,r.callbacks&&(e.callbacks||=[],e.callbacks.push(...r.callbacks))):A(r,e)}},$e=class extends w{toStringToBuffer(e){ne(this.children,e)}},ve=!1,z=(e,t,n)=>{if(!ve){for(const r in Y)V[r][ee]=Y[r];ve=!0}return typeof e=="function"?new Z(e,t,n):V[e]?new Z(V[e],t,n):e==="svg"||e==="head"?(P||=Pe(""),new w(e,t,[new Z(P,{value:e},n)])):new w(e,t,n)},st=({children:e})=>new $e("",{children:e},Array.isArray(e)?e:e?[e]:[]);function O(e,t,n){let r;if(!t||!("children"in t))r=z(e,t,[]);else{const a=t.children;r=Array.isArray(a)?z(e,t,a):z(e,t,[a])}return r.key=n,r}var N="_hp",ot={Change:"Input",DoubleClick:"DblClick"},lt={svg:"2000/svg",math:"1998/Math/MathML"},k=[],Q=new WeakMap,I=void 0,ct=()=>I,S=e=>"t"in e,J={onClick:["click",!1]},pe=e=>{if(!e.startsWith("on"))return;if(J[e])return J[e];const t=e.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/);if(t){const[,n,r]=t;return J[e]=[(ot[n]||n).toLowerCase(),!!r]}},he=(e,t)=>I&&e instanceof SVGElement&&/[A-Z]/.test(t)&&(t in e.style||t.match(/^(?:o|pai|str|u|ve)/))?t.replace(/([A-Z])/g,"-$1").toLowerCase():t,ft=(e,t,n)=>{t||={};for(let r in t){const a=t[r];if(r!=="children"&&(!n||n[r]!==a)){r=q(r);const i=pe(r);if(i){if(n?.[r]!==a&&(n&&e.removeEventListener(i[0],n[r],i[1]),a!=null)){if(typeof a!="function")throw new Error(`Event handler for "${r}" is not a function`);e.addEventListener(i[0],a,i[1])}}else if(r==="dangerouslySetInnerHTML"&&a)e.innerHTML=a.__html;else if(r==="ref"){let s;typeof a=="function"?s=a(e)||(()=>a(null)):a&&"current"in a&&(a.current=e,s=()=>a.current=null),Q.set(e,s)}else if(r==="style"){const s=e.style;typeof a=="string"?s.cssText=a:(s.cssText="",a!=null&&De(a,s.setProperty.bind(s)))}else{if(r==="value"){const o=e.nodeName;if(o==="INPUT"||o==="TEXTAREA"||o==="SELECT"){if(e.value=a==null||a===!1?null:a,o==="TEXTAREA"){e.textContent=a;continue}else if(o==="SELECT"){e.selectedIndex===-1&&(e.selectedIndex=0);continue}}}else(r==="checked"&&e.nodeName==="INPUT"||r==="selected"&&e.nodeName==="OPTION")&&(e[r]=a);const s=he(e,r);a==null||a===!1?e.removeAttribute(s):a===!0?e.setAttribute(s,""):typeof a=="string"||typeof a=="number"?e.setAttribute(s,a):e.setAttribute(s,a.toString())}}}if(n)for(let r in n){const a=n[r];if(r!=="children"&&!(r in t)){r=q(r);const i=pe(r);i?e.removeEventListener(i[0],a,i[1]):r==="ref"?Q.get(e)?.():e.removeAttribute(he(e,r))}}},ut=(e,t)=>{t[v][0]=0,k.push([e,t]);const n=t.tag[ee]||t.tag,r=n.defaultProps?{...n.defaultProps,...t.props}:t.props;try{return[n.call(null,r)]}finally{k.pop()}},Re=(e,t,n,r,a)=>{e.vR?.length&&(r.push(...e.vR),delete e.vR),typeof e.tag=="function"&&e[v][1][ae]?.forEach(i=>a.push(i)),e.vC.forEach(i=>{if(S(i))n.push(i);else if(typeof i.tag=="function"||i.tag===""){i.c=t;const s=n.length;if(Re(i,t,n,r,a),i.s){for(let o=s;o<n.length;o++)n[o].s=!0;i.s=!1}}else n.push(i),i.vR?.length&&(r.push(...i.vR),delete i.vR)})},dt=e=>{for(;;e=e.tag===N||!e.vC||!e.pP?e.nN:e.vC[0]){if(!e)return null;if(e.tag!==N&&e.e)return e.e}},Oe=e=>{S(e)||(e[v]?.[1][ae]?.forEach(t=>t[2]?.()),Q.get(e.e)?.(),e.p===2&&e.vC?.forEach(t=>t.p=2),e.vC?.forEach(Oe)),e.p||(e.e?.remove(),delete e.e),typeof e.tag=="function"&&(L.delete(e),B.delete(e),delete e[v][3],e.a=!0)},re=(e,t,n)=>{e.c=t,xe(e,t,n)},ge=(e,t)=>{if(t){for(let n=0,r=e.length;n<r;n++)if(e[n]===t)return n}},me=Symbol(),xe=(e,t,n)=>{const r=[],a=[],i=[];Re(e,t,r,a,i),a.forEach(Oe);const s=n?void 0:t.childNodes;let o,u=null;if(n)o=-1;else if(!s.length)o=0;else{const l=ge(s,dt(e.nN));l!==void 0?(u=s[l],o=l):o=ge(s,r.find(f=>f.tag!==N&&f.e)?.e)??-1,o===-1&&(n=!0)}for(let l=0,f=r.length;l<f;l++,o++){const c=r[l];let d;if(c.s&&c.e)d=c.e,c.s=!1;else{const p=n||!c.e;S(c)?(c.e&&c.d&&(c.e.textContent=c.t),c.d=!1,d=c.e||=document.createTextNode(c.t)):(d=c.e||=c.n?document.createElementNS(c.n,c.tag):document.createElement(c.tag),ft(d,c.props,c.pP),xe(c,d,p))}c.tag===N?o--:n?d.parentNode||t.appendChild(d):s[o]!==d&&s[o-1]!==d&&(s[o+1]===d?t.appendChild(s[o]):t.insertBefore(d,u||s[o]||null))}if(e.pP&&delete e.pP,i.length){const l=[],f=[];i.forEach(([,c,,d,p])=>{c&&l.push(c),d&&f.push(d),p?.()}),l.forEach(c=>c()),f.length&&requestAnimationFrame(()=>{f.forEach(c=>c())})}},vt=(e,t)=>!!(e&&e.length===t.length&&e.every((n,r)=>n[1]===t[r][1])),B=new WeakMap,K=(e,t,n)=>{const r=!n&&t.pC;n&&(t.pC||=t.vC);let a;try{n||=typeof t.tag=="function"?ut(e,t):M(t.props.children),n[0]?.tag===""&&n[0][G]&&(a=n[0][G],e[5].push([e,a,t]));const i=r?[...t.pC]:t.vC?[...t.vC]:void 0,s=[];let o;for(let u=0;u<n.length;u++){Array.isArray(n[u])&&n.splice(u,1,...n[u].flat());let l=_e(n[u]);if(l){typeof l.tag=="function"&&!l.tag[Ie]&&(C.length>0&&(l[v][2]=C.map(c=>[c,c.values.at(-1)])),e[5]?.length&&(l[v][3]=e[5].at(-1)));let f;if(i&&i.length){const c=i.findIndex(S(l)?d=>S(d):l.key!==void 0?d=>d.key===l.key&&d.tag===l.tag:d=>d.tag===l.tag);c!==-1&&(f=i[c],i.splice(c,1))}if(f)if(S(l))f.t!==l.t&&(f.t=l.t,f.d=!0),l=f;else{const c=f.pP=f.props;if(f.props=l.props,f.f||=l.f||t.f,typeof l.tag=="function"){const d=f[v][2];f[v][2]=l[v][2]||[],f[v][3]=l[v][3],!f.f&&((f.o||f)===l.o||f.tag[Ze]?.(c,f.props))&&vt(d,f[v][2])&&(f.s=!0)}l=f}else if(!S(l)&&I){const c=T(I);c&&(l.n=c)}if(!S(l)&&!l.s&&(K(e,l),delete l.f),s.push(l),o&&!o.s&&!l.s)for(let c=o;c&&!S(c);c=c.vC?.at(-1))c.nN=l;o=l}}t.vR=r?[...t.vC,...i||[]]:i||[],t.vC=s,r&&delete t.pC}catch(i){if(t.f=!0,i===me){if(a)return;throw i}const[s,o,u]=t[v]?.[3]||[];if(o){const l=()=>H([0,!1,e[2]],u),f=B.get(u)||[];f.push(l),B.set(u,f);const c=o(i,()=>{const d=B.get(u);if(d){const p=d.indexOf(l);if(p!==-1)return d.splice(p,1),l()}});if(c){if(e[0]===1)e[1]=!0;else if(K(e,u,[c]),(o.length===1||e!==s)&&u.c){re(u,u.c,!1);return}throw me}}throw i}finally{a&&e[5].pop()}},_e=e=>{if(!(e==null||typeof e=="boolean")){if(typeof e=="string"||typeof e=="number")return{t:e.toString(),d:!0};if("vR"in e&&(e={tag:e.tag,props:e.props,key:e.key,f:e.f,type:e.tag,ref:e.props.ref,o:e.o||e}),typeof e.tag=="function")e[v]=[0,[]];else{const t=lt[e.tag];t&&(I||=Le(""),e.props.children=[{tag:I,props:{value:e.n=`http://www.w3.org/${t}`,children:e.props.children}}])}return e}},Be=(e,t,n)=>{e.c===t&&(e.c=n,e.vC.forEach(r=>Be(r,t,n)))},ye=(e,t)=>{t[v][2]?.forEach(([n,r])=>{n.values.push(r)});try{K(e,t,void 0)}catch{return}if(t.a){delete t.a;return}t[v][2]?.forEach(([n])=>{n.values.pop()}),(e[0]!==1||!e[1])&&re(t,t.c,!1)},L=new WeakMap,Ee=[],H=async(e,t)=>{e[5]||=[];const n=L.get(t);n&&n[0](void 0);let r;const a=new Promise(i=>r=i);if(L.set(t,[r,()=>{e[2]?e[2](e,t,i=>{ye(i,t)}).then(()=>r(t)):(ye(e,t),r(t))}]),Ee.length)Ee.at(-1).add(t);else{await Promise.resolve();const i=L.get(t);i&&(L.delete(t),i[1]())}return a},pt=(e,t)=>{const n=[];n[5]=[],n[4]=!0,K(n,e,void 0),n[4]=!1;const r=document.createDocumentFragment();re(e,r,!0),Be(e,r,t),t.replaceChildren(r)},ht=(e,t,n)=>({tag:N,props:{children:e},key:n,e:t,p:1}),gt=0,ae=1,mt=2,yt=3,X=new WeakMap,ie=(e,t)=>!e||!t||e.length!==t.length||t.some((n,r)=>n!==e[r]),Et=void 0,we=[],He=e=>{const t=()=>typeof e=="function"?e():e,n=k.at(-1);if(!n)return[t(),()=>{}];const[,r]=n,a=r[v][1][gt]||=[],i=r[v][0]++;return a[i]||=[t(),s=>{const o=Et,u=a[i];if(typeof s=="function"&&(s=s(u[0])),!Object.is(s,u[0]))if(u[0]=s,we.length){const[l,f]=we.at(-1);Promise.all([l===3?r:H([l,!1,o],r),f]).then(([c])=>{if(!c||!(l===2||l===3))return;const d=c.vC;requestAnimationFrame(()=>{setTimeout(()=>{d===c.vC&&H([l===3?1:0,!1,o],c)})})})}else H([0,!1,o],r)}]},wt=(e,t,n)=>{const r=k.at(-1);if(!r)return;const[,a]=r,i=a[v][1][ae]||=[],s=a[v][0]++,[o,,u]=i[s]||=[];if(ie(o,n)){u&&u();const l=()=>{f[e]=void 0,f[2]=t()},f=[n,void 0,void 0,void 0,void 0];f[e]=l,i[s]=f}},je=(e,t)=>wt(3,e,t),se=(e,t)=>{const n=k.at(-1);if(!n)return e;const[,r]=n,a=r[v][1][mt]||=[],i=r[v][0]++,s=a[i];return ie(s?.[1],t)?a[i]=[e,t]:e=a[i][0],e},St=e=>{const t=X.get(e);if(t){if(t.length===2)throw t[1];return t[0]}throw e.then(n=>X.set(e,[n]),n=>X.set(e,[void 0,n])),e},bt=(e,t)=>{const n=k.at(-1);if(!n)return e();const[,r]=n,a=r[v][1][yt]||=[],i=r[v][0]++,s=a[i];return ie(s?.[1],t)&&(a[i]=[e(),t]),a[i][0]},At=Le({pending:!1,data:null,method:null,action:null}),Se=new Set,Ct=e=>{Se.add(e),e.finally(()=>Se.delete(e))},oe=(e,t)=>bt(()=>n=>{let r;e&&(typeof e=="function"?r=e(n)||(()=>{e(null)}):e&&"current"in e&&(e.current=n,r=()=>{e.current=null}));const a=t(n);return()=>{a?.(),r?.()}},[e]),be=Object.create(null),Ae=Object.create(null),R=(e,t,n,r,a)=>{if(t?.itemProp)return{tag:e,props:t,type:e,ref:t.ref};const i=document.head;let{onLoad:s,onError:o,precedence:u,blocking:l,...f}=t,c=null,d=!1;const p=x[e];let y;if(p.length>0){const g=i.querySelectorAll(e);e:for(const m of g)for(const h of x[e])if(m.getAttribute(h)===t[h]){c=m;break e}if(!c){const m=p.reduce((h,E)=>t[E]===void 0?h:`${h}-${E}-${t[E]}`,e);d=!Ae[m],c=Ae[m]||=(()=>{const h=document.createElement(e);for(const E of p)t[E]!==void 0&&h.setAttribute(E,t[E]),t.rel&&h.setAttribute("rel",t.rel);return h})()}}else y=i.querySelectorAll(e);u=r?u??"":void 0,r&&(f[_]=u);const le=se(g=>{if(p.length>0){let m=!1;for(const h of i.querySelectorAll(e)){if(m&&h.getAttribute(_)!==u){i.insertBefore(g,h);return}h.getAttribute(_)===u&&(m=!0)}i.appendChild(g)}else if(y){let m=!1;for(const h of y)if(h===g){m=!0;break}m||i.insertBefore(g,i.contains(y[0])?y[0]:i.querySelector(e)),y=void 0}},[u]),ce=oe(t.ref,g=>{const m=p[0];if(n===2&&(g.innerHTML=""),(d||y)&&le(g),!o&&!s)return;let h=be[g.getAttribute(m)]||=new Promise((E,U)=>{g.addEventListener("load",E),g.addEventListener("error",U)});s&&(h=h.then(s)),o&&(h=h.catch(o)),h.catch(()=>{})});if(a&&l==="render"){const g=x[e][0];if(t[g]){const m=t[g],h=be[m]||=new Promise((E,U)=>{le(c),c.addEventListener("load",E),c.addEventListener("error",U)});St(h)}}const W={tag:e,type:e,props:{...f,ref:ce},ref:ce};return W.p=n,c&&(W.e=c),ht(W,i)},kt=e=>{const t=ct();return(t&&T(t))?.endsWith("svg")?{tag:"title",props:e,type:"title",ref:e.ref}:R("title",e,void 0,!1,!1)},It=e=>!e||["src","async"].some(t=>!e[t])?{tag:"script",props:e,type:"script",ref:e.ref}:R("script",e,1,!1,!0),Tt=e=>!e||!["href","precedence"].every(t=>t in e)?{tag:"style",props:e,type:"style",ref:e.ref}:(e["data-href"]=e.href,delete e.href,R("style",e,2,!0,!0)),Lt=e=>!e||["onLoad","onError"].some(t=>t in e)||e.rel==="stylesheet"&&(!("precedence"in e)||"disabled"in e)?{tag:"link",props:e,type:"link",ref:e.ref}:R("link",e,1,"precedence"in e,!0),Pt=e=>R("meta",e,void 0,!1,!1),Fe=Symbol(),Nt=e=>{const{action:t,...n}=e;typeof t!="function"&&(n.action=t);const[r,a]=He([null,!1]),i=se(async l=>{const f=l.isTrusted?t:l.detail[Fe];if(typeof f!="function")return;l.preventDefault();const c=new FormData(l.target);a([c,!0]);const d=f(c);d instanceof Promise&&(Ct(d),await d),a([null,!0])},[]),s=oe(e.ref,l=>(l.addEventListener("submit",i),()=>{l.removeEventListener("submit",i)})),[o,u]=r;return r[1]=!1,{tag:At,props:{value:{pending:o!==null,data:o,method:o?"post":null,action:o?t:null},children:{tag:"form",props:{...n,ref:s},type:"form",ref:s}},f:u}},qe=(e,{formAction:t,...n})=>{if(typeof t=="function"){const r=se(a=>{a.preventDefault(),a.currentTarget.form.dispatchEvent(new CustomEvent("submit",{detail:{[Fe]:t}}))},[]);n.ref=oe(n.ref,a=>(a.addEventListener("click",r),()=>{a.removeEventListener("click",r)}))}return{tag:e,props:n,type:e,ref:n.ref}},Mt=e=>qe("input",e),Dt=e=>qe("button",e);Object.assign(Y,{title:kt,script:It,style:Tt,link:Lt,meta:Pt,form:Nt,input:Mt,button:Dt});Pe(null);new TextEncoder;var $t=(e,t={})=>{let n;return Object.keys(t).length>0&&console.warn("createRoot options are not supported yet"),{render(r){if(n===null)throw new Error("Cannot update an unmounted root");n?n(r):pt(_e({tag:()=>{const[a,i]=He(r);return n=i,a},props:{}}),e)},unmount(){n?.(null),n=null}}},Rt=(e,t,n={})=>{const r=$t(e,n);return r.render(t),r};function Ot(){return je(()=>{const e=document.querySelectorAll("form"),t=[];return e.forEach(n=>{const r=i=>{if(i.defaultPrevented)return;const s=i.submitter;s&&s.type==="submit"&&(s.classList.add("is-loading"),s.disabled=!0)};n.addEventListener("submit",r);const a=i=>{i.persisted&&n.querySelectorAll("button[type=submit]").forEach(o=>{o.classList.remove("is-loading"),o.disabled=!1})};window.addEventListener("pageshow",a),t.push(()=>{n.removeEventListener("submit",r),window.removeEventListener("pageshow",a)})}),()=>{t.forEach(n=>n())}},[]),null}function xt(){return je(()=>{const e=document.querySelectorAll("[data-password-toggle]"),t=[];return e.forEach(n=>{const r=n.querySelector("input[type=\'password\'], input[data-password-input]"),a=n.querySelector("[data-password-toggle-btn]"),i=a?.querySelector("[data-show-icon]"),s=a?.querySelector("[data-hide-icon]");if(!r||!a||!i||!s)return;const o=l=>{l?(r.type="text",r.setAttribute("data-password-input","text"),i.classList.add("hidden"),s.classList.remove("hidden")):(r.type="password",r.setAttribute("data-password-input","password"),s.classList.add("hidden"),i.classList.remove("hidden"))},u=l=>{l.preventDefault();const f=r.type==="password";o(f)};a.addEventListener("click",u),t.push(()=>{a.removeEventListener("click",u)})}),()=>{t.forEach(n=>n())}},[]),null}function _t(){return document.querySelectorAll("[data-input-otp-container]").forEach(t=>{const n=Array.from(t.querySelectorAll("[data-input-otp-slot]"));if(!n.length)return;const r=t.closest("form");let a=null;if(r&&n.length>0){const o=n[0]?.getAttribute("name");o&&(a=r.querySelector(`input[name="${o}"][type="hidden"]`),a||(a=document.createElement("input"),a.type="hidden",a.name=o,r.appendChild(a)),n.forEach(u=>u.removeAttribute("name")))}const i=()=>{if(a){const s=n.map(o=>o.value).join("");a.value=s,s.length===n.length&&r&&setTimeout(()=>{r.requestSubmit()},100)}};n.forEach((s,o)=>{s.addEventListener("input",u=>{const l=u.target;let f=l.value;f=f.replace(/[^0-9]/g,""),f.length>1&&(f=f.charAt(0)),l.value=f,f&&o<n.length-1&&n[o+1]?.focus(),i()}),s.addEventListener("paste",u=>{u.preventDefault();const f=(u.clipboardData?.getData("text")||"").replace(/[^0-9]/g,"");for(let d=0;d<Math.min(f.length,n.length-o);d++){const p=n[o+d],y=f.charAt(d);p&&y&&(p.value=y)}const c=n.findIndex((d,p)=>p>=o&&!d.value);c!==-1?n[c]?.focus():n[Math.min(o+f.length,n.length-1)]?.focus(),i()}),s.addEventListener("keydown",u=>{if(u.key==="Backspace"){const l=u.target;if(!l.value&&o>0){u.preventDefault();const f=n[o-1];f&&(f.value="",f.focus()),i()}else l.value&&setTimeout(()=>i(),0)}else u.key==="ArrowLeft"&&o>0?(u.preventDefault(),n[o-1]?.focus()):u.key==="ArrowRight"&&o<n.length-1&&(u.preventDefault(),n[o+1]?.focus())}),s.addEventListener("focus",()=>{s.select()})}),i()}),null}const j="authhero_incognito_mode",Bt="https://unpkg.com/detectincognitojs@1.6.2";async function Ht(){return window.detectIncognito?window.detectIncognito:new Promise((e,t)=>{const n=document.createElement("script");n.src=Bt,n.type="text/javascript",n.crossOrigin="anonymous",n.onload=()=>{let r=window.detectIncognito;!r&&window.__detectIncognito&&(r=window.__detectIncognito),!r&&window.module&&window.module.exports&&(r=window.module.exports),r&&typeof r=="function"?e(r):r&&r.detectIncognito?e(r.detectIncognito):typeof r=="object"&&r.default?e(r.default):t(new Error("detectIncognito not found after loading script"))},n.onerror=()=>{t(new Error("Failed to load detectincognitojs script"))},document.head.appendChild(n)})}function jt(){try{const e=sessionStorage.getItem(j);return e===null?void 0:e==="true"}catch{return}}async function Ft(){try{const e=sessionStorage.getItem(j);if(e!==null)return e==="true";const t=await Ht(),{isPrivate:n}=await t();return sessionStorage.setItem(j,n.toString()),n}catch{try{sessionStorage.setItem(j,"false")}catch{}return!1}}const qt=()=>{const e=jt();if(e!==void 0){e&&Ce();return}Ft().then(t=>{t&&Ce()}).catch(()=>{})};function Ce(){const e=document.getElementById("incognito-warning-container");e&&e.classList.remove("hidden")}qt();const ke=document.getElementById("client-root");ke&&Rt(ke,O(st,{children:[O(Ot,{}),O(xt,{}),O(_t,{})]}));\n',Hx=t=>u("div",{className:"rich-text mb-6 prose prose-gray max-w-none [&>*:last-child]:mb-0 [&_h1]:mb-6 [&_h2]:mb-6",dangerouslySetInnerHTML:{__html:t.config.content}},t.id),Vx=t=>u("div",{className:"flex items-center gap-2",children:[u("input",{type:"checkbox",name:t.id,required:!!t.required,className:"w-5 h-5 accent-[#4F2D7F] align-middle",id:t.id}),u("span",{className:"text-base leading-tight",children:u("span",{dangerouslySetInnerHTML:{__html:t.config.text}})})]},t.id),Kx=t=>u("div",{className:"mb-4",children:u("input",{type:"text",name:t.id,placeholder:t.config?.placeholder||"",required:!!t.required,className:"w-full rounded-lg border bg-gray-100 px-4 py-5 text-base placeholder:text-gray-300 dark:bg-gray-600 border-gray-100 dark:border-gray-500",id:t.id})},t.id);function Gx(t){switch(t.type){case"RICH_TEXT":return Hx(t);case"LEGAL":return Vx(t);case"TEXT":return Kx(t);default:return null}}const El=({theme:t,branding:e,client:n,formName:r,error:i,components:s})=>{const c=s?.find(d=>d.type==="LEGAL"&&d.required)?.id,l=s?.find(d=>d.type==="NEXT_BUTTON");return u(Se,{title:r,theme:t,branding:e,client:n,children:[i&&u("div",{className:"mb-4 text-red-500",children:i}),u("div",{className:"flex flex-1 flex-col justify-center",children:u("form",{className:"pt-2",method:"post",children:[c&&u("style",{dangerouslySetInnerHTML:{__html:`
@@ -105,7 +105,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
105
105
  #_legalWrapper:not(:has(#${c}:checked)) #continueBtnDisabled {
106
106
  display: block;
107
107
  }
108
- `}}),u("div",{id:"_legalWrapper",children:[s&&s.map(d=>{if(d.type==="NEXT_BUTTON")return null;const p=Gx(d);return p?u("div",{className:d.type==="RICH_TEXT"?"mb-6":"mb-4",children:p},d.id):null}),l&&u("div",{className:"mb-4",children:c?u(Ya,{children:[u(xe,{id:"continueBtn",className:"sm:mt-4 !text-base w-full",children:[u("span",{children:l.config.text||"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u(xe,{id:"continueBtnDisabled",className:"sm:mt-4 !text-base w-full opacity-50 cursor-not-allowed",disabled:!0,children:[u("span",{children:l.config.text||"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]}):u(xe,{className:"sm:mt-4 !text-base w-full",children:[u("span",{children:l.config.text||"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})})]})]})})]})},Wx=new o.OpenAPIHono().openapi(o.createRoute({tags:["forms"],method:"get",path:"/:formId/nodes/:nodeId",request:{params:o.z.object({formId:o.z.string(),nodeId:o.z.string()}),query:o.z.object({state:o.z.string()})},responses:{200:{description:"Form node HTML"},404:{description:"Form or node not found"}}}),async t=>{const{formId:e,nodeId:n}=t.req.valid("param"),{state:r}=t.req.valid("query"),{client:i,theme:s,branding:a}=await ue(t,r,!0),c=await t.env.data.forms.get(i.tenant.id,e);if(!c)throw new v(404,{message:"Form not found"});const l=(c.nodes||[]).find(d=>d.id===n&&d.type==="STEP");if(!l)throw new v(404,{message:"Node not found or not a STEP node"});return t.html(u(El,{theme:s,branding:a,client:i,state:r,formName:c.name,nodeAlias:l.alias||l.type,components:"components"in l.config?l.config.components:[]}))}).openapi(o.createRoute({tags:["forms"],method:"post",path:"/:formId/nodes/:nodeId",request:{params:o.z.object({formId:o.z.string(),nodeId:o.z.string()}),query:o.z.object({state:o.z.string()}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.record(o.z.string())}}}},responses:{200:{description:"Form node submitted"},404:{description:"Form or node not found"}}}),async t=>{const{formId:e,nodeId:n}=t.req.valid("param"),{state:r}=t.req.valid("query"),{theme:i,branding:s,client:a}=await ue(t,r,!0);let c,l,d=[];try{if(c=await t.env.data.forms.get(a.tenant.id,e),!c)throw new v(404,{message:"Form not found"});if(l=(c.nodes||[]).find(I=>I.id===n&&I.type==="STEP"),!l)throw new v(404,{message:"Node not found or not a STEP node"});d="components"in l.config?l.config.components:[];const p=await t.req.parseBody(),f=[],g={};for(const I of d)if(I.type==="LEGAL"){const N=I.id,S=!!I.required,C=p[N];S&&(!C||C==="")?f.push(N):typeof C=="string"&&(g[N]=C)}if(f.length>0)return t.html(u(El,{theme:i,branding:s,client:a,state:r,formName:c.name,nodeAlias:l.alias||l.type,components:d,error:`Missing required fields: ${f.join(", ")}`}));const _=await t.env.data.loginSessions.get(a.tenant.id,r);if(!_||!_.session_id||!_.authParams)throw new Error("Session expired");const w=await t.env.data.sessions.get(a.tenant.id,_.session_id);if(!w||!w.user_id)throw new Error("Session expired");const k=await t.env.data.users.get(t.var.tenant_id,w.user_id);if(!k)throw new Error("Session expired");return await Gt(t,{authParams:_.authParams,client:a,user:k,loginSession:_,skipHooks:!0})}catch{return t.html(u(El,{theme:i,branding:s,client:a,state:r,formName:c?.name||"",nodeAlias:l?.alias||n||"",components:d||[],error:"Your session has expired. Please try again."}))}}),k0=t=>{const{error:e,theme:n,branding:r,user:i,state:s,client:a}=t;return u(Se,{title:"Impersonation",theme:n,branding:r,client:a,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{className:"mb-6",children:[u("p",{className:"text-sm text-gray-500 mb-4",children:["Current user: ",u("strong",{children:i.email})]}),u("form",{method:"post",action:`/u/impersonate/continue?state=${encodeURIComponent(s)}`,className:"mb-4",children:u(xe,{className:"w-full !text-base",children:[u("span",{children:"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})}),u("details",{className:"mb-4",children:[u("summary",{className:"cursor-pointer text-primary hover:underline mb-4 select-none flex items-center",children:[u("span",{className:"details-arrow mr-2 transition-transform duration-200",children:"▶"}),"Advanced Options"]}),u("div",{className:"mt-4 p-4 border border-gray-200 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700",children:u("form",{method:"post",action:`/u/impersonate/switch?state=${encodeURIComponent(s)}`,children:[u("input",{type:"text",id:"user_id",name:"user_id",placeholder:"Enter user ID to impersonate",className:"mb-4 w-full rounded-lg bg-gray-100 px-4 py-3 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),e&&u(Be,{children:e}),u(xe,{variant:"secondary",className:"w-full !text-base",children:[u("span",{children:"Impersonate"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]})})]})]}),u(lt,{state:s})]}),u("style",{children:`
108
+ `}}),u("div",{id:"_legalWrapper",children:[s&&s.map(d=>{if(d.type==="NEXT_BUTTON")return null;const p=Gx(d);return p?u("div",{className:d.type==="RICH_TEXT"?"mb-6":"mb-4",children:p},d.id):null}),l&&u("div",{className:"mb-4",children:c?u(Ya,{children:[u(xe,{id:"continueBtn",className:"sm:mt-4 !text-base w-full",children:[u("span",{children:l.config.text||"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]}),u(xe,{id:"continueBtnDisabled",className:"sm:mt-4 !text-base w-full opacity-50 cursor-not-allowed",disabled:!0,children:[u("span",{children:l.config.text||"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]}):u(xe,{className:"sm:mt-4 !text-base w-full",children:[u("span",{children:l.config.text||"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})})]})]})})]})},Wx=new o.OpenAPIHono().openapi(o.createRoute({tags:["forms"],method:"get",path:"/:formId/nodes/:nodeId",request:{params:o.z.object({formId:o.z.string(),nodeId:o.z.string()}),query:o.z.object({state:o.z.string()})},responses:{200:{description:"Form node HTML"},404:{description:"Form or node not found"}}}),async t=>{const{formId:e,nodeId:n}=t.req.valid("param"),{state:r}=t.req.valid("query"),{client:i,theme:s,branding:a}=await ue(t,r,!0),c=await t.env.data.forms.get(i.tenant.id,e);if(!c)throw new v(404,{message:"Form not found"});const l=(c.nodes||[]).find(d=>d.id===n&&d.type==="STEP");if(!l)throw new v(404,{message:"Node not found or not a STEP node"});return t.html(u(El,{theme:s,branding:a,client:i,state:r,formName:c.name,nodeAlias:l.alias||l.type,components:"components"in l.config?l.config.components:[]}))}).openapi(o.createRoute({tags:["forms"],method:"post",path:"/:formId/nodes/:nodeId",request:{params:o.z.object({formId:o.z.string(),nodeId:o.z.string()}),query:o.z.object({state:o.z.string()}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.record(o.z.string())}}}},responses:{200:{description:"Form node submitted"},404:{description:"Form or node not found"}}}),async t=>{const{formId:e,nodeId:n}=t.req.valid("param"),{state:r}=t.req.valid("query"),{theme:i,branding:s,client:a}=await ue(t,r,!0);let c,l,d=[];try{if(c=await t.env.data.forms.get(a.tenant.id,e),!c)throw new v(404,{message:"Form not found"});if(l=(c.nodes||[]).find(N=>N.id===n&&N.type==="STEP"),!l)throw new v(404,{message:"Node not found or not a STEP node"});d="components"in l.config?l.config.components:[];const p=await t.req.parseBody(),f=[],g={};for(const N of d)if(N.type==="LEGAL"){const I=N.id,S=!!N.required,E=p[I];S&&(!E||E==="")?f.push(I):typeof E=="string"&&(g[I]=E)}if(f.length>0)return t.html(u(El,{theme:i,branding:s,client:a,state:r,formName:c.name,nodeAlias:l.alias||l.type,components:d,error:`Missing required fields: ${f.join(", ")}`}));const _=await t.env.data.loginSessions.get(a.tenant.id,r);if(!_||!_.session_id||!_.authParams)throw new Error("Session expired");const w=await t.env.data.sessions.get(a.tenant.id,_.session_id);if(!w||!w.user_id)throw new Error("Session expired");const k=await t.env.data.users.get(t.var.tenant_id,w.user_id);if(!k)throw new Error("Session expired");return await Kt(t,{authParams:_.authParams,client:a,user:k,loginSession:_,skipHooks:!0})}catch{return t.html(u(El,{theme:i,branding:s,client:a,state:r,formName:c?.name||"",nodeAlias:l?.alias||n||"",components:d||[],error:"Your session has expired. Please try again."}))}}),k0=t=>{const{error:e,theme:n,branding:r,user:i,state:s,client:a}=t;return u(Se,{title:"Impersonation",theme:n,branding:r,client:a,children:[u("div",{className:"flex flex-1 flex-col justify-center",children:[u("div",{className:"mb-6",children:[u("p",{className:"text-sm text-gray-500 mb-4",children:["Current user: ",u("strong",{children:i.email})]}),u("form",{method:"post",action:`/u/impersonate/continue?state=${encodeURIComponent(s)}`,className:"mb-4",children:u(xe,{className:"w-full !text-base",children:[u("span",{children:"Continue"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})}),u("details",{className:"mb-4",children:[u("summary",{className:"cursor-pointer text-primary hover:underline mb-4 select-none flex items-center",children:[u("span",{className:"details-arrow mr-2 transition-transform duration-200",children:"▶"}),"Advanced Options"]}),u("div",{className:"mt-4 p-4 border border-gray-200 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700",children:u("form",{method:"post",action:`/u/impersonate/switch?state=${encodeURIComponent(s)}`,children:[u("input",{type:"text",id:"user_id",name:"user_id",placeholder:"Enter user ID to impersonate",className:"mb-4 w-full rounded-lg bg-gray-100 px-4 py-3 text-base placeholder:text-gray-300 dark:bg-gray-600 md:text-base",required:!0}),e&&u(Be,{children:e}),u(xe,{variant:"secondary",className:"w-full !text-base",children:[u("span",{children:"Impersonate"}),u(Ne,{className:"text-xs",name:"arrow-right"})]})]})})]})]}),u(lt,{state:s})]}),u("style",{children:`
109
109
  details[open] .details-arrow {
110
110
  transform: rotate(90deg);
111
111
  }
@@ -118,13 +118,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
118
118
  details > summary::-webkit-details-marker {
119
119
  display: none;
120
120
  }
121
- `})]})},x0=({error:t,theme:e,branding:n,state:r,user:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_border||"#d1d5db",p=e?.colors?.widget_background||"#ffffff",f=e?.colors?.widget_border||"#e5e7eb",g=e?.borders?.widget_corner_radius||8,_=e?.borders?.button_border_radius||4,w=e?.borders?.show_widget_shadow??!0,k=e?.fonts?.title?.size||24,z=e?.fonts?.title?.bold??!0,I=e?.fonts?.body_text?.size||14,N={backgroundColor:p,borderColor:f,borderRadius:`${g}px`,boxShadow:w?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},S={fontSize:`${k}px`,fontWeight:z?"700":"400",color:e?.colors?.header||l},C={fontSize:`${I}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},O={backgroundColor:a,color:c,borderRadius:`${_}px`},K={backgroundColor:"transparent",color:l,borderColor:d,borderRadius:`${_}px`},W={color:e?.colors?.links_focused_components||a,fontSize:`${I}px`},ie={borderColor:d,borderRadius:`${_}px`,fontSize:`${I}px`,color:l},F=e?.widget?.logo_position||"center",se=F==="left"?"text-left":F==="right"?"text-right":"text-center",ce=e?.widget?.logo_url||n?.logo_url,fe=F!=="none"&&ce;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:N,className:"border",children:[u(en,{children:[fe&&u("div",{className:Y("mb-4",se),children:u(Rt,{theme:e,branding:n})}),u(tn,{style:S,children:y.t("impersonation","Impersonation")}),u(nn,{style:C,children:y.t("impersonation_description","You have permission to impersonate other users.")})]}),u(rn,{children:u("div",{className:"space-y-4",children:[u("div",{className:"p-3 bg-gray-50 dark:bg-gray-800 rounded-md",children:[u("p",{className:"text-xs text-gray-500 dark:text-gray-400 mb-1",children:[y.t("current_user","Current user"),":"]}),u("p",{className:"font-semibold",style:{fontSize:`${I}px`},children:i.email})]}),u("form",{method:"post",action:`/u/impersonate/continue?state=${encodeURIComponent(r)}`,children:u(Jt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:O,children:y.t("continue","Continue")})}),u("div",{className:"relative",children:[u("div",{className:"absolute inset-0 flex items-center","aria-hidden":"true",children:u("div",{className:"w-full border-t",style:{borderColor:f}})}),u("div",{className:"relative flex justify-center text-xs uppercase",children:u("span",{className:"px-2",style:{backgroundColor:p,...C},children:y.t("or","Or")})})]}),u("details",{className:"group",children:[u("summary",{className:"cursor-pointer select-none flex items-center justify-between p-3 rounded-md hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",style:W,children:[u("span",{className:"font-medium",children:y.t("advanced_options","Advanced Options")}),u("svg",{className:"w-5 h-5 transition-transform group-open:rotate-90",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:u("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]}),u("div",{className:"mt-3 p-4 border rounded-md",style:{borderColor:f},children:u("form",{method:"post",action:`/u/impersonate/switch?state=${encodeURIComponent(r)}`,children:u("div",{className:"space-y-4",children:[u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"user_id",style:C,children:y.t("user_id_to_impersonate","User ID to Impersonate")}),u(jt,{type:"text",id:"user_id",name:"user_id",placeholder:y.t("enter_user_id","Enter user ID"),required:!0,style:ie,className:"w-full"}),t&&u(Be,{children:t})]}),u(Jt,{type:"submit",variant:"outline",className:"w-full transition-colors border",style:K,children:y.t("impersonate_user","Impersonate User")})]})})})]})]})}),u(P1,{children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(r)}`,className:"text-sm hover:underline focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors w-full text-center",style:W,children:y.t("go_back","Go back")})})]})})},Jx=new o.OpenAPIHono().openapi(o.createRoute({tags:["impersonation"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Impersonation page"},400:{description:"Bad Request"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e,!0);if(!s.session_id)throw new v(400,{message:"No session linked to login session"});const c=await t.env.data.sessions.get(i.tenant.id,s.session_id);if(!c)throw new v(400,{message:"Session not found"});const l=await t.env.data.users.get(i.tenant.id,c.user_id);if(!l)throw new v(400,{message:"User not found"});return(await t.env.data.userPermissions.list(i.tenant.id,l.user_id)).some(f=>f.permission_name==="users:impersonate")?a?t.html(u(be,{title:y.t("impersonation","Impersonation"),theme:n,branding:r,client:i,children:u(x0,{theme:n,branding:r,client:i,user:l,state:e})})):t.html(u(k0,{theme:n,branding:r,client:i,user:l,state:e})):t.html(u(wt,{theme:n,branding:r,client:i,state:e,pageTitle:"Access Denied",message:"You do not have permission to impersonate other users."}),403)}).openapi(o.createRoute({tags:["impersonation"],method:"post",path:"/continue",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect to continue authentication flow",headers:o.z.object({Location:o.z.string().url()})}}}),async t=>{const{state:e}=t.req.valid("query"),{client:n,loginSession:r}=await ue(t,e,!0);if(!r.session_id)throw new v(400,{message:"No session linked to login session"});const i=await t.env.data.sessions.get(n.tenant.id,r.session_id);if(!i)throw new v(400,{message:"Session not found"});const s=await t.env.data.users.get(n.tenant.id,i.user_id);if(!s)throw new v(400,{message:"User not found"});if(!(await t.env.data.userPermissions.list(n.tenant.id,s.user_id)).some(l=>l.permission_name==="users:impersonate"))throw new v(403,{message:"Access denied: insufficient permissions"});return Gt(t,{client:n,authParams:r.authParams,loginSession:r,user:s,sessionId:i.id,skipHooks:!0})}).openapi(o.createRoute({tags:["impersonation"],method:"post",path:"/switch",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({user_id:o.z.string().min(1,"User ID is required")})}}}},responses:{302:{description:"Redirect to continue authentication flow as impersonated user",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - User not found or impersonation failed"}}}),async t=>{const{state:e}=t.req.valid("query"),{user_id:n}=t.req.valid("form"),{theme:r,branding:i,client:s,loginSession:a,useShadcn:c}=await ue(t,e,!0);if(!a.session_id)throw new v(400,{message:"No session linked to login session"});const l=await t.env.data.sessions.get(s.tenant.id,a.session_id);if(!l)throw new v(400,{message:"Current session not found"});const d=await t.env.data.users.get(s.tenant.id,l.user_id);if(!d)throw new v(400,{message:"Current user not found"});if(!(await t.env.data.userPermissions.list(s.tenant.id,d.user_id)).some(_=>_.permission_name==="users:impersonate"))return t.html(u(wt,{theme:r,branding:i,client:s,state:e,pageTitle:"Access Denied",message:"You do not have permission to impersonate other users."}),403);const g=await t.env.data.users.get(s.tenant.id,n);return g?(await t.env.data.sessions.update(s.tenant.id,l.id,{user_id:g.user_id}),await ne(t,s.tenant.id,{type:ee.SUCCESS_LOGIN,description:`${g.email||g.user_id} (impersonated by ${d.email||d.user_id})`,userId:g.user_id,connection:g.connection,strategy:g.connection,strategy_type:g.is_social?"social":"database"}),Gt(t,{client:s,authParams:a.authParams,loginSession:a,user:g,sessionId:l.id,skipHooks:!0,impersonatingUser:d})):c?t.html(u(be,{title:y.t("impersonation","Impersonation"),theme:r,branding:i,client:s,children:u(x0,{theme:r,branding:i,client:s,user:d,state:e,error:`User with ID "${n}" not found.`})}),400):t.html(u(k0,{theme:r,branding:i,client:s,user:d,state:e,error:`User with ID "${n}" not found.`}),400)});function Xx(t){const e=new o.OpenAPIHono,n=t.dataAdapter.cache||cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),r=t.dataAdapter.cache?300:0;e.onError((s,a)=>s instanceof br?a.redirect(s.location,s.status):s instanceof v?a.text(s.message||"Error",s.status):a.text("Unexpected error",500)),e.get("/css/tailwind.css",async s=>{const a=Gp;return s.text(a,200,{"content-type":"text/css; charset=utf-8"})}),e.get("/js/client.js",async s=>s.text(Fx,200,{"content-type":"application/javascript; charset=utf-8"})),e.use(async(s,a)=>{const c=Do(s,t.dataAdapter),l=Jc(c,{defaultTtl:r,cacheEntities:["tenants","connections","clients","legacyClients","customDomains","resourceServers","roles","organizations","userRoles","userPermissions","branding","themes","promptSettings","forms"],cache:n});return s.env.data=Kc(s,l),a()}).use(Wc).use(Gc);const i=e.route("/info",Lx).route("/check-account",Cx).route("/account",jx).route("/account/change-email",Ox).route("/account/change-email-verify",Px).route("/account/change-email-confirmation",Tx).route("/login/identifier",V8).route("/enter-code",bx).route("/enter-password",kx).route("/invalid-session",Bx).route("/pre-signup",Rx).route("/pre-signup-sent",Mx).route("/reset-password",Sx).route("/forgot-password",Ax).route("/validate-email",Dx).route("/signup",xx).route("/impersonate",Jx).route("/forms",Wx);return i.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),i}var Zx=Object.defineProperty,Yx=(t,e,n)=>e in t?Zx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Gr=(t,e,n)=>Yx(t,typeof e!="symbol"?e+"":e,n);const Ke=o.z.object({"#text":o.z.string()}),Qx=o.z.object({"#text":o.z.string(),"@_xmlns:saml":o.z.string().optional()}),eS=o.z.object({"samlp:AuthnRequest":o.z.object({"saml:Issuer":Qx,"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string().optional(),"@_ForceAuthn":o.z.string().transform(t=>t.toLowerCase()==="true").optional(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string().datetime(),"@_Destination":o.z.string().url(),"@_AssertionConsumerServiceURL":o.z.string().url().optional(),"@_ProtocolBinding":o.z.string().optional(),"@_Version":o.z.string()})});o.z.array(o.z.object({":@":o.z.object({"@_xmlns":o.z.string(),"@_entityID":o.z.string()}),EntityDescriptor:o.z.array(o.z.object({":@":o.z.object({"@_protocolSupportEnumeration":o.z.string()}),IDPSSODescriptor:o.z.array(o.z.union([o.z.object({KeyDescriptor:o.z.array(o.z.object({KeyInfo:o.z.array(o.z.object({X509Data:o.z.array(o.z.object({X509Certificate:o.z.array(Ke)}))})),":@":o.z.object({"@_xmlns":o.z.string()})})),":@":o.z.object({"@_use":o.z.string()})}),o.z.object({SingleLogoutService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({NameIDFormat:o.z.array(Ke)}),o.z.object({SingleSignOnService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({Attribute:o.z.array(o.z.object({})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string(),"@_xmlns":o.z.string()})})]))}))}));const tS=o.z.object({"saml:Attribute":o.z.array(o.z.object({"saml:AttributeValue":o.z.array(o.z.object({"#text":o.z.string()})),":@":o.z.object({"@_xmlns:xs":o.z.string().optional(),"@_xmlns:xsi":o.z.string(),"@_xsi:type":o.z.string()}).optional()})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string().optional()})}),nS=o.z.object({"ds:Transform":o.z.array(o.z.any()),":@":o.z.object({"@_Algorithm":o.z.string()})}),S0=o.z.object({"ds:Signature":o.z.array(o.z.union([o.z.object({"ds:SignedInfo":o.z.array(o.z.union([o.z.object({"ds:CanonicalizationMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:SignatureMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:Reference":o.z.array(o.z.union([o.z.object({"ds:Transforms":o.z.array(nS)}),o.z.object({"ds:DigestMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:DigestValue":o.z.array(Ke)})])),":@":o.z.object({"@_URI":o.z.string().optional()}).optional()})]))}),o.z.object({"ds:SignatureValue":o.z.array(Ke)}),o.z.object({"ds:KeyInfo":o.z.array(o.z.union([o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ke)}),o.z.object({"ds:Exponent":o.z.array(Ke)})]))}))}),o.z.object({"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ke)}))}),o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ke)}),o.z.object({"ds:Exponent":o.z.array(Ke)})]))})),"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ke)}))})]))})])),":@":o.z.object({"@_xmlns:ds":o.z.string().optional()}).optional()});o.z.array(o.z.object({"samlp:Response":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ke)}),S0,o.z.object({"samlp:Status":o.z.array(o.z.object({"samlp:StatusCode":o.z.array(Ke),":@":o.z.object({"@_Value":o.z.string()})}))}),o.z.object({"saml:Assertion":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ke)}),S0,o.z.object({"saml:Subject":o.z.array(o.z.union([o.z.object({"saml:NameID":o.z.array(Ke),":@":o.z.object({"@_Format":o.z.string()})}),o.z.object({"saml:SubjectConfirmation":o.z.array(o.z.object({"saml:SubjectConfirmationData":o.z.array(o.z.any()),":@":o.z.object({"@_InResponseTo":o.z.string(),"@_NotOnOrAfter":o.z.string(),"@_Recipient":o.z.string()})})),":@":o.z.object({"@_Method":o.z.string()})})]))}),o.z.object({"saml:Conditions":o.z.array(o.z.object({"saml:AudienceRestriction":o.z.array(o.z.object({"saml:Audience":o.z.array(Ke)}))})),":@":o.z.object({"@_NotBefore":o.z.string(),"@_NotOnOrAfter":o.z.string()})}),o.z.object({"saml:AuthnStatement":o.z.array(o.z.object({"saml:AuthnContext":o.z.array(o.z.object({"saml:AuthnContextClassRef":o.z.array(Ke)}))})),":@":o.z.object({"@_AuthnInstant":o.z.string(),"@_SessionIndex":o.z.string(),"@_SessionNotOnOrAfter":o.z.string()})}),o.z.object({"saml:AttributeStatement":o.z.array(tS)})])),":@":o.z.object({"@_xmlns":o.z.string(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})})])),":@":o.z.object({"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string(),"@_Destination":o.z.string(),"@_ID":o.z.string(),"@_InResponseTo":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})}));var ew={},Qc={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const d=[];let p=l.exec(c);for(;p;){const f=[];f.startIndex=l.lastIndex-p[0].length;const g=p.length;for(let _=0;_<g;_++)f.push(p[_]);d.push(f),p=l.exec(c)}return d},a=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,d){if(l){const p=Object.keys(l),f=p.length;for(let g=0;g<f;g++)d==="strict"?c[p[g]]=[l[p[g]]]:c[p[g]]=l[p[g]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=r})(Qc);const Wp=Qc,rS={allowBooleanAttributes:!1,unpairedTags:[]};ew.validate=function(t,e){e=Object.assign({},rS,e);const n=[];let r=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=A0(t,s),s.err)return s}else if(t[s]==="<"){let a=s;if(s++,t[s]==="!"){s=E0(t,s);continue}else{let c=!1;t[s]==="/"&&(c=!0,s++);let l="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
121
+ `})]})},x0=({error:t,theme:e,branding:n,state:r,user:i,className:s})=>{const a=e?.colors?.primary_button||n?.colors?.primary||"#0066cc",c=e?.colors?.primary_button_label||"#ffffff",l=e?.colors?.body_text||"#333333",d=e?.colors?.input_border||"#d1d5db",p=e?.colors?.widget_background||"#ffffff",f=e?.colors?.widget_border||"#e5e7eb",g=e?.borders?.widget_corner_radius||8,_=e?.borders?.button_border_radius||4,w=e?.borders?.show_widget_shadow??!0,k=e?.fonts?.title?.size||24,z=e?.fonts?.title?.bold??!0,N=e?.fonts?.body_text?.size||14,I={backgroundColor:p,borderColor:f,borderRadius:`${g}px`,boxShadow:w?"0 1px 3px 0 rgba(0, 0, 0, 0.1)":"none",color:l},S={fontSize:`${k}px`,fontWeight:z?"700":"400",color:e?.colors?.header||l},E={fontSize:`${N}px`,color:e?.colors?.input_labels_placeholders||"#6b7280"},O={backgroundColor:a,color:c,borderRadius:`${_}px`},K={backgroundColor:"transparent",color:l,borderColor:d,borderRadius:`${_}px`},W={color:e?.colors?.links_focused_components||a,fontSize:`${N}px`},ie={borderColor:d,borderRadius:`${_}px`,fontSize:`${N}px`,color:l},F=e?.widget?.logo_position||"center",se=F==="left"?"text-left":F==="right"?"text-right":"text-center",ce=e?.widget?.logo_url||n?.logo_url,fe=F!=="none"&&ce;return u("div",{className:Y("flex flex-col gap-6 w-full max-w-sm",s),children:u(Qt,{style:I,className:"border",children:[u(en,{children:[fe&&u("div",{className:Y("mb-4",se),children:u(Tt,{theme:e,branding:n})}),u(tn,{style:S,children:y.t("impersonation","Impersonation")}),u(nn,{style:E,children:y.t("impersonation_description","You have permission to impersonate other users.")})]}),u(rn,{children:u("div",{className:"space-y-4",children:[u("div",{className:"p-3 bg-gray-50 dark:bg-gray-800 rounded-md",children:[u("p",{className:"text-xs text-gray-500 dark:text-gray-400 mb-1",children:[y.t("current_user","Current user"),":"]}),u("p",{className:"font-semibold",style:{fontSize:`${N}px`},children:i.email})]}),u("form",{method:"post",action:`/u/impersonate/continue?state=${encodeURIComponent(r)}`,children:u(Wt,{type:"submit",className:"w-full transition-colors hover:brightness-90",style:O,children:y.t("continue","Continue")})}),u("div",{className:"relative",children:[u("div",{className:"absolute inset-0 flex items-center","aria-hidden":"true",children:u("div",{className:"w-full border-t",style:{borderColor:f}})}),u("div",{className:"relative flex justify-center text-xs uppercase",children:u("span",{className:"px-2",style:{backgroundColor:p,...E},children:y.t("or","Or")})})]}),u("details",{className:"group",children:[u("summary",{className:"cursor-pointer select-none flex items-center justify-between p-3 rounded-md hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors",style:W,children:[u("span",{className:"font-medium",children:y.t("advanced_options","Advanced Options")}),u("svg",{className:"w-5 h-5 transition-transform group-open:rotate-90",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:u("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]}),u("div",{className:"mt-3 p-4 border rounded-md",style:{borderColor:f},children:u("form",{method:"post",action:`/u/impersonate/switch?state=${encodeURIComponent(r)}`,children:u("div",{className:"space-y-4",children:[u("div",{className:"space-y-2",children:[u(_t,{htmlFor:"user_id",style:E,children:y.t("user_id_to_impersonate","User ID to Impersonate")}),u(jt,{type:"text",id:"user_id",name:"user_id",placeholder:y.t("enter_user_id","Enter user ID"),required:!0,style:ie,className:"w-full"}),t&&u(Be,{children:t})]}),u(Wt,{type:"submit",variant:"outline",className:"w-full transition-colors border",style:K,children:y.t("impersonate_user","Impersonate User")})]})})})]})]})}),u(P1,{children:u("a",{href:`/u/login/identifier?state=${encodeURIComponent(r)}`,className:"text-sm hover:underline focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors w-full text-center",style:W,children:y.t("go_back","Go back")})})]})})},Jx=new o.OpenAPIHono().openapi(o.createRoute({tags:["impersonation"],method:"get",path:"/",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{200:{description:"Impersonation page"},400:{description:"Bad Request"}}}),async t=>{const{state:e}=t.req.valid("query"),{theme:n,branding:r,client:i,loginSession:s,useShadcn:a}=await ue(t,e,!0);if(!s.session_id)throw new v(400,{message:"No session linked to login session"});const c=await t.env.data.sessions.get(i.tenant.id,s.session_id);if(!c)throw new v(400,{message:"Session not found"});const l=await t.env.data.users.get(i.tenant.id,c.user_id);if(!l)throw new v(400,{message:"User not found"});return(await t.env.data.userPermissions.list(i.tenant.id,l.user_id)).some(f=>f.permission_name==="users:impersonate")?a?t.html(u(be,{title:y.t("impersonation","Impersonation"),theme:n,branding:r,client:i,children:u(x0,{theme:n,branding:r,client:i,user:l,state:e})})):t.html(u(k0,{theme:n,branding:r,client:i,user:l,state:e})):t.html(u(wt,{theme:n,branding:r,client:i,state:e,pageTitle:"Access Denied",message:"You do not have permission to impersonate other users."}),403)}).openapi(o.createRoute({tags:["impersonation"],method:"post",path:"/continue",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})})},responses:{302:{description:"Redirect to continue authentication flow",headers:o.z.object({Location:o.z.string().url()})}}}),async t=>{const{state:e}=t.req.valid("query"),{client:n,loginSession:r}=await ue(t,e,!0);if(!r.session_id)throw new v(400,{message:"No session linked to login session"});const i=await t.env.data.sessions.get(n.tenant.id,r.session_id);if(!i)throw new v(400,{message:"Session not found"});const s=await t.env.data.users.get(n.tenant.id,i.user_id);if(!s)throw new v(400,{message:"User not found"});if(!(await t.env.data.userPermissions.list(n.tenant.id,s.user_id)).some(l=>l.permission_name==="users:impersonate"))throw new v(403,{message:"Access denied: insufficient permissions"});return Kt(t,{client:n,authParams:r.authParams,loginSession:r,user:s,sessionId:i.id,skipHooks:!0})}).openapi(o.createRoute({tags:["impersonation"],method:"post",path:"/switch",request:{query:o.z.object({state:o.z.string().openapi({description:"The state parameter from the authorization request"})}),body:{content:{"application/x-www-form-urlencoded":{schema:o.z.object({user_id:o.z.string().min(1,"User ID is required")})}}}},responses:{302:{description:"Redirect to continue authentication flow as impersonated user",headers:o.z.object({Location:o.z.string().url()})},400:{description:"Bad Request - User not found or impersonation failed"}}}),async t=>{const{state:e}=t.req.valid("query"),{user_id:n}=t.req.valid("form"),{theme:r,branding:i,client:s,loginSession:a,useShadcn:c}=await ue(t,e,!0);if(!a.session_id)throw new v(400,{message:"No session linked to login session"});const l=await t.env.data.sessions.get(s.tenant.id,a.session_id);if(!l)throw new v(400,{message:"Current session not found"});const d=await t.env.data.users.get(s.tenant.id,l.user_id);if(!d)throw new v(400,{message:"Current user not found"});if(!(await t.env.data.userPermissions.list(s.tenant.id,d.user_id)).some(_=>_.permission_name==="users:impersonate"))return t.html(u(wt,{theme:r,branding:i,client:s,state:e,pageTitle:"Access Denied",message:"You do not have permission to impersonate other users."}),403);const g=await t.env.data.users.get(s.tenant.id,n);return g?(await t.env.data.sessions.update(s.tenant.id,l.id,{user_id:g.user_id}),await ne(t,s.tenant.id,{type:ee.SUCCESS_LOGIN,description:`${g.email||g.user_id} (impersonated by ${d.email||d.user_id})`,userId:g.user_id,connection:g.connection,strategy:g.connection,strategy_type:g.is_social?"social":"database"}),Kt(t,{client:s,authParams:a.authParams,loginSession:a,user:g,sessionId:l.id,skipHooks:!0,impersonatingUser:d})):c?t.html(u(be,{title:y.t("impersonation","Impersonation"),theme:r,branding:i,client:s,children:u(x0,{theme:r,branding:i,client:s,user:d,state:e,error:`User with ID "${n}" not found.`})}),400):t.html(u(k0,{theme:r,branding:i,client:s,user:d,state:e,error:`User with ID "${n}" not found.`}),400)});function Xx(t){const e=new o.OpenAPIHono,n=t.dataAdapter.cache||cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),r=t.dataAdapter.cache?300:0;e.onError((s,a)=>s instanceof br?a.redirect(s.location,s.status):s instanceof v?a.text(s.message||"Error",s.status):a.text("Unexpected error",500)),e.get("/css/tailwind.css",async s=>{const a=Gp;return s.text(a,200,{"content-type":"text/css; charset=utf-8"})}),e.get("/js/client.js",async s=>s.text(Fx,200,{"content-type":"application/javascript; charset=utf-8"})),e.use(async(s,a)=>{const c=Do(s,t.dataAdapter),l=Jc(c,{defaultTtl:r,cacheEntities:["tenants","connections","clients","legacyClients","customDomains","resourceServers","roles","organizations","userRoles","userPermissions","branding","themes","promptSettings","forms"],cache:n});return s.env.data=Kc(s,l),a()}).use(Wc).use(Gc);const i=e.route("/info",Lx).route("/check-account",Cx).route("/account",jx).route("/account/change-email",Ox).route("/account/change-email-verify",Px).route("/account/change-email-confirmation",Tx).route("/login/identifier",V8).route("/enter-code",bx).route("/enter-password",kx).route("/invalid-session",Bx).route("/pre-signup",Rx).route("/pre-signup-sent",Mx).route("/reset-password",Sx).route("/forgot-password",Ax).route("/validate-email",Dx).route("/signup",xx).route("/impersonate",Jx).route("/forms",Wx);return i.doc("/u/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"Universal login"}}),i}var Zx=Object.defineProperty,Yx=(t,e,n)=>e in t?Zx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Gr=(t,e,n)=>Yx(t,typeof e!="symbol"?e+"":e,n);const Ke=o.z.object({"#text":o.z.string()}),Qx=o.z.object({"#text":o.z.string(),"@_xmlns:saml":o.z.string().optional()}),eS=o.z.object({"samlp:AuthnRequest":o.z.object({"saml:Issuer":Qx,"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string().optional(),"@_ForceAuthn":o.z.string().transform(t=>t.toLowerCase()==="true").optional(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string().datetime(),"@_Destination":o.z.string().url(),"@_AssertionConsumerServiceURL":o.z.string().url().optional(),"@_ProtocolBinding":o.z.string().optional(),"@_Version":o.z.string()})});o.z.array(o.z.object({":@":o.z.object({"@_xmlns":o.z.string(),"@_entityID":o.z.string()}),EntityDescriptor:o.z.array(o.z.object({":@":o.z.object({"@_protocolSupportEnumeration":o.z.string()}),IDPSSODescriptor:o.z.array(o.z.union([o.z.object({KeyDescriptor:o.z.array(o.z.object({KeyInfo:o.z.array(o.z.object({X509Data:o.z.array(o.z.object({X509Certificate:o.z.array(Ke)}))})),":@":o.z.object({"@_xmlns":o.z.string()})})),":@":o.z.object({"@_use":o.z.string()})}),o.z.object({SingleLogoutService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({NameIDFormat:o.z.array(Ke)}),o.z.object({SingleSignOnService:o.z.array(o.z.object({})),":@":o.z.object({"@_Binding":o.z.string(),"@_Location":o.z.string()})}),o.z.object({Attribute:o.z.array(o.z.object({})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string(),"@_xmlns":o.z.string()})})]))}))}));const tS=o.z.object({"saml:Attribute":o.z.array(o.z.object({"saml:AttributeValue":o.z.array(o.z.object({"#text":o.z.string()})),":@":o.z.object({"@_xmlns:xs":o.z.string().optional(),"@_xmlns:xsi":o.z.string(),"@_xsi:type":o.z.string()}).optional()})),":@":o.z.object({"@_Name":o.z.string(),"@_NameFormat":o.z.string(),"@_FriendlyName":o.z.string().optional()})}),nS=o.z.object({"ds:Transform":o.z.array(o.z.any()),":@":o.z.object({"@_Algorithm":o.z.string()})}),S0=o.z.object({"ds:Signature":o.z.array(o.z.union([o.z.object({"ds:SignedInfo":o.z.array(o.z.union([o.z.object({"ds:CanonicalizationMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:SignatureMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:Reference":o.z.array(o.z.union([o.z.object({"ds:Transforms":o.z.array(nS)}),o.z.object({"ds:DigestMethod":o.z.array(o.z.object({":@":o.z.object({"@_Algorithm":o.z.string()})}))}),o.z.object({"ds:DigestValue":o.z.array(Ke)})])),":@":o.z.object({"@_URI":o.z.string().optional()}).optional()})]))}),o.z.object({"ds:SignatureValue":o.z.array(Ke)}),o.z.object({"ds:KeyInfo":o.z.array(o.z.union([o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ke)}),o.z.object({"ds:Exponent":o.z.array(Ke)})]))}))}),o.z.object({"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ke)}))}),o.z.object({"ds:KeyValue":o.z.array(o.z.object({"ds:RSAKeyValue":o.z.array(o.z.union([o.z.object({"ds:Modulus":o.z.array(Ke)}),o.z.object({"ds:Exponent":o.z.array(Ke)})]))})),"ds:X509Data":o.z.array(o.z.object({"ds:X509Certificate":o.z.array(Ke)}))})]))})])),":@":o.z.object({"@_xmlns:ds":o.z.string().optional()}).optional()});o.z.array(o.z.object({"samlp:Response":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ke)}),S0,o.z.object({"samlp:Status":o.z.array(o.z.object({"samlp:StatusCode":o.z.array(Ke),":@":o.z.object({"@_Value":o.z.string()})}))}),o.z.object({"saml:Assertion":o.z.array(o.z.union([o.z.object({"saml:Issuer":o.z.array(Ke)}),S0,o.z.object({"saml:Subject":o.z.array(o.z.union([o.z.object({"saml:NameID":o.z.array(Ke),":@":o.z.object({"@_Format":o.z.string()})}),o.z.object({"saml:SubjectConfirmation":o.z.array(o.z.object({"saml:SubjectConfirmationData":o.z.array(o.z.any()),":@":o.z.object({"@_InResponseTo":o.z.string(),"@_NotOnOrAfter":o.z.string(),"@_Recipient":o.z.string()})})),":@":o.z.object({"@_Method":o.z.string()})})]))}),o.z.object({"saml:Conditions":o.z.array(o.z.object({"saml:AudienceRestriction":o.z.array(o.z.object({"saml:Audience":o.z.array(Ke)}))})),":@":o.z.object({"@_NotBefore":o.z.string(),"@_NotOnOrAfter":o.z.string()})}),o.z.object({"saml:AuthnStatement":o.z.array(o.z.object({"saml:AuthnContext":o.z.array(o.z.object({"saml:AuthnContextClassRef":o.z.array(Ke)}))})),":@":o.z.object({"@_AuthnInstant":o.z.string(),"@_SessionIndex":o.z.string(),"@_SessionNotOnOrAfter":o.z.string()})}),o.z.object({"saml:AttributeStatement":o.z.array(tS)})])),":@":o.z.object({"@_xmlns":o.z.string(),"@_ID":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})})])),":@":o.z.object({"@_xmlns:samlp":o.z.string(),"@_xmlns:saml":o.z.string(),"@_Destination":o.z.string(),"@_ID":o.z.string(),"@_InResponseTo":o.z.string(),"@_IssueInstant":o.z.string(),"@_Version":o.z.string()})}));var ew={},Qc={};(function(t){const e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",n=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",r="["+e+"]["+n+"]*",i=new RegExp("^"+r+"$"),s=function(c,l){const d=[];let p=l.exec(c);for(;p;){const f=[];f.startIndex=l.lastIndex-p[0].length;const g=p.length;for(let _=0;_<g;_++)f.push(p[_]);d.push(f),p=l.exec(c)}return d},a=function(c){const l=i.exec(c);return!(l===null||typeof l>"u")};t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,l,d){if(l){const p=Object.keys(l),f=p.length;for(let g=0;g<f;g++)d==="strict"?c[p[g]]=[l[p[g]]]:c[p[g]]=l[p[g]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=r})(Qc);const Wp=Qc,rS={allowBooleanAttributes:!1,unpairedTags:[]};ew.validate=function(t,e){e=Object.assign({},rS,e);const n=[];let r=!1,i=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=A0(t,s),s.err)return s}else if(t[s]==="<"){let a=s;if(s++,t[s]==="!"){s=E0(t,s);continue}else{let c=!1;t[s]==="/"&&(c=!0,s++);let l="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
122
122
  `&&t[s]!=="\r";s++)l+=t[s];if(l=l.trim(),l[l.length-1]==="/"&&(l=l.substring(0,l.length-1),s--),!uS(l)){let f;return l.trim().length===0?f="Invalid space after '<'.":f="Tag '"+l+"' is an invalid name.",Ee("InvalidTag",f,Ye(t,s))}const d=sS(t,s);if(d===!1)return Ee("InvalidAttr","Attributes for '"+l+"' have open quote.",Ye(t,s));let p=d.value;if(s=d.index,p[p.length-1]==="/"){const f=s-p.length;p=p.substring(0,p.length-1);const g=C0(p,e);if(g===!0)r=!0;else return Ee(g.err.code,g.err.msg,Ye(t,f+g.err.line))}else if(c)if(d.tagClosed){if(p.trim().length>0)return Ee("InvalidTag","Closing tag '"+l+"' can't have attributes or invalid starting.",Ye(t,a));if(n.length===0)return Ee("InvalidTag","Closing tag '"+l+"' has not been opened.",Ye(t,a));{const f=n.pop();if(l!==f.tagName){let g=Ye(t,f.tagStartPos);return Ee("InvalidTag","Expected closing tag '"+f.tagName+"' (opened in line "+g.line+", col "+g.col+") instead of closing tag '"+l+"'.",Ye(t,a))}n.length==0&&(i=!0)}}else return Ee("InvalidTag","Closing tag '"+l+"' doesn't have proper closing.",Ye(t,s));else{const f=C0(p,e);if(f!==!0)return Ee(f.err.code,f.err.msg,Ye(t,s-p.length+f.err.line));if(i===!0)return Ee("InvalidXml","Multiple possible root nodes found.",Ye(t,s));e.unpairedTags.indexOf(l)!==-1||n.push({tagName:l,tagStartPos:a}),r=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=E0(t,s);continue}else if(t[s+1]==="?"){if(s=A0(t,++s),s.err)return s}else break;else if(t[s]==="&"){const f=lS(t,s);if(f==-1)return Ee("InvalidChar","char '&' is not expected.",Ye(t,s));s=f}else if(i===!0&&!z0(t[s]))return Ee("InvalidXml","Extra text at the end",Ye(t,s));t[s]==="<"&&s--}}else{if(z0(t[s]))continue;return Ee("InvalidChar","char '"+t[s]+"' is not expected.",Ye(t,s))}if(r){if(n.length==1)return Ee("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",Ye(t,n[0].tagStartPos));if(n.length>0)return Ee("InvalidXml","Invalid '"+JSON.stringify(n.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return Ee("InvalidXml","Start tag expected.",1);return!0};function z0(t){return t===" "||t===" "||t===`
123
123
  `||t==="\r"}function A0(t,e){const n=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){const r=t.substr(n,e-n);if(e>5&&r==="xml")return Ee("InvalidXml","XML declaration allowed only at the start of the document.",Ye(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function E0(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let n=1;for(e+=8;e<t.length;e++)if(t[e]==="<")n++;else if(t[e]===">"&&(n--,n===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}const iS='"',oS="'";function sS(t,e){let n="",r="",i=!1;for(;e<t.length;e++){if(t[e]===iS||t[e]===oS)r===""?r=t[e]:r!==t[e]||(r="");else if(t[e]===">"&&r===""){i=!0;break}n+=t[e]}return r!==""?!1:{value:n,index:e,tagClosed:i}}const aS=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function C0(t,e){const n=Wp.getAllMatches(t,aS),r={};for(let i=0;i<n.length;i++){if(n[i][1].length===0)return Ee("InvalidAttr","Attribute '"+n[i][2]+"' has no space in starting.",Oi(n[i]));if(n[i][3]!==void 0&&n[i][4]===void 0)return Ee("InvalidAttr","Attribute '"+n[i][2]+"' is without value.",Oi(n[i]));if(n[i][3]===void 0&&!e.allowBooleanAttributes)return Ee("InvalidAttr","boolean attribute '"+n[i][2]+"' is not allowed.",Oi(n[i]));const s=n[i][2];if(!dS(s))return Ee("InvalidAttr","Attribute '"+s+"' is an invalid name.",Oi(n[i]));if(!r.hasOwnProperty(s))r[s]=1;else return Ee("InvalidAttr","Attribute '"+s+"' is repeated.",Oi(n[i]))}return!0}function cS(t,e){let n=/\d/;for(t[e]==="x"&&(e++,n=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(n))break}return-1}function lS(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,cS(t,e);let n=0;for(;e<t.length;e++,n++)if(!(t[e].match(/\w/)&&n<20)){if(t[e]===";")break;return-1}return e}function Ee(t,e,n){return{err:{code:t,msg:e,line:n.line||n,col:n.col}}}function dS(t){return Wp.isName(t)}function uS(t){return Wp.isName(t)}function Ye(t,e){const n=t.substring(0,e).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function Oi(t){return t.startIndex+t[1].length}var Jp={};const tw={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,n){return t}},pS=function(t){return Object.assign({},tw,t)};Jp.buildOptions=pS;Jp.defaultOptions=tw;class fS{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child})}}var hS=fS;const gS=Qc;function mS(t,e){const n={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let r=1,i=!1,s=!1,a="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(i&&wS(t,e)){e+=7;let c,l;[c,l,e]=_S(t,e+1),l.indexOf("&")===-1&&(n[kS(c)]={regx:RegExp(`&${c};`,"g"),val:l})}else if(i&&bS(t,e))e+=8;else if(i&&vS(t,e))e+=8;else if(i&&$S(t,e))e+=9;else if(yS)s=!0;else throw new Error("Invalid DOCTYPE");r++,a=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,r--):r--,r===0)break}else t[e]==="["?i=!0:a+=t[e];if(r!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:n,i:e}}function _S(t,e){let n="";for(;e<t.length&&t[e]!=="'"&&t[e]!=='"';e++)n+=t[e];if(n=n.trim(),n.indexOf(" ")!==-1)throw new Error("External entites are not supported");const r=t[e++];let i="";for(;e<t.length&&t[e]!==r;e++)i+=t[e];return[n,i,e]}function yS(t,e){return t[e+1]==="!"&&t[e+2]==="-"&&t[e+3]==="-"}function wS(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="N"&&t[e+4]==="T"&&t[e+5]==="I"&&t[e+6]==="T"&&t[e+7]==="Y"}function bS(t,e){return t[e+1]==="!"&&t[e+2]==="E"&&t[e+3]==="L"&&t[e+4]==="E"&&t[e+5]==="M"&&t[e+6]==="E"&&t[e+7]==="N"&&t[e+8]==="T"}function vS(t,e){return t[e+1]==="!"&&t[e+2]==="A"&&t[e+3]==="T"&&t[e+4]==="T"&&t[e+5]==="L"&&t[e+6]==="I"&&t[e+7]==="S"&&t[e+8]==="T"}function $S(t,e){return t[e+1]==="!"&&t[e+2]==="N"&&t[e+3]==="O"&&t[e+4]==="T"&&t[e+5]==="A"&&t[e+6]==="T"&&t[e+7]==="I"&&t[e+8]==="O"&&t[e+9]==="N"}function kS(t){if(gS.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}var xS=mS;const SS=/^[-+]?0x[a-fA-F0-9]+$/,zS=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,AS={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function ES(t,e={}){if(e=Object.assign({},AS,e),!t||typeof t!="string")return t;let n=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(n))return t;if(t==="0")return 0;if(e.hex&&SS.test(n))return NS(n,16);if(n.search(/[eE]/)!==-1){const r=n.match(/^([-\+])?(0*)([0-9]*(\.[0-9]*)?[eE][-\+]?[0-9]+)$/);if(r){if(e.leadingZeros)n=(r[1]||"")+r[3];else if(!(r[2]==="0"&&r[3][0]==="."))return t;return e.eNotation?Number(n):t}else return t}else{const r=zS.exec(n);if(r){const i=r[1],s=r[2];let a=CS(r[3]);if(!e.leadingZeros&&s.length>0&&i&&n[2]!=="."||!e.leadingZeros&&s.length>0&&!i&&n[1]!==".")return t;if(e.leadingZeros&&s===t)return 0;{const c=Number(n),l=""+c;return l.search(/[eE]/)!==-1?e.eNotation?c:t:n.indexOf(".")!==-1?l==="0"&&a===""||l===a||i&&l==="-"+a?c:t:s?a===l||i+a===l?c:t:n===l||n===i+l?c:t}}else return t}}function CS(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substr(0,t.length-1))),t}function NS(t,e){if(parseInt)return parseInt(t,e);if(Number.parseInt)return Number.parseInt(t,e);if(window&&window.parseInt)return window.parseInt(t,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}var IS=ES;function jS(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(const n of t)if(typeof n=="string"&&e===n||n instanceof RegExp&&n.test(e))return!0}:()=>!1}var nw=jS;const rw=Qc,Pi=hS,OS=xS,PS=IS,TS=nw;let RS=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,n)=>String.fromCharCode(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCharCode(Number.parseInt(n,16))}},this.addExternalEntities=BS,this.parseXml=qS,this.parseTextData=LS,this.resolveNameSpace=US,this.buildAttributesMap=MS,this.isItStopNode=KS,this.replaceEntitiesValue=HS,this.readStopNodeData=WS,this.saveTextToParentTag=VS,this.addChild=FS,this.ignoreAttributesFn=TS(this.options.ignoreAttributes)}};function BS(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];this.lastEntities[r]={regex:new RegExp("&"+r+";","g"),val:t[r]}}}function LS(t,e,n,r,i,s,a){if(t!==void 0&&(this.options.trimValues&&!r&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));const c=this.options.tagValueProcessor(e,t,n,i,s);return c==null?t:typeof c!=typeof t||c!==t?c:this.options.trimValues?wu(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?wu(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function US(t){if(this.options.removeNSPrefix){const e=t.split(":"),n=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=n+e[1])}return t}const DS=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function MS(t,e,n){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){const r=rw.getAllMatches(t,DS),i=r.length,s={};for(let a=0;a<i;a++){const c=this.resolveNameSpace(r[a][1]);if(this.ignoreAttributesFn(c,e))continue;let l=r[a][4],d=this.options.attributeNamePrefix+c;if(c.length)if(this.options.transformAttributeName&&(d=this.options.transformAttributeName(d)),d==="__proto__"&&(d="#__proto__"),l!==void 0){this.options.trimValues&&(l=l.trim()),l=this.replaceEntitiesValue(l);const p=this.options.attributeValueProcessor(c,l,e);p==null?s[d]=l:typeof p!=typeof l||p!==l?s[d]=p:s[d]=wu(l,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[d]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const a={};return a[this.options.attributesGroupName]=s,a}return s}}const qS=function(t){t=t.replace(/\r\n?/g,`
124
124
  `);const e=new Pi("!xml");let n=e,r="",i="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){const a=Yn(t,">",s,"Closing Tag is not closed.");let c=t.substring(s+2,a).trim();if(this.options.removeNSPrefix){const p=c.indexOf(":");p!==-1&&(c=c.substr(p+1))}this.options.transformTagName&&(c=this.options.transformTagName(c)),n&&(r=this.saveTextToParentTag(r,n,i));const l=i.substring(i.lastIndexOf(".")+1);if(c&&this.options.unpairedTags.indexOf(c)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${c}>`);let d=0;l&&this.options.unpairedTags.indexOf(l)!==-1?(d=i.lastIndexOf(".",i.lastIndexOf(".")-1),this.tagsNodeStack.pop()):d=i.lastIndexOf("."),i=i.substring(0,d),n=this.tagsNodeStack.pop(),r="",s=a}else if(t[s+1]==="?"){let a=yu(t,s,!1,"?>");if(!a)throw new Error("Pi Tag is not closed.");if(r=this.saveTextToParentTag(r,n,i),!(this.options.ignoreDeclaration&&a.tagName==="?xml"||this.options.ignorePiTags)){const c=new Pi(a.tagName);c.add(this.options.textNodeName,""),a.tagName!==a.tagExp&&a.attrExpPresent&&(c[":@"]=this.buildAttributesMap(a.tagExp,i,a.tagName)),this.addChild(n,c,i)}s=a.closeIndex+1}else if(t.substr(s+1,3)==="!--"){const a=Yn(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){const c=t.substring(s+4,a-2);r=this.saveTextToParentTag(r,n,i),n.add(this.options.commentPropName,[{[this.options.textNodeName]:c}])}s=a}else if(t.substr(s+1,2)==="!D"){const a=OS(t,s);this.docTypeEntities=a.entities,s=a.i}else if(t.substr(s+1,2)==="!["){const a=Yn(t,"]]>",s,"CDATA is not closed.")-2,c=t.substring(s+9,a);r=this.saveTextToParentTag(r,n,i);let l=this.parseTextData(c,n.tagname,i,!0,!1,!0,!0);l==null&&(l=""),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:c}]):n.add(this.options.textNodeName,l),s=a+2}else{let a=yu(t,s,this.options.removeNSPrefix),c=a.tagName;const l=a.rawTagName;let d=a.tagExp,p=a.attrExpPresent,f=a.closeIndex;this.options.transformTagName&&(c=this.options.transformTagName(c)),n&&r&&n.tagname!=="!xml"&&(r=this.saveTextToParentTag(r,n,i,!1));const g=n;if(g&&this.options.unpairedTags.indexOf(g.tagname)!==-1&&(n=this.tagsNodeStack.pop(),i=i.substring(0,i.lastIndexOf("."))),c!==e.tagname&&(i+=i?"."+c:c),this.isItStopNode(this.options.stopNodes,i,c)){let _="";if(d.length>0&&d.lastIndexOf("/")===d.length-1)c[c.length-1]==="/"?(c=c.substr(0,c.length-1),i=i.substr(0,i.length-1),d=c):d=d.substr(0,d.length-1),s=a.closeIndex;else if(this.options.unpairedTags.indexOf(c)!==-1)s=a.closeIndex;else{const k=this.readStopNodeData(t,l,f+1);if(!k)throw new Error(`Unexpected end of ${l}`);s=k.i,_=k.tagContent}const w=new Pi(c);c!==d&&p&&(w[":@"]=this.buildAttributesMap(d,i,c)),_&&(_=this.parseTextData(_,c,i,!0,p,!0,!0)),i=i.substr(0,i.lastIndexOf(".")),w.add(this.options.textNodeName,_),this.addChild(n,w,i)}else{if(d.length>0&&d.lastIndexOf("/")===d.length-1){c[c.length-1]==="/"?(c=c.substr(0,c.length-1),i=i.substr(0,i.length-1),d=c):d=d.substr(0,d.length-1),this.options.transformTagName&&(c=this.options.transformTagName(c));const _=new Pi(c);c!==d&&p&&(_[":@"]=this.buildAttributesMap(d,i,c)),this.addChild(n,_,i),i=i.substr(0,i.lastIndexOf("."))}else{const _=new Pi(c);this.tagsNodeStack.push(n),c!==d&&p&&(_[":@"]=this.buildAttributesMap(d,i,c)),this.addChild(n,_,i),n=_}r="",s=f}}else r+=t[s];return e.child};function FS(t,e,n){const r=this.options.updateTag(e.tagname,n,e[":@"]);r===!1||(typeof r=="string"&&(e.tagname=r),t.addChild(e))}const HS=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const n=this.docTypeEntities[e];t=t.replace(n.regx,n.val)}for(let e in this.lastEntities){const n=this.lastEntities[e];t=t.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const n=this.htmlEntities[e];t=t.replace(n.regex,n.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function VS(t,e,n,r){return t&&(r===void 0&&(r=e.child.length===0),t=this.parseTextData(t,e.tagname,n,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,r),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function KS(t,e,n){const r="*."+n;for(const i in t){const s=t[i];if(r===s||e===s)return!0}return!1}function GS(t,e,n=">"){let r,i="";for(let s=e;s<t.length;s++){let a=t[s];if(r)a===r&&(r="");else if(a==='"'||a==="'")r=a;else if(a===n[0])if(n[1]){if(t[s+1]===n[1])return{data:i,index:s}}else return{data:i,index:s};else a===" "&&(a=" ");i+=a}}function Yn(t,e,n,r){const i=t.indexOf(e,n);if(i===-1)throw new Error(r);return i+e.length-1}function yu(t,e,n,r=">"){const i=GS(t,e+1,r);if(!i)return;let s=i.data;const a=i.index,c=s.search(/\s/);let l=s,d=!0;c!==-1&&(l=s.substring(0,c),s=s.substring(c+1).trimStart());const p=l;if(n){const f=l.indexOf(":");f!==-1&&(l=l.substr(f+1),d=l!==i.data.substr(f+1))}return{tagName:l,tagExp:s,closeIndex:a,attrExpPresent:d,rawTagName:p}}function WS(t,e,n){const r=n;let i=1;for(;n<t.length;n++)if(t[n]==="<")if(t[n+1]==="/"){const s=Yn(t,">",n,`${e} is not closed`);if(t.substring(n+2,s).trim()===e&&(i--,i===0))return{tagContent:t.substring(r,n),i:s};n=s}else if(t[n+1]==="?")n=Yn(t,"?>",n+1,"StopNode is not closed.");else if(t.substr(n+1,3)==="!--")n=Yn(t,"-->",n+3,"StopNode is not closed.");else if(t.substr(n+1,2)==="![")n=Yn(t,"]]>",n,"StopNode is not closed.")-2;else{const s=yu(t,n,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&i++,n=s.closeIndex)}}function wu(t,e,n){if(e&&typeof t=="string"){const r=t.trim();return r==="true"?!0:r==="false"?!1:PS(t,n)}else return rw.isExist(t)?t:""}var JS=RS,iw={};function XS(t,e){return ow(t,e)}function ow(t,e,n){let r;const i={};for(let s=0;s<t.length;s++){const a=t[s],c=ZS(a);let l="";if(n===void 0?l=c:l=n+"."+c,c===e.textNodeName)r===void 0?r=a[c]:r+=""+a[c];else{if(c===void 0)continue;if(a[c]){let d=ow(a[c],e,l);const p=QS(d,e);a[":@"]?YS(d,a[":@"],l,e):Object.keys(d).length===1&&d[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?d=d[e.textNodeName]:Object.keys(d).length===0&&(e.alwaysCreateTextNode?d[e.textNodeName]="":d=""),i[c]!==void 0&&i.hasOwnProperty(c)?(Array.isArray(i[c])||(i[c]=[i[c]]),i[c].push(d)):e.isArray(c,l,p)?i[c]=[d]:i[c]=d}}}return typeof r=="string"?r.length>0&&(i[e.textNodeName]=r):r!==void 0&&(i[e.textNodeName]=r),i}function ZS(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(r!==":@")return r}}function YS(t,e,n,r){if(e){const i=Object.keys(e),s=i.length;for(let a=0;a<s;a++){const c=i[a];r.isArray(c,n+"."+c,!0,!0)?t[c]=[e[c]]:t[c]=e[c]}}}function QS(t,e){const{textNodeName:n}=e,r=Object.keys(t).length;return!!(r===0||r===1&&(t[n]||typeof t[n]=="boolean"||t[n]===0))}iw.prettify=XS;const{buildOptions:e9}=Jp,t9=JS,{prettify:n9}=iw,r9=ew;let i9=class{constructor(t){this.externalEntities={},this.options=e9(t)}parse(t,e){if(typeof t!="string")if(t.toString)t=t.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(e){e===!0&&(e={});const i=r9.validate(t,e);if(i!==!0)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}const n=new t9(this.options);n.addExternalEntities(this.externalEntities);const r=n.parseXml(t);return this.options.preserveOrder||r===void 0?r:n9(r,this.options)}addEntity(t,e){if(e.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(e==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e}};var o9=i9;const s9=`
125
125
  `;function a9(t,e){let n="";return e.format&&e.indentBy.length>0&&(n=s9),sw(t,e,"",n)}function sw(t,e,n,r){let i="",s=!1;for(let a=0;a<t.length;a++){const c=t[a],l=c9(c);if(l===void 0)continue;let d="";if(n.length===0?d=l:d=`${n}.${l}`,l===e.textNodeName){let w=c[l];l9(d,e)||(w=e.tagValueProcessor(l,w),w=aw(w,e)),s&&(i+=r),i+=w,s=!1;continue}else if(l===e.cdataPropName){s&&(i+=r),i+=`<![CDATA[${c[l][0][e.textNodeName]}]]>`,s=!1;continue}else if(l===e.commentPropName){i+=r+`<!--${c[l][0][e.textNodeName]}-->`,s=!0;continue}else if(l[0]==="?"){const w=N0(c[":@"],e),k=l==="?xml"?"":r;let z=c[l][0][e.textNodeName];z=z.length!==0?" "+z:"",i+=k+`<${l}${z}${w}?>`,s=!0;continue}let p=r;p!==""&&(p+=e.indentBy);const f=N0(c[":@"],e),g=r+`<${l}${f}`,_=sw(c[l],e,d,p);e.unpairedTags.indexOf(l)!==-1?e.suppressUnpairedNode?i+=g+">":i+=g+"/>":(!_||_.length===0)&&e.suppressEmptyNode?i+=g+"/>":_&&_.endsWith(">")?i+=g+`>${_}${r}</${l}>`:(i+=g+">",_&&r!==""&&(_.includes("/>")||_.includes("</"))?i+=r+e.indentBy+_+r:i+=_,i+=`</${l}>`),s=!0}return i}function c9(t){const e=Object.keys(t);for(let n=0;n<e.length;n++){const r=e[n];if(t.hasOwnProperty(r)&&r!==":@")return r}}function N0(t,e){let n="";if(t&&!e.ignoreAttributes)for(let r in t){if(!t.hasOwnProperty(r))continue;let i=e.attributeValueProcessor(r,t[r]);i=aw(i,e),i===!0&&e.suppressBooleanAttributes?n+=` ${r.substr(e.attributeNamePrefix.length)}`:n+=` ${r.substr(e.attributeNamePrefix.length)}="${i}"`}return n}function l9(t,e){t=t.substr(0,t.length-e.textNodeName.length-1);let n=t.substr(t.lastIndexOf(".")+1);for(let r in e.stopNodes)if(e.stopNodes[r]===t||e.stopNodes[r]==="*."+n)return!0;return!1}function aw(t,e){if(t&&t.length>0&&e.processEntities)for(let n=0;n<e.entities.length;n++){const r=e.entities[n];t=t.replace(r.regex,r.val)}return t}var d9=a9;const u9=d9,p9=nw,f9={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Fn(t){this.options=Object.assign({},f9,t),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=p9(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=m9),this.processTextOrObjNode=h9,this.options.format?(this.indentate=g9,this.tagEndChar=`>
126
126
  `,this.newLine=`
127
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Fn.prototype.build=function(t){return this.options.preserveOrder?u9(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)};Fn.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(typeof t[a]>"u")this.isAttribute(a)&&(i+="");else if(t[a]===null)this.isAttribute(a)||a===this.options.cdataPropName?i+="":a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)i+=this.buildTextValNode(t[a],a,"",e);else if(typeof t[a]!="object"){const c=this.isAttribute(a);if(c&&!this.ignoreAttributesFn(c,s))r+=this.buildAttrPairStr(c,""+t[a]);else if(!c)if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+t[a]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(t[a],a,"",e)}else if(Array.isArray(t[a])){const c=t[a].length;let l="",d="";for(let p=0;p<c;p++){const f=t[a][p];if(!(typeof f>"u"))if(f===null)a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(typeof f=="object")if(this.options.oneListGroup){const g=this.j2x(f,e+1,n.concat(a));l+=g.val,this.options.attributesGroupName&&f.hasOwnProperty(this.options.attributesGroupName)&&(d+=g.attrStr)}else l+=this.processTextOrObjNode(f,a,e,n);else if(this.options.oneListGroup){let g=this.options.tagValueProcessor(a,f);g=this.replaceEntitiesValue(g),l+=g}else l+=this.buildTextValNode(f,a,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,d,e)),i+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const c=Object.keys(t[a]),l=c.length;for(let d=0;d<l;d++)r+=this.buildAttrPairStr(c[d],""+t[a][c[d]])}else i+=this.processTextOrObjNode(t[a],a,e,n);return{attrStr:r,val:i}};Fn.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function h9(t,e,n,r){const i=this.j2x(t,n+1,r.concat(e));return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,n):this.buildObjectNode(i.val,e,i.attrStr,n)}Fn.prototype.buildObjectNode=function(t,e,n,r){if(t==="")return e[0]==="?"?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,s="";return e[0]==="?"&&(s="?",i=""),(n||n==="")&&t.indexOf("<")===-1?this.indentate(r)+"<"+e+n+s+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+`<!--${t}-->`+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}};Fn.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};Fn.prototype.buildTextValNode=function(t,e,n,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${t}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}};Fn.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};function g9(t){return this.options.indentBy.repeat(t)}function m9(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}var _9=Fn;const y9=o9,w9=_9;var cw={XMLParser:y9,XMLBuilder:w9};class lw{constructor(e,n){if(Gr(this,"alphabet"),Gr(this,"padding"),Gr(this,"decodeMap",new Map),e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let a=0;a<e.length;a++)for(i=i<<8|e[a],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),n?.includePadding??!0){const a=(8-r.length%8)%8;for(let c=0;c<a;c++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/8),s=[];for(let a=0;a<i;a++){let c=0;const l=[];for(let p=0;p<8;p++){const f=e[a*8+p];if(f==="="){if(a+1!==i)throw new Error(`Invalid character: ${f}`);c+=1;continue}if(f===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(f)??null;if(g===null)throw new Error(`Invalid character: ${f}`);l.push(g)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const d=(l[0]<<3)+(l[1]>>2);if(s.push(d),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new lw("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new lw("0123456789ABCDEFGHIJKLMNOPQRSTUV");class dw{constructor(e,n){if(Gr(this,"alphabet"),Gr(this,"padding"),Gr(this,"decodeMap",new Map),e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let a=0;a<e.length;a++)for(i=i<<8|e[a],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),n?.includePadding??!0){const a=(4-r.length%4)%4;for(let c=0;c<a;c++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/4),s=[];for(let a=0;a<i;a++){let c=0,l=0;for(let d=0;d<4;d++){const p=e[a*4+d];if(p==="="){if(a+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const f=this.decodeMap.get(p)??null;if(f===null)throw new Error(`Invalid character: ${p}`);l+=f<<6*(3-d)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const b9=new dw("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");new dw("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");async function v9(t){const e=new DecompressionStream("deflate-raw"),n=new Uint8Array(t),r=new Blob([n]).stream().pipeThrough(e);return new Uint8Array(await new Response(r).arrayBuffer())}async function $9(t){const e=await b9.decode(t.replace(/ /g,"+"));try{const n=await v9(e);return new TextDecoder().decode(n)}catch(n){return console.warn("Decompression failed, assuming data is not compressed:",n),new TextDecoder().decode(e)}}async function k9(t){const e=await $9(t),n=new cw.XMLParser({attributeNamePrefix:"@_",alwaysCreateTextNode:!0,ignoreAttributes:!1}).parse(e);return eS.parse(n)}function x9(t){const e=t.certificates.map(r=>({"@_use":"signing",KeyInfo:{"@_xmlns":"http://www.w3.org/2000/09/xmldsig#",X509Data:{X509Certificate:r}}})),n={EntityDescriptor:{"@_entityID":t.entityId,"@_xmlns":"urn:oasis:names:tc:SAML:2.0:metadata",IDPSSODescriptor:{"@_protocolSupportEnumeration":"urn:oasis:names:tc:SAML:2.0:protocol",KeyDescriptor:e,SingleLogoutService:[{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect","@_Location":t.singleLogoutServiceUrl},{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST","@_Location":t.singleLogoutServiceUrl}],NameIDFormat:["urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient"],SingleSignOnService:[{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect","@_Location":t.assertionConsumerServiceUrl},{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST","@_Location":t.assertionConsumerServiceUrl}],Attribute:[{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"E-Mail Address","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Given Name","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Name","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Surname","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Name ID","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"}]}}};return new cw.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!1,format:!0,attributeNamePrefix:"@_"}).build(n)}const S9=new o.OpenAPIHono().openapi(o.createRoute({tags:["saml"],method:"get",path:"/metadata/{client_id}",request:{params:o.z.object({client_id:o.z.string()})},responses:{200:{description:"Decoded SAML Request",content:{"text/xml":{schema:o.z.string()}}},400:{description:"Bad Request"}}}),async t=>{const{client_id:e}=t.req.valid("param"),n=await t.env.data.legacyClients.get(e);if(!n)throw new v(404,{message:"Client not found"});const{signingKeys:r}=await t.env.data.keys.list({q:"type:saml_encryption"});if(r.length===0)throw new v(500,{message:"No signing key found"});const i=r.map(c=>new Hc(c.cert).toString("base64")),s=t.env.ISSUER,a=x9({entityId:n.addons?.samlp?.audience||n.client_id,certificates:i,assertionConsumerServiceUrl:`${s}samlp/${e}`,singleLogoutServiceUrl:`${s}samlp/${e}/logout`});return new Response(a,{headers:{"Content-Type":"text/xml"}})}).openapi(o.createRoute({tags:["saml"],method:"get",path:"/{client_id}",request:{query:o.z.object({SAMLRequest:o.z.string(),RelayState:o.z.string().optional(),SigAlg:o.z.string().optional(),Signature:o.z.string().optional()}),params:o.z.object({client_id:o.z.string()})},responses:{200:{description:"Decoded SAML Request",content:{"text/xml":{schema:o.z.string()}}},400:{description:"Bad Request"}}}),async t=>{const{client_id:e}=t.req.valid("param"),{SAMLRequest:n,RelayState:r}=t.req.valid("query"),i=await t.env.data.legacyClients.get(e);if(!i)throw new v(404,{message:"Client not found"});t.set("client_id",i.client_id),t.set("tenant_id",i.tenant.id);const s=await k9(n),a=s["samlp:AuthnRequest"]["saml:Issuer"]["#text"],c=await t.env.data.loginSessions.create(t.var.tenant_id,{csrf_token:pe(),authParams:{client_id:e,state:JSON.stringify({requestId:s["samlp:AuthnRequest"]["@_ID"],relayState:r}),response_mode:Vt.SAML_POST,redirect_uri:s["samlp:AuthnRequest"]["@_AssertionConsumerServiceURL"],audience:a},expires_at:new Date(Date.now()+ir*1e3).toISOString(),ip:t.get("ip"),useragent:t.get("useragent"),auth0Client:_n(t.get("auth0_client"))});return t.redirect(`/u/login/identifier?state=${c.id}`)});function z9(t){const e=new o.OpenAPIHono;e.use(async(r,i)=>{const s=Do(r,t.dataAdapter),a=t.dataAdapter.cache||cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),c=t.dataAdapter.cache?300:0,l=Jc(s,{defaultTtl:c,cacheEntities:["tenants","connections","clients","branding","themes","promptSettings","forms"],cache:a});return r.env.data=Kc(r,l),i()}),e.use(Wc).use(Gc).use(Cp(e));const n=e.route("/",S9);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"SAML API"},security:[{oauth2:["openid","email","profile"]}]}),Ep(n),n}const A9="Account detected",E9="Manage your account details",C9="Account",N9="We have detected that you have already created an account through",I9="By signing in, you agree to our",j9="and",O9="email address",P9="email or phone number",T9="phone number",R9="Callback URL mismatch",B9="The provided redirect_uri is not in the list of allowed callback URLs.",L9="Change email address",U9="continue with user",D9="Please click the button to create a new password account.",M9="Enter the code at {{vendorName}} to complete the login",q9="Welcome to {{vendorName}}! {{code}} is the login code",F9="Welcome to {{vendorName}}! {{code}} is the login code",H9="Code expired",V9="Invalid code",K9="Please check <0>{{username}}</0> and enter the six-digit code that we've sent you.",G9="The code is already used",W9="The code is valid for 30 minutes",J9="A configuration error occurred.",X9="Confirm password",Z9="Are you sure you want to unlink this account?",Y9="Need Help?",Q9="Contact us",ez="or continue with social account",tz="Continue with {{provider}}",nz="Would you like to continue with your existing account?",rz="Copyright © 2023 SESAMY. All rights reserved.",iz="©2023 Sesamy",oz="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",sz="Please enter a valid email address.",az="The passwords didn't match. Try again.",cz="Choose password",lz="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",dz="Create new account",uz="Sign up with password",pz="Current email address",fz="You are currently logged in as <0>{{email}}</0>",hz="Edit",gz="Email",mz="Email is already taken",_z="Email changed to <0>{{email}}</0> ",yz="Email or Phone Number",wz="Email address",bz="Your email address has been validated",vz="Now enter your password to login again",$z="An email has been sent to <0>{{email}}</0> with a verification link. Please click the link to verify your email address and set a password.",kz="Email verification sent",xz="Do you have to keep logging in?",Sz="You are currently inside the {{browserName}}. This browser often logs you out, so we recommend using your phone's default browser instead.",zz="Enter a code",Az="We'll send you a verification link to ensure you own this email address.",Ez="Enter new email",Cz="Enter new password",Nz="Enter password",Iz="Enter your email address and password to login.",jz="Enter your password",Oz="Something went wrong",Pz="The magic link has expired. Please click on the button below to receive a new link in your inbox.",Tz="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",Rz="Send password reset email",Bz="Click the button below and we’ll send instructions on how to reset your password.",Lz="Password reset email sent",Uz="Forgot password?",Dz="Forgot password?",Mz="Go back",qz="Hide password",Fz="Incognito Mode Detected",Hz="You are in incognito/private mode. Session data may not persist across page refreshes. Some features might not work as expected.",Vz="Invalid identifier",Kz="Invalid password",Gz=`The link is no longer valid.
127
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Fn.prototype.build=function(t){return this.options.preserveOrder?u9(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)};Fn.prototype.j2x=function(t,e,n){let r="",i="";const s=n.join(".");for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))if(typeof t[a]>"u")this.isAttribute(a)&&(i+="");else if(t[a]===null)this.isAttribute(a)||a===this.options.cdataPropName?i+="":a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(t[a]instanceof Date)i+=this.buildTextValNode(t[a],a,"",e);else if(typeof t[a]!="object"){const c=this.isAttribute(a);if(c&&!this.ignoreAttributesFn(c,s))r+=this.buildAttrPairStr(c,""+t[a]);else if(!c)if(a===this.options.textNodeName){let l=this.options.tagValueProcessor(a,""+t[a]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(t[a],a,"",e)}else if(Array.isArray(t[a])){const c=t[a].length;let l="",d="";for(let p=0;p<c;p++){const f=t[a][p];if(!(typeof f>"u"))if(f===null)a[0]==="?"?i+=this.indentate(e)+"<"+a+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+a+"/"+this.tagEndChar;else if(typeof f=="object")if(this.options.oneListGroup){const g=this.j2x(f,e+1,n.concat(a));l+=g.val,this.options.attributesGroupName&&f.hasOwnProperty(this.options.attributesGroupName)&&(d+=g.attrStr)}else l+=this.processTextOrObjNode(f,a,e,n);else if(this.options.oneListGroup){let g=this.options.tagValueProcessor(a,f);g=this.replaceEntitiesValue(g),l+=g}else l+=this.buildTextValNode(f,a,"",e)}this.options.oneListGroup&&(l=this.buildObjectNode(l,a,d,e)),i+=l}else if(this.options.attributesGroupName&&a===this.options.attributesGroupName){const c=Object.keys(t[a]),l=c.length;for(let d=0;d<l;d++)r+=this.buildAttrPairStr(c[d],""+t[a][c[d]])}else i+=this.processTextOrObjNode(t[a],a,e,n);return{attrStr:r,val:i}};Fn.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+e+'"'};function h9(t,e,n,r){const i=this.j2x(t,n+1,r.concat(e));return t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,n):this.buildObjectNode(i.val,e,i.attrStr,n)}Fn.prototype.buildObjectNode=function(t,e,n,r){if(t==="")return e[0]==="?"?this.indentate(r)+"<"+e+n+"?"+this.tagEndChar:this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar;{let i="</"+e+this.tagEndChar,s="";return e[0]==="?"&&(s="?",i=""),(n||n==="")&&t.indexOf("<")===-1?this.indentate(r)+"<"+e+n+s+">"+t+i:this.options.commentPropName!==!1&&e===this.options.commentPropName&&s.length===0?this.indentate(r)+`<!--${t}-->`+this.newLine:this.indentate(r)+"<"+e+n+s+this.tagEndChar+t+this.indentate(r)+i}};Fn.prototype.closeTag=function(t){let e="";return this.options.unpairedTags.indexOf(t)!==-1?this.options.suppressUnpairedNode||(e="/"):this.options.suppressEmptyNode?e="/":e=`></${t}`,e};Fn.prototype.buildTextValNode=function(t,e,n,r){if(this.options.cdataPropName!==!1&&e===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${t}]]>`+this.newLine;if(this.options.commentPropName!==!1&&e===this.options.commentPropName)return this.indentate(r)+`<!--${t}-->`+this.newLine;if(e[0]==="?")return this.indentate(r)+"<"+e+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(e,t);return i=this.replaceEntitiesValue(i),i===""?this.indentate(r)+"<"+e+n+this.closeTag(e)+this.tagEndChar:this.indentate(r)+"<"+e+n+">"+i+"</"+e+this.tagEndChar}};Fn.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const n=this.options.entities[e];t=t.replace(n.regex,n.val)}return t};function g9(t){return this.options.indentBy.repeat(t)}function m9(t){return t.startsWith(this.options.attributeNamePrefix)&&t!==this.options.textNodeName?t.substr(this.attrPrefixLen):!1}var _9=Fn;const y9=o9,w9=_9;var cw={XMLParser:y9,XMLBuilder:w9};class lw{constructor(e,n){if(Gr(this,"alphabet"),Gr(this,"padding"),Gr(this,"decodeMap",new Map),e.length!==32)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let a=0;a<e.length;a++)for(i=i<<8|e[a],s+=8;s>=5;)s-=5,r+=this.alphabet[i>>s&31];if(s>0&&(r+=this.alphabet[i<<5-s&31]),n?.includePadding??!0){const a=(8-r.length%8)%8;for(let c=0;c<a;c++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/8),s=[];for(let a=0;a<i;a++){let c=0;const l=[];for(let p=0;p<8;p++){const f=e[a*8+p];if(f==="="){if(a+1!==i)throw new Error(`Invalid character: ${f}`);c+=1;continue}if(f===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const g=this.decodeMap.get(f)??null;if(g===null)throw new Error(`Invalid character: ${f}`);l.push(g)}if(c===8||c===7||c===5||c===2)throw new Error("Invalid padding");const d=(l[0]<<3)+(l[1]>>2);if(s.push(d),c<6){const p=((l[1]&3)<<6)+(l[2]<<1)+(l[3]>>4);s.push(p)}if(c<4){const p=((l[3]&255)<<4)+(l[4]>>1);s.push(p)}if(c<3){const p=((l[4]&1)<<7)+(l[5]<<2)+(l[6]>>3);s.push(p)}if(c<1){const p=((l[6]&7)<<5)+l[7];s.push(p)}}return Uint8Array.from(s)}}new lw("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567");new lw("0123456789ABCDEFGHIJKLMNOPQRSTUV");class dw{constructor(e,n){if(Gr(this,"alphabet"),Gr(this,"padding"),Gr(this,"decodeMap",new Map),e.length!==64)throw new Error("Invalid alphabet");if(this.alphabet=e,this.padding=n?.padding??"=",this.alphabet.includes(this.padding)||this.padding.length!==1)throw new Error("Invalid padding");for(let r=0;r<e.length;r++)this.decodeMap.set(e[r],r)}encode(e,n){let r="",i=0,s=0;for(let a=0;a<e.length;a++)for(i=i<<8|e[a],s+=8;s>=6;)s+=-6,r+=this.alphabet[i>>s&63];if(s>0&&(r+=this.alphabet[i<<6-s&63]),n?.includePadding??!0){const a=(4-r.length%4)%4;for(let c=0;c<a;c++)r+="="}return r}decode(e,n){const r=n?.strict??!0,i=Math.ceil(e.length/4),s=[];for(let a=0;a<i;a++){let c=0,l=0;for(let d=0;d<4;d++){const p=e[a*4+d];if(p==="="){if(a+1!==i)throw new Error(`Invalid character: ${p}`);c+=1;continue}if(p===void 0){if(r)throw new Error("Invalid data");c+=1;continue}const f=this.decodeMap.get(p)??null;if(f===null)throw new Error(`Invalid character: ${p}`);l+=f<<6*(3-d)}s.push(l>>16&255),c<2&&s.push(l>>8&255),c<1&&s.push(l&255)}return Uint8Array.from(s)}}const b9=new dw("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");new dw("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_");async function v9(t){const e=new DecompressionStream("deflate-raw"),n=new Uint8Array(t),r=new Blob([n]).stream().pipeThrough(e);return new Uint8Array(await new Response(r).arrayBuffer())}async function $9(t){const e=await b9.decode(t.replace(/ /g,"+"));try{const n=await v9(e);return new TextDecoder().decode(n)}catch(n){return console.warn("Decompression failed, assuming data is not compressed:",n),new TextDecoder().decode(e)}}async function k9(t){const e=await $9(t),n=new cw.XMLParser({attributeNamePrefix:"@_",alwaysCreateTextNode:!0,ignoreAttributes:!1}).parse(e);return eS.parse(n)}function x9(t){const e=t.certificates.map(r=>({"@_use":"signing",KeyInfo:{"@_xmlns":"http://www.w3.org/2000/09/xmldsig#",X509Data:{X509Certificate:r}}})),n={EntityDescriptor:{"@_entityID":t.entityId,"@_xmlns":"urn:oasis:names:tc:SAML:2.0:metadata",IDPSSODescriptor:{"@_protocolSupportEnumeration":"urn:oasis:names:tc:SAML:2.0:protocol",KeyDescriptor:e,SingleLogoutService:[{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect","@_Location":t.singleLogoutServiceUrl},{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST","@_Location":t.singleLogoutServiceUrl}],NameIDFormat:["urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress","urn:oasis:names:tc:SAML:2.0:nameid-format:persistent","urn:oasis:names:tc:SAML:2.0:nameid-format:transient"],SingleSignOnService:[{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect","@_Location":t.assertionConsumerServiceUrl},{"@_Binding":"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST","@_Location":t.assertionConsumerServiceUrl}],Attribute:[{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"E-Mail Address","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Given Name","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Name","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Surname","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"},{"@_Name":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier","@_NameFormat":"urn:oasis:names:tc:SAML:2.0:attrname-format:uri","@_FriendlyName":"Name ID","@_xmlns":"urn:oasis:names:tc:SAML:2.0:assertion"}]}}};return new cw.XMLBuilder({ignoreAttributes:!1,suppressEmptyNode:!0,preserveOrder:!1,format:!0,attributeNamePrefix:"@_"}).build(n)}const S9=new o.OpenAPIHono().openapi(o.createRoute({tags:["saml"],method:"get",path:"/metadata/{client_id}",request:{params:o.z.object({client_id:o.z.string()})},responses:{200:{description:"Decoded SAML Request",content:{"text/xml":{schema:o.z.string()}}},400:{description:"Bad Request"}}}),async t=>{const{client_id:e}=t.req.valid("param"),n=await t.env.data.legacyClients.get(e);if(!n)throw new v(404,{message:"Client not found"});const{signingKeys:r}=await t.env.data.keys.list({q:"type:saml_encryption"});if(r.length===0)throw new v(500,{message:"No signing key found"});const i=r.map(c=>new Hc(c.cert).toString("base64")),s=t.env.ISSUER,a=x9({entityId:n.addons?.samlp?.audience||n.client_id,certificates:i,assertionConsumerServiceUrl:`${s}samlp/${e}`,singleLogoutServiceUrl:`${s}samlp/${e}/logout`});return new Response(a,{headers:{"Content-Type":"text/xml"}})}).openapi(o.createRoute({tags:["saml"],method:"get",path:"/{client_id}",request:{query:o.z.object({SAMLRequest:o.z.string(),RelayState:o.z.string().optional(),SigAlg:o.z.string().optional(),Signature:o.z.string().optional()}),params:o.z.object({client_id:o.z.string()})},responses:{200:{description:"Decoded SAML Request",content:{"text/xml":{schema:o.z.string()}}},400:{description:"Bad Request"}}}),async t=>{const{client_id:e}=t.req.valid("param"),{SAMLRequest:n,RelayState:r}=t.req.valid("query"),i=await t.env.data.legacyClients.get(e);if(!i)throw new v(404,{message:"Client not found"});t.set("client_id",i.client_id),t.set("tenant_id",i.tenant.id);const s=await k9(n),a=s["samlp:AuthnRequest"]["saml:Issuer"]["#text"],c=await t.env.data.loginSessions.create(t.var.tenant_id,{csrf_token:pe(),authParams:{client_id:e,state:JSON.stringify({requestId:s["samlp:AuthnRequest"]["@_ID"],relayState:r}),response_mode:Ht.SAML_POST,redirect_uri:s["samlp:AuthnRequest"]["@_AssertionConsumerServiceURL"],audience:a},expires_at:new Date(Date.now()+ir*1e3).toISOString(),ip:t.get("ip"),useragent:t.get("useragent"),auth0Client:_n(t.get("auth0_client"))});return t.redirect(`/u/login/identifier?state=${c.id}`)});function z9(t){const e=new o.OpenAPIHono;e.use(async(r,i)=>{const s=Do(r,t.dataAdapter),a=t.dataAdapter.cache||cs({defaultTtlSeconds:0,maxEntries:100,cleanupIntervalMs:0}),c=t.dataAdapter.cache?300:0,l=Jc(s,{defaultTtl:c,cacheEntities:["tenants","connections","clients","branding","themes","promptSettings","forms"],cache:a});return r.env.data=Kc(r,l),i()}),e.use(Wc).use(Gc).use(Cp(e));const n=e.route("/",S9);return n.doc("/spec",{openapi:"3.0.0",info:{version:"1.0.0",title:"SAML API"},security:[{oauth2:["openid","email","profile"]}]}),Ep(n),n}const A9="Account detected",E9="Manage your account details",C9="Account",N9="We have detected that you have already created an account through",I9="By signing in, you agree to our",j9="and",O9="email address",P9="email or phone number",T9="phone number",R9="Callback URL mismatch",B9="The provided redirect_uri is not in the list of allowed callback URLs.",L9="Change email address",U9="continue with user",D9="Please click the button to create a new password account.",M9="Enter the code at {{vendorName}} to complete the login",q9="Welcome to {{vendorName}}! {{code}} is the login code",F9="Welcome to {{vendorName}}! {{code}} is the login code",H9="Code expired",V9="Invalid code",K9="Please check <0>{{username}}</0> and enter the six-digit code that we've sent you.",G9="The code is already used",W9="The code is valid for 30 minutes",J9="A configuration error occurred.",X9="Confirm password",Z9="Are you sure you want to unlink this account?",Y9="Need Help?",Q9="Contact us",ez="or continue with social account",tz="Continue with {{provider}}",nz="Would you like to continue with your existing account?",rz="Copyright © 2023 SESAMY. All rights reserved.",iz="©2023 Sesamy",oz="Choose a password with a mix of uppercase and lowercase letters, numbers, and symbols.",sz="Please enter a valid email address.",az="The passwords didn't match. Try again.",cz="Choose password",lz="Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one number and one symbol.",dz="Create new account",uz="Sign up with password",pz="Current email address",fz="You are currently logged in as <0>{{email}}</0>",hz="Edit",gz="Email",mz="Email is already taken",_z="Email changed to <0>{{email}}</0> ",yz="Email or Phone Number",wz="Email address",bz="Your email address has been validated",vz="Now enter your password to login again",$z="An email has been sent to <0>{{email}}</0> with a verification link. Please click the link to verify your email address and set a password.",kz="Email verification sent",xz="Do you have to keep logging in?",Sz="You are currently inside the {{browserName}}. This browser often logs you out, so we recommend using your phone's default browser instead.",zz="Enter a code",Az="We'll send you a verification link to ensure you own this email address.",Ez="Enter new email",Cz="Enter new password",Nz="Enter password",Iz="Enter your email address and password to login.",jz="Enter your password",Oz="Something went wrong",Pz="The magic link has expired. Please click on the button below to receive a new link in your inbox.",Tz="Hey! We updated our login experience. <0>Click here to learn more about it.</0>",Rz="Send password reset email",Bz="Click the button below and we’ll send instructions on how to reset your password.",Lz="Password reset email sent",Uz="Forgot password?",Dz="Forgot password?",Mz="Go back",qz="Hide password",Fz="Incognito Mode Detected",Hz="You are in incognito/private mode. Session data may not persist across page refreshes. Some features might not work as expected.",Vz="Invalid identifier",Kz="Invalid password",Gz=`The link is no longer valid.
128
128
 
129
129
  Please make sure to open the login link in the same browser you started the login with.
130
130
 
@@ -154,4 +154,4 @@ Varmista, että avaat kirjautumislinkin samalla selaimella, jolla aloitit kirjau
154
154
 
155
155
  Voit aloittaa uuden kirjautumisen klikkaamalla alla olevaa linkkiä.`,yH="Virheellinen linkki",wH="Linkitetyt tilit",bH="Kirjaudu sisään napsauttamalla painiketta",vH="Kirjaudu sisään",$H="Tai kirjoita koodi osoitteessa {{vendorName}} kirjautumisen loppuun saattamiseksi.",kH="Kirjoita sähköpostiosoitteesi avataksesi tämän ohjelman osoitteessa {{service}}",xH="Yhdistä tilisi {{service}}",SH="Olet kirjautunut sisään nimellä",zH="Kirjaudu sisään",AH="Kirjoita sähköpostiosoitteesi kirjautuaksesi sisään.",EH="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumiskoodin.",CH="Kirjoita sähköpostiosoitteesi tai puhelinnumerosi kirjautuaksesi sisään",NH="Anna sähköpostiosoitteesi, niin lähetämme sinulle kirjautumislinkin.",IH="Anna puhelinnumerosi kirjautuaksesi sisään",jH="Kirjoita {{authMethod}} kirjautuaksesi sisään.",OH="Kirjaudu ulos",PH="Uusi sähköpostiosoite",TH="Yksi kertainen koodi lähetetään uuteen sähköpostiosoitteeseesi, syötä koodi seuraavassa vaiheessa.",RH="Ei sähköpostiosoitetta asetettu",BH="Ei, haluan käyttää toista tiliä",LH="tai",UH="Salasana",DH="Salasana sisältää kielletyn sanan",MH="Salasana ei saa sisältää henkilötietoja, kuten nimeäsi tai sähköpostiosoitettasi",qH="Salasana on nollattu",FH="Menestys",HH="Salasanan on sisällettävä vähintään yksi pieni kirjain",VH="Salasanan on sisällettävä vähintään yksi numero",KH="Salasanan on sisällettävä vähintään yksi erikoismerkki",GH="Salasanan on sisällettävä vähintään yksi iso kirjain",WH="Koodia ei löytynyt tai se on vanhentunut",JH="Salasanaa ei voitu nollata",XH="Salasanaa on käytetty äskettäin, eikä sitä voi käyttää uudelleen",ZH="Salasanan on oltava vähintään {{minLength}} merkkiä",YH="Vaihda salasana tilillesi {{vendorName}} ",QH="Vaihda salasana tilillesi {{vendorName}} ",eV="Puhelinnumero",tV="Tietosuojakäytäntö",nV="Uudelleenohjaus",rV="Vahvista salasana",iV="Rekisteröi uusi salasana",oV="Lähetä koodi uudelleen",sV="Vaihda salasana",aV="Kirjoita alla oleva uusi salasanasi sähköpostitiliä varten: ",cV="Napsauta painiketta salasanasi palauttamiseksi",lV="Napsauta painiketta salasanasi palauttamiseksi",dV="Nollaa salasanasi",uV="Vaihda salasana tilillesi {{vendorName}} ",pV="Nollaa salasana",fV="Lähetä",hV="Lähetä minulle uusi maaginen linkki",gV="Muista tarkistaa roskapostikansiosi, jos sähköposti ei ole saapunut.",mV="Aseta salasana",_V="Näytä salasana",yV="Kirjaudu sisään",wV="Rekisteröityminen",bV="Rekisteröidy onnistuneesti",vV="{{code}} on kirjautumiskoodisi {{vendorName}}",$V="Näyttää siltä, että Spotify-tilisi on tällä hetkellä yhdistetty toiseen Sesamy-tiliin. Mutta älä pelkää, me opastamme sinua prosessin läpi, jotta saat tämän korjattua.",kV="Siirry Spotifyn Content Access -sivulle",xV='Aloitetaan poistamalla Spotify-tilisi linkitys. Klikkaa alla olevaa painiketta siirtyäksesi Spotifyn Content Access -sivulle. Kun olet kirjautunut sisään Spotify-tilillesi, etsi Sesamy yhdistettyjen alustojen luettelosta. Napsauta "Unlink" Sesamyn logon vieressä.',SV="Vaihe 1: Poista Spotify-tilisi linkitys",zV="Kun olet onnistuneesti irrottanut Spotify-tilisi, voit yhdistää sen uudelleen Sesamyn kanssa. Toista vain aiemmin tekemäsi vaiheet, jotka johtivat sinut tälle sivulle.",AV="Vaihe 2: Yhdistä Spotify-tilisi uudelleen Sesamyn kanssa",EV="Hups! Spotify-tilisi on jo linkitetty",CV="Valmis",NV="Jos sinulla on kysyttävää tai tarvitset apua, voit ottaa yhteyttä tukitiimiimme.",IV="Ehdot ja edellytykset",jV="Jokin meni pieleen. Yritä uudelleen.",OV="Irrota",PV="Sähköpostiosoitteesi on vahvistettava. Olemme lähettäneet uuden sähköpostiviestin sähköpostiisi.",TV="Päivitä sähköposti",RV="Käyttäjätiliä ei ole olemassa",BV="Käyttäjätiliä ei ole olemassa",LV="Emme löytäneet käyttäjää, jolla on annettu sähköpostiosoite. Yritä uudelleen.",UV="Yritä uudelleen.",DV="Validoi koodi",MV="Tarkista sähköpostin vahvistusohjeet postilaatikostasi.",qV="Rekisteröitynyt",FV="Vahvista sähköpostiosoitteesi napsauttamalla painiketta",HV="Vahvista sähköpostiosoitteesi",VV="Vahvista sähköpostiosoitteesi",KV="Vahvista tili",GV="Vahvista sähköpostiosoitteesi",WV="Tervetuloa",JV="Tervetuloa tilillesi {{vendorName}}!",XV="Tarkista sähköpostisi osoitteesta <0>{{email}}</0> ja syötä lähettämämme kuusinumeroinen koodi.",ZV="Jatka tällä tilillä",YV="Kyllä, jatka {{text}}",QV="Kyllä, jatka olemassa olevalla tilillä",eK={account_detected:Zq,account_page_description:Yq,account_title:Qq,account_with_sso_provider:eF,agree_to:tF,and:nF,auth_method_email:rF,auth_method_email_or_phone:iF,auth_method_phone:oF,callback_url_mismatch:sF,callback_url_not_allowed:aF,change_email:cF,check_email_title:lF,click_to_sign_up_description:dF,code_email_enter_code:uF,code_email_subject:pF,code_email_title:fF,code_expired:hF,code_invalid:gF,code_sent_template:mF,code_used:_F,code_valid_30_minutes:yF,configuration_error_message:wF,confirm_password:bF,confirm_unlink:vF,contact_support:$F,contact_us:kF,continue:"Jatka",continue_social_login:xF,continue_with:SF,continue_with_sso_provider_headline:zF,copyright:AF,copyright_sesamy:EF,create_account_description:CF,create_account_email_invalid:NF,create_account_passwords_didnt_match:IF,create_account_title:jF,create_account_weak_password:OF,create_new_account_link:PF,create_password_account_title:TF,current_email:RF,currently_logged_in_as:BF,edit:LF,email:UF,email_already_taken:DF,email_changed_to_template:MF,email_or_phone_placeholder:qF,email_placeholder:FF,email_validated:HF,email_validated_cta:VF,email_verification_for_signup_sent_description:KF,email_verification_for_signup_sent_title:GF,embedded_browser_detected:WF,embedded_browser_warning:JF,enter_a_code_btn:XF,enter_email_for_verification_description:ZF,enter_new_email:YF,enter_new_password_placeholder:QF,enter_password:eH,enter_password_description:tH,enter_your_password_btn:nH,error_page_title:rH,expired_code:iH,fokus_info_message:oH,forgot_password_cta:sH,forgot_password_description:aH,forgot_password_email_sent:cH,forgot_password_link:lH,forgot_password_title:dH,go_back:uH,hide_password:pH,incognito_mode_detected:fH,incognito_mode_warning:hH,"invalid-email":"Virheellinen sähköpostiosoite",invalid_identifier:gH,invalid_password:mH,invalid_session_body:_H,invalid_session_title:yH,linked_accounts:wH,link_email_click_to_login:bH,link_email_login:vH,link_email_or_enter_code:$H,link_page_body:kH,link_page_headline:xH,logged_in_as:SH,login:zH,login_description:AH,login_description_code:EH,login_description_combined:CH,login_description_link:NH,login_description_phone:IH,login_description_template:jH,logout:OH,new_email:PH,new_email_code_info:TH,no_email_address:RH,no_use_another:BH,or:LH,password:UH,password_contains_forbidden_word:DH,password_contains_personal_info:MH,password_has_been_reset:qH,password_has_been_reset_title:FH,password_missing_lowercase:HH,password_missing_number:VH,password_missing_special:KH,password_missing_uppercase:GH,password_reset_code_expired:WH,password_reset_failed:JH,password_reused:XH,password_too_short:ZH,password_reset_subject:YH,password_reset_title:QH,phone_placeholder:eV,privacy_policy:tV,redirecting:nV,reenter_new_password_placeholder:rV,register_password_account:iV,resend_code:oV,reset_password_cta:sV,reset_password_description:aV,reset_password_email_click_to_reset:cV,reset_password_email_cta:lV,reset_password_email_reset:dV,reset_password_subject:uV,reset_password_title:pV,send:fV,send_me_a_new_magic_link:hV,sent_code_spam:gV,"Server error: Invalid code":"Virheellinen koodi",set_password:mV,show_password:_V,sign_in:yV,signup:wV,signup_success:bV,sms_code_text:vV,spotify_already_linked_body:$V,spotify_already_linked_cta:kV,spotify_already_linked_step1_body:xV,spotify_already_linked_step1_title:SV,spotify_already_linked_step2_body:zV,spotify_already_linked_step2_title:AV,spotify_already_linked_title:EV,success:CV,support_info:NV,terms:IV,unexpected_error_try_again:jV,unlink:OV,unverified_email:PV,update_email:TV,user_account_does_not_exist:RV,user_not_found:BV,user_not_found_body:LV,user_not_found_cta:UV,validate_code:DV,validate_email_body:MV,validate_email_title:qV,verify_email_click_to_verify:FV,verify_email_subject:HV,verify_email_title:VV,verify_email_verify:KV,verify_your_email:GV,welcome:WV,welcome_to_your_account:JV,we_sent_a_code_to:XV,yes_continue:ZV,yes_continue_with:YV,yes_continue_with_existing_account:QV},tK="Konto opdaget",nK="Administrer dine kontooplysninger",rK="Konto",iK="Vi har opdaget, at du allerede har oprettet en konto gennem",oK="Når du logger ind, accepterer du vores",sK="og",aK="e-mail-adresse",cK="e-mail eller telefonnummer",lK="Telefonnummer",dK="Uoverensstemmelse mellem URL og tilbagekald",uK="Den angivne redirect_uri er ikke på listen over tilladte tilbagekalds-URL'er.",pK="Ændre e-mailadresse",fK="Fortsæt med brugeren",hK="Klik på knappen for at oprette en ny adgangskodekonto.",gK="Indtast koden på {{vendorName}} for at gennemføre login.",mK="Velkommen til {{vendorName}}! {{code}} er login-koden",_K="Velkommen til {{vendorName}}! {{code}} er login-koden",yK="Koden er udløbet",wK="Ugyldig kode",bK="Tjek venligst <0>{{username}}</0> og indtast den sekscifrede kode, som vi har sendt til dig.",vK="Koden er allerede brugt",$K="Koden er gyldig i 30 minutter",kK="Der opstod en konfigurationsfejl.",xK="Bekræft adgangskode",SK="Er du sikker på, at du vil fjerne forbindelsen til denne konto?",zK="Har du brug for hjælp?",AK="Kontakt os",EK="eller fortsæt med social konto",CK="Fortsæt med {{provider}}",NK="Vil du gerne fortsætte med din eksisterende konto?",IK="Ophavsret © 2023 SESAMY. Alle rettigheder forbeholdes.",jK="©2023 Sesamy",OK="Vælg en adgangskode med en blanding af store og små bogstaver, tal og symboler.",PK="Indtast venligst en gyldig e-mailadresse.",TK="Adgangskoderne stemte ikke overens. Prøv igen.",RK="Vælg adgangskode",BK="Adgangskoden skal være mindst 8 tegn lang og indeholde mindst et lille bogstav, et stort bogstav, et tal og et symbol.",LK="Opret ny konto",UK="Tilmeld dig med adgangskode",DK="Nuværende e-mailadresse",MK="Du er i øjeblikket logget ind som <0>{{email}}</0>",qK="Rediger",FK="E-mail",HK="E-mailen er allerede optaget",VK="E-mail ændret til <0>{{email}}</0> ",KK="E-mail eller telefonnummer",GK="E-mail-adresse",WK="Din e-mailadresse er blevet valideret",JK="Indtast nu din adgangskode for at logge ind igen",XK="Der er sendt en e-mail til <0>{{email}}</0> med et bekræftelseslink. Klik på linket for at bekræfte din e-mailadresse og angive en adgangskode.",ZK="E-mail-bekræftelse sendt",YK="Skal man blive ved med at logge ind?",QK="Du er i øjeblikket inde på {{browserName}}. Denne browser logger dig ofte ud, så vi anbefaler, at du bruger din telefons standardbrowser i stedet.",eG="Indtast en kode",tG="Vi sender dig et bekræftelseslink for at sikre, at du ejer denne e-mailadresse.",nG="Indtast ny e-mail",rG="Indtast ny adgangskode",iG="Indtast adgangskode",oG="Indtast din e-mailadresse og adgangskode for at logge ind.",sG="Indtast din adgangskode",aG="Noget gik galt",cG="Det magiske link er udløbet. Klik på knappen nedenfor for at modtage et nyt link i din indbakke.",lG="Hej! Vi har opdateret vores login-oplevelse. <0>Klik her for at lære mere om det.</0>",dG="Send e-mail til nulstilling af adgangskode",uG="Klik på knappen nedenfor, så sender vi instruktioner om, hvordan du nulstiller din adgangskode.",pG="E-mail til nulstilling af adgangskode sendt",fG="Har du glemt din adgangskode?",hG="Har du glemt din adgangskode?",gG="Gå tilbage",mG="Skjul adgangskode",_G="Inkognitotilstand opdaget",yG="Du er i inkognito/privat tilstand. Sessionsdata fortsætter muligvis ikke på tværs af sideopdateringer. Nogle funktioner fungerer måske ikke som forventet.",wG="Ugyldig identifikator",bG="Ugyldig adgangskode",vG="Linket er ikke længere gyldigt. Sørg for at åbne login-linket i den samme browser, som du startede login med. Du kan klikke på linket nedenfor for at starte et nyt login.",$G="Ugyldigt link",kG="Koblede konti",xG="Klik på knappen for at logge ind",SG="Login",zG="Eller indtast koden på {{vendorName}} for at gennemføre login.",AG="Indtast din e-mailadresse for at låse op for dette show på {{service}}",EG="Forbind din konto med {{service}}",CG="Du er logget ind som",NG="Login",IG="Indtast din e-mailadresse for at logge ind.",jG="Indtast din e-mailadresse, så sender vi dig en login-kode.",OG="Indtast din e-mail eller dit telefonnummer for at logge ind",PG="Indtast din e-mailadresse, så sender vi dig et login-link.",TG="Indtast dit telefonnummer for at logge ind",RG="Indtast din {{authMethod}} for at logge ind.",BG="Log ud",LG="Ny emailadresse",UG="En engangskode vil blive sendt til din nye e-mailadresse, indtast koden i næste trin.",DG="Ingen e-mailadresse er angivet",MG="Nej, jeg vil bruge en anden konto",qG="eller",FG="Adgangskode",HG="Adgangskoden indeholder et forbudt ord",VG="Adgangskoden må ikke indeholde personlige oplysninger som dit navn eller e-mail",KG="Adgangskoden er blevet nulstillet",GG="Succes",WG="Adgangskoden skal indeholde mindst ét lille bogstav",JG="Adgangskoden skal indeholde mindst ét tal",XG="Adgangskoden skal indeholde mindst ét specialtegn",ZG="Adgangskoden skal indeholde mindst ét stort bogstav",YG="Koden blev ikke fundet eller er udløbet",QG="Adgangskoden kunne ikke nulstilles",eW="Adgangskoden er blevet brugt for nylig og kan ikke genbruges",tW="Adgangskoden skal være mindst {{minLength}} tegn",nW="Skift adgangskode til din {{vendorName}} konto",rW="Skift adgangskode til din {{vendorName}} -konto",iW="Telefonnummer",oW="Politik for beskyttelse af personlige oplysninger",sW="Omdirigering",aW="Bekræft adgangskode",cW="Registrer en ny adgangskode",lW="Send koden igen",dW="Skift adgangskode",uW="Indtast din nye adgangskode til e-mailkontoen nedenfor: ",pW="Klik på knappen for at nulstille din adgangskode",fW="Klik på knappen for at nulstille din adgangskode",hW="Nulstil din adgangskode",gW="Skift adgangskode til din {{vendorName}} -konto",mW="Nulstil adgangskode",_W="Send",yW="Send mig et nyt magisk link",wW="Husk at tjekke din spam-mappe, hvis e-mailen ikke er kommet frem.",bW="Indstil adgangskode",vW="Vis adgangskode",$W="Log ind",kW="Tilmelding",xW="Tilmeld dig med succes",SW="{{code}} er din login-kode til {{vendorName}}",zW="Det ser ud til, at din Spotify-konto i øjeblikket er knyttet til en anden Sesamy-konto. Men frygt ikke, vi er her for at guide dig gennem processen med at få det løst.",AW="Gå til Spotifys side for adgang til indhold",EW='Lad os starte med at fjerne forbindelsen til din Spotify-konto. Klik på knappen nedenfor for at gå til Spotifys Content Access-side. Når du har logget ind på din Spotify-konto, skal du finde Sesamy på listen over tilsluttede platforme. Klik på "Unlink" ved siden af Sesamy-logoet.',CW="Trin 1: Fjern forbindelsen til din Spotify-konto",NW="Når du har afkoblet din Spotify-konto, kan du koble den til Sesamy igen. Du skal blot gentage de trin, du tidligere har taget, og som førte dig til denne side.",IW="Trin 2: Relink din Spotify-konto til Sesamy",jW="Ups! Din Spotify-konto er allerede forbundet",OW="Færdig",PW="Hvis du har spørgsmål eller brug for hjælp, kan du kontakte vores supportteam",TW="Vilkår og betingelser",RW="Noget gik galt. Prøv venligst igen.",BW="Frakobl",LW="Din e-mailadresse skal valideres. Vi har sendt en ny e-mail til din indbakke",UW="Opdatering af e-mail",DW="Brugerkontoen findes ikke",MW="Brugerkontoen findes ikke",qW="Vi kunne ikke finde en bruger med den angivne e-mailadresse. Prøv venligst igen.",FW="Prøv igen.",HW="Valider koden",VW="Tjek din indbakke for instruktioner om validering af e-mail.",KW="Tilmeldte sig",GW="Klik på knappen for at bekræfte din e-mailadresse",WW="Bekræft din e-mailadresse",JW="Bekræft din e-mailadresse",XW="Bekræft konto",ZW="Bekræft din e-mail",YW="Velkommen",QW="Velkommen til din {{vendorName}} konto!",eJ="Tjek venligst din e-mail på <0>{{email}}</0> og indtast den sekscifrede kode, vi har sendt dig.",tJ="Fortsæt med denne konto",nJ="Ja, fortsæt med {{text}}",rJ="Ja, fortsæt med eksisterende konto",iJ={account_detected:tK,account_page_description:nK,account_title:rK,account_with_sso_provider:iK,agree_to:oK,and:sK,auth_method_email:aK,auth_method_email_or_phone:cK,auth_method_phone:lK,callback_url_mismatch:dK,callback_url_not_allowed:uK,change_email:pK,check_email_title:fK,click_to_sign_up_description:hK,code_email_enter_code:gK,code_email_subject:mK,code_email_title:_K,code_expired:yK,code_invalid:wK,code_sent_template:bK,code_used:vK,code_valid_30_minutes:$K,configuration_error_message:kK,confirm_password:xK,confirm_unlink:SK,contact_support:zK,contact_us:AK,continue:"Fortsæt",continue_social_login:EK,continue_with:CK,continue_with_sso_provider_headline:NK,copyright:IK,copyright_sesamy:jK,create_account_description:OK,create_account_email_invalid:PK,create_account_passwords_didnt_match:TK,create_account_title:RK,create_account_weak_password:BK,create_new_account_link:LK,create_password_account_title:UK,current_email:DK,currently_logged_in_as:MK,edit:qK,email:FK,email_already_taken:HK,email_changed_to_template:VK,email_or_phone_placeholder:KK,email_placeholder:GK,email_validated:WK,email_validated_cta:JK,email_verification_for_signup_sent_description:XK,email_verification_for_signup_sent_title:ZK,embedded_browser_detected:YK,embedded_browser_warning:QK,enter_a_code_btn:eG,enter_email_for_verification_description:tG,enter_new_email:nG,enter_new_password_placeholder:rG,enter_password:iG,enter_password_description:oG,enter_your_password_btn:sG,error_page_title:aG,expired_code:cG,fokus_info_message:lG,forgot_password_cta:dG,forgot_password_description:uG,forgot_password_email_sent:pG,forgot_password_link:fG,forgot_password_title:hG,go_back:gG,hide_password:mG,incognito_mode_detected:_G,incognito_mode_warning:yG,"invalid-email":"Ugyldig e-mail",invalid_identifier:wG,invalid_password:bG,invalid_session_body:vG,invalid_session_title:$G,linked_accounts:kG,link_email_click_to_login:xG,link_email_login:SG,link_email_or_enter_code:zG,link_page_body:AG,link_page_headline:EG,logged_in_as:CG,login:NG,login_description:IG,login_description_code:jG,login_description_combined:OG,login_description_link:PG,login_description_phone:TG,login_description_template:RG,logout:BG,new_email:LG,new_email_code_info:UG,no_email_address:DG,no_use_another:MG,or:qG,password:FG,password_contains_forbidden_word:HG,password_contains_personal_info:VG,password_has_been_reset:KG,password_has_been_reset_title:GG,password_missing_lowercase:WG,password_missing_number:JG,password_missing_special:XG,password_missing_uppercase:ZG,password_reset_code_expired:YG,password_reset_failed:QG,password_reused:eW,password_too_short:tW,password_reset_subject:nW,password_reset_title:rW,phone_placeholder:iW,privacy_policy:oW,redirecting:sW,reenter_new_password_placeholder:aW,register_password_account:cW,resend_code:lW,reset_password_cta:dW,reset_password_description:uW,reset_password_email_click_to_reset:pW,reset_password_email_cta:fW,reset_password_email_reset:hW,reset_password_subject:gW,reset_password_title:mW,send:_W,send_me_a_new_magic_link:yW,sent_code_spam:wW,"Server error: Invalid code":"Ugyldig kode",set_password:bW,show_password:vW,sign_in:$W,signup:kW,signup_success:xW,sms_code_text:SW,spotify_already_linked_body:zW,spotify_already_linked_cta:AW,spotify_already_linked_step1_body:EW,spotify_already_linked_step1_title:CW,spotify_already_linked_step2_body:NW,spotify_already_linked_step2_title:IW,spotify_already_linked_title:jW,success:OW,support_info:PW,terms:TW,unexpected_error_try_again:RW,unlink:BW,unverified_email:LW,update_email:UW,user_account_does_not_exist:DW,user_not_found:MW,user_not_found_body:qW,user_not_found_cta:FW,validate_code:HW,validate_email_body:VW,validate_email_title:KW,verify_email_click_to_verify:GW,verify_email_subject:WW,verify_email_title:JW,verify_email_verify:XW,verify_your_email:ZW,welcome:YW,welcome_to_your_account:QW,we_sent_a_code_to:eJ,yes_continue:tJ,yes_continue_with:nJ,yes_continue_with_existing_account:rJ},oJ=({...t})=>u("svg",{width:"45",height:"45",viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",...t,children:[u("path",{d:"M44.1035 23.0123C44.1054 21.4791 43.9758 19.9486 43.716 18.4375H22.498V27.1028H34.6507C34.4021 28.4868 33.8757 29.8061 33.1034 30.9812C32.3311 32.1562 31.3289 33.1628 30.1571 33.9401V39.5649H37.41C41.6567 35.6494 44.1035 29.859 44.1035 23.0123Z",fill:"#4285F4"}),u("path",{d:"M22.4982 44.9997C28.5698 44.9997 33.6821 43.0061 37.4101 39.5687L30.1573 33.9439C28.1386 35.3126 25.5387 36.0938 22.4982 36.0938C16.6296 36.0938 11.6485 32.1377 9.86736 26.8066H2.39575V32.6033C4.26839 36.3297 7.13989 39.4622 10.6896 41.6512C14.2394 43.8402 18.3277 44.9995 22.4982 44.9997Z",fill:"#34A853"}),u("path",{d:"M9.86737 26.8073C8.92572 24.0138 8.92572 20.9886 9.86737 18.1951V12.3984H2.39576C0.820432 15.5332 0 18.9929 0 22.5012C0 26.0095 0.820432 29.4692 2.39576 32.604L9.86737 26.8073Z",fill:"#FBBC04"}),u("path",{d:"M22.4982 8.90741C25.7068 8.85499 28.8071 10.0673 31.1291 12.2823L37.5507 5.86064C33.4788 2.03602 28.0843 -0.0637686 22.4982 0.00147616C18.3277 0.00166623 14.2394 1.16098 10.6896 3.34999C7.13989 5.539 4.26839 8.67155 2.39575 12.3979L9.86736 18.1946C11.6485 12.8635 16.6296 8.90741 22.4982 8.90741Z",fill:"#EA4335"})]}),sJ=t=>{const{theme:e,branding:n,client:r,authParams:i}=t,a=`/authorize?${new URLSearchParams({...i})}`;return u(Se,{theme:e,branding:n,client:r,title:y.t("user_not_found"),children:u("div",{className:"flex flex-1 flex-col justify-center",children:[u("p",{className:"mb-8 text-gray-300 text-lg",children:y.t("user_not_found_body")}),u(xe,{Component:"a",href:a,children:y.t("user_not_found_cta")})]})})},aJ=({...t})=>u("svg",{version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48",width:"45",height:"45",...t,children:[u("path",{fill:"#FF5B24",d:"M3.5,8h41c1.9,0,3.5,1.6,3.5,3.5v25c0,1.9-1.6,3.5-3.5,3.5h-41C1.6,40,0,38.4,0,36.5v-25C0,9.6,1.6,8,3.5,8z"}),u("path",{fillRule:"evenodd",clipRule:"evenodd",fill:"#FFFFFF",d:`M27.9,20.3c1.4,0,2.6-1,2.6-2.5h0c0-1.5-1.2-2.5-2.6-2.5c-1.4,0-2.6,1-2.6,2.5C25.3,19.2,26.5,20.3,27.9,20.3z
156
156
  M31.2,24.4c-1.7,2.2-3.5,3.8-6.7,3.8h0c-3.2,0-5.8-2-7.7-4.8c-0.8-1.2-2-1.4-2.9-0.8c-0.8,0.6-1,1.8-0.3,2.9
157
- c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]});function cJ(t,e){const{mainTenantId:n,mainClientId:r}=e;return{...t,legacyClients:{get:async i=>{const s=await t.legacyClients.get(i);if(!s)return null;const a=r?await t.legacyClients.get(r):void 0,c=await t.connections.list(s.tenant.id),l=n?await t.connections.list(n):{connections:[]},d=c.connections.map(f=>{const g=l.connections?.find(w=>w.name===f.name);if(!g?.options)return f;const _=St.parse({...g||{},...f});return _.options=Dr.passthrough().parse({...g.options||{},...f.options}),_}).filter(f=>f),p={...a?.tenant||{},...s.tenant};return!s.tenant.audience&&a?.tenant?.audience&&(p.audience=a.tenant.audience),{...s,web_origins:[...a?.web_origins||[],...s.web_origins||[]],allowed_logout_urls:[...a?.allowed_logout_urls||[],...s.allowed_logout_urls||[]],callbacks:[...a?.callbacks||[],...s.callbacks||[]],connections:d,tenant:p}}},connections:{...t.connections,get:async(i,s)=>{const a=await t.connections.get(i,s);if(!a||!n)return a;const c=await t.connections.get(n,s);if(!c)return a;const l=St.parse({...c,...a});return l.options=Dr.passthrough().parse({...c.options||{},...a.options}),l},list:async(i,s)=>{const a=await t.connections.list(i,s);if(!n||i===n)return a;const c=await t.connections.list(n),l=a.connections.map(d=>{const p=c.connections?.find(g=>g.name===d.name);if(!p?.options)return d;const f=St.parse({...p,...d});return f.options=Dr.passthrough().parse({...p.options||{},...d.options}),f});return{...a,connections:l}}}}}function lJ(t,e){return cJ(t,e)}y.init({supportedLngs:["en","it","nb","sv","pl","cs","fi","da"],fallbackLng:"en",resources:{en:{translation:NA},it:{translation:PN},nb:{translation:LO},sv:{translation:qR},pl:{translation:KU},cs:{translation:Xq},fi:{translation:eK},da:{translation:iJ}}});function dJ(t){const e=new o.OpenAPIHono;e.use("*",async(a,c)=>{t.hooks&&(a.env.hooks={...t.hooks,...a.env.hooks||{}}),t.samlSigner&&(a.env.samlSigner=t.samlSigner),await c()}),e.get("/",a=>a.json({name:"authhero"}));const n=qk(t);e.route("/api/v2",n);const r=Xx(t);e.route("/u",r);const i=z9(t);e.route("/samlp",i);const s=P8(t);return e.route("/",s),{app:e,managementApp:n,oauthApp:s,samlApp:i,universalApp:r,createX509Certificate:su}}exports.AppLogo=Rt;exports.Auth0Client=am;exports.AuthLayout=be;exports.AuthorizationResponseMode=Vt;exports.AuthorizationResponseType=mt;exports.Button=xe;exports.ButtonUI=Jt;exports.CardContent=rn;exports.CardDescription=nn;exports.CardFooter=P1;exports.CardHeader=en;exports.CardTitle=tn;exports.CardUI=Qt;exports.CheckEmailPage=J1;exports.CodeChallengeMethod=Fa;exports.ComponentCategory=$u;exports.ComponentType=vu;exports.EmailValidatedPage=Y1;exports.EnterCodePage=gu;exports.EnterPasswordPage=Rs;exports.ErrorMessage=Be;exports.Footer=T1;exports.ForgotPasswordPage=G1;exports.ForgotPasswordSentPage=W1;exports.FormComponent=Bt;exports.GoBack=lt;exports.GoogleLogo=oJ;exports.GrantType=xt;exports.HttpSamlSigner=Qm;exports.Icon=Ne;exports.IdentifierForm=js;exports.IdentifierPage=Os;exports.InputUI=jt;exports.InvalidSession=Z1;exports.LabelUI=_t;exports.Layout=Se;exports.LocationInfo=cm;exports.LogTypes=ee;exports.Message=wt;exports.NodeType=F0;exports.PreSignUpConfirmationPage=Q1;exports.PreSignUpPage=X1;exports.ResetPasswordPage=Rr;exports.SignUpPage=Vn;exports.SocialButton=B1;exports.Spinner=R1;exports.Trans=Un;exports.UnverifiedEmailPage=K1;exports.UserNotFoundPage=sJ;exports.VippsLogo=aJ;exports.auth0FlowInsertSchema=Ww;exports.auth0FlowSchema=X0;exports.auth0QuerySchema=Fw;exports.auth0UserResponseSchema=qt;exports.authParamsSchema=ho;exports.baseUserSchema=Ma;exports.bordersSchema=fm;exports.brandingSchema=Il;exports.buttonComponentSchema=L0;exports.clientGrantInsertSchema=qs;exports.clientGrantListSchema=Gw;exports.clientGrantSchema=Wn;exports.clientInsertSchema=Ms;exports.clientSchema=Gn;exports.codeInsertSchema=Y0;exports.codeSchema=Jw;exports.codeTypeSchema=Z0;exports.colorsSchema=hm;exports.componentSchema=q0;exports.connectionInsertSchema=Fs;exports.connectionOptionsSchema=Dr;exports.connectionSchema=St;exports.coordinatesSchema=ui;exports.createInMemoryCache=cs;exports.customDomainInsertSchema=ku;exports.customDomainSchema=Sn;exports.customDomainWithTenantIdSchema=Xw;exports.emailProviderSchema=ks;exports.endingSchema=J0;exports.fieldComponentSchema=D0;exports.flowNodeSchema=V0;exports.fontDetailsSchema=Hn;exports.fontsSchema=gm;exports.formControlSchema=Zw;exports.formInsertSchema=Hs;exports.formNodeComponentDefinition=em;exports.formSchema=Br;exports.genericComponentSchema=M0;exports.genericNodeSchema=K0;exports.hookInsertSchema=bs;exports.hookSchema=Lr;exports.identitySchema=R0;exports.init=dJ;exports.injectTailwindCSS=qx;exports.inviteInsertSchema=xu;exports.inviteSchema=ro;exports.inviteeSchema=im;exports.inviterSchema=rm;exports.jwksKeySchema=om;exports.jwksSchema=Su;exports.legalComponentSchema=U0;exports.logInsertSchema=lm;exports.logSchema=Vs;exports.loginSessionInsertSchema=sm;exports.loginSessionSchema=nb;exports.nodeSchema=G0;exports.openIDConfigurationSchema=jl;exports.organizationBrandingSchema=Nm;exports.organizationEnabledConnectionSchema=Im;exports.organizationInsertSchema=Js;exports.organizationSchema=An;exports.organizationTokenQuotaSchema=jm;exports.pageBackgroundSchema=mm;exports.parseUserId=fb;exports.passwordInsertSchema=dm;exports.passwordSchema=ib;exports.profileDataSchema=T0;exports.promptSettingSchema=$s;exports.refreshTokenInsertSchema=Au;exports.refreshTokenSchema=ob;exports.resourceServerInsertSchema=Ks;exports.resourceServerListSchema=cb;exports.resourceServerOptionsSchema=bm;exports.resourceServerSchema=Jn;exports.resourceServerScopeSchema=wm;exports.richTextComponentSchema=B0;exports.roleInsertSchema=Gs;exports.roleListSchema=Ws;exports.rolePermissionInsertSchema=vm;exports.rolePermissionListSchema=km;exports.rolePermissionSchema=$m;exports.roleSchema=Xn;exports.sessionInsertSchema=pm;exports.sessionSchema=Va;exports.signingKeySchema=Ol;exports.smsProviderSchema=ab;exports.smsSendParamsSchema=sb;exports.startSchema=W0;exports.stepNodeSchema=H0;exports.tailwindCss=Gp;exports.tenantInsertSchema=no;exports.tenantSchema=zn;exports.tenantSettingsSchema=pb;exports.themeInsertSchema=ym;exports.themeSchema=vs;exports.tokenResponseSchema=zu;exports.totalsSchema=it;exports.userInsertSchema=Ds;exports.userOrganizationInsertSchema=Om;exports.userOrganizationSchema=ub;exports.userPermissionInsertSchema=xm;exports.userPermissionListSchema=lb;exports.userPermissionSchema=Sm;exports.userPermissionWithDetailsListSchema=Am;exports.userPermissionWithDetailsSchema=zm;exports.userResponseSchema=Hw;exports.userRoleInsertSchema=Em;exports.userRoleListSchema=db;exports.userRoleSchema=Cm;exports.userSchema=bu;exports.verificationMethodsSchema=Q0;exports.waitUntil=Fm;exports.widgetSchema=_m;exports.withMainTenantFallback=lJ;
157
+ c2.7,4.1,6.5,6.6,10.9,6.6c4,0,7.2-2,9.6-5.2c0.9-1.2,0.9-2.5,0-3.1C33.3,22.9,32.1,23.2,31.2,24.4z`})]});function cJ(t,e){const{mainTenantId:n,mainClientId:r}=e;return{...t,legacyClients:{get:async i=>{const s=await t.legacyClients.get(i);if(!s)return null;const a=r?await t.legacyClients.get(r):void 0,c=await t.connections.list(s.tenant.id),l=n?await t.connections.list(n):{connections:[]},d=c.connections.map(f=>{const g=l.connections?.find(w=>w.name===f.name);if(!g?.options)return f;const _=St.parse({...g||{},...f});return _.options=Dr.passthrough().parse({...g.options||{},...f.options}),_}).filter(f=>f),p={...a?.tenant||{},...s.tenant};return!s.tenant.audience&&a?.tenant?.audience&&(p.audience=a.tenant.audience),{...s,web_origins:[...a?.web_origins||[],...s.web_origins||[]],allowed_logout_urls:[...a?.allowed_logout_urls||[],...s.allowed_logout_urls||[]],callbacks:[...a?.callbacks||[],...s.callbacks||[]],connections:d,tenant:p}}},connections:{...t.connections,get:async(i,s)=>{const a=await t.connections.get(i,s);if(!a||!n)return a;const c=await t.connections.get(n,s);if(!c)return a;const l=St.parse({...c,...a});return l.options=Dr.passthrough().parse({...c.options||{},...a.options}),l},list:async(i,s)=>{const a=await t.connections.list(i,s);if(!n||i===n)return a;const c=await t.connections.list(n),l=a.connections.map(d=>{const p=c.connections?.find(g=>g.name===d.name);if(!p?.options)return d;const f=St.parse({...p,...d});return f.options=Dr.passthrough().parse({...p.options||{},...d.options}),f});return{...a,connections:l}}}}}function lJ(t,e){return cJ(t,e)}y.init({supportedLngs:["en","it","nb","sv","pl","cs","fi","da"],fallbackLng:"en",resources:{en:{translation:NA},it:{translation:PN},nb:{translation:LO},sv:{translation:qR},pl:{translation:KU},cs:{translation:Xq},fi:{translation:eK},da:{translation:iJ}}});function dJ(t){const e=new o.OpenAPIHono;e.use("*",async(a,c)=>{t.hooks&&(a.env.hooks={...t.hooks,...a.env.hooks||{}}),t.samlSigner&&(a.env.samlSigner=t.samlSigner),await c()}),e.get("/",a=>a.json({name:"authhero"}));const n=qk(t);e.route("/api/v2",n);const r=Xx(t);e.route("/u",r);const i=z9(t);e.route("/samlp",i);const s=P8(t);return e.route("/",s),{app:e,managementApp:n,oauthApp:s,samlApp:i,universalApp:r,createX509Certificate:su}}exports.AppLogo=Tt;exports.Auth0Client=am;exports.AuthLayout=be;exports.AuthorizationResponseMode=Ht;exports.AuthorizationResponseType=mt;exports.Button=xe;exports.ButtonUI=Wt;exports.CardContent=rn;exports.CardDescription=nn;exports.CardFooter=P1;exports.CardHeader=en;exports.CardTitle=tn;exports.CardUI=Qt;exports.CheckEmailPage=J1;exports.CodeChallengeMethod=Fa;exports.ComponentCategory=$u;exports.ComponentType=vu;exports.EmailValidatedPage=Y1;exports.EnterCodePage=gu;exports.EnterPasswordPage=Rs;exports.ErrorMessage=Be;exports.Footer=T1;exports.ForgotPasswordPage=G1;exports.ForgotPasswordSentPage=W1;exports.FormComponent=Rt;exports.GoBack=lt;exports.GoogleLogo=oJ;exports.GrantType=xt;exports.HttpSamlSigner=Qm;exports.Icon=Ne;exports.IdentifierForm=js;exports.IdentifierPage=Os;exports.InputUI=jt;exports.InvalidSession=Z1;exports.LabelUI=_t;exports.Layout=Se;exports.LocationInfo=cm;exports.LogTypes=ee;exports.Message=wt;exports.NodeType=F0;exports.PreSignUpConfirmationPage=Q1;exports.PreSignUpPage=X1;exports.ResetPasswordPage=Rr;exports.SignUpPage=Vn;exports.SocialButton=B1;exports.Spinner=R1;exports.Trans=Un;exports.UnverifiedEmailPage=K1;exports.UserNotFoundPage=sJ;exports.VippsLogo=aJ;exports.auth0FlowInsertSchema=Ww;exports.auth0FlowSchema=X0;exports.auth0QuerySchema=Fw;exports.auth0UserResponseSchema=Mt;exports.authParamsSchema=ho;exports.baseUserSchema=Ma;exports.bordersSchema=fm;exports.brandingSchema=Il;exports.buttonComponentSchema=L0;exports.clientGrantInsertSchema=qs;exports.clientGrantListSchema=Gw;exports.clientGrantSchema=Wn;exports.clientInsertSchema=Ms;exports.clientSchema=Gn;exports.codeInsertSchema=Y0;exports.codeSchema=Jw;exports.codeTypeSchema=Z0;exports.colorsSchema=hm;exports.componentSchema=q0;exports.connectionInsertSchema=Fs;exports.connectionOptionsSchema=Dr;exports.connectionSchema=St;exports.coordinatesSchema=ui;exports.createInMemoryCache=cs;exports.customDomainInsertSchema=ku;exports.customDomainSchema=Sn;exports.customDomainWithTenantIdSchema=Xw;exports.emailProviderSchema=ks;exports.endingSchema=J0;exports.fieldComponentSchema=D0;exports.flowNodeSchema=V0;exports.fontDetailsSchema=Hn;exports.fontsSchema=gm;exports.formControlSchema=Zw;exports.formInsertSchema=Hs;exports.formNodeComponentDefinition=em;exports.formSchema=Br;exports.genericComponentSchema=M0;exports.genericNodeSchema=K0;exports.hookInsertSchema=bs;exports.hookSchema=Lr;exports.identitySchema=R0;exports.init=dJ;exports.injectTailwindCSS=qx;exports.inviteInsertSchema=xu;exports.inviteSchema=ro;exports.inviteeSchema=im;exports.inviterSchema=rm;exports.jwksKeySchema=om;exports.jwksSchema=Su;exports.legalComponentSchema=U0;exports.logInsertSchema=lm;exports.logSchema=Vs;exports.loginSessionInsertSchema=sm;exports.loginSessionSchema=nb;exports.nodeSchema=G0;exports.openIDConfigurationSchema=jl;exports.organizationBrandingSchema=Nm;exports.organizationEnabledConnectionSchema=Im;exports.organizationInsertSchema=Js;exports.organizationSchema=An;exports.organizationTokenQuotaSchema=jm;exports.pageBackgroundSchema=mm;exports.parseUserId=fb;exports.passwordInsertSchema=dm;exports.passwordSchema=ib;exports.profileDataSchema=T0;exports.promptSettingSchema=$s;exports.refreshTokenInsertSchema=Au;exports.refreshTokenSchema=ob;exports.resourceServerInsertSchema=Ks;exports.resourceServerListSchema=cb;exports.resourceServerOptionsSchema=bm;exports.resourceServerSchema=Jn;exports.resourceServerScopeSchema=wm;exports.richTextComponentSchema=B0;exports.roleInsertSchema=Gs;exports.roleListSchema=Ws;exports.rolePermissionInsertSchema=vm;exports.rolePermissionListSchema=km;exports.rolePermissionSchema=$m;exports.roleSchema=Xn;exports.sessionInsertSchema=pm;exports.sessionSchema=Va;exports.signingKeySchema=Ol;exports.smsProviderSchema=ab;exports.smsSendParamsSchema=sb;exports.startSchema=W0;exports.stepNodeSchema=H0;exports.tailwindCss=Gp;exports.tenantInsertSchema=no;exports.tenantSchema=zn;exports.tenantSettingsSchema=pb;exports.themeInsertSchema=ym;exports.themeSchema=vs;exports.tokenResponseSchema=zu;exports.totalsSchema=it;exports.userInsertSchema=Ds;exports.userOrganizationInsertSchema=Om;exports.userOrganizationSchema=ub;exports.userPermissionInsertSchema=xm;exports.userPermissionListSchema=lb;exports.userPermissionSchema=Sm;exports.userPermissionWithDetailsListSchema=Am;exports.userPermissionWithDetailsSchema=zm;exports.userResponseSchema=Hw;exports.userRoleInsertSchema=Em;exports.userRoleListSchema=db;exports.userRoleSchema=Cm;exports.userSchema=bu;exports.verificationMethodsSchema=Q0;exports.waitUntil=Fm;exports.widgetSchema=_m;exports.withMainTenantFallback=lJ;