altcha 1.0.7 → 1.1.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/README.md +43 -0
- package/dist/altcha.d.ts +9 -0
- package/dist/altcha.js +2295 -1421
- package/dist/altcha.umd.cjs +9 -2
- package/dist_external/altcha.d.ts +9 -0
- package/dist_external/altcha.js +2287 -1387
- package/dist_external/altcha.umd.cjs +9 -2
- package/package.json +7 -7
package/dist/altcha.umd.cjs
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
(function(F,W){typeof exports=="object"&&typeof module<"u"?W(exports):typeof define=="function"&&define.amd?define(["exports"],W):(F=typeof globalThis<"u"?globalThis:F||self,W(F.altcha={}))})(this,function(F){"use strict";var Xn=Object.defineProperty;var Zn=(F,W,ce)=>W in F?Xn(F,W,{enumerable:!0,configurable:!0,writable:!0,value:ce}):F[W]=ce;var J=(F,W,ce)=>Zn(F,typeof W!="symbol"?W+"":W,ce);const W="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IGQ9bmV3IFRleHRFbmNvZGVyO2Z1bmN0aW9uIHAoZSl7cmV0dXJuWy4uLm5ldyBVaW50OEFycmF5KGUpXS5tYXAodD0+dC50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKS5qb2luKCIiKX1hc3luYyBmdW5jdGlvbiBiKGUsdCxyKXtpZih0eXBlb2YgY3J5cHRvPiJ1Inx8ISgic3VidGxlImluIGNyeXB0byl8fCEoImRpZ2VzdCJpbiBjcnlwdG8uc3VidGxlKSl0aHJvdyBuZXcgRXJyb3IoIldlYiBDcnlwdG8gaXMgbm90IGF2YWlsYWJsZS4gU2VjdXJlIGNvbnRleHQgaXMgcmVxdWlyZWQgKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL1NlY3VyaXR5L1NlY3VyZV9Db250ZXh0cykuIik7cmV0dXJuIHAoYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3Qoci50b1VwcGVyQ2FzZSgpLGQuZW5jb2RlKGUrdCkpKX1mdW5jdGlvbiB3KGUsdCxyPSJTSEEtMjU2IixuPTFlNixzPTApe2NvbnN0IG89bmV3IEFib3J0Q29udHJvbGxlcixhPURhdGUubm93KCk7cmV0dXJue3Byb21pc2U6KGFzeW5jKCk9Pntmb3IobGV0IGM9cztjPD1uO2MrPTEpe2lmKG8uc2lnbmFsLmFib3J0ZWQpcmV0dXJuIG51bGw7aWYoYXdhaXQgYih0LGMscik9PT1lKXJldHVybntudW1iZXI6Yyx0b29rOkRhdGUubm93KCktYX19cmV0dXJuIG51bGx9KSgpLGNvbnRyb2xsZXI6b319ZnVuY3Rpb24gaChlKXtjb25zdCB0PWF0b2IoZSkscj1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCk7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspcltuXT10LmNoYXJDb2RlQXQobik7cmV0dXJuIHJ9ZnVuY3Rpb24gZyhlLHQ9MTIpe2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkodCk7Zm9yKGxldCBuPTA7bjx0O24rKylyW25dPWUlMjU2LGU9TWF0aC5mbG9vcihlLzI1Nik7cmV0dXJuIHJ9YXN5bmMgZnVuY3Rpb24gbShlLHQ9IiIscj0xZTYsbj0wKXtjb25zdCBzPSJBRVMtR0NNIixvPW5ldyBBYm9ydENvbnRyb2xsZXIsYT1EYXRlLm5vdygpLGw9YXN5bmMoKT0+e2ZvcihsZXQgdT1uO3U8PXI7dSs9MSl7aWYoby5zaWduYWwuYWJvcnRlZHx8IWN8fCF5KXJldHVybiBudWxsO3RyeXtjb25zdCBmPWF3YWl0IGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTpzLGl2OmcodSl9LGMseSk7aWYoZilyZXR1cm57Y2xlYXJUZXh0Om5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShmKSx0b29rOkRhdGUubm93KCktYX19Y2F0Y2h7fX1yZXR1cm4gbnVsbH07bGV0IGM9bnVsbCx5PW51bGw7dHJ5e3k9aChlKTtjb25zdCB1PWF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixkLmVuY29kZSh0KSk7Yz1hd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3Iix1LHMsITEsWyJkZWNyeXB0Il0pfWNhdGNoe3JldHVybntwcm9taXNlOlByb21pc2UucmVqZWN0KCksY29udHJvbGxlcjpvfX1yZXR1cm57cHJvbWlzZTpsKCksY29udHJvbGxlcjpvfX1sZXQgaTtvbm1lc3NhZ2U9YXN5bmMgZT0+e2NvbnN0e3R5cGU6dCxwYXlsb2FkOnIsc3RhcnQ6bixtYXg6c309ZS5kYXRhO2xldCBvPW51bGw7aWYodD09PSJhYm9ydCIpaT09bnVsbHx8aS5hYm9ydCgpLGk9dm9pZCAwO2Vsc2UgaWYodD09PSJ3b3JrIil7aWYoIm9iZnVzY2F0ZWQiaW4gcil7Y29uc3R7a2V5OmEsb2JmdXNjYXRlZDpsfT1yfHx7fTtvPWF3YWl0IG0obCxhLHMsbil9ZWxzZXtjb25zdHthbGdvcml0aG06YSxjaGFsbGVuZ2U6bCxzYWx0OmN9PXJ8fHt9O289dyhsLGMsYSxzLG4pfWk9by5jb250cm9sbGVyLG8ucHJvbWlzZS50aGVuKGE9PntzZWxmLnBvc3RNZXNzYWdlKGEmJnsuLi5hLHdvcmtlcjohMH0pfSl9fX0pKCk7Cg==",ce=n=>Uint8Array.from(atob(n),e=>e.charCodeAt(0)),Ze=typeof self<"u"&&self.Blob&&new Blob([ce(W)],{type:"text/javascript;charset=utf-8"});function Rt(n){let e;try{if(e=Ze&&(self.URL||self.webkitURL).createObjectURL(Ze),!e)throw"";const t=new Worker(e,{name:n==null?void 0:n.name});return t.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(e)}),t}catch{return new Worker("data:text/javascript;base64,"+W,{name:n==null?void 0:n.name})}finally{e&&(self.URL||self.webkitURL).revokeObjectURL(e)}}function Ee(){}function Lt(n,e){for(const t in e)n[t]=e[t];return n}function Te(n){return n()}function Ye(){return Object.create(null)}function ge(n){n.forEach(Te)}function je(n){return typeof n=="function"}function zt(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}function Vt(n){return Object.keys(n).length===0}function St(n,e,t,i){if(n){const o=We(n,e,t,i);return n[0](o)}}function We(n,e,t,i){return n[1]&&i?Lt(t.ctx.slice(),n[1](i(e))):t.ctx}function Gt(n,e,t,i){if(n[2]&&i){const o=n[2](i(t));if(e.dirty===void 0)return o;if(typeof o=="object"){const l=[],s=Math.max(e.dirty.length,o.length);for(let d=0;d<s;d+=1)l[d]=e.dirty[d]|o[d];return l}return e.dirty|o}return e.dirty}function Nt(n,e,t,i,o,l){if(o){const s=We(e,t,i,l);n.p(s,o)}}function At(n){if(n.ctx.length>32){const e=[],t=n.ctx.length/32;for(let i=0;i<t;i++)e[i]=-1;return e}return-1}function I(n,e){n.appendChild(e)}function Xt(n,e,t){const i=Zt(n);if(!i.getElementById(e)){const o=S("style");o.id=e,o.textContent=t,Tt(i,o)}}function Zt(n){if(!n)return document;const e=n.getRootNode?n.getRootNode():n.ownerDocument;return e&&e.host?e:n.ownerDocument}function Tt(n,e){return I(n.head||n,e),e.sheet}function j(n,e,t){n.insertBefore(e,t||null)}function T(n){n.parentNode&&n.parentNode.removeChild(n)}function S(n){return document.createElement(n)}function $(n){return document.createElementNS("http://www.w3.org/2000/svg",n)}function Yt(n){return document.createTextNode(n)}function Q(){return Yt(" ")}function Ve(n,e,t,i){return n.addEventListener(e,t,i),()=>n.removeEventListener(e,t,i)}function a(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function jt(n){return Array.from(n.childNodes)}function Pe(n,e,t){n.classList.toggle(e,!!t)}function Wt(n,e,{bubbles:t=!1,cancelable:i=!1}={}){return new CustomEvent(n,{detail:e,bubbles:t,cancelable:i})}function Pt(n){const e={};return n.childNodes.forEach(t=>{e[t.slot||"default"]=!0}),e}let me;function be(n){me=n}function Se(){if(!me)throw new Error("Function called outside component initialization");return me}function Ft(n){Se().$$.on_mount.push(n)}function Mt(n){Se().$$.on_destroy.push(n)}function Ut(){const n=Se();return(e,t,{cancelable:i=!1}={})=>{const o=n.$$.callbacks[e];if(o){const l=Wt(e,t,{cancelable:i});return o.slice().forEach(s=>{s.call(n,l)}),!l.defaultPrevented}return!0}}const ae=[],Ce=[];let fe=[];const Fe=[],Me=Promise.resolve();let Ge=!1;function Ue(){Ge||(Ge=!0,Me.then(w))}function Ht(){return Ue(),Me}function Ne(n){fe.push(n)}const Ae=new Set;let ue=0;function w(){if(ue!==0)return;const n=me;do{try{for(;ue<ae.length;){const e=ae[ue];ue++,be(e),Bt(e.$$)}}catch(e){throw ae.length=0,ue=0,e}for(be(null),ae.length=0,ue=0;Ce.length;)Ce.pop()();for(let e=0;e<fe.length;e+=1){const t=fe[e];Ae.has(t)||(Ae.add(t),t())}fe.length=0}while(ae.length);for(;Fe.length;)Fe.pop()();Ge=!1,Ae.clear(),be(n)}function Bt(n){if(n.fragment!==null){n.update(),ge(n.before_update);const e=n.dirty;n.dirty=[-1],n.fragment&&n.fragment.p(n.ctx,e),n.after_update.forEach(Ne)}}function Dt(n){const e=[],t=[];fe.forEach(i=>n.indexOf(i)===-1?e.push(i):t.push(i)),t.forEach(i=>i()),fe=e}const Ie=new Set;let Jt;function He(n,e){n&&n.i&&(Ie.delete(n),n.i(e))}function Ot(n,e,t,i){if(n&&n.o){if(Ie.has(n))return;Ie.add(n),Jt.c.push(()=>{Ie.delete(n)}),n.o(e)}}function Kt(n,e,t){const{fragment:i,after_update:o}=n.$$;i&&i.m(e,t),Ne(()=>{const l=n.$$.on_mount.map(Te).filter(je);n.$$.on_destroy?n.$$.on_destroy.push(...l):ge(l),n.$$.on_mount=[]}),o.forEach(Ne)}function $t(n,e){const t=n.$$;t.fragment!==null&&(Dt(t.after_update),ge(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Qt(n,e){n.$$.dirty[0]===-1&&(ae.push(n),Ue(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<<e%31}function qt(n,e,t,i,o,l,s=null,d=[-1]){const h=me;be(n);const f=n.$$={fragment:null,ctx:[],props:l,update:Ee,not_equal:o,bound:Ye(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(h?h.$$.context:[])),callbacks:Ye(),dirty:d,skip_bound:!1,root:e.target||h.$$.root};s&&s(f.root);let R=!1;if(f.ctx=t?t(n,e.props||{},(v,M,...U)=>{const H=U.length?U[0]:M;return f.ctx&&o(f.ctx[v],f.ctx[v]=H)&&(!f.skip_bound&&f.bound[v]&&f.bound[v](H),R&&Qt(n,v)),M}):[],f.update(),R=!0,ge(f.before_update),f.fragment=i?i(f.ctx):!1,e.target){if(e.hydrate){const v=jt(e.target);f.fragment&&f.fragment.l(v),v.forEach(T)}else f.fragment&&f.fragment.c();e.intro&&He(n.$$.fragment),Kt(n,e.target,e.anchor),w()}be(h)}let Be;typeof HTMLElement=="function"&&(Be=class extends HTMLElement{constructor(e,t,i){super();J(this,"$$ctor");J(this,"$$s");J(this,"$$c");J(this,"$$cn",!1);J(this,"$$d",{});J(this,"$$r",!1);J(this,"$$p_d",{});J(this,"$$l",{});J(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=t,i&&this.attachShadow({mode:"open"})}addEventListener(e,t,i){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const o=this.$$c.$on(e,t);this.$$l_u.set(t,o)}super.addEventListener(e,t,i)}removeEventListener(e,t,i){if(super.removeEventListener(e,t,i),this.$$c){const o=this.$$l_u.get(t);o&&(o(),this.$$l_u.delete(t))}if(this.$$l[e]){const o=this.$$l[e].indexOf(t);o>=0&&this.$$l[e].splice(o,1)}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(l){return()=>{let s;return{c:function(){s=S("slot"),l!=="default"&&a(s,"name",l)},m:function(f,R){j(f,s,R)},d:function(f){f&&T(s)}}}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},i=Pt(this);for(const l of this.$$s)l in i&&(t[l]=[e(l)]);for(const l of this.attributes){const s=this.$$g_p(l.name);s in this.$$d||(this.$$d[s]=Re(s,l.value,this.$$p_d,"toProp"))}for(const l in this.$$p_d)!(l in this.$$d)&&this[l]!==void 0&&(this.$$d[l]=this[l],delete this[l]);this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:t,$$scope:{ctx:[]}}});const o=()=>{this.$$r=!0;for(const l in this.$$p_d)if(this.$$d[l]=this.$$c.$$.ctx[this.$$c.$$.props[l]],this.$$p_d[l].reflect){const s=Re(l,this.$$d[l],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[l].attribute||l):this.setAttribute(this.$$p_d[l].attribute||l,s)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(const l in this.$$l)for(const s of this.$$l[l]){const d=this.$$c.$on(l,s);this.$$l_u.set(s,d)}this.$$l={}}}attributeChangedCallback(e,t,i){var o;this.$$r||(e=this.$$g_p(e),this.$$d[e]=Re(e,i,this.$$p_d,"toProp"),(o=this.$$c)==null||o.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function Re(n,e,t,i){var l;const o=(l=t[n])==null?void 0:l.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!i||!t[n])return e;if(i==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}function en(n,e,t,i,o,l){let s=class extends Be{constructor(){super(n,t,o),this.$$p_d=e}static get observedAttributes(){return Object.keys(e).map(d=>(e[d].attribute||d).toLowerCase())}};return Object.keys(e).forEach(d=>{Object.defineProperty(s.prototype,d,{get(){return this.$$c&&d in this.$$c?this.$$c[d]:this.$$d[d]},set(h){var f;h=Re(d,h,e),this.$$d[d]=h,(f=this.$$c)==null||f.$set({[d]:h})}})}),i.forEach(d=>{Object.defineProperty(s.prototype,d,{get(){var h;return(h=this.$$c)==null?void 0:h[d]}})}),n.element=s,s}class tn{constructor(){J(this,"$$");J(this,"$$set")}$destroy(){$t(this,1),this.$destroy=Ee}$on(e,t){if(!je(t))return Ee;const i=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return i.push(t),()=>{const o=i.indexOf(t);o!==-1&&i.splice(o,1)}}$set(e){this.$$set&&!Vt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const nn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(nn);const De=new TextEncoder;function rn(n){return[...new Uint8Array(n)].map(e=>e.toString(16).padStart(2,"0")).join("")}async function on(n,e="SHA-256",t=1e5){const i=Date.now().toString(16);n||(n=Math.round(Math.random()*t));const o=await Je(i,n,e);return{algorithm:e,challenge:o,salt:i,signature:""}}async function Je(n,e,t){if(typeof crypto>"u"||!("subtle"in crypto)||!("digest"in crypto.subtle))throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");return rn(await crypto.subtle.digest(t.toUpperCase(),De.encode(n+e)))}function ln(n,e,t="SHA-256",i=1e6,o=0){const l=new AbortController,s=Date.now();return{promise:(async()=>{for(let h=o;h<=i;h+=1){if(l.signal.aborted)return null;if(await Je(e,h,t)===n)return{number:h,took:Date.now()-s}}return null})(),controller:l}}function sn(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function cn(n){const e=atob(n),t=new Uint8Array(e.length);for(let i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}function an(n,e=12){const t=new Uint8Array(e);for(let i=0;i<e;i++)t[i]=n%256,n=Math.floor(n/256);return t}async function fn(n,e="",t=1e6,i=0){const o="AES-GCM",l=new AbortController,s=Date.now(),d=async()=>{for(let R=i;R<=t;R+=1){if(l.signal.aborted||!h||!f)return null;try{const v=await crypto.subtle.decrypt({name:o,iv:an(R)},h,f);if(v)return{clearText:new TextDecoder().decode(v),took:Date.now()-s}}catch{}}return null};let h=null,f=null;try{f=cn(n);const R=await crypto.subtle.digest("SHA-256",De.encode(e));h=await crypto.subtle.importKey("raw",R,o,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:l}}return{promise:d(),controller:l}}var g=(n=>(n.ERROR="error",n.VERIFIED="verified",n.VERIFYING="verifying",n.UNVERIFIED="unverified",n.EXPIRED="expired",n))(g||{});function un(n){Xt(n,"svelte-ddsc3z",'.altcha.svelte-ddsc3z.svelte-ddsc3z{background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left}.altcha.svelte-ddsc3z.svelte-ddsc3z:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating].svelte-ddsc3z.svelte-ddsc3z{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top].svelte-ddsc3z .altcha-anchor-arrow.svelte-ddsc3z{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom].svelte-ddsc3z.svelte-ddsc3z:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top].svelte-ddsc3z.svelte-ddsc3z:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating].svelte-ddsc3z.svelte-ddsc3z:not([data-state=unverified]){display:block}.altcha-anchor-arrow.svelte-ddsc3z.svelte-ddsc3z{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:"";height:0;left:12px;position:absolute;top:-12px;width:0}.altcha-main.svelte-ddsc3z.svelte-ddsc3z{align-items:center;display:flex;gap:0.4rem;padding:0.7rem}.altcha-label.svelte-ddsc3z.svelte-ddsc3z{flex-grow:1}.altcha-label.svelte-ddsc3z label.svelte-ddsc3z{cursor:pointer}.altcha-logo.svelte-ddsc3z.svelte-ddsc3z{color:currentColor;opacity:0.3}.altcha-logo.svelte-ddsc3z.svelte-ddsc3z:hover{opacity:1}.altcha-error.svelte-ddsc3z.svelte-ddsc3z{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:0.85rem;gap:0.3rem;padding:0 0.7rem 0.7rem}.altcha-footer.svelte-ddsc3z.svelte-ddsc3z{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:0.75rem;opacity:0.4;padding:0.2rem 0.7rem;text-align:right}.altcha-footer.svelte-ddsc3z.svelte-ddsc3z:hover{opacity:1}.altcha-footer.svelte-ddsc3z>.svelte-ddsc3z:first-child{flex-grow:1}.altcha-footer.svelte-ddsc3z a{color:currentColor}.altcha-checkbox.svelte-ddsc3z.svelte-ddsc3z{display:flex;align-items:center;height:24px;width:24px}.altcha-checkbox.svelte-ddsc3z input.svelte-ddsc3z{width:18px;height:18px;margin:0}.altcha-hidden.svelte-ddsc3z.svelte-ddsc3z{display:none}.altcha-spinner.svelte-ddsc3z.svelte-ddsc3z{animation:svelte-ddsc3z-altcha-spinner 0.75s infinite linear;transform-origin:center}@keyframes svelte-ddsc3z-altcha-spinner{100%{transform:rotate(360deg)}}')}function Oe(n){let e,t,i;return{c(){e=$("svg"),t=$("path"),i=$("path"),a(t,"d","M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"),a(t,"fill","currentColor"),a(t,"opacity",".25"),a(i,"d","M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z"),a(i,"fill","currentColor"),a(i,"class","altcha-spinner svelte-ddsc3z"),a(e,"width","24"),a(e,"height","24"),a(e,"viewBox","0 0 24 24"),a(e,"xmlns","http://www.w3.org/2000/svg")},m(o,l){j(o,e,l),I(e,t),I(e,i)},d(o){o&&T(e)}}}function dn(n){let e,t=n[11].label+"",i;return{c(){e=S("label"),a(e,"for",i=n[4]+"_checkbox"),a(e,"class","svelte-ddsc3z")},m(o,l){j(o,e,l),e.innerHTML=t},p(o,l){l[0]&2048&&t!==(t=o[11].label+"")&&(e.innerHTML=t),l[0]&16&&i!==(i=o[4]+"_checkbox")&&a(e,"for",i)},d(o){o&&T(e)}}}function hn(n){let e,t=n[11].verifying+"";return{c(){e=S("span")},m(i,o){j(i,e,o),e.innerHTML=t},p(i,o){o[0]&2048&&t!==(t=i[11].verifying+"")&&(e.innerHTML=t)},d(i){i&&T(e)}}}function gn(n){let e,t=n[11].verified+"",i,o;return{c(){e=S("span"),i=Q(),o=S("input"),a(o,"type","hidden"),a(o,"name",n[4]),o.value=n[6]},m(l,s){j(l,e,s),e.innerHTML=t,j(l,i,s),j(l,o,s)},p(l,s){s[0]&2048&&t!==(t=l[11].verified+"")&&(e.innerHTML=t),s[0]&16&&a(o,"name",l[4]),s[0]&64&&(o.value=l[6])},d(l){l&&(T(e),T(i),T(o))}}}function Ke(n){let e,t,i,o,l,s,d;return{c(){e=S("div"),t=S("a"),i=$("svg"),o=$("path"),l=$("path"),s=$("path"),a(o,"d","M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z"),a(o,"fill","currentColor"),a(l,"d","M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z"),a(l,"fill","currentColor"),a(s,"d","M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z"),a(s,"fill","currentColor"),a(i,"width","22"),a(i,"height","22"),a(i,"viewBox","0 0 20 20"),a(i,"fill","none"),a(i,"xmlns","http://www.w3.org/2000/svg"),a(t,"href",tt),a(t,"target","_blank"),a(t,"class","altcha-logo svelte-ddsc3z"),a(t,"aria-label",d=n[11].ariaLinkLabel)},m(h,f){j(h,e,f),I(e,t),I(t,i),I(i,o),I(i,l),I(i,s)},p(h,f){f[0]&2048&&d!==(d=h[11].ariaLinkLabel)&&a(t,"aria-label",d)},d(h){h&&T(e)}}}function $e(n){let e,t,i,o;function l(h,f){return h[7]===g.EXPIRED?bn:mn}let s=l(n),d=s(n);return{c(){e=S("div"),t=$("svg"),i=$("path"),o=Q(),d.c(),a(i,"stroke-linecap","round"),a(i,"stroke-linejoin","round"),a(i,"d","M6 18L18 6M6 6l12 12"),a(t,"width","14"),a(t,"height","14"),a(t,"xmlns","http://www.w3.org/2000/svg"),a(t,"fill","none"),a(t,"viewBox","0 0 24 24"),a(t,"stroke-width","1.5"),a(t,"stroke","currentColor"),a(e,"class","altcha-error svelte-ddsc3z")},m(h,f){j(h,e,f),I(e,t),I(t,i),I(e,o),d.m(e,null)},p(h,f){s===(s=l(h))&&d?d.p(h,f):(d.d(1),d=s(h),d&&(d.c(),d.m(e,null)))},d(h){h&&T(e),d.d()}}}function mn(n){let e,t=n[11].error+"";return{c(){e=S("div"),a(e,"title",n[5])},m(i,o){j(i,e,o),e.innerHTML=t},p(i,o){o[0]&2048&&t!==(t=i[11].error+"")&&(e.innerHTML=t),o[0]&32&&a(e,"title",i[5])},d(i){i&&T(e)}}}function bn(n){let e,t=n[11].expired+"";return{c(){e=S("div"),a(e,"title",n[5])},m(i,o){j(i,e,o),e.innerHTML=t},p(i,o){o[0]&2048&&t!==(t=i[11].expired+"")&&(e.innerHTML=t),o[0]&32&&a(e,"title",i[5])},d(i){i&&T(e)}}}function Qe(n){let e,t,i=n[11].footer+"";return{c(){e=S("div"),t=S("div"),a(t,"class","svelte-ddsc3z"),a(e,"class","altcha-footer svelte-ddsc3z")},m(o,l){j(o,e,l),I(e,t),t.innerHTML=i},p(o,l){l[0]&2048&&i!==(i=o[11].footer+"")&&(t.innerHTML=i)},d(o){o&&T(e)}}}function qe(n){let e;return{c(){e=S("div"),a(e,"class","altcha-anchor-arrow svelte-ddsc3z")},m(t,i){j(t,e,i),n[48](e)},p:Ee,d(t){t&&T(e),n[48](null)}}}function yn(n){let e,t,i,o,l,s,d,h,f,R,v,M,U,H,G,z,q;const ee=n[46].default,Z=St(ee,n,n[45],null);let N=n[7]===g.VERIFYING&&Oe();function te(u,b){return u[7]===g.VERIFIED?gn:u[7]===g.VERIFYING?hn:dn}let O=te(n),Y=O(n),x=(n[3]!==!0||n[12])&&Ke(n),A=(n[5]||n[7]===g.EXPIRED)&&$e(n),V=n[11].footer&&(n[2]!==!0||n[12])&&Qe(n),_=n[1]&&qe(n);return{c(){Z&&Z.c(),e=Q(),t=S("div"),i=S("div"),N&&N.c(),o=Q(),l=S("div"),s=S("input"),f=Q(),R=S("div"),Y.c(),v=Q(),x&&x.c(),M=Q(),A&&A.c(),U=Q(),V&&V.c(),H=Q(),_&&_.c(),a(s,"type","checkbox"),a(s,"id",d=n[4]+"_checkbox"),s.required=h=n[0]!=="onsubmit"&&(!n[1]||n[0]!=="off"),a(s,"class","svelte-ddsc3z"),a(l,"class","altcha-checkbox svelte-ddsc3z"),Pe(l,"altcha-hidden",n[7]===g.VERIFYING),a(R,"class","altcha-label svelte-ddsc3z"),a(i,"class","altcha-main svelte-ddsc3z"),a(t,"class","altcha svelte-ddsc3z"),a(t,"data-state",n[7]),a(t,"data-floating",n[1])},m(u,b){Z&&Z.m(u,b),j(u,e,b),j(u,t,b),I(t,i),N&&N.m(i,null),I(i,o),I(i,l),I(l,s),s.checked=n[8],I(i,f),I(i,R),Y.m(R,null),I(i,v),x&&x.m(i,null),I(t,M),A&&A.m(t,null),I(t,U),V&&V.m(t,null),I(t,H),_&&_.m(t,null),n[49](t),G=!0,z||(q=[Ve(s,"change",n[47]),Ve(s,"change",n[13]),Ve(s,"invalid",n[14])],z=!0)},p(u,b){Z&&Z.p&&(!G||b[1]&16384)&&Nt(Z,ee,u,u[45],G?Gt(ee,u[45],b,null):At(u[45]),null),u[7]===g.VERIFYING?N||(N=Oe(),N.c(),N.m(i,o)):N&&(N.d(1),N=null),(!G||b[0]&16&&d!==(d=u[4]+"_checkbox"))&&a(s,"id",d),(!G||b[0]&3&&h!==(h=u[0]!=="onsubmit"&&(!u[1]||u[0]!=="off")))&&(s.required=h),b[0]&256&&(s.checked=u[8]),(!G||b[0]&128)&&Pe(l,"altcha-hidden",u[7]===g.VERIFYING),O===(O=te(u))&&Y?Y.p(u,b):(Y.d(1),Y=O(u),Y&&(Y.c(),Y.m(R,null))),u[3]!==!0||u[12]?x?x.p(u,b):(x=Ke(u),x.c(),x.m(i,null)):x&&(x.d(1),x=null),u[5]||u[7]===g.EXPIRED?A?A.p(u,b):(A=$e(u),A.c(),A.m(t,U)):A&&(A.d(1),A=null),u[11].footer&&(u[2]!==!0||u[12])?V?V.p(u,b):(V=Qe(u),V.c(),V.m(t,H)):V&&(V.d(1),V=null),u[1]?_?_.p(u,b):(_=qe(u),_.c(),_.m(t,null)):_&&(_.d(1),_=null),(!G||b[0]&128)&&a(t,"data-state",u[7]),(!G||b[0]&2)&&a(t,"data-floating",u[1])},i(u){G||(He(Z,u),G=!0)},o(u){Ot(Z,u),G=!1},d(u){u&&(T(e),T(t)),Z&&Z.d(u),N&&N.d(),Y.d(),x&&x.d(),A&&A.d(),V&&V.d(),_&&_.d(),n[49](null),z=!1,ge(q)}}}const et="Visit Altcha.org",tt="https://altcha.org/";function nt(n){return JSON.parse(n)}function vn(n,e,t){var Et,Ct;let i,o,l,s,{$$slots:d={},$$scope:h}=e,{auto:f=void 0}=e,{blockspam:R=void 0}=e,{challengeurl:v=void 0}=e,{challengejson:M=void 0}=e,{debug:U=!1}=e,{delay:H=0}=e,{expire:G=void 0}=e,{floating:z=void 0}=e,{floatinganchor:q=void 0}=e,{floatingoffset:ee=void 0}=e,{hidefooter:Z=!1}=e,{hidelogo:N=!1}=e,{name:te="altcha"}=e,{maxnumber:O=1e6}=e,{mockerror:Y=!1}=e,{obfuscated:x=void 0}=e,{plugins:A=void 0}=e,{refetchonexpire:V=!0}=e,{spamfilter:_=!1}=e,{strings:u=void 0}=e,{test:b=!1}=e,{verifyurl:ne=void 0}=e,{workers:de=Math.min(16,navigator.hardwareConcurrency||8)}=e,{workerurl:ye=void 0}=e;const ve=Ut(),it=["SHA-256","SHA-384","SHA-512"],ot=(Ct=(Et=document.documentElement.lang)==null?void 0:Et.split("-"))==null?void 0:Ct[0];let oe=!1,E,le=null,he=null,y=null,pe=null,K=null,se=null,re=[],C=g.UNVERIFIED;Mt(()=>{pn(),y&&(y.removeEventListener("submit",ut),y.removeEventListener("reset",dt),y.removeEventListener("focusin",ft),y=null),K&&(clearTimeout(K),K=null),document.removeEventListener("click",ct),document.removeEventListener("scroll",at),window.removeEventListener("resize",gt)}),Ft(()=>{k("mounted","1.0.7"),k("workers",de),En(),k("plugins",re.length?re.map(r=>r.constructor.pluginName).join(", "):"none"),b&&k("using test mode"),G&&ze(G),f!==void 0&&k("auto",f),z!==void 0&&mt(z),y=E.closest("form"),y&&(y.addEventListener("submit",ut,{capture:!0}),y.addEventListener("reset",dt),f==="onfocus"&&y.addEventListener("focusin",ft)),f==="onload"&&(x?we():ie()),i&&(Z||N)&&k("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame(()=>{ve("load")})});function lt(r,c){return btoa(JSON.stringify({algorithm:r.algorithm,challenge:r.challenge,number:c.number,salt:r.salt,signature:r.signature,test:b?!0:void 0,took:c.took}))}function pn(){for(const r of re)r.destroy()}function st(){v&&V&&C===g.VERIFIED?ie():_e(g.EXPIRED,s.expired)}async function wn(){var r;if(Y)throw k("mocking error"),new Error("Mocked error.");if(o)return k("using provided json data"),o;if(b)return k("generating test challenge",{test:b}),on(typeof b!="boolean"?+b:void 0);{if(!v&&y){const p=y.getAttribute("action");p!=null&&p.includes("/form/")&&t(15,v=p+"/altcha")}if(!v)throw new Error("Attribute challengeurl not set.");k("fetching challenge from",v);const c=await fetch(v,{headers:_?{"x-altcha-spam-filter":"1"}:{}});if(c.status!==200)throw new Error(`Server responded with ${c.status}.`);const m=c.headers.get("Expires"),L=c.headers.get("X-Altcha-Config"),B=await c.json(),P=new URLSearchParams((r=B.salt.split("?"))==null?void 0:r[1]),X=P.get("expires")||P.get("expire");if(X){const p=new Date(+X*1e3),D=isNaN(p.getTime())?0:p.getTime()-Date.now();D>0&&ze(D)}if(L)try{const p=JSON.parse(L);p&&typeof p=="object"&&(p.verifyurl&&(p.verifyurl=new URL(p.verifyurl,new URL(v)).toString()),vt(p))}catch(p){k("unable to configure from X-Altcha-Config",p)}if(!G&&(m!=null&&m.length)){const p=Date.parse(m);if(p){const D=p-Date.now();D>0&&ze(D)}}return B}}function _n(r){var m;const c=y==null?void 0:y.querySelector(typeof r=="string"?`input[name="${r}"]`:'input[type="email"]:not([data-no-spamfilter])');return((m=c==null?void 0:c.value)==null?void 0:m.slice(c.value.indexOf("@")))||void 0}function kn(){return _==="ipAddress"?{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:!1,expectedCountries:void 0,expectedLanguages:void 0,fields:!1,ipAddress:void 0,text:void 0,timeZone:void 0}:typeof _=="object"?_:{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:void 0,expectedCountries:void 0,expectedLanguages:void 0,fields:void 0,ipAddress:void 0,text:void 0,timeZone:void 0}}function xn(r){return[...(y==null?void 0:y.querySelectorAll(r!=null&&r.length?r.map(m=>`input[name="${m}"]`).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])'))||[]].reduce((m,L)=>{const B=L.name,P=L.value;return B&&P&&(m[B]=/\n/.test(P)?P.replace(new RegExp("(?<!\\r)\\n","g"),`\r
|
|
2
|
-
`):P),m},{})}function En(){const r=A!==void 0?A.split(","):void 0;for(const c of globalThis.altchaPlugins)(!r||r.includes(c.pluginName))&&re.push(new c({el:E,clarify:we,dispatch:ve,getConfiguration:pt,getFloatingAnchor:wt,getState:_t,log:k,reset:_e,solve:yt,setState:xt,setFloatingAnchor:kt,verify:ie}))}function k(...r){(U||r.some(c=>c instanceof Error))&&console[r[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${te}]`,...r)}function Cn(){[g.UNVERIFIED,g.ERROR,g.EXPIRED].includes(C)?_&&(y==null?void 0:y.reportValidity())===!1?t(8,oe=!1):x?we():ie():t(8,oe=!0)}function ct(r){const c=r.target;z&&c&&!E.contains(c)&&(C===g.VERIFIED||f==="off"&&C===g.UNVERIFIED)&&t(9,E.style.display="none",E)}function at(){z&&C!==g.UNVERIFIED&&Le()}function In(r){for(const c of re)typeof c.onErrorChange=="function"&&c.onErrorChange(pe)}function ft(r){C===g.UNVERIFIED&&ie()}function ut(r){y&&f==="onsubmit"?C===g.UNVERIFIED?(r.preventDefault(),r.stopPropagation(),ie().then(()=>{y==null||y.requestSubmit()})):C!==g.VERIFIED&&(r.preventDefault(),r.stopPropagation(),C===g.VERIFYING&&ht()):y&&z&&f==="off"&&C===g.UNVERIFIED&&(r.preventDefault(),r.stopPropagation(),t(9,E.style.display="block",E),Le())}function dt(){_e()}function ht(){C===g.VERIFYING&&s.waitAlert&&alert(s.waitAlert)}function Rn(r){for(const c of re)typeof c.onStateChange=="function"&&c.onStateChange(C);z&&C!==g.UNVERIFIED&&requestAnimationFrame(()=>{Le()}),t(8,oe=C===g.VERIFIED)}function gt(){z&&Le()}function Le(r=20){if(E)if(he||(he=(q?document.querySelector(q):y==null?void 0:y.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||y),he){const c=parseInt(ee,10)||12,m=he.getBoundingClientRect(),L=E.getBoundingClientRect(),B=document.documentElement.clientHeight,P=document.documentElement.clientWidth,X=z==="auto"?m.bottom+L.height+c+r>B:z==="top",p=Math.max(r,Math.min(P-r-L.width,m.left+m.width/2-L.width/2));if(X?t(9,E.style.top=`${m.top-(L.height+c)}px`,E):t(9,E.style.top=`${m.bottom+c}px`,E),t(9,E.style.left=`${p}px`,E),E.setAttribute("data-floating",X?"top":"bottom"),le){const D=le.getBoundingClientRect();t(10,le.style.left=m.left-p+m.width/2-D.width/2+"px",le)}}else k("unable to find floating anchor element")}async function Ln(r){if(!ne)throw new Error("Attribute verifyurl not set.");k("requesting server verification from",ne);const c={payload:r};if(_){const{blockedCountries:B,classifier:P,disableRules:X,email:p,expectedLanguages:D,expectedCountries:Xe,fields:ke,ipAddress:xe,text:An,timeZone:It}=kn();c.blockedCountries=B,c.classifier=P,c.disableRules=X,c.email=p===!1?void 0:_n(p),c.expectedCountries=Xe,c.expectedLanguages=D||(ot?[ot]:void 0),c.fields=ke===!1?void 0:xn(ke),c.ipAddress=xe===!1?void 0:xe||"auto",c.text=An,c.timeZone=It===!1?void 0:It||sn()}const m=await fetch(ne,{body:JSON.stringify(c),headers:{"content-type":"application/json"},method:"POST"});if(m.status!==200)throw new Error(`Server responded with ${m.status}.`);const L=await m.json();if(L!=null&&L.payload&&t(6,se=L.payload),ve("serververification",L),R&&L.classification==="BAD")throw new Error("SpamFilter returned negative classification.")}function ze(r){k("expire",r),K&&(clearTimeout(K),K=null),r<1?st():K=setTimeout(st,r)}function mt(r){k("floating",r),z!==r&&(t(9,E.style.left="",E),t(9,E.style.top="",E)),t(1,z=r===!0||r===""?"auto":r===!1||r==="false"?void 0:z),z?(f||t(0,f="onsubmit"),document.addEventListener("scroll",at),document.addEventListener("click",ct),window.addEventListener("resize",gt)):f==="onsubmit"&&t(0,f=void 0)}function bt(r){if(!r.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(r.signature===void 0)throw new Error("Invalid challenge. Property signature is missing.");if(!it.includes(r.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${it.join(", ")}`);if(!r.challenge||r.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!r.salt||r.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function yt(r){let c=null;if("Worker"in window){try{c=await zn(r,r.maxnumber)}catch(m){k(m)}if((c==null?void 0:c.number)!==void 0||"obfuscated"in r)return{data:r,solution:c}}if("obfuscated"in r){const m=await fn(r.obfuscated,r.key,r.maxnumber);return{data:r,solution:await m.promise}}return{data:r,solution:await ln(r.challenge,r.salt,r.algorithm,r.maxnumber||O).promise}}async function zn(r,c=typeof b=="number"?b:O,m=Math.ceil(de)){const L=[];m=Math.min(16,Math.max(1,m));for(let X=0;X<m;X++)L.push(altchaCreateWorker(ye));const B=Math.ceil(c/m),P=await Promise.all(L.map((X,p)=>{const D=p*B;return new Promise(Xe=>{X.addEventListener("message",ke=>{if(ke.data)for(const xe of L)xe!==X&&xe.postMessage({type:"abort"});Xe(ke.data)}),X.postMessage({payload:r,max:D+B,start:D,type:"work"})})}));for(const X of L)X.terminate();return P.find(X=>!!X)||null}async function we(){if(!x){t(7,C=g.ERROR);return}const r=re.find(c=>c.constructor.pluginName==="obfuscation");if(!r||!("clarify"in r)){t(7,C=g.ERROR),k("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.");return}if("clarify"in r&&typeof r.clarify=="function")return r.clarify()}function vt(r){r.obfuscated!==void 0&&t(24,x=r.obfuscated),r.auto!==void 0&&(t(0,f=r.auto),f==="onload"&&(x?we():ie())),r.blockspam!==void 0&&t(16,R=!!r.blockspam),r.floatinganchor!==void 0&&t(20,q=r.floatinganchor),r.delay!==void 0&&t(18,H=r.delay),r.floatingoffset!==void 0&&t(21,ee=r.floatingoffset),r.floating!==void 0&&mt(r.floating),r.expire!==void 0&&(ze(r.expire),t(19,G=r.expire)),r.challenge&&(bt(r.challenge),o=r.challenge),r.challengeurl!==void 0&&t(15,v=r.challengeurl),r.debug!==void 0&&t(17,U=!!r.debug),r.hidefooter!==void 0&&t(2,Z=!!r.hidefooter),r.hidelogo!==void 0&&t(3,N=!!r.hidelogo),r.maxnumber!==void 0&&t(22,O=+r.maxnumber),r.mockerror!==void 0&&t(23,Y=!!r.mockerror),r.name!==void 0&&t(4,te=r.name),r.refetchonexpire!==void 0&&t(25,V=!!r.refetchonexpire),r.spamfilter!==void 0&&t(26,_=typeof r.spamfilter=="object"?r.spamfilter:!!r.spamfilter),r.strings&&t(44,l=r.strings),r.test!==void 0&&t(27,b=typeof r.test=="number"?r.test:!!r.test),r.verifyurl!==void 0&&t(28,ne=r.verifyurl),r.workers!==void 0&&t(29,de=+r.workers),r.workerurl!==void 0&&t(30,ye=r.workerurl)}function pt(){return{auto:f,blockspam:R,challengeurl:v,debug:U,delay:H,expire:G,floating:z,floatinganchor:q,floatingoffset:ee,hidefooter:Z,hidelogo:N,name:te,maxnumber:O,mockerror:Y,obfuscated:x,refetchonexpire:V,spamfilter:_,strings:s,test:b,verifyurl:ne,workers:de,workerurl:ye}}function wt(){return he}function Vn(r){return re.find(c=>c.constructor.pluginName===r)}function _t(){return C}function _e(r=g.UNVERIFIED,c=null){K&&(clearTimeout(K),K=null),t(8,oe=!1),t(5,pe=c),t(6,se=null),t(7,C=r)}function kt(r){he=r}function xt(r,c=null){t(7,C=r),t(5,pe=c)}async function ie(){return _e(g.VERIFYING),await new Promise(r=>setTimeout(r,H||0)),wn().then(r=>(bt(r),k("challenge",r),yt(r))).then(({data:r,solution:c})=>{if(k("solution",c),"challenge"in r&&c&&!("clearText"in c))if((c==null?void 0:c.number)!==void 0){if(ne)return Ln(lt(r,c));t(6,se=lt(r,c)),k("payload",se)}else throw k("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")}).then(()=>{t(7,C=g.VERIFIED),k("verified"),Ht().then(()=>{ve("verified",{payload:se})})}).catch(r=>{k(r),t(7,C=g.ERROR),t(5,pe=r.message)})}function Sn(){oe=this.checked,t(8,oe)}function Gn(r){Ce[r?"unshift":"push"](()=>{le=r,t(10,le)})}function Nn(r){Ce[r?"unshift":"push"](()=>{E=r,t(9,E)})}return n.$$set=r=>{"auto"in r&&t(0,f=r.auto),"blockspam"in r&&t(16,R=r.blockspam),"challengeurl"in r&&t(15,v=r.challengeurl),"challengejson"in r&&t(31,M=r.challengejson),"debug"in r&&t(17,U=r.debug),"delay"in r&&t(18,H=r.delay),"expire"in r&&t(19,G=r.expire),"floating"in r&&t(1,z=r.floating),"floatinganchor"in r&&t(20,q=r.floatinganchor),"floatingoffset"in r&&t(21,ee=r.floatingoffset),"hidefooter"in r&&t(2,Z=r.hidefooter),"hidelogo"in r&&t(3,N=r.hidelogo),"name"in r&&t(4,te=r.name),"maxnumber"in r&&t(22,O=r.maxnumber),"mockerror"in r&&t(23,Y=r.mockerror),"obfuscated"in r&&t(24,x=r.obfuscated),"plugins"in r&&t(32,A=r.plugins),"refetchonexpire"in r&&t(25,V=r.refetchonexpire),"spamfilter"in r&&t(26,_=r.spamfilter),"strings"in r&&t(33,u=r.strings),"test"in r&&t(27,b=r.test),"verifyurl"in r&&t(28,ne=r.verifyurl),"workers"in r&&t(29,de=r.workers),"workerurl"in r&&t(30,ye=r.workerurl),"$$scope"in r&&t(45,h=r.$$scope)},n.$$.update=()=>{n.$$.dirty[0]&32768|n.$$.dirty[1]&1&&t(12,i=M&&new URL(M,location.origin).host.endsWith(".altcha.org")&&!!(v!=null&&v.includes("apiKey=ckey_"))),n.$$.dirty[1]&1&&(o=M?nt(M):void 0),n.$$.dirty[1]&4&&t(44,l=u?nt(u):{}),n.$$.dirty[1]&8192&&t(11,s={ariaLinkLabel:et,error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:`Protected by <a href="${tt}" target="_blank" aria-label="${l.ariaLinkLabel||et}">ALTCHA</a>`,label:"I'm not a robot",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait.",...l}),n.$$.dirty[0]&192&&ve("statechange",{payload:se,state:C}),n.$$.dirty[0]&32&&In(),n.$$.dirty[0]&128&&Rn()},[f,z,Z,N,te,pe,se,C,oe,E,le,s,i,Cn,ht,v,R,U,H,G,q,ee,O,Y,x,V,_,b,ne,de,ye,M,A,u,we,vt,pt,wt,Vn,_t,_e,kt,xt,ie,l,h,d,Sn,Gn,Nn]}class rt extends tn{constructor(e){super(),qt(this,e,vn,yn,zt,{auto:0,blockspam:16,challengeurl:15,challengejson:31,debug:17,delay:18,expire:19,floating:1,floatinganchor:20,floatingoffset:21,hidefooter:2,hidelogo:3,name:4,maxnumber:22,mockerror:23,obfuscated:24,plugins:32,refetchonexpire:25,spamfilter:26,strings:33,test:27,verifyurl:28,workers:29,workerurl:30,clarify:34,configure:35,getConfiguration:36,getFloatingAnchor:37,getPlugin:38,getState:39,reset:40,setFloatingAnchor:41,setState:42,verify:43},un,[-1,-1,-1])}get auto(){return this.$$.ctx[0]}set auto(e){this.$$set({auto:e}),w()}get blockspam(){return this.$$.ctx[16]}set blockspam(e){this.$$set({blockspam:e}),w()}get challengeurl(){return this.$$.ctx[15]}set challengeurl(e){this.$$set({challengeurl:e}),w()}get challengejson(){return this.$$.ctx[31]}set challengejson(e){this.$$set({challengejson:e}),w()}get debug(){return this.$$.ctx[17]}set debug(e){this.$$set({debug:e}),w()}get delay(){return this.$$.ctx[18]}set delay(e){this.$$set({delay:e}),w()}get expire(){return this.$$.ctx[19]}set expire(e){this.$$set({expire:e}),w()}get floating(){return this.$$.ctx[1]}set floating(e){this.$$set({floating:e}),w()}get floatinganchor(){return this.$$.ctx[20]}set floatinganchor(e){this.$$set({floatinganchor:e}),w()}get floatingoffset(){return this.$$.ctx[21]}set floatingoffset(e){this.$$set({floatingoffset:e}),w()}get hidefooter(){return this.$$.ctx[2]}set hidefooter(e){this.$$set({hidefooter:e}),w()}get hidelogo(){return this.$$.ctx[3]}set hidelogo(e){this.$$set({hidelogo:e}),w()}get name(){return this.$$.ctx[4]}set name(e){this.$$set({name:e}),w()}get maxnumber(){return this.$$.ctx[22]}set maxnumber(e){this.$$set({maxnumber:e}),w()}get mockerror(){return this.$$.ctx[23]}set mockerror(e){this.$$set({mockerror:e}),w()}get obfuscated(){return this.$$.ctx[24]}set obfuscated(e){this.$$set({obfuscated:e}),w()}get plugins(){return this.$$.ctx[32]}set plugins(e){this.$$set({plugins:e}),w()}get refetchonexpire(){return this.$$.ctx[25]}set refetchonexpire(e){this.$$set({refetchonexpire:e}),w()}get spamfilter(){return this.$$.ctx[26]}set spamfilter(e){this.$$set({spamfilter:e}),w()}get strings(){return this.$$.ctx[33]}set strings(e){this.$$set({strings:e}),w()}get test(){return this.$$.ctx[27]}set test(e){this.$$set({test:e}),w()}get verifyurl(){return this.$$.ctx[28]}set verifyurl(e){this.$$set({verifyurl:e}),w()}get workers(){return this.$$.ctx[29]}set workers(e){this.$$set({workers:e}),w()}get workerurl(){return this.$$.ctx[30]}set workerurl(e){this.$$set({workerurl:e}),w()}get clarify(){return this.$$.ctx[34]}get configure(){return this.$$.ctx[35]}get getConfiguration(){return this.$$.ctx[36]}get getFloatingAnchor(){return this.$$.ctx[37]}get getPlugin(){return this.$$.ctx[38]}get getState(){return this.$$.ctx[39]}get reset(){return this.$$.ctx[40]}get setFloatingAnchor(){return this.$$.ctx[41]}get setState(){return this.$$.ctx[42]}get verify(){return this.$$.ctx[43]}}customElements.define("altcha-widget",en(rt,{auto:{},blockspam:{},challengeurl:{},challengejson:{},debug:{type:"Boolean"},delay:{},expire:{},floating:{},floatinganchor:{},floatingoffset:{},hidefooter:{type:"Boolean"},hidelogo:{type:"Boolean"},name:{},maxnumber:{},mockerror:{type:"Boolean"},obfuscated:{},plugins:{},refetchonexpire:{type:"Boolean"},spamfilter:{type:"Boolean"},strings:{},test:{type:"Boolean"},verifyurl:{},workers:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","reset","setFloatingAnchor","setState","verify"],!1)),globalThis.altchaCreateWorker=n=>n?new Worker(new URL(n)):new Rt,globalThis.altchaPlugins=globalThis.altchaPlugins||[],F.Altcha=rt,Object.defineProperty(F,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(k,R){typeof exports=="object"&&typeof module<"u"?R(exports):typeof define=="function"&&define.amd?define(["exports"],R):(k=typeof globalThis<"u"?globalThis:k||self,R(k.altcha={}))})(this,function(k){"use strict";var ea=Object.defineProperty;var Mn=k=>{throw TypeError(k)};var ta=(k,R,X)=>R in k?ea(k,R,{enumerable:!0,configurable:!0,writable:!0,value:X}):k[R]=X;var ce=(k,R,X)=>ta(k,typeof R!="symbol"?R+"":R,X),jn=(k,R,X)=>R.has(k)||Mn("Cannot "+X);var K=(k,R,X)=>(jn(k,R,"read from private field"),X?X.call(k):R.get(k)),ar=(k,R,X)=>R.has(k)?Mn("Cannot add the same private member more than once"):R instanceof WeakSet?R.add(k):R.set(k,X),or=(k,R,X,nt)=>(jn(k,R,"write to private field"),nt?nt.call(k,X):R.set(k,X),X);var ye,re;const R="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IGQ9bmV3IFRleHRFbmNvZGVyO2Z1bmN0aW9uIHAoZSl7cmV0dXJuWy4uLm5ldyBVaW50OEFycmF5KGUpXS5tYXAodD0+dC50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKS5qb2luKCIiKX1hc3luYyBmdW5jdGlvbiBiKGUsdCxyKXtpZih0eXBlb2YgY3J5cHRvPiJ1Inx8ISgic3VidGxlImluIGNyeXB0byl8fCEoImRpZ2VzdCJpbiBjcnlwdG8uc3VidGxlKSl0aHJvdyBuZXcgRXJyb3IoIldlYiBDcnlwdG8gaXMgbm90IGF2YWlsYWJsZS4gU2VjdXJlIGNvbnRleHQgaXMgcmVxdWlyZWQgKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL1NlY3VyaXR5L1NlY3VyZV9Db250ZXh0cykuIik7cmV0dXJuIHAoYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3Qoci50b1VwcGVyQ2FzZSgpLGQuZW5jb2RlKGUrdCkpKX1mdW5jdGlvbiB3KGUsdCxyPSJTSEEtMjU2IixuPTFlNixzPTApe2NvbnN0IG89bmV3IEFib3J0Q29udHJvbGxlcixhPURhdGUubm93KCk7cmV0dXJue3Byb21pc2U6KGFzeW5jKCk9Pntmb3IobGV0IGM9cztjPD1uO2MrPTEpe2lmKG8uc2lnbmFsLmFib3J0ZWQpcmV0dXJuIG51bGw7aWYoYXdhaXQgYih0LGMscik9PT1lKXJldHVybntudW1iZXI6Yyx0b29rOkRhdGUubm93KCktYX19cmV0dXJuIG51bGx9KSgpLGNvbnRyb2xsZXI6b319ZnVuY3Rpb24gaChlKXtjb25zdCB0PWF0b2IoZSkscj1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCk7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspcltuXT10LmNoYXJDb2RlQXQobik7cmV0dXJuIHJ9ZnVuY3Rpb24gZyhlLHQ9MTIpe2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkodCk7Zm9yKGxldCBuPTA7bjx0O24rKylyW25dPWUlMjU2LGU9TWF0aC5mbG9vcihlLzI1Nik7cmV0dXJuIHJ9YXN5bmMgZnVuY3Rpb24gbShlLHQ9IiIscj0xZTYsbj0wKXtjb25zdCBzPSJBRVMtR0NNIixvPW5ldyBBYm9ydENvbnRyb2xsZXIsYT1EYXRlLm5vdygpLGw9YXN5bmMoKT0+e2ZvcihsZXQgdT1uO3U8PXI7dSs9MSl7aWYoby5zaWduYWwuYWJvcnRlZHx8IWN8fCF5KXJldHVybiBudWxsO3RyeXtjb25zdCBmPWF3YWl0IGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7bmFtZTpzLGl2OmcodSl9LGMseSk7aWYoZilyZXR1cm57Y2xlYXJUZXh0Om5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShmKSx0b29rOkRhdGUubm93KCktYX19Y2F0Y2h7fX1yZXR1cm4gbnVsbH07bGV0IGM9bnVsbCx5PW51bGw7dHJ5e3k9aChlKTtjb25zdCB1PWF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixkLmVuY29kZSh0KSk7Yz1hd2FpdCBjcnlwdG8uc3VidGxlLmltcG9ydEtleSgicmF3Iix1LHMsITEsWyJkZWNyeXB0Il0pfWNhdGNoe3JldHVybntwcm9taXNlOlByb21pc2UucmVqZWN0KCksY29udHJvbGxlcjpvfX1yZXR1cm57cHJvbWlzZTpsKCksY29udHJvbGxlcjpvfX1sZXQgaTtvbm1lc3NhZ2U9YXN5bmMgZT0+e2NvbnN0e3R5cGU6dCxwYXlsb2FkOnIsc3RhcnQ6bixtYXg6c309ZS5kYXRhO2xldCBvPW51bGw7aWYodD09PSJhYm9ydCIpaT09bnVsbHx8aS5hYm9ydCgpLGk9dm9pZCAwO2Vsc2UgaWYodD09PSJ3b3JrIil7aWYoIm9iZnVzY2F0ZWQiaW4gcil7Y29uc3R7a2V5OmEsb2JmdXNjYXRlZDpsfT1yfHx7fTtvPWF3YWl0IG0obCxhLHMsbil9ZWxzZXtjb25zdHthbGdvcml0aG06YSxjaGFsbGVuZ2U6bCxzYWx0OmN9PXJ8fHt9O289dyhsLGMsYSxzLG4pfWk9by5jb250cm9sbGVyLG8ucHJvbWlzZS50aGVuKGE9PntzZWxmLnBvc3RNZXNzYWdlKGEmJnsuLi5hLHdvcmtlcjohMH0pfSl9fX0pKCk7Cg==",X=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),nt=typeof self<"u"&&self.Blob&&new Blob([X(R)],{type:"text/javascript;charset=utf-8"});function Bn(e){let t;try{if(t=nt&&(self.URL||self.webkitURL).createObjectURL(nt),!t)throw"";const r=new Worker(t,{name:e==null?void 0:e.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;base64,"+R,{name:e==null?void 0:e.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}const Hn="5";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Hn);const Jn=1,Kn=4,qn=8,Qn=16,ei=1,ti=2,sr="[",ur="[!",fr="]",Ye={},H=Symbol(),cr=!1;var dr=Array.isArray,ri=Array.from,wt=Object.keys,Et=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor,ni=Object.getOwnPropertyDescriptors,ii=Object.prototype,li=Array.prototype,Yt=Object.getPrototypeOf;function hr(e){for(var t=0;t<e.length;t++)e[t]()}const le=2,vr=4,it=8,Ft=16,ae=32,lt=64,Ot=128,Te=256,xt=512,J=1024,Ee=2048,at=4096,Fe=8192,Oe=16384,ai=32768,Xt=65536,oi=1<<19,gr=1<<20,ot=Symbol("$state"),_r=Symbol("legacy props"),si=Symbol("");function mr(e){return e===this.v}function ui(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function br(e){return!ui(e,this.v)}function fi(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function ci(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function di(e){throw new Error("https://svelte.dev/e/effect_orphan")}function hi(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function vi(){throw new Error("https://svelte.dev/e/hydration_failed")}function gi(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function _i(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function mi(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function bi(){throw new Error("https://svelte.dev/e/state_unsafe_local_read")}function yi(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}let yr=!1;function de(e){return{f:0,v:e,reactions:null,equals:mr,version:0}}function Xe(e){return pi(de(e))}function pr(e,t=!1){const r=de(e);return t||(r.equals=br),r}function pi(e){return I!==null&&I.f&le&&(ve===null?Pi([e]):ve.push(e)),e}function V(e,t){return I!==null&&zi()&&I.f&(le|Ft)&&(ve===null||!ve.includes(e))&&yi(),wi(e,t)}function wi(e,t){return e.equals(t)||(e.v=t,e.version=Ur(),wr(e,Ee),y!==null&&y.f&J&&!(y.f&ae)&&(Z!==null&&Z.includes(e)?(ge(y,Ee),Tt(y)):Re===null?Vi([e]):Re.push(e))),t}function wr(e,t){var r=e.reactions;if(r!==null)for(var l=r.length,i=0;i<l;i++){var a=r[i],o=a.f;o&Ee||(ge(a,t),o&(J|Te)&&(o&le?wr(a,at):Tt(a)))}}function kt(e){console.warn("https://svelte.dev/e/hydration_mismatch")}let D=!1;function Ze(e){D=e}let z;function xe(e){if(e===null)throw kt(),Ye;return z=e}function We(){return xe(ke(z))}function q(e){if(D){if(ke(z)!==null)throw kt(),Ye;z=e}}function Ei(){for(var e=0,t=z;;){if(t.nodeType===8){var r=t.data;if(r===fr){if(e===0)return t;e-=1}else(r===sr||r===ur)&&(e+=1)}var l=ke(t);t.remove(),t=l}}function oe(e,t=null,r){if(typeof e!="object"||e===null||ot in e)return e;const l=Yt(e);if(l!==ii&&l!==li)return e;var i=new Map,a=dr(e),o=de(0);a&&i.set("length",de(e.length));var d;return new Proxy(e,{defineProperty(u,f,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&_i();var v=i.get(f);return v===void 0?(v=de(c.value),i.set(f,v)):V(v,oe(c.value,d)),!0},deleteProperty(u,f){var c=i.get(f);if(c===void 0)f in u&&i.set(f,de(H));else{if(a&&typeof f=="string"){var v=i.get("length"),g=Number(f);Number.isInteger(g)&&g<v.v&&V(v,g)}V(c,H),Er(o)}return!0},get(u,f,c){var p;if(f===ot)return e;var v=i.get(f),g=f in u;if(v===void 0&&(!g||(p=Ae(u,f))!=null&&p.writable)&&(v=de(oe(g?u[f]:H,d)),i.set(f,v)),v!==void 0){var m=h(v);return m===H?void 0:m}return Reflect.get(u,f,c)},getOwnPropertyDescriptor(u,f){var c=Reflect.getOwnPropertyDescriptor(u,f);if(c&&"value"in c){var v=i.get(f);v&&(c.value=h(v))}else if(c===void 0){var g=i.get(f),m=g==null?void 0:g.v;if(g!==void 0&&m!==H)return{enumerable:!0,configurable:!0,value:m,writable:!0}}return c},has(u,f){var m;if(f===ot)return!0;var c=i.get(f),v=c!==void 0&&c.v!==H||Reflect.has(u,f);if(c!==void 0||y!==null&&(!v||(m=Ae(u,f))!=null&&m.writable)){c===void 0&&(c=de(v?oe(u[f],d):H),i.set(f,c));var g=h(c);if(g===H)return!1}return v},set(u,f,c,v){var M;var g=i.get(f),m=f in u;if(a&&f==="length")for(var p=c;p<g.v;p+=1){var T=i.get(p+"");T!==void 0?V(T,H):p in u&&(T=de(H),i.set(p+"",T))}g===void 0?(!m||(M=Ae(u,f))!=null&&M.writable)&&(g=de(void 0),V(g,oe(c,d)),i.set(f,g)):(m=g.v!==H,V(g,oe(c,d)));var Y=Reflect.getOwnPropertyDescriptor(u,f);if(Y!=null&&Y.set&&Y.set.call(v,c),!m){if(a&&typeof f=="string"){var ne=i.get("length"),F=Number(f);Number.isInteger(F)&&F>=ne.v&&V(ne,F+1)}Er(o)}return!0},ownKeys(u){h(o);var f=Reflect.ownKeys(u).filter(g=>{var m=i.get(g);return m===void 0||m.v!==H});for(var[c,v]of i)v.v!==H&&!(c in u)&&f.push(c);return f},setPrototypeOf(){mi()}})}function Er(e,t=1){V(e,e.v+t)}var xr,kr,Cr;function Zt(){if(xr===void 0){xr=window;var e=Element.prototype,t=Node.prototype;kr=Ae(t,"firstChild").get,Cr=Ae(t,"nextSibling").get,e.__click=void 0,e.__className="",e.__attributes=null,e.__styles=null,e.__e=void 0,Text.prototype.__t=void 0}}function Ct(e=""){return document.createTextNode(e)}function Pe(e){return kr.call(e)}function ke(e){return Cr.call(e)}function Q(e,t){if(!D)return Pe(e);var r=Pe(z);return r===null&&(r=z.appendChild(Ct())),xe(r),r}function Wt(e,t){if(!D){var r=Pe(e);return r instanceof Comment&&r.data===""?ke(r):r}return z}function be(e,t=1,r=!1){let l=D?z:e;for(var i;t--;)i=l,l=ke(l);if(!D)return l;var a=l==null?void 0:l.nodeType;if(r&&a!==3){var o=Ct();return l===null?i==null||i.after(o):l.before(o),xe(o),o}return xe(l),l}function xi(e){e.textContent=""}function st(e){var t=le|Ee;y===null?t|=Te:y.f|=gr;var r=I!==null&&I.f&le?I:null;const l={children:null,ctx:W,deps:null,equals:mr,f:t,fn:e,reactions:null,v:null,version:0,parent:r??y};return r!==null&&(r.children??(r.children=[])).push(l),l}function Rr(e){var t=e.children;if(t!==null){e.children=null;for(var r=0;r<t.length;r+=1){var l=t[r];l.f&le?Ut(l):Ve(l)}}}function ki(e){for(var t=e.parent;t!==null;){if(!(t.f&le))return t;t=t.parent}return null}function Ir(e){var t,r=y;he(ki(e));try{Rr(e),t=Mr(e)}finally{he(r)}return t}function $r(e){var t=Ir(e),r=(He||e.f&Te)&&e.deps!==null?at:J;ge(e,r),e.equals(t)||(e.v=t,e.version=Ur())}function Ut(e){Rr(e),dt(e,0),ge(e,Oe),e.v=e.children=e.deps=e.ctx=e.reactions=null}function Ci(e){y===null&&I===null&&di(),I!==null&&I.f&Te&&ci(),Qt&&fi()}function Ri(e,t){var r=t.last;r===null?t.last=t.first=e:(r.next=e,e.prev=r,t.last=e)}function Ue(e,t,r,l=!0){var i=(e<)!==0,a=y,o={ctx:W,deps:null,deriveds:null,nodes_start:null,nodes_end:null,f:e|Ee,first:null,fn:t,last:null,next:null,parent:i?null:a,prev:null,teardown:null,transitions:null,version:0};if(r){var d=je;try{Xr(!0),At(o),o.f|=ai}catch(c){throw Ve(o),c}finally{Xr(d)}}else t!==null&&Tt(o);var u=r&&o.deps===null&&o.first===null&&o.nodes_start===null&&o.teardown===null&&(o.f&gr)===0;if(!u&&!i&&l&&(a!==null&&Ri(o,a),I!==null&&I.f&le)){var f=I;(f.children??(f.children=[])).push(o)}return o}function Ii(e){const t=Ue(it,null,!1);return ge(t,J),t.teardown=e,t}function Mt(e){Ci();var t=y!==null&&(y.f&ae)!==0&&W!==null&&!W.m;if(t){var r=W;(r.e??(r.e=[])).push({fn:e,effect:y,reaction:I})}else{var l=jt(e);return l}}function Sr(e){const t=Ue(lt,e,!0);return()=>{Ve(t)}}function jt(e){return Ue(vr,e,!1)}function Bt(e){return Ue(it,e,!0)}function Me(e){return Ht(e)}function Ht(e,t=0){return Ue(it|Ft|t,e,!0)}function Rt(e,t=!0){return Ue(it|ae,e,!0,t)}function Nr(e){var t=e.teardown;if(t!==null){const r=Qt,l=I;Zr(!0),Ce(null);try{t.call(null)}finally{Zr(r),Ce(l)}}}function Lr(e){var t=e.deriveds;if(t!==null){e.deriveds=null;for(var r=0;r<t.length;r+=1)Ut(t[r])}}function Ar(e,t=!1){var r=e.first;for(e.first=e.last=null;r!==null;){var l=r.next;Ve(r,t),r=l}}function $i(e){for(var t=e.first;t!==null;){var r=t.next;t.f&ae||Ve(t),t=r}}function Ve(e,t=!0){var r=!1;if((t||e.f&oi)&&e.nodes_start!==null){for(var l=e.nodes_start,i=e.nodes_end;l!==null;){var a=l===i?null:ke(l);l.remove(),l=a}r=!0}Ar(e,t&&!r),Lr(e),dt(e,0),ge(e,Oe);var o=e.transitions;if(o!==null)for(const u of o)u.stop();Nr(e);var d=e.parent;d!==null&&d.first!==null&&Tr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function Tr(e){var t=e.parent,r=e.prev,l=e.next;r!==null&&(r.next=l),l!==null&&(l.prev=r),t!==null&&(t.first===e&&(t.first=l),t.last===e&&(t.last=r))}function Pr(e,t){var r=[];Vr(e,r,!0),Si(r,()=>{Ve(e),t&&t()})}function Si(e,t){var r=e.length;if(r>0){var l=()=>--r||t();for(var i of e)i.out(l)}else t()}function Vr(e,t,r){if(!(e.f&Fe)){if(e.f^=Fe,e.transitions!==null)for(const o of e.transitions)(o.is_global||r)&&t.push(o);for(var l=e.first;l!==null;){var i=l.next,a=(l.f&Xt)!==0||(l.f&ae)!==0;Vr(l,t,a?r:!1),l=i}}}function zr(e){Gr(e,!0)}function Gr(e,t){if(e.f&Fe){ct(e)&&At(e),e.f^=Fe;for(var r=e.first;r!==null;){var l=r.next,i=(r.f&Xt)!==0||(r.f&ae)!==0;Gr(r,i?t:!1),r=l}if(e.transitions!==null)for(const a of e.transitions)(a.is_global||t)&&a.in()}}const Ni=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let It=!1,$t=!1,Jt=[],Kt=[];function Dr(){It=!1;const e=Jt.slice();Jt=[],hr(e)}function Yr(){$t=!1;const e=Kt.slice();Kt=[],hr(e)}function qt(e){It||(It=!0,queueMicrotask(Dr)),Jt.push(e)}function Li(e){$t||($t=!0,Ni(Yr)),Kt.push(e)}function Ai(){It&&Dr(),$t&&Yr()}function Fr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}const Or=0,Ti=1;let St=!1,Nt=Or,ut=!1,ft=null,je=!1,Qt=!1;function Xr(e){je=e}function Zr(e){Qt=e}let ze=[],Be=0,ra=[],I=null;function Ce(e){I=e}let y=null;function he(e){y=e}let ve=null;function Pi(e){ve=e}let Z=null,ee=0,Re=null;function Vi(e){Re=e}let Wr=0,He=!1,W=null;function Ur(){return++Wr}function zi(){return!yr}function ct(e){var o,d;var t=e.f;if(t&Ee)return!0;if(t&at){var r=e.deps,l=(t&Te)!==0;if(r!==null){var i;if(t&xt){for(i=0;i<r.length;i++)((o=r[i]).reactions??(o.reactions=[])).push(e);e.f^=xt}for(i=0;i<r.length;i++){var a=r[i];if(ct(a)&&$r(a),l&&y!==null&&!He&&!((d=a==null?void 0:a.reactions)!=null&&d.includes(e))&&(a.reactions??(a.reactions=[])).push(e),a.version>e.version)return!0}}l||ge(e,J)}return!1}function Gi(e,t){for(var r=t;r!==null;){if(r.f&Ot)try{r.fn(e);return}catch{r.f^=Ot}r=r.parent}throw St=!1,e}function Di(e){return(e.f&Oe)===0&&(e.parent===null||(e.parent.f&Ot)===0)}function Lt(e,t,r,l){if(St){if(r===null&&(St=!1),Di(t))throw e;return}r!==null&&(St=!0);{Gi(e,t);return}}function Mr(e){var g;var t=Z,r=ee,l=Re,i=I,a=He,o=ve,d=W,u=e.f;Z=null,ee=0,Re=null,I=u&(ae|lt)?null:e,He=!je&&(u&Te)!==0,ve=null,W=e.ctx;try{var f=(0,e.fn)(),c=e.deps;if(Z!==null){var v;if(dt(e,ee),c!==null&&ee>0)for(c.length=ee+Z.length,v=0;v<Z.length;v++)c[ee+v]=Z[v];else e.deps=c=Z;if(!He)for(v=ee;v<c.length;v++)((g=c[v]).reactions??(g.reactions=[])).push(e)}else c!==null&&ee<c.length&&(dt(e,ee),c.length=ee);return f}finally{Z=t,ee=r,Re=l,I=i,He=a,ve=o,W=d}}function Yi(e,t){let r=t.reactions;if(r!==null){var l=r.indexOf(e);if(l!==-1){var i=r.length-1;i===0?r=t.reactions=null:(r[l]=r[i],r.pop())}}r===null&&t.f&le&&(Z===null||!Z.includes(t))&&(ge(t,at),t.f&(Te|xt)||(t.f^=xt),dt(t,0))}function dt(e,t){var r=e.deps;if(r!==null)for(var l=t;l<r.length;l++)Yi(e,r[l])}function At(e){var t=e.f;if(!(t&Oe)){ge(e,J);var r=y,l=W;y=e;try{t&Ft?$i(e):Ar(e),Lr(e),Nr(e);var i=Mr(e);e.teardown=typeof i=="function"?i:null,e.version=Wr}catch(a){Lt(a,e,r,l||e.ctx)}finally{y=r}}}function jr(){if(Be>1e3){Be=0;try{hi()}catch(e){if(ft!==null)Lt(e,ft,null);else throw e}}Be++}function Br(e){var t=e.length;if(t!==0){jr();var r=je;je=!0;try{for(var l=0;l<t;l++){var i=e[l];i.f&J||(i.f^=J);var a=[];Hr(i,a),Fi(a)}}finally{je=r}}}function Fi(e){var t=e.length;if(t!==0)for(var r=0;r<t;r++){var l=e[r];if(!(l.f&(Oe|Fe)))try{ct(l)&&(At(l),l.deps===null&&l.first===null&&l.nodes_start===null&&(l.teardown===null?Tr(l):l.fn=null))}catch(i){Lt(i,l,null,l.ctx)}}}function Oi(){if(ut=!1,Be>1001)return;const e=ze;ze=[],Br(e),ut||(Be=0,ft=null)}function Tt(e){Nt===Or&&(ut||(ut=!0,queueMicrotask(Oi))),ft=e;for(var t=e;t.parent!==null;){t=t.parent;var r=t.f;if(r&(lt|ae)){if(!(r&J))return;t.f^=J}}ze.push(t)}function Hr(e,t){var r=e.first,l=[];e:for(;r!==null;){var i=r.f,a=(i&ae)!==0,o=a&&(i&J)!==0,d=r.next;if(!o&&!(i&Fe))if(i&it){if(a)r.f^=J;else try{ct(r)&&At(r)}catch(v){Lt(v,r,null,r.ctx)}var u=r.first;if(u!==null){r=u;continue}}else i&vr&&l.push(r);if(d===null){let v=r.parent;for(;v!==null;){if(e===v)break e;var f=v.next;if(f!==null){r=f;continue e}v=v.parent}}r=d}for(var c=0;c<l.length;c++)u=l[c],t.push(u),Hr(u,t)}function C(e){var t=Nt,r=ze;try{jr();const i=[];Nt=Ti,ze=i,ut=!1,Br(r);var l=e==null?void 0:e();return Ai(),(ze.length>0||i.length>0)&&C(),Be=0,ft=null,l}finally{Nt=t,ze=r}}async function Xi(){await Promise.resolve(),C()}function h(e){var c;var t=e.f,r=(t&le)!==0;if(r&&t&Oe){var l=Ir(e);return Ut(e),l}if(I!==null){ve!==null&&ve.includes(e)&&bi();var i=I.deps;Z===null&&i!==null&&i[ee]===e?ee++:Z===null?Z=[e]:Z.push(e),Re!==null&&y!==null&&y.f&J&&!(y.f&ae)&&Re.includes(e)&&(ge(y,Ee),Tt(y))}else if(r&&e.deps===null)for(var a=e,o=a.parent,d=a;o!==null;)if(o.f&le){var u=o;d=u,o=u.parent}else{var f=o;(c=f.deriveds)!=null&&c.includes(d)||(f.deriveds??(f.deriveds=[])).push(d);break}return r&&(a=e,ct(a)&&$r(a)),e.v}function Je(e){const t=I;try{return I=null,e()}finally{I=t}}const Zi=~(Ee|at|J);function ge(e,t){e.f=e.f&Zi|t}function Jr(e,t=!1,r){W={p:W,c:null,e:null,m:!1,s:e,x:null,l:null}}function Kr(e){const t=W;if(t!==null){e!==void 0&&(t.x=e);const o=t.e;if(o!==null){var r=y,l=I;t.e=null;try{for(var i=0;i<o.length;i++){var a=o[i];he(a.effect),Ce(a.reaction),jt(a.fn)}}finally{he(r),Ce(l)}}W=t.p,t.m=!0}return e||{}}let qr=!1;function Qr(){qr||(qr=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const r of e.target.elements)(t=r.__on_r)==null||t.call(r)})},{capture:!0}))}function en(e){var t=I,r=y;Ce(null),he(null);try{return e()}finally{Ce(t),he(r)}}function Wi(e,t,r,l=r){e.addEventListener(t,()=>en(r));const i=e.__on_r;i?e.__on_r=()=>{i(),l(!0)}:e.__on_r=()=>l(!0),Qr()}const tn=new Set,er=new Set;function Ui(e,t,r,l){function i(a){if(l.capture||ht.call(t,a),!a.cancelBubble)return en(()=>r.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?qt(()=>{t.addEventListener(e,i,l)}):t.addEventListener(e,i,l),i}function Mi(e,t,r,l,i){var a={capture:l,passive:i},o=Ui(e,t,r,a);(t===document.body||t===window||t===document)&&Ii(()=>{t.removeEventListener(e,o,a)})}function ji(e){for(var t=0;t<e.length;t++)tn.add(e[t]);for(var r of er)r(e)}function ht(e){var F;var t=this,r=t.ownerDocument,l=e.type,i=((F=e.composedPath)==null?void 0:F.call(e))||[],a=i[0]||e.target,o=0,d=e.__root;if(d){var u=i.indexOf(d);if(u!==-1&&(t===document||t===window)){e.__root=t;return}var f=i.indexOf(t);if(f===-1)return;u<=f&&(o=u)}if(a=i[o]||e.target,a!==t){Et(e,"currentTarget",{configurable:!0,get(){return a||r}});var c=I,v=y;Ce(null),he(null);try{for(var g,m=[];a!==null;){var p=a.assignedSlot||a.parentNode||a.host||null;try{var T=a["__"+l];if(T!==void 0&&!a.disabled)if(dr(T)){var[Y,...ne]=T;Y.apply(a,[e,...ne])}else T.call(a,e)}catch(M){g?m.push(M):g=M}if(e.cancelBubble||p===t||p===null)break;a=p}if(g){for(let M of m)queueMicrotask(()=>{throw M});throw g}}finally{e.__root=t,delete e.currentTarget,Ce(c),he(v)}}}function rn(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function Ie(e,t){var r=y;r.nodes_start===null&&(r.nodes_start=e,r.nodes_end=t)}function se(e,t){var r=(t&ei)!==0,l=(t&ti)!==0,i,a=!e.startsWith("<!>");return()=>{if(D)return Ie(z,null),z;i===void 0&&(i=rn(a?e:"<!>"+e),r||(i=Pe(i)));var o=l?document.importNode(i,!0):i.cloneNode(!0);if(r){var d=Pe(o),u=o.lastChild;Ie(d,u)}else Ie(o,o);return o}}function Bi(){if(D)return Ie(z,null),z;var e=document.createDocumentFragment(),t=document.createComment(""),r=Ct();return e.append(t,r),Ie(t,r),e}function te(e,t){if(D){y.nodes_end=z,We();return}e!==null&&e.before(t)}const Hi=["touchstart","touchmove"];function Ji(e){return Hi.includes(e)}function nn(e,t){return ln(e,t)}function Ki(e,t){Zt(),t.intro=t.intro??!1;const r=t.target,l=D,i=z;try{for(var a=Pe(r);a&&(a.nodeType!==8||a.data!==sr);)a=ke(a);if(!a)throw Ye;Ze(!0),xe(a),We();const o=ln(e,{...t,anchor:a});if(z===null||z.nodeType!==8||z.data!==fr)throw kt(),Ye;return Ze(!1),o}catch(o){if(o===Ye)return t.recover===!1&&vi(),Zt(),xi(r),Ze(!1),nn(e,t);throw o}finally{Ze(l),xe(i)}}const Ke=new Map;function ln(e,{target:t,anchor:r,props:l={},events:i,context:a,intro:o=!0}){Zt();var d=new Set,u=v=>{for(var g=0;g<v.length;g++){var m=v[g];if(!d.has(m)){d.add(m);var p=Ji(m);t.addEventListener(m,ht,{passive:p});var T=Ke.get(m);T===void 0?(document.addEventListener(m,ht,{passive:p}),Ke.set(m,1)):Ke.set(m,T+1)}}};u(ri(tn)),er.add(u);var f=void 0,c=Sr(()=>{var v=r??t.appendChild(Ct());return Rt(()=>{if(a){Jr({});var g=W;g.c=a}i&&(l.$$events=i),D&&Ie(v,null),f=e(v,l)||{},D&&(y.nodes_end=z),a&&Kr()}),()=>{var p;for(var g of d){t.removeEventListener(g,ht);var m=Ke.get(g);--m===0?(document.removeEventListener(g,ht),Ke.delete(g)):Ke.set(g,m)}er.delete(u),tr.delete(f),v!==r&&((p=v.parentNode)==null||p.removeChild(v))}});return tr.set(f,c),f}let tr=new WeakMap;function qi(e){const t=tr.get(e);t&&t()}function $e(e,t,r=!1){D&&We();var l=e,i=null,a=null,o=H,d=r?Xt:0,u=!1;const f=(v,g=!0)=>{u=!0,c(g,v)},c=(v,g)=>{if(o===(o=v))return;let m=!1;if(D){const p=l.data===ur;!!o===p&&(l=Ei(),xe(l),Ze(!1),m=!0)}o?(i?zr(i):g&&(i=Rt(()=>g(l))),a&&Pr(a,()=>{a=null})):(a?zr(a):g&&(a=Rt(()=>g(l))),i&&Pr(i,()=>{i=null})),m&&Ze(!0)};Ht(()=>{u=!1,t(f),u||c(null,null)},d),D&&(l=z)}function qe(e,t,r,l,i){var a=e,o="",d;Ht(()=>{if(o===(o=t()??"")){D&&We();return}d!==void 0&&(Ve(d),d=void 0),o!==""&&(d=Rt(()=>{if(D){z.data;for(var u=We(),f=u;u!==null&&(u.nodeType!==8||u.data!=="");)f=u,u=ke(u);if(u===null)throw kt(),Ye;Ie(z,f),a=xe(u);return}var c=o+"",v=rn(c);Ie(Pe(v),v.lastChild),a.before(v)}))})}function Qi(e,t,r,l,i){var d;D&&We();var a=(d=t.$$slots)==null?void 0:d[r],o=!1;a===!0&&(a=t.children,o=!0),a===void 0||a(e,o?()=>l:l)}function el(e,t){qt(()=>{var r=e.getRootNode(),l=r.host?r:r.head??r.ownerDocument.head;if(!l.querySelector("#"+t.hash)){const i=document.createElement("style");i.id=t.hash,i.textContent=t.code,l.appendChild(i)}})}function an(e){if(D){var t=!1,r=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var l=e.value;ue(e,"value",null),e.value=l}if(e.hasAttribute("checked")){var i=e.checked;ue(e,"checked",null),e.checked=i}}};e.__on_r=r,Li(r),Qr()}}function tl(e,t){var r=e.__attributes??(e.__attributes={});r.value===(r.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!=="PROGRESS")||(e.value=t)}function ue(e,t,r,l){var i=e.__attributes??(e.__attributes={});D&&(i[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||i[t]!==(i[t]=r)&&(t==="style"&&"__styles"in e&&(e.__styles={}),t==="loading"&&(e[si]=r),r==null?e.removeAttribute(t):typeof r!="string"&&rl(e).includes(t)?e[t]=r:e.setAttribute(t,r))}var on=new Map;function rl(e){var t=on.get(e.nodeName);if(t)return t;on.set(e.nodeName,t=[]);for(var r,l=Yt(e),i=Element.prototype;i!==l;){r=ni(l);for(var a in r)r[a].set&&t.push(a);l=Yt(l)}return t}function nl(e,t,r){if(r){if(e.classList.contains(t))return;e.classList.add(t)}else{if(!e.classList.contains(t))return;e.classList.remove(t)}}function il(e,t,r=t){Wi(e,"change",l=>{var i=l?e.defaultChecked:e.checked;r(i)}),(D&&e.defaultChecked!==e.checked||Je(t)==null)&&r(e.checked),Bt(()=>{var l=t();e.checked=!!l})}function sn(e,t){return e===t||(e==null?void 0:e[ot])===t}function un(e={},t,r,l){return jt(()=>{var i,a;return Bt(()=>{i=a,a=[],Je(()=>{e!==r(...a)&&(t(e,...a),i&&sn(r(...i),e)&&t(null,...i))})}),()=>{qt(()=>{a&&sn(r(...a),e)&&t(null,...a)})}}),e}function fn(e){W===null&&Fr(),Mt(()=>{const t=Je(e);if(typeof t=="function")return t})}function ll(e){W===null&&Fr(),fn(()=>()=>Je(e))}let Pt=!1;function al(e){var t=Pt;try{return Pt=!1,[e(),Pt]}finally{Pt=t}}function ol(e){for(var t=y,r=y;t!==null&&!(t.f&(ae|lt));)t=t.parent;try{return he(t),e()}finally{he(r)}}function N(e,t,r,l){var Se;var i=(r&Jn)!==0,a=!yr,o=(r&qn)!==0,d=(r&Qn)!==0,u=!1,f;o?[f,u]=al(()=>e[t]):f=e[t];var c=ot in e||_r in e,v=((Se=Ae(e,t))==null?void 0:Se.set)??(c&&o&&t in e?S=>e[t]=S:void 0),g=l,m=!0,p=!1,T=()=>(p=!0,m&&(m=!1,d?g=Je(l):g=l),g);f===void 0&&l!==void 0&&(v&&a&&gi(),f=T(),v&&v(f));var Y;if(Y=()=>{var S=e[t];return S===void 0?T():(m=!0,p=!1,S)},!(r&Kn))return Y;if(v){var ne=e.$$legacy;return function(S,j){return arguments.length>0?((!j||ne||u)&&v(j?Y():S),S):Y()}}var F=!1,M=!1,pe=pr(f),U=ol(()=>st(()=>{var S=Y(),j=h(pe);return F?(F=!1,M=!0,j):(M=!1,pe.v=S)}));return i||(U.equals=br),function(S,j){if(arguments.length>0){const _e=j?h(U):o?oe(S):S;return U.equals(_e)||(F=!0,V(pe,_e),p&&g!==void 0&&(g=_e),Je(()=>h(U))),S}return h(U)}}function sl(e){return new ul(e)}class ul{constructor(t){ar(this,ye);ar(this,re);var a;var r=new Map,l=(o,d)=>{var u=pr(d);return r.set(o,u),u};const i=new Proxy({...t.props||{},$$events:{}},{get(o,d){return h(r.get(d)??l(d,Reflect.get(o,d)))},has(o,d){return d===_r?!0:(h(r.get(d)??l(d,Reflect.get(o,d))),Reflect.has(o,d))},set(o,d,u){return V(r.get(d)??l(d,u),u),Reflect.set(o,d,u)}});or(this,re,(t.hydrate?Ki:nn)(t.component,{target:t.target,anchor:t.anchor,props:i,context:t.context,intro:t.intro??!1,recover:t.recover})),(!((a=t==null?void 0:t.props)!=null&&a.$$host)||t.sync===!1)&&C(),or(this,ye,i.$$events);for(const o of Object.keys(K(this,re)))o==="$set"||o==="$destroy"||o==="$on"||Et(this,o,{get(){return K(this,re)[o]},set(d){K(this,re)[o]=d},enumerable:!0});K(this,re).$set=o=>{Object.assign(i,o)},K(this,re).$destroy=()=>{qi(K(this,re))}}$set(t){K(this,re).$set(t)}$on(t,r){K(this,ye)[t]=K(this,ye)[t]||[];const l=(...i)=>r.call(this,...i);return K(this,ye)[t].push(l),()=>{K(this,ye)[t]=K(this,ye)[t].filter(i=>i!==l)}}$destroy(){K(this,re).$destroy()}}ye=new WeakMap,re=new WeakMap;let cn;typeof HTMLElement=="function"&&(cn=class extends HTMLElement{constructor(t,r,l){super();ce(this,"$$ctor");ce(this,"$$s");ce(this,"$$c");ce(this,"$$cn",!1);ce(this,"$$d",{});ce(this,"$$r",!1);ce(this,"$$p_d",{});ce(this,"$$l",{});ce(this,"$$l_u",new Map);ce(this,"$$me");this.$$ctor=t,this.$$s=r,l&&this.attachShadow({mode:"open"})}addEventListener(t,r,l){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(r),this.$$c){const i=this.$$c.$on(t,r);this.$$l_u.set(r,i)}super.addEventListener(t,r,l)}removeEventListener(t,r,l){if(super.removeEventListener(t,r,l),this.$$c){const i=this.$$l_u.get(r);i&&(i(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let t=function(i){return a=>{const o=document.createElement("slot");i!=="default"&&(o.name=i),te(a,o)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},l=fl(this);for(const i of this.$$s)i in l&&(i==="default"&&!this.$$d.children?(this.$$d.children=t(i),r.default=!0):r[i]=t(i));for(const i of this.attributes){const a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=Vt(a,i.value,this.$$p_d,"toProp"))}for(const i in this.$$p_d)!(i in this.$$d)&&this[i]!==void 0&&(this.$$d[i]=this[i],delete this[i]);this.$$c=sl({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=Sr(()=>{Bt(()=>{var i;this.$$r=!0;for(const a of wt(this.$$c)){if(!((i=this.$$p_d[a])!=null&&i.reflect))continue;this.$$d[a]=this.$$c[a];const o=Vt(a,this.$$d[a],this.$$p_d,"toAttribute");o==null?this.removeAttribute(this.$$p_d[a].attribute||a):this.setAttribute(this.$$p_d[a].attribute||a,o)}this.$$r=!1})});for(const i in this.$$l)for(const a of this.$$l[i]){const o=this.$$c.$on(i,a);this.$$l_u.set(a,o)}this.$$l={}}}attributeChangedCallback(t,r,l){var i;this.$$r||(t=this.$$g_p(t),this.$$d[t]=Vt(t,l,this.$$p_d,"toProp"),(i=this.$$c)==null||i.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return wt(this.$$p_d).find(r=>this.$$p_d[r].attribute===t||!this.$$p_d[r].attribute&&r.toLowerCase()===t)||t}});function Vt(e,t,r,l){var a;const i=(a=r[e])==null?void 0:a.type;if(t=i==="Boolean"&&typeof t!="boolean"?t!=null:t,!l||!r[e])return t;if(l==="toAttribute")switch(i){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(i){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function fl(e){const t={};return e.childNodes.forEach(r=>{t[r.slot||"default"]=!0}),t}function cl(e,t,r,l,i,a){let o=class extends cn{constructor(){super(e,r,i),this.$$p_d=t}static get observedAttributes(){return wt(t).map(d=>(t[d].attribute||d).toLowerCase())}};return wt(t).forEach(d=>{Et(o.prototype,d,{get(){return this.$$c&&d in this.$$c?this.$$c[d]:this.$$d[d]},set(u){var v;u=Vt(d,u,t),this.$$d[d]=u;var f=this.$$c;if(f){var c=(v=Ae(f,d))==null?void 0:v.get;c?f[d]=u:f.$set({[d]:u})}}})}),l.forEach(d=>{Et(o.prototype,d,{get(){var u;return(u=this.$$c)==null?void 0:u[d]}})}),e.element=o,o}const dn=new TextEncoder;function dl(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function hl(e,t="SHA-256",r=1e5){const l=Date.now().toString(16);e||(e=Math.round(Math.random()*r));const i=await hn(l,e,t);return{algorithm:t,challenge:i,salt:l,signature:""}}async function hn(e,t,r){if(typeof crypto>"u"||!("subtle"in crypto)||!("digest"in crypto.subtle))throw new Error("Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).");return dl(await crypto.subtle.digest(r.toUpperCase(),dn.encode(e+t)))}function vl(e,t,r="SHA-256",l=1e6,i=0){const a=new AbortController,o=Date.now();return{promise:(async()=>{for(let u=i;u<=l;u+=1){if(a.signal.aborted)return null;if(await hn(t,u,r)===e)return{number:u,took:Date.now()-o}}return null})(),controller:a}}function gl(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function _l(e){const t=atob(e),r=new Uint8Array(t.length);for(let l=0;l<t.length;l++)r[l]=t.charCodeAt(l);return r}function ml(e,t=12){const r=new Uint8Array(t);for(let l=0;l<t;l++)r[l]=e%256,e=Math.floor(e/256);return r}async function bl(e,t="",r=1e6,l=0){const i="AES-GCM",a=new AbortController,o=Date.now(),d=async()=>{for(let c=l;c<=r;c+=1){if(a.signal.aborted||!u||!f)return null;try{const v=await crypto.subtle.decrypt({name:i,iv:ml(c)},u,f);if(v)return{clearText:new TextDecoder().decode(v),took:Date.now()-o}}catch{}}return null};let u=null,f=null;try{f=_l(e);const c=await crypto.subtle.digest("SHA-256",dn.encode(t));u=await crypto.subtle.importKey("raw",c,i,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:a}}return{promise:d(),controller:a}}var w=(e=>(e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(w||{}),yl=se('<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="svelte-ddsc3z"><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" fill="currentColor" opacity=".25" class="svelte-ddsc3z"></path><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z" fill="currentColor" class="altcha-spinner svelte-ddsc3z"></path></svg>'),pl=se('<span role="status" aria-live="polite" class="svelte-ddsc3z"><!></span> <input type="hidden" class="svelte-ddsc3z">',1),wl=se('<span role="status" aria-live="polite" class="svelte-ddsc3z"><!></span>'),El=se('<label class="svelte-ddsc3z"><!></label>'),xl=se('<div class="svelte-ddsc3z"><a target="_blank" class="altcha-logo svelte-ddsc3z"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="svelte-ddsc3z"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor" class="svelte-ddsc3z"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor" class="svelte-ddsc3z"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor" class="svelte-ddsc3z"></path></svg></a></div>'),kl=se('<div class="svelte-ddsc3z"><!></div>'),Cl=se('<div class="svelte-ddsc3z"><!></div>'),Rl=se('<div class="altcha-error svelte-ddsc3z"><svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="svelte-ddsc3z"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" class="svelte-ddsc3z"></path></svg> <!></div>'),Il=se('<div class="altcha-footer svelte-ddsc3z"><div class="svelte-ddsc3z"><!></div></div>'),$l=se('<div class="altcha-anchor-arrow svelte-ddsc3z"></div>'),Sl=se('<!> <div class="altcha svelte-ddsc3z"><div class="altcha-main svelte-ddsc3z"><!> <div class="altcha-checkbox svelte-ddsc3z"><input type="checkbox" class="svelte-ddsc3z"></div> <div class="altcha-label svelte-ddsc3z"><!></div> <!></div> <!> <!> <!></div>',1);const Nl={hash:"svelte-ddsc3z",code:`.altcha.svelte-ddsc3z {background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left;}.altcha.svelte-ddsc3z:focus-within {border-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z {background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999;}.altcha[data-floating=top].svelte-ddsc3z .altcha-anchor-arrow:where(.svelte-ddsc3z) {border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto;}.altcha[data-floating=bottom].svelte-ddsc3z:focus-within::after {border-bottom-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating=top].svelte-ddsc3z:focus-within::after {border-top-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z:not([data-state=unverified]) {display:block;}.altcha-anchor-arrow.svelte-ddsc3z {border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:"";height:0;left:12px;position:absolute;top:-12px;width:0;}.altcha-main.svelte-ddsc3z {align-items:center;display:flex;gap:0.4rem;padding:0.7rem;}.altcha-label.svelte-ddsc3z {flex-grow:1;}.altcha-label.svelte-ddsc3z label:where(.svelte-ddsc3z) {cursor:pointer;}.altcha-logo.svelte-ddsc3z {color:currentColor;opacity:0.3;}.altcha-logo.svelte-ddsc3z:hover {opacity:1;}.altcha-error.svelte-ddsc3z {color:var(--altcha-color-error-text, #f23939);display:flex;font-size:0.85rem;gap:0.3rem;padding:0 0.7rem 0.7rem;}.altcha-footer.svelte-ddsc3z {align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:0.75rem;opacity:0.4;padding:0.2rem 0.7rem;text-align:right;}.altcha-footer.svelte-ddsc3z:hover {opacity:1;}.altcha-footer.svelte-ddsc3z > :where(.svelte-ddsc3z):first-child {flex-grow:1;}.altcha-footer.svelte-ddsc3z a {color:currentColor;}.altcha-checkbox.svelte-ddsc3z {display:flex;align-items:center;height:24px;width:24px;}.altcha-checkbox.svelte-ddsc3z input:where(.svelte-ddsc3z) {width:18px;height:18px;margin:0;}.altcha-hidden.svelte-ddsc3z {display:none;}.altcha-spinner.svelte-ddsc3z {
|
|
2
|
+
animation: svelte-ddsc3z-altcha-spinner 0.75s infinite linear;transform-origin:center;}
|
|
3
|
+
|
|
4
|
+
@keyframes svelte-ddsc3z-altcha-spinner {
|
|
5
|
+
100% {
|
|
6
|
+
transform: rotate(360deg);
|
|
7
|
+
}
|
|
8
|
+
}`};function vn(e,t){var Zn,Wn;Jr(t,!0),el(e,Nl);let r=N(t,"auto",7,void 0),l=N(t,"blockspam",7,void 0),i=N(t,"challengeurl",7,void 0),a=N(t,"challengejson",7,void 0),o=N(t,"customfetch",7,void 0),d=N(t,"debug",7,!1),u=N(t,"delay",7,0),f=N(t,"expire",7,void 0),c=N(t,"floating",7,void 0),v=N(t,"floatinganchor",7,void 0),g=N(t,"floatingoffset",7,void 0),m=N(t,"hidefooter",7,!1),p=N(t,"hidelogo",7,!1),T=N(t,"name",7,"altcha"),Y=N(t,"maxnumber",7,1e6),ne=N(t,"mockerror",7,!1),F=N(t,"obfuscated",7,void 0),M=N(t,"plugins",7,void 0),pe=N(t,"refetchonexpire",7,!0),U=N(t,"spamfilter",7,!1),Se=N(t,"strings",7,void 0),S=N(t,"test",7,!1),j=N(t,"verifyurl",7,void 0),_e=N(t,"workers",23,()=>Math.min(16,navigator.hardwareConcurrency||8)),vt=N(t,"workerurl",7,void 0);const gn=["SHA-256","SHA-384","SHA-512"],_n="Visit Altcha.org",mn="https://altcha.org/",gt=(n,s)=>{t.$$host.dispatchEvent(new CustomEvent(n,{detail:s}))},bn=(Wn=(Zn=document.documentElement.lang)==null?void 0:Zn.split("-"))==null?void 0:Wn[0],rr=st(()=>{var n;return i()&&new URL(i(),location.origin).host.endsWith(".altcha.org")&&!!((n=i())!=null&&n.includes("apiKey=ckey_"))}),nr=st(()=>a()?Sn(a()):void 0),yn=st(()=>Se()?Sn(Se()):{}),ie=st(()=>{var n;return{ariaLinkLabel:_n,error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:`Protected by <a href="${mn}" target="_blank" aria-label="${((n=h(yn))==null?void 0:n.ariaLinkLabel)||_n}">ALTCHA</a>`,label:"I'm not a robot",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait.",...h(yn)}});let Qe=Xe(!1),L=Xe(oe(w.UNVERIFIED)),B=Xe(void 0),_t=Xe(null),et=null,E=null,tt=Xe(null),me=null,Ne=[],Ge=Xe(null);Mt(()=>{Dl(h(tt))}),Mt(()=>{Yl(h(L))}),ll(()=>{Ll(),E&&(E.removeEventListener("submit",Cn),E.removeEventListener("reset",Rn),E.removeEventListener("focusin",kn),E=null),me&&(clearTimeout(me),me=null),document.removeEventListener("click",En),document.removeEventListener("scroll",xn),window.removeEventListener("resize",$n)}),fn(()=>{var n;A("mounted","1.1.0"),A("workers",_e()),zl(),A("plugins",Ne.length?Ne.map(s=>s.constructor.pluginName).join(", "):"none"),S()&&A("using test mode"),f()&&Gt(f()),r()!==void 0&&A("auto",r()),c()!==void 0&&Nn(c()),E=(n=h(B))==null?void 0:n.closest("form"),E&&(E.addEventListener("submit",Cn,{capture:!0}),E.addEventListener("reset",Rn),r()==="onfocus"&&E.addEventListener("focusin",kn)),r()==="onload"&&(F()?mt():Le()),h(rr)&&(m()||p())&&A("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame(()=>{gt("load")})});function pn(n,s){return btoa(JSON.stringify({algorithm:n.algorithm,challenge:n.challenge,number:s.number,salt:n.salt,signature:n.signature,test:S()?!0:void 0,took:s.took}))}function Ll(){for(const n of Ne)n.destroy()}function wn(){i()&&pe()&&h(L)===w.VERIFIED?Le():bt(w.EXPIRED,h(ie).expired)}async function Al(){var n;if(ne())throw A("mocking error"),new Error("Mocked error.");if(h(nr))return A("using provided json data"),h(nr);if(S())return A("generating test challenge",{test:S()}),hl(typeof S()!="boolean"?+S():void 0);{if(!i()&&E){const P=E.getAttribute("action");P!=null&&P.includes("/form/")&&i(P+"/altcha")}if(!i())throw new Error("Attribute challengeurl not set.");A("fetching challenge from",i());let s=null,_=null;if(o())if(A("using customfetch"),typeof o()=="string"){if(s=globalThis[o()]||null,!s)throw new Error(`Custom fetch function not found: ${o()}`)}else s=o();const x={headers:U()!==!1?{"x-altcha-spam-filter":"1"}:{}};if(s){if(_=await s(i(),x),!_||!(_ instanceof Response))throw new Error("Custom fetch function did not return a response.")}else _=await fetch(i(),x);if(_.status!==200)throw new Error(`Server responded with ${_.status}.`);const G=_.headers.get("Expires"),$=_.headers.get("X-Altcha-Config"),b=await _.json(),O=new URLSearchParams((n=b.salt.split("?"))==null?void 0:n[1]),we=O.get("expires")||O.get("expire");if(we){const P=new Date(+we*1e3),fe=isNaN(P.getTime())?0:P.getTime()-Date.now();fe>0&&Gt(fe)}if($)try{const P=JSON.parse($);P&&typeof P=="object"&&(P.verifyurl&&(P.verifyurl=new URL(P.verifyurl,new URL(i())).toString()),Tn(P))}catch(P){A("unable to configure from X-Altcha-Config",P)}if(!f()&&(G!=null&&G.length)){const P=Date.parse(G);if(P){const fe=P-Date.now();fe>0&&Gt(fe)}}return b}}function Tl(n){var _;const s=E==null?void 0:E.querySelector(typeof n=="string"?`input[name="${n}"]`:'input[type="email"]:not([data-no-spamfilter])');return((_=s==null?void 0:s.value)==null?void 0:_.slice(s.value.indexOf("@")))||void 0}function Pl(){return U()==="ipAddress"?{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:!1,expectedCountries:void 0,expectedLanguages:void 0,fields:!1,ipAddress:void 0,text:void 0,timeZone:void 0}:typeof U()=="object"?U():{blockedCountries:void 0,classifier:void 0,disableRules:void 0,email:void 0,expectedCountries:void 0,expectedLanguages:void 0,fields:void 0,ipAddress:void 0,text:void 0,timeZone:void 0}}function Vl(n){return[...(E==null?void 0:E.querySelectorAll(n!=null&&n.length?n.map(_=>`input[name="${_}"]`).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])'))||[]].reduce((_,x)=>{const G=x.name,$=x.value;return G&&$&&(_[G]=/\n/.test($)?$.replace(new RegExp("(?<!\\r)\\n","g"),`\r
|
|
9
|
+
`):$),_},{})}function zl(){const n=M()!==void 0?M().split(","):void 0;for(const s of globalThis.altchaPlugins)(!n||n.includes(s.pluginName))&&Ne.push(new s({el:h(B),clarify:mt,dispatch:gt,getConfiguration:Pn,getFloatingAnchor:Vn,getState:zn,log:A,reset:bt,solve:An,setState:De,setFloatingAnchor:Gn,verify:Le}))}function A(...n){(d()||n.some(s=>s instanceof Error))&&console[n[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${T()}]`,...n)}function Gl(){[w.UNVERIFIED,w.ERROR,w.EXPIRED].includes(h(L))?U()!==!1&&(E==null?void 0:E.reportValidity())===!1?V(Qe,!1):F()?mt():Le():V(Qe,!0)}function En(n){const s=n.target;c()&&s&&!h(B).contains(s)&&(h(L)===w.VERIFIED||r()==="off"&&h(L)===w.UNVERIFIED)&&(h(B).style.display="none")}function xn(){c()&&h(L)!==w.UNVERIFIED&&zt()}function Dl(n){for(const s of Ne)typeof s.onErrorChange=="function"&&s.onErrorChange(h(tt))}function kn(n){h(L)===w.UNVERIFIED&&Le()}function Cn(n){E&&r()==="onsubmit"?h(L)===w.UNVERIFIED?(n.preventDefault(),n.stopPropagation(),Le().then(()=>{E==null||E.requestSubmit()})):h(L)!==w.VERIFIED&&(n.preventDefault(),n.stopPropagation(),h(L)===w.VERIFYING&&In()):E&&c()&&r()==="off"&&h(L)===w.UNVERIFIED&&(n.preventDefault(),n.stopPropagation(),h(B).style.display="block",zt())}function Rn(){bt()}function In(){h(L)===w.VERIFYING&&h(ie).waitAlert&&alert(h(ie).waitAlert)}function Yl(n){for(const s of Ne)typeof s.onStateChange=="function"&&s.onStateChange(h(L));c()&&h(L)!==w.UNVERIFIED&&requestAnimationFrame(()=>{zt()}),V(Qe,h(L)===w.VERIFIED)}function $n(){c()&&zt()}function Sn(n){return JSON.parse(n)}function zt(n=20){if(h(B))if(et||(et=(v()?document.querySelector(v()):E==null?void 0:E.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||E),et){const s=parseInt(g(),10)||12,_=et.getBoundingClientRect(),x=h(B).getBoundingClientRect(),G=document.documentElement.clientHeight,$=document.documentElement.clientWidth,b=c()==="auto"?_.bottom+x.height+s+n>G:c()==="top",O=Math.max(n,Math.min($-n-x.width,_.left+_.width/2-x.width/2));if(b?h(B).style.top=`${_.top-(x.height+s)}px`:h(B).style.top=`${_.bottom+s}px`,h(B).style.left=`${O}px`,h(B).setAttribute("data-floating",b?"top":"bottom"),h(_t)){const we=h(_t).getBoundingClientRect();h(_t).style.left=_.left-O+_.width/2-we.width/2+"px"}}else A("unable to find floating anchor element")}async function Fl(n){if(!j())throw new Error("Attribute verifyurl not set.");A("requesting server verification from",j());const s={payload:n};if(U()!==!1){const{blockedCountries:G,classifier:$,disableRules:b,email:O,expectedLanguages:we,expectedCountries:P,fields:fe,ipAddress:pt,text:Ql,timeZone:Un}=Pl();s.blockedCountries=G,s.classifier=$,s.disableRules=b,s.email=O===!1?void 0:Tl(O),s.expectedCountries=P,s.expectedLanguages=we||(bn?[bn]:void 0),s.fields=fe===!1?void 0:Vl(fe),s.ipAddress=pt===!1?void 0:pt||"auto",s.text=Ql,s.timeZone=Un===!1?void 0:Un||gl()}const _=await fetch(j(),{body:JSON.stringify(s),headers:{"content-type":"application/json"},method:"POST"});if(_.status!==200)throw new Error(`Server responded with ${_.status}.`);const x=await _.json();if(x!=null&&x.payload&&V(Ge,oe(x.payload)),gt("serververification",x),l()&&x.classification==="BAD")throw new Error("SpamFilter returned negative classification.")}function Gt(n){A("expire",n),me&&(clearTimeout(me),me=null),n<1?wn():me=setTimeout(wn,n)}function Nn(n){A("floating",n),c()!==n&&(h(B).style.left="",h(B).style.top=""),c(n===!0||n===""?"auto":n===!1||n==="false"?void 0:c()),c()?(r()||r("onsubmit"),document.addEventListener("scroll",xn),document.addEventListener("click",En),window.addEventListener("resize",$n)):r()==="onsubmit"&&r(void 0)}function Ln(n){if(!n.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(n.signature===void 0)throw new Error("Invalid challenge. Property signature is missing.");if(!gn.includes(n.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${gn.join(", ")}`);if(!n.challenge||n.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!n.salt||n.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function An(n){let s=null;if("Worker"in window){try{s=await Ol(n,n.maxnumber)}catch(_){A(_)}if((s==null?void 0:s.number)!==void 0||"obfuscated"in n)return{data:n,solution:s}}if("obfuscated"in n){const _=await bl(n.obfuscated,n.key,n.maxnumber);return{data:n,solution:await _.promise}}return{data:n,solution:await vl(n.challenge,n.salt,n.algorithm,n.maxnumber||Y()).promise}}async function Ol(n,s=typeof S()=="number"?S():Y(),_=Math.ceil(_e())){const x=[];_=Math.min(16,Math.max(1,_));for(let b=0;b<_;b++)x.push(altchaCreateWorker(vt()));const G=Math.ceil(s/_),$=await Promise.all(x.map((b,O)=>{const we=O*G;return new Promise(P=>{b.addEventListener("message",fe=>{if(fe.data)for(const pt of x)pt!==b&&pt.postMessage({type:"abort"});P(fe.data)}),b.postMessage({payload:n,max:we+G,start:we,type:"work"})})}));for(const b of x)b.terminate();return $.find(b=>!!b)||null}async function mt(){if(!F()){De(w.ERROR);return}const n=Ne.find(s=>s.constructor.pluginName==="obfuscation");if(!n||!("clarify"in n)){De(w.ERROR),A("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.");return}if("clarify"in n&&typeof n.clarify=="function")return n.clarify()}function Tn(n){n.obfuscated!==void 0&&F(n.obfuscated),n.auto!==void 0&&(r(n.auto),r()==="onload"&&(F()?mt():Le())),n.blockspam!==void 0&&l(!!n.blockspam),n.customfetch!==void 0&&o(n.customfetch),n.floatinganchor!==void 0&&v(n.floatinganchor),n.delay!==void 0&&u(n.delay),n.floatingoffset!==void 0&&g(n.floatingoffset),n.floating!==void 0&&Nn(n.floating),n.expire!==void 0&&(Gt(n.expire),f(n.expire)),n.challenge&&(a(typeof n.challenge=="string"?n.challenge:JSON.stringify(n.challenge)),Ln(h(nr))),n.challengeurl!==void 0&&i(n.challengeurl),n.debug!==void 0&&d(!!n.debug),n.hidefooter!==void 0&&m(!!n.hidefooter),n.hidelogo!==void 0&&p(!!n.hidelogo),n.maxnumber!==void 0&&Y(+n.maxnumber),n.mockerror!==void 0&&ne(!!n.mockerror),n.name!==void 0&&T(n.name),n.refetchonexpire!==void 0&&pe(!!n.refetchonexpire),n.spamfilter!==void 0&&U(typeof n.spamfilter=="object"?n.spamfilter:!!n.spamfilter),n.strings&&Se(typeof n.strings=="string"?n.strings:JSON.stringify(n.strings)),n.test!==void 0&&S(typeof n.test=="number"?n.test:!!n.test),n.verifyurl!==void 0&&j(n.verifyurl),n.workers!==void 0&&_e(+n.workers),n.workerurl!==void 0&&vt(n.workerurl)}function Pn(){return{auto:r(),blockspam:l(),challengeurl:i(),debug:d(),delay:u(),expire:f(),floating:c(),floatinganchor:v(),floatingoffset:g(),hidefooter:m(),hidelogo:p(),name:T(),maxnumber:Y(),mockerror:ne(),obfuscated:F(),refetchonexpire:pe(),spamfilter:U(),strings:h(ie),test:S(),verifyurl:j(),workers:_e(),workerurl:vt()}}function Vn(){return et}function Xl(n){return Ne.find(s=>s.constructor.pluginName===n)}function zn(){return h(L)}function bt(n=w.UNVERIFIED,s=null){me&&(clearTimeout(me),me=null),V(Qe,!1),V(Ge,null),De(n,s)}function Gn(n){et=n}function De(n,s=null){V(L,oe(n)),V(tt,oe(s)),gt("statechange",{payload:h(Ge),state:h(L)})}async function Le(){return bt(w.VERIFYING),await new Promise(n=>setTimeout(n,u()||0)),Al().then(n=>(Ln(n),A("challenge",n),An(n))).then(({data:n,solution:s})=>{if(A("solution",s),"challenge"in n&&s&&!("clearText"in s))if((s==null?void 0:s.number)!==void 0){if(j())return Fl(pn(n,s));V(Ge,oe(pn(n,s))),A("payload",h(Ge))}else throw A("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")}).then(()=>{De(w.VERIFIED),A("verified"),Xi().then(()=>{gt("verified",{payload:h(Ge)})})}).catch(n=>{A(n),De(w.ERROR,n.message)})}var Dn=Sl(),Yn=Wt(Dn);Qi(Yn,t,"default",{});var yt=be(Yn,2),ir=Q(yt),Fn=Q(ir);{var Zl=n=>{var s=yl();te(n,s)};$e(Fn,n=>{h(L)===w.VERIFYING&&n(Zl)})}var Dt=be(Fn,2),rt=Q(Dt);an(rt),rt.__change=Gl,q(Dt);var lr=be(Dt,2),Wl=Q(lr);{var Ul=n=>{var s=pl(),_=Wt(s),x=Q(_);qe(x,()=>h(ie).verified),q(_);var G=be(_,2);an(G),Me(()=>{ue(G,"name",T()),tl(G,h(Ge))}),te(n,s)},Ml=n=>{var s=Bi(),_=Wt(s);{var x=$=>{var b=wl(),O=Q(b);qe(O,()=>h(ie).verifying),q(b),te($,b)},G=$=>{var b=El(),O=Q(b);qe(O,()=>h(ie).label),q(b),Me(()=>ue(b,"for",`${T()??""}_checkbox`)),te($,b)};$e(_,$=>{h(L)===w.VERIFYING?$(x):$(G,!1)},!0)}te(n,s)};$e(Wl,n=>{h(L)===w.VERIFIED?n(Ul):n(Ml,!1)})}q(lr);var jl=be(lr,2);{var Bl=n=>{var s=xl(),_=Q(s);ue(_,"href",mn),q(s),Me(()=>ue(_,"aria-label",h(ie).ariaLinkLabel)),te(n,s)};$e(jl,n=>{(p()!==!0||h(rr))&&n(Bl)})}q(ir);var On=be(ir,2);{var Hl=n=>{var s=Rl(),_=be(Q(s),2);{var x=$=>{var b=kl(),O=Q(b);qe(O,()=>h(ie).expired),q(b),Me(()=>ue(b,"title",h(tt))),te($,b)},G=$=>{var b=Cl(),O=Q(b);qe(O,()=>h(ie).error),q(b),Me(()=>ue(b,"title",h(tt))),te($,b)};$e(_,$=>{h(L)===w.EXPIRED?$(x):$(G,!1)})}q(s),te(n,s)};$e(On,n=>{(h(tt)||h(L)===w.EXPIRED)&&n(Hl)})}var Xn=be(On,2);{var Jl=n=>{var s=Il(),_=Q(s),x=Q(_);qe(x,()=>h(ie).footer),q(_),q(s),te(n,s)};$e(Xn,n=>{h(ie).footer&&(m()!==!0||h(rr))&&n(Jl)})}var Kl=be(Xn,2);{var ql=n=>{var s=$l();un(s,_=>V(_t,_),()=>h(_t)),te(n,s)};$e(Kl,n=>{c()&&n(ql)})}return q(yt),un(yt,n=>V(B,n),()=>h(B)),Me(()=>{ue(yt,"data-state",h(L)),ue(yt,"data-floating",c()),nl(Dt,"altcha-hidden",h(L)===w.VERIFYING),ue(rt,"id",`${T()??""}_checkbox`),rt.required=r()!=="onsubmit"&&(!c()||r()!=="off")}),Mi("invalid",rt,In),il(rt,()=>h(Qe),n=>V(Qe,n)),te(e,Dn),Kr({clarify:mt,configure:Tn,getConfiguration:Pn,getFloatingAnchor:Vn,getPlugin:Xl,getState:zn,reset:bt,setFloatingAnchor:Gn,setState:De,verify:Le,get auto(){return r()},set auto(n=void 0){r(n),C()},get blockspam(){return l()},set blockspam(n=void 0){l(n),C()},get challengeurl(){return i()},set challengeurl(n=void 0){i(n),C()},get challengejson(){return a()},set challengejson(n=void 0){a(n),C()},get customfetch(){return o()},set customfetch(n=void 0){o(n),C()},get debug(){return d()},set debug(n=!1){d(n),C()},get delay(){return u()},set delay(n=0){u(n),C()},get expire(){return f()},set expire(n=void 0){f(n),C()},get floating(){return c()},set floating(n=void 0){c(n),C()},get floatinganchor(){return v()},set floatinganchor(n=void 0){v(n),C()},get floatingoffset(){return g()},set floatingoffset(n=void 0){g(n),C()},get hidefooter(){return m()},set hidefooter(n=!1){m(n),C()},get hidelogo(){return p()},set hidelogo(n=!1){p(n),C()},get name(){return T()},set name(n="altcha"){T(n),C()},get maxnumber(){return Y()},set maxnumber(n=1e6){Y(n),C()},get mockerror(){return ne()},set mockerror(n=!1){ne(n),C()},get obfuscated(){return F()},set obfuscated(n=void 0){F(n),C()},get plugins(){return M()},set plugins(n=void 0){M(n),C()},get refetchonexpire(){return pe()},set refetchonexpire(n=!0){pe(n),C()},get spamfilter(){return U()},set spamfilter(n=!1){U(n),C()},get strings(){return Se()},set strings(n=void 0){Se(n),C()},get test(){return S()},set test(n=!1){S(n),C()},get verifyurl(){return j()},set verifyurl(n=void 0){j(n),C()},get workers(){return _e()},set workers(n=Math.min(16,navigator.hardwareConcurrency||8)){_e(n),C()},get workerurl(){return vt()},set workerurl(n=void 0){vt(n),C()}})}ji(["change"]),customElements.define("altcha-widget",cl(vn,{blockspam:{type:"Boolean"},debug:{type:"Boolean"},delay:{type:"Number"},expire:{type:"Number"},floatingoffset:{type:"Number"},hidefooter:{type:"Boolean"},hidelogo:{type:"Boolean"},maxnumber:{type:"Number"},mockerror:{type:"Boolean"},refetchonexpire:{type:"Boolean"},test:{type:"Boolean"},workers:{type:"Number"},auto:{},challengeurl:{},challengejson:{},customfetch:{},floating:{},floatinganchor:{},name:{},obfuscated:{},plugins:{},spamfilter:{},strings:{},verifyurl:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","reset","setFloatingAnchor","setState","verify"],!1)),globalThis.altchaCreateWorker=e=>e?new Worker(new URL(e)):new Bn,globalThis.altchaPlugins=globalThis.altchaPlugins||[],k.Altcha=vn,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -24,6 +24,7 @@ declare global {
|
|
|
24
24
|
blockspam?: boolean;
|
|
25
25
|
challengeurl?: string;
|
|
26
26
|
challengejson?: string;
|
|
27
|
+
customfetch?: string | ((url: string, init?: RequestInit) => Promise<Response>);
|
|
27
28
|
debug?: boolean;
|
|
28
29
|
delay?: number;
|
|
29
30
|
expire?: number;
|
|
@@ -36,6 +37,14 @@ declare global {
|
|
|
36
37
|
mockerror?: boolean;
|
|
37
38
|
name?: string;
|
|
38
39
|
obfuscated?: string;
|
|
40
|
+
oncleartext?: (ev: CustomEvent) => void;
|
|
41
|
+
onload?: (ev: CustomEvent) => void;
|
|
42
|
+
onstatechange?: (ev: CustomEvent) => void;
|
|
43
|
+
onverified?: (ev: CustomEvent) => void;
|
|
44
|
+
onserververification?: (ev: CustomEvent) => void;
|
|
45
|
+
onupload?: (ev: CustomEvent) => void;
|
|
46
|
+
onuploadprogress?: (ev: CustomEvent) => void;
|
|
47
|
+
plugins?: string;
|
|
39
48
|
refetchonexpire?: boolean;
|
|
40
49
|
spamfilter?: boolean | 'ipAddress';
|
|
41
50
|
strings?: string;
|