@masonitestudios/spartanauth-widgets 0.1.0 → 0.2.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/sa-widgets.mjs +1355 -1189
- package/dist/sa-widgets.umd.js +45 -4
- package/package.json +1 -1
package/dist/sa-widgets.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Je){typeof define=="function"&&define.amd?define(Je):Je()})(function(){"use strict";const Ie={equals:(e,t)=>e===t};let ut=ot;const be=1,Ne=2,st={owned:null,cleanups:null,context:null,owner:null};var Q=null;let Ke=null,Nt=null,R=null,Z=null,pe=null,ze=0;function zt(e,t){const n=R,r=Q,u=e.length===0,s=t===void 0?r:t,a=u?st:{owned:null,cleanups:null,context:s?s.context:null,owner:s},i=u?e:()=>e(()=>Me(()=>xe(a)));Q=a,R=null;try{return ke(i,!0)}finally{R=n,Q=r}}function w(e,t){t=t?Object.assign({},Ie,t):Ie;const n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=u=>(typeof u=="function"&&(u=u(n.value)),it(n,u));return[at.bind(n),r]}function S(e,t,n){const r=Ge(e,t,!1,be);$e(r)}function Mt(e,t,n){ut=qt;const r=Ge(e,t,!1,be);r.user=!0,pe?pe.push(r):$e(r)}function A(e,t,n){n=n?Object.assign({},Ie,n):Ie;const r=Ge(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,$e(r),at.bind(r)}function Me(e){if(R===null)return e();const t=R;R=null;try{return e()}finally{R=t}}function Ve(e){Mt(()=>Me(e))}function at(){if(this.sources&&this.state)if(this.state===be)$e(this);else{const e=Z;Z=null,ke(()=>Re(this),!1),Z=e}if(R){const e=this.observers?this.observers.length:0;R.sources?(R.sources.push(this),R.sourceSlots.push(e)):(R.sources=[this],R.sourceSlots=[e]),this.observers?(this.observers.push(R),this.observerSlots.push(R.sources.length-1)):(this.observers=[R],this.observerSlots=[R.sources.length-1])}return this.value}function it(e,t,n){let r=e.value;return(!e.comparator||!e.comparator(r,t))&&(e.value=t,e.observers&&e.observers.length&&ke(()=>{for(let u=0;u<e.observers.length;u+=1){const s=e.observers[u],a=Ke&&Ke.running;a&&Ke.disposed.has(s),(a?!s.tState:!s.state)&&(s.pure?Z.push(s):pe.push(s),s.observers&<(s)),a||(s.state=be)}if(Z.length>1e6)throw Z=[],new Error},!1)),t}function $e(e){if(!e.fn)return;xe(e);const t=ze;jt(e,e.value,t)}function jt(e,t,n){let r;const u=Q,s=R;R=Q=e;try{r=e.fn(t)}catch(a){return e.pure&&(e.state=be,e.owned&&e.owned.forEach(xe),e.owned=null),e.updatedAt=n+1,ct(a)}finally{R=s,Q=u}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?it(e,r):e.value=r,e.updatedAt=n)}function Ge(e,t,n,r=be,u){const s={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:Q,context:Q?Q.context:null,pure:n};return Q===null||Q!==st&&(Q.owned?Q.owned.push(s):Q.owned=[s]),s}function je(e){if(e.state===0)return;if(e.state===Ne)return Re(e);if(e.suspense&&Me(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<ze);)e.state&&t.push(e);for(let n=t.length-1;n>=0;n--)if(e=t[n],e.state===be)$e(e);else if(e.state===Ne){const r=Z;Z=null,ke(()=>Re(e,t[0]),!1),Z=r}}function ke(e,t){if(Z)return e();let n=!1;t||(Z=[]),pe?n=!0:pe=[],ze++;try{const r=e();return Rt(n),r}catch(r){n||(pe=null),Z=null,ct(r)}}function Rt(e){if(Z&&(ot(Z),Z=null),e)return;const t=pe;pe=null,t.length&&ke(()=>ut(t),!1)}function ot(e){for(let t=0;t<e.length;t++)je(e[t])}function qt(e){let t,n=0;for(t=0;t<e.length;t++){const r=e[t];r.user?e[n++]=r:je(r)}for(t=0;t<n;t++)je(e[t])}function Re(e,t){e.state=0;for(let n=0;n<e.sources.length;n+=1){const r=e.sources[n];if(r.sources){const u=r.state;u===be?r!==t&&(!r.updatedAt||r.updatedAt<ze)&&je(r):u===Ne&&Re(r,t)}}}function lt(e){for(let t=0;t<e.observers.length;t+=1){const n=e.observers[t];n.state||(n.state=Ne,n.pure?Z.push(n):pe.push(n),n.observers&<(n))}}function xe(e){let t;if(e.sources)for(;e.sources.length;){const n=e.sources.pop(),r=e.sourceSlots.pop(),u=n.observers;if(u&&u.length){const s=u.pop(),a=n.observerSlots.pop();r<u.length&&(s.sourceSlots[a]=r,u[r]=s,n.observerSlots[r]=a)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)xe(e.tOwned[t]);delete e.tOwned}if(e.owned){for(t=e.owned.length-1;t>=0;t--)xe(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0}function Lt(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function ct(e,t=Q){throw Lt(e)}function Ut(e,t,n){let r=n.length,u=t.length,s=r,a=0,i=0,C=t[u-1].nextSibling,y=null;for(;a<u||i<s;){if(t[a]===n[i]){a++,i++;continue}for(;t[u-1]===n[s-1];)u--,s--;if(u===a){const p=s<r?i?n[i-1].nextSibling:n[s-i]:C;for(;i<s;)e.insertBefore(n[i++],p)}else if(s===i)for(;a<u;)(!y||!y.has(t[a]))&&t[a].remove(),a++;else if(t[a]===n[s-1]&&n[i]===t[u-1]){const p=t[--u].nextSibling;e.insertBefore(n[i++],t[a++].nextSibling),e.insertBefore(n[--s],p),t[u]=n[s]}else{if(!y){y=new Map;let T=i;for(;T<s;)y.set(n[T],T++)}const p=y.get(t[a]);if(p!=null)if(i<p&&p<s){let T=a,ue=1,ie;for(;++T<u&&T<s&&!((ie=y.get(t[T]))==null||ie!==p+ue);)ue++;if(ue>p-i){const de=t[a];for(;i<p;)e.insertBefore(n[i++],de)}else e.replaceChild(n[i++],t[a++])}else a++;else t[a++].remove()}}}const dt="_$DX_DELEGATE";function x(e,t,n,r){let u;const s=()=>{const i=document.createElement("template");return i.innerHTML=e,i.content.firstChild},a=()=>(u||(u=s())).cloneNode(!0);return a.cloneNode=a,a}function We(e,t=window.document){const n=t[dt]||(t[dt]=new Set);for(let r=0,u=e.length;r<u;r++){const s=e[r];n.has(s)||(n.add(s),t.addEventListener(s,Jt))}}function ce(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function Dt(e,t,n){return Me(()=>e(t,n))}function c(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!="function")return qe(e,t,r,n);S(u=>qe(e,t(),u,n),r)}function Jt(e){let t=e.target;const n=`$$${e.type}`,r=e.target,u=e.currentTarget,s=C=>Object.defineProperty(e,"target",{configurable:!0,value:C}),a=()=>{const C=t[n];if(C&&!t.disabled){const y=t[`${n}Data`];if(y!==void 0?C.call(t,y,e):C.call(t,e),e.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(e.target)&&s(t.host),!0},i=()=>{for(;a()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),e.composedPath){const C=e.composedPath();s(C[0]);for(let y=0;y<C.length-2&&(t=C[y],!!a());y++){if(t._$host){t=t._$host,i();break}if(t.parentNode===u)break}}else i();s(r)}function qe(e,t,n,r,u){for(;typeof n=="function";)n=n();if(t===n)return n;const s=typeof t,a=r!==void 0;if(e=a&&n[0]&&n[0].parentNode||e,s==="string"||s==="number"){if(s==="number"&&(t=t.toString(),t===n))return n;if(a){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=we(e,n,r,i)}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t}else if(t==null||s==="boolean")n=we(e,n,r);else{if(s==="function")return S(()=>{let i=t();for(;typeof i=="function";)i=i();n=qe(e,i,n,r)}),()=>n;if(Array.isArray(t)){const i=[],C=n&&Array.isArray(n);if(He(i,t,n,u))return S(()=>n=qe(e,i,n,r,!0)),()=>n;if(i.length===0){if(n=we(e,n,r),a)return n}else C?n.length===0?ft(e,i,r):Ut(e,n,i):(n&&we(e),ft(e,i));n=i}else if(t.nodeType){if(Array.isArray(n)){if(a)return n=we(e,n,r,t);we(e,n,null,t)}else n==null||n===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}}return n}function He(e,t,n,r){let u=!1;for(let s=0,a=t.length;s<a;s++){let i=t[s],C=n&&n[e.length],y;if(!(i==null||i===!0||i===!1))if((y=typeof i)=="object"&&i.nodeType)e.push(i);else if(Array.isArray(i))u=He(e,i,C)||u;else if(y==="function")if(r){for(;typeof i=="function";)i=i();u=He(e,Array.isArray(i)?i:[i],Array.isArray(C)?C:[C])||u}else e.push(i),u=!0;else{const p=String(i);C&&C.nodeType===3&&C.data===p?e.push(C):e.push(document.createTextNode(p))}}return u}function ft(e,t,n=null){for(let r=0,u=t.length;r<u;r++)e.insertBefore(t[r],n)}function we(e,t,n,r){if(n===void 0)return e.textContent="";const u=r||document.createTextNode("");if(t.length){let s=!1;for(let a=t.length-1;a>=0;a--){const i=t[a];if(u!==i){const C=i.parentNode===e;!s&&!a?C?e.replaceChild(u,i):e.insertBefore(u,n):C&&i.remove()}else s=!0}}else e.insertBefore(u,n);return[u]}function Kt(e){return Object.keys(e).reduce((n,r)=>{const u=e[r];return n[r]=Object.assign({},u),gt(u.value)&&!Zt(u.value)&&!Array.isArray(u.value)&&(n[r].value=Object.assign({},u.value)),Array.isArray(u.value)&&(n[r].value=u.value.slice(0)),n},{})}function Vt(e){return e?Object.keys(e).reduce((n,r)=>{const u=e[r];return n[r]=gt(u)&&"value"in u?u:{value:u},n[r].attribute||(n[r].attribute=Ht(r)),n[r].parse="parse"in n[r]?n[r].parse:typeof n[r].value!="string",n},{}):{}}function Gt(e){return Object.keys(e).reduce((n,r)=>(n[r]=e[r].value,n),{})}function Wt(e,t){const n=Kt(t);return Object.keys(t).forEach(u=>{const s=n[u],a=e.getAttribute(s.attribute),i=e[u];a!=null&&(s.value=s.parse?ht(a):a),i!=null&&(s.value=Array.isArray(i)?i.slice(0):i),s.reflect&&pt(e,s.attribute,s.value,!!s.parse),Object.defineProperty(e,u,{get(){return s.value},set(C){const y=s.value;s.value=C,s.reflect&&pt(this,s.attribute,s.value,!!s.parse);for(let p=0,T=this.__propertyChangedCallbacks.length;p<T;p++)this.__propertyChangedCallbacks[p](u,C,y)},enumerable:!0,configurable:!0})}),n}function ht(e){if(e)try{return JSON.parse(e)}catch{return e}}function pt(e,t,n,r){if(n==null||n===!1)return e.removeAttribute(t);let u=r?JSON.stringify(n):n;e.__updating[t]=!0,u==="true"&&(u=""),e.setAttribute(t,u),Promise.resolve().then(()=>delete e.__updating[t])}function Ht(e){return e.replace(/\.?([A-Z]+)/g,(t,n)=>"-"+n.toLowerCase()).replace("_","-").replace(/^-/,"")}function gt(e){return e!=null&&(typeof e=="object"||typeof e=="function")}function Zt(e){return Object.prototype.toString.call(e)==="[object Function]"}function Yt(e){return typeof e=="function"&&e.toString().indexOf("class")===0}let Ze;function Xt(e,t){const n=Object.keys(t);return class extends e{static get observedAttributes(){return n.map(u=>t[u].attribute)}constructor(){super(),this.__initialized=!1,this.__released=!1,this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props={}}connectedCallback(){if(this.__initialized)return;this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props=Wt(this,t);const u=Gt(this.props),s=this.Component,a=Ze;try{Ze=this,this.__initialized=!0,Yt(s)?new s(u,{element:this}):s(u,{element:this})}finally{Ze=a}}async disconnectedCallback(){if(await Promise.resolve(),this.isConnected)return;this.__propertyChangedCallbacks.length=0;let u=null;for(;u=this.__releaseCallbacks.pop();)u(this);delete this.__initialized,this.__released=!0}attributeChangedCallback(u,s,a){if(this.__initialized&&!this.__updating[u]&&(u=this.lookupProp(u),u in t)){if(a==null&&!this[u])return;this[u]=t[u].parse?ht(a):a}}lookupProp(u){if(t)return n.find(s=>u===s||u===t[s].attribute)}get renderRoot(){return this.shadowRoot||this.attachShadow({mode:"open"})}addReleaseCallback(u){this.__releaseCallbacks.push(u)}addPropertyChangedCallback(u){this.__propertyChangedCallbacks.push(u)}}}function Qt(e,t={},n={}){const{BaseElement:r=HTMLElement,extension:u,customElements:s=window.customElements}=n;return a=>{if(!e)throw new Error("tag is required to register a Component");let i=s.get(e);return i?(i.prototype.Component=a,i):(i=Xt(r,Vt(t)),i.prototype.Component=a,i.prototype.registeredTag=e,s.define(e,i,u),i)}}function en(e){const t=Object.keys(e),n={};for(let r=0;r<t.length;r++){const[u,s]=w(e[t[r]]);Object.defineProperty(n,t[r],{get:u,set(a){s(()=>a)}})}return n}function tn(e){if(e.assignedSlot&&e.assignedSlot._$owner)return e.assignedSlot._$owner;let t=e.parentNode;for(;t&&!t._$owner&&!(t.assignedSlot&&t.assignedSlot._$owner);)t=t.parentNode;return t&&t.assignedSlot?t.assignedSlot._$owner:e._$owner}function nn(e){return(t,n)=>{const{element:r}=n;return zt(u=>{const s=en(t);r.addPropertyChangedCallback((i,C)=>s[i]=C),r.addReleaseCallback(()=>{r.renderRoot.textContent="",u()});const a=e(s,n);return c(r.renderRoot,a)},tn(r))}}function Ye(e,t,n){return arguments.length===2&&(n=t,t={}),Qt(e,t)(nn(n))}var rn="٠١٢٣٤٥٦٧٨٩",un="۰۱۲۳۴۵۶۷۸۹",sn="൦൧൨൩൪൫൬൭൮൯",an="೦೧೨೩೪೫೬೭೮೯",on="໐໑໒໓໔໕໖໗໘໙",ln="୦୧୨୩୪୫୬୭୮୯",cn="០១២៣៤៥៦៧៨៩",dn="߀߁߂߃߄߅߆߇߈߉",Dn="੦੧੨੩੪੫੬੭੮੯",fn="૦૧૨૩૪૫૬૭૮૯",hn="०१२३४५६७८९",pn="၀၁၂၃၄၅၆၇၈၉",gn="௦௧௨௩௪௫௬௭௮௯",mn="౦౧౨౩౪౫౬౭౮౯",bn="๐๑๒๓๔๕๖๗๘๙",Cn="༠༡༢༣༤༥༦༧༨༩",mt={ar:rn,fa:un,ml:sn,kn:an,lo:on,or:ln,kh:cn,nqo:dn,pa:Dn,gu:fn,hi:hn,my:pn,ta:gn,te:mn,th:bn,bo:Cn},An=["ru"],Fn=["id"],En=["id"],vn=["ady-cyrl"],wn=["aeb-arab"],yn=["sq"],Bn=["ru"],$n=["zh-hant"],kn=["es"],xn=["hi"],_n=["es"],Sn=["ar"],Tn=["ar"],On=["ar"],Pn=["es"],In=["fr"],Nn=["ru"],zn=["fr","es","ru"],Mn=["hi"],jn=["es"],Rn=["fa"],qn=["ru"],Ln=["id"],Un=["de"],Jn=["bbc-latn"],Kn=["fa"],Vn=["fa"],Gn=["bho"],Wn=["en"],Hn=["id"],Zn=["fr"],Yn=["bn"],Xn=["fa"],Qn=["fr"],er=["id"],tr=["id"],nr=["ru"],rr=["oc"],ur=["nan","zh-hant"],sr=["ru"],ar=["it"],ir=["crh-latn"],or=["sk"],lr=["pl"],cr=["ru"],dr=["hsb","de"],Dr=["ms"],fr=["ne"],hr=["it"],pr=["it"],gr=["es"],mr=["fr"],br=["fi"],Cr=["fr"],Ar=["fr"],Fr=["de"],Er=["it"],vr=["tr"],wr=["gan-hant","zh-hant","zh-hans"],yr=["fr"],Br=["pt"],$r=["fa"],kr=["es"],xr=["gom-deva"],_r=["id"],Sr=["de"],Tr=["es"],Or=["zh-hant"],Pr=["hif-latn"],Ir=["de"],Nr=["dsb","de"],zr=["fr"],Mr=["hy"],jr=["zh-cn","zh-hans"],Rr=["ru"],qr=["eo"],Lr=["ike-cans"],Ur=["en"],Jr=["da"],Kr=["id"],Vr=["kk-latn","kk-cyrl"],Gr=["fr"],Wr=["kbd-cyrl"],Hr=["fr"],Zr=["ur"],Yr=["tr"],Xr=["my"],Qr=["kk-cyrl"],eu=["da"],tu=["ru"],nu=["ru"],ru=["fi"],uu=["ks-arab"],su=["de"],au=["ku-latn"],iu=["ru"],ou=["ru"],lu=["es"],cu=["de"],du=["ru"],Du=["ru","az"],fu=["nl"],hu=["it"],pu=["et"],gu=["fa"],mu=["it","rm","fur"],bu=["pms","eml","lij","vec","it"],Cu=["fr"],Au=["fa"],Fu=["lv"],Eu=["fa"],vu=["zh-hant"],wu=["tr"],yu=["id"],Bu=["hi"],$u=["myv","ru"],ku=["fr"],xu=["mrj","ru"],_u=["id"],Su=["my"],Tu=["ro"],Ou=["mhr","ru"],Pu=["pt"],Iu=["mdf","ru"],Nu=["fa"],zu=["es"],Mu=["cdo","zh-hant"],ju=["it"],Ru=["nn"],qu=["de"],Lu=["id"],Uu=["nb"],Ju=["fr"],Ku=["ca","fr"],Vu=["fi"],Gu=["ru"],Wu=["fr"],Hu=["de"],Zu=["de"],Yu=["de"],Xu=["en"],Qu=["it"],es=["el"],ts=["pt-br"],ns=["qug","es"],rs=["qu","es"],us=["it"],ss=["ro"],as=["uk","ru"],is=["ro"],os=["ruq-latn","ro"],ls=["hi"],cs=["ru"],ds=["it"],Ds=["en"],fs=["it"],hs=["cbk","fa"],ps=["fr"],gs=["fr"],ms=["lt"],bs=["bs","sr-el","hr"],Cs=["fr"],As=["shy-latn"],Fs=["cs"],Es=["skr-arab"],vs=["de"],ws=["fi"],ys=["sr-ec"],Bs=["nl"],$s=["de"],ks=["ru"],xs=["id"],_s=["pl"],Ss=["zh-tw","zh-hant","zh-hans"],Ts=["zh-tw","zh-hant","zh-hans"],Os=["kn"],Ps=["pt"],Is=["tg-cyrl"],Ns=["zh-tw","zh-hant","zh-hans"],zs=["tt-cyrl","ru"],Ms=["fr"],js=["ru"],Rs=["ru"],qs=["ug-arab"],Ls=["it"],Us=["et"],Js=["nl"],Ks=["de"],Vs=["fi"],Gs=["et"],Ws=["fr"],Hs=["fr"],Zs=["zh-hans"],Ys=["ru"],Xs=["ka"],Qs=["he"],ea=["zh-hans"],ta=["nl"],na=["kab"],ra=["zh-hans"],bt={ab:An,abs:Fn,ace:En,ady:vn,aeb:wn,"aeb-arab":["ar"],aln:yn,alt:Bn,ami:$n,an:kn,anp:xn,arn:_n,arq:Sn,ary:Tn,arz:On,ast:Pn,atj:In,av:Nn,avk:zn,awa:Mn,ay:jn,azb:Rn,ba:qn,ban:Ln,"ban-bali":["ban"],bar:Un,bbc:Jn,"bbc-latn":["id"],bcc:Kn,"be-tarask":["be"],bgn:Vn,bh:Gn,bi:Wn,bjn:Hn,bm:Zn,bpy:Yn,bqi:Xn,br:Qn,btm:er,bug:tr,bxr:nr,ca:rr,"cbk-zam":["es"],cdo:ur,ce:sr,co:ar,crh:ir,"crh-cyrl":["ru"],cs:or,csb:lr,cv:cr,"de-at":["de"],"de-ch":["de"],"de-formal":["de"],dsb:dr,dtp:Dr,dty:fr,egl:hr,eml:pr,"en-ca":["en"],"en-gb":["en"],"es-419":["es"],"es-formal":["es"],ext:gr,ff:mr,fit:br,frc:Cr,frp:Ar,frr:Fr,fur:Er,gag:vr,gan:wr,"gan-hans":["zh-hans"],"gan-hant":["zh-hant","zh-hans"],gcr:yr,gl:Br,glk:$r,gn:kr,gom:xr,"gom-deva":["hi"],gor:_r,gsw:Sr,guc:Tr,hak:Or,hif:Pr,hrx:Ir,hsb:Nr,ht:zr,"hu-formal":["hu"],hyw:Mr,ii:jr,inh:Rr,io:qr,iu:Lr,jam:Ur,jut:Jr,jv:Kr,kaa:Vr,kab:Gr,kbd:Wr,kbp:Hr,khw:Zr,kiu:Yr,kjp:Xr,kk:Qr,"kk-arab":["kk-cyrl"],"kk-cn":["kk-arab","kk-cyrl"],"kk-kz":["kk-cyrl"],"kk-latn":["kk-cyrl"],"kk-tr":["kk-latn","kk-cyrl"],kl:eu,"ko-kp":["ko"],koi:tu,krc:nu,krl:ru,ks:uu,ksh:su,ku:au,"ku-arab":["ckb"],kum:iu,kv:ou,lad:lu,lb:cu,lbe:du,lez:Du,li:fu,lij:hu,liv:pu,lki:gu,lld:mu,lmo:bu,ln:Cu,lrc:Au,ltg:Fu,luz:Eu,lzh:vu,lzz:wu,mad:yu,mai:Bu,"map-bms":["jv","id"],mdf:$u,mg:ku,mhr:xu,min:_u,mnw:Su,mo:Tu,mrj:Ou,"ms-arab":["ms"],mwl:Pu,myv:Iu,mzn:Nu,nah:zu,nan:Mu,nap:ju,nb:Ru,nds:qu,"nds-nl":["nl"],nia:Lu,"nl-informal":["nl"],nn:Uu,nrm:Ju,oc:Ku,olo:Vu,os:Gu,pcd:Wu,pdc:Hu,pdt:Zu,pfl:Yu,pih:Xu,pms:Qu,pnt:es,pt:ts,"pt-br":["pt"],qu:ns,qug:rs,rgn:us,rmy:ss,"roa-tara":["it"],rue:as,rup:is,ruq:os,"ruq-cyrl":["mk"],"ruq-latn":["ro"],sa:ls,sah:cs,scn:ds,sco:Ds,sdc:fs,sdh:hs,ses:ps,sg:gs,sgs:ms,sh:bs,shi:Cs,shy:As,"shy-latn":["fr"],sk:Fs,skr:Es,"skr-arab":["ur","pnb"],sli:vs,smn:ws,sr:ys,srn:Bs,stq:$s,sty:ks,su:xs,szl:_s,szy:Ss,tay:Ts,tcy:Os,tet:Ps,tg:Is,trv:Ns,tt:zs,"tt-cyrl":["ru"],ty:Ms,tyv:js,udm:Rs,ug:qs,vec:Ls,vep:Us,vls:Js,vmf:Ks,vot:Vs,vro:Gs,wa:Ws,wo:Hs,wuu:Zs,xal:Ys,xmf:Xs,yi:Qs,za:ea,zea:ta,zgh:na,zh:ra,"zh-cn":["zh-hans"],"zh-hant":["zh-hans"],"zh-hk":["zh-hant","zh-hans"],"zh-mo":["zh-hk","zh-hant","zh-hans"],"zh-my":["zh-sg","zh-hans"],"zh-sg":["zh-hans"],"zh-tw":["zh-hant","zh-hans"]};let re=class{constructor(e){this.locale=e}convertPlural(e,t){const n=/\d+=/i;if(!t||t.length===0)return"";for(let u=0;u<t.length;u++){const s=t[u];if(n.test(s)){if(parseInt(s.slice(0,s.indexOf("=")),10)===e)return s.slice(s.indexOf("=")+1);t[u]=void 0}}t=t.filter(u=>!!u);let r=this.getPluralForm(e,this.locale);return r=Math.min(r,t.length-1),t[r]}getPluralForm(e,t){const n=["zero","one","two","few","many","other"],r=new Intl.PluralRules(t),u=r.resolvedOptions().pluralCategories,s=r.select(e);return n.filter(a=>u.includes(a)).indexOf(s)}convertNumber(e,t=!1){let n=this.digitTransformTable(this.locale),r="";if(t){if(parseFloat(e,10)===e||!n)return e;const u=[];for(const a in n)u[n[a]]=a;n=u;const s=String(e);for(let a=0;a<s.length;a++)r+=n[s[a]]||s[a];return parseFloat(r,10)}if(Intl.NumberFormat){let u;const s=[...bt[this.locale]||[],"en"];return Intl.NumberFormat.supportedLocalesOf(this.locale).length?u=[this.locale]:u=s,r=new Intl.NumberFormat(u).format(e),r==="NaN"&&(r=e),r}}convertGrammar(e){return e}gender(e,t){if(!t||t.length===0)return"";for(;t.length<2;)t.push(t[t.length-1]);return e==="male"?t[0]:e==="female"?t[1]:t.length===3?t[2]:t[0]}digitTransformTable(e){return mt[e]?mt[e].split(""):!1}},ua=class extends re{convertGrammar(e,t){switch(t){case"prefixed":case"תחילית":e.slice(0,1)==="ו"&&e.slice(0,2)!=="וו"&&(e="ו"+e),e.slice(0,1)==="ה"&&(e=e.slice(1)),(e.slice(0,1)<"א"||e.slice(0,1)>"ת")&&(e="־"+e)}return e}},sa=class extends re{convertGrammar(t,n){switch(n){case"instrumental":t="s "+t;break;case"lokativ":t="o "+t;break}return t}},aa=class extends re{convertGrammar(e,t){switch(t){case"instrumental":e="z "+e;break;case"lokatiw":e="wo "+e;break}return e}},ia=class extends re{convertGrammar(e,t){switch(t){case"instrumental":e="z "+e;break;case"lokatiw":e="wo "+e;break}return e}},oa=class extends re{convertGrammar(e,t){let n=e.match(/[aou][^äöy]*$/i);const r=e;switch(e.match(/wiki$/i)&&(n=!1),e.match(/[bcdfghjklmnpqrstvwxz]$/i)&&(e+="i"),t){case"genitive":e+="n";break;case"elative":e+=n?"sta":"stä";break;case"partitive":e+=n?"a":"ä";break;case"illative":e+=e.slice(-1)+"n";break;case"inessive":e+=n?"ssa":"ssä";break;default:e=r;break}return e}},la=class extends re{convertGrammar(e,t){return t==="genitive"&&(e.slice(-1)==="ь"?e=e.slice(0,-1)+"я":e.slice(-2)==="ия"?e=e.slice(0,-2)+"ии":e.slice(-2)==="ка"?e=e.slice(0,-2)+"ки":e.slice(-2)==="ти"?e=e.slice(0,-2)+"тей":e.slice(-2)==="ды"?e=e.slice(0,-2)+"дов":e.slice(-3)==="ник"&&(e=e.slice(0,-3)+"ника")),e}};class ca extends re{convertGrammar(t,n){switch(n){case"mestnik":t="o "+t;break;case"orodnik":t="z "+t;break}return t}}let da=class extends re{convertGrammar(e,t){switch(t){case"genitive":e=e.replace(/u[ms]$/i,"i"),e=e.replace(/ommunia$/i,"ommunium"),e=e.replace(/a$/i,"ae"),e=e.replace(/libri$/i,"librorum"),e=e.replace(/nuntii$/i,"nuntiorum"),e=e.replace(/tio$/i,"tionis"),e=e.replace(/ns$/i,"ntis"),e=e.replace(/as$/i,"atis"),e=e.replace(/es$/i,"ei");break;case"accusative":e=e.replace(/u[ms]$/i,"um"),e=e.replace(/ommunia$/i,"am"),e=e.replace(/a$/i,"ommunia"),e=e.replace(/libri$/i,"libros"),e=e.replace(/nuntii$/i,"nuntios"),e=e.replace(/tio$/i,"tionem"),e=e.replace(/ns$/i,"ntem"),e=e.replace(/as$/i,"atem"),e=e.replace(/es$/i,"em");break;case"ablative":e=e.replace(/u[ms]$/i,"o"),e=e.replace(/ommunia$/i,"ommunibus"),e=e.replace(/a$/i,"a"),e=e.replace(/libri$/i,"libris"),e=e.replace(/nuntii$/i,"nuntiis"),e=e.replace(/tio$/i,"tione"),e=e.replace(/ns$/i,"nte"),e=e.replace(/as$/i,"ate"),e=e.replace(/es$/i,"e");break}return e}};class Da extends re{convertGrammar(t,n){return n==="genitive"&&(t.slice(-1)==="ա"?t=t.slice(0,-1)+"այի":t.slice(-1)==="ո"?t=t.slice(0,-1)+"ոյի":t.slice(-4)==="գիրք"?t=t.slice(0,-4)+"գրքի":t=t+"ի"),t}}let fa=class extends re{convertGrammar(e,t){if(t==="ainmlae")switch(e){case"an Domhnach":e="Dé Domhnaigh";break;case"an Luan":e="Dé Luain";break;case"an Mháirt":e="Dé Mháirt";break;case"an Chéadaoin":e="Dé Chéadaoin";break;case"an Déardaoin":e="Déardaoin";break;case"an Aoine":e="Dé hAoine";break;case"an Satharn":e="Dé Sathairn";break}return e}},ha=class extends re{convertGrammar(e,t){switch(t){case"rol":e+="ról";break;case"ba":e+="ba";break;case"k":e+="k";break}return e}},pa=class extends re{convertGrammar(e,t){let n,r,u,s;switch(n="мæ",r="",u="",s="",e.match(/тæ$/i)?(e=e.slice(0,-1),n="æм"):e.match(/[аæеёиоыэюя]$/i)?r="й":e.match(/у$/i)?e.slice(-2,-1).match(/[аæеёиоыэюя]$/i)||(r="й"):e.match(/[бвгджзйклмнопрстфхцчшщьъ]$/i)||(u="-"),t){case"genitive":s=u+r+"ы";break;case"dative":s=u+r+"æн";break;case"allative":s=u+n;break;case"ablative":r==="й"?s=u+r+"æ":s=u+r+"æй";break;case"superessive":s=u+r+"ыл";break;case"equative":s=u+r+"ау";break;case"comitative":s=u+"имæ";break}return e+s}};class ga extends re{convertGrammar(t,n){switch(n){case"genitive":t.slice(-1)==="ь"?t=t.slice(0,-1)+"я":t.slice(-2)==="ія"?t=t.slice(0,-2)+"ії":t.slice(-2)==="ка"?t=t.slice(0,-2)+"ки":t.slice(-2)==="ти"?t=t.slice(0,-2)+"тей":t.slice(-2)==="ды"?t=t.slice(0,-2)+"дов":t.slice(-3)==="ник"&&(t=t.slice(0,-3)+"ника");break;case"accusative":t.slice(-2)==="ія"&&(t=t.slice(0,-2)+"ію");break}return t}}var Ct={bs:sa,default:re,dsb:aa,fi:oa,ga:fa,he:ua,hsb:ia,hu:ha,hy:Da,la:da,os:pa,ru:la,sl:ca,uk:ga};const ma=new RegExp("(?:([A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁːˑˠ-ˤˮͰ-ͳͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-҂Ҋ-ԯԱ-Ֆՙ-՟ա-և։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ঀংঃঅ-ঌএঐও-নপ-রলশ-হঽ-ীেৈোৌৎৗড়ঢ়য়-ৡ০-ৱ৴-৺ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ીૉોૌૐૠૡ૦-૰ૹଂଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽାୀେୈୋୌୗଡ଼ଢ଼ୟ-ୡ୦-୷ஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹாிுூெ-ைொ-ௌௐௗ௦-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౚౠౡ౦-౯౿ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊೋೕೖೞೠೡ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ീെ-ൈൊ-ൌൎൗൟ-ൡ൦-൵൹-ൿංඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-෴ก-ะาำเ-ๆ๏-๛ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆ໐-໙ໜ-ໟༀ-༗༚-༴༶༸༾-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿚က-ာေးျြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃႄႇ-ႌႎ-ႜ႞-ჅჇჍა-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፼ᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙿᚁ-ᚚᚠ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះៈ។-៚ៜ០-៩᠐-᠙ᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸ᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚ᨀ-ᨖᨙᨚ᨞-ᩕᩗᩡᩣᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-ᭋ᭐-᭪᭴-᭼ᮂ-ᮡᮦᮧ᮪ᮮ-ᯥᯧᯪ-ᯬᯮ᯲᯳᯼-ᰫᰴᰵ᰻-᱉ᱍ-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳳᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〮〯〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎ㆐-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿕ꀀ-ꒌꓐ-ꘌꘐ-ꘫꙀ-ꙮꚀ-ꚝꚠ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꣽ꤀-ꤥ꤮-ꥆꥒ꥓꥟-ꥼꦃ-ꦲꦴꦵꦺꦻꦽ-꧍ꧏ-꧙꧞-ꧤꧦ-ꧾꨀ-ꨨꨯꨰꨳꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-ꩻꩽ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫫꫮ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭥꭰ-ꯤꯦꯧꯩ-꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]|\uD800[\uDC00-\uDC0B]|\uD800[\uDC0D-\uDC26]|\uD800[\uDC28-\uDC3A]|𐀼|𐀽|\uD800[\uDC3F-\uDC4D]|\uD800[\uDC50-\uDC5D]|\uD800[\uDC80-\uDCFA]|𐄀|𐄂|\uD800[\uDD07-\uDD33]|\uD800[\uDD37-\uDD3F]|\uD800[\uDDD0-\uDDFC]|\uD800[\uDE80-\uDE9C]|\uD800[\uDEA0-\uDED0]|\uD800[\uDF00-\uDF23]|\uD800[\uDF30-\uDF4A]|\uD800[\uDF50-\uDF75]|\uD800[\uDF80-\uDF9D]|\uD800[\uDF9F-\uDFC3]|\uD800[\uDFC8-\uDFD5]|\uD801[\uDC00-\uDC9D]|\uD801[\uDCA0-\uDCA9]|\uD801[\uDD00-\uDD27]|\uD801[\uDD30-\uDD63]|𐕯|\uD801[\uDE00-\uDF36]|\uD801[\uDF40-\uDF55]|\uD801[\uDF60-\uDF67]|𑀀|\uD804[\uDC02-\uDC37]|\uD804[\uDC47-\uDC4D]|\uD804[\uDC66-\uDC6F]|\uD804[\uDC82-\uDCB2]|𑂷|𑂸|\uD804[\uDCBB-\uDCC1]|\uD804[\uDCD0-\uDCE8]|\uD804[\uDCF0-\uDCF9]|\uD804[\uDD03-\uDD26]|𑄬|\uD804[\uDD36-\uDD43]|\uD804[\uDD50-\uDD72]|\uD804[\uDD74-\uDD76]|\uD804[\uDD82-\uDDB5]|\uD804[\uDDBF-\uDDC9]|𑇍|\uD804[\uDDD0-\uDDDF]|\uD804[\uDDE1-\uDDF4]|\uD804[\uDE00-\uDE11]|\uD804[\uDE13-\uDE2E]|𑈲|𑈳|𑈵|\uD804[\uDE38-\uDE3D]|\uD804[\uDE80-\uDE86]|𑊈|\uD804[\uDE8A-\uDE8D]|\uD804[\uDE8F-\uDE9D]|\uD804[\uDE9F-\uDEA9]|\uD804[\uDEB0-\uDEDE]|\uD804[\uDEE0-\uDEE2]|\uD804[\uDEF0-\uDEF9]|𑌂|𑌃|\uD804[\uDF05-\uDF0C]|𑌏|𑌐|\uD804[\uDF13-\uDF28]|\uD804[\uDF2A-\uDF30]|𑌲|𑌳|\uD804[\uDF35-\uDF39]|\uD804[\uDF3D-\uDF3F]|\uD804[\uDF41-\uDF44]|𑍇|𑍈|\uD804[\uDF4B-\uDF4D]|𑍐|𑍗|\uD804[\uDF5D-\uDF63]|\uD805[\uDC80-\uDCB2]|𑒹|\uD805[\uDCBB-\uDCBE]|𑓁|\uD805[\uDCC4-\uDCC7]|\uD805[\uDCD0-\uDCD9]|\uD805[\uDD80-\uDDB1]|\uD805[\uDDB8-\uDDBB]|𑖾|\uD805[\uDDC1-\uDDDB]|\uD805[\uDE00-\uDE32]|𑘻|𑘼|𑘾|\uD805[\uDE41-\uDE44]|\uD805[\uDE50-\uDE59]|\uD805[\uDE80-\uDEAA]|𑚬|𑚮|𑚯|𑚶|\uD805[\uDEC0-\uDEC9]|\uD805[\uDF00-\uDF19]|𑜠|𑜡|𑜦|\uD805[\uDF30-\uDF3F]|\uD806[\uDCA0-\uDCF2]|𑣿|\uD806[\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E]|\uD809[\uDC70-\uDC74]|\uD809[\uDC80-\uDD43]|\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38]|\uD81A[\uDE40-\uDE5E]|\uD81A[\uDE60-\uDE69]|𖩮|𖩯|\uD81A[\uDED0-\uDEED]|𖫵|\uD81A[\uDF00-\uDF2F]|\uD81A[\uDF37-\uDF45]|\uD81A[\uDF50-\uDF59]|\uD81A[\uDF5B-\uDF61]|\uD81A[\uDF63-\uDF77]|\uD81A[\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44]|\uD81B[\uDF50-\uDF7E]|\uD81B[\uDF93-\uDF9F]|𛀀|𛀁|\uD82F[\uDC00-\uDC6A]|\uD82F[\uDC70-\uDC7C]|\uD82F[\uDC80-\uDC88]|\uD82F[\uDC90-\uDC99]|𛲜|𛲟|\uD834[\uDC00-\uDCF5]|\uD834[\uDD00-\uDD26]|\uD834[\uDD29-\uDD66]|\uD834[\uDD6A-\uDD72]|𝆃|𝆄|\uD834[\uDD8C-\uDDA9]|\uD834[\uDDAE-\uDDE8]|\uD834[\uDF60-\uDF71]|\uD835[\uDC00-\uDC54]|\uD835[\uDC56-\uDC9C]|𝒞|𝒟|𝒢|𝒥|𝒦|\uD835[\uDCA9-\uDCAC]|\uD835[\uDCAE-\uDCB9]|𝒻|\uD835[\uDCBD-\uDCC3]|\uD835[\uDCC5-\uDD05]|\uD835[\uDD07-\uDD0A]|\uD835[\uDD0D-\uDD14]|\uD835[\uDD16-\uDD1C]|\uD835[\uDD1E-\uDD39]|\uD835[\uDD3B-\uDD3E]|\uD835[\uDD40-\uDD44]|𝕆|\uD835[\uDD4A-\uDD50]|\uD835[\uDD52-\uDEA5]|\uD835[\uDEA8-\uDEDA]|\uD835[\uDEDC-\uDF14]|\uD835[\uDF16-\uDF4E]|\uD835[\uDF50-\uDF88]|\uD835[\uDF8A-\uDFC2]|\uD835[\uDFC4-\uDFCB]|\uD836[\uDC00-\uDDFF]|\uD836[\uDE37-\uDE3A]|\uD836[\uDE6D-\uDE74]|\uD836[\uDE76-\uDE83]|\uD836[\uDE85-\uDE8B]|\uD83C[\uDD10-\uDD2E]|\uD83C[\uDD30-\uDD69]|\uD83C[\uDD70-\uDD9A]|\uD83C[\uDDE6-\uDE02]|\uD83C[\uDE10-\uDE3A]|\uD83C[\uDE40-\uDE48]|🉐|🉑|[\uD840-\uD868][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6]|\uD869[\uDF00-\uDFFF]|[\uD86A-\uD86C][\uDC00-\uDFFF]|\uD86D[\uDC00-\uDF34]|\uD86D[\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD86E[\uDC20-\uDFFF]|[\uD86F-\uD872][\uDC00-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|[\uDB80-\uDBBE][\uDC00-\uDFFF]|\uDBBF[\uDC00-\uDFFD]|[\uDBC0-\uDBFE][\uDC00-\uDFFF]|\uDBFF[\uDC00-\uDFFD])|([־׀׃׆-߀-ߪߴߵߺ-ࠕࠚࠤࠨ-ࡘ-࢟יִײַ-ﬨשׁ-ﭏ؈؋؍؛-ي٭-ٯٱ-ەۥۦۮۯۺ-ܐܒ-ܯ-ޥޱ-ࢠ-ﭐ-ﴽ﵀-﷏ﷰ-﷼﷾﷿ﹰ-]|\uD802[\uDC00-\uDD1E]|\uD802[\uDD20-\uDE00]||\uD802[\uDE07-\uDE0B]|\uD802[\uDE10-\uDE37]|\uD802[\uDE3B-\uDE3E]|\uD802[\uDE40-\uDEE4]|\uD802[\uDEE7-\uDF38]|\uD802[\uDF40-\uDFFF]|\uD803[\uDC00-\uDE5F]|\uD803[\uDE7F-\uDFFF]|\uD83A[\uDC00-\uDCCF]|\uD83A[\uDCD7-\uDFFF]|\uD83B[\uDC00-\uDDFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDE00-\uDEEF]|\uD83B[\uDEF2-\uDEFF]))");let At=class{constructor(e){this.locale=ye(e),this.language=new(Ct[this.locale]||Ct.default)(this.locale)}emit(e,t){let n,r,u;switch(typeof e){case"string":case"number":n=e;break;case"object":if(r=e.slice(1).map(s=>this.emit(s,t)),u=e[0].toLowerCase(),typeof this[u]=="function")n=this[u](r,t);else throw new Error('unknown operation "'+u+'"');break;case"undefined":n="";break;default:throw new Error("unexpected type in AST: "+typeof e)}return n}concat(e){let t="";return e.forEach(n=>{t+=n}),t}replace(e,t){const n=parseInt(e[0],10);return n<t.length?t[n]:"$"+(n+1)}plural(e){const t=parseFloat(this.language.convertNumber(e[0],10)),n=e.slice(1);return n.length?this.language.convertPlural(t,n):""}gender(e){const t=e[0],n=e.slice(1);return this.language.gender(t,n)}grammar(e){const t=e[0],n=e[1];return n&&t&&this.language.convertGrammar(n,t)}wikilink(e){let t,n=e[0];n.charAt(0)===":"&&(n=n.slice(1));const r=`./${n}`;return e.length===1?t=n:t=e[1],`<a href="${r}" title="${n}">${t}</a>`}extlink(e){if(e.length!==2)throw new Error("Expected two items in the node");return`<a href="${e[0]}">${e[1]}</a>`}bidi(e){const t=ba(e[0]);return t==="ltr"?""+e[0]+"":t==="rtl"?""+e[0]+"":e[0]}formatnum(e){const t=!!e[1]&&e[1]==="R",n=e[0];return typeof n=="string"||typeof n=="number"?this.language.convertNumber(n,t):n}htmlattributes(e){const t={};for(let n=0,r=e.length;n<r;n+=2)t[e[n]]=e[n+1];return t}htmlelement(e){const t=e.shift(),n=e.shift();let r=e,u="";for(const a in n)u+=` ${a}="${n[a]}"`;Array.isArray(r)||(r=[r]);const s=r.join("");return`<${t}${u}>${s}</${t}>`}};function ye(e){return typeof e=="string"?e.toLowerCase():e}function ba(e){const t=e.match(ma);return t?t[2]===void 0?"ltr":"rtl":null}function Ca(e,{wikilinks:t=!1}={}){let n=0;function r(o){return()=>{for(let g=0;g<o.length;g++){const $=o[g]();if($!==null)return $}return null}}function u(o){const g=n,$=[];for(let V=0;V<o.length;V++){const X=o[V]();if(X===null)return n=g,null;$.push(X)}return $}function s(o,g){return()=>{const $=n,V=[];let X=g();for(;X!==null;)V.push(X),X=g();return V.length<o?(n=$,null):V}}function a(o){const g=o.length;return()=>{let $=null;return e.slice(n,n+g)===o&&($=o,n+=g),$}}function i(o){return()=>{const g=e.slice(n).match(o);return g===null?null:(n+=g[0].length,g[0])}}const C=i(/^\s+/),y=a("|"),p=a(":"),T=a("\\"),ue=i(/^./),ie=a("$"),de=i(/^\d+/),L=a('"'),G=a("'"),ee=i(t?/^[^{}[\]$<\\]/:/^[^{}$<\\]/),te=i(t?/^[^{}[\]$\\|]/:/^[^{}$\\|]/),U=i(t?/^[^{}[\]$\s]/:/^[^{}$\s]/);function z(o,g){return()=>{const $=o();return $===null?null:g($)}}function W(){const o=s(1,J)();return o===null?null:o.join("")}function oe(){const o=s(1,F)();return o===null?null:o.join("")}const he=r([B,U]);function ge(){const o=s(1,he)();return o===null?null:o.join("")}function B(){const o=u([T,ue]);return o===null?null:o[1]}const J=r([B,te]),F=r([B,ee]);function se(){const o=u([ie,de]);return o===null?null:["REPLACE",parseInt(o[1],10)-1]}const m=z(i(/^[ !"$&'()*,./0-9;=?@A-Z^_`a-z~\x80-\xFF+-]+/),function(o){return o.toString()});function De(){const o=u([y,s(0,Y)]);if(o===null)return null;const g=o[1];return g.length>1?["CONCAT"].concat(g):g[0]}function _e(){const o=u([m,p,se]);return o===null?null:[o[0],o[2]]}function le(){const o=u([m,p,Y]);return o===null?null:[o[0],o[2]]}function Se(){const o=u([m,p]);return o===null?null:[o[0],""]}const Te=r([function(){const o=u([r([_e,le,Se]),s(0,De)]);return o===null?null:o[0].concat(o[1])},function(){const o=u([m,s(0,De)]);return o===null?null:[o[0]].concat(o[1])}]),Fe=a("{{"),Ee=a("}}"),Ce=a("[["),Oe=a("]]"),Pe=a("["),Ae=a("]");function d(){const o=u([Fe,Te,Ee]);return o===null?null:o[1]}function E(){const o=u([s(1,Y),y,s(1,K)]);return o===null?null:[["CONCAT"].concat(o[0]),["CONCAT"].concat(o[2])]}function D(){const o=u([s(1,Y)]);return o===null?null:[["CONCAT"].concat(o[0])]}const f=r([E,D]);function v(){let o=null;const g=u([Ce,f,Oe]);if(g!==null){const $=g[1];o=["WIKILINK"].concat($)}return o}function I(){let o=null;const g=u([Pe,s(1,H),C,s(1,K),Ae]);return g!==null&&(o=["EXTLINK",g[1].length===1?g[1][0]:["CONCAT"].concat(g[1]),["CONCAT"].concat(g[3])]),o}const P=i(/^[A-Za-z]+/);function h(o,g,$,V={allowedHtmlElements:["b","bdi","del","i","ins","u","font","big","small","sub","sup","h1","h2","h3","h4","h5","h6","cite","code","em","s","strike","strong","tt","var","div","center","blockquote","ol","ul","dl","table","caption","pre","ruby","rb","rp","rt","rtc","p","span","abbr","dfn","kbd","samp","data","time","mark","li","dt","dd"],allowedHtmlCommonAttributes:["id","class","style","lang","dir","title","aria-describedby","aria-flowto","aria-hidden","aria-label","aria-labelledby","aria-owns","role","about","property","resource","datatype","typeof","itemid","itemprop","itemref","itemscope","itemtype"],allowedHtmlAttributesByElement:{}}){if(o=o.toLowerCase(),g=g.toLowerCase(),o!==g||V.allowedHtmlElements.indexOf(o)===-1)return!1;const X=/[\000-\010\013\016-\037\177]|expression|filter\s*:|accelerator\s*:|-o-link\s*:|-o-link-source\s*:|-o-replace\s*:|url\s*\(|image\s*\(|image-set\s*\(/i;for(let ne=0,ve=$.length;ne<ve;ne+=2){const me=$[ne];if(V.allowedHtmlCommonAttributes.indexOf(me)===-1&&(V.allowedHtmlAttributesByElement[o]||[]).indexOf(me)===-1||me==="style"&&$[ne+1].search(X)!==-1)return!1}return!0}function l(){const o=i(/^[^"]*/),g=u([L,o,L]);return g===null?null:g[1]}function b(){const o=i(/^[^']*/),g=u([G,o,G]);return g===null?null:g[1]}function k(){const o=i(/^\s*=\s*/),g=u([C,P,o,r([l,b])]);return g===null?null:[g[1],g[3]]}function q(){const o=s(0,k)();return Array.prototype.concat.apply(["HTMLATTRIBUTES"],o)}function M(){let o=null;const g=n,$=a("<"),V=i(/^\/?/),X=i(/^\s*>/),ne=u([$,P,q,V,X]);if(ne===null)return null;const ve=n,me=ne[1],rt=s(0,K)(),oi=n,li=a("</"),Ot=u([li,P,X]);if(Ot===null)return["CONCAT",e.slice(g,ve)].concat(rt);const ci=n,di=Ot[1],Pt=ne[2],Di=Pt.slice(1);if(h(me,di,Di))o=["HTMLELEMENT",me,Pt].concat(rt);else{const It=fi=>fi.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");o=["CONCAT",It(e.slice(g,ve))].concat(rt,It(e.slice(oi,ci)))}return o}const H=r([d,se,v,I,ge]),K=r([d,se,v,I,M,oe]),Y=r([d,se,W]);function j(){const o=s(0,K)();return o===null?null:["CONCAT"].concat(o)}const fe=j();if(fe===null||n!==e.length)throw new Error("Parse error at position "+n.toString()+" in input: "+e);return fe}class Ft{constructor(t,{wikilinks:n=!1}={}){this.locale=ye(t),this.wikilinks=n,this.emitter=new At(this.locale)}parse(t,n){if(t.includes("{{")||t.includes("<")||this.wikilinks&&t.includes("[")){const r=Ca(t,{wikilinks:this.wikilinks});return this.emitter.emit(r,n)}else return this.simpleParse(t,n)}simpleParse(t,n){return t.replace(/\$(\d+)/g,(r,u)=>{const s=parseInt(u,10)-1;return n[s]!==void 0?n[s]:"$"+u})}}class Aa{constructor(){this.sourceMap=new Map}load(t,n){if(typeof t!="object")throw new Error("Invalid message source. Must be an object");if(n=ye(n),n){if(!/^[a-zA-Z0-9-]+$/.test(n))throw new Error(`Invalid locale ${n}`);for(const r in t)if(r.indexOf("@")!==0){if(typeof t[r]=="object")return this.load(t);if(typeof t[r]!="string")throw new Error(`Invalid message for message ${r} in ${n} locale.`);break}this.sourceMap.has(n)?this.sourceMap.set(n,Object.assign(this.sourceMap.get(n),t)):this.sourceMap.set(n,t)}else for(n in t)this.load(t[n],n)}getMessage(t,n){const r=this.sourceMap.get(ye(n));return r?r[t]:null}hasLocale(t){return this.sourceMap.has(t)}}class Fa{constructor(t,{finalFallback:n="en",messages:r=void 0,wikilinks:u=!1}={}){this.locale=ye(t),this.parser=new Ft(this.locale,{wikilinks:u}),this.messageStore=new Aa,r&&this.load(r,this.locale),this.finalFallback=n,this.wikilinks=u}load(t,n){return this.messageStore.load(t,n||this.locale)}i18n(t,...n){return this.parser.parse(this.getMessage(t),n)}setLocale(t){this.locale=ye(t),this.parser=new Ft(this.locale,{wikilinks:this.wikilinks})}getFallbackLocales(){return[...bt[this.locale]||[],this.finalFallback]}getMessage(t){let n=this.locale,r=0;const u=this.getFallbackLocales(this.locale);for(;n;){const s=n.split("-");let a=s.length;do{const i=s.slice(0,a).join("-"),C=this.messageStore.getMessage(t,i);if(typeof C=="string")return C;a--}while(a);n=u[r],r++}return t}registerParserPlugin(t,n){At.prototype[t]=n}}const Et={"@metadata":{authors:["Mason Payne"],"last-updated":"2024-01-08",locale:"en"},"sa-login":"Login","sa-username":"Username","sa-password":"Password","sa-use-password":"Use Password","sa-code":"Code","sa-signup":"Sign up","sa-signup-complete":"Sign up complete","sa-back":"Back","sa-error-creating-user":"Error creating user.","sa-remember":"Remember me","sa-forgot":"Forgot your password?","sa-register":"Register","sa-error.login":"Invalid username or password","sa-error.register":"Invalid username or password","sa-error.unknown":"Unknown error","sa-account-settings":"Account Settings","sa-webauthn-security-keys":"Your passkeys","sa-add-security-key":"Add passkey","webauthn-not-enrolled":"WebAuthn not enrolled","sa-webauthn-key-name":"Key Name","sa-cancel":"Cancel","sa-no-security-keys":"No passkeys","sa-webauthn-key-actions":"Actions","sa-remove":"Remove","not-authenticated":"Not authenticated","error-otp-registration":"Error registering OTP","sa-confirm-delete-key":"Are you sure you want to delete this key?","sa-add-mfa":"Manage MFA","sa-add-email":"Add Email","sa-email":"Email","sa-phone":"Phone","sa-add-sms":"Add SMS","sa-mfa":"MFA Registrations","error-otp-list":"Error listing OTPs","sa-type":"Type","sa-mfa-destination":"Destination","sa-mfa-validated":"Validated","sa-validate":"Validate","sa-mfa-action":"Action","sa-no":"No","sa-yes":"Yes","error-otp-remove":"Error removing MFA Registration","error-webauthn-remove":"Error removing WebAuthn Registration","sa-register-mfa":"Register MFA","sa-otp-required":"A one-time code is required.","sa-otp-choose":"Choose how to receive your code:","sa-otp-no-registrations":"No MFA methods registered.","sa-otp-send-code":"Send Code","sa-otp-verify":"Verify Code","sa-unknown-challenge":"Unknown challenge type.","sa-invite-otp":"Verification Code","sa-invite-otp-hint":"Enter the code from your invite email","sa-invite-password":"Choose a Password","sa-invite-password-hint":"Create a secure password for your account","sa-invite-submit":"Complete Registration","sa-invite-success":"Registration complete! Redirecting to login...","sa-invite-error-otp":"Invalid or expired verification code","sa-invite-error-expired":"This invite has expired. Please contact your administrator.","sa-invite-error-generic":"Unable to complete registration. Please try again.","sa-invite-completing":"Completing registration...","sa-forgot-password":"Forgot your password?","sa-reset-password":"Reset Password","sa-reset-email-sent":"If an account exists with that email, a reset code has been sent.","sa-new-password":"New Password","sa-reset-code":"Reset Code","sa-reset-submit":"Reset Password","sa-reset-success":"Password reset successfully! You can now log in.","sa-reset-error":"Unable to reset password. Please try again.","sa-reset-error-code":"Invalid or expired reset code"},Ea={en:Et,fr:{"@metadata":{authors:["Mason Payne"],"last-updated":"2022-05-28",locale:"fr"},"sa-login":"Connexion","sa-username":"Nom d'utilisateur","sa-password":"Mot de passe","sa-use-password":"Utiliser le mot de passe","sa-code":"code à deux facteurs","sa-remember":"Souviens-toi de moi","sa-forgot":"Mot de passe oublié?","sa-register":"S'inscrire","sa-error.login":"Nom d'utilisateur ou mot de passe invalide","sa-error.register":"Nom d'utilisateur ou mot de passe invalide","sa-error.unknown":"Erreur inconnue","sa-otp-required":"Un code à usage unique est requis.","sa-otp-choose":"Choisissez comment recevoir votre code :","sa-otp-no-registrations":"Aucune méthode MFA enregistrée.","sa-otp-send-code":"Envoyer le code","sa-otp-verify":"Vérifier le code","sa-unknown-challenge":"Type de défi inconnu.","sa-complete-invite":"Complétez votre invitation","sa-invite-otp":"Code de vérification","sa-invite-otp-hint":"Entrez le code de votre email d'invitation","sa-invite-password":"Choisissez un mot de passe","sa-invite-password-hint":"Créez un mot de passe sécurisé pour votre compte","sa-invite-submit":"Terminer l'inscription","sa-invite-success":"Inscription terminée ! Redirection vers la connexion...","sa-invite-error-otp":"Code de vérification invalide ou expiré","sa-invite-error-expired":"Cette invitation a expiré. Veuillez contacter votre administrateur.","sa-invite-error-generic":"Impossible de terminer l'inscription. Veuillez réessayer.","sa-invite-completing":"Finalisation de l'inscription...","sa-forgot-password":"Mot de passe oublié ?","sa-reset-password":"Réinitialiser le mot de passe","sa-reset-email-sent":"Si un compte existe avec cet e-mail, un code de réinitialisation a été envoyé.","sa-new-password":"Nouveau mot de passe","sa-reset-code":"Code de réinitialisation","sa-reset-submit":"Réinitialiser le mot de passe","sa-reset-success":"Mot de passe réinitialisé avec succès ! Vous pouvez maintenant vous connecter.","sa-reset-error":"Impossible de réinitialiser le mot de passe. Veuillez réessayer.","sa-reset-error-code":"Code de réinitialisation invalide ou expiré"},es:{"@metadata":{authors:["Mason Payne"],"last-updated":"2022-05-28",locale:"es"},"sa-login":"Acceso","sa-username":"Nombre de usuario","sa-password":"Clave","sa-use-password":"Usar contraseña","sa-code":"Código","sa-remember":"Acuérdate de mí","sa-forgot":"¿Olvidaste tu contraseña?","sa-register":"Registro","sa-error.login":"Usuario o contraseña invalido","sa-error.register":"Usuario o contraseña invalido","sa-error.unknown":"Error desconocido","sa-otp-required":"Se requiere un código de un solo uso.","sa-otp-choose":"Elige cómo recibir tu código:","sa-otp-no-registrations":"No hay métodos MFA registrados.","sa-unknown-challenge":"Tipo de desafío desconocido.","sa-complete-invite":"Completa tu invitación","sa-invite-otp":"Código de verificación","sa-invite-otp-hint":"Ingresa el código de tu correo de invitación","sa-invite-password":"Elige una contraseña","sa-invite-password-hint":"Crea una contraseña segura para tu cuenta","sa-invite-submit":"Completar registro","sa-invite-success":"¡Registro completo! Redirigiendo al inicio de sesión...","sa-invite-error-otp":"Código de verificación inválido o expirado","sa-invite-error-expired":"Esta invitación ha expirado. Por favor contacta a tu administrador.","sa-invite-error-generic":"No se pudo completar el registro. Por favor intenta de nuevo.","sa-invite-completing":"Completando registro...","sa-forgot-password":"¿Olvidaste tu contraseña?","sa-reset-password":"Restablecer contraseña","sa-reset-email-sent":"Si existe una cuenta con ese correo, se ha enviado un código de restablecimiento.","sa-new-password":"Nueva contraseña","sa-reset-code":"Código de restablecimiento","sa-reset-submit":"Restablecer contraseña","sa-reset-success":"¡Contraseña restablecida con éxito! Ya puedes iniciar sesión.","sa-reset-error":"No se pudo restablecer la contraseña. Por favor intenta de nuevo.","sa-reset-error-code":"Código de restablecimiento inválido o expirado"},ja:{"@metadata":{authors:["Mason Payne"],"last-updated":"2022-05-28",locale:"ja"},"sa-login":"ログイン","sa-username":"ユーザー名","sa-password":"パスワード","sa-use-password":"パスワードを使用する","sa-code":"コード","sa-remember":"私を覚えてますか","sa-forgot":"パスワードをお忘れですか?","sa-register":"登録","sa-error.login":"ユーザー名かパスワードが無効","sa-error.register":"ユーザー名かパスワードが無効","sa-error.unknown":"未知のエラー","sa-otp-required":"ワンタイムコードが必要です。","sa-otp-choose":"コードの受け取り方法を選択してください:","sa-otp-no-registrations":"MFA方法が登録されていません。","sa-otp-send-code":"コードを送信","sa-otp-verify":"コードを確認","sa-unknown-challenge":"不明なチャレンジタイプです。","sa-complete-invite":"招待を完了する","sa-invite-otp":"確認コード","sa-invite-otp-hint":"招待メールのコードを入力してください","sa-invite-password":"パスワードを選択","sa-invite-password-hint":"アカウント用の安全なパスワードを作成してください","sa-invite-submit":"登録を完了","sa-invite-success":"登録完了!ログインページへリダイレクト中...","sa-invite-error-otp":"無効または期限切れの確認コード","sa-invite-error-expired":"この招待は期限切れです。管理者にお問い合わせください。","sa-invite-error-generic":"登録を完了できませんでした。もう一度お試しください。","sa-invite-completing":"登録を完了しています...","sa-forgot-password":"パスワードをお忘れですか?","sa-reset-password":"パスワードをリセット","sa-reset-email-sent":"そのメールアドレスのアカウントが存在する場合、リセットコードが送信されました。","sa-new-password":"新しいパスワード","sa-reset-code":"リセットコード","sa-reset-submit":"パスワードをリセット","sa-reset-success":"パスワードが正常にリセットされました!ログインできます。","sa-reset-error":"パスワードをリセットできませんでした。もう一度お試しください。","sa-reset-error-code":"無効または期限切れのリセットコード"}};function Xe(e){const t=new Fa("en",{messages:Et});return e!=="en"&&(t.load(Ea[e],e),t.setLocale(e)),t}function vt(e){const t="==".slice(0,(4-e.length%4)%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t,r=atob(n),u=new ArrayBuffer(r.length),s=new Uint8Array(u);for(let a=0;a<r.length;a++)s[a]=r.charCodeAt(a);return u}function wt(e){const t=new Uint8Array(e);let n="";for(const s of t)n+=String.fromCharCode(s);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var _="copy",ae="convert";function Be(e,t,n){if(t===_)return n;if(t===ae)return e(n);if(t instanceof Array)return n.map(r=>Be(e,t[0],r));if(t instanceof Object){const r={};for(const[u,s]of Object.entries(t)){if(s.derive){const a=s.derive(n);a!==void 0&&(n[u]=a)}if(!(u in n)){if(s.required)throw new Error(`Missing key: ${u}`);continue}if(n[u]==null){r[u]=null;continue}r[u]=Be(e,s.schema,n[u])}return r}}function Qe(e,t){return{required:!0,schema:e,derive:t}}function O(e){return{required:!0,schema:e}}function N(e){return{required:!1,schema:e}}var yt={type:O(_),id:O(ae),transports:N(_)},Bt={appid:N(_),appidExclude:N(_),credProps:N(_)},$t={appid:N(_),appidExclude:N(_),credProps:N(_)},va={publicKey:O({rp:O(_),user:O({id:O(ae),name:O(_),displayName:O(_)}),challenge:O(ae),pubKeyCredParams:O(_),timeout:N(_),excludeCredentials:N([yt]),authenticatorSelection:N(_),attestation:N(_),extensions:N(Bt)}),signal:N(_)},wa={type:O(_),id:O(_),rawId:O(ae),authenticatorAttachment:N(_),response:O({clientDataJSON:O(ae),attestationObject:O(ae),transports:Qe(_,e=>{var t;return((t=e.getTransports)==null?void 0:t.call(e))||[]})}),clientExtensionResults:Qe($t,e=>e.getClientExtensionResults())},ya={mediation:N(_),publicKey:O({challenge:O(ae),timeout:N(_),rpId:N(_),allowCredentials:N([yt]),userVerification:N(_),extensions:N(Bt)}),signal:N(_)},Ba={type:O(_),id:O(_),rawId:O(ae),authenticatorAttachment:N(_),response:O({clientDataJSON:O(ae),authenticatorData:O(ae),signature:O(ae),userHandle:O(ae)}),clientExtensionResults:Qe($t,e=>e.getClientExtensionResults())};function $a(e){return Be(vt,va,e)}function ka(e){return Be(wt,wa,e)}function xa(e){return Be(vt,ya,e)}function _a(e){return Be(wt,Ba,e)}async function Sa(e){const t=await navigator.credentials.create(e);return t.toJSON=()=>ka(t),t}async function Ta(e){const t=await navigator.credentials.get(e);return t.toJSON=()=>_a(t),t}function et(e){this.message=e}et.prototype=new Error,et.prototype.name="InvalidCharacterError";var kt=typeof window<"u"&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new et("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,u=0,s=0,a="";r=t.charAt(s++);~r&&(n=u%4?64*n+r:r,u++%4)?a+=String.fromCharCode(255&n>>(-2*u&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a};function Oa(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(n){return decodeURIComponent(kt(n).replace(/(.)/g,function(r,u){var s=u.charCodeAt(0).toString(16).toUpperCase();return s.length<2&&(s="0"+s),"%"+s}))}(t)}catch{return kt(t)}}function Le(e){this.message=e}function Pa(e,t){if(typeof e!="string")throw new Le("Invalid token specified");var n=(t=t||{}).header===!0?0:1;try{return JSON.parse(Oa(e.split(".")[n]))}catch(r){throw new Le("Invalid token specified: "+r.message)}}Le.prototype=new Error,Le.prototype.name="InvalidTokenError";const Ue="spartan-token";function xt(){const e=localStorage.getItem(Ue);let t=null;if(e)try{if(t=Pa(e),t.exp>Na())return t;localStorage.removeItem(Ue)}catch(n){console.error("Error decoding token",n),localStorage.removeItem(Ue)}return null}function Ia(){const e=localStorage.getItem(Ue);return e||null}function Na(){return Math.round(new Date().getTime()/1e3)}var za=x(`<form class=login-frame><style>.login-frame {
|
|
1
|
+
(function(Je){typeof define=="function"&&define.amd?define(Je):Je()})(function(){"use strict";const Ie={equals:(e,t)=>e===t};let st=ot;const ge=1,ze=2,ut={owned:null,cleanups:null,context:null,owner:null};var X=null;let Ke=null,zt=null,U=null,W=null,fe=null,Ne=0;function Nt(e,t){const r=U,n=X,s=e.length===0,u=t===void 0?n:t,i=s?ut:{owned:null,cleanups:null,context:u?u.context:null,owner:u},a=s?e:()=>e(()=>Me(()=>Oe(i)));X=i,U=null;try{return Se(a,!0)}finally{U=r,X=n}}function $(e,t){t=t?Object.assign({},Ie,t):Ie;const r={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},n=s=>(typeof s=="function"&&(s=s(r.value)),at(r,s));return[it.bind(r),n]}function O(e,t,r){const n=Ve(e,t,!1,ge);_e(n)}function Mt(e,t,r){st=Lt;const n=Ve(e,t,!1,ge);n.user=!0,fe?fe.push(n):_e(n)}function b(e,t,r){r=r?Object.assign({},Ie,r):Ie;const n=Ve(e,t,!0,0);return n.observers=null,n.observerSlots=null,n.comparator=r.equals||void 0,_e(n),it.bind(n)}function Me(e){if(U===null)return e();const t=U;U=null;try{return e()}finally{U=t}}function Ge(e){Mt(()=>Me(e))}function it(){if(this.sources&&this.state)if(this.state===ge)_e(this);else{const e=W;W=null,Se(()=>Re(this),!1),W=e}if(U){const e=this.observers?this.observers.length:0;U.sources?(U.sources.push(this),U.sourceSlots.push(e)):(U.sources=[this],U.sourceSlots=[e]),this.observers?(this.observers.push(U),this.observerSlots.push(U.sources.length-1)):(this.observers=[U],this.observerSlots=[U.sources.length-1])}return this.value}function at(e,t,r){let n=e.value;return(!e.comparator||!e.comparator(n,t))&&(e.value=t,e.observers&&e.observers.length&&Se(()=>{for(let s=0;s<e.observers.length;s+=1){const u=e.observers[s],i=Ke&&Ke.running;i&&Ke.disposed.has(u),(i?!u.tState:!u.state)&&(u.pure?W.push(u):fe.push(u),u.observers&<(u)),i||(u.state=ge)}if(W.length>1e6)throw W=[],new Error},!1)),t}function _e(e){if(!e.fn)return;Oe(e);const t=Ne;jt(e,e.value,t)}function jt(e,t,r){let n;const s=X,u=U;U=X=e;try{n=e.fn(t)}catch(i){return e.pure&&(e.state=ge,e.owned&&e.owned.forEach(Oe),e.owned=null),e.updatedAt=r+1,ct(i)}finally{U=u,X=s}(!e.updatedAt||e.updatedAt<=r)&&(e.updatedAt!=null&&"observers"in e?at(e,n):e.value=n,e.updatedAt=r)}function Ve(e,t,r,n=ge,s){const u={fn:e,state:n,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:X,context:X?X.context:null,pure:r};return X===null||X!==ut&&(X.owned?X.owned.push(u):X.owned=[u]),u}function je(e){if(e.state===0)return;if(e.state===ze)return Re(e);if(e.suspense&&Me(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<Ne);)e.state&&t.push(e);for(let r=t.length-1;r>=0;r--)if(e=t[r],e.state===ge)_e(e);else if(e.state===ze){const n=W;W=null,Se(()=>Re(e,t[0]),!1),W=n}}function Se(e,t){if(W)return e();let r=!1;t||(W=[]),fe?r=!0:fe=[],Ne++;try{const n=e();return Rt(r),n}catch(n){r||(fe=null),W=null,ct(n)}}function Rt(e){if(W&&(ot(W),W=null),e)return;const t=fe;fe=null,t.length&&Se(()=>st(t),!1)}function ot(e){for(let t=0;t<e.length;t++)je(e[t])}function Lt(e){let t,r=0;for(t=0;t<e.length;t++){const n=e[t];n.user?e[r++]=n:je(n)}for(t=0;t<r;t++)je(e[t])}function Re(e,t){e.state=0;for(let r=0;r<e.sources.length;r+=1){const n=e.sources[r];if(n.sources){const s=n.state;s===ge?n!==t&&(!n.updatedAt||n.updatedAt<Ne)&&je(n):s===ze&&Re(n,t)}}}function lt(e){for(let t=0;t<e.observers.length;t+=1){const r=e.observers[t];r.state||(r.state=ze,r.pure?W.push(r):fe.push(r),r.observers&<(r))}}function Oe(e){let t;if(e.sources)for(;e.sources.length;){const r=e.sources.pop(),n=e.sourceSlots.pop(),s=r.observers;if(s&&s.length){const u=s.pop(),i=r.observerSlots.pop();n<s.length&&(u.sourceSlots[i]=n,s[n]=u,r.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)Oe(e.tOwned[t]);delete e.tOwned}if(e.owned){for(t=e.owned.length-1;t>=0;t--)Oe(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0}function qt(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function ct(e,t=X){throw qt(e)}function Ut(e,t,r){let n=r.length,s=t.length,u=n,i=0,a=0,F=t[s-1].nextSibling,k=null;for(;i<s||a<u;){if(t[i]===r[a]){i++,a++;continue}for(;t[s-1]===r[u-1];)s--,u--;if(s===i){const p=u<n?a?r[a-1].nextSibling:r[u-a]:F;for(;a<u;)e.insertBefore(r[a++],p)}else if(u===a)for(;i<s;)(!k||!k.has(t[i]))&&t[i].remove(),i++;else if(t[i]===r[u-1]&&r[a]===t[s-1]){const p=t[--s].nextSibling;e.insertBefore(r[a++],t[i++].nextSibling),e.insertBefore(r[--u],p),t[s]=r[u]}else{if(!k){k=new Map;let S=a;for(;S<u;)k.set(r[S],S++)}const p=k.get(t[i]);if(p!=null)if(a<p&&p<u){let S=i,Q=1,re;for(;++S<s&&S<u&&!((re=k.get(t[S]))==null||re!==p+Q);)Q++;if(Q>p-a){const he=t[i];for(;a<p;)e.insertBefore(r[a++],he)}else e.replaceChild(r[a++],t[i++])}else i++;else t[i++].remove()}}}const dt="_$DX_DELEGATE";function B(e,t,r,n){let s;const u=()=>{const a=document.createElement("template");return a.innerHTML=e,a.content.firstChild},i=()=>(s||(s=u())).cloneNode(!0);return i.cloneNode=i,i}function He(e,t=window.document){const r=t[dt]||(t[dt]=new Set);for(let n=0,s=e.length;n<s;n++){const u=e[n];r.has(u)||(r.add(u),t.addEventListener(u,Jt))}}function oe(e,t,r){r==null?e.removeAttribute(t):e.setAttribute(t,r)}function Dt(e,t,r){return Me(()=>e(t,r))}function d(e,t,r,n){if(r!==void 0&&!n&&(n=[]),typeof t!="function")return Le(e,t,n,r);O(s=>Le(e,t(),s,r),n)}function Jt(e){let t=e.target;const r=`$$${e.type}`,n=e.target,s=e.currentTarget,u=F=>Object.defineProperty(e,"target",{configurable:!0,value:F}),i=()=>{const F=t[r];if(F&&!t.disabled){const k=t[`${r}Data`];if(k!==void 0?F.call(t,k,e):F.call(t,e),e.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(e.target)&&u(t.host),!0},a=()=>{for(;i()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),e.composedPath){const F=e.composedPath();u(F[0]);for(let k=0;k<F.length-2&&(t=F[k],!!i());k++){if(t._$host){t=t._$host,a();break}if(t.parentNode===s)break}}else a();u(n)}function Le(e,t,r,n,s){for(;typeof r=="function";)r=r();if(t===r)return r;const u=typeof t,i=n!==void 0;if(e=i&&r[0]&&r[0].parentNode||e,u==="string"||u==="number"){if(u==="number"&&(t=t.toString(),t===r))return r;if(i){let a=r[0];a&&a.nodeType===3?a.data!==t&&(a.data=t):a=document.createTextNode(t),r=we(e,r,n,a)}else r!==""&&typeof r=="string"?r=e.firstChild.data=t:r=e.textContent=t}else if(t==null||u==="boolean")r=we(e,r,n);else{if(u==="function")return O(()=>{let a=t();for(;typeof a=="function";)a=a();r=Le(e,a,r,n)}),()=>r;if(Array.isArray(t)){const a=[],F=r&&Array.isArray(r);if(We(a,t,r,s))return O(()=>r=Le(e,a,r,n,!0)),()=>r;if(a.length===0){if(r=we(e,r,n),i)return r}else F?r.length===0?ft(e,a,n):Ut(e,r,a):(r&&we(e),ft(e,a));r=a}else if(t.nodeType){if(Array.isArray(r)){if(i)return r=we(e,r,n,t);we(e,r,null,t)}else r==null||r===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);r=t}}return r}function We(e,t,r,n){let s=!1;for(let u=0,i=t.length;u<i;u++){let a=t[u],F=r&&r[e.length],k;if(!(a==null||a===!0||a===!1))if((k=typeof a)=="object"&&a.nodeType)e.push(a);else if(Array.isArray(a))s=We(e,a,F)||s;else if(k==="function")if(n){for(;typeof a=="function";)a=a();s=We(e,Array.isArray(a)?a:[a],Array.isArray(F)?F:[F])||s}else e.push(a),s=!0;else{const p=String(a);F&&F.nodeType===3&&F.data===p?e.push(F):e.push(document.createTextNode(p))}}return s}function ft(e,t,r=null){for(let n=0,s=t.length;n<s;n++)e.insertBefore(t[n],r)}function we(e,t,r,n){if(r===void 0)return e.textContent="";const s=n||document.createTextNode("");if(t.length){let u=!1;for(let i=t.length-1;i>=0;i--){const a=t[i];if(s!==a){const F=a.parentNode===e;!u&&!i?F?e.replaceChild(s,a):e.insertBefore(s,r):F&&a.remove()}else u=!0}}else e.insertBefore(s,r);return[s]}function Kt(e){return Object.keys(e).reduce((r,n)=>{const s=e[n];return r[n]=Object.assign({},s),gt(s.value)&&!Zt(s.value)&&!Array.isArray(s.value)&&(r[n].value=Object.assign({},s.value)),Array.isArray(s.value)&&(r[n].value=s.value.slice(0)),r},{})}function Gt(e){return e?Object.keys(e).reduce((r,n)=>{const s=e[n];return r[n]=gt(s)&&"value"in s?s:{value:s},r[n].attribute||(r[n].attribute=Wt(n)),r[n].parse="parse"in r[n]?r[n].parse:typeof r[n].value!="string",r},{}):{}}function Vt(e){return Object.keys(e).reduce((r,n)=>(r[n]=e[n].value,r),{})}function Ht(e,t){const r=Kt(t);return Object.keys(t).forEach(s=>{const u=r[s],i=e.getAttribute(u.attribute),a=e[s];i!=null&&(u.value=u.parse?ht(i):i),a!=null&&(u.value=Array.isArray(a)?a.slice(0):a),u.reflect&&pt(e,u.attribute,u.value,!!u.parse),Object.defineProperty(e,s,{get(){return u.value},set(F){const k=u.value;u.value=F,u.reflect&&pt(this,u.attribute,u.value,!!u.parse);for(let p=0,S=this.__propertyChangedCallbacks.length;p<S;p++)this.__propertyChangedCallbacks[p](s,F,k)},enumerable:!0,configurable:!0})}),r}function ht(e){if(e)try{return JSON.parse(e)}catch{return e}}function pt(e,t,r,n){if(r==null||r===!1)return e.removeAttribute(t);let s=n?JSON.stringify(r):r;e.__updating[t]=!0,s==="true"&&(s=""),e.setAttribute(t,s),Promise.resolve().then(()=>delete e.__updating[t])}function Wt(e){return e.replace(/\.?([A-Z]+)/g,(t,r)=>"-"+r.toLowerCase()).replace("_","-").replace(/^-/,"")}function gt(e){return e!=null&&(typeof e=="object"||typeof e=="function")}function Zt(e){return Object.prototype.toString.call(e)==="[object Function]"}function Yt(e){return typeof e=="function"&&e.toString().indexOf("class")===0}let Ze;function Xt(e,t){const r=Object.keys(t);return class extends e{static get observedAttributes(){return r.map(s=>t[s].attribute)}constructor(){super(),this.__initialized=!1,this.__released=!1,this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props={}}connectedCallback(){if(this.__initialized)return;this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props=Ht(this,t);const s=Vt(this.props),u=this.Component,i=Ze;try{Ze=this,this.__initialized=!0,Yt(u)?new u(s,{element:this}):u(s,{element:this})}finally{Ze=i}}async disconnectedCallback(){if(await Promise.resolve(),this.isConnected)return;this.__propertyChangedCallbacks.length=0;let s=null;for(;s=this.__releaseCallbacks.pop();)s(this);delete this.__initialized,this.__released=!0}attributeChangedCallback(s,u,i){if(this.__initialized&&!this.__updating[s]&&(s=this.lookupProp(s),s in t)){if(i==null&&!this[s])return;this[s]=t[s].parse?ht(i):i}}lookupProp(s){if(t)return r.find(u=>s===u||s===t[u].attribute)}get renderRoot(){return this.shadowRoot||this.attachShadow({mode:"open"})}addReleaseCallback(s){this.__releaseCallbacks.push(s)}addPropertyChangedCallback(s){this.__propertyChangedCallbacks.push(s)}}}function Qt(e,t={},r={}){const{BaseElement:n=HTMLElement,extension:s,customElements:u=window.customElements}=r;return i=>{if(!e)throw new Error("tag is required to register a Component");let a=u.get(e);return a?(a.prototype.Component=i,a):(a=Xt(n,Gt(t)),a.prototype.Component=i,a.prototype.registeredTag=e,u.define(e,a,s),a)}}function er(e){const t=Object.keys(e),r={};for(let n=0;n<t.length;n++){const[s,u]=$(e[t[n]]);Object.defineProperty(r,t[n],{get:s,set(i){u(()=>i)}})}return r}function tr(e){if(e.assignedSlot&&e.assignedSlot._$owner)return e.assignedSlot._$owner;let t=e.parentNode;for(;t&&!t._$owner&&!(t.assignedSlot&&t.assignedSlot._$owner);)t=t.parentNode;return t&&t.assignedSlot?t.assignedSlot._$owner:e._$owner}function rr(e){return(t,r)=>{const{element:n}=r;return Nt(s=>{const u=er(t);n.addPropertyChangedCallback((a,F)=>u[a]=F),n.addReleaseCallback(()=>{n.renderRoot.textContent="",s()});const i=e(u,r);return d(n.renderRoot,i)},tr(n))}}function Ye(e,t,r){return arguments.length===2&&(r=t,t={}),Qt(e,t)(rr(r))}var nr="٠١٢٣٤٥٦٧٨٩",sr="۰۱۲۳۴۵۶۷۸۹",ur="൦൧൨൩൪൫൬൭൮൯",ir="೦೧೨೩೪೫೬೭೮೯",ar="໐໑໒໓໔໕໖໗໘໙",or="୦୧୨୩୪୫୬୭୮୯",lr="០១២៣៤៥៦៧៨៩",cr="߀߁߂߃߄߅߆߇߈߉",dr="੦੧੨੩੪੫੬੭੮੯",Dr="૦૧૨૩૪૫૬૭૮૯",fr="०१२३४५६७८९",hr="၀၁၂၃၄၅၆၇၈၉",pr="௦௧௨௩௪௫௬௭௮௯",gr="౦౧౨౩౪౫౬౭౮౯",mr="๐๑๒๓๔๕๖๗๘๙",br="༠༡༢༣༤༥༦༧༨༩",mt={ar:nr,fa:sr,ml:ur,kn:ir,lo:ar,or,kh:lr,nqo:cr,pa:dr,gu:Dr,hi:fr,my:hr,ta:pr,te:gr,th:mr,bo:br},Cr=["ru"],Ar=["id"],vr=["id"],Fr=["ady-cyrl"],Er=["aeb-arab"],wr=["sq"],yr=["ru"],$r=["zh-hant"],Br=["es"],kr=["hi"],xr=["es"],_r=["ar"],Sr=["ar"],Or=["ar"],Tr=["es"],Pr=["fr"],Ir=["ru"],zr=["fr","es","ru"],Nr=["hi"],Mr=["es"],jr=["fa"],Rr=["ru"],Lr=["id"],qr=["de"],Ur=["bbc-latn"],Jr=["fa"],Kr=["fa"],Gr=["bho"],Vr=["en"],Hr=["id"],Wr=["fr"],Zr=["bn"],Yr=["fa"],Xr=["fr"],Qr=["id"],en=["id"],tn=["ru"],rn=["oc"],nn=["nan","zh-hant"],sn=["ru"],un=["it"],an=["crh-latn"],on=["sk"],ln=["pl"],cn=["ru"],dn=["hsb","de"],Dn=["ms"],fn=["ne"],hn=["it"],pn=["it"],gn=["es"],mn=["fr"],bn=["fi"],Cn=["fr"],An=["fr"],vn=["de"],Fn=["it"],En=["tr"],wn=["gan-hant","zh-hant","zh-hans"],yn=["fr"],$n=["pt"],Bn=["fa"],kn=["es"],xn=["gom-deva"],_n=["id"],Sn=["de"],On=["es"],Tn=["zh-hant"],Pn=["hif-latn"],In=["de"],zn=["dsb","de"],Nn=["fr"],Mn=["hy"],jn=["zh-cn","zh-hans"],Rn=["ru"],Ln=["eo"],qn=["ike-cans"],Un=["en"],Jn=["da"],Kn=["id"],Gn=["kk-latn","kk-cyrl"],Vn=["fr"],Hn=["kbd-cyrl"],Wn=["fr"],Zn=["ur"],Yn=["tr"],Xn=["my"],Qn=["kk-cyrl"],es=["da"],ts=["ru"],rs=["ru"],ns=["fi"],ss=["ks-arab"],us=["de"],is=["ku-latn"],as=["ru"],os=["ru"],ls=["es"],cs=["de"],ds=["ru"],Ds=["ru","az"],fs=["nl"],hs=["it"],ps=["et"],gs=["fa"],ms=["it","rm","fur"],bs=["pms","eml","lij","vec","it"],Cs=["fr"],As=["fa"],vs=["lv"],Fs=["fa"],Es=["zh-hant"],ws=["tr"],ys=["id"],$s=["hi"],Bs=["myv","ru"],ks=["fr"],xs=["mrj","ru"],_s=["id"],Ss=["my"],Os=["ro"],Ts=["mhr","ru"],Ps=["pt"],Is=["mdf","ru"],zs=["fa"],Ns=["es"],Ms=["cdo","zh-hant"],js=["it"],Rs=["nn"],Ls=["de"],qs=["id"],Us=["nb"],Js=["fr"],Ks=["ca","fr"],Gs=["fi"],Vs=["ru"],Hs=["fr"],Ws=["de"],Zs=["de"],Ys=["de"],Xs=["en"],Qs=["it"],eu=["el"],tu=["pt-br"],ru=["qug","es"],nu=["qu","es"],su=["it"],uu=["ro"],iu=["uk","ru"],au=["ro"],ou=["ruq-latn","ro"],lu=["hi"],cu=["ru"],du=["it"],Du=["en"],fu=["it"],hu=["cbk","fa"],pu=["fr"],gu=["fr"],mu=["lt"],bu=["bs","sr-el","hr"],Cu=["fr"],Au=["shy-latn"],vu=["cs"],Fu=["skr-arab"],Eu=["de"],wu=["fi"],yu=["sr-ec"],$u=["nl"],Bu=["de"],ku=["ru"],xu=["id"],_u=["pl"],Su=["zh-tw","zh-hant","zh-hans"],Ou=["zh-tw","zh-hant","zh-hans"],Tu=["kn"],Pu=["pt"],Iu=["tg-cyrl"],zu=["zh-tw","zh-hant","zh-hans"],Nu=["tt-cyrl","ru"],Mu=["fr"],ju=["ru"],Ru=["ru"],Lu=["ug-arab"],qu=["it"],Uu=["et"],Ju=["nl"],Ku=["de"],Gu=["fi"],Vu=["et"],Hu=["fr"],Wu=["fr"],Zu=["zh-hans"],Yu=["ru"],Xu=["ka"],Qu=["he"],ei=["zh-hans"],ti=["nl"],ri=["kab"],ni=["zh-hans"],bt={ab:Cr,abs:Ar,ace:vr,ady:Fr,aeb:Er,"aeb-arab":["ar"],aln:wr,alt:yr,ami:$r,an:Br,anp:kr,arn:xr,arq:_r,ary:Sr,arz:Or,ast:Tr,atj:Pr,av:Ir,avk:zr,awa:Nr,ay:Mr,azb:jr,ba:Rr,ban:Lr,"ban-bali":["ban"],bar:qr,bbc:Ur,"bbc-latn":["id"],bcc:Jr,"be-tarask":["be"],bgn:Kr,bh:Gr,bi:Vr,bjn:Hr,bm:Wr,bpy:Zr,bqi:Yr,br:Xr,btm:Qr,bug:en,bxr:tn,ca:rn,"cbk-zam":["es"],cdo:nn,ce:sn,co:un,crh:an,"crh-cyrl":["ru"],cs:on,csb:ln,cv:cn,"de-at":["de"],"de-ch":["de"],"de-formal":["de"],dsb:dn,dtp:Dn,dty:fn,egl:hn,eml:pn,"en-ca":["en"],"en-gb":["en"],"es-419":["es"],"es-formal":["es"],ext:gn,ff:mn,fit:bn,frc:Cn,frp:An,frr:vn,fur:Fn,gag:En,gan:wn,"gan-hans":["zh-hans"],"gan-hant":["zh-hant","zh-hans"],gcr:yn,gl:$n,glk:Bn,gn:kn,gom:xn,"gom-deva":["hi"],gor:_n,gsw:Sn,guc:On,hak:Tn,hif:Pn,hrx:In,hsb:zn,ht:Nn,"hu-formal":["hu"],hyw:Mn,ii:jn,inh:Rn,io:Ln,iu:qn,jam:Un,jut:Jn,jv:Kn,kaa:Gn,kab:Vn,kbd:Hn,kbp:Wn,khw:Zn,kiu:Yn,kjp:Xn,kk:Qn,"kk-arab":["kk-cyrl"],"kk-cn":["kk-arab","kk-cyrl"],"kk-kz":["kk-cyrl"],"kk-latn":["kk-cyrl"],"kk-tr":["kk-latn","kk-cyrl"],kl:es,"ko-kp":["ko"],koi:ts,krc:rs,krl:ns,ks:ss,ksh:us,ku:is,"ku-arab":["ckb"],kum:as,kv:os,lad:ls,lb:cs,lbe:ds,lez:Ds,li:fs,lij:hs,liv:ps,lki:gs,lld:ms,lmo:bs,ln:Cs,lrc:As,ltg:vs,luz:Fs,lzh:Es,lzz:ws,mad:ys,mai:$s,"map-bms":["jv","id"],mdf:Bs,mg:ks,mhr:xs,min:_s,mnw:Ss,mo:Os,mrj:Ts,"ms-arab":["ms"],mwl:Ps,myv:Is,mzn:zs,nah:Ns,nan:Ms,nap:js,nb:Rs,nds:Ls,"nds-nl":["nl"],nia:qs,"nl-informal":["nl"],nn:Us,nrm:Js,oc:Ks,olo:Gs,os:Vs,pcd:Hs,pdc:Ws,pdt:Zs,pfl:Ys,pih:Xs,pms:Qs,pnt:eu,pt:tu,"pt-br":["pt"],qu:ru,qug:nu,rgn:su,rmy:uu,"roa-tara":["it"],rue:iu,rup:au,ruq:ou,"ruq-cyrl":["mk"],"ruq-latn":["ro"],sa:lu,sah:cu,scn:du,sco:Du,sdc:fu,sdh:hu,ses:pu,sg:gu,sgs:mu,sh:bu,shi:Cu,shy:Au,"shy-latn":["fr"],sk:vu,skr:Fu,"skr-arab":["ur","pnb"],sli:Eu,smn:wu,sr:yu,srn:$u,stq:Bu,sty:ku,su:xu,szl:_u,szy:Su,tay:Ou,tcy:Tu,tet:Pu,tg:Iu,trv:zu,tt:Nu,"tt-cyrl":["ru"],ty:Mu,tyv:ju,udm:Ru,ug:Lu,vec:qu,vep:Uu,vls:Ju,vmf:Ku,vot:Gu,vro:Vu,wa:Hu,wo:Wu,wuu:Zu,xal:Yu,xmf:Xu,yi:Qu,za:ei,zea:ti,zgh:ri,zh:ni,"zh-cn":["zh-hans"],"zh-hant":["zh-hans"],"zh-hk":["zh-hant","zh-hans"],"zh-mo":["zh-hk","zh-hant","zh-hans"],"zh-my":["zh-sg","zh-hans"],"zh-sg":["zh-hans"],"zh-tw":["zh-hant","zh-hans"]};let te=class{constructor(e){this.locale=e}convertPlural(e,t){const r=/\d+=/i;if(!t||t.length===0)return"";for(let s=0;s<t.length;s++){const u=t[s];if(r.test(u)){if(parseInt(u.slice(0,u.indexOf("=")),10)===e)return u.slice(u.indexOf("=")+1);t[s]=void 0}}t=t.filter(s=>!!s);let n=this.getPluralForm(e,this.locale);return n=Math.min(n,t.length-1),t[n]}getPluralForm(e,t){const r=["zero","one","two","few","many","other"],n=new Intl.PluralRules(t),s=n.resolvedOptions().pluralCategories,u=n.select(e);return r.filter(i=>s.includes(i)).indexOf(u)}convertNumber(e,t=!1){let r=this.digitTransformTable(this.locale),n="";if(t){if(parseFloat(e,10)===e||!r)return e;const s=[];for(const i in r)s[r[i]]=i;r=s;const u=String(e);for(let i=0;i<u.length;i++)n+=r[u[i]]||u[i];return parseFloat(n,10)}if(Intl.NumberFormat){let s;const u=[...bt[this.locale]||[],"en"];return Intl.NumberFormat.supportedLocalesOf(this.locale).length?s=[this.locale]:s=u,n=new Intl.NumberFormat(s).format(e),n==="NaN"&&(n=e),n}}convertGrammar(e){return e}gender(e,t){if(!t||t.length===0)return"";for(;t.length<2;)t.push(t[t.length-1]);return e==="male"?t[0]:e==="female"?t[1]:t.length===3?t[2]:t[0]}digitTransformTable(e){return mt[e]?mt[e].split(""):!1}},si=class extends te{convertGrammar(e,t){switch(t){case"prefixed":case"תחילית":e.slice(0,1)==="ו"&&e.slice(0,2)!=="וו"&&(e="ו"+e),e.slice(0,1)==="ה"&&(e=e.slice(1)),(e.slice(0,1)<"א"||e.slice(0,1)>"ת")&&(e="־"+e)}return e}},ui=class extends te{convertGrammar(t,r){switch(r){case"instrumental":t="s "+t;break;case"lokativ":t="o "+t;break}return t}},ii=class extends te{convertGrammar(e,t){switch(t){case"instrumental":e="z "+e;break;case"lokatiw":e="wo "+e;break}return e}},ai=class extends te{convertGrammar(e,t){switch(t){case"instrumental":e="z "+e;break;case"lokatiw":e="wo "+e;break}return e}},oi=class extends te{convertGrammar(e,t){let r=e.match(/[aou][^äöy]*$/i);const n=e;switch(e.match(/wiki$/i)&&(r=!1),e.match(/[bcdfghjklmnpqrstvwxz]$/i)&&(e+="i"),t){case"genitive":e+="n";break;case"elative":e+=r?"sta":"stä";break;case"partitive":e+=r?"a":"ä";break;case"illative":e+=e.slice(-1)+"n";break;case"inessive":e+=r?"ssa":"ssä";break;default:e=n;break}return e}},li=class extends te{convertGrammar(e,t){return t==="genitive"&&(e.slice(-1)==="ь"?e=e.slice(0,-1)+"я":e.slice(-2)==="ия"?e=e.slice(0,-2)+"ии":e.slice(-2)==="ка"?e=e.slice(0,-2)+"ки":e.slice(-2)==="ти"?e=e.slice(0,-2)+"тей":e.slice(-2)==="ды"?e=e.slice(0,-2)+"дов":e.slice(-3)==="ник"&&(e=e.slice(0,-3)+"ника")),e}};class ci extends te{convertGrammar(t,r){switch(r){case"mestnik":t="o "+t;break;case"orodnik":t="z "+t;break}return t}}let di=class extends te{convertGrammar(e,t){switch(t){case"genitive":e=e.replace(/u[ms]$/i,"i"),e=e.replace(/ommunia$/i,"ommunium"),e=e.replace(/a$/i,"ae"),e=e.replace(/libri$/i,"librorum"),e=e.replace(/nuntii$/i,"nuntiorum"),e=e.replace(/tio$/i,"tionis"),e=e.replace(/ns$/i,"ntis"),e=e.replace(/as$/i,"atis"),e=e.replace(/es$/i,"ei");break;case"accusative":e=e.replace(/u[ms]$/i,"um"),e=e.replace(/ommunia$/i,"am"),e=e.replace(/a$/i,"ommunia"),e=e.replace(/libri$/i,"libros"),e=e.replace(/nuntii$/i,"nuntios"),e=e.replace(/tio$/i,"tionem"),e=e.replace(/ns$/i,"ntem"),e=e.replace(/as$/i,"atem"),e=e.replace(/es$/i,"em");break;case"ablative":e=e.replace(/u[ms]$/i,"o"),e=e.replace(/ommunia$/i,"ommunibus"),e=e.replace(/a$/i,"a"),e=e.replace(/libri$/i,"libris"),e=e.replace(/nuntii$/i,"nuntiis"),e=e.replace(/tio$/i,"tione"),e=e.replace(/ns$/i,"nte"),e=e.replace(/as$/i,"ate"),e=e.replace(/es$/i,"e");break}return e}};class Di extends te{convertGrammar(t,r){return r==="genitive"&&(t.slice(-1)==="ա"?t=t.slice(0,-1)+"այի":t.slice(-1)==="ո"?t=t.slice(0,-1)+"ոյի":t.slice(-4)==="գիրք"?t=t.slice(0,-4)+"գրքի":t=t+"ի"),t}}let fi=class extends te{convertGrammar(e,t){if(t==="ainmlae")switch(e){case"an Domhnach":e="Dé Domhnaigh";break;case"an Luan":e="Dé Luain";break;case"an Mháirt":e="Dé Mháirt";break;case"an Chéadaoin":e="Dé Chéadaoin";break;case"an Déardaoin":e="Déardaoin";break;case"an Aoine":e="Dé hAoine";break;case"an Satharn":e="Dé Sathairn";break}return e}},hi=class extends te{convertGrammar(e,t){switch(t){case"rol":e+="ról";break;case"ba":e+="ba";break;case"k":e+="k";break}return e}},pi=class extends te{convertGrammar(e,t){let r,n,s,u;switch(r="мæ",n="",s="",u="",e.match(/тæ$/i)?(e=e.slice(0,-1),r="æм"):e.match(/[аæеёиоыэюя]$/i)?n="й":e.match(/у$/i)?e.slice(-2,-1).match(/[аæеёиоыэюя]$/i)||(n="й"):e.match(/[бвгджзйклмнопрстфхцчшщьъ]$/i)||(s="-"),t){case"genitive":u=s+n+"ы";break;case"dative":u=s+n+"æн";break;case"allative":u=s+r;break;case"ablative":n==="й"?u=s+n+"æ":u=s+n+"æй";break;case"superessive":u=s+n+"ыл";break;case"equative":u=s+n+"ау";break;case"comitative":u=s+"имæ";break}return e+u}};class gi extends te{convertGrammar(t,r){switch(r){case"genitive":t.slice(-1)==="ь"?t=t.slice(0,-1)+"я":t.slice(-2)==="ія"?t=t.slice(0,-2)+"ії":t.slice(-2)==="ка"?t=t.slice(0,-2)+"ки":t.slice(-2)==="ти"?t=t.slice(0,-2)+"тей":t.slice(-2)==="ды"?t=t.slice(0,-2)+"дов":t.slice(-3)==="ник"&&(t=t.slice(0,-3)+"ника");break;case"accusative":t.slice(-2)==="ія"&&(t=t.slice(0,-2)+"ію");break}return t}}var Ct={bs:ui,default:te,dsb:ii,fi:oi,ga:fi,he:si,hsb:ai,hu:hi,hy:Di,la:di,os:pi,ru:li,sl:ci,uk:gi};const mi=new RegExp("(?:([A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁːˑˠ-ˤˮͰ-ͳͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-҂Ҋ-ԯԱ-Ֆՙ-՟ա-և։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ঀংঃঅ-ঌএঐও-নপ-রলশ-হঽ-ীেৈোৌৎৗড়ঢ়য়-ৡ০-ৱ৴-৺ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ીૉોૌૐૠૡ૦-૰ૹଂଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽାୀେୈୋୌୗଡ଼ଢ଼ୟ-ୡ୦-୷ஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹாிுூெ-ைொ-ௌௐௗ௦-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౚౠౡ౦-౯౿ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊೋೕೖೞೠೡ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ീെ-ൈൊ-ൌൎൗൟ-ൡ൦-൵൹-ൿංඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-෴ก-ะาำเ-ๆ๏-๛ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆ໐-໙ໜ-ໟༀ-༗༚-༴༶༸༾-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿚က-ာေးျြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃႄႇ-ႌႎ-ႜ႞-ჅჇჍა-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፼ᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙿᚁ-ᚚᚠ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះៈ។-៚ៜ០-៩᠐-᠙ᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸ᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚ᨀ-ᨖᨙᨚ᨞-ᩕᩗᩡᩣᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-ᭋ᭐-᭪᭴-᭼ᮂ-ᮡᮦᮧ᮪ᮮ-ᯥᯧᯪ-ᯬᯮ᯲᯳᯼-ᰫᰴᰵ᰻-᱉ᱍ-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳳᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〮〯〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎ㆐-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿕ꀀ-ꒌꓐ-ꘌꘐ-ꘫꙀ-ꙮꚀ-ꚝꚠ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꣽ꤀-ꤥ꤮-ꥆꥒ꥓꥟-ꥼꦃ-ꦲꦴꦵꦺꦻꦽ-꧍ꧏ-꧙꧞-ꧤꧦ-ꧾꨀ-ꨨꨯꨰꨳꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-ꩻꩽ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫫꫮ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭥꭰ-ꯤꯦꯧꯩ-꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]|\uD800[\uDC00-\uDC0B]|\uD800[\uDC0D-\uDC26]|\uD800[\uDC28-\uDC3A]|𐀼|𐀽|\uD800[\uDC3F-\uDC4D]|\uD800[\uDC50-\uDC5D]|\uD800[\uDC80-\uDCFA]|𐄀|𐄂|\uD800[\uDD07-\uDD33]|\uD800[\uDD37-\uDD3F]|\uD800[\uDDD0-\uDDFC]|\uD800[\uDE80-\uDE9C]|\uD800[\uDEA0-\uDED0]|\uD800[\uDF00-\uDF23]|\uD800[\uDF30-\uDF4A]|\uD800[\uDF50-\uDF75]|\uD800[\uDF80-\uDF9D]|\uD800[\uDF9F-\uDFC3]|\uD800[\uDFC8-\uDFD5]|\uD801[\uDC00-\uDC9D]|\uD801[\uDCA0-\uDCA9]|\uD801[\uDD00-\uDD27]|\uD801[\uDD30-\uDD63]|𐕯|\uD801[\uDE00-\uDF36]|\uD801[\uDF40-\uDF55]|\uD801[\uDF60-\uDF67]|𑀀|\uD804[\uDC02-\uDC37]|\uD804[\uDC47-\uDC4D]|\uD804[\uDC66-\uDC6F]|\uD804[\uDC82-\uDCB2]|𑂷|𑂸|\uD804[\uDCBB-\uDCC1]|\uD804[\uDCD0-\uDCE8]|\uD804[\uDCF0-\uDCF9]|\uD804[\uDD03-\uDD26]|𑄬|\uD804[\uDD36-\uDD43]|\uD804[\uDD50-\uDD72]|\uD804[\uDD74-\uDD76]|\uD804[\uDD82-\uDDB5]|\uD804[\uDDBF-\uDDC9]|𑇍|\uD804[\uDDD0-\uDDDF]|\uD804[\uDDE1-\uDDF4]|\uD804[\uDE00-\uDE11]|\uD804[\uDE13-\uDE2E]|𑈲|𑈳|𑈵|\uD804[\uDE38-\uDE3D]|\uD804[\uDE80-\uDE86]|𑊈|\uD804[\uDE8A-\uDE8D]|\uD804[\uDE8F-\uDE9D]|\uD804[\uDE9F-\uDEA9]|\uD804[\uDEB0-\uDEDE]|\uD804[\uDEE0-\uDEE2]|\uD804[\uDEF0-\uDEF9]|𑌂|𑌃|\uD804[\uDF05-\uDF0C]|𑌏|𑌐|\uD804[\uDF13-\uDF28]|\uD804[\uDF2A-\uDF30]|𑌲|𑌳|\uD804[\uDF35-\uDF39]|\uD804[\uDF3D-\uDF3F]|\uD804[\uDF41-\uDF44]|𑍇|𑍈|\uD804[\uDF4B-\uDF4D]|𑍐|𑍗|\uD804[\uDF5D-\uDF63]|\uD805[\uDC80-\uDCB2]|𑒹|\uD805[\uDCBB-\uDCBE]|𑓁|\uD805[\uDCC4-\uDCC7]|\uD805[\uDCD0-\uDCD9]|\uD805[\uDD80-\uDDB1]|\uD805[\uDDB8-\uDDBB]|𑖾|\uD805[\uDDC1-\uDDDB]|\uD805[\uDE00-\uDE32]|𑘻|𑘼|𑘾|\uD805[\uDE41-\uDE44]|\uD805[\uDE50-\uDE59]|\uD805[\uDE80-\uDEAA]|𑚬|𑚮|𑚯|𑚶|\uD805[\uDEC0-\uDEC9]|\uD805[\uDF00-\uDF19]|𑜠|𑜡|𑜦|\uD805[\uDF30-\uDF3F]|\uD806[\uDCA0-\uDCF2]|𑣿|\uD806[\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E]|\uD809[\uDC70-\uDC74]|\uD809[\uDC80-\uDD43]|\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38]|\uD81A[\uDE40-\uDE5E]|\uD81A[\uDE60-\uDE69]|𖩮|𖩯|\uD81A[\uDED0-\uDEED]|𖫵|\uD81A[\uDF00-\uDF2F]|\uD81A[\uDF37-\uDF45]|\uD81A[\uDF50-\uDF59]|\uD81A[\uDF5B-\uDF61]|\uD81A[\uDF63-\uDF77]|\uD81A[\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44]|\uD81B[\uDF50-\uDF7E]|\uD81B[\uDF93-\uDF9F]|𛀀|𛀁|\uD82F[\uDC00-\uDC6A]|\uD82F[\uDC70-\uDC7C]|\uD82F[\uDC80-\uDC88]|\uD82F[\uDC90-\uDC99]|𛲜|𛲟|\uD834[\uDC00-\uDCF5]|\uD834[\uDD00-\uDD26]|\uD834[\uDD29-\uDD66]|\uD834[\uDD6A-\uDD72]|𝆃|𝆄|\uD834[\uDD8C-\uDDA9]|\uD834[\uDDAE-\uDDE8]|\uD834[\uDF60-\uDF71]|\uD835[\uDC00-\uDC54]|\uD835[\uDC56-\uDC9C]|𝒞|𝒟|𝒢|𝒥|𝒦|\uD835[\uDCA9-\uDCAC]|\uD835[\uDCAE-\uDCB9]|𝒻|\uD835[\uDCBD-\uDCC3]|\uD835[\uDCC5-\uDD05]|\uD835[\uDD07-\uDD0A]|\uD835[\uDD0D-\uDD14]|\uD835[\uDD16-\uDD1C]|\uD835[\uDD1E-\uDD39]|\uD835[\uDD3B-\uDD3E]|\uD835[\uDD40-\uDD44]|𝕆|\uD835[\uDD4A-\uDD50]|\uD835[\uDD52-\uDEA5]|\uD835[\uDEA8-\uDEDA]|\uD835[\uDEDC-\uDF14]|\uD835[\uDF16-\uDF4E]|\uD835[\uDF50-\uDF88]|\uD835[\uDF8A-\uDFC2]|\uD835[\uDFC4-\uDFCB]|\uD836[\uDC00-\uDDFF]|\uD836[\uDE37-\uDE3A]|\uD836[\uDE6D-\uDE74]|\uD836[\uDE76-\uDE83]|\uD836[\uDE85-\uDE8B]|\uD83C[\uDD10-\uDD2E]|\uD83C[\uDD30-\uDD69]|\uD83C[\uDD70-\uDD9A]|\uD83C[\uDDE6-\uDE02]|\uD83C[\uDE10-\uDE3A]|\uD83C[\uDE40-\uDE48]|🉐|🉑|[\uD840-\uD868][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6]|\uD869[\uDF00-\uDFFF]|[\uD86A-\uD86C][\uDC00-\uDFFF]|\uD86D[\uDC00-\uDF34]|\uD86D[\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD86E[\uDC20-\uDFFF]|[\uD86F-\uD872][\uDC00-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|[\uDB80-\uDBBE][\uDC00-\uDFFF]|\uDBBF[\uDC00-\uDFFD]|[\uDBC0-\uDBFE][\uDC00-\uDFFF]|\uDBFF[\uDC00-\uDFFD])|([־׀׃׆-߀-ߪߴߵߺ-ࠕࠚࠤࠨ-ࡘ-࢟יִײַ-ﬨשׁ-ﭏ؈؋؍؛-ي٭-ٯٱ-ەۥۦۮۯۺ-ܐܒ-ܯ-ޥޱ-ࢠ-ﭐ-ﴽ﵀-﷏ﷰ-﷼﷾﷿ﹰ-]|\uD802[\uDC00-\uDD1E]|\uD802[\uDD20-\uDE00]||\uD802[\uDE07-\uDE0B]|\uD802[\uDE10-\uDE37]|\uD802[\uDE3B-\uDE3E]|\uD802[\uDE40-\uDEE4]|\uD802[\uDEE7-\uDF38]|\uD802[\uDF40-\uDFFF]|\uD803[\uDC00-\uDE5F]|\uD803[\uDE7F-\uDFFF]|\uD83A[\uDC00-\uDCCF]|\uD83A[\uDCD7-\uDFFF]|\uD83B[\uDC00-\uDDFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDF00-\uDFFF]|\uD83B[\uDE00-\uDEEF]|\uD83B[\uDEF2-\uDEFF]))");let At=class{constructor(e){this.locale=ye(e),this.language=new(Ct[this.locale]||Ct.default)(this.locale)}emit(e,t){let r,n,s;switch(typeof e){case"string":case"number":r=e;break;case"object":if(n=e.slice(1).map(u=>this.emit(u,t)),s=e[0].toLowerCase(),typeof this[s]=="function")r=this[s](n,t);else throw new Error('unknown operation "'+s+'"');break;case"undefined":r="";break;default:throw new Error("unexpected type in AST: "+typeof e)}return r}concat(e){let t="";return e.forEach(r=>{t+=r}),t}replace(e,t){const r=parseInt(e[0],10);return r<t.length?t[r]:"$"+(r+1)}plural(e){const t=parseFloat(this.language.convertNumber(e[0],10)),r=e.slice(1);return r.length?this.language.convertPlural(t,r):""}gender(e){const t=e[0],r=e.slice(1);return this.language.gender(t,r)}grammar(e){const t=e[0],r=e[1];return r&&t&&this.language.convertGrammar(r,t)}wikilink(e){let t,r=e[0];r.charAt(0)===":"&&(r=r.slice(1));const n=`./${r}`;return e.length===1?t=r:t=e[1],`<a href="${n}" title="${r}">${t}</a>`}extlink(e){if(e.length!==2)throw new Error("Expected two items in the node");return`<a href="${e[0]}">${e[1]}</a>`}bidi(e){const t=bi(e[0]);return t==="ltr"?""+e[0]+"":t==="rtl"?""+e[0]+"":e[0]}formatnum(e){const t=!!e[1]&&e[1]==="R",r=e[0];return typeof r=="string"||typeof r=="number"?this.language.convertNumber(r,t):r}htmlattributes(e){const t={};for(let r=0,n=e.length;r<n;r+=2)t[e[r]]=e[r+1];return t}htmlelement(e){const t=e.shift(),r=e.shift();let n=e,s="";for(const i in r)s+=` ${i}="${r[i]}"`;Array.isArray(n)||(n=[n]);const u=n.join("");return`<${t}${s}>${u}</${t}>`}};function ye(e){return typeof e=="string"?e.toLowerCase():e}function bi(e){const t=e.match(mi);return t?t[2]===void 0?"ltr":"rtl":null}function Ci(e,{wikilinks:t=!1}={}){let r=0;function n(l){return()=>{for(let f=0;f<l.length;f++){const I=l[f]();if(I!==null)return I}return null}}function s(l){const f=r,I=[];for(let G=0;G<l.length;G++){const V=l[G]();if(V===null)return r=f,null;I.push(V)}return I}function u(l,f){return()=>{const I=r,G=[];let V=f();for(;V!==null;)G.push(V),V=f();return G.length<l?(r=I,null):G}}function i(l){const f=l.length;return()=>{let I=null;return e.slice(r,r+f)===l&&(I=l,r+=f),I}}function a(l){return()=>{const f=e.slice(r).match(l);return f===null?null:(r+=f[0].length,f[0])}}const F=a(/^\s+/),k=i("|"),p=i(":"),S=i("\\"),Q=a(/^./),re=i("$"),he=a(/^\d+/),N=i('"'),ee=i("'"),Z=a(t?/^[^{}[\]$<\\]/:/^[^{}$<\\]/),ne=a(t?/^[^{}[\]$\\|]/:/^[^{}$\\|]/),j=a(t?/^[^{}[\]$\s]/:/^[^{}$\s]/);function H(l,f){return()=>{const I=l();return I===null?null:f(I)}}function J(){const l=u(1,K)();return l===null?null:l.join("")}function le(){const l=u(1,pe)();return l===null?null:l.join("")}const de=n([_,j]);function De(){const l=u(1,de)();return l===null?null:l.join("")}function _(){const l=s([S,Q]);return l===null?null:l[1]}const K=n([_,ne]),pe=n([_,Z]);function A(){const l=s([re,he]);return l===null?null:["REPLACE",parseInt(l[1],10)-1]}const se=H(a(/^[ !"$&'()*,./0-9;=?@A-Z^_`a-z~\x80-\xFF+-]+/),function(l){return l.toString()});function C(){const l=s([k,u(0,w)]);if(l===null)return null;const f=l[1];return f.length>1?["CONCAT"].concat(f):f[0]}function Y(){const l=s([se,p,A]);return l===null?null:[l[0],l[2]]}function me(){const l=s([se,p,w]);return l===null?null:[l[0],l[2]]}function Be(){const l=s([se,p]);return l===null?null:[l[0],""]}const ke=n([function(){const l=s([n([Y,me,Be]),u(0,C)]);return l===null?null:l[0].concat(l[1])},function(){const l=s([se,u(0,C)]);return l===null?null:[l[0]].concat(l[1])}]),Ce=i("{{"),Ae=i("}}"),Te=i("[["),Pe=i("]]"),be=i("["),ve=i("]");function Fe(){const l=s([Ce,ke,Ae]);return l===null?null:l[1]}function E(){const l=s([u(1,w),k,u(1,g)]);return l===null?null:[["CONCAT"].concat(l[0]),["CONCAT"].concat(l[2])]}function v(){const l=s([u(1,w)]);return l===null?null:[["CONCAT"].concat(l[0])]}const P=n([E,v]);function q(){let l=null;const f=s([Te,P,Pe]);if(f!==null){const I=f[1];l=["WIKILINK"].concat(I)}return l}function o(){let l=null;const f=s([be,u(1,c),F,u(1,g),ve]);return f!==null&&(l=["EXTLINK",f[1].length===1?f[1][0]:["CONCAT"].concat(f[1]),["CONCAT"].concat(f[3])]),l}const D=a(/^[A-Za-z]+/);function h(l,f,I,G={allowedHtmlElements:["b","bdi","del","i","ins","u","font","big","small","sub","sup","h1","h2","h3","h4","h5","h6","cite","code","em","s","strike","strong","tt","var","div","center","blockquote","ol","ul","dl","table","caption","pre","ruby","rb","rp","rt","rtc","p","span","abbr","dfn","kbd","samp","data","time","mark","li","dt","dd"],allowedHtmlCommonAttributes:["id","class","style","lang","dir","title","aria-describedby","aria-flowto","aria-hidden","aria-label","aria-labelledby","aria-owns","role","about","property","resource","datatype","typeof","itemid","itemprop","itemref","itemscope","itemtype"],allowedHtmlAttributesByElement:{}}){if(l=l.toLowerCase(),f=f.toLowerCase(),l!==f||G.allowedHtmlElements.indexOf(l)===-1)return!1;const V=/[\000-\010\013\016-\037\177]|expression|filter\s*:|accelerator\s*:|-o-link\s*:|-o-link-source\s*:|-o-replace\s*:|url\s*\(|image\s*\(|image-set\s*\(/i;for(let ce=0,Ee=I.length;ce<Ee;ce+=2){const xe=I[ce];if(G.allowedHtmlCommonAttributes.indexOf(xe)===-1&&(G.allowedHtmlAttributesByElement[l]||[]).indexOf(xe)===-1||xe==="style"&&I[ce+1].search(V)!==-1)return!1}return!0}function x(){const l=a(/^[^"]*/),f=s([N,l,N]);return f===null?null:f[1]}function y(){const l=a(/^[^']*/),f=s([ee,l,ee]);return f===null?null:f[1]}function M(){const l=a(/^\s*=\s*/),f=s([F,D,l,n([x,y])]);return f===null?null:[f[1],f[3]]}function R(){const l=u(0,M)();return Array.prototype.concat.apply(["HTMLATTRIBUTES"],l)}function m(){let l=null;const f=r,I=i("<"),G=a(/^\/?/),V=a(/^\s*>/),ce=s([I,D,R,G,V]);if(ce===null)return null;const Ee=r,xe=ce[1],nt=u(0,g)(),ha=r,pa=i("</"),Tt=s([pa,D,V]);if(Tt===null)return["CONCAT",e.slice(f,Ee)].concat(nt);const ga=r,ma=Tt[1],Pt=ce[2],ba=Pt.slice(1);if(h(xe,ma,ba))l=["HTMLELEMENT",xe,Pt].concat(nt);else{const It=Ca=>Ca.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");l=["CONCAT",It(e.slice(f,Ee))].concat(nt,It(e.slice(ha,ga)))}return l}const c=n([Fe,A,q,o,De]),g=n([Fe,A,q,o,m,le]),w=n([Fe,A,J]);function ae(){const l=u(0,g)();return l===null?null:["CONCAT"].concat(l)}const ue=ae();if(ue===null||r!==e.length)throw new Error("Parse error at position "+r.toString()+" in input: "+e);return ue}class vt{constructor(t,{wikilinks:r=!1}={}){this.locale=ye(t),this.wikilinks=r,this.emitter=new At(this.locale)}parse(t,r){if(t.includes("{{")||t.includes("<")||this.wikilinks&&t.includes("[")){const n=Ci(t,{wikilinks:this.wikilinks});return this.emitter.emit(n,r)}else return this.simpleParse(t,r)}simpleParse(t,r){return t.replace(/\$(\d+)/g,(n,s)=>{const u=parseInt(s,10)-1;return r[u]!==void 0?r[u]:"$"+s})}}class Ai{constructor(){this.sourceMap=new Map}load(t,r){if(typeof t!="object")throw new Error("Invalid message source. Must be an object");if(r=ye(r),r){if(!/^[a-zA-Z0-9-]+$/.test(r))throw new Error(`Invalid locale ${r}`);for(const n in t)if(n.indexOf("@")!==0){if(typeof t[n]=="object")return this.load(t);if(typeof t[n]!="string")throw new Error(`Invalid message for message ${n} in ${r} locale.`);break}this.sourceMap.has(r)?this.sourceMap.set(r,Object.assign(this.sourceMap.get(r),t)):this.sourceMap.set(r,t)}else for(r in t)this.load(t[r],r)}getMessage(t,r){const n=this.sourceMap.get(ye(r));return n?n[t]:null}hasLocale(t){return this.sourceMap.has(t)}}class vi{constructor(t,{finalFallback:r="en",messages:n=void 0,wikilinks:s=!1}={}){this.locale=ye(t),this.parser=new vt(this.locale,{wikilinks:s}),this.messageStore=new Ai,n&&this.load(n,this.locale),this.finalFallback=r,this.wikilinks=s}load(t,r){return this.messageStore.load(t,r||this.locale)}i18n(t,...r){return this.parser.parse(this.getMessage(t),r)}setLocale(t){this.locale=ye(t),this.parser=new vt(this.locale,{wikilinks:this.wikilinks})}getFallbackLocales(){return[...bt[this.locale]||[],this.finalFallback]}getMessage(t){let r=this.locale,n=0;const s=this.getFallbackLocales(this.locale);for(;r;){const u=r.split("-");let i=u.length;do{const a=u.slice(0,i).join("-"),F=this.messageStore.getMessage(t,a);if(typeof F=="string")return F;i--}while(i);r=s[n],n++}return t}registerParserPlugin(t,r){At.prototype[t]=r}}const Ft={"@metadata":{authors:["Mason Payne"],"last-updated":"2024-01-08",locale:"en"},"sa-login":"Login","sa-username":"Username","sa-password":"Password","sa-use-password":"Use Password","sa-code":"Code","sa-signup":"Sign up","sa-signup-complete":"Sign up complete","sa-back":"Back","sa-error-creating-user":"Error creating user.","sa-remember":"Remember me","sa-forgot":"Forgot your password?","sa-register":"Register","sa-error.login":"Invalid username or password","sa-error.register":"Invalid username or password","sa-error.unknown":"Unknown error","sa-account-settings":"Account Settings","sa-webauthn-security-keys":"Your passkeys","sa-add-security-key":"Add passkey","webauthn-not-enrolled":"WebAuthn not enrolled","sa-webauthn-key-name":"Key Name","sa-cancel":"Cancel","sa-no-security-keys":"No passkeys","sa-webauthn-key-actions":"Actions","sa-remove":"Remove","not-authenticated":"Not authenticated","error-otp-registration":"Error registering OTP","sa-confirm-delete-key":"Are you sure you want to delete this key?","sa-add-mfa":"Manage MFA","sa-add-email":"Add Email","sa-email":"Email","sa-phone":"Phone","sa-add-sms":"Add SMS","sa-mfa":"MFA Registrations","error-otp-list":"Error listing OTPs","sa-type":"Type","sa-mfa-destination":"Destination","sa-mfa-validated":"Validated","sa-validate":"Validate","sa-mfa-action":"Action","sa-no":"No","sa-yes":"Yes","error-otp-remove":"Error removing MFA Registration","error-webauthn-remove":"Error removing WebAuthn Registration","sa-register-mfa":"Register MFA","sa-otp-required":"A one-time code is required.","sa-otp-choose":"Choose how to receive your code:","sa-otp-no-registrations":"No MFA methods registered.","sa-otp-send-code":"Send Code","sa-otp-verify":"Verify Code","sa-unknown-challenge":"Unknown challenge type.","sa-invite-otp":"Verification Code","sa-invite-otp-hint":"Enter the code from your invite email","sa-invite-password":"Choose a Password","sa-invite-password-hint":"Create a secure password for your account","sa-invite-submit":"Complete Registration","sa-invite-success":"Registration complete! Redirecting to login...","sa-invite-error-otp":"Invalid or expired verification code","sa-invite-error-expired":"This invite has expired. Please contact your administrator.","sa-invite-error-generic":"Unable to complete registration. Please try again.","sa-invite-completing":"Completing registration...","sa-forgot-password":"Forgot your password?","sa-reset-password":"Reset Password","sa-reset-email-sent":"If an account exists with that email, a reset code has been sent.","sa-new-password":"New Password","sa-reset-code":"Reset Code","sa-reset-submit":"Reset Password","sa-reset-success":"Password reset successfully! You can now log in.","sa-reset-error":"Unable to reset password. Please try again.","sa-reset-error-code":"Invalid or expired reset code","sa-or":"Or","sa-social-google":"Continue with Google","sa-social-github":"Continue with GitHub","sa-social-apple":"Continue with Apple","sa-social-oidc":"Continue with SSO","sa-social-error":"Error starting social login"},Fi={en:Ft,fr:{"@metadata":{authors:["Mason Payne"],"last-updated":"2022-05-28",locale:"fr"},"sa-login":"Connexion","sa-username":"Nom d'utilisateur","sa-password":"Mot de passe","sa-use-password":"Utiliser le mot de passe","sa-code":"code à deux facteurs","sa-remember":"Souviens-toi de moi","sa-forgot":"Mot de passe oublié?","sa-register":"S'inscrire","sa-error.login":"Nom d'utilisateur ou mot de passe invalide","sa-error.register":"Nom d'utilisateur ou mot de passe invalide","sa-error.unknown":"Erreur inconnue","sa-otp-required":"Un code à usage unique est requis.","sa-otp-choose":"Choisissez comment recevoir votre code :","sa-otp-no-registrations":"Aucune méthode MFA enregistrée.","sa-otp-send-code":"Envoyer le code","sa-otp-verify":"Vérifier le code","sa-unknown-challenge":"Type de défi inconnu.","sa-complete-invite":"Complétez votre invitation","sa-invite-otp":"Code de vérification","sa-invite-otp-hint":"Entrez le code de votre email d'invitation","sa-invite-password":"Choisissez un mot de passe","sa-invite-password-hint":"Créez un mot de passe sécurisé pour votre compte","sa-invite-submit":"Terminer l'inscription","sa-invite-success":"Inscription terminée ! Redirection vers la connexion...","sa-invite-error-otp":"Code de vérification invalide ou expiré","sa-invite-error-expired":"Cette invitation a expiré. Veuillez contacter votre administrateur.","sa-invite-error-generic":"Impossible de terminer l'inscription. Veuillez réessayer.","sa-invite-completing":"Finalisation de l'inscription...","sa-forgot-password":"Mot de passe oublié ?","sa-reset-password":"Réinitialiser le mot de passe","sa-reset-email-sent":"Si un compte existe avec cet e-mail, un code de réinitialisation a été envoyé.","sa-new-password":"Nouveau mot de passe","sa-reset-code":"Code de réinitialisation","sa-reset-submit":"Réinitialiser le mot de passe","sa-reset-success":"Mot de passe réinitialisé avec succès ! Vous pouvez maintenant vous connecter.","sa-reset-error":"Impossible de réinitialiser le mot de passe. Veuillez réessayer.","sa-reset-error-code":"Code de réinitialisation invalide ou expiré","sa-or":"Ou","sa-social-google":"Continuer avec Google","sa-social-github":"Continuer avec GitHub","sa-social-apple":"Continuer avec Apple","sa-social-oidc":"Continuer avec SSO","sa-social-error":"Erreur lors de la connexion sociale"},es:{"@metadata":{authors:["Mason Payne"],"last-updated":"2022-05-28",locale:"es"},"sa-login":"Acceso","sa-username":"Nombre de usuario","sa-password":"Clave","sa-use-password":"Usar contraseña","sa-code":"Código","sa-remember":"Acuérdate de mí","sa-forgot":"¿Olvidaste tu contraseña?","sa-register":"Registro","sa-error.login":"Usuario o contraseña invalido","sa-error.register":"Usuario o contraseña invalido","sa-error.unknown":"Error desconocido","sa-otp-required":"Se requiere un código de un solo uso.","sa-otp-choose":"Elige cómo recibir tu código:","sa-otp-no-registrations":"No hay métodos MFA registrados.","sa-unknown-challenge":"Tipo de desafío desconocido.","sa-complete-invite":"Completa tu invitación","sa-invite-otp":"Código de verificación","sa-invite-otp-hint":"Ingresa el código de tu correo de invitación","sa-invite-password":"Elige una contraseña","sa-invite-password-hint":"Crea una contraseña segura para tu cuenta","sa-invite-submit":"Completar registro","sa-invite-success":"¡Registro completo! Redirigiendo al inicio de sesión...","sa-invite-error-otp":"Código de verificación inválido o expirado","sa-invite-error-expired":"Esta invitación ha expirado. Por favor contacta a tu administrador.","sa-invite-error-generic":"No se pudo completar el registro. Por favor intenta de nuevo.","sa-invite-completing":"Completando registro...","sa-forgot-password":"¿Olvidaste tu contraseña?","sa-reset-password":"Restablecer contraseña","sa-reset-email-sent":"Si existe una cuenta con ese correo, se ha enviado un código de restablecimiento.","sa-new-password":"Nueva contraseña","sa-reset-code":"Código de restablecimiento","sa-reset-submit":"Restablecer contraseña","sa-reset-success":"¡Contraseña restablecida con éxito! Ya puedes iniciar sesión.","sa-reset-error":"No se pudo restablecer la contraseña. Por favor intenta de nuevo.","sa-reset-error-code":"Código de restablecimiento inválido o expirado","sa-or":"O","sa-social-google":"Continuar con Google","sa-social-github":"Continuar con GitHub","sa-social-apple":"Continuar con Apple","sa-social-oidc":"Continuar con SSO","sa-social-error":"Error al iniciar sesión social"},ja:{"@metadata":{authors:["Mason Payne"],"last-updated":"2022-05-28",locale:"ja"},"sa-login":"ログイン","sa-username":"ユーザー名","sa-password":"パスワード","sa-use-password":"パスワードを使用する","sa-code":"コード","sa-remember":"私を覚えてますか","sa-forgot":"パスワードをお忘れですか?","sa-register":"登録","sa-error.login":"ユーザー名かパスワードが無効","sa-error.register":"ユーザー名かパスワードが無効","sa-error.unknown":"未知のエラー","sa-otp-required":"ワンタイムコードが必要です。","sa-otp-choose":"コードの受け取り方法を選択してください:","sa-otp-no-registrations":"MFA方法が登録されていません。","sa-otp-send-code":"コードを送信","sa-otp-verify":"コードを確認","sa-unknown-challenge":"不明なチャレンジタイプです。","sa-complete-invite":"招待を完了する","sa-invite-otp":"確認コード","sa-invite-otp-hint":"招待メールのコードを入力してください","sa-invite-password":"パスワードを選択","sa-invite-password-hint":"アカウント用の安全なパスワードを作成してください","sa-invite-submit":"登録を完了","sa-invite-success":"登録完了!ログインページへリダイレクト中...","sa-invite-error-otp":"無効または期限切れの確認コード","sa-invite-error-expired":"この招待は期限切れです。管理者にお問い合わせください。","sa-invite-error-generic":"登録を完了できませんでした。もう一度お試しください。","sa-invite-completing":"登録を完了しています...","sa-forgot-password":"パスワードをお忘れですか?","sa-reset-password":"パスワードをリセット","sa-reset-email-sent":"そのメールアドレスのアカウントが存在する場合、リセットコードが送信されました。","sa-new-password":"新しいパスワード","sa-reset-code":"リセットコード","sa-reset-submit":"パスワードをリセット","sa-reset-success":"パスワードが正常にリセットされました!ログインできます。","sa-reset-error":"パスワードをリセットできませんでした。もう一度お試しください。","sa-reset-error-code":"無効または期限切れのリセットコード","sa-or":"または","sa-social-google":"Googleで続ける","sa-social-github":"GitHubで続ける","sa-social-apple":"Appleで続ける","sa-social-oidc":"SSOで続ける","sa-social-error":"ソーシャルログイン開始エラー"}};function Xe(e){const t=new vi("en",{messages:Ft});return e!=="en"&&(t.load(Fi[e],e),t.setLocale(e)),t}function Et(e){const t="==".slice(0,(4-e.length%4)%4),r=e.replace(/-/g,"+").replace(/_/g,"/")+t,n=atob(r),s=new ArrayBuffer(n.length),u=new Uint8Array(s);for(let i=0;i<n.length;i++)u[i]=n.charCodeAt(i);return s}function wt(e){const t=new Uint8Array(e);let r="";for(const u of t)r+=String.fromCharCode(u);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var T="copy",ie="convert";function $e(e,t,r){if(t===T)return r;if(t===ie)return e(r);if(t instanceof Array)return r.map(n=>$e(e,t[0],n));if(t instanceof Object){const n={};for(const[s,u]of Object.entries(t)){if(u.derive){const i=u.derive(r);i!==void 0&&(r[s]=i)}if(!(s in r)){if(u.required)throw new Error(`Missing key: ${s}`);continue}if(r[s]==null){n[s]=null;continue}n[s]=$e(e,u.schema,r[s])}return n}}function Qe(e,t){return{required:!0,schema:e,derive:t}}function z(e){return{required:!0,schema:e}}function L(e){return{required:!1,schema:e}}var yt={type:z(T),id:z(ie),transports:L(T)},$t={appid:L(T),appidExclude:L(T),credProps:L(T)},Bt={appid:L(T),appidExclude:L(T),credProps:L(T)},Ei={publicKey:z({rp:z(T),user:z({id:z(ie),name:z(T),displayName:z(T)}),challenge:z(ie),pubKeyCredParams:z(T),timeout:L(T),excludeCredentials:L([yt]),authenticatorSelection:L(T),attestation:L(T),extensions:L($t)}),signal:L(T)},wi={type:z(T),id:z(T),rawId:z(ie),authenticatorAttachment:L(T),response:z({clientDataJSON:z(ie),attestationObject:z(ie),transports:Qe(T,e=>{var t;return((t=e.getTransports)==null?void 0:t.call(e))||[]})}),clientExtensionResults:Qe(Bt,e=>e.getClientExtensionResults())},yi={mediation:L(T),publicKey:z({challenge:z(ie),timeout:L(T),rpId:L(T),allowCredentials:L([yt]),userVerification:L(T),extensions:L($t)}),signal:L(T)},$i={type:z(T),id:z(T),rawId:z(ie),authenticatorAttachment:L(T),response:z({clientDataJSON:z(ie),authenticatorData:z(ie),signature:z(ie),userHandle:z(ie)}),clientExtensionResults:Qe(Bt,e=>e.getClientExtensionResults())};function Bi(e){return $e(Et,Ei,e)}function ki(e){return $e(wt,wi,e)}function xi(e){return $e(Et,yi,e)}function _i(e){return $e(wt,$i,e)}async function Si(e){const t=await navigator.credentials.create(e);return t.toJSON=()=>ki(t),t}async function Oi(e){const t=await navigator.credentials.get(e);return t.toJSON=()=>_i(t),t}function et(e){this.message=e}et.prototype=new Error,et.prototype.name="InvalidCharacterError";var kt=typeof window<"u"&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new et("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,n,s=0,u=0,i="";n=t.charAt(u++);~n&&(r=s%4?64*r+n:n,s++%4)?i+=String.fromCharCode(255&r>>(-2*s&6)):0)n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(n);return i};function Ti(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return function(r){return decodeURIComponent(kt(r).replace(/(.)/g,function(n,s){var u=s.charCodeAt(0).toString(16).toUpperCase();return u.length<2&&(u="0"+u),"%"+u}))}(t)}catch{return kt(t)}}function qe(e){this.message=e}function Pi(e,t){if(typeof e!="string")throw new qe("Invalid token specified");var r=(t=t||{}).header===!0?0:1;try{return JSON.parse(Ti(e.split(".")[r]))}catch(n){throw new qe("Invalid token specified: "+n.message)}}qe.prototype=new Error,qe.prototype.name="InvalidTokenError";const Ue="spartan-token";function xt(){const e=localStorage.getItem(Ue);let t=null;if(e)try{if(t=Pi(e),t.exp>zi())return t;localStorage.removeItem(Ue)}catch(r){console.error("Error decoding token",r),localStorage.removeItem(Ue)}return null}function Ii(){const e=localStorage.getItem(Ue);return e||null}function zi(){return Math.round(new Date().getTime()/1e3)}var Ni=B(`<form class=login-frame><style>.login-frame {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
justify-content: center;
|
|
@@ -63,7 +63,48 @@
|
|
|
63
63
|
.centered-text {
|
|
64
64
|
text-align: center;
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
|
|
67
|
+
.social-divider {
|
|
68
|
+
display: flex;
|
|
69
|
+
align-items: center;
|
|
70
|
+
margin: 20px 0 4px 0;
|
|
71
|
+
color: #888;
|
|
72
|
+
font-size: 0.85em;
|
|
73
|
+
}
|
|
74
|
+
.social-divider::before, .social-divider::after {
|
|
75
|
+
content: '';
|
|
76
|
+
flex: 1;
|
|
77
|
+
border-bottom: 1px solid #ccc;
|
|
78
|
+
}
|
|
79
|
+
.social-divider span {
|
|
80
|
+
margin: 0 10px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.social-btn {
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
gap: 10px;
|
|
88
|
+
margin: 8px 0 0 0;
|
|
89
|
+
padding: 10px;
|
|
90
|
+
width: 100%;
|
|
91
|
+
border: 1px solid #ccc;
|
|
92
|
+
border-radius: 10px;
|
|
93
|
+
background: #fff;
|
|
94
|
+
cursor: pointer;
|
|
95
|
+
font-size: inherit;
|
|
96
|
+
font-family: inherit;
|
|
97
|
+
box-sizing: border-box;
|
|
98
|
+
color: #333;
|
|
99
|
+
}
|
|
100
|
+
.social-btn:hover:not(:disabled) {
|
|
101
|
+
background-color: #f5f5f5;
|
|
102
|
+
}
|
|
103
|
+
.social-btn:disabled {
|
|
104
|
+
opacity: 0.6;
|
|
105
|
+
cursor: not-allowed;
|
|
106
|
+
}
|
|
107
|
+
</style><style></style><h1></h1><input type=text><button type=submit>`),Mi=B("<span class=error-message>"),tt=B("<span>"),_t=B("<input type=password>"),ji=B("<p>"),Ri=B("<select>"),Li=B("<option> (<!>)"),qi=B("<input type=text>"),Ui=B("<input type=text autocomplete=one-time-code>"),Ji=B("<input type=password autocomplete=new-password>"),Ki=B("<span class=checkbox-wrapper><input type=checkbox><span> "),rt=B("<a class=centered-text href=#>"),Gi=B("<div class=social-divider><span>"),Vi=B("<button type=button class=social-btn>"),Hi=B('<svg width=18 height=18 viewBox="0 0 18 18"xmlns=http://www.w3.org/2000/svg><path d="M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844c-.209 1.125-.843 2.078-1.796 2.717v2.258h2.908c1.702-1.567 2.684-3.875 2.684-6.615z"fill=#4285F4></path><path d="M9 18c2.43 0 4.467-.806 5.956-2.184l-2.908-2.258c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332C2.438 15.983 5.482 18 9 18z"fill=#34A853></path><path d="M3.964 10.707c-.18-.54-.282-1.117-.282-1.707s.102-1.167.282-1.707V4.961H.957C.347 6.175 0 7.548 0 9s.348 2.825.957 4.039l3.007-2.332z"fill=#FBBC05></path><path d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0 5.482 0 2.438 2.017.957 4.961L3.964 7.293C4.672 5.166 6.656 3.58 9 3.58z"fill=#EA4335>'),Wi=B('<svg width=18 height=18 viewBox="0 0 16 16"xmlns=http://www.w3.org/2000/svg><path fill-rule=evenodd d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"fill=currentColor>'),Zi=B('<svg width=18 height=18 viewBox="20 16 16 19"xmlns=http://www.w3.org/2000/svg><path d="M28.2226562,20.3846154 C29.0546875,20.3846154 30.0976562,19.8048315 30.71875,19.0317864 C31.28125,18.3312142 31.6914062,17.352829 31.6914062,16.3744437 C31.6914062,16.2415766 31.6796875,16.1087095 31.65625,16 C30.7304687,16.0362365 29.6171875,16.640178 28.9492187,17.4494596 C28.421875,18.06548 27.9414062,19.0317864 27.9414062,20.0222505 C27.9414062,20.1671964 27.9648438,20.3121424 27.9765625,20.3604577 C28.0351562,20.3725366 28.1289062,20.3846154 28.2226562,20.3846154 Z M25.2929688,35 C26.4296875,35 26.9335938,34.214876 28.3515625,34.214876 C29.7929688,34.214876 30.109375,34.9758423 31.375,34.9758423 C32.6171875,34.9758423 33.4492188,33.792117 34.234375,32.6325493 C35.1132812,31.3038779 35.4765625,29.9993643 35.5,29.9389701 C35.4179688,29.9148125 33.0390625,28.9122695 33.0390625,26.0979021 C33.0390625,23.6579784 34.9140625,22.5588048 35.0195312,22.474253 C33.7773438,20.6382708 31.890625,20.5899555 31.375,20.5899555 C29.9804688,20.5899555 28.84375,21.4596313 28.1289062,21.4596313 C27.3554688,21.4596313 26.3359375,20.6382708 25.1289062,20.6382708 C22.8320312,20.6382708 20.5,22.5950413 20.5,26.2911634 C20.5,28.5861411 21.3671875,31.013986 22.4335938,32.5842339 C23.3476562,33.9129053 24.1445312,35 25.2929688,35 Z"fill=currentColor fill-rule=nonzero>'),Yi=B('<svg width=18 height=18 viewBox="0 0 24 24"xmlns=http://www.w3.org/2000/svg><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 4a3 3 0 110 6 3 3 0 010-6zm0 14c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08s5.97 1.09 6 3.08c-1.29 1.94-3.5 3.22-6 3.22z"fill=currentColor>');Ye("spartan-login",{domain:"http://127.0.0.1:11000",sector:"0ad5c3e5-0186-4557-8b32-4b36f247bf09",startMode:"password",styles:"",locale:"en",redirect:""},e=>{const[t,r]=$((e.startMode||"password").toLowerCase()),[n,s]=$(""),[u,i]=$(""),[a,F]=$(""),[k,p]=$(""),[S]=$(e.redirect),[Q,re]=$(!1),[he,N]=$(!1),[ee,Z]=$(!1),[ne,j]=$(""),[H,J]=$(""),[le,de]=$([]),[De,_]=$(""),[K,pe]=$([]),[A,se]=$(""),C=Xe(e.locale);let Y,me;try{me=e.styles}catch{me=""}console.log(me),Ge(async()=>{const o=new URLSearchParams(window.location.search);if(o.get("error")){history.replaceState({},"",window.location.pathname);const y=o.get("error_description");p(y||C.i18n("sa-social-error")),Be(),ke();return}const h=o.get("code");if(h){history.replaceState({},"",window.location.pathname);try{const y=await fetch(`${e.domain}/api/v1/oauth/exchange`,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:h})});if(!y.ok)throw new Error(C.i18n("sa-social-error"));const M=await y.json();localStorage.setItem("spartan-token",M.token),Y.getRootNode().host.dispatchEvent(new CustomEvent("spartan-login",{bubbles:!0,cancelable:!0,detail:{token:M.token}})),e.redirect!==""&&(window.location.href=e.redirect)}catch(y){p(y.message||C.i18n("sa-social-error"))}return}if(xt()&&e.redirect!==""&&window.location.pathname!==e.redirect){window.location.href=e.redirect;return}Be(),ke()});function Be(){fetch(`${e.domain}/api/v1/sectors/${e.sector}/publicsettings`,{method:"GET",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"}}).then(o=>{if(o.ok)return o.json();throw new Error("Network response was not ok.")}).then(o=>{console.log(o),re(o.SelfSignUpAllowed)}).catch(o=>{console.log(o),p(o.message)})}function ke(){fetch(`${e.domain}/api/v1/sectors/${e.sector}/oauth/providers`,{method:"GET",mode:"cors",cache:"no-cache"}).then(o=>{if(o.ok)return o.json();throw new Error("Failed to load social providers")}).then(o=>{const D=(o.providers||[]).filter(h=>h.enabled);pe(D)}).catch(()=>{})}function Ce(o){if(A())return;se(o),p("");const D=window.location.origin+window.location.pathname;fetch(`${e.domain}/api/v1/oauth/${o}/initiate`,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({sectorID:e.sector,redirectURI:D})}).then(h=>{if(h.ok)return h.json();throw new Error(C.i18n("sa-social-error"))}).then(h=>{window.location.href=h.authURL}).catch(h=>{se(""),p(h.message)})}function Ae(o){o.preventDefault(),console.log("login"),p(""),t()==="password"?be():t()==="webauthn"?Pe():t()==="otp-pick"?E(De()):t()==="otp"?v():t()==="reset-email"?P():t()==="reset-code"&&q()}function Te(o){o.preventDefault(),console.log("signup"),p(""),N(!1),fetch(`${e.domain}/api/v1/users`,{method:"POST",mode:"cors",cache:"no-cache",body:JSON.stringify({username:n(),password:u(),sectorID:e.sector})}).then(D=>{if(D.ok)return D.json();throw new Error(C.i18n("sa-error-creating-user"))}).then(D=>{console.log(D),N(!0),r(e.startMode)}).catch(D=>{N(!1),p(D.message),console.log(D)})}function Pe(){console.log("webauthnLogin"),fetch(`${e.domain}/api/v1/login/webauthn/begin`,{method:"POST",mode:"cors",cache:"no-cache",body:JSON.stringify({username:n(),sectorID:e.sector})}).then(o=>{if(o.ok)return o.json();throw o.status===401?(r("password"),p(C.i18n("webauthn-not-enrolled")),new Error(C.i18n("webauthn-not-enrolled"))):new Error(`${o.status} ${o.statusText}: Network response was not ok.`)}).then(o=>{console.log(o);const D=xi(o.CredentialAssertion);return console.log("Parsed WebAuthn request options:",D),Oi(D).then(h=>{const x=JSON.stringify(h);let y=JSON.parse(x);return y.transactionID=o.TransactionID,y})}).then(o=>fetch(`${e.domain}/api/v1/login/webauthn/finish`,{method:"POST",mode:"cors",cache:"no-cache",body:JSON.stringify(o)})).then(ve).catch(o=>{p(o.message),console.log(o)})}function be(){console.log("password login"),fetch(e.domain+"/api/v1/login/password",{method:"post",mode:"cors",cache:"no-cache",body:JSON.stringify({username:n(),password:u(),sectorID:e.sector})}).then(ve)}async function ve(o){let D=Promise.resolve(o);return D.then(h=>{if(o.ok)return o.json();throw new Error("Network response was not ok.")}).then(h=>{if(console.log(h),localStorage.setItem("spartan-txid",h.transactionID),!h.token){h.challengeType.indexOf("otp")!==-1?Fe():h.challengeType.indexOf("webauthn")!==-1?(r("webauthn"),p(C.i18n("sa-webauthn-required"))):p(C.i18n("sa-unknown-challenge"));return}localStorage.setItem("spartan-token",h.token);const x=new CustomEvent("spartan-login",{bubbles:!0,cancelable:!0,detail:{token:h.token,transactionID:h.transactionID}});Y.getRootNode().host.dispatchEvent(x),S()!==""&&(window.location.href=S())}).catch(h=>{h.json().then(x=>{console.log(x.message),p(x.message)}).catch(x=>{console.log(x)}),console.log(h)}),D}function Fe(){const o=localStorage.getItem("spartan-txid")||"";fetch(e.domain+`/api/v1/otp/${encodeURIComponent(n())}?transactionID=${encodeURIComponent(o)}§orID=${encodeURIComponent(e.sector)}`,{method:"get",mode:"cors",cache:"no-cache"}).then(D=>{if(D.ok)return D.json();throw new Error(C.i18n("error-otp-list"))}).then(D=>{const h=D.registrations||[];if(h.length===0){p(C.i18n("sa-otp-no-registrations"));return}h.length===1?E(h[0].ID||""):(de(h),_(h[0].ID||""),r("otp-pick"),p(""))}).catch(D=>{p(D.message),console.log(D)})}function E(o){console.log("begin OTP, registrationID:",o),fetch(e.domain+"/api/v1/login/otp/begin",{method:"post",mode:"cors",cache:"no-cache",body:JSON.stringify({username:n(),transactionID:localStorage.getItem("spartan-txid"),registrationID:o,sectorID:e.sector})}).then(D=>{if(D.ok)return D.json();throw new Error(`${D.status} ${D.statusText}`)}).then(D=>{console.log(D),D.transactionID&&localStorage.setItem("spartan-txid",D.transactionID),F(""),p(""),r("otp")}).catch(D=>{p(D.message),console.log(D)})}function v(){console.log("OTP login submit"),fetch(e.domain+"/api/v1/login/otp",{method:"post",mode:"cors",cache:"no-cache",body:JSON.stringify({username:n(),password:a(),transactionID:localStorage.getItem("spartan-txid"),sectorID:e.sector})}).then(ve)}function P(){console.log("begin password reset"),p(""),Z(!1),fetch(`${e.domain}/api/v1/password/reset/begin`,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:n(),sectorID:e.sector})}).then(o=>{if(o.ok)return o.json();throw new Error(C.i18n("sa-reset-error"))}).then(o=>{console.log(o),p(C.i18n("sa-reset-email-sent")),j(""),J(""),r("reset-code")}).catch(o=>{p(o.message),console.log(o)})}function q(){console.log("complete password reset"),p(""),fetch(`${e.domain}/api/v1/password/reset/complete`,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:n(),code:ne().toUpperCase().trim(),newPassword:H(),sectorID:e.sector})}).then(o=>{if(o.ok)return o.json();throw o.status===400?new Error(C.i18n("sa-reset-error-code")):new Error(C.i18n("sa-reset-error"))}).then(o=>{console.log(o),Z(!0),j(""),J(""),i(""),r(e.startMode)}).catch(o=>{p(o.message),console.log(o)})}return(()=>{var o=Ni(),D=o.firstChild,h=D.nextSibling,x=h.nextSibling,y=x.nextSibling,M=y.nextSibling,R=Y;return typeof R=="function"?Dt(R,o):Y=o,o.addEventListener("submit",m=>{t()==="sign-up"?Te(m):Ae(m)}),d(h,me),d(x,(()=>{var m=b(()=>t()==="reset-email"||t()==="reset-code");return()=>m()?C.i18n("sa-reset-password"):C.i18n("sa-login")})()),d(o,k&&(()=>{var m=Mi();return d(m,k),m})(),y),d(o,(()=>{var m=b(()=>!!he());return()=>m()&&(()=>{var c=tt();return d(c,()=>C.i18n("sa-signup-complete")),c})()})(),y),d(o,(()=>{var m=b(()=>!!ee());return()=>m()&&(()=>{var c=tt();return d(c,()=>C.i18n("sa-reset-success")),c})()})(),y),y.$$input=m=>s(m.currentTarget.value),d(o,(()=>{var m=b(()=>t()!=="sign-up");return()=>m()&&[b(()=>b(()=>t()==="password")()&&(()=>{var c=_t();return c.$$input=g=>i(g.currentTarget.value),O(()=>oe(c,"placeholder",C.i18n("sa-password"))),O(()=>c.value=u()),c})()),b(()=>b(()=>t()==="webauthn")()&&tt()),b(()=>b(()=>t()==="otp-pick")()&&[(()=>{var c=ji();return d(c,()=>C.i18n("sa-otp-choose")),c})(),(()=>{var c=Ri();return c.addEventListener("change",g=>_(g.currentTarget.value)),d(c,()=>le().map(g=>(()=>{var w=Li(),ae=w.firstChild,ue=ae.nextSibling;return ue.nextSibling,d(w,()=>g.DisplayName||g.ID,ae),d(w,()=>g.Type,ue),O(()=>w.value=g.ID),w})())),O(()=>c.value=De()),c})()]),b(()=>b(()=>t()==="otp")()&&(()=>{var c=qi();return c.$$input=g=>F(g.currentTarget.value),O(()=>oe(c,"placeholder",C.i18n("sa-code"))),O(()=>c.value=a()),c})()),b(()=>b(()=>t()==="reset-code")()&&[(()=>{var c=Ui();return c.$$input=g=>j(g.currentTarget.value),O(()=>oe(c,"placeholder",C.i18n("sa-reset-code"))),O(()=>c.value=ne()),c})(),(()=>{var c=Ji();return c.$$input=g=>J(g.currentTarget.value),O(()=>oe(c,"placeholder",C.i18n("sa-new-password"))),O(()=>c.value=H()),c})()]),b(()=>b(()=>t()==="password"||t()==="webauthn")()&&(()=>{var c=Ki(),g=c.firstChild,w=g.nextSibling;return w.firstChild,c.$$click=()=>r(t()==="password"?"webauthn":"password"),d(w,()=>C.i18n("sa-use-password"),null),O(()=>g.checked=t()==="password"),c})())]})(),M),d(o,(()=>{var m=b(()=>t()==="sign-up");return()=>m()&&(()=>{var c=_t();return c.$$input=g=>i(g.currentTarget.value),O(()=>oe(c,"placeholder",C.i18n("sa-password"))),O(()=>c.value=u()),c})()})(),M),d(M,(()=>{var m=b(()=>t()==="sign-up");return()=>m()?C.i18n("sa-signup"):b(()=>t()==="otp-pick")()?C.i18n("sa-otp-send-code"):b(()=>t()==="otp")()?C.i18n("sa-otp-verify"):b(()=>t()==="reset-email")()?C.i18n("sa-otp-send-code"):b(()=>t()==="reset-code")()?C.i18n("sa-reset-submit"):C.i18n("sa-login")})()),d(o,(()=>{var m=b(()=>t()==="password");return()=>m()&&(()=>{var c=rt();return c.$$click=()=>{p(""),Z(!1),r("reset-email")},d(c,()=>C.i18n("sa-forgot-password")),c})()})(),null),d(o,(()=>{var m=b(()=>t()==="reset-email"||t()==="reset-code");return()=>m()&&(()=>{var c=rt();return c.$$click=()=>{p(""),j(""),J(""),r(e.startMode)},d(c,()=>C.i18n("sa-back")),c})()})(),null),d(o,(()=>{var m=b(()=>!!(Q()&&t()!=="reset-email"&&t()!=="reset-code"));return()=>m()&&(()=>{var c=rt();return c.$$click=()=>t()==="sign-up"?r(e.startMode):r("sign-up"),d(c,(()=>{var g=b(()=>t()==="sign-up");return()=>g()?C.i18n("sa-back"):C.i18n("sa-signup")})()),c})()})(),null),d(o,(()=>{var m=b(()=>K().length>0&&(t()==="password"||t()==="webauthn"||t()==="sign-up"));return()=>m()&&[(()=>{var c=Gi(),g=c.firstChild;return d(g,()=>C.i18n("sa-or")),c})(),b(()=>K().map(c=>(()=>{var g=Vi();return g.$$click=()=>Ce(c.provider),d(g,(()=>{var w=b(()=>c.provider==="google");return()=>w()&&Hi()})(),null),d(g,(()=>{var w=b(()=>c.provider==="github");return()=>w()&&Wi()})(),null),d(g,(()=>{var w=b(()=>c.provider==="apple");return()=>w()&&Zi()})(),null),d(g,(()=>{var w=b(()=>c.provider==="oidc");return()=>w()&&Yi()})(),null),d(g,(()=>{var w=b(()=>c.provider==="google");return()=>w()?C.i18n("sa-social-google"):b(()=>c.provider==="github")()?C.i18n("sa-social-github"):b(()=>c.provider==="apple")()?C.i18n("sa-social-apple"):C.i18n("sa-social-oidc")})(),null),O(()=>g.disabled=!!A()),g})()))]})(),null),O(m=>{var c=C.i18n("sa-username"),g=t()==="otp"||t()==="otp-pick"||t()==="reset-code";return c!==m.e&&oe(y,"placeholder",m.e=c),g!==m.t&&(y.disabled=m.t=g),m},{e:void 0,t:void 0}),O(()=>y.value=n()),o})()}),He(["input","click"]);var Xi=B(`<div class=container><style>.container {
|
|
67
108
|
background-color: #ffffff;
|
|
68
109
|
border-radius: 10px;
|
|
69
110
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
@@ -236,7 +277,7 @@
|
|
|
236
277
|
.modal-content .btn.verify:hover {
|
|
237
278
|
background-color: #0056b3;
|
|
238
279
|
}
|
|
239
|
-
</style><style></style><h1 class=header>`),St=
|
|
280
|
+
</style><style></style><h1 class=header>`),St=B("<span class=error-message>"),Qi=B("<div class=section><h2></h2><div class=security-keys>"),ea=B('<div class=key-item><span></span><button class="btn remove">'),Ot=B("<span>"),ta=B("<div class=section><div class=security-keys>"),ra=B('<button class="btn add">+ '),na=B('<div class=add-key-form><div class=add-key-item><label for=keyName style=display:none;></label><input id=keyName type=text><button class="btn remove"></button><button class="btn add">'),sa=B("<div class=section><h2></h2><table><thead><tr><th></th><th></th><th></th></tr></thead><tbody>"),ua=B('<tr class=mfa-list-item><td></td><td></td><td><button class="btn remove">'),ia=B('<span> <button class="btn validate">'),aa=B('<div class=section><div class=mfa-manage><button class="btn add">+ '),oa=B('<div class=section><h2></h2><div class=mfa-manage><div class=mfa-item><label for=email></label><input id=email type=text><button class="btn add"></button></div><div class=mfa-item><label for=phone></label><input id=phone type=text><button class="btn add"></button></div><div class=mfa-item><button class="btn remove">'),la=B('<div class=modal id=mfaModal><div class=modal-content><span class=close id=closeModal>×</span><h2>MFA Verification</h2><p>Please enter the verification code sent to your email or phone:</p><input type=text id=mfaCode placeholder="Enter verification code"><button class="btn verify"id=verifyMfa>Verify');Ye("spartan-account-settings",{domain:"http://127.0.0.1:11000",sector:"0ad5c3e5-0186-4557-8b32-4b36f247bf09",styles:"",locale:"en",showWebAuthn:!0,redirect:"/",redirectOnUnauthenticated:!0},e=>{$(""),$("");const[t,r]=$(""),[n,s]=$(""),[u,i]=$(""),[a]=$(e.showWebAuthn),[F,k]=$(!1),[p,S]=$(!1),[Q,re]=$(!1),[he,N]=$(!1),[ee,Z]=$([]),[ne,j]=$([]),[H,J]=$(""),[le,de]=$(""),[De,_]=$(""),[K,pe]=$(""),A=Xe(e.locale);let se;try{se=e.styles}catch{se=""}Ge(async()=>{if(xt())S(!0),s("");else{if(e.redirectOnUnauthenticated){window.location.href=e.redirect;return}S(!1),s(A.i18n("not-authenticated"))}C().then(v=>{console.log(v)}),await Ce(),be().then(v=>{j(v.registrations)})});async function C(){return await(await fetch(`${e.domain}/api/v1/users/self`,Y("get"))).json()}function Y(E="get"){return{method:E,mode:"cors",cache:"no-cache",headers:{"Content-Type":"application",Authorization:`bearer ${Ii()}`}}}function me(){let E=Y("post");E.body=JSON.stringify({keyName:t(),sectorID:e.sector}),fetch(`${e.domain}/api/v1/webauthn/registration/begin`,E).then(v=>{if(v.status===200)return v.json();throw v}).then(v=>(console.log(v),Be(v))).catch(v=>{v.json?v.json().then(P=>{s(P.message)}):s(v)})}async function Be(E){try{const v=Bi(E.Options);console.log("Parsed WebAuthn creation options:",v);const P=await Si(v),q=JSON.stringify(P);let o=JSON.parse(q);o.transactionID=E.TransactionID;let D=Y("post");D.body=JSON.stringify(o);const h=await fetch(`${e.domain}/api/v1/webauthn/registration/finish`,D);if(h.status!==200){const x=await h.json();s(x.message);return}k(!1),r(""),Ce()}catch(v){console.error("WebAuthn registration error:",v),s((v==null?void 0:v.message)||String(v))}}async function ke(E){let v=Y("delete");v.body=JSON.stringify({ID:E});try{if((await fetch(`${e.domain}/api/v1/webauthn/${E}`,v)).status!==200){s(A.i18n("error-webauthn-remove"));return}Ce()}catch(P){console.error(P),s(A.i18n("error-webauthn-remove"));return}}async function Ce(){let E=Y("get");try{const P=await(await fetch(`${e.domain}/api/v1/webauthn/registration/list`,E)).json();Z(P.registrations||[])}catch(v){console.error(v),Z([])}}async function Ae(E,v){const P=await Te(E,v);P&&(be().then(q=>{j(q.registrations)}),J(P.transactionID),N(!0))}async function Te(E,v){let P=Y("post");P.body=JSON.stringify({destination:E,OTPType:Fe(v),sectorID:e.sector});try{const q=await fetch(`${e.domain}/api/v1/otp/begin`,P);if(q.status!==200){s(A.i18n("error-otp-verification"));return}return await q.json()}catch(q){console.error(q),s(A.i18n("error-otp-registration"));return}}async function Pe(E,v){let P=Y("post");P.body=JSON.stringify({transactionID:E,password:v});try{const q=await fetch(`${e.domain}/api/v1/otp/finish`,P);if(q.status!==200){i(A.i18n("error-otp-verification"));return}return N(!1),de(""),re(!1),pe(""),_(""),be().then(o=>{j(o.registrations)}),await q.json()}catch(q){console.error(q),i(A.i18n("error-otp-registration"));return}}async function be(){let E=Y("get");try{return await(await fetch(`${e.domain}/api/v1/otp/list`,E)).json()}catch(v){console.error(v),s(A.i18n("error-otp-list"));return}}async function ve(E){let v=Y("delete");v.body=JSON.stringify({ID:E});try{if((await fetch(`${e.domain}/api/v1/otp/${E}`,v)).status!==200){s(A.i18n("error-otp-remove"));return}be().then(q=>{j(q.registrations)})}catch(P){console.error(P),s(A.i18n("error-otp-remove"));return}}function Fe(E){return E==="EMAIL"?2:1}return(()=>{var E=Xi(),v=E.firstChild,P=v.nextSibling,q=P.nextSibling;return d(P,se),d(q,()=>A.i18n("sa-account-settings")),d(E,n&&(()=>{var o=St();return d(o,n),o})(),null),d(E,(()=>{var o=b(()=>!!(a()&&ee().length));return()=>o()&&(()=>{var D=Qi(),h=D.firstChild,x=h.nextSibling;return d(h,()=>A.i18n("sa-webauthn-security-keys")),d(x,()=>ee().map(y=>(()=>{var M=ea(),R=M.firstChild,m=R.nextSibling;return d(R,()=>y.keyName),m.$$click=()=>{confirm(A.i18n("sa-confirm-delete-key"))&&ke(y.keyName)},d(m,()=>A.i18n("sa-remove")),M})()),null),d(x,(()=>{var y=b(()=>ee().length<=0);return()=>y()&&(()=>{var M=Ot();return d(M,()=>A.i18n("sa-no-security-keys")),M})()})(),null),D})()})(),null),d(E,(()=>{var o=b(()=>!!a());return()=>o()&&(()=>{var D=ta(),h=D.firstChild;return d(h,(()=>{var x=b(()=>!F());return()=>x()&&(()=>{var y=ra();return y.firstChild,y.$$click=()=>k(!0),d(y,()=>A.i18n("sa-add-security-key"),null),y})()})(),null),d(h,(()=>{var x=b(()=>!!F());return()=>x()&&(()=>{var y=na(),M=y.firstChild,R=M.firstChild,m=R.nextSibling,c=m.nextSibling,g=c.nextSibling;return d(R,()=>A.i18n("sa-webauthn-key-name")),m.$$input=w=>r(w.currentTarget.value),c.$$click=()=>k(!1),d(c,()=>A.i18n("sa-cancel")),g.$$click=()=>t()!==""&&me(),d(g,()=>A.i18n("sa-register")),O(w=>{var ae=A.i18n("sa-webauthn-key-name"),ue=t()==="";return ae!==w.e&&oe(m,"placeholder",w.e=ae),ue!==w.t&&(g.disabled=w.t=ue),w},{e:void 0,t:void 0}),O(()=>m.value=t()),y})()})(),null),D})()})(),null),d(E,(()=>{var o=b(()=>ne().length>0);return()=>o()&&(()=>{var D=sa(),h=D.firstChild,x=h.nextSibling,y=x.firstChild,M=y.firstChild,R=M.firstChild,m=R.nextSibling,c=m.nextSibling,g=y.nextSibling;return d(h,()=>A.i18n("sa-mfa")),d(R,()=>A.i18n("sa-mfa-destination")),d(m,()=>A.i18n("sa-mfa-validated")),d(c,()=>A.i18n("sa-mfa-action")),d(g,()=>ne().map(w=>(()=>{var ae=ua(),ue=ae.firstChild,l=ue.nextSibling,f=l.nextSibling,I=f.firstChild;return d(ue,()=>w.DisplayName),d(l,(()=>{var G=b(()=>!!w.Validated);return()=>G()?(()=>{var V=Ot();return d(V,()=>A.i18n("sa-yes")),V})():(()=>{var V=ia(),ce=V.firstChild,Ee=ce.nextSibling;return d(V,()=>A.i18n("sa-no"),ce),Ee.$$click=()=>{Ae(w.DisplayName,w.Type==="email"?"EMAIL":"SMS")},d(Ee,()=>A.i18n("sa-validate")),V})()})()),I.$$click=()=>{confirm(A.i18n("sa-confirm-delete-key"))&&ve(w.ID)},d(I,()=>A.i18n("sa-remove")),O(()=>oe(ue,"title",w.DisplayName)),ae})())),D})()})(),null),d(E,(()=>{var o=b(()=>!Q());return()=>o()&&(()=>{var D=aa(),h=D.firstChild,x=h.firstChild;return x.firstChild,x.$$click=()=>re(!0),d(x,()=>A.i18n("sa-register-mfa"),null),D})()})(),null),d(E,(()=>{var o=b(()=>!!Q());return()=>o()&&(()=>{var D=oa(),h=D.firstChild,x=h.nextSibling,y=x.firstChild,M=y.firstChild,R=M.nextSibling,m=R.nextSibling,c=y.nextSibling,g=c.firstChild,w=g.nextSibling,ae=w.nextSibling,ue=c.nextSibling,l=ue.firstChild;return d(h,()=>A.i18n("sa-add-mfa")),d(M,()=>A.i18n("sa-email")),R.$$input=f=>_(f.currentTarget.value),m.$$click=()=>Ae(De(),"EMAIL"),d(m,()=>A.i18n("sa-add-email")),d(g,()=>A.i18n("sa-phone")),w.$$input=f=>pe(f.currentTarget.value),ae.$$click=()=>Ae(K(),"SMS"),d(ae,()=>A.i18n("sa-add-sms")),l.$$click=()=>re(!1),d(l,()=>A.i18n("sa-cancel")),O(f=>{var I=A.i18n("sa-email"),G=A.i18n("sa-phone");return I!==f.e&&oe(R,"placeholder",f.e=I),G!==f.t&&oe(w,"placeholder",f.t=G),f},{e:void 0,t:void 0}),O(()=>R.value=De()),O(()=>w.value=K()),D})()})(),null),d(E,(()=>{var o=b(()=>!!he());return()=>o()&&(()=>{var D=la(),h=D.firstChild,x=h.firstChild,y=x.nextSibling,M=y.nextSibling,R=M.nextSibling,m=R.nextSibling;return D.$$click=()=>N(!1),h.$$click=c=>c.stopPropagation(),x.$$click=()=>N(!1),d(h,(()=>{var c=b(()=>!!u());return()=>c()&&(()=>{var g=St();return d(g,u),g})()})(),M),R.$$input=c=>de(c.currentTarget.value),m.$$click=()=>Pe(H(),le()),O(()=>R.value=le()),D})()})(),null),E})()}),He(["click","input"]);var ca=B(`<form class=invite-frame><style>.invite-frame {
|
|
240
281
|
display: flex;
|
|
241
282
|
flex-direction: column;
|
|
242
283
|
justify-content: center;
|
|
@@ -296,4 +337,4 @@
|
|
|
296
337
|
margin-bottom: 10px;
|
|
297
338
|
display: block;
|
|
298
339
|
}
|
|
299
|
-
</style><style></style><h1></h1><input type=text autocomplete=one-time-code required><span class=hint></span><input type=password autocomplete=new-password required minlength=8><span class=hint></span><button type=submit>`),
|
|
340
|
+
</style><style></style><h1></h1><input type=text autocomplete=one-time-code required><span class=hint></span><input type=password autocomplete=new-password required minlength=8><span class=hint></span><button type=submit>`),da=B("<span class=info-message>"),Da=B("<span class=error-message>"),fa=B("<span class=success-message>");Ye("spartan-invite",{domain:"http://127.0.0.1:11000",sector:"0ad5c3e5-0186-4557-8b32-4b36f247bf09",sub:"",email:"",styles:"",locale:"en",redirect:""},e=>{const[t,r]=$(""),[n,s]=$(""),[u,i]=$(""),[a,F]=$(""),[k,p]=$(!1),S=Xe(e.locale);let Q,re;try{re=e.styles}catch{re=""}Ge(async()=>{e.sub||new URLSearchParams(window.location.search).get("sub")||i("Missing invitation information. Please use the link from your invite email.");const ee=new URLSearchParams(window.location.hash.replace("#","")).get("otp");ee&&r(ee)});async function he(N){var ne,j;if(N.preventDefault(),i(""),F(""),p(!0),!t()||t().trim().length===0){i("Please enter your verification code"),p(!1);return}if(!n()||n().length<8){i("Password must be at least 8 characters"),p(!1);return}const ee=new URLSearchParams(window.location.search),Z=e.sub||ee.get("sub")||"";if(!Z){i("Missing invitation information"),p(!1);return}try{const H=await fetch(`${e.domain}/api/v1/users/invite/complete`,{method:"POST",mode:"cors",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({sub:Z,otp:t().toUpperCase().trim(),password:n(),sectorID:e.sector})});if(H.ok){const J=await H.json();F(S.i18n("sa-invite-success"));const le=new CustomEvent("spartan-invite-complete",{bubbles:!0,cancelable:!0,detail:{sub:Z,success:!0}});Q&&Q.getRootNode().host.dispatchEvent(le),setTimeout(()=>{e.redirect&&e.redirect!==""&&(window.location.href=e.redirect)},2e3)}else{const J=await H.json().catch(()=>({}));H.status===400||(ne=J.message)!=null&&ne.includes("invalid OTP")?i(S.i18n("sa-invite-error-otp")):H.status===504||(j=J.message)!=null&&j.includes("expired")?i(S.i18n("sa-invite-error-expired")):i(J.message||S.i18n("sa-invite-error-generic")),p(!1)}}catch(H){console.error("Error completing invite:",H),i(S.i18n("sa-invite-error-generic")),p(!1)}}return(()=>{var N=ca(),ee=N.firstChild,Z=ee.nextSibling,ne=Z.nextSibling,j=ne.nextSibling,H=j.nextSibling,J=H.nextSibling,le=J.nextSibling,de=le.nextSibling,De=Q;return typeof De=="function"?Dt(De,N):Q=N,N.addEventListener("submit",he),d(Z,re),d(ne,()=>S.i18n("sa-complete-invite")),d(N,(()=>{var _=b(()=>!!e.email);return()=>_()&&(()=>{var K=da();return d(K,()=>e.email),K})()})(),j),d(N,(()=>{var _=b(()=>!!u());return()=>_()&&(()=>{var K=Da();return d(K,u),K})()})(),j),d(N,(()=>{var _=b(()=>!!a());return()=>_()&&(()=>{var K=fa();return d(K,a),K})()})(),j),j.$$input=_=>r(_.currentTarget.value),d(H,()=>S.i18n("sa-invite-otp-hint")),J.$$input=_=>s(_.currentTarget.value),d(le,()=>S.i18n("sa-invite-password-hint")),d(de,(()=>{var _=b(()=>!!k());return()=>_()?S.i18n("sa-invite-completing"):S.i18n("sa-invite-submit")})()),O(_=>{var K=S.i18n("sa-invite-otp"),pe=k()||a()!=="",A=S.i18n("sa-invite-password"),se=k()||a()!=="",C=k()||a()!=="";return K!==_.e&&oe(j,"placeholder",_.e=K),pe!==_.t&&(j.disabled=_.t=pe),A!==_.a&&oe(J,"placeholder",_.a=A),se!==_.o&&(J.disabled=_.o=se),C!==_.i&&(de.disabled=_.i=C),_},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),O(()=>j.value=t()),O(()=>J.value=n()),N})()}),He(["input"])});
|