From c74ba8f05a6e7238a8cf81be06376ac6df2636d4 Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 5 Jan 2026 15:08:33 +0400 Subject: [PATCH 1/2] Upgrade altcha-lib-py to v1.0.0 Signed-off-by: tdruez --- pyproject.toml | 2 +- tests/test_utils.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9e4dddd..0ce2725 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ classifiers = [ requires-python = ">=3.9" dependencies = [ "Django>=4.2", - "altcha==0.2.0", + "altcha>=1.0.0", ] keywords = ["captcha", "django", "widget", "form", "altcha"] diff --git a/tests/test_utils.py b/tests/test_utils.py index 9b47868..c8d6f02 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -30,15 +30,15 @@ def test_get_altcha_challenge_expire(self, mock_datetime): # Default ALTCHA_CHALLENGE_EXPIRE is applied challenge = get_altcha_challenge() salt_expires = challenge.salt.split("?expires=")[-1] - self.assertEqual("1760073600", salt_expires) + self.assertIn("1760073600", salt_expires) # Provided `expires` argument is applied challenge = get_altcha_challenge(expires=10000) salt_expires = challenge.salt.split("?expires=")[-1] - self.assertEqual("1760072410", salt_expires) + self.assertIn("1760072410", salt_expires) # Custom ALTCHA_CHALLENGE_EXPIRE value is applied with mock.patch("django_altcha.ALTCHA_CHALLENGE_EXPIRE", 9999): challenge = get_altcha_challenge() salt_expires = challenge.salt.split("?expires=")[-1] - self.assertEqual("1760072409", salt_expires) + self.assertIn("1760072409", salt_expires) From 60b87538819eee207df8dfbae7689ffa77060928 Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 5 Jan 2026 15:22:23 +0400 Subject: [PATCH 2/2] Upgrade bundled JS library to latest ALTCHA v2.3.0 release Signed-off-by: tdruez --- django_altcha/static/altcha/altcha.min.js | 4 ++-- django_altcha/static/altcha/altcha.min.js.ABOUT | 6 +++--- django_altcha/static/altcha/dist_i18n/all.min.js | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/django_altcha/static/altcha/altcha.min.js b/django_altcha/static/altcha/altcha.min.js index 1201504..27b3314 100644 --- a/django_altcha/static/altcha/altcha.min.js +++ b/django_altcha/static/altcha/altcha.min.js @@ -1,4 +1,4 @@ /** - * Original file: /gh/altcha-org/altcha@2.2.4/dist/altcha.js + * Original file: /gh/altcha-org/altcha@2.3.0/dist/altcha.js */ -const Yn='(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(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 p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r="SHA-256",n=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=l;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let i=n;i<=r;i+=1){if(o.signal.aborted||!c||!u)return null;try{const f=await crypto.subtle.decrypt({name:l,iv:g(i)},c,u);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,u=null;try{u=h(e);const i=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",i,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}let y;onmessage=async e=>{const{type:t,payload:r,start:n,max:l}=e.data;let o=null;if(t==="abort")y?.abort(),y=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:s}=r||{};o=await m(s,a,l,n)}else{const{algorithm:a,challenge:s,salt:c}=r||{};o=w(s,c,a,l,n)}y=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n',Dn=typeof self<"u"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",Yn],{type:"text/javascript;charset=utf-8"});function Ni(e){let t;try{if(t=Dn&&(self.URL||self.webkitURL).createObjectURL(Dn),!t)throw"";const n=new Worker(t,{name:e?.name});return n.addEventListener("error",(()=>{(self.URL||self.webkitURL).revokeObjectURL(t)})),n}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(Yn),{name:e?.name})}}const Li="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Li);const Pi=1,Oi=4,Fi=8,Mi=16,Vi=1,Ui=2,Mr="[",Zn="[!",zn="]",bt={},ae=Symbol(),ji="http://www.w3.org/1999/xhtml",Nn=!1;function Jn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}var Kn=Array.isArray,qi=Array.prototype.indexOf,Bi=Array.from,or=Object.keys,Mt=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,Hi=Object.getOwnPropertyDescriptors,Gi=Object.prototype,Wi=Array.prototype,Xn=Object.getPrototypeOf,Ln=Object.isExtensible;const yt=()=>{};function Qn(e){for(var t=0;t{var t=$;Re(a);var n=e();return Re(t),n};return r&&n.set("length",N(e.length)),new Proxy(e,{defineProperty(e,t,r){(!("value"in r)||!1===r.configurable||!1===r.enumerable||!1===r.writable)&&na();var o=n.get(t);return void 0===o?(o=l((()=>N(r.value))),n.set(t,o)):b(o,l((()=>Me(r.value)))),!0},deleteProperty(e,t){var i=n.get(t);if(void 0===i)t in e&&(n.set(t,l((()=>N(ae)))),Ir(o));else{if(r&&"string"==typeof t){var a=n.get("length"),s=Number(t);Number.isInteger(s)&&sN(Me(s?t[r]:ae)))),n.set(r,a)),void 0!==a){var c=i(a);return c===ae?void 0:c}return Reflect.get(t,r,o)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&"value"in r){var o=n.get(t);o&&(r.value=i(o))}else if(void 0===r){var a=n.get(t),l=a?.v;if(void 0!==a&&l!==ae)return{enumerable:!0,configurable:!0,value:l,writable:!0}}return r},has(e,t){if(t===Ot)return!0;var r=n.get(t),o=void 0!==r&&r.v!==ae||Reflect.has(e,t);if((void 0!==r||null!==S&&(!o||rt(e,t)?.writable))&&(void 0===r&&(r=l((()=>N(o?Me(e[t]):ae))),n.set(t,r)),i(r)===ae))return!1;return o},set(e,t,i,a){var s=n.get(t),c=t in e;if(r&&"length"===t)for(var u=i;uN(ae))),n.set(u+"",f))}void 0===s?(!c||rt(e,t)?.writable)&&(b(s=l((()=>N(void 0))),l((()=>Me(i)))),n.set(t,s)):(c=s.v!==ae,b(s,l((()=>Me(i)))));var d=Reflect.getOwnPropertyDescriptor(e,t);if(d?.set&&d.set.call(a,i),!c){if(r&&"string"==typeof t){var h=n.get("length"),v=Number(t);Number.isInteger(v)&&v>=h.v&&b(h,v+1)}Ir(o)}return!0},ownKeys(e){i(o);var t=Reflect.ownKeys(e).filter((e=>{var t=n.get(e);return void 0===t||t.v!==ae}));for(var[r,a]of n)a.v!==ae&&!(r in e)&&t.push(r);return t},setPrototypeOf(){oa()}})}function Ir(e,t=1){b(e,e.v+t)}var Pn,no,oo,io;function Tr(){if(void 0===Pn){Pn=window,no=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;oo=rt(t,"firstChild").get,io=rt(t,"nextSibling").get,Ln(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Ln(n)&&(n.__t=void 0)}}function vr(e=""){return document.createTextNode(e)}function ve(e){return oo.call(e)}function Be(e){return io.call(e)}function z(e,t){if(!O)return ve(e);var n=ve(P);return null===n&&(n=P.appendChild(vr())),Ue(n),n}function Nt(e,t){if(!O){var n=ve(e);return n instanceof Comment&&""===n.data?Be(n):n}return P}function J(e,t=1,n=!1){let r=O?P:e;for(var o;t--;)o=r,r=Be(r);if(!O)return r;var i=r?.nodeType;if(n&&3!==i){var a=vr();return null===r?o?.after(a):r.before(a),Ue(a),a}return Ue(r),r}function sa(e){e.textContent=""}function ao(e){return e===this.v}function lo(e,t){return e!=e?t==t:e!==t||null!==e&&"object"==typeof e||"function"==typeof e}function jr(e){return!lo(e,this.v)}function gr(e){var t=2050,n=null!==$&&2&$.f?$:null;return null===S||null!==n&&n.f&fe?t|=fe:S.f|=to,{ctx:ne,deps:null,effects:null,equals:ao,f:t,fn:e,reactions:null,rv:0,v:null,wv:0,parent:n??S}}function Lt(e){const t=gr(e);return wo(t),t}function ua(e){const t=gr(e);return t.equals=jr,t}function so(e){var t=e.effects;if(null!==t){e.effects=null;for(var n=0;n{je(t)}}function va(e){const t=lt(64,e,!0);return(e={})=>new Promise((n=>{e.outro?Lr(t,(()=>{je(t),n(void 0)})):(je(t),n(void 0))}))}function Br(e){return lt(4,e,!1)}function Hr(e){return lt(8,e,!0)}function Ce(e,t=[],n=gr){const r=t.map(n);return fo((()=>e(...r.map(i))))}function fo(e,t=0){return lt(24|t,e,!0)}function Nr(e,t=!0){return lt(40,e,!0,t)}function ho(e){var t=e.teardown;if(null!==t){const e=qt,n=$;Fn(!0),Re(null);try{t.call(null)}finally{Fn(e),Re(n)}}}function vo(e,t=!1){var n=e.first;for(e.first=e.last=null;null!==n;){var r=n.next;64&n.f?n.parent=null:je(n,t),n=r}}function ga(e){for(var t=e.first;null!==t;){var n=t.next;!(32&t.f)&&je(t),t=n}}function je(e,t=!0){var n=!1;(t||!!(e.f&zi))&&null!==e.nodes_start&&(go(e.nodes_start,e.nodes_end),n=!0),vo(e,t&&!n),cr(e,0),_e(e,dr);var r=e.transitions;if(null!==r)for(const e of r)e.stop();ho(e);var o=e.parent;null!==o&&null!==o.first&&po(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function go(e,t){for(;null!==e;){var n=e===t?null:Be(e);e.remove(),e=n}}function po(e){var t=e.parent,n=e.prev,r=e.next;null!==n&&(n.next=r),null!==r&&(r.prev=n),null!==t&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Lr(e,t){var n=[];mo(e,n,!0),pa(n,(()=>{je(e),t&&t()}))}function pa(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var o of e)o.out(r)}else t()}function mo(e,t,n){if(!(e.f&wt)){if(e.f^=wt,null!==e.transitions)for(const r of e.transitions)(r.is_global||n)&&t.push(r);for(var r=e.first;null!==r;){var o=r.next;mo(r,t,!!(!!(r.f&Ur)||!!(32&r.f))&&n),r=o}}}function On(e){_o(e,!0)}function _o(e,t){if(e.f&wt){e.f^=wt,!(e.f&le)&&(e.f^=le),Bt(e)&&(_e(e,Ie),mr(e));for(var n=e.first;null!==n;){var r=n.next;_o(n,!!(!!(n.f&Ur)||!!(32&n.f))&&t),n=r}if(null!==e.transitions)for(const n of e.transitions)(n.is_global||t)&&n.in()}}const ma=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let Vt=[],Ut=[];function bo(){var e=Vt;Vt=[],Qn(e)}function yo(){var e=Ut;Ut=[],Qn(e)}function Gr(e){0===Vt.length&&queueMicrotask(bo),Vt.push(e)}function _a(e){0===Ut.length&&ma(yo),Ut.push(e)}function ba(){Vt.length>0&&bo(),Ut.length>0&&yo()}let tr=!1,lr=!1,sr=null,nt=!1,qt=!1;function Fn(e){qt=e}let Ft=[],$=null,ke=!1;function Re(e){$=e}let S=null;function qe(e){S=e}let Te=null;function wo(e){null!==$&&$.f&Sr&&(null===Te?Te=[e]:Te.push(e))}let re=null,ce=0,he=null;function ya(e){he=e}let Eo=1,ur=0,Ve=!1;function xo(){return++Eo}function Bt(e){var t=e.f;if(t&Ie)return!0;if(t&at){var n=e.deps,r=!!(t&fe);if(null!==n){var o,i,a=!!(t&ar),l=r&&null!==S&&!Ve,s=n.length;if(a||l){var c=e,u=c.parent;for(o=0;oe.wv)return!0}(!r||null!==S&&!Ve)&&_e(e,le)}return!1}function wa(e,t){for(var n=t;null!==n;){if(n.f&ir)try{return void n.fn(e)}catch{n.f^=ir}n=n.parent}throw tr=!1,e}function Mn(e){return!(e.f&dr||null!==e.parent&&e.parent.f&ir)}function pr(e,t,n,r){if(tr){if(null===n&&(tr=!1),Mn(t))throw e}else if(null!==n&&(tr=!0),wa(e,t),Mn(t))throw e}function Co(e,t,n=!0){var r=e.reactions;if(null!==r)for(var o=0;o0)for(f.length=ce+re.length,d=0;d0;){t++>1e3&&xa();var n=Ft,r=n.length;Ft=[];for(var o=0;o{r.d=!0}))}function So(e){const t=ne;if(null!==t){void 0!==e&&(t.x=e);const a=t.e;if(null!==a){var n=S,r=$;t.e=null;try{for(var o=0;o{document.activeElement===t&&e.focus()}))}}let Un=!1;function Do(){Un||(Un=!0,document.addEventListener("reset",(e=>{Promise.resolve().then((()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()}))}),{capture:!0}))}function No(e){var t=$,n=S;Re(null),qe(null);try{return e()}finally{Re(t),qe(n)}}function Ta(e,t,n,r=n){e.addEventListener(t,(()=>No(n)));const o=e.__on_r;e.__on_r=o?()=>{o(),r(!0)}:()=>r(!0),Do()}const Lo=new Set,Pr=new Set;function Da(e,t,n,r={}){function o(e){if(r.capture||Pt.call(t,e),!e.cancelBubble)return No((()=>n?.call(this,e)))}return e.startsWith("pointer")||e.startsWith("touch")||"wheel"===e?Gr((()=>{t.addEventListener(e,o,r)})):t.addEventListener(e,o,r),o}function Fe(e,t,n,r,o){var i={capture:r,passive:o},a=Da(e,t,n,i);(t===document.body||t===window||t===document)&&qr((()=>{t.removeEventListener(e,a,i)}))}function Na(e){for(var t=0;ti||n});var u=$,f=S;Re(null),qe(null);try{for(var d,h=[];null!==i;){var v=i.assignedSlot||i.parentNode||i.host||null;try{var p=i["__"+r];if(null!=p&&(!i.disabled||e.target===i))if(Kn(p)){var[g,...b]=p;g.apply(i,[e,...b])}else p.call(i,e)}catch(e){d?h.push(e):d=e}if(e.cancelBubble||v===t||null===v)break;i=v}if(d){for(let e of h)queueMicrotask((()=>{throw e}));throw d}}finally{e.__root=t,delete e.currentTarget,Re(u),qe(f)}}}function Zr(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function Ae(e,t){var n=S;null===n.nodes_start&&(n.nodes_start=e,n.nodes_end=t)}function be(e,t){var n,r=!!(1&t),o=!!(2&t),i=!e.startsWith("");return()=>{if(O)return Ae(P,null),P;void 0===n&&(n=Zr(i?e:""+e),r||(n=ve(n)));var t=o||no?document.importNode(n,!0):n.cloneNode(!0);r?Ae(ve(t),t.lastChild):Ae(t,t);return t}}function _r(e,t,n="svg"){var r,o=`<${n}>${!e.startsWith("")?e:""+e}`;return()=>{if(O)return Ae(P,null),P;if(!r){var e=Zr(o);r=ve(ve(e))}var t=r.cloneNode(!0);return Ae(t,t),t}}function Xt(){if(O)return Ae(P,null),P;var e=document.createDocumentFragment(),t=document.createComment(""),n=vr();return e.append(t,n),Ae(t,n),e}function B(e,t){if(O)return S.nodes_end=P,void Et();null!==e&&e.before(t)}function La(e,t){var n=null==t?"":"object"==typeof t?t+"":t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=n+"")}function Po(e,t){return Oo(e,t)}function Pa(e,t){Tr(),t.intro=t.intro??!1;const n=t.target,r=O,o=P;try{for(var i=ve(n);i&&(8!==i.nodeType||i.data!==Mr);)i=Be(i);if(!i)throw bt;_t(!0),Ue(i),Et();const r=Oo(e,{...t,anchor:i});if(null===P||8!==P.nodeType||P.data!==zn)throw hr(),bt;return _t(!1),r}catch(r){if(r===bt)return!1===t.recover&&ta(),Tr(),sa(n),_t(!1),Po(e,t);throw r}finally{_t(r),Ue(o)}}const pt=new Map;function Oo(e,{target:t,anchor:n,props:r={},events:o,context:i,intro:a=!0}){Tr();var l=new Set,s=e=>{for(var n=0;n{var a=n??t.appendChild(vr());return Nr((()=>{i&&($o({}),ne.c=i);o&&(r.$$events=o),O&&Ae(a,null),c=e(a,r)||{},O&&(S.nodes_end=P),i&&So()})),()=>{for(var e of l){t.removeEventListener(e,Pt);var r=pt.get(e);0==--r?(document.removeEventListener(e,Pt),pt.delete(e)):pt.set(e,r)}Pr.delete(s),a!==n&&a.parentNode?.removeChild(a)}}));return Or.set(c,u),c}let Or=new WeakMap;function Oa(e,t){const n=Or.get(e);return n?(Or.delete(e),n(t)):Promise.resolve()}function K(e,t,[n,r]=[0,0]){O&&0===n&&Et();var o=e,i=null,a=null,l=ae,s=!1;const c=(e,t=!0)=>{s=!0,u(t,e)},u=(e,t)=>{if(l===(l=e))return;let s=!1;if(O&&-1!==r){if(0===n){const e=o.data;e===Mr?r=0:e===Zn?r=1/0:(r=parseInt(e.substring(1)))!=r&&(r=l?1/0:-1)}!!l===r>n&&(Ue(o=aa()),_t(!1),s=!0,r=-1)}l?(i?On(i):t&&(i=Nr((()=>t(o)))),a&&Lr(a,(()=>{a=null}))):(a?On(a):t&&(a=Nr((()=>t(o,[n+1,r])))),i&&Lr(i,(()=>{i=null}))),s&&_t(!0)};fo((()=>{s=!1,t(c),s||u(null,null)}),n>0?Ur:0),O&&(o=P)}function tt(e,t,n=!1,r=!1,o=!1){var i=e,a="";Ce((()=>{var e=S;if(a!==(a=t()??"")){if(null!==e.nodes_start&&(go(e.nodes_start,e.nodes_end),e.nodes_start=e.nodes_end=null),""!==a){if(O){P.data;for(var o=Et(),l=o;null!==o&&(8!==o.nodeType||""!==o.data);)l=o,o=Be(o);if(null===o)throw hr(),bt;return Ae(P,l),void(i=Ue(o))}var s=a+"";n?s=`${s}`:r&&(s=`${s}`);var c=Zr(s);if((n||r)&&(c=ve(c)),Ae(ve(c),c.lastChild),n||r)for(;ve(c);)i.before(ve(c));else i.before(c)}}else O&&Et()}))}function Fa(e,t,n,r,o){O&&Et();var i=t.$$slots?.[n],a=!1;!0===i&&(i=t.children,a=!0),void 0===i||i(e,a?()=>r:r)}const jn=[..." \t\n\r\f \v\ufeff"];function Ma(e,t,n){var r=""+e;if(n)for(var o in n)if(n[o])r=r?r+" "+o:o;else if(r.length)for(var i=o.length,a=0;(a=r.indexOf(o,a))>=0;){var l=a+i;0!==a&&!jn.includes(r[a-1])||l!==r.length&&!jn.includes(r[l])?a=l:r=(0===a?"":r.substring(0,a))+r.substring(l+1)}return""===r?null:r}function Va(e,t,n,r,o,i){var a=e.__className;if(O||a!==n||void 0===a){var l=Ma(n,r,i);(!O||l!==e.getAttribute("class"))&&(null==l?e.removeAttribute("class"):e.className=l),e.__className=n}else if(i&&o!==i)for(var s in i){var c=!!i[s];(null==o||c!==!!o[s])&&e.classList.toggle(s,c)}return i}const Ua=Symbol("is custom element"),ja=Symbol("is html");function qn(e){if(O){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var n=e.value;R(e,"value",null),e.value=n}if(e.hasAttribute("checked")){var r=e.checked;R(e,"checked",null),e.checked=r}}};e.__on_r=n,_a(n),Do()}}function qa(e,t){var n=Fo(e);n.value===(n.value=t??void 0)||e.value===t&&(0!==t||"PROGRESS"!==e.nodeName)||(e.value=t??"")}function R(e,t,n,r){var o=Fo(e);O&&(o[t]=e.getAttribute(t),"src"===t||"srcset"===t||"href"===t&&"LINK"===e.nodeName)||o[t]!==(o[t]=n)&&("loading"===t&&(e[Ji]=n),null==n?e.removeAttribute(t):"string"!=typeof n&&Ba(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Fo(e){return e.__attributes??={[Ua]:e.nodeName.includes("-"),[ja]:e.namespaceURI===ji}}var Bn=new Map;function Ba(e){var t=Bn.get(e.nodeName);if(t)return t;Bn.set(e.nodeName,t=[]);for(var n,r=e,o=Element.prototype;o!==r;){for(var i in n=Hi(r))n[i].set&&t.push(i);r=Xn(r)}return t}function Ha(e,t,n=t){Ta(e,"change",(t=>{var r=t?e.defaultChecked:e.checked;n(r)})),(O&&e.defaultChecked!==e.checked||null==ot(t))&&n(e.checked),Hr((()=>{var n=t();e.checked=!!n}))}function Hn(e,t){return e===t||e?.[Ot]===t}function Qt(e={},t,n,r){return Br((()=>{var r,o;return Hr((()=>{r=o,o=[],ot((()=>{e!==n(...o)&&(t(e,...o),r&&Hn(n(...r),e)&&t(null,...r))}))})),()=>{Gr((()=>{o&&Hn(n(...o),e)&&t(null,...o)}))}})),e}function Mo(e){null===ne&&Jn(),Dr((()=>{const t=ot(e);if("function"==typeof t)return t}))}function Ga(e){null===ne&&Jn(),Mo((()=>()=>ot(e)))}function Vo(e,t,n){if(null==e)return t(void 0),yt;const r=ot((()=>e.subscribe(t,n)));return r.unsubscribe?()=>r.unsubscribe():r}const mt=[];function Wa(e,t=yt){let n=null;const r=new Set;function o(t){if(lo(e,t)&&(e=t,n)){const t=!mt.length;for(const t of r)t[1](),mt.push(t,e);if(t){for(let e=0;e{r.delete(s),0===r.size&&n&&(n(),n=null)}}}}function rr(e){let t;return Vo(e,(e=>t=e))(),t}let Uo,er=!1,Fr=Symbol();function Ya(e,t,n){const r=n[t]??={store:null,source:Yr(void 0),unsubscribe:yt};if(r.store!==e&&!(Fr in n))if(r.unsubscribe(),r.store=e??null,null==e)r.source.v=void 0,r.unsubscribe=yt;else{var o=!0;r.unsubscribe=Vo(e,(e=>{o?r.source.v=e:b(r.source,e)})),o=!1}return e&&Fr in n?rr(e):i(r.source)}function Za(){const e={};return[e,function(){qr((()=>{for(var t in e)e[t].unsubscribe();Mt(e,Fr,{enumerable:!1,value:!0})}))}]}function za(e){var t=er;try{return er=!1,[e(),er]}finally{er=t}}function Gn(e){return e.ctx?.d??!1}function x(e,t,n,r){var o,a=!!(1&n),l=!!(8&n),s=!!(16&n),c=!1;l?[o,c]=za((()=>e[t])):o=e[t];var u,f=Ot in e||ro in e,d=l&&(rt(e,t)?.set??(f&&t in e&&(n=>e[t]=n)))||void 0,h=r,v=!0,p=!1,g=()=>(p=!0,v&&(v=!1,h=s?ot(r):r),h);if(void 0===o&&void 0!==r&&(d&&ra(),o=g(),d&&d(o)),u=()=>{var n=e[t];return void 0===n?g():(v=!0,p=!1,n)},!(4&n))return u;if(d){var m=e.$$legacy;return function(e,t){return arguments.length>0?((!t||m||c)&&d(t?u():e),e):u()}}var y=!1,w=Yr(o),x=gr((()=>{var e=u(),t=i(w);return y?(y=!1,t):w.v=e}));return l&&i(x),a||(x.equals=jr),function(e,t){if(arguments.length>0){const n=t?i(x):l?Me(e):e;if(!x.equals(n)){if(y=!0,b(w,n),p&&void 0!==h&&(h=n),Gn(x))return e;ot((()=>i(x)))}return e}return Gn(x)?x.v:i(x)}}function Ja(e){return new Ka(e)}class Ka{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=Yr(n);return t.set(e,r),r};const r=new Proxy({...e.props||{},$$events:{}},{get:(e,r)=>i(t.get(r)??n(r,Reflect.get(e,r))),has:(e,r)=>r===ro||(i(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r)),set:(e,r,o)=>(b(t.get(r)??n(r,o),o),Reflect.set(e,r,o))});this.#t=(e.hydrate?Pa:Po)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||!1===e.sync)&&E(),this.#e=r.$$events;for(const e of Object.keys(this.#t))"$set"===e||"$destroy"===e||"$on"===e||Mt(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Oa(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];const n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter((e=>e!==n))}}$destroy(){this.#t.$destroy()}}function nr(e,t,n,r){const o=n[e]?.type;if(t="Boolean"===o&&"boolean"!=typeof t?null!=t:t,!r||!n[e])return t;if("toAttribute"===r)switch(o){case"Object":case"Array":return null==t?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(o){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":default:return t;case"Number":return null!=t?+t:t}}function Xa(e){const t={};return e.childNodes.forEach((e=>{t[e.slot||"default"]=!0})),t}function Qa(e,t,n,r,o,i){let a=class extends Uo{constructor(){super(e,n,o),this.$$p_d=t}static get observedAttributes(){return or(t).map((e=>(t[e].attribute||e).toLowerCase()))}};return or(t).forEach((e=>{Mt(a.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=nr(e,n,t),this.$$d[e]=n;var r=this.$$c;if(r){var o=rt(r,e)?.get;o?r[e]=n:r.$set({[e]:n})}}})})),r.forEach((e=>{Mt(a.prototype,e,{get(){return this.$$c?.[e]}})})),e.element=a,a}"function"==typeof HTMLElement&&(Uo=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&this.attachShadow({mode:"open"})}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){const e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(e){return t=>{const n=document.createElement("slot");"default"!==e&&(n.name=e),B(t,n)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},n=Xa(this);for(const r of this.$$s)r in n&&("default"!==r||this.$$d.children?t[r]=e(r):(this.$$d.children=e(r),t.default=!0));for(const e of this.attributes){const t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=nr(t,e.value,this.$$p_d,"toProp"))}for(const e in this.$$p_d)!(e in this.$$d)&&void 0!==this[e]&&(this.$$d[e]=this[e],delete this[e]);this.$$c=Ja({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=ha((()=>{Hr((()=>{this.$$r=!0;for(const e of or(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];const t=nr(e,this.$$d[e],this.$$p_d,"toAttribute");null==t?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1}))}));for(const e in this.$$l)for(const t of this.$$l[e]){const n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=nr(e,n,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then((()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)}))}$$g_p(e){return or(this.$$p_d).find((t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e))||e}});const jo=new TextEncoder;function el(e){return[...new Uint8Array(e)].map((e=>e.toString(16).padStart(2,"0"))).join("")}async function tl(e,t="SHA-256",n=1e5){const r=Date.now().toString(16);e||(e=Math.round(Math.random()*n));return{algorithm:t,challenge:await qo(r,e,t),salt:r,signature:""}}async function qo(e,t,n){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 el(await crypto.subtle.digest(n.toUpperCase(),jo.encode(e+t)))}function rl(e,t,n="SHA-256",r=1e6,o=0){const i=new AbortController,a=Date.now();return{promise:(async()=>{for(let l=o;l<=r;l+=1){if(i.signal.aborted)return null;if(await qo(t,l,n)===e)return{number:l,took:Date.now()-a}}return null})(),controller:i}}function Wn(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function nl(e){const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e{for(let e=r;e<=n;e+=1){if(i.signal.aborted||!l||!s)return null;try{const t=await crypto.subtle.decrypt({name:o,iv:ol(e)},l,s);if(t)return{clearText:(new TextDecoder).decode(t),took:Date.now()-a}}catch{}}return null})(),controller:i}}var y=(e=>(e.CODE="code",e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(y||{}),Q=(e=>(e.ERROR="error",e.LOADING="loading",e.PLAYING="playing",e.PAUSED="paused",e.READY="ready",e))(Q||{});globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>rr(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(rr(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(rr(globalThis.altchaI18n.store))},store:Wa({})};const al={ariaLinkLabel:"Visit Altcha.org",enterCode:"Enter code",enterCodeAria:"Enter code you hear. Press Space to play audio.",error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:'Protected by ALTCHA',getAudioChallenge:"Get an audio challenge",label:"I'm not a robot",loading:"Loading...",reload:"Reload",verify:"Verify",verificationRequired:"Verification required!",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait."};globalThis.altchaI18n.set("en",al);const $r=(e,t)=>{let n=ua((()=>Yi(t?.(),24)));var r=cl();Ce((()=>{R(r,"width",i(n)),R(r,"height",i(n))})),B(e,r)};function ll(e,t){"Space"===e.code&&(e.preventDefault(),e.stopImmediatePropagation(),t())}function sl(e,t){e.preventDefault(),t()}function ul(e,t,n,r,o,a,l,s){[y.UNVERIFIED,y.ERROR,y.EXPIRED,y.CODE].includes(i(t))?!1!==n()&&!1===i(r)?.reportValidity()?b(o,!1):a()?l():s():b(o,!0)}var cl=_r(''),fl=be(''),dl=be('
'),hl=_r(''),vl=_r(''),gl=_r(''),pl=be(''),ml=be(""),_l=be(''),bl=be("
"),yl=be("
"),wl=be('
'),El=be(''),xl=be('
'),Cl=be('
',1);function kl(e,t){$o(t,!0);const[n,r]=Za(),o=()=>Ya(X,"$altchaI18nStore",n);let a=x(t,"auto",7,void 0),l=x(t,"blockspam",7,void 0),s=x(t,"challengeurl",7,void 0),c=x(t,"challengejson",7,void 0),u=x(t,"credentials",7,void 0),f=x(t,"customfetch",7,void 0),d=x(t,"debug",7,!1),h=x(t,"delay",7,0),v=x(t,"disableautofocus",7,!1),p=x(t,"refetchonexpire",7,!0),g=x(t,"disablerefetchonexpire",23,(()=>!p())),m=x(t,"expire",7,void 0),w=x(t,"floating",7,void 0),$=x(t,"floatinganchor",7,void 0),C=x(t,"floatingoffset",7,void 0),_=x(t,"floatingpersist",7,!1),k=x(t,"hidefooter",7,!1),A=x(t,"hidelogo",7,!1),I=x(t,"id",7,void 0),S=x(t,"language",7,void 0),L=x(t,"name",7,"altcha"),O=x(t,"maxnumber",7,1e6),P=x(t,"mockerror",7,!1),D=x(t,"obfuscated",7,void 0),V=x(t,"overlay",7,void 0),M=x(t,"overlaycontent",7,void 0),j=x(t,"plugins",7,void 0),T=x(t,"sentinel",7,void 0),F=x(t,"spamfilter",7,!1),U=x(t,"strings",7,void 0),q=x(t,"test",7,!1),H=x(t,"verifyurl",7,void 0),G=x(t,"workers",23,(()=>Math.min(16,navigator.hardwareConcurrency||8))),W=x(t,"workerurl",7,void 0);const{altchaI18n:Y}=globalThis,X=Y.store,ee=["SHA-256","SHA-384","SHA-512"],te=(e,n)=>{t.$$host.dispatchEvent(new CustomEvent(e,{detail:n}))},ne=document.documentElement.lang?.split("-")?.[0],re=Lt((()=>s()&&new URL(s(),location.origin).host.endsWith(".altcha.org")&&!!s()?.includes("apiKey=ckey_"))),oe=Lt((()=>c()?Ye(c()):void 0)),ie=Lt((()=>U()?Ye(U()):{})),ae=Lt((()=>({...Se(o()),...i(ie)}))),le=Lt((()=>`${I()||L()}_checkbox_${Math.round(1e8*Math.random())}`));let se=N(null),ce=N(!1),ue=N(null),fe=N(Me(y.UNVERIFIED)),de=N(void 0),he=N(null),ve=N(null),pe=N(null),ge=N(null),be=N(null),me=N(null),ye=N(null),we=N(null),xe=null,$e=N(null),Ee=N(!1),Re=[],_e=N(!1),ke=N(null);function Ae(e,t){return btoa(JSON.stringify({algorithm:e.algorithm,challenge:e.challenge,number:t.number,salt:e.salt,signature:e.signature,test:!!q()||void 0,took:t.took}))}function Ne(){s()&&!g()&&i(fe)===y.VERIFIED?wt():gt(y.EXPIRED,i(ae).expired)}function Ie(){let e=fetch;if(f())if(Pe("using customfetch"),"string"==typeof f()){if(e=globalThis[f()]||null,!e)throw new Error(`Custom fetch function not found: ${f()}`)}else e=f();return e}function Se(e,t=[S()||"",document.documentElement.lang||"",...navigator.languages]){const n=Object.keys(e).map((e=>e.toLowerCase())),r=t.reduce(((t,r)=>(r=r.toLowerCase(),t||(e[r]?r:null)||n.find((e=>r.split("-")[0]===e.split("-")[0]))||null)),null);return e[r||"en"]}function Le(e){return[...i(me)?.querySelectorAll(e?.length?e.map((e=>`input[name="${e}"]`)).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')||[]].reduce(((e,t)=>{const n=t.name,r=t.value;return n&&r&&(e[n]=/\n/.test(r)?r.replace(new RegExp("(?e instanceof Error)))&&console[e[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${L()}]`,...e)}function De(){b($e,Q.PAUSED,!0)}function Ve(e){b($e,Q.ERROR,!0)}function Be(){b($e,Q.READY,!0)}function je(){b($e,Q.LOADING,!0)}function Te(){b($e,Q.PLAYING,!0)}function Ue(){b($e,Q.PAUSED,!0)}function qe(e){if(e.preventDefault(),e.stopPropagation(),i(ue)){const t=new FormData(e.target),n=String(t.get("code"));if(H()?.startsWith("fn:")){const e=H().replace(/^fn:/,"");if(Pe(`calling ${e} function instead of verifyurl`),!(e in globalThis))throw new Error(`Global function "${e}" is undefined.`);return globalThis[e]({challenge:i(ue).challenge,code:n,solution:i(ue).solution})}b(Ee,!0),nt(Ae(i(ue).challenge,i(ue).solution),n).then((({reason:e,verified:t})=>{t?(b(ue,null),mt(y.VERIFIED),Pe("verified"),Rr().then((()=>{i(ge)?.focus(),te("verified",{payload:i(ke)}),"onsubmit"===a()?rt(i(ye)):V()&&vt()}))):(gt(),b(we,e||"Verification failed",!0))})).catch((e=>{b(ue,null),mt(y.ERROR,e),Pe("sentinel verification failed:",e)})).finally((()=>{b(Ee,!1)}))}}function Ze(e){const t=e.target;w()&&t&&!i(de).contains(t)&&(i(fe)===y.VERIFIED&&!1===_()||i(fe)===y.VERIFIED&&"focus"===_()&&!i(me)?.matches(":focus-within")||"off"===a()&&i(fe)===y.UNVERIFIED)&&vt()}function ze(){w()&&i(fe)!==y.UNVERIFIED&&pt()}function He(e){i(fe)===y.UNVERIFIED?wt():w()&&"focus"===_()&&i(fe)===y.VERIFIED&&yt()}function Ge(e){e.target?.hasAttribute("data-code-challenge-form")||(b(ye,e.submitter,!0),i(me)&&"onsubmit"===a()?(i(ye)?.blur(),i(fe)===y.UNVERIFIED?(e.preventDefault(),e.stopPropagation(),wt().then((()=>{rt(i(ye))}))):i(fe)!==y.VERIFIED&&(e.preventDefault(),e.stopPropagation(),i(fe)===y.VERIFYING&&Ke())):i(me)&&w()&&"off"===a()&&i(fe)===y.UNVERIFIED&&(e.preventDefault(),e.stopPropagation(),yt()))}function Je(){gt()}function Ke(){i(fe)===y.VERIFYING&&i(ae).waitAlert&&alert(i(ae).waitAlert)}function We(){i(ve)?i(ve).paused?(i(ve).currentTime=0,i(ve).play()):i(ve).pause():(b(_e,!0),requestAnimationFrame((()=>{i(ve)?.play()})))}function Qe(){w()&&pt()}function Ye(e){return JSON.parse(e)}function Xe(e){const t=new URLSearchParams(e.split("?")?.[1]),n=t.get("expires")||t.get("expire");if(n){const e=new Date(1e3*+n),t=isNaN(e.getTime())?0:e.getTime()-Date.now();t>0&&ot(t)}else xe&&(clearTimeout(xe),xe=null)}async function et(e){if(!H())throw new Error("Attribute verifyurl not set.");Pe("requesting server verification from",H());const t={payload:e};if(!1!==F()){const{blockedCountries:e,classifier:n,disableRules:r,email:o,expectedLanguages:a,expectedCountries:l,fields:s,ipAddress:c,text:u,timeZone:f}="ipAddress"===F()?{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}:"object"==typeof F()?F():{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};t.blockedCountries=e,t.classifier=n,t.disableRules=r,t.email=!1===o?void 0:function(e){const t=i(me)?.querySelector("string"==typeof e?`input[name="${e}"]`:'input[type="email"]:not([data-no-spamfilter])');return t?.value?.slice(t.value.indexOf("@"))||void 0}(o),t.expectedCountries=l,t.expectedLanguages=a||(ne?[ne]:void 0),t.fields=!1===s?void 0:Le(s),t.ipAddress=!1===c?void 0:c||"auto",t.text=u,t.timeZone=!1===f?void 0:f||Wn()}const n=await Ie()(H(),{body:JSON.stringify(t),headers:{"content-type":"application/json"},method:"POST"});if(!(n&&n instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==n.status)throw new Error(`Server responded with ${n.status}.`);const r=await n.json();if(r?.payload&&b(ke,r.payload,!0),te("serververification",r),l()&&"BAD"===r.classification)throw new Error("SpamFilter returned negative classification.")}async function nt(e,t){if(!H())throw new Error("Attribute verifyurl not set.");Pe("requesting sentinel verification from",H());const n={code:t,payload:e};T()&&(n.fields=T().fields?Le():void 0,n.timeZone=T().timeZone?Wn():void 0);const r=await Ie()(H(),{body:JSON.stringify(n),headers:{"content-type":"application/json"},method:"POST"});if(!(r&&r instanceof Response))throw new Error("Fetch function did not return a response.");if(200!==r.status)throw new Error(`Server responded with ${r.status}.`);const o=await r.json();return o?.payload&&b(ke,o.payload,!0),te("sentinelverification",o),o}function rt(e){i(me)&&"requestSubmit"in i(me)?i(me).requestSubmit(e):i(me)?.reportValidity()&&(e?e.click():i(me).submit())}function ot(e){Pe("expire",e),xe&&(clearTimeout(xe),xe=null),e<1?Ne():xe=setTimeout(Ne,e)}function it(e){Pe("floating",e),w()!==e&&(i(de).style.left="",i(de).style.top=""),w(!0===e||""===e?"auto":!1===e||"false"===e?void 0:w()),w()?(a()||a("onsubmit"),document.addEventListener("scroll",ze),document.addEventListener("click",Ze),window.addEventListener("resize",Qe)):"onsubmit"===a()&&a(void 0)}function at(e){if(Pe("overlay",e),V(e),e){if(a()||a("onsubmit"),i(pe)&&i(de).parentElement&&i(pe).replaceWith(i(de).parentElement),i(de)?.parentElement?.parentElement){b(pe,document.createElement("div"),!0),i(de).parentElement.parentElement.appendChild(i(pe));const e=document.createElement("div"),t=document.createElement("button");t.type="button",t.innerHTML="×",t.addEventListener("click",(e=>{e.preventDefault(),gt()})),i(pe).classList.add("altcha-overlay-backdrop"),t.classList.add("altcha-overlay-close-button"),e.classList.add("altcha-overlay"),i(pe).append(e),e.append(t),M()&&e.append(...document.querySelectorAll(M())),e.append(i(de).parentElement)}}else i(pe)&&i(de).parentElement&&(i(pe).replaceWith(i(de).parentElement),i(de).style.display="block")}function lt(e){if(!e.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(void 0===e.signature)throw new Error("Invalid challenge. Property signature is missing.");if(!ee.includes(e.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${ee.join(", ")}`);if(!e.challenge||e.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!e.salt||e.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function st(e){let t=null,n=null;if("Worker"in window){try{t=function(e,t=("number"==typeof q()?q():e.maxNumber||e.maxnumber||O()),n=Math.ceil(G())){const r=new AbortController,o=[];n=Math.min(16,t,Math.max(1,n));for(let e=0;e{const t=await Promise.all(o.map(((t,n)=>{const a=n*i;return r.signal.addEventListener("abort",(()=>{t.postMessage({type:"abort"})})),new Promise((n=>{t.addEventListener("message",(e=>{if(e.data)for(const e of o)e!==t&&e.postMessage({type:"abort"});n(e.data)})),t.postMessage({payload:e,max:a+i,start:a,type:"work"})}))})));for(const e of o)e.terminate();return t.find((e=>!!e))||null})(),controller:r}}(e,e.maxNumber||e.maxnumber||O()),b(se,t.controller,!0),n=await t.promise}catch(e){Pe(e)}finally{b(se,null)}if(null===n||void 0!==n?.number||"obfuscated"in e)return{data:e,solution:n}}if("obfuscated"in e){const t=await il(e.obfuscated,e.key,e.maxNumber||e.maxnumber);return{data:e,solution:await t.promise}}t=rl(e.challenge,e.salt,e.algorithm,e.maxNumber||e.maxnumber||O()),b(se,t.controller,!0);try{n=await t.promise}catch(e){Pe(e)}finally{b(se,null)}return{data:e,solution:n}}async function ct(){if(!D())return void mt(y.ERROR);const e=Re.find((e=>"obfuscation"===e.constructor.pluginName));return e&&"clarify"in e?"clarify"in e&&"function"==typeof e.clarify?e.clarify():void 0:(mt(y.ERROR),void Pe("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it."))}function ut(e){void 0!==e.obfuscated&&D(e.obfuscated),void 0!==e.auto&&(a(e.auto),"onload"===a()&&(D()?ct():wt())),void 0!==e.blockspam&&l(!!e.blockspam),void 0!==e.customfetch&&f(e.customfetch),void 0!==e.floatinganchor&&$(e.floatinganchor),void 0!==e.delay&&h(e.delay),void 0!==e.floatingoffset&&C(e.floatingoffset),void 0!==e.floating&&it(e.floating),void 0!==e.expire&&(ot(e.expire),m(e.expire)),e.challenge&&(c("string"==typeof e.challenge?e.challenge:JSON.stringify(e.challenge)),lt(i(oe))),void 0!==e.challengeurl&&s(e.challengeurl),void 0!==e.debug&&d(!!e.debug),void 0!==e.hidefooter&&k(!!e.hidefooter),void 0!==e.hidelogo&&A(!!e.hidelogo),void 0!==e.language&&U(Se(o(),[e.language])),void 0!==e.maxnumber&&O(+e.maxnumber),void 0!==e.mockerror&&P(!!e.mockerror),void 0!==e.name&&L(e.name),void 0!==e.overlaycontent&&M(e.overlaycontent),void 0!==e.overlay&&at(e.overlay),void 0!==e.refetchonexpire&&g(!e.refetchonexpire),void 0!==e.disablerefetchonexpire&&g(!e.disablerefetchonexpire),void 0!==e.sentinel&&"object"==typeof e.sentinel&&T(e.sentinel),void 0!==e.spamfilter&&F("object"==typeof e.spamfilter?e.spamfilter:!!e.spamfilter),e.strings&&U("string"==typeof e.strings?e.strings:JSON.stringify(e.strings)),void 0!==e.test&&q("number"==typeof e.test?e.test:!!e.test),void 0!==e.verifyurl&&H(e.verifyurl),void 0!==e.workers&&G(+e.workers),void 0!==e.workerurl&&W(e.workerurl)}function ft(){return{auto:a(),blockspam:l(),challengeurl:s(),debug:d(),delay:h(),disableautofocus:v(),disablerefetchonexpire:g(),expire:m(),floating:w(),floatinganchor:$(),floatingoffset:C(),hidefooter:k(),hidelogo:A(),name:L(),maxnumber:O(),mockerror:P(),obfuscated:D(),overlay:V(),refetchonexpire:!g(),spamfilter:F(),strings:i(ae),test:q(),verifyurl:H(),workers:G(),workerurl:W()}}function dt(){return i(be)}function ht(){return i(fe)}function vt(){i(de).style.display="none",V()&&i(pe)&&(i(pe).style.display="none")}function pt(e=20){if(i(de))if(i(be)||b(be,($()?document.querySelector($()):i(me)?.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||i(me),!0),i(be)){const t=parseInt(C(),10)||12,n=i(be).getBoundingClientRect(),r=i(de).getBoundingClientRect(),o=document.documentElement.clientHeight,a=document.documentElement.clientWidth,l="auto"===w()?n.bottom+r.height+t+e>o:"top"===w(),s=Math.max(e,Math.min(a-e-r.width,n.left+n.width/2-r.width/2));if(i(de).style.top=l?n.top-(r.height+t)+"px":`${n.bottom+t}px`,i(de).style.left=`${s}px`,i(de).setAttribute("data-floating",l?"top":"bottom"),i(he)){const e=i(he).getBoundingClientRect();i(he).style.left=n.left-s+n.width/2-e.width/2+"px"}}else Pe("unable to find floating anchor element")}function gt(e=y.UNVERIFIED,t=null){i(se)&&(i(se).abort(),b(se,null)),b(ce,!1),b(ke,null),b(ue,null),b(_e,!1),b($e,null),mt(e,t)}function bt(e){b(be,e,!0)}function mt(e,t=null){b(fe,e,!0),b(we,t,!0),te("statechange",{payload:i(ke),state:i(fe)})}function yt(){i(de).style.display="block",w()&&pt(),V()&&i(pe)&&(i(pe).style.display="flex")}async function wt(){return gt(y.VERIFYING),await new Promise((e=>setTimeout(e,h()||0))),async function(){if(P())throw Pe("mocking error"),new Error("Mocked error.");if(i(oe))return Pe("using provided json data"),Xe(i(oe).salt),i(oe);if(q())return Pe("generating test challenge",{test:q()}),tl("boolean"!=typeof q()?+q():void 0);{if(!s()&&i(me)){const e=i(me).getAttribute("action");e?.includes("/form/")&&s(e+"/altcha")}if(!s())throw new Error("Attribute challengeurl not set.");Pe("fetching challenge from",s());const e={credentials:"boolean"==typeof u()?"include":u(),headers:!1!==F()?{"x-altcha-spam-filter":"1"}:{}},t=await Ie()(s(),e);if(!(t&&t instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==t.status)throw new Error(`Server responded with ${t.status}.`);const n=t.headers.get("X-Altcha-Config"),r=await t.json();if(Xe(r.salt),n)try{const e=JSON.parse(n);e&&"object"==typeof e&&(e.verifyurl&&!e.verifyurl.startsWith("fn:")&&(e.verifyurl=Oe(e.verifyurl)),ut(e))}catch(e){Pe("unable to configure from X-Altcha-Config",e)}return r}}().then((e=>(lt(e),Pe("challenge",e),st(e)))).then((({data:e,solution:t})=>{if(Pe("solution",t),!t||e&&"challenge"in e&&!("clearText"in t))if(void 0!==t?.number&&"challenge"in e)if(H()&&"codeChallenge"in e)["INPUT","BUTTON","SELECT","TEXTAREA"].includes(document.activeElement?.tagName||"")&&!1===v()&&document.activeElement.blur(),b(ue,{challenge:e,solution:t},!0);else{if(H()&&void 0!==T())return nt(Ae(e,t));if(H())return et(Ae(e,t));b(ke,Ae(e,t),!0),Pe("payload",i(ke))}else if(i(fe)!==y.EXPIRED)throw Pe("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")})).then((()=>{i(ue)?(mt(y.CODE),Rr().then((()=>{te("code",{codeChallenge:i(ue)})}))):i(ke)&&(mt(y.VERIFIED),Pe("verified"),Rr().then((()=>{te("verified",{payload:i(ke)}),V()&&vt()})))})).catch((e=>{Pe(e),mt(y.ERROR,e.message)}))}Dr((()=>{!function(){for(const e of Re)"function"==typeof e.onErrorChange&&e.onErrorChange(i(we))}(i(we))})),Dr((()=>{!function(){for(const e of Re)"function"==typeof e.onStateChange&&e.onStateChange(i(fe));w()&&i(fe)!==y.UNVERIFIED&&requestAnimationFrame((()=>{pt()})),b(ce,i(fe)===y.VERIFIED),V()&&i(pe)&&(i(fe)!==y.UNVERIFIED?yt():vt())}(i(fe))})),Ga((()=>{(function(){for(const e of Re)e.destroy()})(),b(ye,null),i(me)&&(i(me).removeEventListener("submit",Ge),i(me).removeEventListener("reset",Je),i(me).removeEventListener("focusin",He),b(me,null)),xe&&(clearTimeout(xe),xe=null),document.removeEventListener("click",Ze),document.removeEventListener("scroll",ze),window.removeEventListener("resize",Qe)})),Mo((()=>{Pe("mounted","2.2.4"),Pe("workers",G()),function(){const e=void 0!==j()?j().split(","):void 0;for(const t of globalThis.altchaPlugins)(!e||e.includes(t.pluginName))&&Re.push(new t({el:i(de),clarify:ct,dispatch:te,getConfiguration:ft,getFloatingAnchor:dt,getState:ht,log:Pe,reset:gt,solve:st,setState:mt,setFloatingAnchor:bt,verify:wt}))}(),Pe("plugins",Re.length?Re.map((e=>e.constructor.pluginName)).join(", "):"none"),q()&&Pe("using test mode"),m()&&ot(m()),void 0!==a()&&Pe("auto",a()),void 0!==w()&&it(w()),b(me,i(de)?.closest("form"),!0),i(me)&&(i(me).addEventListener("submit",Ge,{capture:!0}),i(me).addEventListener("reset",Je),("onfocus"===a()||"focus"===_())&&i(me).addEventListener("focusin",He)),V()&&at(!0),"onload"===a()&&(D()?ct():wt()),i(re)&&(k()||A())&&Pe("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame((()=>{te("load")}))}));var xt=Cl(),$t=Nt(xt);Fa($t,t,"default",{});var Et=J($t,2),Ct=z(Et),Rt=z(Ct);let _t;var kt=z(Rt),At=e=>{$r(e)};K(kt,(e=>{i(fe)===y.VERIFYING&&e(At)}));var It=J(kt,2);qn(It),It.__change=[ul,fe,F,me,ce,D,ct,wt],Qt(It,(e=>b(ge,e)),(()=>i(ge))),Z(Rt);var St=J(Rt,2),Ot=z(St),Pt=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).verified)),B(e,t)},Dt=(e,t)=>{var n=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).verifying)),B(e,t)},r=(e,t)=>{var n=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).verificationRequired)),B(e,t)},r=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).label)),B(e,t)};K(e,(e=>{i(fe)===y.CODE?e(n):e(r,!1)}),t)};K(e,(e=>{i(fe)===y.VERIFYING?e(n):e(r,!1)}),t)};K(Ot,(e=>{i(fe)===y.VERIFIED?e(Pt):e(Dt,!1)})),Z(St);var Vt=J(St,2),Bt=e=>{var t=fl();qn(t),Ce((()=>{R(t,"name",L()),qa(t,i(ke))})),B(e,t)};K(Vt,(e=>{i(fe)===y.VERIFIED&&e(Bt)}));var Mt=J(Vt,2),jt=e=>{var t=dl(),n=z(t);R(n,"href","https://altcha.org/"),Z(t),Ce((()=>R(n,"aria-label",i(ae).ariaLinkLabel))),B(e,t)};K(Mt,(e=>{(!0!==A()||i(re))&&e(jt)}));var Tt=J(Mt,2),Ft=e=>{var t=_l(),n=J(z(t),2),r=z(n),o=J(r,2);Sa(o,!v()),o.__keydown=[ll,We];var a=J(o,2),l=z(a),s=z(l),c=e=>{var t=pl();t.__click=We;var n=z(t),r=e=>{$r(e,(()=>20))},o=(e,t)=>{var n=e=>{B(e,hl())},r=(e,t)=>{var n=e=>{B(e,vl())},r=e=>{B(e,gl())};K(e,(e=>{i($e)===Q.PLAYING?e(n):e(r,!1)}),t)};K(e,(e=>{i($e)===Q.ERROR?e(n):e(r,!1)}),t)};K(n,(e=>{i($e)===Q.LOADING?e(r):e(o,!1)})),Z(t),Ce((()=>{R(t,"title",i(ae).getAudioChallenge),t.disabled=i($e)===Q.LOADING||i($e)===Q.ERROR||i(Ee),R(t,"aria-label",i($e)===Q.LOADING?i(ae).loading:i(ae).getAudioChallenge)})),B(e,t)};K(s,(e=>{i(ue).challenge.codeChallenge.audio&&e(c)}));var u=J(s,2);u.__click=[sl,wt],Z(l);var f=J(l,2),d=z(f),h=e=>{$r(e,(()=>16))};K(d,(e=>{i(Ee)&&e(h)}));var p=J(d);Z(f),Z(a);var g=J(a,2),m=e=>{var t=ml(),n=z(t);Z(t),Qt(t,(e=>b(ve,e)),(()=>i(ve))),Ce((e=>R(n,"src",e)),[()=>Oe(i(ue).challenge.codeChallenge.audio,{language:S()})]),Fe("loadstart",t,je),Fe("canplay",t,Be),Fe("pause",t,Ue),Fe("playing",t,Te),Fe("ended",t,De),Fe("error",n,Ve),B(e,t)};K(g,(e=>{i(ue).challenge.codeChallenge.audio&&i(_e)&&e(m)})),Z(n),Z(t),Ce((()=>{R(t,"aria-label",i(ae).verificationRequired),R(r,"src",i(ue).challenge.codeChallenge.image),R(o,"minlength",i(ue).challenge.codeChallenge.length||1),R(o,"maxlength",i(ue).challenge.codeChallenge.length),R(o,"placeholder",i(ae).enterCode),R(o,"aria-label",i($e)===Q.LOADING?i(ae).loading:i($e)===Q.PLAYING?"":i(ae).enterCodeAria),R(o,"aria-live",i($e)?"assertive":"polite"),R(o,"aria-busy",i($e)===Q.LOADING),o.disabled=i(Ee),R(u,"aria-label",i(ae).reload),R(u,"title",i(ae).reload),u.disabled=i(Ee),f.disabled=i(Ee),R(f,"aria-label",i(ae).verify),La(p,` ${i(ae).verify??""}`)})),Fe("submit",n,qe,!0),B(e,t)};K(Tt,(e=>{i(ue)?.challenge.codeChallenge&&e(Ft)})),Z(Ct);var Ut=J(Ct,2),qt=e=>{var t=wl(),n=J(z(t),2),r=e=>{var t=bl();tt(z(t),(()=>i(ae).expired)),Z(t),Ce((()=>R(t,"title",i(we)))),B(e,t)},o=e=>{var t=yl();tt(z(t),(()=>i(ae).error)),Z(t),Ce((()=>R(t,"title",i(we)))),B(e,t)};K(n,(e=>{i(fe)===y.EXPIRED?e(r):e(o,!1)})),Z(t),B(e,t)};K(Ut,(e=>{(i(we)||i(fe)===y.EXPIRED)&&e(qt)}));var Zt=J(Ut,2),zt=e=>{var t=El(),n=z(t);tt(z(n),(()=>i(ae).footer)),Z(n),Z(t),B(e,t)};K(Zt,(e=>{i(ae).footer&&(!0!==k()||i(re))&&e(zt)}));var Ht=J(Zt,2),Gt=e=>{var t=xl();Qt(t,(e=>b(he,e)),(()=>i(he))),B(e,t)};K(Ht,(e=>{w()&&e(Gt)})),Z(Et),Qt(Et,(e=>b(de,e)),(()=>i(de))),Ce((e=>{R(Et,"data-state",i(fe)),R(Et,"data-floating",w()),R(Et,"data-overlay",V()),_t=Va(Rt,1,"altcha-checkbox",null,_t,e),R(It,"id",i(le)),It.required="onsubmit"!==a()&&(!w()||"off"!==a()),R(St,"for",i(le))}),[()=>({"altcha-checkbox-verifying":i(fe)===y.VERIFYING})]),Fe("invalid",It,Ke),Ha(It,(()=>i(ce)),(e=>b(ce,e))),B(e,xt);var Jt=So({clarify:ct,configure:ut,getConfiguration:ft,getFloatingAnchor:dt,getPlugin:function(e){return Re.find((t=>t.constructor.pluginName===e))},getState:ht,hide:vt,repositionFloating:pt,reset:gt,setFloatingAnchor:bt,setState:mt,show:yt,verify:wt,get auto(){return a()},set auto(e=void 0){a(e),E()},get blockspam(){return l()},set blockspam(e=void 0){l(e),E()},get challengeurl(){return s()},set challengeurl(e=void 0){s(e),E()},get challengejson(){return c()},set challengejson(e=void 0){c(e),E()},get credentials(){return u()},set credentials(e=void 0){u(e),E()},get customfetch(){return f()},set customfetch(e=void 0){f(e),E()},get debug(){return d()},set debug(e=!1){d(e),E()},get delay(){return h()},set delay(e=0){h(e),E()},get disableautofocus(){return v()},set disableautofocus(e=!1){v(e),E()},get refetchonexpire(){return p()},set refetchonexpire(e=!0){p(e),E()},get disablerefetchonexpire(){return g()},set disablerefetchonexpire(e=!p){g(e),E()},get expire(){return m()},set expire(e=void 0){m(e),E()},get floating(){return w()},set floating(e=void 0){w(e),E()},get floatinganchor(){return $()},set floatinganchor(e=void 0){$(e),E()},get floatingoffset(){return C()},set floatingoffset(e=void 0){C(e),E()},get floatingpersist(){return _()},set floatingpersist(e=!1){_(e),E()},get hidefooter(){return k()},set hidefooter(e=!1){k(e),E()},get hidelogo(){return A()},set hidelogo(e=!1){A(e),E()},get id(){return I()},set id(e=void 0){I(e),E()},get language(){return S()},set language(e=void 0){S(e),E()},get name(){return L()},set name(e="altcha"){L(e),E()},get maxnumber(){return O()},set maxnumber(e=1e6){O(e),E()},get mockerror(){return P()},set mockerror(e=!1){P(e),E()},get obfuscated(){return D()},set obfuscated(e=void 0){D(e),E()},get overlay(){return V()},set overlay(e=void 0){V(e),E()},get overlaycontent(){return M()},set overlaycontent(e=void 0){M(e),E()},get plugins(){return j()},set plugins(e=void 0){j(e),E()},get sentinel(){return T()},set sentinel(e=void 0){T(e),E()},get spamfilter(){return F()},set spamfilter(e=!1){F(e),E()},get strings(){return U()},set strings(e=void 0){U(e),E()},get test(){return q()},set test(e=!1){q(e),E()},get verifyurl(){return H()},set verifyurl(e=void 0){H(e),E()},get workers(){return G()},set workers(e=Math.min(16,navigator.hardwareConcurrency||8)){G(e),E()},get workerurl(){return W()},set workerurl(e=void 0){W(e),E()}});return r(),Jt}Na(["change","keydown","click"]),customElements.define("altcha-widget",Qa(kl,{blockspam:{type:"Boolean"},debug:{type:"Boolean"},delay:{type:"Number"},disableautofocus:{type:"Boolean"},disablerefetchonexpire:{type:"Boolean"},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:{},credentials:{},customfetch:{},floating:{},floatinganchor:{},floatingpersist:{},id:{},language:{},name:{},obfuscated:{},overlay:{},overlaycontent:{},plugins:{},sentinel:{},spamfilter:{},strings:{},verifyurl:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","hide","repositionFloating","reset","setFloatingAnchor","setState","show","verify"],!1));const Bo='@keyframes overlay-slidein{to{opacity:1;top:50%}}@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{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}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{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{align-items:center;display:flex;gap:.4rem;padding:.7rem;position:relative}.altcha-code-challenge{background:var(--altcha-color-base, white);border:1px solid var(--altcha-color-border-focus, currentColor);border-radius:var(--altcha-border-radius, 3px);filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));padding:.5rem;position:absolute;top:2.5rem;z-index:9999999}.altcha-code-challenge>form{display:flex;flex-direction:column;gap:.5rem}.altcha-code-challenge-input{border:1px solid currentColor;border-radius:3px;box-sizing:border-box;outline:0;font-size:16px;padding:.35rem;width:220px}.altcha-code-challenge-input:focus{outline:2px solid color-mix(in srgb,var(--altcha-color-active, #1D1DC9) 20%,transparent)}.altcha-code-challenge-input:disabled{opacity:.7}.altcha-code-challenge-image{background-color:#fff;border:1px solid currentColor;border-radius:3px;box-sizing:border-box;object-fit:contain;height:50px;width:220px}.altcha-code-challenge-audio,.altcha-code-challenge-reload{background:color-mix(in srgb,var(--altcha-color-text, currentColor) 10%,transparent);border:0;border-radius:3px;color:var(--altcha-color-text, currentColor);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem}.altcha-code-challenge-audio:disabled,.altcha-code-challenge-reload:disabled,.altcha-code-challenge-verify:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-audio>*,.altcha-code-challenge-reload>*{height:20px;width:20px}.altcha-code-challenge-buttons{display:flex;justify-content:space-between}.altcha-code-challenge-buttons-left{display:flex;gap:.25rem}.altcha-code-challenge-verify{align-items:center;background:var(--altcha-color-active, #1D1DC9);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;gap:.5rem;font-size:100%;padding:.35rem 1rem}.altcha-code-challenge-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, currentColor);content:"";height:0;left:.15rem;position:absolute;top:-12px;width:0}.altcha[data-floating=top] .altcha-code-challenge{top:-150px}.altcha[data-floating=top] .altcha-code-challenge-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, currentColor);bottom:-12px;top:auto}.altcha-label{cursor:pointer;flex-grow:1}.altcha-logo{color:currentColor!important;opacity:.7}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.7;justify-content:end;padding:.2rem .7rem}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;justify-content:center;height:24px;position:relative;width:24px}.altcha-checkbox .altcha-spinner{bottom:0;left:0;position:absolute;right:0;top:0}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-checkbox-verifying input{appearance:none;opacity:0;pointer-events:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}.altcha-overlay{--altcha-color-base:#fff;--altcha-color-text:#000;animation:overlay-slidein .5s forwards;display:flex;flex-direction:column;gap:.5rem;left:50%;width:260px;opacity:0;position:fixed;top:45%;transform:translate(-50%,-50%)}.altcha-overlay-backdrop{background:rgba(0,0,0,.5);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99999999}.altcha-overlay-close-button{align-self:flex-end;background:0 0;border:0;padding:.25rem;cursor:pointer;color:currentColor;font-size:130%;line-height:1;opacity:.7}@media (max-height:450px){.altcha-overlay{top:10%!important;transform:translate(-50%,0)}}';function Ho(e,t="__altcha-css"){if(!document.getElementById(t)){const n=document.createElement("style");n.id=t,n.textContent=e,document.head.appendChild(n)}}globalThis.altchaCreateWorker=e=>e?new Worker(new URL(e)):new Ni,Ho(Bo),Ho(Bo);export{kl as Altcha}; +const Yn='(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(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 p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r="SHA-256",n=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=l;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let i=n;i<=r;i+=1){if(o.signal.aborted||!c||!u)return null;try{const f=await crypto.subtle.decrypt({name:l,iv:g(i)},c,u);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,u=null;try{u=h(e);const i=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",i,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}let y;onmessage=async e=>{const{type:t,payload:r,start:n,max:l}=e.data;let o=null;if(t==="abort")y?.abort(),y=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:s}=r||{};o=await m(s,a,l,n)}else{const{algorithm:a,challenge:s,salt:c}=r||{};o=w(s,c,a,l,n)}y=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n',Dn=typeof self<"u"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",Yn],{type:"text/javascript;charset=utf-8"});function Ni(e){let t;try{if(t=Dn&&(self.URL||self.webkitURL).createObjectURL(Dn),!t)throw"";const n=new Worker(t,{name:e?.name});return n.addEventListener("error",(()=>{(self.URL||self.webkitURL).revokeObjectURL(t)})),n}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(Yn),{name:e?.name})}}const Li="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Li);const Pi=1,Oi=4,Fi=8,Mi=16,Vi=1,Ui=2,Mr="[",Zn="[!",zn="]",bt={},ae=Symbol(),ji="http://www.w3.org/1999/xhtml",Nn=!1;function Jn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}var Kn=Array.isArray,qi=Array.prototype.indexOf,Bi=Array.from,or=Object.keys,Mt=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,Hi=Object.getOwnPropertyDescriptors,Gi=Object.prototype,Wi=Array.prototype,Xn=Object.getPrototypeOf,Ln=Object.isExtensible;const yt=()=>{};function Qn(e){for(var t=0;t{var t=$;Re(a);var n=e();return Re(t),n};return r&&n.set("length",N(e.length)),new Proxy(e,{defineProperty(e,t,r){(!("value"in r)||!1===r.configurable||!1===r.enumerable||!1===r.writable)&&na();var o=n.get(t);return void 0===o?(o=l((()=>N(r.value))),n.set(t,o)):b(o,l((()=>Me(r.value)))),!0},deleteProperty(e,t){var i=n.get(t);if(void 0===i)t in e&&(n.set(t,l((()=>N(ae)))),Ir(o));else{if(r&&"string"==typeof t){var a=n.get("length"),s=Number(t);Number.isInteger(s)&&sN(Me(s?t[r]:ae)))),n.set(r,a)),void 0!==a){var c=i(a);return c===ae?void 0:c}return Reflect.get(t,r,o)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&"value"in r){var o=n.get(t);o&&(r.value=i(o))}else if(void 0===r){var a=n.get(t),l=a?.v;if(void 0!==a&&l!==ae)return{enumerable:!0,configurable:!0,value:l,writable:!0}}return r},has(e,t){if(t===Ot)return!0;var r=n.get(t),o=void 0!==r&&r.v!==ae||Reflect.has(e,t);if((void 0!==r||null!==S&&(!o||rt(e,t)?.writable))&&(void 0===r&&(r=l((()=>N(o?Me(e[t]):ae))),n.set(t,r)),i(r)===ae))return!1;return o},set(e,t,i,a){var s=n.get(t),c=t in e;if(r&&"length"===t)for(var u=i;uN(ae))),n.set(u+"",f))}void 0===s?(!c||rt(e,t)?.writable)&&(b(s=l((()=>N(void 0))),l((()=>Me(i)))),n.set(t,s)):(c=s.v!==ae,b(s,l((()=>Me(i)))));var d=Reflect.getOwnPropertyDescriptor(e,t);if(d?.set&&d.set.call(a,i),!c){if(r&&"string"==typeof t){var h=n.get("length"),v=Number(t);Number.isInteger(v)&&v>=h.v&&b(h,v+1)}Ir(o)}return!0},ownKeys(e){i(o);var t=Reflect.ownKeys(e).filter((e=>{var t=n.get(e);return void 0===t||t.v!==ae}));for(var[r,a]of n)a.v!==ae&&!(r in e)&&t.push(r);return t},setPrototypeOf(){oa()}})}function Ir(e,t=1){b(e,e.v+t)}var Pn,no,oo,io;function Tr(){if(void 0===Pn){Pn=window,no=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;oo=rt(t,"firstChild").get,io=rt(t,"nextSibling").get,Ln(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Ln(n)&&(n.__t=void 0)}}function vr(e=""){return document.createTextNode(e)}function ve(e){return oo.call(e)}function Be(e){return io.call(e)}function z(e,t){if(!O)return ve(e);var n=ve(P);return null===n&&(n=P.appendChild(vr())),Ue(n),n}function Nt(e,t){if(!O){var n=ve(e);return n instanceof Comment&&""===n.data?Be(n):n}return P}function J(e,t=1,n=!1){let r=O?P:e;for(var o;t--;)o=r,r=Be(r);if(!O)return r;var i=r?.nodeType;if(n&&3!==i){var a=vr();return null===r?o?.after(a):r.before(a),Ue(a),a}return Ue(r),r}function sa(e){e.textContent=""}function ao(e){return e===this.v}function lo(e,t){return e!=e?t==t:e!==t||null!==e&&"object"==typeof e||"function"==typeof e}function jr(e){return!lo(e,this.v)}function gr(e){var t=2050,n=null!==$&&2&$.f?$:null;return null===S||null!==n&&n.f&fe?t|=fe:S.f|=to,{ctx:ne,deps:null,effects:null,equals:ao,f:t,fn:e,reactions:null,rv:0,v:null,wv:0,parent:n??S}}function Lt(e){const t=gr(e);return wo(t),t}function ua(e){const t=gr(e);return t.equals=jr,t}function so(e){var t=e.effects;if(null!==t){e.effects=null;for(var n=0;n{je(t)}}function va(e){const t=lt(64,e,!0);return(e={})=>new Promise((n=>{e.outro?Lr(t,(()=>{je(t),n(void 0)})):(je(t),n(void 0))}))}function Br(e){return lt(4,e,!1)}function Hr(e){return lt(8,e,!0)}function Ce(e,t=[],n=gr){const r=t.map(n);return fo((()=>e(...r.map(i))))}function fo(e,t=0){return lt(24|t,e,!0)}function Nr(e,t=!0){return lt(40,e,!0,t)}function ho(e){var t=e.teardown;if(null!==t){const e=qt,n=$;Fn(!0),Re(null);try{t.call(null)}finally{Fn(e),Re(n)}}}function vo(e,t=!1){var n=e.first;for(e.first=e.last=null;null!==n;){var r=n.next;64&n.f?n.parent=null:je(n,t),n=r}}function ga(e){for(var t=e.first;null!==t;){var n=t.next;!(32&t.f)&&je(t),t=n}}function je(e,t=!0){var n=!1;(t||!!(e.f&zi))&&null!==e.nodes_start&&(go(e.nodes_start,e.nodes_end),n=!0),vo(e,t&&!n),cr(e,0),_e(e,dr);var r=e.transitions;if(null!==r)for(const e of r)e.stop();ho(e);var o=e.parent;null!==o&&null!==o.first&&po(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function go(e,t){for(;null!==e;){var n=e===t?null:Be(e);e.remove(),e=n}}function po(e){var t=e.parent,n=e.prev,r=e.next;null!==n&&(n.next=r),null!==r&&(r.prev=n),null!==t&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Lr(e,t){var n=[];mo(e,n,!0),pa(n,(()=>{je(e),t&&t()}))}function pa(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var o of e)o.out(r)}else t()}function mo(e,t,n){if(!(e.f&wt)){if(e.f^=wt,null!==e.transitions)for(const r of e.transitions)(r.is_global||n)&&t.push(r);for(var r=e.first;null!==r;){var o=r.next;mo(r,t,!!(!!(r.f&Ur)||!!(32&r.f))&&n),r=o}}}function On(e){_o(e,!0)}function _o(e,t){if(e.f&wt){e.f^=wt,!(e.f&le)&&(e.f^=le),Bt(e)&&(_e(e,Ie),mr(e));for(var n=e.first;null!==n;){var r=n.next;_o(n,!!(!!(n.f&Ur)||!!(32&n.f))&&t),n=r}if(null!==e.transitions)for(const n of e.transitions)(n.is_global||t)&&n.in()}}const ma=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let Vt=[],Ut=[];function bo(){var e=Vt;Vt=[],Qn(e)}function yo(){var e=Ut;Ut=[],Qn(e)}function Gr(e){0===Vt.length&&queueMicrotask(bo),Vt.push(e)}function _a(e){0===Ut.length&&ma(yo),Ut.push(e)}function ba(){Vt.length>0&&bo(),Ut.length>0&&yo()}let tr=!1,lr=!1,sr=null,nt=!1,qt=!1;function Fn(e){qt=e}let Ft=[],$=null,ke=!1;function Re(e){$=e}let S=null;function qe(e){S=e}let Te=null;function wo(e){null!==$&&$.f&Sr&&(null===Te?Te=[e]:Te.push(e))}let re=null,ce=0,he=null;function ya(e){he=e}let Eo=1,ur=0,Ve=!1;function xo(){return++Eo}function Bt(e){var t=e.f;if(t&Ie)return!0;if(t&at){var n=e.deps,r=!!(t&fe);if(null!==n){var o,i,a=!!(t&ar),l=r&&null!==S&&!Ve,s=n.length;if(a||l){var c=e,u=c.parent;for(o=0;oe.wv)return!0}(!r||null!==S&&!Ve)&&_e(e,le)}return!1}function wa(e,t){for(var n=t;null!==n;){if(n.f&ir)try{return void n.fn(e)}catch{n.f^=ir}n=n.parent}throw tr=!1,e}function Mn(e){return!(e.f&dr||null!==e.parent&&e.parent.f&ir)}function pr(e,t,n,r){if(tr){if(null===n&&(tr=!1),Mn(t))throw e}else if(null!==n&&(tr=!0),wa(e,t),Mn(t))throw e}function Co(e,t,n=!0){var r=e.reactions;if(null!==r)for(var o=0;o0)for(f.length=ce+re.length,d=0;d0;){t++>1e3&&xa();var n=Ft,r=n.length;Ft=[];for(var o=0;o{r.d=!0}))}function So(e){const t=ne;if(null!==t){void 0!==e&&(t.x=e);const a=t.e;if(null!==a){var n=S,r=$;t.e=null;try{for(var o=0;o{document.activeElement===t&&e.focus()}))}}let Un=!1;function Do(){Un||(Un=!0,document.addEventListener("reset",(e=>{Promise.resolve().then((()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()}))}),{capture:!0}))}function No(e){var t=$,n=S;Re(null),qe(null);try{return e()}finally{Re(t),qe(n)}}function Ta(e,t,n,r=n){e.addEventListener(t,(()=>No(n)));const o=e.__on_r;e.__on_r=o?()=>{o(),r(!0)}:()=>r(!0),Do()}const Lo=new Set,Pr=new Set;function Da(e,t,n,r={}){function o(e){if(r.capture||Pt.call(t,e),!e.cancelBubble)return No((()=>n?.call(this,e)))}return e.startsWith("pointer")||e.startsWith("touch")||"wheel"===e?Gr((()=>{t.addEventListener(e,o,r)})):t.addEventListener(e,o,r),o}function Fe(e,t,n,r,o){var i={capture:r,passive:o},a=Da(e,t,n,i);(t===document.body||t===window||t===document)&&qr((()=>{t.removeEventListener(e,a,i)}))}function Na(e){for(var t=0;ti||n});var u=$,f=S;Re(null),qe(null);try{for(var d,h=[];null!==i;){var v=i.assignedSlot||i.parentNode||i.host||null;try{var p=i["__"+r];if(null!=p&&(!i.disabled||e.target===i))if(Kn(p)){var[g,...b]=p;g.apply(i,[e,...b])}else p.call(i,e)}catch(e){d?h.push(e):d=e}if(e.cancelBubble||v===t||null===v)break;i=v}if(d){for(let e of h)queueMicrotask((()=>{throw e}));throw d}}finally{e.__root=t,delete e.currentTarget,Re(u),qe(f)}}}function Zr(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function Ae(e,t){var n=S;null===n.nodes_start&&(n.nodes_start=e,n.nodes_end=t)}function be(e,t){var n,r=!!(1&t),o=!!(2&t),i=!e.startsWith("");return()=>{if(O)return Ae(P,null),P;void 0===n&&(n=Zr(i?e:""+e),r||(n=ve(n)));var t=o||no?document.importNode(n,!0):n.cloneNode(!0);r?Ae(ve(t),t.lastChild):Ae(t,t);return t}}function _r(e,t,n="svg"){var r,o=`<${n}>${!e.startsWith("")?e:""+e}`;return()=>{if(O)return Ae(P,null),P;if(!r){var e=Zr(o);r=ve(ve(e))}var t=r.cloneNode(!0);return Ae(t,t),t}}function Xt(){if(O)return Ae(P,null),P;var e=document.createDocumentFragment(),t=document.createComment(""),n=vr();return e.append(t,n),Ae(t,n),e}function B(e,t){if(O)return S.nodes_end=P,void Et();null!==e&&e.before(t)}function La(e,t){var n=null==t?"":"object"==typeof t?t+"":t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=n+"")}function Po(e,t){return Oo(e,t)}function Pa(e,t){Tr(),t.intro=t.intro??!1;const n=t.target,r=O,o=P;try{for(var i=ve(n);i&&(8!==i.nodeType||i.data!==Mr);)i=Be(i);if(!i)throw bt;_t(!0),Ue(i),Et();const r=Oo(e,{...t,anchor:i});if(null===P||8!==P.nodeType||P.data!==zn)throw hr(),bt;return _t(!1),r}catch(r){if(r===bt)return!1===t.recover&&ta(),Tr(),sa(n),_t(!1),Po(e,t);throw r}finally{_t(r),Ue(o)}}const pt=new Map;function Oo(e,{target:t,anchor:n,props:r={},events:o,context:i,intro:a=!0}){Tr();var l=new Set,s=e=>{for(var n=0;n{var a=n??t.appendChild(vr());return Nr((()=>{i&&($o({}),ne.c=i);o&&(r.$$events=o),O&&Ae(a,null),c=e(a,r)||{},O&&(S.nodes_end=P),i&&So()})),()=>{for(var e of l){t.removeEventListener(e,Pt);var r=pt.get(e);0==--r?(document.removeEventListener(e,Pt),pt.delete(e)):pt.set(e,r)}Pr.delete(s),a!==n&&a.parentNode?.removeChild(a)}}));return Or.set(c,u),c}let Or=new WeakMap;function Oa(e,t){const n=Or.get(e);return n?(Or.delete(e),n(t)):Promise.resolve()}function K(e,t,[n,r]=[0,0]){O&&0===n&&Et();var o=e,i=null,a=null,l=ae,s=!1;const c=(e,t=!0)=>{s=!0,u(t,e)},u=(e,t)=>{if(l===(l=e))return;let s=!1;if(O&&-1!==r){if(0===n){const e=o.data;e===Mr?r=0:e===Zn?r=1/0:(r=parseInt(e.substring(1)))!=r&&(r=l?1/0:-1)}!!l===r>n&&(Ue(o=aa()),_t(!1),s=!0,r=-1)}l?(i?On(i):t&&(i=Nr((()=>t(o)))),a&&Lr(a,(()=>{a=null}))):(a?On(a):t&&(a=Nr((()=>t(o,[n+1,r])))),i&&Lr(i,(()=>{i=null}))),s&&_t(!0)};fo((()=>{s=!1,t(c),s||u(null,null)}),n>0?Ur:0),O&&(o=P)}function tt(e,t,n=!1,r=!1,o=!1){var i=e,a="";Ce((()=>{var e=S;if(a!==(a=t()??"")){if(null!==e.nodes_start&&(go(e.nodes_start,e.nodes_end),e.nodes_start=e.nodes_end=null),""!==a){if(O){P.data;for(var o=Et(),l=o;null!==o&&(8!==o.nodeType||""!==o.data);)l=o,o=Be(o);if(null===o)throw hr(),bt;return Ae(P,l),void(i=Ue(o))}var s=a+"";n?s=`${s}`:r&&(s=`${s}`);var c=Zr(s);if((n||r)&&(c=ve(c)),Ae(ve(c),c.lastChild),n||r)for(;ve(c);)i.before(ve(c));else i.before(c)}}else O&&Et()}))}function Fa(e,t,n,r,o){O&&Et();var i=t.$$slots?.[n],a=!1;!0===i&&(i=t.children,a=!0),void 0===i||i(e,a?()=>r:r)}const jn=[..." \t\n\r\f \v\ufeff"];function Ma(e,t,n){var r=""+e;if(n)for(var o in n)if(n[o])r=r?r+" "+o:o;else if(r.length)for(var i=o.length,a=0;(a=r.indexOf(o,a))>=0;){var l=a+i;0!==a&&!jn.includes(r[a-1])||l!==r.length&&!jn.includes(r[l])?a=l:r=(0===a?"":r.substring(0,a))+r.substring(l+1)}return""===r?null:r}function Va(e,t,n,r,o,i){var a=e.__className;if(O||a!==n||void 0===a){var l=Ma(n,r,i);(!O||l!==e.getAttribute("class"))&&(null==l?e.removeAttribute("class"):e.className=l),e.__className=n}else if(i&&o!==i)for(var s in i){var c=!!i[s];(null==o||c!==!!o[s])&&e.classList.toggle(s,c)}return i}const Ua=Symbol("is custom element"),ja=Symbol("is html");function qn(e){if(O){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var n=e.value;R(e,"value",null),e.value=n}if(e.hasAttribute("checked")){var r=e.checked;R(e,"checked",null),e.checked=r}}};e.__on_r=n,_a(n),Do()}}function qa(e,t){var n=Fo(e);n.value===(n.value=t??void 0)||e.value===t&&(0!==t||"PROGRESS"!==e.nodeName)||(e.value=t??"")}function R(e,t,n,r){var o=Fo(e);O&&(o[t]=e.getAttribute(t),"src"===t||"srcset"===t||"href"===t&&"LINK"===e.nodeName)||o[t]!==(o[t]=n)&&("loading"===t&&(e[Ji]=n),null==n?e.removeAttribute(t):"string"!=typeof n&&Ba(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Fo(e){return e.__attributes??={[Ua]:e.nodeName.includes("-"),[ja]:e.namespaceURI===ji}}var Bn=new Map;function Ba(e){var t=Bn.get(e.nodeName);if(t)return t;Bn.set(e.nodeName,t=[]);for(var n,r=e,o=Element.prototype;o!==r;){for(var i in n=Hi(r))n[i].set&&t.push(i);r=Xn(r)}return t}function Ha(e,t,n=t){Ta(e,"change",(t=>{var r=t?e.defaultChecked:e.checked;n(r)})),(O&&e.defaultChecked!==e.checked||null==ot(t))&&n(e.checked),Hr((()=>{var n=t();e.checked=!!n}))}function Hn(e,t){return e===t||e?.[Ot]===t}function Qt(e={},t,n,r){return Br((()=>{var r,o;return Hr((()=>{r=o,o=[],ot((()=>{e!==n(...o)&&(t(e,...o),r&&Hn(n(...r),e)&&t(null,...r))}))})),()=>{Gr((()=>{o&&Hn(n(...o),e)&&t(null,...o)}))}})),e}function Mo(e){null===ne&&Jn(),Dr((()=>{const t=ot(e);if("function"==typeof t)return t}))}function Ga(e){null===ne&&Jn(),Mo((()=>()=>ot(e)))}function Vo(e,t,n){if(null==e)return t(void 0),yt;const r=ot((()=>e.subscribe(t,n)));return r.unsubscribe?()=>r.unsubscribe():r}const mt=[];function Wa(e,t=yt){let n=null;const r=new Set;function o(t){if(lo(e,t)&&(e=t,n)){const t=!mt.length;for(const t of r)t[1](),mt.push(t,e);if(t){for(let e=0;e{r.delete(s),0===r.size&&n&&(n(),n=null)}}}}function rr(e){let t;return Vo(e,(e=>t=e))(),t}let Uo,er=!1,Fr=Symbol();function Ya(e,t,n){const r=n[t]??={store:null,source:Yr(void 0),unsubscribe:yt};if(r.store!==e&&!(Fr in n))if(r.unsubscribe(),r.store=e??null,null==e)r.source.v=void 0,r.unsubscribe=yt;else{var o=!0;r.unsubscribe=Vo(e,(e=>{o?r.source.v=e:b(r.source,e)})),o=!1}return e&&Fr in n?rr(e):i(r.source)}function Za(){const e={};return[e,function(){qr((()=>{for(var t in e)e[t].unsubscribe();Mt(e,Fr,{enumerable:!1,value:!0})}))}]}function za(e){var t=er;try{return er=!1,[e(),er]}finally{er=t}}function Gn(e){return e.ctx?.d??!1}function x(e,t,n,r){var o,a=!!(1&n),l=!!(8&n),s=!!(16&n),c=!1;l?[o,c]=za((()=>e[t])):o=e[t];var u,f=Ot in e||ro in e,d=l&&(rt(e,t)?.set??(f&&t in e&&(n=>e[t]=n)))||void 0,h=r,v=!0,p=!1,g=()=>(p=!0,v&&(v=!1,h=s?ot(r):r),h);if(void 0===o&&void 0!==r&&(d&&ra(),o=g(),d&&d(o)),u=()=>{var n=e[t];return void 0===n?g():(v=!0,p=!1,n)},!(4&n))return u;if(d){var m=e.$$legacy;return function(e,t){return arguments.length>0?((!t||m||c)&&d(t?u():e),e):u()}}var y=!1,w=Yr(o),x=gr((()=>{var e=u(),t=i(w);return y?(y=!1,t):w.v=e}));return l&&i(x),a||(x.equals=jr),function(e,t){if(arguments.length>0){const n=t?i(x):l?Me(e):e;if(!x.equals(n)){if(y=!0,b(w,n),p&&void 0!==h&&(h=n),Gn(x))return e;ot((()=>i(x)))}return e}return Gn(x)?x.v:i(x)}}function Ja(e){return new Ka(e)}class Ka{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=Yr(n);return t.set(e,r),r};const r=new Proxy({...e.props||{},$$events:{}},{get:(e,r)=>i(t.get(r)??n(r,Reflect.get(e,r))),has:(e,r)=>r===ro||(i(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r)),set:(e,r,o)=>(b(t.get(r)??n(r,o),o),Reflect.set(e,r,o))});this.#t=(e.hydrate?Pa:Po)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||!1===e.sync)&&E(),this.#e=r.$$events;for(const e of Object.keys(this.#t))"$set"===e||"$destroy"===e||"$on"===e||Mt(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{Oa(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];const n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter((e=>e!==n))}}$destroy(){this.#t.$destroy()}}function nr(e,t,n,r){const o=n[e]?.type;if(t="Boolean"===o&&"boolean"!=typeof t?null!=t:t,!r||!n[e])return t;if("toAttribute"===r)switch(o){case"Object":case"Array":return null==t?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(o){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":default:return t;case"Number":return null!=t?+t:t}}function Xa(e){const t={};return e.childNodes.forEach((e=>{t[e.slot||"default"]=!0})),t}function Qa(e,t,n,r,o,i){let a=class extends Uo{constructor(){super(e,n,o),this.$$p_d=t}static get observedAttributes(){return or(t).map((e=>(t[e].attribute||e).toLowerCase()))}};return or(t).forEach((e=>{Mt(a.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(n){n=nr(e,n,t),this.$$d[e]=n;var r=this.$$c;if(r){var o=rt(r,e)?.get;o?r[e]=n:r.$set({[e]:n})}}})})),r.forEach((e=>{Mt(a.prototype,e,{get(){return this.$$c?.[e]}})})),e.element=a,a}"function"==typeof HTMLElement&&(Uo=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&this.attachShadow({mode:"open"})}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){const e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(e){return t=>{const n=document.createElement("slot");"default"!==e&&(n.name=e),B(t,n)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},n=Xa(this);for(const r of this.$$s)r in n&&("default"!==r||this.$$d.children?t[r]=e(r):(this.$$d.children=e(r),t.default=!0));for(const e of this.attributes){const t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=nr(t,e.value,this.$$p_d,"toProp"))}for(const e in this.$$p_d)!(e in this.$$d)&&void 0!==this[e]&&(this.$$d[e]=this[e],delete this[e]);this.$$c=Ja({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=ha((()=>{Hr((()=>{this.$$r=!0;for(const e of or(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];const t=nr(e,this.$$d[e],this.$$p_d,"toAttribute");null==t?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1}))}));for(const e in this.$$l)for(const t of this.$$l[e]){const n=this.$$c.$on(e,t);this.$$l_u.set(t,n)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=nr(e,n,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then((()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)}))}$$g_p(e){return or(this.$$p_d).find((t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e))||e}});const jo=new TextEncoder;function el(e){return[...new Uint8Array(e)].map((e=>e.toString(16).padStart(2,"0"))).join("")}async function tl(e,t="SHA-256",n=1e5){const r=Date.now().toString(16);e||(e=Math.round(Math.random()*n));return{algorithm:t,challenge:await qo(r,e,t),salt:r,signature:""}}async function qo(e,t,n){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 el(await crypto.subtle.digest(n.toUpperCase(),jo.encode(e+t)))}function rl(e,t,n="SHA-256",r=1e6,o=0){const i=new AbortController,a=Date.now();return{promise:(async()=>{for(let l=o;l<=r;l+=1){if(i.signal.aborted)return null;if(await qo(t,l,n)===e)return{number:l,took:Date.now()-a}}return null})(),controller:i}}function Wn(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function nl(e){const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e{for(let e=r;e<=n;e+=1){if(i.signal.aborted||!l||!s)return null;try{const t=await crypto.subtle.decrypt({name:o,iv:ol(e)},l,s);if(t)return{clearText:(new TextDecoder).decode(t),took:Date.now()-a}}catch{}}return null})(),controller:i}}var y=(e=>(e.CODE="code",e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(y||{}),Q=(e=>(e.ERROR="error",e.LOADING="loading",e.PLAYING="playing",e.PAUSED="paused",e.READY="ready",e))(Q||{});globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>rr(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(rr(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(rr(globalThis.altchaI18n.store))},store:Wa({})};const al={ariaLinkLabel:"Visit Altcha.org",enterCode:"Enter code",enterCodeAria:"Enter code you hear. Press Space to play audio.",error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:'Protected by ALTCHA',getAudioChallenge:"Get an audio challenge",label:"I'm not a robot",loading:"Loading...",reload:"Reload",verify:"Verify",verificationRequired:"Verification required!",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait."};globalThis.altchaI18n.set("en",al);const $r=(e,t)=>{let n=ua((()=>Yi(t?.(),24)));var r=cl();Ce((()=>{R(r,"width",i(n)),R(r,"height",i(n))})),B(e,r)};function ll(e,t){"Space"===e.code&&(e.preventDefault(),e.stopImmediatePropagation(),t())}function sl(e,t){e.preventDefault(),t()}function ul(e,t,n,r,o,a,l,s){[y.UNVERIFIED,y.ERROR,y.EXPIRED,y.CODE].includes(i(t))?!1!==n()&&!1===i(r)?.reportValidity()?b(o,!1):a()?l():s():b(o,!0)}var cl=_r(''),fl=be(''),dl=be('
'),hl=_r(''),vl=_r(''),gl=_r(''),pl=be(''),ml=be(""),_l=be(''),bl=be("
"),yl=be("
"),wl=be('
'),El=be(''),xl=be('
'),Cl=be('
',1);function kl(e,t){$o(t,!0);const[n,r]=Za(),o=()=>Ya(X,"$altchaI18nStore",n);let a=x(t,"auto",7,void 0),l=x(t,"blockspam",7,void 0),s=x(t,"challengeurl",7,void 0),c=x(t,"challengejson",7,void 0),u=x(t,"credentials",7,void 0),f=x(t,"customfetch",7,void 0),d=x(t,"debug",7,!1),h=x(t,"delay",7,0),v=x(t,"disableautofocus",7,!1),p=x(t,"refetchonexpire",7,!0),g=x(t,"disablerefetchonexpire",23,(()=>!p())),m=x(t,"expire",7,void 0),w=x(t,"floating",7,void 0),$=x(t,"floatinganchor",7,void 0),C=x(t,"floatingoffset",7,void 0),_=x(t,"floatingpersist",7,!1),k=x(t,"hidefooter",7,!1),A=x(t,"hidelogo",7,!1),I=x(t,"id",7,void 0),S=x(t,"language",7,void 0),L=x(t,"name",7,"altcha"),O=x(t,"maxnumber",7,1e6),P=x(t,"mockerror",7,!1),D=x(t,"obfuscated",7,void 0),V=x(t,"overlay",7,void 0),M=x(t,"overlaycontent",7,void 0),j=x(t,"plugins",7,void 0),T=x(t,"sentinel",7,void 0),F=x(t,"spamfilter",7,!1),U=x(t,"strings",7,void 0),q=x(t,"test",7,!1),H=x(t,"verifyurl",7,void 0),G=x(t,"workers",23,(()=>Math.min(16,navigator.hardwareConcurrency||8))),W=x(t,"workerurl",7,void 0);const{altchaI18n:Y}=globalThis,X=Y.store,ee=["SHA-256","SHA-384","SHA-512"],te=(e,n)=>{t.$$host.dispatchEvent(new CustomEvent(e,{detail:n}))},ne=document.documentElement.lang?.split("-")?.[0],re=Lt((()=>s()&&new URL(s(),location.origin).host.endsWith(".altcha.org")&&!!s()?.includes("apiKey=ckey_"))),oe=Lt((()=>c()?Ye(c()):void 0)),ie=Lt((()=>U()?Ye(U()):{})),ae=Lt((()=>({...Se(o()),...i(ie)}))),le=Lt((()=>`${I()||L()}_checkbox_${Math.round(1e8*Math.random())}`));let se=N(null),ce=N(!1),ue=N(null),fe=N(Me(y.UNVERIFIED)),de=N(void 0),he=N(null),ve=N(null),pe=N(null),ge=N(null),be=N(null),me=N(null),ye=N(null),we=N(null),xe=null,$e=N(null),Ee=N(!1),Re=[],_e=N(!1),ke=N(null);function Ae(e,t){return btoa(JSON.stringify({algorithm:e.algorithm,challenge:e.challenge,number:t.number,salt:e.salt,signature:e.signature,test:!!q()||void 0,took:t.took}))}function Ne(){s()&&!g()&&i(fe)===y.VERIFIED?wt():gt(y.EXPIRED,i(ae).expired)}function Ie(){let e=fetch;if(f())if(Pe("using customfetch"),"string"==typeof f()){if(e=globalThis[f()]||null,!e)throw new Error(`Custom fetch function not found: ${f()}`)}else e=f();return e}function Se(e,t=[S()||"",document.documentElement.lang||"",...navigator.languages]){const n=Object.keys(e).map((e=>e.toLowerCase())),r=t.reduce(((t,r)=>(r=r.toLowerCase(),t||(e[r]?r:null)||n.find((e=>r.split("-")[0]===e.split("-")[0]))||null)),null);return e[r||"en"]}function Le(e){return[...i(me)?.querySelectorAll(e?.length?e.map((e=>`input[name="${e}"]`)).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')||[]].reduce(((e,t)=>{const n=t.name,r=t.value;return n&&r&&(e[n]=/\n/.test(r)?r.replace(new RegExp("(?e instanceof Error)))&&console[e[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${L()}]`,...e)}function De(){b($e,Q.PAUSED,!0)}function Ve(e){b($e,Q.ERROR,!0)}function Be(){b($e,Q.READY,!0)}function je(){b($e,Q.LOADING,!0)}function Te(){b($e,Q.PLAYING,!0)}function Ue(){b($e,Q.PAUSED,!0)}function qe(e){if(e.preventDefault(),e.stopPropagation(),i(ue)){const t=new FormData(e.target),n=String(t.get("code"));if(H()?.startsWith("fn:")){const e=H().replace(/^fn:/,"");if(Pe(`calling ${e} function instead of verifyurl`),!(e in globalThis))throw new Error(`Global function "${e}" is undefined.`);return globalThis[e]({challenge:i(ue).challenge,code:n,solution:i(ue).solution})}b(Ee,!0),nt(Ae(i(ue).challenge,i(ue).solution),n).then((({reason:e,verified:t})=>{t?(b(ue,null),mt(y.VERIFIED),Pe("verified"),Rr().then((()=>{i(ge)?.focus(),te("verified",{payload:i(ke)}),"onsubmit"===a()?rt(i(ye)):V()&&vt()}))):(gt(),b(we,e||"Verification failed",!0))})).catch((e=>{b(ue,null),mt(y.ERROR,e),Pe("sentinel verification failed:",e)})).finally((()=>{b(Ee,!1)}))}}function Ze(e){const t=e.target;w()&&t&&!i(de).contains(t)&&(i(fe)===y.VERIFIED&&!1===_()||i(fe)===y.VERIFIED&&"focus"===_()&&!i(me)?.matches(":focus-within")||"off"===a()&&i(fe)===y.UNVERIFIED)&&vt()}function ze(){w()&&i(fe)!==y.UNVERIFIED&&pt()}function He(e){i(fe)===y.UNVERIFIED?wt():w()&&"focus"===_()&&i(fe)===y.VERIFIED&&yt()}function Ge(e){e.target?.hasAttribute("data-code-challenge-form")||(b(ye,e.submitter,!0),i(me)&&"onsubmit"===a()?(i(ye)?.blur(),i(fe)===y.UNVERIFIED?(e.preventDefault(),e.stopPropagation(),wt().then((()=>{rt(i(ye))}))):i(fe)!==y.VERIFIED&&(e.preventDefault(),e.stopPropagation(),i(fe)===y.VERIFYING&&Ke())):i(me)&&w()&&"off"===a()&&i(fe)===y.UNVERIFIED&&(e.preventDefault(),e.stopPropagation(),yt()))}function Je(){gt()}function Ke(){i(fe)===y.VERIFYING&&i(ae).waitAlert&&alert(i(ae).waitAlert)}function We(){i(ve)?i(ve).paused?(i(ve).currentTime=0,i(ve).play()):i(ve).pause():(b(_e,!0),requestAnimationFrame((()=>{i(ve)?.play()})))}function Qe(){w()&&pt()}function Ye(e){return JSON.parse(e)}function Xe(e){const t=new URLSearchParams(e.split("?")?.[1]),n=t.get("expires")||t.get("expire");if(n){const e=new Date(1e3*+n),t=isNaN(e.getTime())?0:e.getTime()-Date.now();t>0&&ot(t)}else xe&&(clearTimeout(xe),xe=null)}async function et(e){if(!H())throw new Error("Attribute verifyurl not set.");Pe("requesting server verification from",H());const t={payload:e};if(!1!==F()){const{blockedCountries:e,classifier:n,disableRules:r,email:o,expectedLanguages:a,expectedCountries:l,fields:s,ipAddress:c,text:u,timeZone:f}="ipAddress"===F()?{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}:"object"==typeof F()?F():{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};t.blockedCountries=e,t.classifier=n,t.disableRules=r,t.email=!1===o?void 0:function(e){const t=i(me)?.querySelector("string"==typeof e?`input[name="${e}"]`:'input[type="email"]:not([data-no-spamfilter])');return t?.value?.slice(t.value.indexOf("@"))||void 0}(o),t.expectedCountries=l,t.expectedLanguages=a||(ne?[ne]:void 0),t.fields=!1===s?void 0:Le(s),t.ipAddress=!1===c?void 0:c||"auto",t.text=u,t.timeZone=!1===f?void 0:f||Wn()}const n=await Ie()(H(),{body:JSON.stringify(t),headers:{"content-type":"application/json"},method:"POST"});if(!(n&&n instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==n.status)throw new Error(`Server responded with ${n.status}.`);const r=await n.json();if(r?.payload&&b(ke,r.payload,!0),te("serververification",r),l()&&"BAD"===r.classification)throw new Error("SpamFilter returned negative classification.")}async function nt(e,t){if(!H())throw new Error("Attribute verifyurl not set.");Pe("requesting sentinel verification from",H());const n={code:t,payload:e};T()&&(n.fields=T().fields?Le():void 0,n.timeZone=T().timeZone?Wn():void 0);const r=await Ie()(H(),{body:JSON.stringify(n),headers:{"content-type":"application/json"},method:"POST"});if(!(r&&r instanceof Response))throw new Error("Fetch function did not return a response.");if(200!==r.status)throw new Error(`Server responded with ${r.status}.`);const o=await r.json();return o?.payload&&b(ke,o.payload,!0),te("sentinelverification",o),o}function rt(e){i(me)&&"requestSubmit"in i(me)?i(me).requestSubmit(e):i(me)?.reportValidity()&&(e?e.click():i(me).submit())}function ot(e){Pe("expire",e),xe&&(clearTimeout(xe),xe=null),e<1?Ne():xe=setTimeout(Ne,e)}function it(e){Pe("floating",e),w()!==e&&(i(de).style.left="",i(de).style.top=""),w(!0===e||""===e?"auto":!1===e||"false"===e?void 0:w()),w()?(a()||a("onsubmit"),document.addEventListener("scroll",ze),document.addEventListener("click",Ze),window.addEventListener("resize",Qe)):"onsubmit"===a()&&a(void 0)}function at(e){if(Pe("overlay",e),V(e),e){if(a()||a("onsubmit"),i(pe)&&i(de).parentElement&&i(pe).replaceWith(i(de).parentElement),i(de)?.parentElement?.parentElement){b(pe,document.createElement("div"),!0),i(de).parentElement.parentElement.appendChild(i(pe));const e=document.createElement("div"),t=document.createElement("button");t.type="button",t.innerHTML="×",t.addEventListener("click",(e=>{e.preventDefault(),gt()})),i(pe).classList.add("altcha-overlay-backdrop"),t.classList.add("altcha-overlay-close-button"),e.classList.add("altcha-overlay"),i(pe).append(e),e.append(t),M()&&e.append(...document.querySelectorAll(M())),e.append(i(de).parentElement)}}else i(pe)&&i(de).parentElement&&(i(pe).replaceWith(i(de).parentElement),i(de).style.display="block")}function lt(e){if(!e.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(void 0===e.signature)throw new Error("Invalid challenge. Property signature is missing.");if(!ee.includes(e.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${ee.join(", ")}`);if(!e.challenge||e.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!e.salt||e.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function st(e){let t=null,n=null;if("Worker"in window){try{t=function(e,t=("number"==typeof q()?q():e.maxNumber||e.maxnumber||O()),n=Math.ceil(G())){const r=new AbortController,o=[];n=Math.min(16,t,Math.max(1,n));for(let e=0;e{const t=await Promise.all(o.map(((t,n)=>{const a=n*i;return r.signal.addEventListener("abort",(()=>{t.postMessage({type:"abort"})})),new Promise((n=>{t.addEventListener("message",(e=>{if(e.data)for(const e of o)e!==t&&e.postMessage({type:"abort"});n(e.data)})),t.postMessage({payload:e,max:a+i,start:a,type:"work"})}))})));for(const e of o)e.terminate();return t.find((e=>!!e))||null})(),controller:r}}(e,e.maxNumber||e.maxnumber||O()),b(se,t.controller,!0),n=await t.promise}catch(e){Pe(e)}finally{b(se,null)}if(null===n||void 0!==n?.number||"obfuscated"in e)return{data:e,solution:n}}if("obfuscated"in e){const t=await il(e.obfuscated,e.key,e.maxNumber||e.maxnumber);return{data:e,solution:await t.promise}}t=rl(e.challenge,e.salt,e.algorithm,e.maxNumber||e.maxnumber||O()),b(se,t.controller,!0);try{n=await t.promise}catch(e){Pe(e)}finally{b(se,null)}return{data:e,solution:n}}async function ct(){if(!D())return void mt(y.ERROR);const e=Re.find((e=>"obfuscation"===e.constructor.pluginName));return e&&"clarify"in e?"clarify"in e&&"function"==typeof e.clarify?e.clarify():void 0:(mt(y.ERROR),void Pe("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it."))}function ut(e){void 0!==e.obfuscated&&D(e.obfuscated),void 0!==e.auto&&(a(e.auto),"onload"===a()&&(D()?ct():wt())),void 0!==e.blockspam&&l(!!e.blockspam),void 0!==e.customfetch&&f(e.customfetch),void 0!==e.floatinganchor&&$(e.floatinganchor),void 0!==e.delay&&h(e.delay),void 0!==e.floatingoffset&&C(e.floatingoffset),void 0!==e.floating&&it(e.floating),void 0!==e.expire&&(ot(e.expire),m(e.expire)),e.challenge&&(c("string"==typeof e.challenge?e.challenge:JSON.stringify(e.challenge)),lt(i(oe))),void 0!==e.challengeurl&&s(e.challengeurl),void 0!==e.debug&&d(!!e.debug),void 0!==e.hidefooter&&k(!!e.hidefooter),void 0!==e.hidelogo&&A(!!e.hidelogo),void 0!==e.language&&U(Se(o(),[e.language])),void 0!==e.maxnumber&&O(+e.maxnumber),void 0!==e.mockerror&&P(!!e.mockerror),void 0!==e.name&&L(e.name),void 0!==e.overlaycontent&&M(e.overlaycontent),void 0!==e.overlay&&at(e.overlay),void 0!==e.refetchonexpire&&g(!e.refetchonexpire),void 0!==e.disablerefetchonexpire&&g(!e.disablerefetchonexpire),void 0!==e.sentinel&&"object"==typeof e.sentinel&&T(e.sentinel),void 0!==e.spamfilter&&F("object"==typeof e.spamfilter?e.spamfilter:!!e.spamfilter),e.strings&&U("string"==typeof e.strings?e.strings:JSON.stringify(e.strings)),void 0!==e.test&&q("number"==typeof e.test?e.test:!!e.test),void 0!==e.verifyurl&&H(e.verifyurl),void 0!==e.workers&&G(+e.workers),void 0!==e.workerurl&&W(e.workerurl)}function ft(){return{auto:a(),blockspam:l(),challengeurl:s(),debug:d(),delay:h(),disableautofocus:v(),disablerefetchonexpire:g(),expire:m(),floating:w(),floatinganchor:$(),floatingoffset:C(),hidefooter:k(),hidelogo:A(),name:L(),maxnumber:O(),mockerror:P(),obfuscated:D(),overlay:V(),refetchonexpire:!g(),spamfilter:F(),strings:i(ae),test:q(),verifyurl:H(),workers:G(),workerurl:W()}}function dt(){return i(be)}function ht(){return i(fe)}function vt(){i(de).style.display="none",V()&&i(pe)&&(i(pe).style.display="none")}function pt(e=20){if(i(de))if(i(be)||b(be,($()?document.querySelector($()):i(me)?.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||i(me),!0),i(be)){const t=parseInt(C(),10)||12,n=i(be).getBoundingClientRect(),r=i(de).getBoundingClientRect(),o=document.documentElement.clientHeight,a=document.documentElement.clientWidth,l="auto"===w()?n.bottom+r.height+t+e>o:"top"===w(),s=Math.max(e,Math.min(a-e-r.width,n.left+n.width/2-r.width/2));if(i(de).style.top=l?n.top-(r.height+t)+"px":`${n.bottom+t}px`,i(de).style.left=`${s}px`,i(de).setAttribute("data-floating",l?"top":"bottom"),i(he)){const e=i(he).getBoundingClientRect();i(he).style.left=n.left-s+n.width/2-e.width/2+"px"}}else Pe("unable to find floating anchor element")}function gt(e=y.UNVERIFIED,t=null){i(se)&&(i(se).abort(),b(se,null)),b(ce,!1),b(ke,null),b(ue,null),b(_e,!1),b($e,null),mt(e,t)}function bt(e){b(be,e,!0)}function mt(e,t=null){b(fe,e,!0),b(we,t,!0),te("statechange",{payload:i(ke),state:i(fe)})}function yt(){i(de).style.display="block",w()&&pt(),V()&&i(pe)&&(i(pe).style.display="flex")}async function wt(){return gt(y.VERIFYING),await new Promise((e=>setTimeout(e,h()||0))),async function(){if(P())throw Pe("mocking error"),new Error("Mocked error.");if(i(oe))return Pe("using provided json data"),Xe(i(oe).salt),i(oe);if(q())return Pe("generating test challenge",{test:q()}),tl("boolean"!=typeof q()?+q():void 0);{if(!s()&&i(me)){const e=i(me).getAttribute("action");e?.includes("/form/")&&s(e+"/altcha")}if(!s())throw new Error("Attribute challengeurl not set.");Pe("fetching challenge from",s());const e={credentials:"boolean"==typeof u()?"include":u(),headers:!1!==F()?{"x-altcha-spam-filter":"1"}:{}},t=await Ie()(s(),e);if(!(t&&t instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==t.status)throw new Error(`Server responded with ${t.status}.`);const n=t.headers.get("X-Altcha-Config"),r=await t.json();if(Xe(r.salt),n)try{const e=JSON.parse(n);e&&"object"==typeof e&&(e.verifyurl&&!e.verifyurl.startsWith("fn:")&&(e.verifyurl=Oe(e.verifyurl)),ut(e))}catch(e){Pe("unable to configure from X-Altcha-Config",e)}return r}}().then((e=>(lt(e),Pe("challenge",e),st(e)))).then((({data:e,solution:t})=>{if(Pe("solution",t),!t||e&&"challenge"in e&&!("clearText"in t))if(void 0!==t?.number&&"challenge"in e)if(H()&&"codeChallenge"in e)["INPUT","BUTTON","SELECT","TEXTAREA"].includes(document.activeElement?.tagName||"")&&!1===v()&&document.activeElement.blur(),b(ue,{challenge:e,solution:t},!0);else{if(H()&&void 0!==T())return nt(Ae(e,t));if(H())return et(Ae(e,t));b(ke,Ae(e,t),!0),Pe("payload",i(ke))}else if(i(fe)!==y.EXPIRED)throw Pe("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")})).then((()=>{i(ue)?(mt(y.CODE),Rr().then((()=>{te("code",{codeChallenge:i(ue)})}))):i(ke)&&(mt(y.VERIFIED),Pe("verified"),Rr().then((()=>{te("verified",{payload:i(ke)}),V()&&vt()})))})).catch((e=>{Pe(e),mt(y.ERROR,e.message)}))}Dr((()=>{!function(){for(const e of Re)"function"==typeof e.onErrorChange&&e.onErrorChange(i(we))}(i(we))})),Dr((()=>{!function(){for(const e of Re)"function"==typeof e.onStateChange&&e.onStateChange(i(fe));w()&&i(fe)!==y.UNVERIFIED&&requestAnimationFrame((()=>{pt()})),b(ce,i(fe)===y.VERIFIED),V()&&i(pe)&&(i(fe)!==y.UNVERIFIED?yt():vt())}(i(fe))})),Ga((()=>{(function(){for(const e of Re)e.destroy()})(),b(ye,null),i(me)&&(i(me).removeEventListener("submit",Ge),i(me).removeEventListener("reset",Je),i(me).removeEventListener("focusin",He),b(me,null)),xe&&(clearTimeout(xe),xe=null),document.removeEventListener("click",Ze),document.removeEventListener("scroll",ze),window.removeEventListener("resize",Qe)})),Mo((()=>{Pe("mounted","2.2.4"),Pe("workers",G()),function(){const e=void 0!==j()?j().split(","):void 0;for(const t of globalThis.altchaPlugins)(!e||e.includes(t.pluginName))&&Re.push(new t({el:i(de),clarify:ct,dispatch:te,getConfiguration:ft,getFloatingAnchor:dt,getState:ht,log:Pe,reset:gt,solve:st,setState:mt,setFloatingAnchor:bt,verify:wt}))}(),Pe("plugins",Re.length?Re.map((e=>e.constructor.pluginName)).join(", "):"none"),q()&&Pe("using test mode"),m()&&ot(m()),void 0!==a()&&Pe("auto",a()),void 0!==w()&&it(w()),b(me,i(de)?.closest("form"),!0),i(me)&&(i(me).addEventListener("submit",Ge,{capture:!0}),i(me).addEventListener("reset",Je),("onfocus"===a()||"focus"===_())&&i(me).addEventListener("focusin",He)),V()&&at(!0),"onload"===a()&&(D()?ct():wt()),i(re)&&(k()||A())&&Pe("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame((()=>{te("load")}))}));var xt=Cl(),$t=Nt(xt);Fa($t,t,"default",{});var Et=J($t,2),Ct=z(Et),Rt=z(Ct);let _t;var kt=z(Rt),At=e=>{$r(e)};K(kt,(e=>{i(fe)===y.VERIFYING&&e(At)}));var It=J(kt,2);qn(It),It.__change=[ul,fe,F,me,ce,D,ct,wt],Qt(It,(e=>b(ge,e)),(()=>i(ge))),Z(Rt);var St=J(Rt,2),Ot=z(St),Pt=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).verified)),B(e,t)},Dt=(e,t)=>{var n=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).verifying)),B(e,t)},r=(e,t)=>{var n=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).verificationRequired)),B(e,t)},r=e=>{var t=Xt();tt(Nt(t),(()=>i(ae).label)),B(e,t)};K(e,(e=>{i(fe)===y.CODE?e(n):e(r,!1)}),t)};K(e,(e=>{i(fe)===y.VERIFYING?e(n):e(r,!1)}),t)};K(Ot,(e=>{i(fe)===y.VERIFIED?e(Pt):e(Dt,!1)})),Z(St);var Vt=J(St,2),Bt=e=>{var t=fl();qn(t),Ce((()=>{R(t,"name",L()),qa(t,i(ke))})),B(e,t)};K(Vt,(e=>{i(fe)===y.VERIFIED&&e(Bt)}));var Mt=J(Vt,2),jt=e=>{var t=dl(),n=z(t);R(n,"href","https://altcha.org/"),Z(t),Ce((()=>R(n,"aria-label",i(ae).ariaLinkLabel))),B(e,t)};K(Mt,(e=>{(!0!==A()||i(re))&&e(jt)}));var Tt=J(Mt,2),Ft=e=>{var t=_l(),n=J(z(t),2),r=z(n),o=J(r,2);Sa(o,!v()),o.__keydown=[ll,We];var a=J(o,2),l=z(a),s=z(l),c=e=>{var t=pl();t.__click=We;var n=z(t),r=e=>{$r(e,(()=>20))},o=(e,t)=>{var n=e=>{B(e,hl())},r=(e,t)=>{var n=e=>{B(e,vl())},r=e=>{B(e,gl())};K(e,(e=>{i($e)===Q.PLAYING?e(n):e(r,!1)}),t)};K(e,(e=>{i($e)===Q.ERROR?e(n):e(r,!1)}),t)};K(n,(e=>{i($e)===Q.LOADING?e(r):e(o,!1)})),Z(t),Ce((()=>{R(t,"title",i(ae).getAudioChallenge),t.disabled=i($e)===Q.LOADING||i($e)===Q.ERROR||i(Ee),R(t,"aria-label",i($e)===Q.LOADING?i(ae).loading:i(ae).getAudioChallenge)})),B(e,t)};K(s,(e=>{i(ue).challenge.codeChallenge.audio&&e(c)}));var u=J(s,2);u.__click=[sl,wt],Z(l);var f=J(l,2),d=z(f),h=e=>{$r(e,(()=>16))};K(d,(e=>{i(Ee)&&e(h)}));var p=J(d);Z(f),Z(a);var g=J(a,2),m=e=>{var t=ml(),n=z(t);Z(t),Qt(t,(e=>b(ve,e)),(()=>i(ve))),Ce((e=>R(n,"src",e)),[()=>Oe(i(ue).challenge.codeChallenge.audio,{language:S()})]),Fe("loadstart",t,je),Fe("canplay",t,Be),Fe("pause",t,Ue),Fe("playing",t,Te),Fe("ended",t,De),Fe("error",n,Ve),B(e,t)};K(g,(e=>{i(ue).challenge.codeChallenge.audio&&i(_e)&&e(m)})),Z(n),Z(t),Ce((()=>{R(t,"aria-label",i(ae).verificationRequired),R(r,"src",i(ue).challenge.codeChallenge.image),R(o,"minlength",i(ue).challenge.codeChallenge.length||1),R(o,"maxlength",i(ue).challenge.codeChallenge.length),R(o,"placeholder",i(ae).enterCode),R(o,"aria-label",i($e)===Q.LOADING?i(ae).loading:i($e)===Q.PLAYING?"":i(ae).enterCodeAria),R(o,"aria-live",i($e)?"assertive":"polite"),R(o,"aria-busy",i($e)===Q.LOADING),o.disabled=i(Ee),R(u,"aria-label",i(ae).reload),R(u,"title",i(ae).reload),u.disabled=i(Ee),f.disabled=i(Ee),R(f,"aria-label",i(ae).verify),La(p,` ${i(ae).verify??""}`)})),Fe("submit",n,qe,!0),B(e,t)};K(Tt,(e=>{i(ue)?.challenge.codeChallenge&&e(Ft)})),Z(Ct);var Ut=J(Ct,2),qt=e=>{var t=wl(),n=J(z(t),2),r=e=>{var t=bl();tt(z(t),(()=>i(ae).expired)),Z(t),Ce((()=>R(t,"title",i(we)))),B(e,t)},o=e=>{var t=yl();tt(z(t),(()=>i(ae).error)),Z(t),Ce((()=>R(t,"title",i(we)))),B(e,t)};K(n,(e=>{i(fe)===y.EXPIRED?e(r):e(o,!1)})),Z(t),B(e,t)};K(Ut,(e=>{(i(we)||i(fe)===y.EXPIRED)&&e(qt)}));var Zt=J(Ut,2),zt=e=>{var t=El(),n=z(t);tt(z(n),(()=>i(ae).footer)),Z(n),Z(t),B(e,t)};K(Zt,(e=>{i(ae).footer&&(!0!==k()||i(re))&&e(zt)}));var Ht=J(Zt,2),Gt=e=>{var t=xl();Qt(t,(e=>b(he,e)),(()=>i(he))),B(e,t)};K(Ht,(e=>{w()&&e(Gt)})),Z(Et),Qt(Et,(e=>b(de,e)),(()=>i(de))),Ce((e=>{R(Et,"data-state",i(fe)),R(Et,"data-floating",w()),R(Et,"data-overlay",V()),_t=Va(Rt,1,"altcha-checkbox",null,_t,e),R(It,"id",i(le)),It.required="onsubmit"!==a()&&(!w()||"off"!==a()),R(St,"for",i(le))}),[()=>({"altcha-checkbox-verifying":i(fe)===y.VERIFYING})]),Fe("invalid",It,Ke),Ha(It,(()=>i(ce)),(e=>b(ce,e))),B(e,xt);var Jt=So({clarify:ct,configure:ut,getConfiguration:ft,getFloatingAnchor:dt,getPlugin:function(e){return Re.find((t=>t.constructor.pluginName===e))},getState:ht,hide:vt,repositionFloating:pt,reset:gt,setFloatingAnchor:bt,setState:mt,show:yt,verify:wt,get auto(){return a()},set auto(e=void 0){a(e),E()},get blockspam(){return l()},set blockspam(e=void 0){l(e),E()},get challengeurl(){return s()},set challengeurl(e=void 0){s(e),E()},get challengejson(){return c()},set challengejson(e=void 0){c(e),E()},get credentials(){return u()},set credentials(e=void 0){u(e),E()},get customfetch(){return f()},set customfetch(e=void 0){f(e),E()},get debug(){return d()},set debug(e=!1){d(e),E()},get delay(){return h()},set delay(e=0){h(e),E()},get disableautofocus(){return v()},set disableautofocus(e=!1){v(e),E()},get refetchonexpire(){return p()},set refetchonexpire(e=!0){p(e),E()},get disablerefetchonexpire(){return g()},set disablerefetchonexpire(e=!p){g(e),E()},get expire(){return m()},set expire(e=void 0){m(e),E()},get floating(){return w()},set floating(e=void 0){w(e),E()},get floatinganchor(){return $()},set floatinganchor(e=void 0){$(e),E()},get floatingoffset(){return C()},set floatingoffset(e=void 0){C(e),E()},get floatingpersist(){return _()},set floatingpersist(e=!1){_(e),E()},get hidefooter(){return k()},set hidefooter(e=!1){k(e),E()},get hidelogo(){return A()},set hidelogo(e=!1){A(e),E()},get id(){return I()},set id(e=void 0){I(e),E()},get language(){return S()},set language(e=void 0){S(e),E()},get name(){return L()},set name(e="altcha"){L(e),E()},get maxnumber(){return O()},set maxnumber(e=1e6){O(e),E()},get mockerror(){return P()},set mockerror(e=!1){P(e),E()},get obfuscated(){return D()},set obfuscated(e=void 0){D(e),E()},get overlay(){return V()},set overlay(e=void 0){V(e),E()},get overlaycontent(){return M()},set overlaycontent(e=void 0){M(e),E()},get plugins(){return j()},set plugins(e=void 0){j(e),E()},get sentinel(){return T()},set sentinel(e=void 0){T(e),E()},get spamfilter(){return F()},set spamfilter(e=!1){F(e),E()},get strings(){return U()},set strings(e=void 0){U(e),E()},get test(){return q()},set test(e=!1){q(e),E()},get verifyurl(){return H()},set verifyurl(e=void 0){H(e),E()},get workers(){return G()},set workers(e=Math.min(16,navigator.hardwareConcurrency||8)){G(e),E()},get workerurl(){return W()},set workerurl(e=void 0){W(e),E()}});return r(),Jt}Na(["change","keydown","click"]),customElements.define("altcha-widget",Qa(kl,{blockspam:{type:"Boolean"},debug:{type:"Boolean"},delay:{type:"Number"},disableautofocus:{type:"Boolean"},disablerefetchonexpire:{type:"Boolean"},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:{},credentials:{},customfetch:{},floating:{},floatinganchor:{},floatingpersist:{},id:{},language:{},name:{},obfuscated:{},overlay:{},overlaycontent:{},plugins:{},sentinel:{},spamfilter:{},strings:{},verifyurl:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","hide","repositionFloating","reset","setFloatingAnchor","setState","show","verify"],!1));const Bo='@keyframes overlay-slidein{to{opacity:1;top:50%}}@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{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}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{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{align-items:center;display:flex;gap:.4rem;padding:.7rem;position:relative}.altcha-code-challenge{background:var(--altcha-color-base, white);border:1px solid var(--altcha-color-border-focus, currentColor);border-radius:var(--altcha-border-radius, 3px);filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));padding:.5rem;position:absolute;top:2.5rem;z-index:9999999}.altcha-code-challenge>form{display:flex;flex-direction:column;gap:.5rem}.altcha-code-challenge-input{border:1px solid currentColor;border-radius:3px;box-sizing:border-box;outline:0;font-size:16px;padding:.35rem;width:220px}.altcha-code-challenge-input:focus{outline:2px solid color-mix(in srgb,var(--altcha-color-active, #1D1DC9) 20%,transparent)}.altcha-code-challenge-input:disabled{opacity:.7}.altcha-code-challenge-image{background-color:#fff;border:1px solid currentColor;border-radius:3px;box-sizing:border-box;object-fit:contain;height:50px;width:220px}.altcha-code-challenge-audio,.altcha-code-challenge-reload{background:color-mix(in srgb,var(--altcha-color-text, currentColor) 10%,transparent);border:0;border-radius:3px;color:var(--altcha-color-text, currentColor);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem}.altcha-code-challenge-audio:disabled,.altcha-code-challenge-reload:disabled,.altcha-code-challenge-verify:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-audio>*,.altcha-code-challenge-reload>*{height:20px;width:20px}.altcha-code-challenge-buttons{display:flex;justify-content:space-between}.altcha-code-challenge-buttons-left{display:flex;gap:.25rem}.altcha-code-challenge-verify{align-items:center;background:var(--altcha-color-active, #1D1DC9);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;gap:.5rem;font-size:100%;padding:.35rem 1rem}.altcha-code-challenge-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, currentColor);content:"";height:0;left:.15rem;position:absolute;top:-12px;width:0}.altcha[data-floating=top] .altcha-code-challenge{top:-150px}.altcha[data-floating=top] .altcha-code-challenge-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, currentColor);bottom:-12px;top:auto}.altcha-label{cursor:pointer;flex-grow:1}.altcha-logo{color:currentColor!important;opacity:.7}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.7;justify-content:end;padding:.2rem .7rem}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;justify-content:center;height:24px;position:relative;width:24px}.altcha-checkbox .altcha-spinner{bottom:0;left:0;position:absolute;right:0;top:0}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-checkbox-verifying input{appearance:none;opacity:0;pointer-events:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}.altcha-overlay{--altcha-color-base:#fff;--altcha-color-text:#000;animation:overlay-slidein .5s forwards;display:flex;flex-direction:column;gap:.5rem;left:50%;width:260px;opacity:0;position:fixed;top:45%;transform:translate(-50%,-50%)}.altcha-overlay-backdrop{background:rgba(0,0,0,.5);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99999999}.altcha-overlay-close-button{align-self:flex-end;background:0 0;border:0;padding:.25rem;cursor:pointer;color:currentColor;font-size:130%;line-height:1;opacity:.7}@media (max-height:450px){.altcha-overlay{top:10%!important;transform:translate(-50%,0)}}';function Ho(e,t="__altcha-css"){if(!document.getElementById(t)){const n=document.createElement("style");n.id=t,n.textContent=e,document.head.appendChild(n)}}globalThis.altchaCreateWorker=e=>e?new Worker(new URL(e)):new Ni,Ho(Bo),Ho(Bo);export{kl as Altcha}; diff --git a/django_altcha/static/altcha/altcha.min.js.ABOUT b/django_altcha/static/altcha/altcha.min.js.ABOUT index f9d9d20..a02f4c7 100644 --- a/django_altcha/static/altcha/altcha.min.js.ABOUT +++ b/django_altcha/static/altcha/altcha.min.js.ABOUT @@ -1,7 +1,7 @@ about_resource: altcha.min.js name: altcha -version: 2.2.4 -download_url: https://github.com/altcha-org/altcha/archive/refs/tags/v2.2.4.tar.gz -package_url: pkg:github/altcha-org/altcha@2.2.4 +version: 2.3.0 +download_url: https://github.com/altcha-org/altcha/archive/refs/tags/v2.3.0.tar.gz +package_url: pkg:github/altcha-org/altcha@2.3.0 license_expression: mit copyright: Copyright (c) 2023 Daniel Regeci diff --git a/django_altcha/static/altcha/dist_i18n/all.min.js b/django_altcha/static/altcha/dist_i18n/all.min.js index 9d233c5..420e53f 100644 --- a/django_altcha/static/altcha/dist_i18n/all.min.js +++ b/django_altcha/static/altcha/dist_i18n/all.min.js @@ -1,4 +1,4 @@ /** - * Original file: /gh/altcha-org/altcha@2.2.4/dist/altcha.i18n.js + * Original file: /gh/altcha-org/altcha@2.3.0/dist/altcha.i18n.js */ -var Ua=Array.isArray,Vn=Array.prototype.indexOf,jn=Array.from,ir=Object.keys,Dt=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,Rn=Object.getOwnPropertyDescriptors,$n=Object.prototype,Sn=Array.prototype,Ga=Object.getPrototypeOf,ja=Object.isExtensible;const yt=()=>{};function Wa(e){for(var t=0;t"u"?e=>setTimeout(e,1):requestIdleCallback;let qt=[],Ht=[];function Ja(){var e=qt;qt=[],Wa(e)}function Xa(){var e=Ht;Ht=[],Wa(e)}function Hr(e){0===qt.length&&queueMicrotask(Ja),qt.push(e)}function Hn(e){0===Ht.length&&qn(Xa),Ht.push(e)}function On(){qt.length>0&&Ja(),Ht.length>0&&Xa()}function Qa(e){return e===this.v}function ei(e,t){return e!=e?t==t:e!==t||null!==e&&"object"==typeof e||"function"==typeof e}function Or(e){return!ei(e,this.v)}function Fn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Mn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Bn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Un(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Gn(){throw new Error("https://svelte.dev/e/hydration_failed")}function Wn(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Zn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Yn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Kn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}const Jn=1,Xn=4,Qn=8,eo=16,to=1,ro=2,Fr="[",ti="[!",ri="]",At={},oe=Symbol(),ao="http://www.w3.org/1999/xhtml";function ai(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}let ae=null;function Ra(e){ae=e}function ii(e,t=!1,r){var a=ae={p:ae,c:null,d:!1,e:null,m:!1,s:e,x:null,l:null};Ur((()=>{a.d=!0}))}function ni(e){const t=ae;if(null!==t){void 0!==e&&(t.x=e);const o=t.e;if(null!==o){var r=V,a=I;t.e=null;try{for(var i=0;i{var t=I;Ee(o);var r=e();return Ee(t),r};return a&&r.set("length",$(e.length)),new Proxy(e,{defineProperty(e,t,a){(!("value"in a)||!1===a.configurable||!1===a.enumerable||!1===a.writable)&&Zn();var i=r.get(t);return void 0===i?(i=l((()=>$(a.value))),r.set(t,i)):y(i,l((()=>De(a.value)))),!0},deleteProperty(e,t){var n=r.get(t);if(void 0===n)t in e&&(r.set(t,l((()=>$(oe)))),Er(i));else{if(a&&"string"==typeof t){var o=r.get("length"),s=Number(t);Number.isInteger(s)&&s$(De(s?t[a]:oe)))),r.set(a,o)),void 0!==o){var c=n(o);return c===oe?void 0:c}return Reflect.get(t,a,i)},getOwnPropertyDescriptor(e,t){var a=Reflect.getOwnPropertyDescriptor(e,t);if(a&&"value"in a){var i=r.get(t);i&&(a.value=n(i))}else if(void 0===a){var o=r.get(t),l=o?.v;if(void 0!==o&&l!==oe)return{enumerable:!0,configurable:!0,value:l,writable:!0}}return a},has(e,t){if(t===zt)return!0;var a=r.get(t),i=void 0!==a&&a.v!==oe||Reflect.has(e,t);if((void 0!==a||null!==V&&(!i||rt(e,t)?.writable))&&(void 0===a&&(a=l((()=>$(i?De(e[t]):oe))),r.set(t,a)),n(a)===oe))return!1;return i},set(e,t,n,o){var s=r.get(t),c=t in e;if(a&&"length"===t)for(var u=n;u$(oe))),r.set(u+"",d))}void 0===s?(!c||rt(e,t)?.writable)&&(y(s=l((()=>$(void 0))),l((()=>De(n)))),r.set(t,s)):(c=s.v!==oe,y(s,l((()=>De(n)))));var f=Reflect.getOwnPropertyDescriptor(e,t);if(f?.set&&f.set.call(o,n),!c){if(a&&"string"==typeof t){var h=r.get("length"),g=Number(t);Number.isInteger(g)&&g>=h.v&&y(h,g+1)}Er(i)}return!0},ownKeys(e){n(i);var t=Reflect.ownKeys(e).filter((e=>{var t=r.get(e);return void 0===t||t.v!==oe}));for(var[a,o]of r)o.v!==oe&&!(a in e)&&t.push(a);return t},setPrototypeOf(){Yn()}})}function Er(e,t=1){y(e,e.v+t)}function hr(e){var t=pe|je,r=null!==I&&0!=(I.f&pe)?I:null;return null===V||null!==r&&0!=(r.f&fe)?t|=fe:V.f|=Ya,{ctx:ae,deps:null,effects:null,equals:Qa,f:t,fn:e,reactions:null,rv:0,v:null,wv:0,parent:r??V}}function $t(e){const t=hr(e);return vi(t),t}function io(e){const t=hr(e);return t.equals=Or,t}function li(e){var t=e.effects;if(null!==t){e.effects=null;for(var r=0;re.wv)return!0}(!a||null!==V&&!qe)&&me(e,le)}return!1}function uo(e,t){for(var r=t;null!==r;){if(0!=(r.f&nr))try{return void r.fn(e)}catch{r.f^=nr}r=r.parent}throw tr=!1,e}function Pa(e){return 0==(e.f&dr)&&(null===e.parent||0==(e.parent.f&nr))}function br(e,t,r,a){if(tr){if(null===r&&(tr=!1),Pa(t))throw e}else if(null!==r&&(tr=!0),uo(e,t),Pa(t))throw e}function mi(e,t,r=!0){var a=e.reactions;if(null!==a)for(var i=0;i0)for(d.length=ue+re.length,f=0;f0;){t++>1e3&&ho();var r=Nt,a=r.length;Nt=[];for(var i=0;i{Fe(t)}}function Ao(e){const t=lt(nt,e,!0);return(e={})=>new Promise((r=>{e.outro?Sr(t,(()=>{Fe(t),r(void 0)})):(Fe(t),r(void 0))}))}function Gr(e){return lt(Za,e,!1)}function Wr(e){return lt(fr,e,!0)}function Ce(e,t=[],r=hr){const a=t.map(r);return ki((()=>e(...a.map(n))))}function ki(e,t=0){return lt(fr|Dr|t,e,!0)}function $r(e,t=!0){return lt(fr|Re,e,!0,t)}function _i(e){var t=e.teardown;if(null!==t){const e=Ft,r=I;Sa(!0),Ee(null);try{t.call(null)}finally{Sa(e),Ee(r)}}}function wi(e,t=!1){var r=e.first;for(e.first=e.last=null;null!==r;){var a=r.next;0!=(r.f&nt)?r.parent=null:Fe(r,t),r=a}}function ko(e){for(var t=e.first;null!==t;){var r=t.next;0==(t.f&Re)&&Fe(t),t=r}}function Fe(e,t=!0){var r=!1;(t||0!=(e.f&Nn))&&null!==e.nodes_start&&(Ci(e.nodes_start,e.nodes_end),r=!0),wi(e,t&&!r),ur(e,0),me(e,dr);var a=e.transitions;if(null!==a)for(const e of a)e.stop();_i(e);var i=e.parent;null!==i&&null!==i.first&&Li(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function Ci(e,t){for(;null!==e;){var r=e===t?null:Me(e);e.remove(),e=r}}function Li(e){var t=e.parent,r=e.prev,a=e.next;null!==r&&(r.next=a),null!==a&&(a.prev=r),null!==t&&(t.first===e&&(t.first=a),t.last===e&&(t.last=r))}function Sr(e,t){var r=[];xi(e,r,!0),_o(r,(()=>{Fe(e),t&&t()}))}function _o(e,t){var r=e.length;if(r>0){var a=()=>--r||t();for(var i of e)i.out(a)}else t()}function xi(e,t,r){if(0==(e.f&kt)){if(e.f^=kt,null!==e.transitions)for(const a of e.transitions)(a.is_global||r)&&t.push(a);for(var a=e.first;null!==a;){var i=a.next;xi(a,t,!!(0!=(a.f&qr)||0!=(a.f&Re))&&r),a=i}}}function za(e){Ei(e,!0)}function Ei(e,t){if(0!=(e.f&kt)){e.f^=kt,0==(e.f&le)&&(e.f^=le),Mt(e)&&(me(e,je),pr(e));for(var r=e.first;null!==r;){var a=r.next;Ei(r,!!(0!=(r.f&qr)||0!=(r.f&Re))&&t),r=a}if(null!==e.transitions)for(const r of e.transitions)(r.is_global||t)&&r.in()}}const wo=["touchstart","touchmove"];function Co(e){return wo.includes(e)}function Lo(e,t){if(t){const t=document.body;e.autofocus=!0,Hr((()=>{document.activeElement===t&&e.focus()}))}}let Na=!1;function Ti(){Na||(Na=!0,document.addEventListener("reset",(e=>{Promise.resolve().then((()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()}))}),{capture:!0}))}function Ii(e){var t=I,r=V;Ee(null),Oe(null);try{return e()}finally{Ee(t),Oe(r)}}function xo(e,t,r,a=r){e.addEventListener(t,(()=>Ii(r)));const i=e.__on_r;e.__on_r=i?()=>{i(),a(!0)}:()=>a(!0),Ti()}const Vi=new Set,Pr=new Set;function Eo(e,t,r,a={}){function i(e){if(a.capture||Pt.call(t,e),!e.cancelBubble)return Ii((()=>r?.call(this,e)))}return e.startsWith("pointer")||e.startsWith("touch")||"wheel"===e?Hr((()=>{t.addEventListener(e,i,a)})):t.addEventListener(e,i,a),i}function Ne(e,t,r,a,i){var n={capture:a,passive:i},o=Eo(e,t,r,n);(t===document.body||t===window||t===document)&&Ur((()=>{t.removeEventListener(e,o,n)}))}function To(e){for(var t=0;tn||r});var u=I,d=V;Ee(null),Oe(null);try{for(var f,h=[];null!==n;){var g=n.assignedSlot||n.parentNode||n.host||null;try{var v=n["__"+a];if(null!=v&&(!n.disabled||e.target===n))if(Ua(v)){var[p,...b]=v;p.apply(n,[e,...b])}else v.call(n,e)}catch(e){f?h.push(e):f=e}if(e.cancelBubble||g===t||null===g)break;n=g}if(f){for(let e of h)queueMicrotask((()=>{throw e}));throw f}}finally{e.__root=t,delete e.currentTarget,Ee(u),Oe(d)}}}function Zr(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function xe(e,t){var r=V;null===r.nodes_start&&(r.nodes_start=e,r.nodes_end=t)}function ye(e,t){var r,a=0!=(1&t),i=0!=(2&t),n=!e.startsWith("");return()=>{if(z)return xe(P,null),P;void 0===r&&(r=Zr(n?e:""+e),a||(r=ge(r)));var t=i||di?document.importNode(r,!0):r.cloneNode(!0);a?xe(ge(t),t.lastChild):xe(t,t);return t}}function mr(e,t,r="svg"){var a,i=`<${r}>${!e.startsWith("")?e:""+e}`;return()=>{if(z)return xe(P,null),P;if(!a){var e=Zr(i);a=ge(ge(e))}var t=a.cloneNode(!0);return xe(t,t),t}}function Xt(){if(z)return xe(P,null),P;var e=document.createDocumentFragment(),t=document.createComment(""),r=vr();return e.append(t,r),xe(t,r),e}function M(e,t){if(z)return V.nodes_end=P,void _t();null!==e&&e.before(t)}function Io(e,t){var r=null==t?"":"object"==typeof t?t+"":t;r!==(e.__t??=e.nodeValue)&&(e.__t=r,e.nodeValue=r+"")}function ji(e,t){return Ri(e,t)}function Vo(e,t){jr(),t.intro=t.intro??!1;const r=t.target,a=z,i=P;try{for(var n=ge(r);n&&(8!==n.nodeType||n.data!==Fr);)n=Me(n);if(!n)throw At;mt(!0),He(n),_t();const a=Ri(e,{...t,anchor:n});if(null===P||8!==P.nodeType||P.data!==ri)throw gr(),At;return mt(!1),a}catch(a){if(a===At)return!1===t.recover&&Gn(),jr(),so(r),mt(!1),ji(e,t);throw a}finally{mt(a),He(i)}}const bt=new Map;function Ri(e,{target:t,anchor:r,props:a={},events:i,context:n,intro:o=!0}){jr();var l=new Set,s=e=>{for(var r=0;r{var o=r??t.appendChild(vr());return $r((()=>{n&&(ii({}),ae.c=n);i&&(a.$$events=i),z&&xe(o,null),c=e(o,a)||{},z&&(V.nodes_end=P),n&&ni()})),()=>{for(var e of l){t.removeEventListener(e,Pt);var a=bt.get(e);0==--a?(document.removeEventListener(e,Pt),bt.delete(e)):bt.set(e,a)}Pr.delete(s),o!==r&&o.parentNode?.removeChild(o)}}));return zr.set(c,u),c}let zr=new WeakMap;function jo(e,t){const r=zr.get(e);return r?(zr.delete(e),r(t)):Promise.resolve()}function J(e,t,[r,a]=[0,0]){z&&0===r&&_t();var i=e,n=null,o=null,l=oe,s=!1;const c=(e,t=!0)=>{s=!0,u(t,e)},u=(e,t)=>{if(l===(l=e))return;let s=!1;if(z&&-1!==a){if(0===r){const e=i.data;e===Fr?a=0:e===ti?a=1/0:(a=parseInt(e.substring(1)))!=a&&(a=l?1/0:-1)}!!l===a>r&&(He(i=lo()),mt(!1),s=!0,a=-1)}l?(n?za(n):t&&(n=$r((()=>t(i)))),o&&Sr(o,(()=>{o=null}))):(o?za(o):t&&(o=$r((()=>t(i,[r+1,a])))),n&&Sr(n,(()=>{n=null}))),s&&mt(!0)};ki((()=>{s=!1,t(c),s||u(null,null)}),r>0?qr:0),z&&(i=P)}function tt(e,t,r=!1,a=!1,i=!1){var n=e,o="";Ce((()=>{var e=V;if(o!==(o=t()??"")){if(null!==e.nodes_start&&(Ci(e.nodes_start,e.nodes_end),e.nodes_start=e.nodes_end=null),""!==o){if(z){P.data;for(var i=_t(),l=i;null!==i&&(8!==i.nodeType||""!==i.data);)l=i,i=Me(i);if(null===i)throw gr(),At;return xe(P,l),void(n=He(i))}var s=o+"";r?s=`${s}`:a&&(s=`${s}`);var c=Zr(s);if((r||a)&&(c=ge(c)),xe(ge(c),c.lastChild),r||a)for(;ge(c);)n.before(ge(c));else n.before(c)}}else z&&_t()}))}function Ro(e,t,r,a,i){z&&_t();var n=t.$$slots?.[r],o=!1;!0===n&&(n=t.children,o=!0),void 0===n||n(e,o?()=>a:a)}const Da=[..." \t\n\r\f \v\ufeff"];function $o(e,t,r){var a=""+e;if(r)for(var i in r)if(r[i])a=a?a+" "+i:i;else if(a.length)for(var n=i.length,o=0;(o=a.indexOf(i,o))>=0;){var l=o+n;0!==o&&!Da.includes(a[o-1])||l!==a.length&&!Da.includes(a[l])?o=l:a=(0===o?"":a.substring(0,o))+a.substring(l+1)}return""===a?null:a}function So(e,t,r,a,i,n){var o=e.__className;if(z||o!==r||void 0===o){var l=$o(r,a,n);(!z||l!==e.getAttribute("class"))&&(null==l?e.removeAttribute("class"):e.className=l),e.__className=r}else if(n&&i!==n)for(var s in n){var c=!!n[s];(null==i||c!==!!i[s])&&e.classList.toggle(s,c)}return n}const Po=Symbol("is custom element"),zo=Symbol("is html");function qa(e){if(z){var t=!1,r=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;T(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var a=e.checked;T(e,"checked",null),e.checked=a}}};e.__on_r=r,Hn(r),Ti()}}function No(e,t){var r=$i(e);r.value===(r.value=t??void 0)||e.value===t&&(0!==t||"PROGRESS"!==e.nodeName)||(e.value=t??"")}function T(e,t,r,a){var i=$i(e);z&&(i[t]=e.getAttribute(t),"src"===t||"srcset"===t||"href"===t&&"LINK"===e.nodeName)||i[t]!==(i[t]=r)&&("loading"===t&&(e[Dn]=r),null==r?e.removeAttribute(t):"string"!=typeof r&&Do(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function $i(e){return e.__attributes??={[Po]:e.nodeName.includes("-"),[zo]:e.namespaceURI===ao}}var Ha=new Map;function Do(e){var t=Ha.get(e.nodeName);if(t)return t;Ha.set(e.nodeName,t=[]);for(var r,a=e,i=Element.prototype;i!==a;){for(var n in r=Rn(a))r[n].set&&t.push(n);a=Ga(a)}return t}function qo(e,t,r=t){xo(e,"change",(t=>{var a=t?e.defaultChecked:e.checked;r(a)})),(z&&e.defaultChecked!==e.checked||null==it(t))&&r(e.checked),Wr((()=>{var r=t();e.checked=!!r}))}function Oa(e,t){return e===t||e?.[zt]===t}function Qt(e={},t,r,a){return Gr((()=>{var a,i;return Wr((()=>{a=i,i=[],it((()=>{e!==r(...i)&&(t(e,...i),a&&Oa(r(...a),e)&&t(null,...a))}))})),()=>{Hr((()=>{i&&Oa(r(...i),e)&&t(null,...i)}))}})),e}let Si,er=!1,Nr=Symbol();function Ho(e,t,r){const a=r[t]??={store:null,source:Mr(void 0),unsubscribe:yt};if(a.store!==e&&!(Nr in r))if(a.unsubscribe(),a.store=e??null,null==e)a.source.v=void 0,a.unsubscribe=yt;else{var i=!0;a.unsubscribe=zi(e,(e=>{i?a.source.v=e:y(a.source,e)})),i=!1}return e&&Nr in r?ar(e):n(a.source)}function Oo(){const e={};return[e,function(){Ur((()=>{for(var t in e)e[t].unsubscribe();Dt(e,Nr,{enumerable:!1,value:!0})}))}]}function Fo(e){var t=er;try{return er=!1,[e(),er]}finally{er=t}}function Fa(e){return e.ctx?.d??!1}function w(e,t,r,a){var i,o=0!=(r&Jn),l=0!=(r&Qn),s=0!=(r&eo),c=!1;l?[i,c]=Fo((()=>e[t])):i=e[t];var u,d=zt in e||Ka in e,f=l&&(rt(e,t)?.set??(d&&t in e&&(r=>e[t]=r)))||void 0,h=a,g=!0,v=!1,p=()=>(v=!0,g&&(g=!1,h=s?it(a):a),h);if(void 0===i&&void 0!==a&&(f&&Wn(),i=p(),f&&f(i)),u=()=>{var r=e[t];return void 0===r?p():(g=!0,v=!1,r)},0==(r&Xn))return u;if(f){var b=e.$$legacy;return function(e,t){return arguments.length>0?((!t||b||c)&&f(t?u():e),e):u()}}var m=!1,A=Mr(i),k=hr((()=>{var e=u(),t=n(A);return m?(m=!1,t):A.v=e}));return l&&n(k),o||(k.equals=Or),function(e,t){if(arguments.length>0){const r=t?n(k):l?De(e):e;if(!k.equals(r)){if(m=!0,y(A,r),v&&void 0!==h&&(h=r),Fa(k))return e;it((()=>n(k)))}return e}return Fa(k)?k.v:n(k)}}function Mo(e){return new Bo(e)}class Bo{#e;#t;constructor(e){var t=new Map,r=(e,r)=>{var a=Mr(r);return t.set(e,a),a};const a=new Proxy({...e.props||{},$$events:{}},{get:(e,a)=>n(t.get(a)??r(a,Reflect.get(e,a))),has:(e,a)=>a===Ka||(n(t.get(a)??r(a,Reflect.get(e,a))),Reflect.has(e,a)),set:(e,a,i)=>(y(t.get(a)??r(a,i),i),Reflect.set(e,a,i))});this.#t=(e.hydrate?Vo:ji)(e.component,{target:e.target,anchor:e.anchor,props:a,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||!1===e.sync)&&_(),this.#e=a.$$events;for(const e of Object.keys(this.#t))"$set"===e||"$destroy"===e||"$on"===e||Dt(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(a,e)},this.#t.$destroy=()=>{jo(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];const r=(...e)=>t.call(this,...e);return this.#e[e].push(r),()=>{this.#e[e]=this.#e[e].filter((e=>e!==r))}}$destroy(){this.#t.$destroy()}}function rr(e,t,r,a){const i=r[e]?.type;if(t="Boolean"===i&&"boolean"!=typeof t?null!=t:t,!a||!r[e])return t;if("toAttribute"===a)switch(i){case"Object":case"Array":return null==t?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":default:return t;case"Number":return null!=t?+t:t}}function Uo(e){const t={};return e.childNodes.forEach((e=>{t[e.slot||"default"]=!0})),t}function Go(e,t,r,a,i,n){let o=class extends Si{constructor(){super(e,r,i),this.$$p_d=t}static get observedAttributes(){return ir(t).map((e=>(t[e].attribute||e).toLowerCase()))}};return ir(t).forEach((e=>{Dt(o.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(r){r=rr(e,r,t),this.$$d[e]=r;var a=this.$$c;if(a){var i=rt(a,e)?.get;i?a[e]=r:a.$set({[e]:r})}}})})),a.forEach((e=>{Dt(o.prototype,e,{get(){return this.$$c?.[e]}})})),e.element=o,o}function Pi(e){null===ae&&ai(),Rr((()=>{const t=it(e);if("function"==typeof t)return t}))}function Wo(e){null===ae&&ai(),Pi((()=>()=>it(e)))}function zi(e,t,r){if(null==e)return t(void 0),yt;const a=it((()=>e.subscribe(t,r)));return a.unsubscribe?()=>a.unsubscribe():a}"function"==typeof HTMLElement&&(Si=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(e,t,r){super(),this.$$ctor=e,this.$$s=t,r&&this.attachShadow({mode:"open"})}addEventListener(e,t,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const r=this.$$c.$on(e,t);this.$$l_u.set(t,r)}super.addEventListener(e,t,r)}removeEventListener(e,t,r){if(super.removeEventListener(e,t,r),this.$$c){const e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(e){return t=>{const r=document.createElement("slot");"default"!==e&&(r.name=e),M(t,r)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},r=Uo(this);for(const a of this.$$s)a in r&&("default"!==a||this.$$d.children?t[a]=e(a):(this.$$d.children=e(a),t.default=!0));for(const e of this.attributes){const t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=rr(t,e.value,this.$$p_d,"toProp"))}for(const e in this.$$p_d)!(e in this.$$d)&&void 0!==this[e]&&(this.$$d[e]=this[e],delete this[e]);this.$$c=Mo({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=yo((()=>{Wr((()=>{this.$$r=!0;for(const e of ir(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];const t=rr(e,this.$$d[e],this.$$p_d,"toAttribute");null==t?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1}))}));for(const e in this.$$l)for(const t of this.$$l[e]){const r=this.$$c.$on(e,t);this.$$l_u.set(t,r)}this.$$l={}}}attributeChangedCallback(e,t,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=rr(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then((()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)}))}$$g_p(e){return ir(this.$$p_d).find((t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e))||e}});const pt=[];function Zo(e,t=yt){let r=null;const a=new Set;function i(t){if(ei(e,t)&&(e=t,r)){const t=!pt.length;for(const t of a)t[1](),pt.push(t,e);if(t){for(let e=0;e{a.delete(s),0===a.size&&r&&(r(),r=null)}}}}function ar(e){let t;return zi(e,(e=>t=e))(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>ar(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(ar(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(ar(globalThis.altchaI18n.store))},store:Zo({})};const Yo={ariaLinkLabel:"زور Altcha.org",enterCode:"أدخل الرمز",enterCodeAria:"أدخل الرمز الذي تسمعه. اضغط على المسافة لتشغيل الصوت.",error:"فشل التحقق. حاول مرة أخرى لاحقاً.",expired:"انتهت صلاحية التحقق. حاول مرة أخرى.",verificationRequired:"مطلوب التحقق!",footer:'محمي بواسطة ALTCHA',getAudioChallenge:"احصل على تحدي صوتي",label:"أنا لست روبوتاً",loading:"جارٍ التحميل...",reload:"إعادة تحميل",verify:"تحقق",verified:"تم التحقق",verifying:"جارٍ التحقق...",waitAlert:"جارٍ التحقق... يرجى الانتظار."};globalThis.altchaI18n.set("ar",Yo);const Ko={ariaLinkLabel:"Посетете Altcha.org",enterCode:"Въведете код",enterCodeAria:"Въведете кода, който чувате. Натиснете Space за възпроизвеждане на аудио.",error:"Проверката неуспешна. Моля, опитайте по-късно.",expired:"Времето за проверка изтече. Моля, опитайте отново.",verificationRequired:"Изисква се проверка!",footer:'Защитено от ALTCHA',getAudioChallenge:"Аудио проверка",label:"Аз не съм робот",loading:"Зареждане...",reload:"Презареди",verify:"Провери",verified:"Проверено",verifying:"Проверява се...",waitAlert:"Проверката е в процес... моля изчакайте."};globalThis.altchaI18n.set("bg",Ko);const Jo={ariaLinkLabel:"Наведаць Altcha.org",enterCode:"Увядзіце код",enterCodeAria:"Увядзіце код, які вы чуеце. Націсніце прабел, каб прайграць аўдыё.",error:"Праверка не прайшла. Паспрабуйце пазней.",expired:"Тэрмін праверкі скончыўся. Паспрабуйце зноў.",footer:'Абаронена ALTCHA',getAudioChallenge:"Атрымаць аўдыё выклік",label:"Я не робат",loading:"Загрузка...",reload:"Перазагрузіць",verify:"Праверыць",verificationRequired:"Патрабуецца праверка!",verified:"Праверана",verifying:"Правяраем...",waitAlert:"Праверка... калі ласка, пачакайце."};globalThis.altchaI18n.set("be",Jo);const Xo={ariaLinkLabel:"Posjetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",error:"Verifikacija nije uspjela. Pokušajte ponovo kasnije.",expired:"Verifikacija je istekla. Pokušajte ponovo.",footer:'Zaštićeno od strane ALTCHA',getAudioChallenge:"Dohvatite audio izazov",label:"Nisam robot",loading:"Učitavanje...",reload:"Ponovno učitaj",verify:"Verifikuj",verificationRequired:"Verifikacija je obavezna!",verified:"Verifikovano",verifying:"Verifikacija u toku...",waitAlert:"Verifikacija u toku... molimo vas da sačekate."};globalThis.altchaI18n.set("bs",Xo);const Qo={ariaLinkLabel:"Visita Altcha.org",enterCode:"Introdueix el codi",enterCodeAria:"Introdueix el codi que escoltes. Prem Espai per reproduir l’àudio.",error:"Verificació fallida. Torna-ho a provar més tard.",expired:"Verificació expirada. Torna-ho a provar.",footer:'Protegit per ALTCHA',getAudioChallenge:"Obtenir un desafiament d’àudio",label:"No sóc un robot",loading:"Carregant...",reload:"Torna a carregar",verify:"Verificar",verificationRequired:"Es requereix verificació!",verified:"Verificat",verifying:"Verificant...",waitAlert:"Verificant... si us plau, espera."};globalThis.altchaI18n.set("ca",Qo);const el={ariaLinkLabel:"Navštivte Altcha.org",enterCode:"Zadejte kód",enterCodeAria:"Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",error:"Ověření selhalo. Zkuste to prosím později.",expired:"Ověření vypršelo. Zkuste to prosím znovu.",verificationRequired:"Vyžaduje se ověření!",footer:'Chráněno pomocí ALTCHA',getAudioChallenge:"Získat audio výzvu",label:"Nejsem robot",loading:"Načítání...",reload:"Znovu načíst",verify:"Ověřit",verified:"Ověřeno",verifying:"Ověřování...",waitAlert:"Probíhá ověření... prosím počkejte."};globalThis.altchaI18n.set("cs",el);const tl={ariaLinkLabel:"Besøg Altcha.org",enterCode:"Indtast kode",enterCodeAria:"Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",error:"Verificering mislykkedes. Prøv venligst igen senere.",expired:"Verificering udløbet. Prøv venligst igen.",verificationRequired:"Verificering kræves!",footer:'Beskyttet af ALTCHA',getAudioChallenge:"Hent lydudfordring",label:"Jeg er ikke en robot",loading:"Indlæser...",reload:"Genindlæs",verify:"Verificer",verified:"Verificeret",verifying:"Verificerer...",waitAlert:"Verificerer... vent venligst."};globalThis.altchaI18n.set("da",tl);const rl={ariaLinkLabel:"Besuche Altcha.org",enterCode:"Code eingeben",enterCodeAria:"Geben Sie den Code ein, den Sie hören. Drücken Sie die Leertaste, um die Audio abzuspielen.",error:"Überprüfung fehlgeschlagen. Bitte versuchen Sie es später erneut.",expired:"Überprüfung abgelaufen. Bitte versuchen Sie es erneut.",verificationRequired:"Überprüfung erforderlich!",footer:'Geschützt durch ALTCHA',getAudioChallenge:"Audio-Herausforderung anfordern",label:"Ich bin kein Roboter",loading:"Lade...",reload:"Neu laden",verify:"Überprüfen",verified:"Überprüft",verifying:"Wird überprüft...",waitAlert:"Überprüfung läuft... bitte warten."};globalThis.altchaI18n.set("de",rl);const al={ariaLinkLabel:"Επισκεφθείτε το Altcha.org",enterCode:"Εισαγάγετε κωδικό",enterCodeAria:"Εισαγάγετε τον κωδικό που ακούτε. Πατήστε Space για να παίξετε τον ήχο.",error:"Η επαλήθευση απέτυχε. Δοκιμάστε ξανά αργότερα.",expired:"Η επαλήθευση έληξε. Δοκιμάστε ξανά.",verificationRequired:"Απαιτείται έλεγχος!",footer:'Προστατεύεται από το ALTCHA',getAudioChallenge:"Λήψη ηχητικής δοκιμασίας",label:"Δεν είμαι ρομπότ",loading:"Φόρτωση...",reload:"Επαναφόρτωση",verify:"Επαλήθευση",verified:"Επαληθεύτηκε",verifying:"Γίνεται επαλήθευση...",waitAlert:"Γίνεται επαλήθευση... παρακαλώ περιμένετε."};globalThis.altchaI18n.set("el",al);const il={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Introduce el código",enterCodeAria:"Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",error:"Falló la verificación. Por favor intente nuevamente más tarde.",expired:"Verificación expirada. Por favor intente nuevamente.",verificationRequired:"¡Verificación requerida!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obtener un desafío de audio",label:"No soy un robot",loading:"Cargando...",reload:"Recargar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor espere."};globalThis.altchaI18n.set("es-es",il);const nl={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Ingresa el código",enterCodeAria:"Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",error:"Falló la verificación. Por favor vuelve a intentarlo más tarde.",expired:"La verificación expiró. Por favor inténtalo de nuevo.",verificationRequired:"¡Verificación requerida!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obtener un reto de audio",label:"No soy un robot",loading:"Cargando...",reload:"Volver a cargar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor espera."};globalThis.altchaI18n.set("es-419",nl);const ol={ariaLinkLabel:"Külasta Altcha.org",enterCode:"Sisesta kood",enterCodeAria:"Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",error:"Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",expired:"Kinnitamine aegus. Proovi uuesti.",verificationRequired:"Kontroll on vajalik!",footer:'Kaitstud ALTCHA poolt',getAudioChallenge:"Hangi heliülesanne",label:"Ma ei ole robot",loading:"Laadimine...",reload:"Laadi uuesti",verify:"Kinnita",verified:"Kinnitatud",verifying:"Kinnitamine...",waitAlert:"Kinnitamine... palun oota."};globalThis.altchaI18n.set("et",ol);const ll={ariaLinkLabel:"Bisitatu Altcha.org",enterCode:"Sartu kodea",enterCodeAria:"Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",error:"Egiaztatzeak huts egin du. Saiatu berriro geroago.",expired:"Egiaztatzea iraungi da. Saiatu berriro.",verificationRequired:"Egiaztatzea beharrezkoa da!",footer:'ALTCHAk babestuta',getAudioChallenge:"Jaso audio-erronka bat",label:"Ez naiz robot bat",loading:"Kargatzen...",reload:"Birkargatu",verify:"Egiaztatu",verified:"Egiaztatuta",verifying:"Egiaztatzen...",waitAlert:"Egiaztatzen... itxaron mesedez."};globalThis.altchaI18n.set("eu",ll);const sl={ariaLinkLabel:"بازدید از Altcha.org",enterCode:"کد را وارد کنید",enterCodeAria:"کدی که می‌شنوید را وارد کنید. برای پخش صدا Space را فشار دهید.",error:"احراز هویت ناموفق بود. بعداً دوباره تلاش کنید.",expired:"احراز هویت منقضی شد. دوباره تلاش کنید.",footer:'محافظت شده توسط ALTCHA',getAudioChallenge:"دریافت چالش صوتی",label:"من ربات نیستم",loading:"در حال بارگذاری...",reload:"بارگذاری مجدد",verify:"تایید",verificationRequired:"احراز هویت لازم است!",verified:"تایید شد",verifying:"در حال تایید...",waitAlert:"در حال تایید... لطفا منتظر بمانید."};globalThis.altchaI18n.set("fa",sl);const cl={ariaLinkLabel:"Besicht Altcha.org",enterCode:"Code aginn",enterCodeAria:"Gitt de Code an deen dir héiert. Dréckt op d'Weltraumtast fir Audio ofzespillen.",error:"Verifikatioun ass feelgeschloen. Probéiert méi spéit nach emol.",expired:"Verifikatioun ofgelaf. Probéiert nach emol.",footer:'Geschützt vun ALTCHA',getAudioChallenge:"Kritt eng Audio-Herausfuerderung",label:"Ech sinn keen Robot",loading:"Lueden...",reload:"Nei lueden",verify:"Verifizéieren",verificationRequired:"Verifikatioun néideg!",verified:"Verifizéiert",verifying:"Verifizéieren...",waitAlert:"Verifizéieren... waart wgl."};globalThis.altchaI18n.set("lb",cl);const ul={ariaLinkLabel:"Vieraile sivulla Altcha.org",enterCode:"Syötä koodi",enterCodeAria:"Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",error:"Varmennus epäonnistui. Yritä myöhemmin uudelleen.",expired:"Varmennus vanhentui. Yritä uudelleen.",verificationRequired:"Vahvistus vaaditaan!",footer:'Suojattu ALTCHA:lla',getAudioChallenge:"Hae äänitehtävä",label:"En ole robotti",loading:"Ladataan...",reload:"Lataa uudelleen",verify:"Vahvista",verified:"Vahvistettu",verifying:"Vahvistetaan...",waitAlert:"Vahvistetaan... odota hetki."};globalThis.altchaI18n.set("fi",ul);const fl={ariaLinkLabel:"Visitez Altcha.org",enterCode:"Entrez le code",enterCodeAria:"Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",error:"Échec de la vérification. Réessayez plus tard.",expired:"La vérification a expiré. Réessayez.",verificationRequired:"Vérification requise !",footer:'Protégé par ALTCHA',getAudioChallenge:"Obtenir un défi audio",label:"Pas un robot",loading:"Chargement...",reload:"Recharger",verify:"Vérifier",verified:"Vérifié",verifying:"Vérification en cours...",waitAlert:"Vérification en cours... veuillez patienter."};globalThis.altchaI18n.set("fr-ca",fl);const dl={ariaLinkLabel:"Visitez Altcha.org",enterCode:"Entrez le code",enterCodeAria:"Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",error:"Échec de la vérification. Essayez à nouveau plus tard.",expired:"La vérification a expiré. Essayez à nouveau.",verificationRequired:"Vérification requise !",footer:'Protégé par ALTCHA',getAudioChallenge:"Obtenir un défi audio",label:"Pas un robot",loading:"Chargement...",reload:"Recharger",verify:"Vérifier",verified:"Vérifié",verifying:"Vérification en cours...",waitAlert:"Vérification en cours... veuillez patienter."};globalThis.altchaI18n.set("fr-fr",dl);const hl={ariaLinkLabel:"Tabhair cuairt ar Altcha.org",enterCode:"Iontráil cód",enterCodeAria:"Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",error:"Theip ar an bhfíorú. Bain triail eile as níos déanaí.",expired:"Tá an fíorú as feidhm. Bain triail eile as.",verificationRequired:"Fíorú riachtanach!",footer:'Cosanta ag ALTCHA',getAudioChallenge:"Faigh dúshlán fuaime",label:"Níl mé i mo róbat",loading:"Á luchtú...",reload:"Athluchtaigh",verify:"Fíoraigh",verified:"Fíoraithe",verifying:"Fíorú ar siúl...",waitAlert:"Fíorú ar siúl... fan go fóill."};globalThis.altchaI18n.set("ga",hl);const gl={ariaLinkLabel:"Posjetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",error:"Provjera nije uspjela. Molimo pokušajte kasnije.",expired:"Provjera je istekla. Molimo pokušajte ponovo.",verificationRequired:"Potrebna je provjera!",footer:'Zaštićeno od strane ALTCHA',getAudioChallenge:"Audio provjera",label:"Ja nisam robot",loading:"Učitavanje...",reload:"Ponovno učitaj",verify:"Provjeri",verified:"Provjereno",verifying:"Provjeravanje...",waitAlert:"Provjera je u tijeku... molimo pričekajte."};globalThis.altchaI18n.set("hr",gl);const vl={ariaLinkLabel:"Látogass el az Altcha.org oldalra",enterCode:"Írja be a kódot",enterCodeAria:"Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",error:"A hitelesítés nem sikerült. Próbáld meg később újra.",expired:"A hitelesítés lejárt. Próbáld újra.",verificationRequired:"Ellenőrzés szükséges!",footer:'Védve a következő által: ALTCHA',getAudioChallenge:"Hangalapú kihívás kérése",label:"Nem vagyok robot",loading:"Betöltés...",reload:"Újratöltés",verify:"Ellenőrzés",verified:"Ellenőrizve",verifying:"Ellenőrzés folyamatban...",waitAlert:"Ellenőrzés folyamatban... kérlek várj."};globalThis.altchaI18n.set("hu",vl);const bl={ariaLinkLabel:"Heimsækja Altcha.org",enterCode:"Sláðu inn kóða",enterCodeAria:"Sláðu inn kóðann sem þú heyrir. Ýttu á Space til að spila hljóðið.",error:"Staðfesting mistókst. Reyndu aftur síðar.",expired:"Staðfesting er útrunnin. Reyndu aftur.",footer:'Verndað af ALTCHA',getAudioChallenge:"Fá hljóðáskorun",label:"Ég er ekki robot",loading:"Hleður...",reload:"Hleð aftur",verify:"Staðfesta",verificationRequired:"Staðfesting er nauðsynleg!",verified:"Staðfest",verifying:"Að staðfesta...",waitAlert:"Að staðfesta... vinsamlegast bíða."};globalThis.altchaI18n.set("is",bl);const pl={ariaLinkLabel:"Visita Altcha.org",enterCode:"Inserisci il codice",enterCodeAria:"Inserisci il codice che senti. Premi Spazio per riprodurre l'audio.",error:"Verifica fallita. Riprova più tardi.",expired:"Verifica scaduta. Riprova.",verificationRequired:"Verifica richiesta!",footer:'Protetto da ALTCHA',getAudioChallenge:"Ottieni una sfida audio",label:"Non sono un robot",loading:"Caricamento...",reload:"Ricarica",verify:"Verifica",verified:"Verificato",verifying:"Verifica in corso...",waitAlert:"Verifica in corso... attendere."};globalThis.altchaI18n.set("it",pl);const ml={ariaLinkLabel:"Apsilankykite Altcha.org",enterCode:"Įveskite kodą",enterCodeAria:"Įveskite girdimą kodą. Paspauskite tarpo klavišą, kad grotumėte garso įrašą.",error:"Patvirtinimas nepavyko. Bandykite vėliau.",expired:"Patvirtinimo laikas baigėsi. Bandykite dar kartą.",verificationRequired:"Reikalingas patvirtinimas!",footer:'Apsaugota ALTCHA',getAudioChallenge:"Gauti garso užduotį",label:"Aš nesu robotas",loading:"Įkeliama...",reload:"Įkelti iš naujo",verify:"Patvirtinti",verified:"Patvirtinta",verifying:"Tikrinama...",waitAlert:"Tikrinama... prašome palaukti."};globalThis.altchaI18n.set("lt",ml);const yl={ariaLinkLabel:"Apmeklējiet Altcha.org",enterCode:"Ievadiet kodu",enterCodeAria:"Ievadiet dzirdamo kodu. Nospiediet atstarpes taustiņu, lai atskaņotu audio.",error:"Verifikācija neizdevās. Mēģiniet vēlāk vēlreiz.",expired:"Verifikācijas laiks ir beidzies. Mēģiniet vēlreiz.",verificationRequired:"Nepieciešama verifikācija!",footer:'Aizsargāts ar ALTCHA',getAudioChallenge:"Saņemt audio izaicinājumu",label:"Es neesmu robots",loading:"Notiek ielāde...",reload:"Pārlādēt",verify:"Verificēt",verified:"Verificēts",verifying:"Notiek verifikācija...",waitAlert:"Notiek verifikācija... lūdzu, uzgaidiet."};globalThis.altchaI18n.set("lv",yl);const Al={ariaLinkLabel:"Żur Altcha.org",enterCode:"Idħol il-kodiċi",enterCodeAria:"Idħol il-kodiċi li tisma'. Agħfas Spazju biex tindaqq l-awdjo.",error:"Il-verifika falliet. Erġa’ pprova aktar tard.",expired:"Il-verifika skadiet. Erġa’ pprova.",verificationRequired:"Verifika meħtieġa!",footer:'Protett minn ALTCHA',getAudioChallenge:"Ikseb sfida bl-awdjo",label:"M’inix robot",loading:"Qed jitgħabba...",reload:"Ittella’ mill-ġdid",verify:"Ivverifika",verified:"Ivverifikat",verifying:"Verifika għaddejja...",waitAlert:"Verifika għaddejja... stenna ftit."};globalThis.altchaI18n.set("mt",Al);const Ni={ariaLinkLabel:"Besøk Altcha.org",enterCode:"Skriv inn kode",enterCodeAria:"Skriv inn koden du hører. Trykk på Space for å spille av lyden.",error:"Verifisering mislyktes. Prøv igjen senere.",expired:"Verifiseringen utløp. Prøv igjen.",footer:'Beskyttet av ALTCHA',getAudioChallenge:"Få en lydutfordring",label:"Jeg er ikke en robot",loading:"Laster...",reload:"Last på nytt",verify:"Verifiser",verificationRequired:"Verifisering kreves!",verified:"Verifisert",verifying:"Verifiserer...",waitAlert:"Verifiserer... vennligst vent."};globalThis.altchaI18n.set("nb",Ni),globalThis.altchaI18n.set("no",Ni);const kl={ariaLinkLabel:"Bezoek Altcha.org",enterCode:"Voer code in",enterCodeAria:"Voer de code in die je hoort. Druk op Spatie om de audio af te spelen.",error:"Verificatie mislukt. Probeer het later opnieuw.",expired:"Verificatie verlopen. Probeer het opnieuw.",verificationRequired:"Verificatie vereist!",footer:'Beschermd door ALTCHA',getAudioChallenge:"Audio-uitdaging ontvangen",label:"Ik ben geen robot",loading:"Laden...",reload:"Herladen",verify:"Verifiëren",verified:"Geverifieerd",verifying:"Bezig met verifiëren...",waitAlert:"Bezig met verifiëren... even geduld a.u.b."};globalThis.altchaI18n.set("nl",kl);const _l={ariaLinkLabel:"Odwiedź Altcha.org",enterCode:"Wprowadź kod",enterCodeAria:"Wpisz kod, który słyszysz. Naciśnij Spację, aby odtworzyć dźwięk.",error:"Weryfikacja nie powiodła się. Spróbuj ponownie później.",expired:"Weryfikacja wygasła. Spróbuj ponownie.",verificationRequired:"Wymagana weryfikacja!",footer:'Chronione przez ALTCHA',getAudioChallenge:"Pobierz zadanie dźwiękowe",label:"Nie jestem robotem",loading:"Ładowanie...",reload:"Odśwież",verify:"Zweryfikuj",verified:"Zweryfikowano",verifying:"Weryfikacja...",waitAlert:"Trwa weryfikacja... proszę czekać."};globalThis.altchaI18n.set("pl",_l);const wl={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Introduza o código",enterCodeAria:"Introduza o código que ouve. Prima Espaço para reproduzir o áudio.",error:"A verificação falhou. Por favor, tente novamente mais tarde.",expired:"Verificação expirada. Por favor, tente novamente.",verificationRequired:"Verificação necessária!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obter desafio de áudio",label:"Não sou um robô",loading:"A carregar...",reload:"Recarregar",verify:"Verificar",verified:"Verificado",verifying:"A verificar...",waitAlert:"A verificar... por favor aguarde."};globalThis.altchaI18n.set("pt-pt",wl);const Cl={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Digite o código",enterCodeAria:"Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.",error:"Falha na verificação. Por favor, tente novamente mais tarde.",expired:"Verificação expirada. Por favor, tente novamente.",verificationRequired:"Verificação necessária!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obter desafio de áudio",label:"Eu não sou um robô",loading:"Carregando...",reload:"Recarregar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor aguarde."};globalThis.altchaI18n.set("pt-br",Cl);const Ll={ariaLinkLabel:"Vizitează Altcha.org",enterCode:"Introduceți codul",enterCodeAria:"Introduceți codul pe care îl auziți. Apăsați Spațiu pentru a reda audio.",error:"Verificarea a eșuat. Încearcă din nou mai târziu.",expired:"Verificarea a expirat. Încearcă din nou.",verificationRequired:"Verificare necesară!",footer:'Protejat de ALTCHA',getAudioChallenge:"Obține o provocare audio",label:"Nu sunt un robot",loading:"Se încarcă...",reload:"Reîncarcă",verify:"Verifică",verified:"Verificat",verifying:"Se verifică...",waitAlert:"Se verifică... te rugăm să aștepți."};globalThis.altchaI18n.set("ro",Ll);const xl={ariaLinkLabel:"Перейти на Altcha.org",enterCode:"Введите код",enterCodeAria:"Введите код, который слышите. Нажмите пробел для воспроизведения аудио.",error:"Ошибка верификации. Попробуйте позже.",expired:"Срок действия верификации истек. Попробуйте снова.",verificationRequired:"Требуется проверка!",footer:'Защищено ALTCHA',getAudioChallenge:"Получить аудио задачу",label:"Я не робот",loading:"Загрузка...",reload:"Перезагрузить",verify:"Проверить",verified:"Проверено",verifying:"Идет проверка...",waitAlert:"Идет проверка... Пожалуйста, подождите."};globalThis.altchaI18n.set("ru",xl);const El={ariaLinkLabel:"Navštívte Altcha.org",enterCode:"Zadajte kód",enterCodeAria:"Zadajte kód, ktorý počujete. Stlačením medzerníka prehráte zvuk.",error:"Verifikácia zlyhala. Skúste to znova neskôr.",expired:"Verifikácia vypršala. Skúste to znova.",verificationRequired:"Vyžaduje sa overenie!",footer:'Chránené ALTCHA',getAudioChallenge:"Získať audio výzvu",label:"Nie som robot",loading:"Načítava sa...",reload:"Obnoviť",verify:"Verifikovať",verified:"Verifikované",verifying:"Prebieha verifikácia...",waitAlert:"Prebieha verifikácia... prosím čakajte."};globalThis.altchaI18n.set("sk",El);const Tl={ariaLinkLabel:"Obiščite Altcha.org",enterCode:"Vnesite kodo",enterCodeAria:"Vnesite kodo, ki jo slišite. Pritisnite preslednico za predvajanje zvoka.",error:"Preverjanje ni uspelo. Poskusite znova kasneje.",expired:"Preverjanje je poteklo. Poskusite znova.",verificationRequired:"Potrebna je preveritev!",footer:'Zaščiteno z ALTCHA',getAudioChallenge:"Pridobite zvočni izziv",label:"Nisem robot",loading:"Nalagam...",reload:"Ponovno naloži",verify:"Preveri",verified:"Preverjeno",verifying:"Preverjanje...",waitAlert:"Preverjanje... prosim počakajte."};globalThis.altchaI18n.set("sl",Tl);const Il={ariaLinkLabel:"Vizitoni Altcha.org",enterCode:"Fut kodin",enterCodeAria:"Fut kodin që dëgjon. Shtypni Hapësirë për të luajtur audio.",error:"Verifikimi dështoi. Provoni përsëri më vonë.",expired:"Verifikimi ka skaduar. Provoni përsëri.",footer:'I mbrojtur nga ALTCHA',getAudioChallenge:"Merr një sfidë audio",label:"Unë nuk jam një robot",loading:"Duke u ngarkuar...",reload:"Ringarko",verify:"Verifiko",verificationRequired:"Kërkohet verifikimi!",verified:"I verifikuar",verifying:"Duke verifikuar...",waitAlert:"Duke verifikuar... ju lutem prisni."};globalThis.altchaI18n.set("sq",Il);const Vl={ariaLinkLabel:"Posetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",error:"Verifikacija nije uspela. Pokušajte ponovo kasnije.",expired:"Verifikacija je istekla. Pokušajte ponovo.",footer:'Zaštićeno od strane ALTCHA',getAudioChallenge:"Dohvatite audio izazov",label:"Nisam robot",loading:"Učitavanje...",reload:"Ponovo učitaj",verify:"Verifikuj",verificationRequired:"Verifikacija je obavezna!",verified:"Verifikovano",verifying:"Verifikacija u toku...",waitAlert:"Verifikacija u toku... molimo vas da sačekate."};globalThis.altchaI18n.set("sr",Vl);const jl={ariaLinkLabel:"Besök Altcha.org",enterCode:"Ange kod",enterCodeAria:"Ange koden du hör. Tryck på mellanslag för att spela upp ljudet.",error:"Verifiering misslyckades. Försök igen senare.",expired:"Verifieringen har gått ut. Försök igen.",verificationRequired:"Verifiering krävs!",footer:'Skyddad av ALTCHA',getAudioChallenge:"Få ljudutmaning",label:"Jag är inte en robot",loading:"Laddar...",reload:"Ladda om",verify:"Verifiera",verified:"Verifierad",verifying:"Verifierar...",waitAlert:"Verifierar... vänligen vänta."};globalThis.altchaI18n.set("sv",jl);const Rl={ariaLinkLabel:"Altcha.org'yu ziyaret edin",enterCode:"Kodu girin",enterCodeAria:"Duyduğunuz kodu girin. Ses dosyasını oynatmak için Boşluk tuşuna basın.",error:"Doğrulama başarısız oldu. Lütfen daha sonra tekrar deneyin.",expired:"Doğrulama süresi doldu. Lütfen tekrar deneyin.",verificationRequired:"Doğrulama gerekli!",footer:'ALTCHA tarafından korunuyor ALTCHA',getAudioChallenge:"Sesli doğrulama al",label:"Ben robot değilim",loading:"Yükleniyor...",reload:"Yeniden yükle",verify:"Doğrula",verified:"Doğrulandı",verifying:"Doğrulama yapılıyor...",waitAlert:"Doğrulama yapılıyor... lütfen bekleyin."};globalThis.altchaI18n.set("tr",Rl);const $l={ariaLinkLabel:"Відвідати Altcha.org",enterCode:"Введіть код",enterCodeAria:"Введіть код, який ви чуєте. Натисніть пробіл, щоб відтворити аудіо.",error:"Перевірка не вдалася. Спробуйте пізніше.",expired:"Перевірка прострочена. Спробуйте знову.",verificationRequired:"Потрібна перевірка!",footer:'Захищено ALTCHA',getAudioChallenge:"Отримати аудіо-челлендж",label:"Я не робот",loading:"Завантаження...",reload:"Перезавантажити",verify:"Перевірити",verified:"Перевірено",verifying:"Перевіряється...",waitAlert:"Перевірка... будь ласка, зачекайте."};globalThis.altchaI18n.set("uk",$l);const Sl={ariaLinkLabel:"Besoek Altcha.org",enterCode:"Voer kode in",enterCodeAria:"Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",error:"Verifikasie het misluk. Probeer later weer.",expired:"Verifikasie het verval. Probeer weer.",footer:'Beskerm deur ALTCHA',getAudioChallenge:"Kry 'n klankuitdaging",label:"Ek is nie 'n robot nie",loading:"Laai...",reload:"Laai weer",verify:"Verifieer",verificationRequired:"Verifikasie is vereis!",verified:"Geverifieer",verifying:"Verifieer...",waitAlert:"Verifieer... wag asseblief."};globalThis.altchaI18n.set("af",Sl);const Pl={ariaLinkLabel:"Altcha.org ይጎብኙ",enterCode:"ኮድ አስገባ",enterCodeAria:"የሚሰማዎትን ኮድ ያስገቡ። ድምጽ ለመጫወት Space ን ይጫኑ።",error:"ማረጋገጫ አልተሳካም። በኋላ ላይ እንደገና ይሞክሩ።",expired:"ማረጋገጫው ጊዜው አልፏል። እንደገና ይሞክሩ።",footer:'በ ALTCHA የተጠበቀ',getAudioChallenge:"የድምጽ ፈተና ያግኙ",label:"እኔ ሮቦት አይደለሁም",loading:"በመጫን ላይ...",reload:"እንደገና ጫን",verify:"አረጋግጥ",verificationRequired:"ማረጋገጫ ያስፈልጋል!",verified:"ተረጋግጧል",verifying:"በማረጋገጥ ላይ...",waitAlert:"በማረጋገጥ ላይ... እባክዎ ይጠብቁ።"};globalThis.altchaI18n.set("am",Pl);const zl={ariaLinkLabel:"Tembelea Altcha.org",enterCode:"Weka nambari",enterCodeAria:"Weka nambari unayosikia. Bonyeza Space kucheza sauti.",error:"Uthibitishaji umeshindwa. Jaribu tena baadaye.",expired:"Uthibitishaji umeisha. Jaribu tena.",footer:'Imealindwa na ALTCHA',getAudioChallenge:"Pata changamoto ya sauti",label:"Mimi sio roboti",loading:"Inapakia...",reload:"Pakia tena",verify:"Thibitisha",verificationRequired:"Uthibitishaji unahitajika!",verified:"Imethibitishwa",verifying:"Inathibitisha...",waitAlert:"Inathibitisha... tafadhali subiri."};globalThis.altchaI18n.set("sw",zl);const Nl={ariaLinkLabel:"Ṣe abẹwo si Altcha.org",enterCode:"Tẹ koodu sii",enterCodeAria:"Tẹ koodu ti o ngbọ sii. Tẹ Space lati ṣe ohun orin.",error:"Ìdájọ́kòwò kò ṣẹ́ṣe. Gbiyanju lẹẹkansi ni ọjọ́ iwájú.",expired:"Ìdájọ́kòwò ti pari. Gbiyanju lẹẹkansi.",footer:'Ti wa ni ààbò nipasẹ ALTCHA',getAudioChallenge:"Gba ìjàdú ohùn",label:"Emi kii ṣe ẹrọ",loading:"Ó ń gbé sílẹ̀...",reload:"Tún gbé wọlé",verify:"Ṣàdájọ́",verificationRequired:"Ìdájọ́kòwò ni a nílò!",verified:"A ti dájọ́",verifying:"Ó ń ṣàdájọ́...",waitAlert:"Ó ń ṣàdájọ́... ẹ jọ̀ọ́ ẹ duro."};globalThis.altchaI18n.set("yo",Nl);const Dl={ariaLinkLabel:"Altcha.org পরিদর্শন করুন",enterCode:"কোড লিখুন",enterCodeAria:"আপনি যে কোড শুনতে পান তা লিখুন। অডিও প্লে করতে স্পেস বাটন টিপুন।",error:"যাচাইকরণ ব্যর্থ হয়েছে। পরে আবার চেষ্টা করুন।",expired:"যাচাইকরণ সময়সীমা শেষ হয়েছে। আবার চেষ্টা করুন।",verificationRequired:"যাচাই প্রয়োজন!",footer:'দ্বারা সুরক্ষিত ALTCHA',getAudioChallenge:"অডিও চ্যালেঞ্জ নিন",label:"আমি রোবট নই",loading:"লোড হচ্ছে...",reload:"পুনরায় লোড করুন",verify:"যাচাই করুন",verified:"যাচাই করা হয়েছে",verifying:"যাচাই করা হচ্ছে...",waitAlert:"যাচাই করা হচ্ছে... দয়া করে অপেক্ষা করুন।"};globalThis.altchaI18n.set("bn",Dl);const ql={ariaLinkLabel:"בקר באתר Altcha.org",enterCode:"הזן קוד",enterCodeAria:"הזן את הקוד שאתה שומע. לחץ על רווח להפעלת השמע.",error:"האימות נכשל. נסה שוב מאוחר יותר.",expired:"תוקף האימות פג. נסה שוב.",verificationRequired:"נדרש אימות!",footer:'מוגן על ידי ALTCHA',getAudioChallenge:"קבל אתגר שמע",label:"אני לא רובוט",loading:"טוען...",reload:"טען מחדש",verify:"אמת",verified:"אומת",verifying:"מאמת...",waitAlert:"מבצע אימות... אנא המתן."};globalThis.altchaI18n.set("he",ql);const Hl={ariaLinkLabel:"Altcha.org पर जाएं",enterCode:"कोड दर्ज करेंं",enterCodeAria:"आप जो कोड सुनते हैं उसे दर्ज करें। ऑडियो चलाने के लिए स्पेस दबाएं।",error:"सत्यापन विफल। कृपया बाद में फिर से प्रयास करें।",expired:"सत्यापन समाप्त हो गया है। कृपया पुनः प्रयास करें।",verificationRequired:"सत्यापन आवश्यक है!",footer:'द्वारा संरक्षित ALTCHA',getAudioChallenge:"ऑडियो चुनौती प्राप्त करें",label:"मैं रोबोट नहीं हूँ",loading:"लोड हो रहा है...",reload:"पुनः लोड करें",verify:"सत्यापित करें",verified:"सत्यापित",verifying:"सत्यापित कर रहे हैं...",waitAlert:"सत्यापित किया जा रहा है... कृपया प्रतीक्षा करें।"};globalThis.altchaI18n.set("hi",Hl);const Ol={ariaLinkLabel:"Kunjungi Altcha.org",enterCode:"Masukkan kode",enterCodeAria:"Masukkan kode yang Anda dengar. Tekan Spasi untuk memutar audio.",error:"Verifikasi gagal. Coba lagi nanti.",expired:"Verifikasi telah kedaluwarsa. Coba lagi.",verificationRequired:"Verifikasi diperlukan!",footer:'Dilindungi oleh ALTCHA',getAudioChallenge:"Dapatkan tantangan audio",label:"Saya bukan robot",loading:"Memuat...",reload:"Muat ulang",verify:"Verifikasi",verified:"Terverifikasi",verifying:"Memverifikasi...",waitAlert:"Memverifikasi... harap tunggu."};globalThis.altchaI18n.set("id",Ol);const Fl={ariaLinkLabel:"Altcha.orgを訪問",enterCode:"コードを入力",enterCodeAria:"聞こえるコードを入力してください。スペースキーを押して音声を再生します。",error:"認証に失敗しました。後でもう一度試してください。",expired:"認証が期限切れです。再試行してください。",verificationRequired:"認証が必要です!",footer:'保護されています ALTCHA',getAudioChallenge:"音声チャレンジを取得",label:"私はロボットではありません",loading:"読み込み中...",reload:"再読み込み",verify:"確認",verified:"確認済み",verifying:"確認中...",waitAlert:"確認中...少々お待ちください。"};globalThis.altchaI18n.set("ja",Fl);const Ml={ariaLinkLabel:"Altcha.org 방문하기",enterCode:"코드 입력",enterCodeAria:"들리는 코드를 입력하세요. 스페이스 바를 눌러 오디오를 재생합니다.",error:"인증 실패. 나중에 다시 시도해주세요.",expired:"인증이 만료되었습니다. 다시 시도해주세요.",verificationRequired:"인증이 필요합니다!",footer:'ALTCHA에서 보호됨 ALTCHA',getAudioChallenge:"오디오 챌린지 받기",label:"저는 로봇이 아닙니다",loading:"로딩 중...",reload:"새로 고침",verify:"확인",verified:"확인됨",verifying:"확인 중...",waitAlert:"확인 중... 잠시만 기다려주세요."};globalThis.altchaI18n.set("ko",Ml);const Bl={ariaLinkLabel:"Altcha.org сайтына кіру",enterCode:"Кодты енгізіңіз",enterCodeAria:"Естіген кодыңызды енгізіңіз. Аудионы ойнату үшін Бос орынды басыңыз.",error:"Тексеру сәтсіз аяқталды. Кейінірек қайталаңыз.",expired:"Тексеру мерзімі аяқталды. Қайталаңыз.",footer:'ALTCHA қорғайды',getAudioChallenge:"Аудио сынақ алу",label:"Мен робот емеспін",loading:"Жүктелуде...",reload:"Қайта жүктеу",verify:"Тексеру",verificationRequired:"Тексеру талап етіледі!",verified:"Тексерілді",verifying:"Тексеруде...",waitAlert:"Тексерілуде... күте тұрыңыз."};globalThis.altchaI18n.set("kk",Bl);const Ul={ariaLinkLabel:"Altcha.org भेट द्या",enterCode:"कोड टाकाा",enterCodeAria:"तुम्ही ऐकत असलेला कोड टाका. ऑडिओ प्ले करण्यासाठी स्पेस दाबा.",error:"पुष्टीकरण अयशस्वी झाले. कृपया नंतर पुन्हा प्रयत्न करा.",expired:"पुष्टीकरण कालबाह्य झाले आहे. कृपया पुन्हा प्रयत्न करा.",verificationRequired:"पडताळणी आवश्यक आहे!",footer:'द्वारे संरक्षित ALTCHA',getAudioChallenge:"ऑडिओ चॅलेंज मिळवा",label:"मी रोबोट नाही",loading:"लोड होत आहे...",reload:"पुन्हा लोड करा",verify:"पुष्टीकरण करा",verified:"पुष्टीकरण झाले",verifying:"पुष्टीकरण करत आहे...",waitAlert:"पुष्टीकरण करत आहे... कृपया थोडा वेळ थांबा."};globalThis.altchaI18n.set("mr",Ul);const Gl={ariaLinkLabel:"Altcha.org ஐ பார்வையிடவும்",enterCode:"குறியீட்டை உள்ளிடவும்",enterCodeAria:"நீங்கள் கேட்கும் குறியீட்டை உள்ளிடவும். ஆடியோவை இயக்க Space ஐ அழுத்தவும்.",error:"சரிபார்ப்பு தோல்வி. பிறகு மீண்டும் முயற்சிக்கவும்.",expired:"சரிபார்ப்பு காலாவதியானது. மீண்டும் முயற்சிக்கவும்.",verificationRequired:"சரிபார்ப்பு தேவை!",footer:'மூலமாக பாதுகாக்கப்பட்டவை ALTCHA',getAudioChallenge:"ஒலி சவாலை பெறவும்",label:"நான் ரோபோடான அல்ல",loading:"செயலாக்கம்...",reload:"மீண்டும் புதுப்பிக்கவும்",verify:"சரிபார்க்கவும்",verified:"சரிபார்க்கப்பட்டது",verifying:"சரிபார்க்கப்படுகிறது...",waitAlert:"சரிபார்க்கப்படுகிறது... தயவுசெய்து காத்திருக்கவும்."};globalThis.altchaI18n.set("ta",Gl);const Wl={ariaLinkLabel:"Altcha.org సందర్శించండి",enterCode:"కోడ్‌ని నమోదు చేయండి",enterCodeAria:"మీరు విన్న కోడ్‌ని నమోదు చేయండి. ఆడియో ప్లే చేయడానికి స్పేస్‌ను నొక్కండి.",error:"చెకింగ్ విఫలమైంది. దయచేసి మరల ప్రయత్నించండి.",expired:"చెకింగ్ కాలం ముగిసింది. దయచేసి మరల ప్రయత్నించండి.",verificationRequired:"ధృవీకరణ అవసరం!",footer:'ఈ సైట్ రక్షించబడింది ALTCHA',getAudioChallenge:"ఆడియో ఛాలెంజ్ పొందండి",label:"నేను రోబోట్ కాదు",loading:"లోడ్ అవుతోంది...",reload:"మళ్ళీ లోడ్ చేయండి",verify:"ధ్రువీకరించు",verified:"ధ్రువీకరించబడింది",verifying:"ధ్రువీకరణ జరుగుతుంది...",waitAlert:"ధ్రువీకరణ జరుగుతుంది... దయచేసి వేచి ఉండండి."};globalThis.altchaI18n.set("te",Wl);const Zl={ariaLinkLabel:"เยี่ยมชม Altcha.org",enterCode:"ป้อนรหัส",enterCodeAria:"ป้อนรหัสที่คุณได้ยิน กด Space เพื่อเล่นเสียง",error:"การตรวจสอบล้มเหลว กรุณาลองอีกครั้งภายหลัง",expired:"การตรวจสอบหมดอายุ กรุณาลองใหม่",verificationRequired:"จำเป็นต้องตรวจสอบ!",footer:'ป้องกันโดย ALTCHA',getAudioChallenge:"รับการท้าทายเสียง",label:"ฉันไม่ใช่บอท",loading:"กำลังโหลด...",reload:"โหลดใหม่",verify:"ตรวจสอบ",verified:"ตรวจสอบแล้ว",verifying:"กำลังตรวจสอบ...",waitAlert:"กำลังตรวจสอบ... กรุณารอ"};globalThis.altchaI18n.set("th",Zl);const Yl={ariaLinkLabel:"Altcha.org پر جائیں",enterCode:"کوڈ درج کریں",enterCodeAria:"جو کوڈ آپ سنتے ہیں وہ درج کریں۔ آڈیو چلانے کے لیے اسپیس دبائیں۔",error:"توثیق ناکام ہو گئی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔",expired:"توثیق کی مدت ختم ہو گئی ہے۔ براہ کرم دوبارہ کوشش کریں۔",verificationRequired:"تصدیق ضروری ہے!",footer:'کے ذریعے محفوظ ALTCHA',getAudioChallenge:"آڈیو چیلنج حاصل کریں",label:"میں روبوٹ نہیں ہوں",loading:"لوڈ ہو رہا ہے...",reload:"دوبارہ لوڈ کریں",verify:"توثیق کریں",verified:"توثیق شدہ",verifying:"توثیق ہو رہی ہے...",waitAlert:"توثیق ہو رہی ہے... براہ کرم انتظار کریں۔"};globalThis.altchaI18n.set("ur",Yl);const Kl={ariaLinkLabel:"Altcha.org saytiga tashrif buyuring",enterCode:"Kodni kiriting",enterCodeAria:"Eshitgan kodingizni kiriting. Audioni ijro etish uchun Bo'sh joy tugmasini bosing.",error:"Tekshiruv muvaffaqiyatsiz tugadi. Keyinroq qayta urinib ko'ring.",expired:"Tekshiruv muddati tugadi. Qayta urinib ko'ring.",footer:'ALTCHA tomonidan himoyalangan',getAudioChallenge:"Audio sinovni olish",label:"Men robot emasman",loading:"Yuklanmoqda...",reload:"Qayta yuklash",verify:"Tekshirish",verificationRequired:"Tekshiruv talab qilinadi!",verified:"Tekshirildi",verifying:"Tekshirilmoqda...",waitAlert:"Tekshirilmoqda... iltimos kuting."};globalThis.altchaI18n.set("uz",Kl);const Jl={ariaLinkLabel:"Truy cập Altcha.org",enterCode:"Nhập mã",enterCodeAria:"Nhập mã bạn nghe được. Nhấn Phím cách để phát âm thanh.",error:"Xác minh thất bại. Vui lòng thử lại sau.",expired:"Xác minh đã hết hạn. Vui lòng thử lại.",verificationRequired:"Yêu cầu xác minh!",footer:'Được bảo vệ bởi ALTCHA',getAudioChallenge:"Nhận thử thách âm thanh",label:"Tôi không phải là robot",loading:"Đang tải...",reload:"Tải lại",verify:"Xác minh",verified:"Đã xác minh",verifying:"Đang xác minh...",waitAlert:"Đang xác minh... vui lòng chờ."};globalThis.altchaI18n.set("vi",Jl);const Xl={ariaLinkLabel:"访问 Altcha.org",enterCode:"输入代码",enterCodeAria:"输入您听到的代码。按空格键播放音频。",error:"验证失败。稍后再试。",expired:"验证已过期。请重试。",verificationRequired:"需要验证!",footer:'由 ALTCHA 保护',getAudioChallenge:"获取音频挑战",label:"我不是机器人",loading:"加载中...",reload:"重新加载",verify:"验证",verified:"已验证",verifying:"正在验证...",waitAlert:"正在验证... 请稍等。"};globalThis.altchaI18n.set("zh-cn",Xl);const Ql={ariaLinkLabel:"訪問 Altcha.org",enterCode:"輸入代碼",enterCodeAria:"輸入您聽到的代碼。按空格鍵播放音頻。",error:"驗證失敗。稍後再試。",expired:"驗證已過期。請重試。",verificationRequired:"需要驗證!",footer:'由 ALTCHA 保護',getAudioChallenge:"獲取音頻挑戰",label:"我不是機器人",loading:"載入中...",reload:"重新載入",verify:"驗證",verified:"已驗證",verifying:"正在驗證...",waitAlert:"正在驗證... 請稍等。"};globalThis.altchaI18n.set("zh-tw",Ql);const Di='(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(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 p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r="SHA-256",n=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=l;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let i=n;i<=r;i+=1){if(o.signal.aborted||!c||!u)return null;try{const f=await crypto.subtle.decrypt({name:l,iv:g(i)},c,u);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,u=null;try{u=h(e);const i=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",i,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}let y;onmessage=async e=>{const{type:t,payload:r,start:n,max:l}=e.data;let o=null;if(t==="abort")y?.abort(),y=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:s}=r||{};o=await m(s,a,l,n)}else{const{algorithm:a,challenge:s,salt:c}=r||{};o=w(s,c,a,l,n)}y=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n',Ma=typeof self<"u"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",Di],{type:"text/javascript;charset=utf-8"});function es(e){let t;try{if(t=Ma&&(self.URL||self.webkitURL).createObjectURL(Ma),!t)throw"";const r=new Worker(t,{name:e?.name});return r.addEventListener("error",(()=>{(self.URL||self.webkitURL).revokeObjectURL(t)})),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(Di),{name:e?.name})}}const ts="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(ts);const qi=new TextEncoder;function rs(e){return[...new Uint8Array(e)].map((e=>e.toString(16).padStart(2,"0"))).join("")}async function as(e,t="SHA-256",r=1e5){const a=Date.now().toString(16);e||(e=Math.round(Math.random()*r));return{algorithm:t,challenge:await Hi(a,e,t),salt:a,signature:""}}async function Hi(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 rs(await crypto.subtle.digest(r.toUpperCase(),qi.encode(e+t)))}function is(e,t,r="SHA-256",a=1e6,i=0){const n=new AbortController,o=Date.now();return{promise:(async()=>{for(let l=i;l<=a;l+=1){if(n.signal.aborted)return null;if(await Hi(t,l,r)===e)return{number:l,took:Date.now()-o}}return null})(),controller:n}}function Ba(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function ns(e){const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e{for(let e=a;e<=r;e+=1){if(n.signal.aborted||!l||!s)return null;try{const t=await crypto.subtle.decrypt({name:i,iv:os(e)},l,s);if(t)return{clearText:(new TextDecoder).decode(t),took:Date.now()-o}}catch{}}return null})(),controller:n}}var A=(e=>(e.CODE="code",e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(A||{}),Q=(e=>(e.ERROR="error",e.LOADING="loading",e.PLAYING="playing",e.PAUSED="paused",e.READY="ready",e))(Q||{});const ss={ariaLinkLabel:"Visit Altcha.org",enterCode:"Enter code",enterCodeAria:"Enter code you hear. Press Space to play audio.",error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:'Protected by ALTCHA',getAudioChallenge:"Get an audio challenge",label:"I'm not a robot",loading:"Loading...",reload:"Reload",verify:"Verify",verificationRequired:"Verification required!",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait."};globalThis.altchaI18n.set("en",ss);const Ir=(e,t)=>{let r=io((()=>Pn(t?.(),24)));var a=ds();Ce((()=>{T(a,"width",n(r)),T(a,"height",n(r))})),M(e,a)};function cs(e,t){"Space"===e.code&&(e.preventDefault(),e.stopImmediatePropagation(),t())}function us(e,t){e.preventDefault(),t()}function fs(e,t,r,a,i,o,l,s){[A.UNVERIFIED,A.ERROR,A.EXPIRED,A.CODE].includes(n(t))?!1!==r()&&!1===n(a)?.reportValidity()?y(i,!1):o()?l():s():y(i,!0)}var ds=mr(''),hs=ye(''),gs=ye('
'),vs=mr(''),bs=mr(''),ps=mr(''),ms=ye(''),ys=ye(""),As=ye(''),ks=ye("
"),_s=ye("
"),ws=ye('
'),Cs=ye(''),Ls=ye('
'),xs=ye('
',1);function Es(e,t){ii(t,!0);const[r,a]=Oo(),i=()=>Ho(X,"$altchaI18nStore",r);let o=w(t,"auto",7,void 0),l=w(t,"blockspam",7,void 0),s=w(t,"challengeurl",7,void 0),c=w(t,"challengejson",7,void 0),u=w(t,"credentials",7,void 0),d=w(t,"customfetch",7,void 0),f=w(t,"debug",7,!1),h=w(t,"delay",7,0),g=w(t,"disableautofocus",7,!1),v=w(t,"refetchonexpire",7,!0),p=w(t,"disablerefetchonexpire",23,(()=>!v())),b=w(t,"expire",7,void 0),m=w(t,"floating",7,void 0),k=w(t,"floatinganchor",7,void 0),C=w(t,"floatingoffset",7,void 0),x=w(t,"floatingpersist",7,!1),L=w(t,"hidefooter",7,!1),V=w(t,"hidelogo",7,!1),E=w(t,"id",7,void 0),j=w(t,"language",7,void 0),I=w(t,"name",7,"altcha"),R=w(t,"maxnumber",7,1e6),z=w(t,"mockerror",7,!1),P=w(t,"obfuscated",7,void 0),S=w(t,"overlay",7,void 0),q=w(t,"overlaycontent",7,void 0),N=w(t,"plugins",7,void 0),H=w(t,"sentinel",7,void 0),D=w(t,"spamfilter",7,!1),O=w(t,"strings",7,void 0),F=w(t,"test",7,!1),B=w(t,"verifyurl",7,void 0),U=w(t,"workers",23,(()=>Math.min(16,navigator.hardwareConcurrency||8))),G=w(t,"workerurl",7,void 0);const{altchaI18n:W}=globalThis,X=W.store,ee=["SHA-256","SHA-384","SHA-512"],te=(e,r)=>{t.$$host.dispatchEvent(new CustomEvent(e,{detail:r}))},re=document.documentElement.lang?.split("-")?.[0],ae=$t((()=>s()&&new URL(s(),location.origin).host.endsWith(".altcha.org")&&!!s()?.includes("apiKey=ckey_"))),ie=$t((()=>c()?Qe(c()):void 0)),ne=$t((()=>O()?Qe(O()):{})),oe=$t((()=>({...Ie(i()),...n(ne)}))),le=$t((()=>`${E()||I()}_checkbox_${Math.round(1e8*Math.random())}`));let se=$(null),ce=$(!1),ue=$(null),de=$(De(A.UNVERIFIED)),fe=$(void 0),he=$(null),ge=$(null),ve=$(null),pe=$(null),be=$(null),ye=$(null),me=$(null),Ae=$(null),ke=null,we=$(null),xe=$(!1),Le=[],Ve=$(!1),$e=$(null);function Te(e,t){return btoa(JSON.stringify({algorithm:e.algorithm,challenge:e.challenge,number:t.number,salt:e.salt,signature:e.signature,test:!!F()||void 0,took:t.took}))}function Ee(){s()&&!p()&&n(de)===A.VERIFIED?At():pt(A.EXPIRED,n(oe).expired)}function je(){let e=fetch;if(d())if(ze("using customfetch"),"string"==typeof d()){if(e=globalThis[d()]||null,!e)throw new Error(`Custom fetch function not found: ${d()}`)}else e=d();return e}function Ie(e,t=[j()||"",document.documentElement.lang||"",...navigator.languages]){const r=Object.keys(e).map((e=>e.toLowerCase())),a=t.reduce(((t,a)=>(a=a.toLowerCase(),t||(e[a]?a:null)||r.find((e=>a.split("-")[0]===e.split("-")[0]))||null)),null);return e[a||"en"]}function _e(e){return[...n(ye)?.querySelectorAll(e?.length?e.map((e=>`input[name="${e}"]`)).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')||[]].reduce(((e,t)=>{const r=t.name,a=t.value;return r&&a&&(e[r]=/\n/.test(a)?a.replace(new RegExp("(?e instanceof Error)))&&console[e[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${I()}]`,...e)}function Pe(){y(we,Q.PAUSED,!0)}function Se(e){y(we,Q.ERROR,!0)}function qe(){y(we,Q.READY,!0)}function He(){y(we,Q.LOADING,!0)}function Me(){y(we,Q.PLAYING,!0)}function Oe(){y(we,Q.PAUSED,!0)}function Fe(e){if(e.preventDefault(),e.stopPropagation(),n(ue)){const t=new FormData(e.target),r=String(t.get("code"));if(B()?.startsWith("fn:")){const e=B().replace(/^fn:/,"");if(ze(`calling ${e} function instead of verifyurl`),!(e in globalThis))throw new Error(`Global function "${e}" is undefined.`);return globalThis[e]({challenge:n(ue).challenge,code:r,solution:n(ue).solution})}y(xe,!0),rt(Te(n(ue).challenge,n(ue).solution),r).then((({reason:e,verified:t})=>{t?(y(ue,null),yt(A.VERIFIED),ze("verified"),Tr().then((()=>{n(pe)?.focus(),te("verified",{payload:n($e)}),"onsubmit"===o()?at(n(me)):S()&>()}))):(pt(),y(Ae,e||"Verification failed",!0))})).catch((e=>{y(ue,null),yt(A.ERROR,e),ze("sentinel verification failed:",e)})).finally((()=>{y(xe,!1)}))}}function Be(e){const t=e.target;m()&&t&&!n(fe).contains(t)&&(n(de)===A.VERIFIED&&!1===x()||n(de)===A.VERIFIED&&"focus"===x()&&!n(ye)?.matches(":focus-within")||"off"===o()&&n(de)===A.UNVERIFIED)&>()}function Ue(){m()&&n(de)!==A.UNVERIFIED&&vt()}function Ze(e){n(de)===A.UNVERIFIED?At():m()&&"focus"===x()&&n(de)===A.VERIFIED&&mt()}function Ke(e){e.target?.hasAttribute("data-code-challenge-form")||(y(me,e.submitter,!0),n(ye)&&"onsubmit"===o()?(n(me)?.blur(),n(de)===A.UNVERIFIED?(e.preventDefault(),e.stopPropagation(),At().then((()=>{at(n(me))}))):n(de)!==A.VERIFIED&&(e.preventDefault(),e.stopPropagation(),n(de)===A.VERIFYING&&Ye())):n(ye)&&m()&&"off"===o()&&n(de)===A.UNVERIFIED&&(e.preventDefault(),e.stopPropagation(),mt()))}function Ge(){pt()}function Ye(){n(de)===A.VERIFYING&&n(oe).waitAlert&&alert(n(oe).waitAlert)}function We(){n(ge)?n(ge).paused?(n(ge).currentTime=0,n(ge).play()):n(ge).pause():(y(Ve,!0),requestAnimationFrame((()=>{n(ge)?.play()})))}function Je(){m()&&vt()}function Qe(e){return JSON.parse(e)}function Xe(e){const t=new URLSearchParams(e.split("?")?.[1]),r=t.get("expires")||t.get("expire");if(r){const e=new Date(1e3*+r),t=isNaN(e.getTime())?0:e.getTime()-Date.now();t>0&&it(t)}else ke&&(clearTimeout(ke),ke=null)}async function et(e){if(!B())throw new Error("Attribute verifyurl not set.");ze("requesting server verification from",B());const t={payload:e};if(!1!==D()){const{blockedCountries:e,classifier:r,disableRules:a,email:i,expectedLanguages:o,expectedCountries:l,fields:s,ipAddress:c,text:u,timeZone:d}="ipAddress"===D()?{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}:"object"==typeof D()?D():{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};t.blockedCountries=e,t.classifier=r,t.disableRules=a,t.email=!1===i?void 0:function(e){const t=n(ye)?.querySelector("string"==typeof e?`input[name="${e}"]`:'input[type="email"]:not([data-no-spamfilter])');return t?.value?.slice(t.value.indexOf("@"))||void 0}(i),t.expectedCountries=l,t.expectedLanguages=o||(re?[re]:void 0),t.fields=!1===s?void 0:_e(s),t.ipAddress=!1===c?void 0:c||"auto",t.text=u,t.timeZone=!1===d?void 0:d||Ba()}const r=await je()(B(),{body:JSON.stringify(t),headers:{"content-type":"application/json"},method:"POST"});if(!(r&&r instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==r.status)throw new Error(`Server responded with ${r.status}.`);const a=await r.json();if(a?.payload&&y($e,a.payload,!0),te("serververification",a),l()&&"BAD"===a.classification)throw new Error("SpamFilter returned negative classification.")}async function rt(e,t){if(!B())throw new Error("Attribute verifyurl not set.");ze("requesting sentinel verification from",B());const r={code:t,payload:e};H()&&(r.fields=H().fields?_e():void 0,r.timeZone=H().timeZone?Ba():void 0);const a=await je()(B(),{body:JSON.stringify(r),headers:{"content-type":"application/json"},method:"POST"});if(!(a&&a instanceof Response))throw new Error("Fetch function did not return a response.");if(200!==a.status)throw new Error(`Server responded with ${a.status}.`);const i=await a.json();return i?.payload&&y($e,i.payload,!0),te("sentinelverification",i),i}function at(e){n(ye)&&"requestSubmit"in n(ye)?n(ye).requestSubmit(e):n(ye)?.reportValidity()&&(e?e.click():n(ye).submit())}function it(e){ze("expire",e),ke&&(clearTimeout(ke),ke=null),e<1?Ee():ke=setTimeout(Ee,e)}function nt(e){ze("floating",e),m()!==e&&(n(fe).style.left="",n(fe).style.top=""),m(!0===e||""===e?"auto":!1===e||"false"===e?void 0:m()),m()?(o()||o("onsubmit"),document.addEventListener("scroll",Ue),document.addEventListener("click",Be),window.addEventListener("resize",Je)):"onsubmit"===o()&&o(void 0)}function ot(e){if(ze("overlay",e),S(e),e){if(o()||o("onsubmit"),n(ve)&&n(fe).parentElement&&n(ve).replaceWith(n(fe).parentElement),n(fe)?.parentElement?.parentElement){y(ve,document.createElement("div"),!0),n(fe).parentElement.parentElement.appendChild(n(ve));const e=document.createElement("div"),t=document.createElement("button");t.type="button",t.innerHTML="×",t.addEventListener("click",(e=>{e.preventDefault(),pt()})),n(ve).classList.add("altcha-overlay-backdrop"),t.classList.add("altcha-overlay-close-button"),e.classList.add("altcha-overlay"),n(ve).append(e),e.append(t),q()&&e.append(...document.querySelectorAll(q())),e.append(n(fe).parentElement)}}else n(ve)&&n(fe).parentElement&&(n(ve).replaceWith(n(fe).parentElement),n(fe).style.display="block")}function lt(e){if(!e.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(void 0===e.signature)throw new Error("Invalid challenge. Property signature is missing.");if(!ee.includes(e.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${ee.join(", ")}`);if(!e.challenge||e.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!e.salt||e.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function st(e){let t=null,r=null;if("Worker"in window){try{t=function(e,t=("number"==typeof F()?F():e.maxNumber||e.maxnumber||R()),r=Math.ceil(U())){const a=new AbortController,i=[];r=Math.min(16,t,Math.max(1,r));for(let e=0;e{const t=await Promise.all(i.map(((t,r)=>{const o=r*n;return a.signal.addEventListener("abort",(()=>{t.postMessage({type:"abort"})})),new Promise((r=>{t.addEventListener("message",(e=>{if(e.data)for(const e of i)e!==t&&e.postMessage({type:"abort"});r(e.data)})),t.postMessage({payload:e,max:o+n,start:o,type:"work"})}))})));for(const e of i)e.terminate();return t.find((e=>!!e))||null})(),controller:a}}(e,e.maxNumber||e.maxnumber||R()),y(se,t.controller,!0),r=await t.promise}catch(e){ze(e)}finally{y(se,null)}if(null===r||void 0!==r?.number||"obfuscated"in e)return{data:e,solution:r}}if("obfuscated"in e){const t=await ls(e.obfuscated,e.key,e.maxNumber||e.maxnumber);return{data:e,solution:await t.promise}}t=is(e.challenge,e.salt,e.algorithm,e.maxNumber||e.maxnumber||R()),y(se,t.controller,!0);try{r=await t.promise}catch(e){ze(e)}finally{y(se,null)}return{data:e,solution:r}}async function ct(){if(!P())return void yt(A.ERROR);const e=Le.find((e=>"obfuscation"===e.constructor.pluginName));return e&&"clarify"in e?"clarify"in e&&"function"==typeof e.clarify?e.clarify():void 0:(yt(A.ERROR),void ze("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it."))}function ut(e){void 0!==e.obfuscated&&P(e.obfuscated),void 0!==e.auto&&(o(e.auto),"onload"===o()&&(P()?ct():At())),void 0!==e.blockspam&&l(!!e.blockspam),void 0!==e.customfetch&&d(e.customfetch),void 0!==e.floatinganchor&&k(e.floatinganchor),void 0!==e.delay&&h(e.delay),void 0!==e.floatingoffset&&C(e.floatingoffset),void 0!==e.floating&&nt(e.floating),void 0!==e.expire&&(it(e.expire),b(e.expire)),e.challenge&&(c("string"==typeof e.challenge?e.challenge:JSON.stringify(e.challenge)),lt(n(ie))),void 0!==e.challengeurl&&s(e.challengeurl),void 0!==e.debug&&f(!!e.debug),void 0!==e.hidefooter&&L(!!e.hidefooter),void 0!==e.hidelogo&&V(!!e.hidelogo),void 0!==e.language&&O(Ie(i(),[e.language])),void 0!==e.maxnumber&&R(+e.maxnumber),void 0!==e.mockerror&&z(!!e.mockerror),void 0!==e.name&&I(e.name),void 0!==e.overlaycontent&&q(e.overlaycontent),void 0!==e.overlay&&ot(e.overlay),void 0!==e.refetchonexpire&&p(!e.refetchonexpire),void 0!==e.disablerefetchonexpire&&p(!e.disablerefetchonexpire),void 0!==e.sentinel&&"object"==typeof e.sentinel&&H(e.sentinel),void 0!==e.spamfilter&&D("object"==typeof e.spamfilter?e.spamfilter:!!e.spamfilter),e.strings&&O("string"==typeof e.strings?e.strings:JSON.stringify(e.strings)),void 0!==e.test&&F("number"==typeof e.test?e.test:!!e.test),void 0!==e.verifyurl&&B(e.verifyurl),void 0!==e.workers&&U(+e.workers),void 0!==e.workerurl&&G(e.workerurl)}function dt(){return{auto:o(),blockspam:l(),challengeurl:s(),debug:f(),delay:h(),disableautofocus:g(),disablerefetchonexpire:p(),expire:b(),floating:m(),floatinganchor:k(),floatingoffset:C(),hidefooter:L(),hidelogo:V(),name:I(),maxnumber:R(),mockerror:z(),obfuscated:P(),overlay:S(),refetchonexpire:!p(),spamfilter:D(),strings:n(oe),test:F(),verifyurl:B(),workers:U(),workerurl:G()}}function ft(){return n(be)}function ht(){return n(de)}function gt(){n(fe).style.display="none",S()&&n(ve)&&(n(ve).style.display="none")}function vt(e=20){if(n(fe))if(n(be)||y(be,(k()?document.querySelector(k()):n(ye)?.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||n(ye),!0),n(be)){const t=parseInt(C(),10)||12,r=n(be).getBoundingClientRect(),a=n(fe).getBoundingClientRect(),i=document.documentElement.clientHeight,o=document.documentElement.clientWidth,l="auto"===m()?r.bottom+a.height+t+e>i:"top"===m(),s=Math.max(e,Math.min(o-e-a.width,r.left+r.width/2-a.width/2));if(n(fe).style.top=l?r.top-(a.height+t)+"px":`${r.bottom+t}px`,n(fe).style.left=`${s}px`,n(fe).setAttribute("data-floating",l?"top":"bottom"),n(he)){const e=n(he).getBoundingClientRect();n(he).style.left=r.left-s+r.width/2-e.width/2+"px"}}else ze("unable to find floating anchor element")}function pt(e=A.UNVERIFIED,t=null){n(se)&&(n(se).abort(),y(se,null)),y(ce,!1),y($e,null),y(ue,null),y(Ve,!1),y(we,null),yt(e,t)}function bt(e){y(be,e,!0)}function yt(e,t=null){y(de,e,!0),y(Ae,t,!0),te("statechange",{payload:n($e),state:n(de)})}function mt(){n(fe).style.display="block",m()&&vt(),S()&&n(ve)&&(n(ve).style.display="flex")}async function At(){return pt(A.VERIFYING),await new Promise((e=>setTimeout(e,h()||0))),async function(){if(z())throw ze("mocking error"),new Error("Mocked error.");if(n(ie))return ze("using provided json data"),Xe(n(ie).salt),n(ie);if(F())return ze("generating test challenge",{test:F()}),as("boolean"!=typeof F()?+F():void 0);{if(!s()&&n(ye)){const e=n(ye).getAttribute("action");e?.includes("/form/")&&s(e+"/altcha")}if(!s())throw new Error("Attribute challengeurl not set.");ze("fetching challenge from",s());const e={credentials:"boolean"==typeof u()?"include":u(),headers:!1!==D()?{"x-altcha-spam-filter":"1"}:{}},t=await je()(s(),e);if(!(t&&t instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==t.status)throw new Error(`Server responded with ${t.status}.`);const r=t.headers.get("X-Altcha-Config"),a=await t.json();if(Xe(a.salt),r)try{const e=JSON.parse(r);e&&"object"==typeof e&&(e.verifyurl&&!e.verifyurl.startsWith("fn:")&&(e.verifyurl=Re(e.verifyurl)),ut(e))}catch(e){ze("unable to configure from X-Altcha-Config",e)}return a}}().then((e=>(lt(e),ze("challenge",e),st(e)))).then((({data:e,solution:t})=>{if(ze("solution",t),!t||e&&"challenge"in e&&!("clearText"in t))if(void 0!==t?.number&&"challenge"in e)if(B()&&"codeChallenge"in e)["INPUT","BUTTON","SELECT","TEXTAREA"].includes(document.activeElement?.tagName||"")&&!1===g()&&document.activeElement.blur(),y(ue,{challenge:e,solution:t},!0);else{if(B()&&void 0!==H())return rt(Te(e,t));if(B())return et(Te(e,t));y($e,Te(e,t),!0),ze("payload",n($e))}else if(n(de)!==A.EXPIRED)throw ze("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")})).then((()=>{n(ue)?(yt(A.CODE),Tr().then((()=>{te("code",{codeChallenge:n(ue)})}))):n($e)&&(yt(A.VERIFIED),ze("verified"),Tr().then((()=>{te("verified",{payload:n($e)}),S()&>()})))})).catch((e=>{ze(e),yt(A.ERROR,e.message)}))}Rr((()=>{!function(e){for(const e of Le)"function"==typeof e.onErrorChange&&e.onErrorChange(n(Ae))}(n(Ae))})),Rr((()=>{!function(e){for(const e of Le)"function"==typeof e.onStateChange&&e.onStateChange(n(de));m()&&n(de)!==A.UNVERIFIED&&requestAnimationFrame((()=>{vt()})),y(ce,n(de)===A.VERIFIED),S()&&n(ve)&&(n(de)!==A.UNVERIFIED?mt():gt())}(n(de))})),Wo((()=>{(function(){for(const e of Le)e.destroy()})(),y(me,null),n(ye)&&(n(ye).removeEventListener("submit",Ke),n(ye).removeEventListener("reset",Ge),n(ye).removeEventListener("focusin",Ze),y(ye,null)),ke&&(clearTimeout(ke),ke=null),document.removeEventListener("click",Be),document.removeEventListener("scroll",Ue),window.removeEventListener("resize",Je)})),Pi((()=>{ze("mounted","2.2.4"),ze("workers",U()),function(){const e=void 0!==N()?N().split(","):void 0;for(const t of globalThis.altchaPlugins)(!e||e.includes(t.pluginName))&&Le.push(new t({el:n(fe),clarify:ct,dispatch:te,getConfiguration:dt,getFloatingAnchor:ft,getState:ht,log:ze,reset:pt,solve:st,setState:yt,setFloatingAnchor:bt,verify:At}))}(),ze("plugins",Le.length?Le.map((e=>e.constructor.pluginName)).join(", "):"none"),F()&&ze("using test mode"),b()&&it(b()),void 0!==o()&&ze("auto",o()),void 0!==m()&&nt(m()),y(ye,n(fe)?.closest("form"),!0),n(ye)&&(n(ye).addEventListener("submit",Ke,{capture:!0}),n(ye).addEventListener("reset",Ge),("onfocus"===o()||"focus"===x())&&n(ye).addEventListener("focusin",Ze)),S()&&ot(!0),"onload"===o()&&(P()?ct():At()),n(ae)&&(L()||V())&&ze("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame((()=>{te("load")}))}));var kt=xs(),wt=St(kt);Ro(wt,t,"default",{});var Ct=K(wt,2),xt=Y(Ct),Lt=Y(xt);let Vt;var Tt=Y(Lt),Et=e=>{Ir(e)};J(Tt,(e=>{n(de)===A.VERIFYING&&e(Et)}));var jt=K(Tt,2);qa(jt),jt.__change=[fs,de,D,ye,ce,P,ct,At],Qt(jt,(e=>y(pe,e)),(()=>n(pe))),Z(Lt);var It=K(Lt,2),_t=Y(It),Rt=e=>{var t=Xt();tt(St(t),(()=>n(oe).verified)),M(e,t)},zt=(e,t)=>{var r=e=>{var t=Xt();tt(St(t),(()=>n(oe).verifying)),M(e,t)},a=(e,t)=>{var r=e=>{var t=Xt();tt(St(t),(()=>n(oe).verificationRequired)),M(e,t)},a=e=>{var t=Xt();tt(St(t),(()=>n(oe).label)),M(e,t)};J(e,(e=>{n(de)===A.CODE?e(r):e(a,!1)}),t)};J(e,(e=>{n(de)===A.VERIFYING?e(r):e(a,!1)}),t)};J(_t,(e=>{n(de)===A.VERIFIED?e(Rt):e(zt,!1)})),Z(It);var Pt=K(It,2),qt=e=>{var t=hs();qa(t),Ce((()=>{T(t,"name",I()),No(t,n($e))})),M(e,t)};J(Pt,(e=>{n(de)===A.VERIFIED&&e(qt)}));var Nt=K(Pt,2),Ht=e=>{var t=gs(),r=Y(t);T(r,"href","https://altcha.org/"),Z(t),Ce((()=>T(r,"aria-label",n(oe).ariaLinkLabel))),M(e,t)};J(Nt,(e=>{(!0!==V()||n(ae))&&e(Ht)}));var Dt=K(Nt,2),Mt=e=>{var t=As(),r=K(Y(t),2),a=Y(r),i=K(a,2);Lo(i,!g()),i.__keydown=[cs,We];var o=K(i,2),l=Y(o),s=Y(l),c=e=>{var t=ms();t.__click=We;var r=Y(t),a=e=>{Ir(e,(()=>20))},i=(e,t)=>{var r=e=>{M(e,vs())},a=(e,t)=>{var r=e=>{M(e,bs())},a=e=>{M(e,ps())};J(e,(e=>{n(we)===Q.PLAYING?e(r):e(a,!1)}),t)};J(e,(e=>{n(we)===Q.ERROR?e(r):e(a,!1)}),t)};J(r,(e=>{n(we)===Q.LOADING?e(a):e(i,!1)})),Z(t),Ce((()=>{T(t,"title",n(oe).getAudioChallenge),t.disabled=n(we)===Q.LOADING||n(we)===Q.ERROR||n(xe),T(t,"aria-label",n(we)===Q.LOADING?n(oe).loading:n(oe).getAudioChallenge)})),M(e,t)};J(s,(e=>{n(ue).challenge.codeChallenge.audio&&e(c)}));var u=K(s,2);u.__click=[us,At],Z(l);var d=K(l,2),f=Y(d),h=e=>{Ir(e,(()=>16))};J(f,(e=>{n(xe)&&e(h)}));var v=K(f);Z(d),Z(o);var p=K(o,2),b=e=>{var t=ys(),r=Y(t);Z(t),Qt(t,(e=>y(ge,e)),(()=>n(ge))),Ce((e=>T(r,"src",e)),[()=>Re(n(ue).challenge.codeChallenge.audio,{language:j()})]),Ne("loadstart",t,He),Ne("canplay",t,qe),Ne("pause",t,Oe),Ne("playing",t,Me),Ne("ended",t,Pe),Ne("error",r,Se),M(e,t)};J(p,(e=>{n(ue).challenge.codeChallenge.audio&&n(Ve)&&e(b)})),Z(r),Z(t),Ce((()=>{T(t,"aria-label",n(oe).verificationRequired),T(a,"src",n(ue).challenge.codeChallenge.image),T(i,"minlength",n(ue).challenge.codeChallenge.length||1),T(i,"maxlength",n(ue).challenge.codeChallenge.length),T(i,"placeholder",n(oe).enterCode),T(i,"aria-label",n(we)===Q.LOADING?n(oe).loading:n(we)===Q.PLAYING?"":n(oe).enterCodeAria),T(i,"aria-live",n(we)?"assertive":"polite"),T(i,"aria-busy",n(we)===Q.LOADING),i.disabled=n(xe),T(u,"aria-label",n(oe).reload),T(u,"title",n(oe).reload),u.disabled=n(xe),d.disabled=n(xe),T(d,"aria-label",n(oe).verify),Io(v,` ${n(oe).verify??""}`)})),Ne("submit",r,Fe,!0),M(e,t)};J(Dt,(e=>{n(ue)?.challenge.codeChallenge&&e(Mt)})),Z(xt);var Ot=K(xt,2),Ft=e=>{var t=ws(),r=K(Y(t),2),a=e=>{var t=ks();tt(Y(t),(()=>n(oe).expired)),Z(t),Ce((()=>T(t,"title",n(Ae)))),M(e,t)},i=e=>{var t=_s();tt(Y(t),(()=>n(oe).error)),Z(t),Ce((()=>T(t,"title",n(Ae)))),M(e,t)};J(r,(e=>{n(de)===A.EXPIRED?e(a):e(i,!1)})),Z(t),M(e,t)};J(Ot,(e=>{(n(Ae)||n(de)===A.EXPIRED)&&e(Ft)}));var Bt=K(Ot,2),Ut=e=>{var t=Cs(),r=Y(t);tt(Y(r),(()=>n(oe).footer)),Z(r),Z(t),M(e,t)};J(Bt,(e=>{n(oe).footer&&(!0!==L()||n(ae))&&e(Ut)}));var Zt=K(Bt,2),Kt=e=>{var t=Ls();Qt(t,(e=>y(he,e)),(()=>n(he))),M(e,t)};J(Zt,(e=>{m()&&e(Kt)})),Z(Ct),Qt(Ct,(e=>y(fe,e)),(()=>n(fe))),Ce((e=>{T(Ct,"data-state",n(de)),T(Ct,"data-floating",m()),T(Ct,"data-overlay",S()),Vt=So(Lt,1,"altcha-checkbox",null,Vt,e),T(jt,"id",n(le)),jt.required="onsubmit"!==o()&&(!m()||"off"!==o()),T(It,"for",n(le))}),[()=>({"altcha-checkbox-verifying":n(de)===A.VERIFYING})]),Ne("invalid",jt,Ye),qo(jt,(()=>n(ce)),(e=>y(ce,e))),M(e,kt);var Gt=ni({clarify:ct,configure:ut,getConfiguration:dt,getFloatingAnchor:ft,getPlugin:function(e){return Le.find((t=>t.constructor.pluginName===e))},getState:ht,hide:gt,repositionFloating:vt,reset:pt,setFloatingAnchor:bt,setState:yt,show:mt,verify:At,get auto(){return o()},set auto(e=void 0){o(e),_()},get blockspam(){return l()},set blockspam(e=void 0){l(e),_()},get challengeurl(){return s()},set challengeurl(e=void 0){s(e),_()},get challengejson(){return c()},set challengejson(e=void 0){c(e),_()},get credentials(){return u()},set credentials(e=void 0){u(e),_()},get customfetch(){return d()},set customfetch(e=void 0){d(e),_()},get debug(){return f()},set debug(e=!1){f(e),_()},get delay(){return h()},set delay(e=0){h(e),_()},get disableautofocus(){return g()},set disableautofocus(e=!1){g(e),_()},get refetchonexpire(){return v()},set refetchonexpire(e=!0){v(e),_()},get disablerefetchonexpire(){return p()},set disablerefetchonexpire(e=!v){p(e),_()},get expire(){return b()},set expire(e=void 0){b(e),_()},get floating(){return m()},set floating(e=void 0){m(e),_()},get floatinganchor(){return k()},set floatinganchor(e=void 0){k(e),_()},get floatingoffset(){return C()},set floatingoffset(e=void 0){C(e),_()},get floatingpersist(){return x()},set floatingpersist(e=!1){x(e),_()},get hidefooter(){return L()},set hidefooter(e=!1){L(e),_()},get hidelogo(){return V()},set hidelogo(e=!1){V(e),_()},get id(){return E()},set id(e=void 0){E(e),_()},get language(){return j()},set language(e=void 0){j(e),_()},get name(){return I()},set name(e="altcha"){I(e),_()},get maxnumber(){return R()},set maxnumber(e=1e6){R(e),_()},get mockerror(){return z()},set mockerror(e=!1){z(e),_()},get obfuscated(){return P()},set obfuscated(e=void 0){P(e),_()},get overlay(){return S()},set overlay(e=void 0){S(e),_()},get overlaycontent(){return q()},set overlaycontent(e=void 0){q(e),_()},get plugins(){return N()},set plugins(e=void 0){N(e),_()},get sentinel(){return H()},set sentinel(e=void 0){H(e),_()},get spamfilter(){return D()},set spamfilter(e=!1){D(e),_()},get strings(){return O()},set strings(e=void 0){O(e),_()},get test(){return F()},set test(e=!1){F(e),_()},get verifyurl(){return B()},set verifyurl(e=void 0){B(e),_()},get workers(){return U()},set workers(e=Math.min(16,navigator.hardwareConcurrency||8)){U(e),_()},get workerurl(){return G()},set workerurl(e=void 0){G(e),_()}});return a(),Gt}To(["change","keydown","click"]),customElements.define("altcha-widget",Go(Es,{blockspam:{type:"Boolean"},debug:{type:"Boolean"},delay:{type:"Number"},disableautofocus:{type:"Boolean"},disablerefetchonexpire:{type:"Boolean"},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:{},credentials:{},customfetch:{},floating:{},floatinganchor:{},floatingpersist:{},id:{},language:{},name:{},obfuscated:{},overlay:{},overlaycontent:{},plugins:{},sentinel:{},spamfilter:{},strings:{},verifyurl:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","hide","repositionFloating","reset","setFloatingAnchor","setState","show","verify"],!1));const Ts='@keyframes overlay-slidein{to{opacity:1;top:50%}}@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{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}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{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{align-items:center;display:flex;gap:.4rem;padding:.7rem;position:relative}.altcha-code-challenge{background:var(--altcha-color-base, white);border:1px solid var(--altcha-color-border-focus, currentColor);border-radius:var(--altcha-border-radius, 3px);filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));padding:.5rem;position:absolute;top:2.5rem;z-index:9999999}.altcha-code-challenge>form{display:flex;flex-direction:column;gap:.5rem}.altcha-code-challenge-input{border:1px solid currentColor;border-radius:3px;box-sizing:border-box;outline:0;font-size:16px;padding:.35rem;width:220px}.altcha-code-challenge-input:focus{outline:2px solid color-mix(in srgb,var(--altcha-color-active, #1D1DC9) 20%,transparent)}.altcha-code-challenge-input:disabled{opacity:.7}.altcha-code-challenge-image{background-color:#fff;border:1px solid currentColor;border-radius:3px;box-sizing:border-box;object-fit:contain;height:50px;width:220px}.altcha-code-challenge-audio,.altcha-code-challenge-reload{background:color-mix(in srgb,var(--altcha-color-text, currentColor) 10%,transparent);border:0;border-radius:3px;color:var(--altcha-color-text, currentColor);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem}.altcha-code-challenge-audio:disabled,.altcha-code-challenge-reload:disabled,.altcha-code-challenge-verify:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-audio>*,.altcha-code-challenge-reload>*{height:20px;width:20px}.altcha-code-challenge-buttons{display:flex;justify-content:space-between}.altcha-code-challenge-buttons-left{display:flex;gap:.25rem}.altcha-code-challenge-verify{align-items:center;background:var(--altcha-color-active, #1D1DC9);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;gap:.5rem;font-size:100%;padding:.35rem 1rem}.altcha-code-challenge-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, currentColor);content:"";height:0;left:.15rem;position:absolute;top:-12px;width:0}.altcha[data-floating=top] .altcha-code-challenge{top:-150px}.altcha[data-floating=top] .altcha-code-challenge-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, currentColor);bottom:-12px;top:auto}.altcha-label{cursor:pointer;flex-grow:1}.altcha-logo{color:currentColor!important;opacity:.7}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.7;justify-content:end;padding:.2rem .7rem}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;justify-content:center;height:24px;position:relative;width:24px}.altcha-checkbox .altcha-spinner{bottom:0;left:0;position:absolute;right:0;top:0}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-checkbox-verifying input{appearance:none;opacity:0;pointer-events:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}.altcha-overlay{--altcha-color-base:#fff;--altcha-color-text:#000;animation:overlay-slidein .5s forwards;display:flex;flex-direction:column;gap:.5rem;left:50%;width:260px;opacity:0;position:fixed;top:45%;transform:translate(-50%,-50%)}.altcha-overlay-backdrop{background:rgba(0,0,0,.5);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99999999}.altcha-overlay-close-button{align-self:flex-end;background:0 0;border:0;padding:.25rem;cursor:pointer;color:currentColor;font-size:130%;line-height:1;opacity:.7}@media (max-height:450px){.altcha-overlay{top:10%!important;transform:translate(-50%,0)}}';function Is(e,t="__altcha-css"){if(!document.getElementById(t)){const r=document.createElement("style");r.id=t,r.textContent=e,document.head.appendChild(r)}}globalThis.altchaCreateWorker=e=>e?new Worker(new URL(e)):new es,Is(Ts);export{Es as Altcha}; \ No newline at end of file +var Ua=Array.isArray,Vn=Array.prototype.indexOf,jn=Array.from,ir=Object.keys,Dt=Object.defineProperty,rt=Object.getOwnPropertyDescriptor,Rn=Object.getOwnPropertyDescriptors,$n=Object.prototype,Sn=Array.prototype,Ga=Object.getPrototypeOf,ja=Object.isExtensible;const yt=()=>{};function Wa(e){for(var t=0;t"u"?e=>setTimeout(e,1):requestIdleCallback;let qt=[],Ht=[];function Ja(){var e=qt;qt=[],Wa(e)}function Xa(){var e=Ht;Ht=[],Wa(e)}function Hr(e){0===qt.length&&queueMicrotask(Ja),qt.push(e)}function Hn(e){0===Ht.length&&qn(Xa),Ht.push(e)}function On(){qt.length>0&&Ja(),Ht.length>0&&Xa()}function Qa(e){return e===this.v}function ei(e,t){return e!=e?t==t:e!==t||null!==e&&"object"==typeof e||"function"==typeof e}function Or(e){return!ei(e,this.v)}function Fn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Mn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Bn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Un(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Gn(){throw new Error("https://svelte.dev/e/hydration_failed")}function Wn(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Zn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Yn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Kn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}const Jn=1,Xn=4,Qn=8,eo=16,to=1,ro=2,Fr="[",ti="[!",ri="]",At={},oe=Symbol(),ao="http://www.w3.org/1999/xhtml";function ai(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}let ae=null;function Ra(e){ae=e}function ii(e,t=!1,r){var a=ae={p:ae,c:null,d:!1,e:null,m:!1,s:e,x:null,l:null};Ur((()=>{a.d=!0}))}function ni(e){const t=ae;if(null!==t){void 0!==e&&(t.x=e);const o=t.e;if(null!==o){var r=V,a=I;t.e=null;try{for(var i=0;i{var t=I;Ee(o);var r=e();return Ee(t),r};return a&&r.set("length",$(e.length)),new Proxy(e,{defineProperty(e,t,a){(!("value"in a)||!1===a.configurable||!1===a.enumerable||!1===a.writable)&&Zn();var i=r.get(t);return void 0===i?(i=l((()=>$(a.value))),r.set(t,i)):y(i,l((()=>De(a.value)))),!0},deleteProperty(e,t){var n=r.get(t);if(void 0===n)t in e&&(r.set(t,l((()=>$(oe)))),Er(i));else{if(a&&"string"==typeof t){var o=r.get("length"),s=Number(t);Number.isInteger(s)&&s$(De(s?t[a]:oe)))),r.set(a,o)),void 0!==o){var c=n(o);return c===oe?void 0:c}return Reflect.get(t,a,i)},getOwnPropertyDescriptor(e,t){var a=Reflect.getOwnPropertyDescriptor(e,t);if(a&&"value"in a){var i=r.get(t);i&&(a.value=n(i))}else if(void 0===a){var o=r.get(t),l=o?.v;if(void 0!==o&&l!==oe)return{enumerable:!0,configurable:!0,value:l,writable:!0}}return a},has(e,t){if(t===zt)return!0;var a=r.get(t),i=void 0!==a&&a.v!==oe||Reflect.has(e,t);if((void 0!==a||null!==V&&(!i||rt(e,t)?.writable))&&(void 0===a&&(a=l((()=>$(i?De(e[t]):oe))),r.set(t,a)),n(a)===oe))return!1;return i},set(e,t,n,o){var s=r.get(t),c=t in e;if(a&&"length"===t)for(var u=n;u$(oe))),r.set(u+"",d))}void 0===s?(!c||rt(e,t)?.writable)&&(y(s=l((()=>$(void 0))),l((()=>De(n)))),r.set(t,s)):(c=s.v!==oe,y(s,l((()=>De(n)))));var f=Reflect.getOwnPropertyDescriptor(e,t);if(f?.set&&f.set.call(o,n),!c){if(a&&"string"==typeof t){var h=r.get("length"),g=Number(t);Number.isInteger(g)&&g>=h.v&&y(h,g+1)}Er(i)}return!0},ownKeys(e){n(i);var t=Reflect.ownKeys(e).filter((e=>{var t=r.get(e);return void 0===t||t.v!==oe}));for(var[a,o]of r)o.v!==oe&&!(a in e)&&t.push(a);return t},setPrototypeOf(){Yn()}})}function Er(e,t=1){y(e,e.v+t)}function hr(e){var t=2050,r=null!==I&&2&I.f?I:null;return null===V||null!==r&&r.f&fe?t|=fe:V.f|=Ya,{ctx:ae,deps:null,effects:null,equals:Qa,f:t,fn:e,reactions:null,rv:0,v:null,wv:0,parent:r??V}}function $t(e){const t=hr(e);return vi(t),t}function io(e){const t=hr(e);return t.equals=Or,t}function li(e){var t=e.effects;if(null!==t){e.effects=null;for(var r=0;re.wv)return!0}(!a||null!==V&&!qe)&&me(e,le)}return!1}function uo(e,t){for(var r=t;null!==r;){if(r.f&nr)try{return void r.fn(e)}catch{r.f^=nr}r=r.parent}throw tr=!1,e}function Pa(e){return!(e.f&dr||null!==e.parent&&e.parent.f&nr)}function br(e,t,r,a){if(tr){if(null===r&&(tr=!1),Pa(t))throw e}else if(null!==r&&(tr=!0),uo(e,t),Pa(t))throw e}function mi(e,t,r=!0){var a=e.reactions;if(null!==a)for(var i=0;i0)for(d.length=ue+re.length,f=0;f0;){t++>1e3&&ho();var r=Nt,a=r.length;Nt=[];for(var i=0;i{Fe(t)}}function Ao(e){const t=lt(64,e,!0);return(e={})=>new Promise((r=>{e.outro?Sr(t,(()=>{Fe(t),r(void 0)})):(Fe(t),r(void 0))}))}function Gr(e){return lt(4,e,!1)}function Wr(e){return lt(8,e,!0)}function Ce(e,t=[],r=hr){const a=t.map(r);return ki((()=>e(...a.map(n))))}function ki(e,t=0){return lt(24|t,e,!0)}function $r(e,t=!0){return lt(40,e,!0,t)}function _i(e){var t=e.teardown;if(null!==t){const e=Ft,r=I;Sa(!0),Ee(null);try{t.call(null)}finally{Sa(e),Ee(r)}}}function wi(e,t=!1){var r=e.first;for(e.first=e.last=null;null!==r;){var a=r.next;64&r.f?r.parent=null:Fe(r,t),r=a}}function ko(e){for(var t=e.first;null!==t;){var r=t.next;!(32&t.f)&&Fe(t),t=r}}function Fe(e,t=!0){var r=!1;(t||!!(e.f&Nn))&&null!==e.nodes_start&&(Ci(e.nodes_start,e.nodes_end),r=!0),wi(e,t&&!r),ur(e,0),me(e,dr);var a=e.transitions;if(null!==a)for(const e of a)e.stop();_i(e);var i=e.parent;null!==i&&null!==i.first&&Li(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=null}function Ci(e,t){for(;null!==e;){var r=e===t?null:Me(e);e.remove(),e=r}}function Li(e){var t=e.parent,r=e.prev,a=e.next;null!==r&&(r.next=a),null!==a&&(a.prev=r),null!==t&&(t.first===e&&(t.first=a),t.last===e&&(t.last=r))}function Sr(e,t){var r=[];xi(e,r,!0),_o(r,(()=>{Fe(e),t&&t()}))}function _o(e,t){var r=e.length;if(r>0){var a=()=>--r||t();for(var i of e)i.out(a)}else t()}function xi(e,t,r){if(!(e.f&kt)){if(e.f^=kt,null!==e.transitions)for(const a of e.transitions)(a.is_global||r)&&t.push(a);for(var a=e.first;null!==a;){var i=a.next;xi(a,t,!!(!!(a.f&qr)||!!(32&a.f))&&r),a=i}}}function za(e){Ei(e,!0)}function Ei(e,t){if(e.f&kt){e.f^=kt,!(e.f&le)&&(e.f^=le),Mt(e)&&(me(e,je),pr(e));for(var r=e.first;null!==r;){var a=r.next;Ei(r,!!(!!(r.f&qr)||!!(32&r.f))&&t),r=a}if(null!==e.transitions)for(const r of e.transitions)(r.is_global||t)&&r.in()}}const wo=["touchstart","touchmove"];function Co(e){return wo.includes(e)}function Lo(e,t){if(t){const t=document.body;e.autofocus=!0,Hr((()=>{document.activeElement===t&&e.focus()}))}}let Na=!1;function Ti(){Na||(Na=!0,document.addEventListener("reset",(e=>{Promise.resolve().then((()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()}))}),{capture:!0}))}function Ii(e){var t=I,r=V;Ee(null),Oe(null);try{return e()}finally{Ee(t),Oe(r)}}function xo(e,t,r,a=r){e.addEventListener(t,(()=>Ii(r)));const i=e.__on_r;e.__on_r=i?()=>{i(),a(!0)}:()=>a(!0),Ti()}const Vi=new Set,Pr=new Set;function Eo(e,t,r,a={}){function i(e){if(a.capture||Pt.call(t,e),!e.cancelBubble)return Ii((()=>r?.call(this,e)))}return e.startsWith("pointer")||e.startsWith("touch")||"wheel"===e?Hr((()=>{t.addEventListener(e,i,a)})):t.addEventListener(e,i,a),i}function Ne(e,t,r,a,i){var n={capture:a,passive:i},o=Eo(e,t,r,n);(t===document.body||t===window||t===document)&&Ur((()=>{t.removeEventListener(e,o,n)}))}function To(e){for(var t=0;tn||r});var u=I,d=V;Ee(null),Oe(null);try{for(var f,h=[];null!==n;){var g=n.assignedSlot||n.parentNode||n.host||null;try{var v=n["__"+a];if(null!=v&&(!n.disabled||e.target===n))if(Ua(v)){var[p,...b]=v;p.apply(n,[e,...b])}else v.call(n,e)}catch(e){f?h.push(e):f=e}if(e.cancelBubble||g===t||null===g)break;n=g}if(f){for(let e of h)queueMicrotask((()=>{throw e}));throw f}}finally{e.__root=t,delete e.currentTarget,Ee(u),Oe(d)}}}function Zr(e){var t=document.createElement("template");return t.innerHTML=e,t.content}function xe(e,t){var r=V;null===r.nodes_start&&(r.nodes_start=e,r.nodes_end=t)}function ye(e,t){var r,a=!!(1&t),i=!!(2&t),n=!e.startsWith("");return()=>{if(z)return xe(P,null),P;void 0===r&&(r=Zr(n?e:""+e),a||(r=ge(r)));var t=i||di?document.importNode(r,!0):r.cloneNode(!0);a?xe(ge(t),t.lastChild):xe(t,t);return t}}function mr(e,t,r="svg"){var a,i=`<${r}>${!e.startsWith("")?e:""+e}`;return()=>{if(z)return xe(P,null),P;if(!a){var e=Zr(i);a=ge(ge(e))}var t=a.cloneNode(!0);return xe(t,t),t}}function Xt(){if(z)return xe(P,null),P;var e=document.createDocumentFragment(),t=document.createComment(""),r=vr();return e.append(t,r),xe(t,r),e}function M(e,t){if(z)return V.nodes_end=P,void _t();null!==e&&e.before(t)}function Io(e,t){var r=null==t?"":"object"==typeof t?t+"":t;r!==(e.__t??=e.nodeValue)&&(e.__t=r,e.nodeValue=r+"")}function ji(e,t){return Ri(e,t)}function Vo(e,t){jr(),t.intro=t.intro??!1;const r=t.target,a=z,i=P;try{for(var n=ge(r);n&&(8!==n.nodeType||n.data!==Fr);)n=Me(n);if(!n)throw At;mt(!0),He(n),_t();const a=Ri(e,{...t,anchor:n});if(null===P||8!==P.nodeType||P.data!==ri)throw gr(),At;return mt(!1),a}catch(a){if(a===At)return!1===t.recover&&Gn(),jr(),so(r),mt(!1),ji(e,t);throw a}finally{mt(a),He(i)}}const bt=new Map;function Ri(e,{target:t,anchor:r,props:a={},events:i,context:n,intro:o=!0}){jr();var l=new Set,s=e=>{for(var r=0;r{var o=r??t.appendChild(vr());return $r((()=>{n&&(ii({}),ae.c=n);i&&(a.$$events=i),z&&xe(o,null),c=e(o,a)||{},z&&(V.nodes_end=P),n&&ni()})),()=>{for(var e of l){t.removeEventListener(e,Pt);var a=bt.get(e);0==--a?(document.removeEventListener(e,Pt),bt.delete(e)):bt.set(e,a)}Pr.delete(s),o!==r&&o.parentNode?.removeChild(o)}}));return zr.set(c,u),c}let zr=new WeakMap;function jo(e,t){const r=zr.get(e);return r?(zr.delete(e),r(t)):Promise.resolve()}function J(e,t,[r,a]=[0,0]){z&&0===r&&_t();var i=e,n=null,o=null,l=oe,s=!1;const c=(e,t=!0)=>{s=!0,u(t,e)},u=(e,t)=>{if(l===(l=e))return;let s=!1;if(z&&-1!==a){if(0===r){const e=i.data;e===Fr?a=0:e===ti?a=1/0:(a=parseInt(e.substring(1)))!=a&&(a=l?1/0:-1)}!!l===a>r&&(He(i=lo()),mt(!1),s=!0,a=-1)}l?(n?za(n):t&&(n=$r((()=>t(i)))),o&&Sr(o,(()=>{o=null}))):(o?za(o):t&&(o=$r((()=>t(i,[r+1,a])))),n&&Sr(n,(()=>{n=null}))),s&&mt(!0)};ki((()=>{s=!1,t(c),s||u(null,null)}),r>0?qr:0),z&&(i=P)}function tt(e,t,r=!1,a=!1,i=!1){var n=e,o="";Ce((()=>{var e=V;if(o!==(o=t()??"")){if(null!==e.nodes_start&&(Ci(e.nodes_start,e.nodes_end),e.nodes_start=e.nodes_end=null),""!==o){if(z){P.data;for(var i=_t(),l=i;null!==i&&(8!==i.nodeType||""!==i.data);)l=i,i=Me(i);if(null===i)throw gr(),At;return xe(P,l),void(n=He(i))}var s=o+"";r?s=`${s}`:a&&(s=`${s}`);var c=Zr(s);if((r||a)&&(c=ge(c)),xe(ge(c),c.lastChild),r||a)for(;ge(c);)n.before(ge(c));else n.before(c)}}else z&&_t()}))}function Ro(e,t,r,a,i){z&&_t();var n=t.$$slots?.[r],o=!1;!0===n&&(n=t.children,o=!0),void 0===n||n(e,o?()=>a:a)}const Da=[..." \t\n\r\f \v\ufeff"];function $o(e,t,r){var a=""+e;if(r)for(var i in r)if(r[i])a=a?a+" "+i:i;else if(a.length)for(var n=i.length,o=0;(o=a.indexOf(i,o))>=0;){var l=o+n;0!==o&&!Da.includes(a[o-1])||l!==a.length&&!Da.includes(a[l])?o=l:a=(0===o?"":a.substring(0,o))+a.substring(l+1)}return""===a?null:a}function So(e,t,r,a,i,n){var o=e.__className;if(z||o!==r||void 0===o){var l=$o(r,a,n);(!z||l!==e.getAttribute("class"))&&(null==l?e.removeAttribute("class"):e.className=l),e.__className=r}else if(n&&i!==n)for(var s in n){var c=!!n[s];(null==i||c!==!!i[s])&&e.classList.toggle(s,c)}return n}const Po=Symbol("is custom element"),zo=Symbol("is html");function qa(e){if(z){var t=!1,r=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;T(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var a=e.checked;T(e,"checked",null),e.checked=a}}};e.__on_r=r,Hn(r),Ti()}}function No(e,t){var r=$i(e);r.value===(r.value=t??void 0)||e.value===t&&(0!==t||"PROGRESS"!==e.nodeName)||(e.value=t??"")}function T(e,t,r,a){var i=$i(e);z&&(i[t]=e.getAttribute(t),"src"===t||"srcset"===t||"href"===t&&"LINK"===e.nodeName)||i[t]!==(i[t]=r)&&("loading"===t&&(e[Dn]=r),null==r?e.removeAttribute(t):"string"!=typeof r&&Do(e).includes(t)?e[t]=r:e.setAttribute(t,r))}function $i(e){return e.__attributes??={[Po]:e.nodeName.includes("-"),[zo]:e.namespaceURI===ao}}var Ha=new Map;function Do(e){var t=Ha.get(e.nodeName);if(t)return t;Ha.set(e.nodeName,t=[]);for(var r,a=e,i=Element.prototype;i!==a;){for(var n in r=Rn(a))r[n].set&&t.push(n);a=Ga(a)}return t}function qo(e,t,r=t){xo(e,"change",(t=>{var a=t?e.defaultChecked:e.checked;r(a)})),(z&&e.defaultChecked!==e.checked||null==it(t))&&r(e.checked),Wr((()=>{var r=t();e.checked=!!r}))}function Oa(e,t){return e===t||e?.[zt]===t}function Qt(e={},t,r,a){return Gr((()=>{var a,i;return Wr((()=>{a=i,i=[],it((()=>{e!==r(...i)&&(t(e,...i),a&&Oa(r(...a),e)&&t(null,...a))}))})),()=>{Hr((()=>{i&&Oa(r(...i),e)&&t(null,...i)}))}})),e}let Si,er=!1,Nr=Symbol();function Ho(e,t,r){const a=r[t]??={store:null,source:Mr(void 0),unsubscribe:yt};if(a.store!==e&&!(Nr in r))if(a.unsubscribe(),a.store=e??null,null==e)a.source.v=void 0,a.unsubscribe=yt;else{var i=!0;a.unsubscribe=zi(e,(e=>{i?a.source.v=e:y(a.source,e)})),i=!1}return e&&Nr in r?ar(e):n(a.source)}function Oo(){const e={};return[e,function(){Ur((()=>{for(var t in e)e[t].unsubscribe();Dt(e,Nr,{enumerable:!1,value:!0})}))}]}function Fo(e){var t=er;try{return er=!1,[e(),er]}finally{er=t}}function Fa(e){return e.ctx?.d??!1}function w(e,t,r,a){var i,o=!!(1&r),l=!!(8&r),s=!!(16&r),c=!1;l?[i,c]=Fo((()=>e[t])):i=e[t];var u,d=zt in e||Ka in e,f=l&&(rt(e,t)?.set??(d&&t in e&&(r=>e[t]=r)))||void 0,h=a,g=!0,v=!1,p=()=>(v=!0,g&&(g=!1,h=s?it(a):a),h);if(void 0===i&&void 0!==a&&(f&&Wn(),i=p(),f&&f(i)),u=()=>{var r=e[t];return void 0===r?p():(g=!0,v=!1,r)},!(4&r))return u;if(f){var b=e.$$legacy;return function(e,t){return arguments.length>0?((!t||b||c)&&f(t?u():e),e):u()}}var m=!1,A=Mr(i),k=hr((()=>{var e=u(),t=n(A);return m?(m=!1,t):A.v=e}));return l&&n(k),o||(k.equals=Or),function(e,t){if(arguments.length>0){const r=t?n(k):l?De(e):e;if(!k.equals(r)){if(m=!0,y(A,r),v&&void 0!==h&&(h=r),Fa(k))return e;it((()=>n(k)))}return e}return Fa(k)?k.v:n(k)}}function Mo(e){return new Bo(e)}class Bo{#e;#t;constructor(e){var t=new Map,r=(e,r)=>{var a=Mr(r);return t.set(e,a),a};const a=new Proxy({...e.props||{},$$events:{}},{get:(e,a)=>n(t.get(a)??r(a,Reflect.get(e,a))),has:(e,a)=>a===Ka||(n(t.get(a)??r(a,Reflect.get(e,a))),Reflect.has(e,a)),set:(e,a,i)=>(y(t.get(a)??r(a,i),i),Reflect.set(e,a,i))});this.#t=(e.hydrate?Vo:ji)(e.component,{target:e.target,anchor:e.anchor,props:a,context:e.context,intro:e.intro??!1,recover:e.recover}),(!e?.props?.$$host||!1===e.sync)&&_(),this.#e=a.$$events;for(const e of Object.keys(this.#t))"$set"===e||"$destroy"===e||"$on"===e||Dt(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(a,e)},this.#t.$destroy=()=>{jo(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];const r=(...e)=>t.call(this,...e);return this.#e[e].push(r),()=>{this.#e[e]=this.#e[e].filter((e=>e!==r))}}$destroy(){this.#t.$destroy()}}function rr(e,t,r,a){const i=r[e]?.type;if(t="Boolean"===i&&"boolean"!=typeof t?null!=t:t,!a||!r[e])return t;if("toAttribute"===a)switch(i){case"Object":case"Array":return null==t?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":default:return t;case"Number":return null!=t?+t:t}}function Uo(e){const t={};return e.childNodes.forEach((e=>{t[e.slot||"default"]=!0})),t}function Go(e,t,r,a,i,n){let o=class extends Si{constructor(){super(e,r,i),this.$$p_d=t}static get observedAttributes(){return ir(t).map((e=>(t[e].attribute||e).toLowerCase()))}};return ir(t).forEach((e=>{Dt(o.prototype,e,{get(){return this.$$c&&e in this.$$c?this.$$c[e]:this.$$d[e]},set(r){r=rr(e,r,t),this.$$d[e]=r;var a=this.$$c;if(a){var i=rt(a,e)?.get;i?a[e]=r:a.$set({[e]:r})}}})})),a.forEach((e=>{Dt(o.prototype,e,{get(){return this.$$c?.[e]}})})),e.element=o,o}function Pi(e){null===ae&&ai(),Rr((()=>{const t=it(e);if("function"==typeof t)return t}))}function Wo(e){null===ae&&ai(),Pi((()=>()=>it(e)))}function zi(e,t,r){if(null==e)return t(void 0),yt;const a=it((()=>e.subscribe(t,r)));return a.unsubscribe?()=>a.unsubscribe():a}"function"==typeof HTMLElement&&(Si=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(e,t,r){super(),this.$$ctor=e,this.$$s=t,r&&this.attachShadow({mode:"open"})}addEventListener(e,t,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const r=this.$$c.$on(e,t);this.$$l_u.set(t,r)}super.addEventListener(e,t,r)}removeEventListener(e,t,r){if(super.removeEventListener(e,t,r),this.$$c){const e=this.$$l_u.get(t);e&&(e(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(e){return t=>{const r=document.createElement("slot");"default"!==e&&(r.name=e),M(t,r)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},r=Uo(this);for(const a of this.$$s)a in r&&("default"!==a||this.$$d.children?t[a]=e(a):(this.$$d.children=e(a),t.default=!0));for(const e of this.attributes){const t=this.$$g_p(e.name);t in this.$$d||(this.$$d[t]=rr(t,e.value,this.$$p_d,"toProp"))}for(const e in this.$$p_d)!(e in this.$$d)&&void 0!==this[e]&&(this.$$d[e]=this[e],delete this[e]);this.$$c=Mo({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=yo((()=>{Wr((()=>{this.$$r=!0;for(const e of ir(this.$$c)){if(!this.$$p_d[e]?.reflect)continue;this.$$d[e]=this.$$c[e];const t=rr(e,this.$$d[e],this.$$p_d,"toAttribute");null==t?this.removeAttribute(this.$$p_d[e].attribute||e):this.setAttribute(this.$$p_d[e].attribute||e,t)}this.$$r=!1}))}));for(const e in this.$$l)for(const t of this.$$l[e]){const r=this.$$c.$on(e,t);this.$$l_u.set(t,r)}this.$$l={}}}attributeChangedCallback(e,t,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=rr(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then((()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)}))}$$g_p(e){return ir(this.$$p_d).find((t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e))||e}});const pt=[];function Zo(e,t=yt){let r=null;const a=new Set;function i(t){if(ei(e,t)&&(e=t,r)){const t=!pt.length;for(const t of a)t[1](),pt.push(t,e);if(t){for(let e=0;e{a.delete(s),0===a.size&&r&&(r(),r=null)}}}}function ar(e){let t;return zi(e,(e=>t=e))(),t}globalThis.altchaPlugins=globalThis.altchaPlugins||[],globalThis.altchaI18n=globalThis.altchaI18n||{get:e=>ar(globalThis.altchaI18n.store)[e],set:(e,t)=>{Object.assign(ar(globalThis.altchaI18n.store),{[e]:t}),globalThis.altchaI18n.store.set(ar(globalThis.altchaI18n.store))},store:Zo({})};const Yo={ariaLinkLabel:"زور Altcha.org",enterCode:"أدخل الرمز",enterCodeAria:"أدخل الرمز الذي تسمعه. اضغط على المسافة لتشغيل الصوت.",error:"فشل التحقق. حاول مرة أخرى لاحقاً.",expired:"انتهت صلاحية التحقق. حاول مرة أخرى.",verificationRequired:"مطلوب التحقق!",footer:'محمي بواسطة ALTCHA',getAudioChallenge:"احصل على تحدي صوتي",label:"أنا لست روبوتاً",loading:"جارٍ التحميل...",reload:"إعادة تحميل",verify:"تحقق",verified:"تم التحقق",verifying:"جارٍ التحقق...",waitAlert:"جارٍ التحقق... يرجى الانتظار."};globalThis.altchaI18n.set("ar",Yo);const Ko={ariaLinkLabel:"Посетете Altcha.org",enterCode:"Въведете код",enterCodeAria:"Въведете кода, който чувате. Натиснете Space за възпроизвеждане на аудио.",error:"Проверката неуспешна. Моля, опитайте по-късно.",expired:"Времето за проверка изтече. Моля, опитайте отново.",verificationRequired:"Изисква се проверка!",footer:'Защитено от ALTCHA',getAudioChallenge:"Аудио проверка",label:"Аз не съм робот",loading:"Зареждане...",reload:"Презареди",verify:"Провери",verified:"Проверено",verifying:"Проверява се...",waitAlert:"Проверката е в процес... моля изчакайте."};globalThis.altchaI18n.set("bg",Ko);const Jo={ariaLinkLabel:"Наведаць Altcha.org",enterCode:"Увядзіце код",enterCodeAria:"Увядзіце код, які вы чуеце. Націсніце прабел, каб прайграць аўдыё.",error:"Праверка не прайшла. Паспрабуйце пазней.",expired:"Тэрмін праверкі скончыўся. Паспрабуйце зноў.",footer:'Абаронена ALTCHA',getAudioChallenge:"Атрымаць аўдыё выклік",label:"Я не робат",loading:"Загрузка...",reload:"Перазагрузіць",verify:"Праверыць",verificationRequired:"Патрабуецца праверка!",verified:"Праверана",verifying:"Правяраем...",waitAlert:"Праверка... калі ласка, пачакайце."};globalThis.altchaI18n.set("be",Jo);const Xo={ariaLinkLabel:"Posjetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",error:"Verifikacija nije uspjela. Pokušajte ponovo kasnije.",expired:"Verifikacija je istekla. Pokušajte ponovo.",footer:'Zaštićeno od strane ALTCHA',getAudioChallenge:"Dohvatite audio izazov",label:"Nisam robot",loading:"Učitavanje...",reload:"Ponovno učitaj",verify:"Verifikuj",verificationRequired:"Verifikacija je obavezna!",verified:"Verifikovano",verifying:"Verifikacija u toku...",waitAlert:"Verifikacija u toku... molimo vas da sačekate."};globalThis.altchaI18n.set("bs",Xo);const Qo={ariaLinkLabel:"Visita Altcha.org",enterCode:"Introdueix el codi",enterCodeAria:"Introdueix el codi que escoltes. Prem Espai per reproduir l’àudio.",error:"Verificació fallida. Torna-ho a provar més tard.",expired:"Verificació expirada. Torna-ho a provar.",footer:'Protegit per ALTCHA',getAudioChallenge:"Obtenir un desafiament d’àudio",label:"No sóc un robot",loading:"Carregant...",reload:"Torna a carregar",verify:"Verificar",verificationRequired:"Es requereix verificació!",verified:"Verificat",verifying:"Verificant...",waitAlert:"Verificant... si us plau, espera."};globalThis.altchaI18n.set("ca",Qo);const el={ariaLinkLabel:"Navštivte Altcha.org",enterCode:"Zadejte kód",enterCodeAria:"Zadejte kód, který slyšíte. Stisknutím mezerníku přehrajete zvuk.",error:"Ověření selhalo. Zkuste to prosím později.",expired:"Ověření vypršelo. Zkuste to prosím znovu.",verificationRequired:"Vyžaduje se ověření!",footer:'Chráněno pomocí ALTCHA',getAudioChallenge:"Získat audio výzvu",label:"Nejsem robot",loading:"Načítání...",reload:"Znovu načíst",verify:"Ověřit",verified:"Ověřeno",verifying:"Ověřování...",waitAlert:"Probíhá ověření... prosím počkejte."};globalThis.altchaI18n.set("cs",el);const tl={ariaLinkLabel:"Besøg Altcha.org",enterCode:"Indtast kode",enterCodeAria:"Indtast den kode, du hører. Tryk på mellemrumstasten for at afspille lyd.",error:"Verificering mislykkedes. Prøv venligst igen senere.",expired:"Verificering udløbet. Prøv venligst igen.",verificationRequired:"Verificering kræves!",footer:'Beskyttet af ALTCHA',getAudioChallenge:"Hent lydudfordring",label:"Jeg er ikke en robot",loading:"Indlæser...",reload:"Genindlæs",verify:"Verificer",verified:"Verificeret",verifying:"Verificerer...",waitAlert:"Verificerer... vent venligst."};globalThis.altchaI18n.set("da",tl);const rl={ariaLinkLabel:"Besuche Altcha.org",enterCode:"Code eingeben",enterCodeAria:"Geben Sie den Code ein, den Sie hören. Drücken Sie die Leertaste, um die Audio abzuspielen.",error:"Überprüfung fehlgeschlagen. Bitte versuchen Sie es später erneut.",expired:"Überprüfung abgelaufen. Bitte versuchen Sie es erneut.",verificationRequired:"Überprüfung erforderlich!",footer:'Geschützt durch ALTCHA',getAudioChallenge:"Audio-Herausforderung anfordern",label:"Ich bin kein Roboter",loading:"Lade...",reload:"Neu laden",verify:"Überprüfen",verified:"Überprüft",verifying:"Wird überprüft...",waitAlert:"Überprüfung läuft... bitte warten."};globalThis.altchaI18n.set("de",rl);const al={ariaLinkLabel:"Επισκεφθείτε το Altcha.org",enterCode:"Εισαγάγετε κωδικό",enterCodeAria:"Εισαγάγετε τον κωδικό που ακούτε. Πατήστε Space για να παίξετε τον ήχο.",error:"Η επαλήθευση απέτυχε. Δοκιμάστε ξανά αργότερα.",expired:"Η επαλήθευση έληξε. Δοκιμάστε ξανά.",verificationRequired:"Απαιτείται έλεγχος!",footer:'Προστατεύεται από το ALTCHA',getAudioChallenge:"Λήψη ηχητικής δοκιμασίας",label:"Δεν είμαι ρομπότ",loading:"Φόρτωση...",reload:"Επαναφόρτωση",verify:"Επαλήθευση",verified:"Επαληθεύτηκε",verifying:"Γίνεται επαλήθευση...",waitAlert:"Γίνεται επαλήθευση... παρακαλώ περιμένετε."};globalThis.altchaI18n.set("el",al);const il={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Introduce el código",enterCodeAria:"Introduce el código que escuchas. Pulsa Espacio para reproducir el audio.",error:"Falló la verificación. Por favor intente nuevamente más tarde.",expired:"Verificación expirada. Por favor intente nuevamente.",verificationRequired:"¡Verificación requerida!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obtener un desafío de audio",label:"No soy un robot",loading:"Cargando...",reload:"Recargar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor espere."};globalThis.altchaI18n.set("es-es",il);const nl={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Ingresa el código",enterCodeAria:"Ingresa el código que escuchas. Presiona Espacio para reproducir el audio.",error:"Falló la verificación. Por favor vuelve a intentarlo más tarde.",expired:"La verificación expiró. Por favor inténtalo de nuevo.",verificationRequired:"¡Verificación requerida!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obtener un reto de audio",label:"No soy un robot",loading:"Cargando...",reload:"Volver a cargar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor espera."};globalThis.altchaI18n.set("es-419",nl);const ol={ariaLinkLabel:"Külasta Altcha.org",enterCode:"Sisesta kood",enterCodeAria:"Sisestage kuuldu kood. Vajutage tühikut, et esitada heli.",error:"Kinnitamine ebaõnnestus. Proovi hiljem uuesti.",expired:"Kinnitamine aegus. Proovi uuesti.",verificationRequired:"Kontroll on vajalik!",footer:'Kaitstud ALTCHA poolt',getAudioChallenge:"Hangi heliülesanne",label:"Ma ei ole robot",loading:"Laadimine...",reload:"Laadi uuesti",verify:"Kinnita",verified:"Kinnitatud",verifying:"Kinnitamine...",waitAlert:"Kinnitamine... palun oota."};globalThis.altchaI18n.set("et",ol);const ll={ariaLinkLabel:"Bisitatu Altcha.org",enterCode:"Sartu kodea",enterCodeAria:"Sartu entzun duzun kodea. Sakatu Espazioa audioa erreproduzitzeko.",error:"Egiaztatzeak huts egin du. Saiatu berriro geroago.",expired:"Egiaztatzea iraungi da. Saiatu berriro.",verificationRequired:"Egiaztatzea beharrezkoa da!",footer:'ALTCHAk babestuta',getAudioChallenge:"Jaso audio-erronka bat",label:"Ez naiz robot bat",loading:"Kargatzen...",reload:"Birkargatu",verify:"Egiaztatu",verified:"Egiaztatuta",verifying:"Egiaztatzen...",waitAlert:"Egiaztatzen... itxaron mesedez."};globalThis.altchaI18n.set("eu",ll);const sl={ariaLinkLabel:"بازدید از Altcha.org",enterCode:"کد را وارد کنید",enterCodeAria:"کدی که می‌شنوید را وارد کنید. برای پخش صدا Space را فشار دهید.",error:"احراز هویت ناموفق بود. بعداً دوباره تلاش کنید.",expired:"احراز هویت منقضی شد. دوباره تلاش کنید.",footer:'محافظت شده توسط ALTCHA',getAudioChallenge:"دریافت چالش صوتی",label:"من ربات نیستم",loading:"در حال بارگذاری...",reload:"بارگذاری مجدد",verify:"تایید",verificationRequired:"احراز هویت لازم است!",verified:"تایید شد",verifying:"در حال تایید...",waitAlert:"در حال تایید... لطفا منتظر بمانید."};globalThis.altchaI18n.set("fa",sl);const cl={ariaLinkLabel:"Besicht Altcha.org",enterCode:"Code aginn",enterCodeAria:"Gitt de Code an deen dir héiert. Dréckt op d'Weltraumtast fir Audio ofzespillen.",error:"Verifikatioun ass feelgeschloen. Probéiert méi spéit nach emol.",expired:"Verifikatioun ofgelaf. Probéiert nach emol.",footer:'Geschützt vun ALTCHA',getAudioChallenge:"Kritt eng Audio-Herausfuerderung",label:"Ech sinn keen Robot",loading:"Lueden...",reload:"Nei lueden",verify:"Verifizéieren",verificationRequired:"Verifikatioun néideg!",verified:"Verifizéiert",verifying:"Verifizéieren...",waitAlert:"Verifizéieren... waart wgl."};globalThis.altchaI18n.set("lb",cl);const ul={ariaLinkLabel:"Vieraile sivulla Altcha.org",enterCode:"Syötä koodi",enterCodeAria:"Kirjoita kuulemasi koodi. Paina välilyöntiä toistaaksesi äänen.",error:"Varmennus epäonnistui. Yritä myöhemmin uudelleen.",expired:"Varmennus vanhentui. Yritä uudelleen.",verificationRequired:"Vahvistus vaaditaan!",footer:'Suojattu ALTCHA:lla',getAudioChallenge:"Hae äänitehtävä",label:"En ole robotti",loading:"Ladataan...",reload:"Lataa uudelleen",verify:"Vahvista",verified:"Vahvistettu",verifying:"Vahvistetaan...",waitAlert:"Vahvistetaan... odota hetki."};globalThis.altchaI18n.set("fi",ul);const fl={ariaLinkLabel:"Visitez Altcha.org",enterCode:"Entrez le code",enterCodeAria:"Entrez le code que vous entendez. Appuyez sur la barre d'espace pour écouter l'audio.",error:"Échec de la vérification. Réessayez plus tard.",expired:"La vérification a expiré. Réessayez.",verificationRequired:"Vérification requise !",footer:'Protégé par ALTCHA',getAudioChallenge:"Obtenir un défi audio",label:"Pas un robot",loading:"Chargement...",reload:"Recharger",verify:"Vérifier",verified:"Vérifié",verifying:"Vérification en cours...",waitAlert:"Vérification en cours... veuillez patienter."};globalThis.altchaI18n.set("fr-ca",fl);const dl={ariaLinkLabel:"Visitez Altcha.org",enterCode:"Entrez le code",enterCodeAria:"Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.",error:"Échec de la vérification. Essayez à nouveau plus tard.",expired:"La vérification a expiré. Essayez à nouveau.",verificationRequired:"Vérification requise !",footer:'Protégé par ALTCHA',getAudioChallenge:"Obtenir un défi audio",label:"Pas un robot",loading:"Chargement...",reload:"Recharger",verify:"Vérifier",verified:"Vérifié",verifying:"Vérification en cours...",waitAlert:"Vérification en cours... veuillez patienter."};globalThis.altchaI18n.set("fr-fr",dl);const hl={ariaLinkLabel:"Tabhair cuairt ar Altcha.org",enterCode:"Iontráil cód",enterCodeAria:"Cuir isteach an cód a chloiseann tú. Brúigh Spás chun an fuaime a sheinm.",error:"Theip ar an bhfíorú. Bain triail eile as níos déanaí.",expired:"Tá an fíorú as feidhm. Bain triail eile as.",verificationRequired:"Fíorú riachtanach!",footer:'Cosanta ag ALTCHA',getAudioChallenge:"Faigh dúshlán fuaime",label:"Níl mé i mo róbat",loading:"Á luchtú...",reload:"Athluchtaigh",verify:"Fíoraigh",verified:"Fíoraithe",verifying:"Fíorú ar siúl...",waitAlert:"Fíorú ar siúl... fan go fóill."};globalThis.altchaI18n.set("ga",hl);const gl={ariaLinkLabel:"Posjetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite razmaknicu za reprodukciju zvuka.",error:"Provjera nije uspjela. Molimo pokušajte kasnije.",expired:"Provjera je istekla. Molimo pokušajte ponovo.",verificationRequired:"Potrebna je provjera!",footer:'Zaštićeno od strane ALTCHA',getAudioChallenge:"Audio provjera",label:"Ja nisam robot",loading:"Učitavanje...",reload:"Ponovno učitaj",verify:"Provjeri",verified:"Provjereno",verifying:"Provjeravanje...",waitAlert:"Provjera je u tijeku... molimo pričekajte."};globalThis.altchaI18n.set("hr",gl);const vl={ariaLinkLabel:"Látogass el az Altcha.org oldalra",enterCode:"Írja be a kódot",enterCodeAria:"Írja be a hallott kódot. Nyomja meg a Szóköz billentyűt a hang lejátszásához.",error:"A hitelesítés nem sikerült. Próbáld meg később újra.",expired:"A hitelesítés lejárt. Próbáld újra.",verificationRequired:"Ellenőrzés szükséges!",footer:'Védve a következő által: ALTCHA',getAudioChallenge:"Hangalapú kihívás kérése",label:"Nem vagyok robot",loading:"Betöltés...",reload:"Újratöltés",verify:"Ellenőrzés",verified:"Ellenőrizve",verifying:"Ellenőrzés folyamatban...",waitAlert:"Ellenőrzés folyamatban... kérlek várj."};globalThis.altchaI18n.set("hu",vl);const bl={ariaLinkLabel:"Heimsækja Altcha.org",enterCode:"Sláðu inn kóða",enterCodeAria:"Sláðu inn kóðann sem þú heyrir. Ýttu á Space til að spila hljóðið.",error:"Staðfesting mistókst. Reyndu aftur síðar.",expired:"Staðfesting er útrunnin. Reyndu aftur.",footer:'Verndað af ALTCHA',getAudioChallenge:"Fá hljóðáskorun",label:"Ég er ekki robot",loading:"Hleður...",reload:"Hleð aftur",verify:"Staðfesta",verificationRequired:"Staðfesting er nauðsynleg!",verified:"Staðfest",verifying:"Að staðfesta...",waitAlert:"Að staðfesta... vinsamlegast bíða."};globalThis.altchaI18n.set("is",bl);const pl={ariaLinkLabel:"Visita Altcha.org",enterCode:"Inserisci il codice",enterCodeAria:"Inserisci il codice che senti. Premi Spazio per riprodurre l'audio.",error:"Verifica fallita. Riprova più tardi.",expired:"Verifica scaduta. Riprova.",verificationRequired:"Verifica richiesta!",footer:'Protetto da ALTCHA',getAudioChallenge:"Ottieni una sfida audio",label:"Non sono un robot",loading:"Caricamento...",reload:"Ricarica",verify:"Verifica",verified:"Verificato",verifying:"Verifica in corso...",waitAlert:"Verifica in corso... attendere."};globalThis.altchaI18n.set("it",pl);const ml={ariaLinkLabel:"Apsilankykite Altcha.org",enterCode:"Įveskite kodą",enterCodeAria:"Įveskite girdimą kodą. Paspauskite tarpo klavišą, kad grotumėte garso įrašą.",error:"Patvirtinimas nepavyko. Bandykite vėliau.",expired:"Patvirtinimo laikas baigėsi. Bandykite dar kartą.",verificationRequired:"Reikalingas patvirtinimas!",footer:'Apsaugota ALTCHA',getAudioChallenge:"Gauti garso užduotį",label:"Aš nesu robotas",loading:"Įkeliama...",reload:"Įkelti iš naujo",verify:"Patvirtinti",verified:"Patvirtinta",verifying:"Tikrinama...",waitAlert:"Tikrinama... prašome palaukti."};globalThis.altchaI18n.set("lt",ml);const yl={ariaLinkLabel:"Apmeklējiet Altcha.org",enterCode:"Ievadiet kodu",enterCodeAria:"Ievadiet dzirdamo kodu. Nospiediet atstarpes taustiņu, lai atskaņotu audio.",error:"Verifikācija neizdevās. Mēģiniet vēlāk vēlreiz.",expired:"Verifikācijas laiks ir beidzies. Mēģiniet vēlreiz.",verificationRequired:"Nepieciešama verifikācija!",footer:'Aizsargāts ar ALTCHA',getAudioChallenge:"Saņemt audio izaicinājumu",label:"Es neesmu robots",loading:"Notiek ielāde...",reload:"Pārlādēt",verify:"Verificēt",verified:"Verificēts",verifying:"Notiek verifikācija...",waitAlert:"Notiek verifikācija... lūdzu, uzgaidiet."};globalThis.altchaI18n.set("lv",yl);const Al={ariaLinkLabel:"Żur Altcha.org",enterCode:"Idħol il-kodiċi",enterCodeAria:"Idħol il-kodiċi li tisma'. Agħfas Spazju biex tindaqq l-awdjo.",error:"Il-verifika falliet. Erġa’ pprova aktar tard.",expired:"Il-verifika skadiet. Erġa’ pprova.",verificationRequired:"Verifika meħtieġa!",footer:'Protett minn ALTCHA',getAudioChallenge:"Ikseb sfida bl-awdjo",label:"M’inix robot",loading:"Qed jitgħabba...",reload:"Ittella’ mill-ġdid",verify:"Ivverifika",verified:"Ivverifikat",verifying:"Verifika għaddejja...",waitAlert:"Verifika għaddejja... stenna ftit."};globalThis.altchaI18n.set("mt",Al);const Ni={ariaLinkLabel:"Besøk Altcha.org",enterCode:"Skriv inn kode",enterCodeAria:"Skriv inn koden du hører. Trykk på Space for å spille av lyden.",error:"Verifisering mislyktes. Prøv igjen senere.",expired:"Verifiseringen utløp. Prøv igjen.",footer:'Beskyttet av ALTCHA',getAudioChallenge:"Få en lydutfordring",label:"Jeg er ikke en robot",loading:"Laster...",reload:"Last på nytt",verify:"Verifiser",verificationRequired:"Verifisering kreves!",verified:"Verifisert",verifying:"Verifiserer...",waitAlert:"Verifiserer... vennligst vent."};globalThis.altchaI18n.set("nb",Ni),globalThis.altchaI18n.set("no",Ni);const kl={ariaLinkLabel:"Bezoek Altcha.org",enterCode:"Voer code in",enterCodeAria:"Voer de code in die je hoort. Druk op Spatie om de audio af te spelen.",error:"Verificatie mislukt. Probeer het later opnieuw.",expired:"Verificatie verlopen. Probeer het opnieuw.",verificationRequired:"Verificatie vereist!",footer:'Beschermd door ALTCHA',getAudioChallenge:"Audio-uitdaging ontvangen",label:"Ik ben geen robot",loading:"Laden...",reload:"Herladen",verify:"Verifiëren",verified:"Geverifieerd",verifying:"Bezig met verifiëren...",waitAlert:"Bezig met verifiëren... even geduld a.u.b."};globalThis.altchaI18n.set("nl",kl);const _l={ariaLinkLabel:"Odwiedź Altcha.org",enterCode:"Wprowadź kod",enterCodeAria:"Wpisz kod, który słyszysz. Naciśnij Spację, aby odtworzyć dźwięk.",error:"Weryfikacja nie powiodła się. Spróbuj ponownie później.",expired:"Weryfikacja wygasła. Spróbuj ponownie.",verificationRequired:"Wymagana weryfikacja!",footer:'Chronione przez ALTCHA',getAudioChallenge:"Pobierz zadanie dźwiękowe",label:"Nie jestem robotem",loading:"Ładowanie...",reload:"Odśwież",verify:"Zweryfikuj",verified:"Zweryfikowano",verifying:"Weryfikacja...",waitAlert:"Trwa weryfikacja... proszę czekać."};globalThis.altchaI18n.set("pl",_l);const wl={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Introduza o código",enterCodeAria:"Introduza o código que ouve. Prima Espaço para reproduzir o áudio.",error:"A verificação falhou. Por favor, tente novamente mais tarde.",expired:"Verificação expirada. Por favor, tente novamente.",verificationRequired:"Verificação necessária!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obter desafio de áudio",label:"Não sou um robô",loading:"A carregar...",reload:"Recarregar",verify:"Verificar",verified:"Verificado",verifying:"A verificar...",waitAlert:"A verificar... por favor aguarde."};globalThis.altchaI18n.set("pt-pt",wl);const Cl={ariaLinkLabel:"Visitar Altcha.org",enterCode:"Digite o código",enterCodeAria:"Digite o código que você ouve. Pressione Espaço para reproduzir o áudio.",error:"Falha na verificação. Por favor, tente novamente mais tarde.",expired:"Verificação expirada. Por favor, tente novamente.",verificationRequired:"Verificação necessária!",footer:'Protegido por ALTCHA',getAudioChallenge:"Obter desafio de áudio",label:"Eu não sou um robô",loading:"Carregando...",reload:"Recarregar",verify:"Verificar",verified:"Verificado",verifying:"Verificando...",waitAlert:"Verificando... por favor aguarde."};globalThis.altchaI18n.set("pt-br",Cl);const Ll={ariaLinkLabel:"Vizitează Altcha.org",enterCode:"Introduceți codul",enterCodeAria:"Introduceți codul pe care îl auziți. Apăsați Spațiu pentru a reda audio.",error:"Verificarea a eșuat. Încearcă din nou mai târziu.",expired:"Verificarea a expirat. Încearcă din nou.",verificationRequired:"Verificare necesară!",footer:'Protejat de ALTCHA',getAudioChallenge:"Obține o provocare audio",label:"Nu sunt un robot",loading:"Se încarcă...",reload:"Reîncarcă",verify:"Verifică",verified:"Verificat",verifying:"Se verifică...",waitAlert:"Se verifică... te rugăm să aștepți."};globalThis.altchaI18n.set("ro",Ll);const xl={ariaLinkLabel:"Перейти на Altcha.org",enterCode:"Введите код",enterCodeAria:"Введите код, который слышите. Нажмите пробел для воспроизведения аудио.",error:"Ошибка верификации. Попробуйте позже.",expired:"Срок действия верификации истек. Попробуйте снова.",verificationRequired:"Требуется проверка!",footer:'Защищено ALTCHA',getAudioChallenge:"Получить аудио задачу",label:"Я не робот",loading:"Загрузка...",reload:"Перезагрузить",verify:"Проверить",verified:"Проверено",verifying:"Идет проверка...",waitAlert:"Идет проверка... Пожалуйста, подождите."};globalThis.altchaI18n.set("ru",xl);const El={ariaLinkLabel:"Navštívte Altcha.org",enterCode:"Zadajte kód",enterCodeAria:"Zadajte kód, ktorý počujete. Stlačením medzerníka prehráte zvuk.",error:"Verifikácia zlyhala. Skúste to znova neskôr.",expired:"Verifikácia vypršala. Skúste to znova.",verificationRequired:"Vyžaduje sa overenie!",footer:'Chránené ALTCHA',getAudioChallenge:"Získať audio výzvu",label:"Nie som robot",loading:"Načítava sa...",reload:"Obnoviť",verify:"Verifikovať",verified:"Verifikované",verifying:"Prebieha verifikácia...",waitAlert:"Prebieha verifikácia... prosím čakajte."};globalThis.altchaI18n.set("sk",El);const Tl={ariaLinkLabel:"Obiščite Altcha.org",enterCode:"Vnesite kodo",enterCodeAria:"Vnesite kodo, ki jo slišite. Pritisnite preslednico za predvajanje zvoka.",error:"Preverjanje ni uspelo. Poskusite znova kasneje.",expired:"Preverjanje je poteklo. Poskusite znova.",verificationRequired:"Potrebna je preveritev!",footer:'Zaščiteno z ALTCHA',getAudioChallenge:"Pridobite zvočni izziv",label:"Nisem robot",loading:"Nalagam...",reload:"Ponovno naloži",verify:"Preveri",verified:"Preverjeno",verifying:"Preverjanje...",waitAlert:"Preverjanje... prosim počakajte."};globalThis.altchaI18n.set("sl",Tl);const Il={ariaLinkLabel:"Vizitoni Altcha.org",enterCode:"Fut kodin",enterCodeAria:"Fut kodin që dëgjon. Shtypni Hapësirë për të luajtur audio.",error:"Verifikimi dështoi. Provoni përsëri më vonë.",expired:"Verifikimi ka skaduar. Provoni përsëri.",footer:'I mbrojtur nga ALTCHA',getAudioChallenge:"Merr një sfidë audio",label:"Unë nuk jam një robot",loading:"Duke u ngarkuar...",reload:"Ringarko",verify:"Verifiko",verificationRequired:"Kërkohet verifikimi!",verified:"I verifikuar",verifying:"Duke verifikuar...",waitAlert:"Duke verifikuar... ju lutem prisni."};globalThis.altchaI18n.set("sq",Il);const Vl={ariaLinkLabel:"Posetite Altcha.org",enterCode:"Unesite kod",enterCodeAria:"Unesite kod koji čujete. Pritisnite Space da biste pustili zvuk.",error:"Verifikacija nije uspela. Pokušajte ponovo kasnije.",expired:"Verifikacija je istekla. Pokušajte ponovo.",footer:'Zaštićeno od strane ALTCHA',getAudioChallenge:"Dohvatite audio izazov",label:"Nisam robot",loading:"Učitavanje...",reload:"Ponovo učitaj",verify:"Verifikuj",verificationRequired:"Verifikacija je obavezna!",verified:"Verifikovano",verifying:"Verifikacija u toku...",waitAlert:"Verifikacija u toku... molimo vas da sačekate."};globalThis.altchaI18n.set("sr",Vl);const jl={ariaLinkLabel:"Besök Altcha.org",enterCode:"Ange kod",enterCodeAria:"Ange koden du hör. Tryck på mellanslag för att spela upp ljudet.",error:"Verifiering misslyckades. Försök igen senare.",expired:"Verifieringen har gått ut. Försök igen.",verificationRequired:"Verifiering krävs!",footer:'Skyddad av ALTCHA',getAudioChallenge:"Få ljudutmaning",label:"Jag är inte en robot",loading:"Laddar...",reload:"Ladda om",verify:"Verifiera",verified:"Verifierad",verifying:"Verifierar...",waitAlert:"Verifierar... vänligen vänta."};globalThis.altchaI18n.set("sv",jl);const Rl={ariaLinkLabel:"Altcha.org'yu ziyaret edin",enterCode:"Kodu girin",enterCodeAria:"Duyduğunuz kodu girin. Ses dosyasını oynatmak için Boşluk tuşuna basın.",error:"Doğrulama başarısız oldu. Lütfen daha sonra tekrar deneyin.",expired:"Doğrulama süresi doldu. Lütfen tekrar deneyin.",verificationRequired:"Doğrulama gerekli!",footer:'ALTCHA tarafından korunuyor ALTCHA',getAudioChallenge:"Sesli doğrulama al",label:"Ben robot değilim",loading:"Yükleniyor...",reload:"Yeniden yükle",verify:"Doğrula",verified:"Doğrulandı",verifying:"Doğrulama yapılıyor...",waitAlert:"Doğrulama yapılıyor... lütfen bekleyin."};globalThis.altchaI18n.set("tr",Rl);const $l={ariaLinkLabel:"Відвідати Altcha.org",enterCode:"Введіть код",enterCodeAria:"Введіть код, який ви чуєте. Натисніть пробіл, щоб відтворити аудіо.",error:"Перевірка не вдалася. Спробуйте пізніше.",expired:"Перевірка прострочена. Спробуйте знову.",verificationRequired:"Потрібна перевірка!",footer:'Захищено ALTCHA',getAudioChallenge:"Отримати аудіо-челлендж",label:"Я не робот",loading:"Завантаження...",reload:"Перезавантажити",verify:"Перевірити",verified:"Перевірено",verifying:"Перевіряється...",waitAlert:"Перевірка... будь ласка, зачекайте."};globalThis.altchaI18n.set("uk",$l);const Sl={ariaLinkLabel:"Besoek Altcha.org",enterCode:"Voer kode in",enterCodeAria:"Voer die kode in wat jy hoor. Druk Spasie om die klank af te speel.",error:"Verifikasie het misluk. Probeer later weer.",expired:"Verifikasie het verval. Probeer weer.",footer:'Beskerm deur ALTCHA',getAudioChallenge:"Kry 'n klankuitdaging",label:"Ek is nie 'n robot nie",loading:"Laai...",reload:"Laai weer",verify:"Verifieer",verificationRequired:"Verifikasie is vereis!",verified:"Geverifieer",verifying:"Verifieer...",waitAlert:"Verifieer... wag asseblief."};globalThis.altchaI18n.set("af",Sl);const Pl={ariaLinkLabel:"Altcha.org ይጎብኙ",enterCode:"ኮድ አስገባ",enterCodeAria:"የሚሰማዎትን ኮድ ያስገቡ። ድምጽ ለመጫወት Space ን ይጫኑ።",error:"ማረጋገጫ አልተሳካም። በኋላ ላይ እንደገና ይሞክሩ።",expired:"ማረጋገጫው ጊዜው አልፏል። እንደገና ይሞክሩ።",footer:'በ ALTCHA የተጠበቀ',getAudioChallenge:"የድምጽ ፈተና ያግኙ",label:"እኔ ሮቦት አይደለሁም",loading:"በመጫን ላይ...",reload:"እንደገና ጫን",verify:"አረጋግጥ",verificationRequired:"ማረጋገጫ ያስፈልጋል!",verified:"ተረጋግጧል",verifying:"በማረጋገጥ ላይ...",waitAlert:"በማረጋገጥ ላይ... እባክዎ ይጠብቁ።"};globalThis.altchaI18n.set("am",Pl);const zl={ariaLinkLabel:"Tembelea Altcha.org",enterCode:"Weka nambari",enterCodeAria:"Weka nambari unayosikia. Bonyeza Space kucheza sauti.",error:"Uthibitishaji umeshindwa. Jaribu tena baadaye.",expired:"Uthibitishaji umeisha. Jaribu tena.",footer:'Imealindwa na ALTCHA',getAudioChallenge:"Pata changamoto ya sauti",label:"Mimi sio roboti",loading:"Inapakia...",reload:"Pakia tena",verify:"Thibitisha",verificationRequired:"Uthibitishaji unahitajika!",verified:"Imethibitishwa",verifying:"Inathibitisha...",waitAlert:"Inathibitisha... tafadhali subiri."};globalThis.altchaI18n.set("sw",zl);const Nl={ariaLinkLabel:"Ṣe abẹwo si Altcha.org",enterCode:"Tẹ koodu sii",enterCodeAria:"Tẹ koodu ti o ngbọ sii. Tẹ Space lati ṣe ohun orin.",error:"Ìdájọ́kòwò kò ṣẹ́ṣe. Gbiyanju lẹẹkansi ni ọjọ́ iwájú.",expired:"Ìdájọ́kòwò ti pari. Gbiyanju lẹẹkansi.",footer:'Ti wa ni ààbò nipasẹ ALTCHA',getAudioChallenge:"Gba ìjàdú ohùn",label:"Emi kii ṣe ẹrọ",loading:"Ó ń gbé sílẹ̀...",reload:"Tún gbé wọlé",verify:"Ṣàdájọ́",verificationRequired:"Ìdájọ́kòwò ni a nílò!",verified:"A ti dájọ́",verifying:"Ó ń ṣàdájọ́...",waitAlert:"Ó ń ṣàdájọ́... ẹ jọ̀ọ́ ẹ duro."};globalThis.altchaI18n.set("yo",Nl);const Dl={ariaLinkLabel:"Altcha.org পরিদর্শন করুন",enterCode:"কোড লিখুন",enterCodeAria:"আপনি যে কোড শুনতে পান তা লিখুন। অডিও প্লে করতে স্পেস বাটন টিপুন।",error:"যাচাইকরণ ব্যর্থ হয়েছে। পরে আবার চেষ্টা করুন।",expired:"যাচাইকরণ সময়সীমা শেষ হয়েছে। আবার চেষ্টা করুন।",verificationRequired:"যাচাই প্রয়োজন!",footer:'দ্বারা সুরক্ষিত ALTCHA',getAudioChallenge:"অডিও চ্যালেঞ্জ নিন",label:"আমি রোবট নই",loading:"লোড হচ্ছে...",reload:"পুনরায় লোড করুন",verify:"যাচাই করুন",verified:"যাচাই করা হয়েছে",verifying:"যাচাই করা হচ্ছে...",waitAlert:"যাচাই করা হচ্ছে... দয়া করে অপেক্ষা করুন।"};globalThis.altchaI18n.set("bn",Dl);const ql={ariaLinkLabel:"בקר באתר Altcha.org",enterCode:"הזן קוד",enterCodeAria:"הזן את הקוד שאתה שומע. לחץ על רווח להפעלת השמע.",error:"האימות נכשל. נסה שוב מאוחר יותר.",expired:"תוקף האימות פג. נסה שוב.",verificationRequired:"נדרש אימות!",footer:'מוגן על ידי ALTCHA',getAudioChallenge:"קבל אתגר שמע",label:"אני לא רובוט",loading:"טוען...",reload:"טען מחדש",verify:"אמת",verified:"אומת",verifying:"מאמת...",waitAlert:"מבצע אימות... אנא המתן."};globalThis.altchaI18n.set("he",ql);const Hl={ariaLinkLabel:"Altcha.org पर जाएं",enterCode:"कोड दर्ज करेंं",enterCodeAria:"आप जो कोड सुनते हैं उसे दर्ज करें। ऑडियो चलाने के लिए स्पेस दबाएं।",error:"सत्यापन विफल। कृपया बाद में फिर से प्रयास करें।",expired:"सत्यापन समाप्त हो गया है। कृपया पुनः प्रयास करें।",verificationRequired:"सत्यापन आवश्यक है!",footer:'द्वारा संरक्षित ALTCHA',getAudioChallenge:"ऑडियो चुनौती प्राप्त करें",label:"मैं रोबोट नहीं हूँ",loading:"लोड हो रहा है...",reload:"पुनः लोड करें",verify:"सत्यापित करें",verified:"सत्यापित",verifying:"सत्यापित कर रहे हैं...",waitAlert:"सत्यापित किया जा रहा है... कृपया प्रतीक्षा करें।"};globalThis.altchaI18n.set("hi",Hl);const Ol={ariaLinkLabel:"Kunjungi Altcha.org",enterCode:"Masukkan kode",enterCodeAria:"Masukkan kode yang Anda dengar. Tekan Spasi untuk memutar audio.",error:"Verifikasi gagal. Coba lagi nanti.",expired:"Verifikasi telah kedaluwarsa. Coba lagi.",verificationRequired:"Verifikasi diperlukan!",footer:'Dilindungi oleh ALTCHA',getAudioChallenge:"Dapatkan tantangan audio",label:"Saya bukan robot",loading:"Memuat...",reload:"Muat ulang",verify:"Verifikasi",verified:"Terverifikasi",verifying:"Memverifikasi...",waitAlert:"Memverifikasi... harap tunggu."};globalThis.altchaI18n.set("id",Ol);const Fl={ariaLinkLabel:"Altcha.orgを訪問",enterCode:"コードを入力",enterCodeAria:"聞こえるコードを入力してください。スペースキーを押して音声を再生します。",error:"認証に失敗しました。後でもう一度試してください。",expired:"認証が期限切れです。再試行してください。",verificationRequired:"認証が必要です!",footer:'保護されています ALTCHA',getAudioChallenge:"音声チャレンジを取得",label:"私はロボットではありません",loading:"読み込み中...",reload:"再読み込み",verify:"確認",verified:"確認済み",verifying:"確認中...",waitAlert:"確認中...少々お待ちください。"};globalThis.altchaI18n.set("ja",Fl);const Ml={ariaLinkLabel:"Altcha.org 방문하기",enterCode:"코드 입력",enterCodeAria:"들리는 코드를 입력하세요. 스페이스 바를 눌러 오디오를 재생합니다.",error:"인증 실패. 나중에 다시 시도해주세요.",expired:"인증이 만료되었습니다. 다시 시도해주세요.",verificationRequired:"인증이 필요합니다!",footer:'ALTCHA에서 보호됨 ALTCHA',getAudioChallenge:"오디오 챌린지 받기",label:"저는 로봇이 아닙니다",loading:"로딩 중...",reload:"새로 고침",verify:"확인",verified:"확인됨",verifying:"확인 중...",waitAlert:"확인 중... 잠시만 기다려주세요."};globalThis.altchaI18n.set("ko",Ml);const Bl={ariaLinkLabel:"Altcha.org сайтына кіру",enterCode:"Кодты енгізіңіз",enterCodeAria:"Естіген кодыңызды енгізіңіз. Аудионы ойнату үшін Бос орынды басыңыз.",error:"Тексеру сәтсіз аяқталды. Кейінірек қайталаңыз.",expired:"Тексеру мерзімі аяқталды. Қайталаңыз.",footer:'ALTCHA қорғайды',getAudioChallenge:"Аудио сынақ алу",label:"Мен робот емеспін",loading:"Жүктелуде...",reload:"Қайта жүктеу",verify:"Тексеру",verificationRequired:"Тексеру талап етіледі!",verified:"Тексерілді",verifying:"Тексеруде...",waitAlert:"Тексерілуде... күте тұрыңыз."};globalThis.altchaI18n.set("kk",Bl);const Ul={ariaLinkLabel:"Altcha.org भेट द्या",enterCode:"कोड टाकाा",enterCodeAria:"तुम्ही ऐकत असलेला कोड टाका. ऑडिओ प्ले करण्यासाठी स्पेस दाबा.",error:"पुष्टीकरण अयशस्वी झाले. कृपया नंतर पुन्हा प्रयत्न करा.",expired:"पुष्टीकरण कालबाह्य झाले आहे. कृपया पुन्हा प्रयत्न करा.",verificationRequired:"पडताळणी आवश्यक आहे!",footer:'द्वारे संरक्षित ALTCHA',getAudioChallenge:"ऑडिओ चॅलेंज मिळवा",label:"मी रोबोट नाही",loading:"लोड होत आहे...",reload:"पुन्हा लोड करा",verify:"पुष्टीकरण करा",verified:"पुष्टीकरण झाले",verifying:"पुष्टीकरण करत आहे...",waitAlert:"पुष्टीकरण करत आहे... कृपया थोडा वेळ थांबा."};globalThis.altchaI18n.set("mr",Ul);const Gl={ariaLinkLabel:"Altcha.org ஐ பார்வையிடவும்",enterCode:"குறியீட்டை உள்ளிடவும்",enterCodeAria:"நீங்கள் கேட்கும் குறியீட்டை உள்ளிடவும். ஆடியோவை இயக்க Space ஐ அழுத்தவும்.",error:"சரிபார்ப்பு தோல்வி. பிறகு மீண்டும் முயற்சிக்கவும்.",expired:"சரிபார்ப்பு காலாவதியானது. மீண்டும் முயற்சிக்கவும்.",verificationRequired:"சரிபார்ப்பு தேவை!",footer:'மூலமாக பாதுகாக்கப்பட்டவை ALTCHA',getAudioChallenge:"ஒலி சவாலை பெறவும்",label:"நான் ரோபோடான அல்ல",loading:"செயலாக்கம்...",reload:"மீண்டும் புதுப்பிக்கவும்",verify:"சரிபார்க்கவும்",verified:"சரிபார்க்கப்பட்டது",verifying:"சரிபார்க்கப்படுகிறது...",waitAlert:"சரிபார்க்கப்படுகிறது... தயவுசெய்து காத்திருக்கவும்."};globalThis.altchaI18n.set("ta",Gl);const Wl={ariaLinkLabel:"Altcha.org సందర్శించండి",enterCode:"కోడ్‌ని నమోదు చేయండి",enterCodeAria:"మీరు విన్న కోడ్‌ని నమోదు చేయండి. ఆడియో ప్లే చేయడానికి స్పేస్‌ను నొక్కండి.",error:"చెకింగ్ విఫలమైంది. దయచేసి మరల ప్రయత్నించండి.",expired:"చెకింగ్ కాలం ముగిసింది. దయచేసి మరల ప్రయత్నించండి.",verificationRequired:"ధృవీకరణ అవసరం!",footer:'ఈ సైట్ రక్షించబడింది ALTCHA',getAudioChallenge:"ఆడియో ఛాలెంజ్ పొందండి",label:"నేను రోబోట్ కాదు",loading:"లోడ్ అవుతోంది...",reload:"మళ్ళీ లోడ్ చేయండి",verify:"ధ్రువీకరించు",verified:"ధ్రువీకరించబడింది",verifying:"ధ్రువీకరణ జరుగుతుంది...",waitAlert:"ధ్రువీకరణ జరుగుతుంది... దయచేసి వేచి ఉండండి."};globalThis.altchaI18n.set("te",Wl);const Zl={ariaLinkLabel:"เยี่ยมชม Altcha.org",enterCode:"ป้อนรหัส",enterCodeAria:"ป้อนรหัสที่คุณได้ยิน กด Space เพื่อเล่นเสียง",error:"การตรวจสอบล้มเหลว กรุณาลองอีกครั้งภายหลัง",expired:"การตรวจสอบหมดอายุ กรุณาลองใหม่",verificationRequired:"จำเป็นต้องตรวจสอบ!",footer:'ป้องกันโดย ALTCHA',getAudioChallenge:"รับการท้าทายเสียง",label:"ฉันไม่ใช่บอท",loading:"กำลังโหลด...",reload:"โหลดใหม่",verify:"ตรวจสอบ",verified:"ตรวจสอบแล้ว",verifying:"กำลังตรวจสอบ...",waitAlert:"กำลังตรวจสอบ... กรุณารอ"};globalThis.altchaI18n.set("th",Zl);const Yl={ariaLinkLabel:"Altcha.org پر جائیں",enterCode:"کوڈ درج کریں",enterCodeAria:"جو کوڈ آپ سنتے ہیں وہ درج کریں۔ آڈیو چلانے کے لیے اسپیس دبائیں۔",error:"توثیق ناکام ہو گئی۔ براہ کرم بعد میں دوبارہ کوشش کریں۔",expired:"توثیق کی مدت ختم ہو گئی ہے۔ براہ کرم دوبارہ کوشش کریں۔",verificationRequired:"تصدیق ضروری ہے!",footer:'کے ذریعے محفوظ ALTCHA',getAudioChallenge:"آڈیو چیلنج حاصل کریں",label:"میں روبوٹ نہیں ہوں",loading:"لوڈ ہو رہا ہے...",reload:"دوبارہ لوڈ کریں",verify:"توثیق کریں",verified:"توثیق شدہ",verifying:"توثیق ہو رہی ہے...",waitAlert:"توثیق ہو رہی ہے... براہ کرم انتظار کریں۔"};globalThis.altchaI18n.set("ur",Yl);const Kl={ariaLinkLabel:"Altcha.org saytiga tashrif buyuring",enterCode:"Kodni kiriting",enterCodeAria:"Eshitgan kodingizni kiriting. Audioni ijro etish uchun Bo'sh joy tugmasini bosing.",error:"Tekshiruv muvaffaqiyatsiz tugadi. Keyinroq qayta urinib ko'ring.",expired:"Tekshiruv muddati tugadi. Qayta urinib ko'ring.",footer:'ALTCHA tomonidan himoyalangan',getAudioChallenge:"Audio sinovni olish",label:"Men robot emasman",loading:"Yuklanmoqda...",reload:"Qayta yuklash",verify:"Tekshirish",verificationRequired:"Tekshiruv talab qilinadi!",verified:"Tekshirildi",verifying:"Tekshirilmoqda...",waitAlert:"Tekshirilmoqda... iltimos kuting."};globalThis.altchaI18n.set("uz",Kl);const Jl={ariaLinkLabel:"Truy cập Altcha.org",enterCode:"Nhập mã",enterCodeAria:"Nhập mã bạn nghe được. Nhấn Phím cách để phát âm thanh.",error:"Xác minh thất bại. Vui lòng thử lại sau.",expired:"Xác minh đã hết hạn. Vui lòng thử lại.",verificationRequired:"Yêu cầu xác minh!",footer:'Được bảo vệ bởi ALTCHA',getAudioChallenge:"Nhận thử thách âm thanh",label:"Tôi không phải là robot",loading:"Đang tải...",reload:"Tải lại",verify:"Xác minh",verified:"Đã xác minh",verifying:"Đang xác minh...",waitAlert:"Đang xác minh... vui lòng chờ."};globalThis.altchaI18n.set("vi",Jl);const Xl={ariaLinkLabel:"访问 Altcha.org",enterCode:"输入代码",enterCodeAria:"输入您听到的代码。按空格键播放音频。",error:"验证失败。稍后再试。",expired:"验证已过期。请重试。",verificationRequired:"需要验证!",footer:'由 ALTCHA 保护',getAudioChallenge:"获取音频挑战",label:"我不是机器人",loading:"加载中...",reload:"重新加载",verify:"验证",verified:"已验证",verifying:"正在验证...",waitAlert:"正在验证... 请稍等。"};globalThis.altchaI18n.set("zh-cn",Xl);const Ql={ariaLinkLabel:"訪問 Altcha.org",enterCode:"輸入代碼",enterCodeAria:"輸入您聽到的代碼。按空格鍵播放音頻。",error:"驗證失敗。稍後再試。",expired:"驗證已過期。請重試。",verificationRequired:"需要驗證!",footer:'由 ALTCHA 保護',getAudioChallenge:"獲取音頻挑戰",label:"我不是機器人",loading:"載入中...",reload:"重新載入",verify:"驗證",verified:"已驗證",verifying:"正在驗證...",waitAlert:"正在驗證... 請稍等。"};globalThis.altchaI18n.set("zh-tw",Ql);const Di='(function(){"use strict";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}async function b(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 p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r="SHA-256",n=1e6,l=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=l;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let i=n;i<=r;i+=1){if(o.signal.aborted||!c||!u)return null;try{const f=await crypto.subtle.decrypt({name:l,iv:g(i)},c,u);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,u=null;try{u=h(e);const i=await crypto.subtle.digest("SHA-256",d.encode(t));c=await crypto.subtle.importKey("raw",i,l,!1,["decrypt"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:s(),controller:o}}let y;onmessage=async e=>{const{type:t,payload:r,start:n,max:l}=e.data;let o=null;if(t==="abort")y?.abort(),y=void 0;else if(t==="work"){if("obfuscated"in r){const{key:a,obfuscated:s}=r||{};o=await m(s,a,l,n)}else{const{algorithm:a,challenge:s,salt:c}=r||{};o=w(s,c,a,l,n)}y=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n',Ma=typeof self<"u"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",Di],{type:"text/javascript;charset=utf-8"});function es(e){let t;try{if(t=Ma&&(self.URL||self.webkitURL).createObjectURL(Ma),!t)throw"";const r=new Worker(t,{name:e?.name});return r.addEventListener("error",(()=>{(self.URL||self.webkitURL).revokeObjectURL(t)})),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(Di),{name:e?.name})}}const ts="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(ts);const qi=new TextEncoder;function rs(e){return[...new Uint8Array(e)].map((e=>e.toString(16).padStart(2,"0"))).join("")}async function as(e,t="SHA-256",r=1e5){const a=Date.now().toString(16);e||(e=Math.round(Math.random()*r));return{algorithm:t,challenge:await Hi(a,e,t),salt:a,signature:""}}async function Hi(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 rs(await crypto.subtle.digest(r.toUpperCase(),qi.encode(e+t)))}function is(e,t,r="SHA-256",a=1e6,i=0){const n=new AbortController,o=Date.now();return{promise:(async()=>{for(let l=i;l<=a;l+=1){if(n.signal.aborted)return null;if(await Hi(t,l,r)===e)return{number:l,took:Date.now()-o}}return null})(),controller:n}}function Ba(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function ns(e){const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e{for(let e=a;e<=r;e+=1){if(n.signal.aborted||!l||!s)return null;try{const t=await crypto.subtle.decrypt({name:i,iv:os(e)},l,s);if(t)return{clearText:(new TextDecoder).decode(t),took:Date.now()-o}}catch{}}return null})(),controller:n}}var A=(e=>(e.CODE="code",e.ERROR="error",e.VERIFIED="verified",e.VERIFYING="verifying",e.UNVERIFIED="unverified",e.EXPIRED="expired",e))(A||{}),Q=(e=>(e.ERROR="error",e.LOADING="loading",e.PLAYING="playing",e.PAUSED="paused",e.READY="ready",e))(Q||{});const ss={ariaLinkLabel:"Visit Altcha.org",enterCode:"Enter code",enterCodeAria:"Enter code you hear. Press Space to play audio.",error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:'Protected by ALTCHA',getAudioChallenge:"Get an audio challenge",label:"I'm not a robot",loading:"Loading...",reload:"Reload",verify:"Verify",verificationRequired:"Verification required!",verified:"Verified",verifying:"Verifying...",waitAlert:"Verifying... please wait."};globalThis.altchaI18n.set("en",ss);const Ir=(e,t)=>{let r=io((()=>Pn(t?.(),24)));var a=ds();Ce((()=>{T(a,"width",n(r)),T(a,"height",n(r))})),M(e,a)};function cs(e,t){"Space"===e.code&&(e.preventDefault(),e.stopImmediatePropagation(),t())}function us(e,t){e.preventDefault(),t()}function fs(e,t,r,a,i,o,l,s){[A.UNVERIFIED,A.ERROR,A.EXPIRED,A.CODE].includes(n(t))?!1!==r()&&!1===n(a)?.reportValidity()?y(i,!1):o()?l():s():y(i,!0)}var ds=mr(''),hs=ye(''),gs=ye('
'),vs=mr(''),bs=mr(''),ps=mr(''),ms=ye(''),ys=ye(""),As=ye(''),ks=ye("
"),_s=ye("
"),ws=ye('
'),Cs=ye(''),Ls=ye('
'),xs=ye('
',1);function Es(e,t){ii(t,!0);const[r,a]=Oo(),i=()=>Ho(X,"$altchaI18nStore",r);let o=w(t,"auto",7,void 0),l=w(t,"blockspam",7,void 0),s=w(t,"challengeurl",7,void 0),c=w(t,"challengejson",7,void 0),u=w(t,"credentials",7,void 0),d=w(t,"customfetch",7,void 0),f=w(t,"debug",7,!1),h=w(t,"delay",7,0),g=w(t,"disableautofocus",7,!1),v=w(t,"refetchonexpire",7,!0),p=w(t,"disablerefetchonexpire",23,(()=>!v())),b=w(t,"expire",7,void 0),m=w(t,"floating",7,void 0),k=w(t,"floatinganchor",7,void 0),C=w(t,"floatingoffset",7,void 0),x=w(t,"floatingpersist",7,!1),L=w(t,"hidefooter",7,!1),V=w(t,"hidelogo",7,!1),E=w(t,"id",7,void 0),j=w(t,"language",7,void 0),I=w(t,"name",7,"altcha"),R=w(t,"maxnumber",7,1e6),z=w(t,"mockerror",7,!1),P=w(t,"obfuscated",7,void 0),S=w(t,"overlay",7,void 0),q=w(t,"overlaycontent",7,void 0),N=w(t,"plugins",7,void 0),H=w(t,"sentinel",7,void 0),D=w(t,"spamfilter",7,!1),O=w(t,"strings",7,void 0),F=w(t,"test",7,!1),B=w(t,"verifyurl",7,void 0),U=w(t,"workers",23,(()=>Math.min(16,navigator.hardwareConcurrency||8))),G=w(t,"workerurl",7,void 0);const{altchaI18n:W}=globalThis,X=W.store,ee=["SHA-256","SHA-384","SHA-512"],te=(e,r)=>{t.$$host.dispatchEvent(new CustomEvent(e,{detail:r}))},re=document.documentElement.lang?.split("-")?.[0],ae=$t((()=>s()&&new URL(s(),location.origin).host.endsWith(".altcha.org")&&!!s()?.includes("apiKey=ckey_"))),ie=$t((()=>c()?Qe(c()):void 0)),ne=$t((()=>O()?Qe(O()):{})),oe=$t((()=>({...Ie(i()),...n(ne)}))),le=$t((()=>`${E()||I()}_checkbox_${Math.round(1e8*Math.random())}`));let se=$(null),ce=$(!1),ue=$(null),de=$(De(A.UNVERIFIED)),fe=$(void 0),he=$(null),ge=$(null),ve=$(null),pe=$(null),be=$(null),ye=$(null),me=$(null),Ae=$(null),ke=null,we=$(null),xe=$(!1),Le=[],Ve=$(!1),$e=$(null);function Te(e,t){return btoa(JSON.stringify({algorithm:e.algorithm,challenge:e.challenge,number:t.number,salt:e.salt,signature:e.signature,test:!!F()||void 0,took:t.took}))}function Ee(){s()&&!p()&&n(de)===A.VERIFIED?At():pt(A.EXPIRED,n(oe).expired)}function je(){let e=fetch;if(d())if(ze("using customfetch"),"string"==typeof d()){if(e=globalThis[d()]||null,!e)throw new Error(`Custom fetch function not found: ${d()}`)}else e=d();return e}function Ie(e,t=[j()||"",document.documentElement.lang||"",...navigator.languages]){const r=Object.keys(e).map((e=>e.toLowerCase())),a=t.reduce(((t,a)=>(a=a.toLowerCase(),t||(e[a]?a:null)||r.find((e=>a.split("-")[0]===e.split("-")[0]))||null)),null);return e[a||"en"]}function _e(e){return[...n(ye)?.querySelectorAll(e?.length?e.map((e=>`input[name="${e}"]`)).join(", "):'input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')||[]].reduce(((e,t)=>{const r=t.name,a=t.value;return r&&a&&(e[r]=/\n/.test(a)?a.replace(new RegExp("(?e instanceof Error)))&&console[e[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${I()}]`,...e)}function Pe(){y(we,Q.PAUSED,!0)}function Se(e){y(we,Q.ERROR,!0)}function qe(){y(we,Q.READY,!0)}function He(){y(we,Q.LOADING,!0)}function Me(){y(we,Q.PLAYING,!0)}function Oe(){y(we,Q.PAUSED,!0)}function Fe(e){if(e.preventDefault(),e.stopPropagation(),n(ue)){const t=new FormData(e.target),r=String(t.get("code"));if(B()?.startsWith("fn:")){const e=B().replace(/^fn:/,"");if(ze(`calling ${e} function instead of verifyurl`),!(e in globalThis))throw new Error(`Global function "${e}" is undefined.`);return globalThis[e]({challenge:n(ue).challenge,code:r,solution:n(ue).solution})}y(xe,!0),rt(Te(n(ue).challenge,n(ue).solution),r).then((({reason:e,verified:t})=>{t?(y(ue,null),yt(A.VERIFIED),ze("verified"),Tr().then((()=>{n(pe)?.focus(),te("verified",{payload:n($e)}),"onsubmit"===o()?at(n(me)):S()&>()}))):(pt(),y(Ae,e||"Verification failed",!0))})).catch((e=>{y(ue,null),yt(A.ERROR,e),ze("sentinel verification failed:",e)})).finally((()=>{y(xe,!1)}))}}function Be(e){const t=e.target;m()&&t&&!n(fe).contains(t)&&(n(de)===A.VERIFIED&&!1===x()||n(de)===A.VERIFIED&&"focus"===x()&&!n(ye)?.matches(":focus-within")||"off"===o()&&n(de)===A.UNVERIFIED)&>()}function Ue(){m()&&n(de)!==A.UNVERIFIED&&vt()}function Ze(e){n(de)===A.UNVERIFIED?At():m()&&"focus"===x()&&n(de)===A.VERIFIED&&mt()}function Ke(e){e.target?.hasAttribute("data-code-challenge-form")||(y(me,e.submitter,!0),n(ye)&&"onsubmit"===o()?(n(me)?.blur(),n(de)===A.UNVERIFIED?(e.preventDefault(),e.stopPropagation(),At().then((()=>{at(n(me))}))):n(de)!==A.VERIFIED&&(e.preventDefault(),e.stopPropagation(),n(de)===A.VERIFYING&&Ye())):n(ye)&&m()&&"off"===o()&&n(de)===A.UNVERIFIED&&(e.preventDefault(),e.stopPropagation(),mt()))}function Ge(){pt()}function Ye(){n(de)===A.VERIFYING&&n(oe).waitAlert&&alert(n(oe).waitAlert)}function We(){n(ge)?n(ge).paused?(n(ge).currentTime=0,n(ge).play()):n(ge).pause():(y(Ve,!0),requestAnimationFrame((()=>{n(ge)?.play()})))}function Je(){m()&&vt()}function Qe(e){return JSON.parse(e)}function Xe(e){const t=new URLSearchParams(e.split("?")?.[1]),r=t.get("expires")||t.get("expire");if(r){const e=new Date(1e3*+r),t=isNaN(e.getTime())?0:e.getTime()-Date.now();t>0&&it(t)}else ke&&(clearTimeout(ke),ke=null)}async function et(e){if(!B())throw new Error("Attribute verifyurl not set.");ze("requesting server verification from",B());const t={payload:e};if(!1!==D()){const{blockedCountries:e,classifier:r,disableRules:a,email:i,expectedLanguages:o,expectedCountries:l,fields:s,ipAddress:c,text:u,timeZone:d}="ipAddress"===D()?{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}:"object"==typeof D()?D():{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};t.blockedCountries=e,t.classifier=r,t.disableRules=a,t.email=!1===i?void 0:function(e){const t=n(ye)?.querySelector("string"==typeof e?`input[name="${e}"]`:'input[type="email"]:not([data-no-spamfilter])');return t?.value?.slice(t.value.indexOf("@"))||void 0}(i),t.expectedCountries=l,t.expectedLanguages=o||(re?[re]:void 0),t.fields=!1===s?void 0:_e(s),t.ipAddress=!1===c?void 0:c||"auto",t.text=u,t.timeZone=!1===d?void 0:d||Ba()}const r=await je()(B(),{body:JSON.stringify(t),headers:{"content-type":"application/json"},method:"POST"});if(!(r&&r instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==r.status)throw new Error(`Server responded with ${r.status}.`);const a=await r.json();if(a?.payload&&y($e,a.payload,!0),te("serververification",a),l()&&"BAD"===a.classification)throw new Error("SpamFilter returned negative classification.")}async function rt(e,t){if(!B())throw new Error("Attribute verifyurl not set.");ze("requesting sentinel verification from",B());const r={code:t,payload:e};H()&&(r.fields=H().fields?_e():void 0,r.timeZone=H().timeZone?Ba():void 0);const a=await je()(B(),{body:JSON.stringify(r),headers:{"content-type":"application/json"},method:"POST"});if(!(a&&a instanceof Response))throw new Error("Fetch function did not return a response.");if(200!==a.status)throw new Error(`Server responded with ${a.status}.`);const i=await a.json();return i?.payload&&y($e,i.payload,!0),te("sentinelverification",i),i}function at(e){n(ye)&&"requestSubmit"in n(ye)?n(ye).requestSubmit(e):n(ye)?.reportValidity()&&(e?e.click():n(ye).submit())}function it(e){ze("expire",e),ke&&(clearTimeout(ke),ke=null),e<1?Ee():ke=setTimeout(Ee,e)}function nt(e){ze("floating",e),m()!==e&&(n(fe).style.left="",n(fe).style.top=""),m(!0===e||""===e?"auto":!1===e||"false"===e?void 0:m()),m()?(o()||o("onsubmit"),document.addEventListener("scroll",Ue),document.addEventListener("click",Be),window.addEventListener("resize",Je)):"onsubmit"===o()&&o(void 0)}function ot(e){if(ze("overlay",e),S(e),e){if(o()||o("onsubmit"),n(ve)&&n(fe).parentElement&&n(ve).replaceWith(n(fe).parentElement),n(fe)?.parentElement?.parentElement){y(ve,document.createElement("div"),!0),n(fe).parentElement.parentElement.appendChild(n(ve));const e=document.createElement("div"),t=document.createElement("button");t.type="button",t.innerHTML="×",t.addEventListener("click",(e=>{e.preventDefault(),pt()})),n(ve).classList.add("altcha-overlay-backdrop"),t.classList.add("altcha-overlay-close-button"),e.classList.add("altcha-overlay"),n(ve).append(e),e.append(t),q()&&e.append(...document.querySelectorAll(q())),e.append(n(fe).parentElement)}}else n(ve)&&n(fe).parentElement&&(n(ve).replaceWith(n(fe).parentElement),n(fe).style.display="block")}function lt(e){if(!e.algorithm)throw new Error("Invalid challenge. Property algorithm is missing.");if(void 0===e.signature)throw new Error("Invalid challenge. Property signature is missing.");if(!ee.includes(e.algorithm.toUpperCase()))throw new Error(`Unknown algorithm value. Allowed values: ${ee.join(", ")}`);if(!e.challenge||e.challenge.length<40)throw new Error("Challenge is too short. Min. 40 chars.");if(!e.salt||e.salt.length<10)throw new Error("Salt is too short. Min. 10 chars.")}async function st(e){let t=null,r=null;if("Worker"in window){try{t=function(e,t=("number"==typeof F()?F():e.maxNumber||e.maxnumber||R()),r=Math.ceil(U())){const a=new AbortController,i=[];r=Math.min(16,t,Math.max(1,r));for(let e=0;e{const t=await Promise.all(i.map(((t,r)=>{const o=r*n;return a.signal.addEventListener("abort",(()=>{t.postMessage({type:"abort"})})),new Promise((r=>{t.addEventListener("message",(e=>{if(e.data)for(const e of i)e!==t&&e.postMessage({type:"abort"});r(e.data)})),t.postMessage({payload:e,max:o+n,start:o,type:"work"})}))})));for(const e of i)e.terminate();return t.find((e=>!!e))||null})(),controller:a}}(e,e.maxNumber||e.maxnumber||R()),y(se,t.controller,!0),r=await t.promise}catch(e){ze(e)}finally{y(se,null)}if(null===r||void 0!==r?.number||"obfuscated"in e)return{data:e,solution:r}}if("obfuscated"in e){const t=await ls(e.obfuscated,e.key,e.maxNumber||e.maxnumber);return{data:e,solution:await t.promise}}t=is(e.challenge,e.salt,e.algorithm,e.maxNumber||e.maxnumber||R()),y(se,t.controller,!0);try{r=await t.promise}catch(e){ze(e)}finally{y(se,null)}return{data:e,solution:r}}async function ct(){if(!P())return void yt(A.ERROR);const e=Le.find((e=>"obfuscation"===e.constructor.pluginName));return e&&"clarify"in e?"clarify"in e&&"function"==typeof e.clarify?e.clarify():void 0:(yt(A.ERROR),void ze("Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it."))}function ut(e){void 0!==e.obfuscated&&P(e.obfuscated),void 0!==e.auto&&(o(e.auto),"onload"===o()&&(P()?ct():At())),void 0!==e.blockspam&&l(!!e.blockspam),void 0!==e.customfetch&&d(e.customfetch),void 0!==e.floatinganchor&&k(e.floatinganchor),void 0!==e.delay&&h(e.delay),void 0!==e.floatingoffset&&C(e.floatingoffset),void 0!==e.floating&&nt(e.floating),void 0!==e.expire&&(it(e.expire),b(e.expire)),e.challenge&&(c("string"==typeof e.challenge?e.challenge:JSON.stringify(e.challenge)),lt(n(ie))),void 0!==e.challengeurl&&s(e.challengeurl),void 0!==e.debug&&f(!!e.debug),void 0!==e.hidefooter&&L(!!e.hidefooter),void 0!==e.hidelogo&&V(!!e.hidelogo),void 0!==e.language&&O(Ie(i(),[e.language])),void 0!==e.maxnumber&&R(+e.maxnumber),void 0!==e.mockerror&&z(!!e.mockerror),void 0!==e.name&&I(e.name),void 0!==e.overlaycontent&&q(e.overlaycontent),void 0!==e.overlay&&ot(e.overlay),void 0!==e.refetchonexpire&&p(!e.refetchonexpire),void 0!==e.disablerefetchonexpire&&p(!e.disablerefetchonexpire),void 0!==e.sentinel&&"object"==typeof e.sentinel&&H(e.sentinel),void 0!==e.spamfilter&&D("object"==typeof e.spamfilter?e.spamfilter:!!e.spamfilter),e.strings&&O("string"==typeof e.strings?e.strings:JSON.stringify(e.strings)),void 0!==e.test&&F("number"==typeof e.test?e.test:!!e.test),void 0!==e.verifyurl&&B(e.verifyurl),void 0!==e.workers&&U(+e.workers),void 0!==e.workerurl&&G(e.workerurl)}function dt(){return{auto:o(),blockspam:l(),challengeurl:s(),debug:f(),delay:h(),disableautofocus:g(),disablerefetchonexpire:p(),expire:b(),floating:m(),floatinganchor:k(),floatingoffset:C(),hidefooter:L(),hidelogo:V(),name:I(),maxnumber:R(),mockerror:z(),obfuscated:P(),overlay:S(),refetchonexpire:!p(),spamfilter:D(),strings:n(oe),test:F(),verifyurl:B(),workers:U(),workerurl:G()}}function ft(){return n(be)}function ht(){return n(de)}function gt(){n(fe).style.display="none",S()&&n(ve)&&(n(ve).style.display="none")}function vt(e=20){if(n(fe))if(n(be)||y(be,(k()?document.querySelector(k()):n(ye)?.querySelector('input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])'))||n(ye),!0),n(be)){const t=parseInt(C(),10)||12,r=n(be).getBoundingClientRect(),a=n(fe).getBoundingClientRect(),i=document.documentElement.clientHeight,o=document.documentElement.clientWidth,l="auto"===m()?r.bottom+a.height+t+e>i:"top"===m(),s=Math.max(e,Math.min(o-e-a.width,r.left+r.width/2-a.width/2));if(n(fe).style.top=l?r.top-(a.height+t)+"px":`${r.bottom+t}px`,n(fe).style.left=`${s}px`,n(fe).setAttribute("data-floating",l?"top":"bottom"),n(he)){const e=n(he).getBoundingClientRect();n(he).style.left=r.left-s+r.width/2-e.width/2+"px"}}else ze("unable to find floating anchor element")}function pt(e=A.UNVERIFIED,t=null){n(se)&&(n(se).abort(),y(se,null)),y(ce,!1),y($e,null),y(ue,null),y(Ve,!1),y(we,null),yt(e,t)}function bt(e){y(be,e,!0)}function yt(e,t=null){y(de,e,!0),y(Ae,t,!0),te("statechange",{payload:n($e),state:n(de)})}function mt(){n(fe).style.display="block",m()&&vt(),S()&&n(ve)&&(n(ve).style.display="flex")}async function At(){return pt(A.VERIFYING),await new Promise((e=>setTimeout(e,h()||0))),async function(){if(z())throw ze("mocking error"),new Error("Mocked error.");if(n(ie))return ze("using provided json data"),Xe(n(ie).salt),n(ie);if(F())return ze("generating test challenge",{test:F()}),as("boolean"!=typeof F()?+F():void 0);{if(!s()&&n(ye)){const e=n(ye).getAttribute("action");e?.includes("/form/")&&s(e+"/altcha")}if(!s())throw new Error("Attribute challengeurl not set.");ze("fetching challenge from",s());const e={credentials:"boolean"==typeof u()?"include":u(),headers:!1!==D()?{"x-altcha-spam-filter":"1"}:{}},t=await je()(s(),e);if(!(t&&t instanceof Response))throw new Error("Custom fetch function did not return a response.");if(200!==t.status)throw new Error(`Server responded with ${t.status}.`);const r=t.headers.get("X-Altcha-Config"),a=await t.json();if(Xe(a.salt),r)try{const e=JSON.parse(r);e&&"object"==typeof e&&(e.verifyurl&&!e.verifyurl.startsWith("fn:")&&(e.verifyurl=Re(e.verifyurl)),ut(e))}catch(e){ze("unable to configure from X-Altcha-Config",e)}return a}}().then((e=>(lt(e),ze("challenge",e),st(e)))).then((({data:e,solution:t})=>{if(ze("solution",t),!t||e&&"challenge"in e&&!("clearText"in t))if(void 0!==t?.number&&"challenge"in e)if(B()&&"codeChallenge"in e)["INPUT","BUTTON","SELECT","TEXTAREA"].includes(document.activeElement?.tagName||"")&&!1===g()&&document.activeElement.blur(),y(ue,{challenge:e,solution:t},!0);else{if(B()&&void 0!==H())return rt(Te(e,t));if(B())return et(Te(e,t));y($e,Te(e,t),!0),ze("payload",n($e))}else if(n(de)!==A.EXPIRED)throw ze("Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number."),new Error("Unexpected result returned.")})).then((()=>{n(ue)?(yt(A.CODE),Tr().then((()=>{te("code",{codeChallenge:n(ue)})}))):n($e)&&(yt(A.VERIFIED),ze("verified"),Tr().then((()=>{te("verified",{payload:n($e)}),S()&>()})))})).catch((e=>{ze(e),yt(A.ERROR,e.message)}))}Rr((()=>{!function(){for(const e of Le)"function"==typeof e.onErrorChange&&e.onErrorChange(n(Ae))}(n(Ae))})),Rr((()=>{!function(){for(const e of Le)"function"==typeof e.onStateChange&&e.onStateChange(n(de));m()&&n(de)!==A.UNVERIFIED&&requestAnimationFrame((()=>{vt()})),y(ce,n(de)===A.VERIFIED),S()&&n(ve)&&(n(de)!==A.UNVERIFIED?mt():gt())}(n(de))})),Wo((()=>{(function(){for(const e of Le)e.destroy()})(),y(me,null),n(ye)&&(n(ye).removeEventListener("submit",Ke),n(ye).removeEventListener("reset",Ge),n(ye).removeEventListener("focusin",Ze),y(ye,null)),ke&&(clearTimeout(ke),ke=null),document.removeEventListener("click",Be),document.removeEventListener("scroll",Ue),window.removeEventListener("resize",Je)})),Pi((()=>{ze("mounted","2.2.4"),ze("workers",U()),function(){const e=void 0!==N()?N().split(","):void 0;for(const t of globalThis.altchaPlugins)(!e||e.includes(t.pluginName))&&Le.push(new t({el:n(fe),clarify:ct,dispatch:te,getConfiguration:dt,getFloatingAnchor:ft,getState:ht,log:ze,reset:pt,solve:st,setState:yt,setFloatingAnchor:bt,verify:At}))}(),ze("plugins",Le.length?Le.map((e=>e.constructor.pluginName)).join(", "):"none"),F()&&ze("using test mode"),b()&&it(b()),void 0!==o()&&ze("auto",o()),void 0!==m()&&nt(m()),y(ye,n(fe)?.closest("form"),!0),n(ye)&&(n(ye).addEventListener("submit",Ke,{capture:!0}),n(ye).addEventListener("reset",Ge),("onfocus"===o()||"focus"===x())&&n(ye).addEventListener("focusin",Ze)),S()&&ot(!0),"onload"===o()&&(P()?ct():At()),n(ae)&&(L()||V())&&ze("Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution."),requestAnimationFrame((()=>{te("load")}))}));var kt=xs(),wt=St(kt);Ro(wt,t,"default",{});var Ct=K(wt,2),xt=Y(Ct),Lt=Y(xt);let Vt;var Tt=Y(Lt),Et=e=>{Ir(e)};J(Tt,(e=>{n(de)===A.VERIFYING&&e(Et)}));var jt=K(Tt,2);qa(jt),jt.__change=[fs,de,D,ye,ce,P,ct,At],Qt(jt,(e=>y(pe,e)),(()=>n(pe))),Z(Lt);var It=K(Lt,2),_t=Y(It),Rt=e=>{var t=Xt();tt(St(t),(()=>n(oe).verified)),M(e,t)},zt=(e,t)=>{var r=e=>{var t=Xt();tt(St(t),(()=>n(oe).verifying)),M(e,t)},a=(e,t)=>{var r=e=>{var t=Xt();tt(St(t),(()=>n(oe).verificationRequired)),M(e,t)},a=e=>{var t=Xt();tt(St(t),(()=>n(oe).label)),M(e,t)};J(e,(e=>{n(de)===A.CODE?e(r):e(a,!1)}),t)};J(e,(e=>{n(de)===A.VERIFYING?e(r):e(a,!1)}),t)};J(_t,(e=>{n(de)===A.VERIFIED?e(Rt):e(zt,!1)})),Z(It);var Pt=K(It,2),qt=e=>{var t=hs();qa(t),Ce((()=>{T(t,"name",I()),No(t,n($e))})),M(e,t)};J(Pt,(e=>{n(de)===A.VERIFIED&&e(qt)}));var Nt=K(Pt,2),Ht=e=>{var t=gs(),r=Y(t);T(r,"href","https://altcha.org/"),Z(t),Ce((()=>T(r,"aria-label",n(oe).ariaLinkLabel))),M(e,t)};J(Nt,(e=>{(!0!==V()||n(ae))&&e(Ht)}));var Dt=K(Nt,2),Mt=e=>{var t=As(),r=K(Y(t),2),a=Y(r),i=K(a,2);Lo(i,!g()),i.__keydown=[cs,We];var o=K(i,2),l=Y(o),s=Y(l),c=e=>{var t=ms();t.__click=We;var r=Y(t),a=e=>{Ir(e,(()=>20))},i=(e,t)=>{var r=e=>{M(e,vs())},a=(e,t)=>{var r=e=>{M(e,bs())},a=e=>{M(e,ps())};J(e,(e=>{n(we)===Q.PLAYING?e(r):e(a,!1)}),t)};J(e,(e=>{n(we)===Q.ERROR?e(r):e(a,!1)}),t)};J(r,(e=>{n(we)===Q.LOADING?e(a):e(i,!1)})),Z(t),Ce((()=>{T(t,"title",n(oe).getAudioChallenge),t.disabled=n(we)===Q.LOADING||n(we)===Q.ERROR||n(xe),T(t,"aria-label",n(we)===Q.LOADING?n(oe).loading:n(oe).getAudioChallenge)})),M(e,t)};J(s,(e=>{n(ue).challenge.codeChallenge.audio&&e(c)}));var u=K(s,2);u.__click=[us,At],Z(l);var d=K(l,2),f=Y(d),h=e=>{Ir(e,(()=>16))};J(f,(e=>{n(xe)&&e(h)}));var v=K(f);Z(d),Z(o);var p=K(o,2),b=e=>{var t=ys(),r=Y(t);Z(t),Qt(t,(e=>y(ge,e)),(()=>n(ge))),Ce((e=>T(r,"src",e)),[()=>Re(n(ue).challenge.codeChallenge.audio,{language:j()})]),Ne("loadstart",t,He),Ne("canplay",t,qe),Ne("pause",t,Oe),Ne("playing",t,Me),Ne("ended",t,Pe),Ne("error",r,Se),M(e,t)};J(p,(e=>{n(ue).challenge.codeChallenge.audio&&n(Ve)&&e(b)})),Z(r),Z(t),Ce((()=>{T(t,"aria-label",n(oe).verificationRequired),T(a,"src",n(ue).challenge.codeChallenge.image),T(i,"minlength",n(ue).challenge.codeChallenge.length||1),T(i,"maxlength",n(ue).challenge.codeChallenge.length),T(i,"placeholder",n(oe).enterCode),T(i,"aria-label",n(we)===Q.LOADING?n(oe).loading:n(we)===Q.PLAYING?"":n(oe).enterCodeAria),T(i,"aria-live",n(we)?"assertive":"polite"),T(i,"aria-busy",n(we)===Q.LOADING),i.disabled=n(xe),T(u,"aria-label",n(oe).reload),T(u,"title",n(oe).reload),u.disabled=n(xe),d.disabled=n(xe),T(d,"aria-label",n(oe).verify),Io(v,` ${n(oe).verify??""}`)})),Ne("submit",r,Fe,!0),M(e,t)};J(Dt,(e=>{n(ue)?.challenge.codeChallenge&&e(Mt)})),Z(xt);var Ot=K(xt,2),Ft=e=>{var t=ws(),r=K(Y(t),2),a=e=>{var t=ks();tt(Y(t),(()=>n(oe).expired)),Z(t),Ce((()=>T(t,"title",n(Ae)))),M(e,t)},i=e=>{var t=_s();tt(Y(t),(()=>n(oe).error)),Z(t),Ce((()=>T(t,"title",n(Ae)))),M(e,t)};J(r,(e=>{n(de)===A.EXPIRED?e(a):e(i,!1)})),Z(t),M(e,t)};J(Ot,(e=>{(n(Ae)||n(de)===A.EXPIRED)&&e(Ft)}));var Bt=K(Ot,2),Ut=e=>{var t=Cs(),r=Y(t);tt(Y(r),(()=>n(oe).footer)),Z(r),Z(t),M(e,t)};J(Bt,(e=>{n(oe).footer&&(!0!==L()||n(ae))&&e(Ut)}));var Zt=K(Bt,2),Kt=e=>{var t=Ls();Qt(t,(e=>y(he,e)),(()=>n(he))),M(e,t)};J(Zt,(e=>{m()&&e(Kt)})),Z(Ct),Qt(Ct,(e=>y(fe,e)),(()=>n(fe))),Ce((e=>{T(Ct,"data-state",n(de)),T(Ct,"data-floating",m()),T(Ct,"data-overlay",S()),Vt=So(Lt,1,"altcha-checkbox",null,Vt,e),T(jt,"id",n(le)),jt.required="onsubmit"!==o()&&(!m()||"off"!==o()),T(It,"for",n(le))}),[()=>({"altcha-checkbox-verifying":n(de)===A.VERIFYING})]),Ne("invalid",jt,Ye),qo(jt,(()=>n(ce)),(e=>y(ce,e))),M(e,kt);var Gt=ni({clarify:ct,configure:ut,getConfiguration:dt,getFloatingAnchor:ft,getPlugin:function(e){return Le.find((t=>t.constructor.pluginName===e))},getState:ht,hide:gt,repositionFloating:vt,reset:pt,setFloatingAnchor:bt,setState:yt,show:mt,verify:At,get auto(){return o()},set auto(e=void 0){o(e),_()},get blockspam(){return l()},set blockspam(e=void 0){l(e),_()},get challengeurl(){return s()},set challengeurl(e=void 0){s(e),_()},get challengejson(){return c()},set challengejson(e=void 0){c(e),_()},get credentials(){return u()},set credentials(e=void 0){u(e),_()},get customfetch(){return d()},set customfetch(e=void 0){d(e),_()},get debug(){return f()},set debug(e=!1){f(e),_()},get delay(){return h()},set delay(e=0){h(e),_()},get disableautofocus(){return g()},set disableautofocus(e=!1){g(e),_()},get refetchonexpire(){return v()},set refetchonexpire(e=!0){v(e),_()},get disablerefetchonexpire(){return p()},set disablerefetchonexpire(e=!v){p(e),_()},get expire(){return b()},set expire(e=void 0){b(e),_()},get floating(){return m()},set floating(e=void 0){m(e),_()},get floatinganchor(){return k()},set floatinganchor(e=void 0){k(e),_()},get floatingoffset(){return C()},set floatingoffset(e=void 0){C(e),_()},get floatingpersist(){return x()},set floatingpersist(e=!1){x(e),_()},get hidefooter(){return L()},set hidefooter(e=!1){L(e),_()},get hidelogo(){return V()},set hidelogo(e=!1){V(e),_()},get id(){return E()},set id(e=void 0){E(e),_()},get language(){return j()},set language(e=void 0){j(e),_()},get name(){return I()},set name(e="altcha"){I(e),_()},get maxnumber(){return R()},set maxnumber(e=1e6){R(e),_()},get mockerror(){return z()},set mockerror(e=!1){z(e),_()},get obfuscated(){return P()},set obfuscated(e=void 0){P(e),_()},get overlay(){return S()},set overlay(e=void 0){S(e),_()},get overlaycontent(){return q()},set overlaycontent(e=void 0){q(e),_()},get plugins(){return N()},set plugins(e=void 0){N(e),_()},get sentinel(){return H()},set sentinel(e=void 0){H(e),_()},get spamfilter(){return D()},set spamfilter(e=!1){D(e),_()},get strings(){return O()},set strings(e=void 0){O(e),_()},get test(){return F()},set test(e=!1){F(e),_()},get verifyurl(){return B()},set verifyurl(e=void 0){B(e),_()},get workers(){return U()},set workers(e=Math.min(16,navigator.hardwareConcurrency||8)){U(e),_()},get workerurl(){return G()},set workerurl(e=void 0){G(e),_()}});return a(),Gt}To(["change","keydown","click"]),customElements.define("altcha-widget",Go(Es,{blockspam:{type:"Boolean"},debug:{type:"Boolean"},delay:{type:"Number"},disableautofocus:{type:"Boolean"},disablerefetchonexpire:{type:"Boolean"},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:{},credentials:{},customfetch:{},floating:{},floatinganchor:{},floatingpersist:{},id:{},language:{},name:{},obfuscated:{},overlay:{},overlaycontent:{},plugins:{},sentinel:{},spamfilter:{},strings:{},verifyurl:{},workerurl:{}},["default"],["clarify","configure","getConfiguration","getFloatingAnchor","getPlugin","getState","hide","repositionFloating","reset","setFloatingAnchor","setState","show","verify"],!1));const Ts='@keyframes overlay-slidein{to{opacity:1;top:50%}}@keyframes altcha-spinner{to{transform:rotate(360deg)}}.altcha{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}.altcha:focus-within{border-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]{background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999}.altcha[data-floating=top] .altcha-anchor-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto}.altcha[data-floating=bottom]:focus-within::after{border-bottom-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating=top]:focus-within::after{border-top-color:var(--altcha-color-border-focus, currentColor)}.altcha[data-floating]:not([data-state=unverified]){display:block}.altcha-anchor-arrow{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{align-items:center;display:flex;gap:.4rem;padding:.7rem;position:relative}.altcha-code-challenge{background:var(--altcha-color-base, white);border:1px solid var(--altcha-color-border-focus, currentColor);border-radius:var(--altcha-border-radius, 3px);filter:drop-shadow(3px 3px 6px rgba(0,0,0,.2));padding:.5rem;position:absolute;top:2.5rem;z-index:9999999}.altcha-code-challenge>form{display:flex;flex-direction:column;gap:.5rem}.altcha-code-challenge-input{border:1px solid currentColor;border-radius:3px;box-sizing:border-box;outline:0;font-size:16px;padding:.35rem;width:220px}.altcha-code-challenge-input:focus{outline:2px solid color-mix(in srgb,var(--altcha-color-active, #1D1DC9) 20%,transparent)}.altcha-code-challenge-input:disabled{opacity:.7}.altcha-code-challenge-image{background-color:#fff;border:1px solid currentColor;border-radius:3px;box-sizing:border-box;object-fit:contain;height:50px;width:220px}.altcha-code-challenge-audio,.altcha-code-challenge-reload{background:color-mix(in srgb,var(--altcha-color-text, currentColor) 10%,transparent);border:0;border-radius:3px;color:var(--altcha-color-text, currentColor);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem}.altcha-code-challenge-audio:disabled,.altcha-code-challenge-reload:disabled,.altcha-code-challenge-verify:disabled{opacity:.7;pointer-events:none}.altcha-code-challenge-audio>*,.altcha-code-challenge-reload>*{height:20px;width:20px}.altcha-code-challenge-buttons{display:flex;justify-content:space-between}.altcha-code-challenge-buttons-left{display:flex;gap:.25rem}.altcha-code-challenge-verify{align-items:center;background:var(--altcha-color-active, #1D1DC9);border:0;border-radius:3px;color:#fff;cursor:pointer;display:flex;gap:.5rem;font-size:100%;padding:.35rem 1rem}.altcha-code-challenge-arrow{border:6px solid transparent;border-bottom-color:var(--altcha-color-border, currentColor);content:"";height:0;left:.15rem;position:absolute;top:-12px;width:0}.altcha[data-floating=top] .altcha-code-challenge{top:-150px}.altcha[data-floating=top] .altcha-code-challenge-arrow{border-bottom-color:transparent;border-top-color:var(--altcha-color-border, currentColor);bottom:-12px;top:auto}.altcha-label{cursor:pointer;flex-grow:1}.altcha-logo{color:currentColor!important;opacity:.7}.altcha-footer:hover,.altcha-logo:hover{opacity:1}.altcha-error{color:var(--altcha-color-error-text, #f23939);display:flex;font-size:.85rem;gap:.3rem;padding:0 .7rem .7rem}.altcha-footer{align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:.75rem;opacity:.7;justify-content:end;padding:.2rem .7rem}.altcha-footer a{color:currentColor}.altcha-checkbox{display:flex;align-items:center;justify-content:center;height:24px;position:relative;width:24px}.altcha-checkbox .altcha-spinner{bottom:0;left:0;position:absolute;right:0;top:0}.altcha-checkbox input{width:18px;height:18px;margin:0}.altcha-checkbox-verifying input{appearance:none;opacity:0;pointer-events:none}.altcha-spinner{animation:altcha-spinner .75s infinite linear;transform-origin:center}.altcha-overlay{--altcha-color-base:#fff;--altcha-color-text:#000;animation:overlay-slidein .5s forwards;display:flex;flex-direction:column;gap:.5rem;left:50%;width:260px;opacity:0;position:fixed;top:45%;transform:translate(-50%,-50%)}.altcha-overlay-backdrop{background:rgba(0,0,0,.5);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:99999999}.altcha-overlay-close-button{align-self:flex-end;background:0 0;border:0;padding:.25rem;cursor:pointer;color:currentColor;font-size:130%;line-height:1;opacity:.7}@media (max-height:450px){.altcha-overlay{top:10%!important;transform:translate(-50%,0)}}';function Is(e,t="__altcha-css"){if(!document.getElementById(t)){const r=document.createElement("style");r.id=t,r.textContent=e,document.head.appendChild(r)}}globalThis.altchaCreateWorker=e=>e?new Worker(new URL(e)):new es,Is(Ts);export{Es as Altcha}; \ No newline at end of file