1(function(factory){typeof define==="function"&&define.amd?define(factory):factory()})((function(){"use strict";const DEV=!1;var is_array=Array.isArray;var index_of=Array.prototype.indexOf;var includes=Array.prototype.includes;var array_from=Array.from;var object_keys=Object.keys;var define_property=Object.defineProperty;var get_descriptor=Object.getOwnPropertyDescriptor;var get_descriptors=Object.getOwnPropertyDescriptors;var object_prototype=Object.prototype;var array_prototype=Array.prototype;var get_prototype_of=Object.getPrototypeOf;var is_extensible=Object.isExtensible;const noop=()=>{};function run_all(arr){for(var i=0;i<arr.length;i++){arr[i]()}} 2function deferred(){var resolve;var reject;var promise=new Promise((res,rej)=>{resolve=res;reject=rej});return{promise,resolve,reject}} 3const DERIVED=1<<1;const EFFECT=1<<2;const RENDER_EFFECT=1<<3;const MANAGED_EFFECT=1<<24;const BLOCK_EFFECT=1<<4;const BRANCH_EFFECT=1<<5;const ROOT_EFFECT=1<<6;const BOUNDARY_EFFECT=1<<7;const CONNECTED=1<<9;const CLEAN=1<<10;const DIRTY=1<<11;const MAYBE_DIRTY=1<<12;const INERT=1<<13;const DESTROYED=1<<14;const REACTION_RAN=1<<15;const DESTROYING=1<<25;const EFFECT_TRANSPARENT=1<<16;const EAGER_EFFECT=1<<17;const HEAD_EFFECT=1<<18;const EFFECT_PRESERVED=1<<19;const USER_EFFECT=1<<20;const WAS_MARKED=1<<16;const REACTION_IS_UPDATING=1<<21;const ASYNC=1<<22;const ERROR_VALUE=1<<23;const STATE_SYMBOL=Symbol("$state");const LEGACY_PROPS=Symbol("legacy props");const LOADING_ATTR_SYMBOL=Symbol("");const ATTRIBUTES_CACHE=Symbol("attributes");const CLASS_CACHE=Symbol("class");const STYLE_CACHE=Symbol("style");const TEXT_CACHE=Symbol("text");const FORM_RESET_HANDLER=Symbol("form reset");const STALE_REACTION=new class StaleReactionError extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"}();const IS_XHTML=(!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"));const TEXT_NODE=3;const COMMENT_NODE=8;function equals(value){return value===this.v} 4function safe_not_equal(a,b){return a!=a?b==b:a!==b||a!==null&&typeof a==="object"||typeof a==="function"} 5function safe_equals(value){return!safe_not_equal(value,this.v)} 6function lifecycle_outside_component(name){{throw new Error(`https://svelte.dev/e/lifecycle_outside_component`)}} 7function async_derived_orphan(){{throw new Error(`https://svelte.dev/e/async_derived_orphan`)}} 8function effect_in_teardown(rune){{throw new Error(`https://svelte.dev/e/effect_in_teardown`)}} 9function effect_in_unowned_derived(){{throw new Error(`https://svelte.dev/e/effect_in_unowned_derived`)}} 10function effect_orphan(rune){{throw new Error(`https://svelte.dev/e/effect_orphan`)}} 11function effect_update_depth_exceeded(){{throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}} 12function hydration_failed(){{throw new Error(`https://svelte.dev/e/hydration_failed`)}} 13function state_descriptors_fixed(){{throw new Error(`https://svelte.dev/e/state_descriptors_fixed`)}} 14function state_prototype_fixed(){{throw new Error(`https://svelte.dev/e/state_prototype_fixed`)}} 15function state_unsafe_mutation(){{throw new Error(`https://svelte.dev/e/state_unsafe_mutation`)}} 16function svelte_boundary_reset_onerror(){{throw new Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}} 17let tracing_mode_flag=!1;const TEMPLATE_FRAGMENT=1;const TEMPLATE_USE_IMPORT_NODE=1<<1;const HYDRATION_START="[";const HYDRATION_START_ELSE="[!";const HYDRATION_START_FAILED="[?";const HYDRATION_END="]";const HYDRATION_ERROR={};const UNINITIALIZED=Symbol("uninitialized");const NAMESPACE_HTML="http://www.w3.org/1999/xhtml";const NAMESPACE_SVG="http://www.w3.org/2000/svg";const NAMESPACE_MATHML="http://www.w3.org/1998/Math/MathML";const ATTACHMENT_KEY="@attach";let component_context=null;function set_component_context(context){component_context=context} 18function push(props,runes=!1,fn){component_context={p:component_context,i:!1,c:null,e:null,s:props,x:null,r:(active_effect),l:null}} 19function pop(component2){var context=(component_context);var effects=context.e;if(effects!==null){context.e=null;for(var fn of effects){create_user_effect(fn)}} 20if(component2!==void 0){context.x=component2} 21context.i=!0;component_context=context.p;return component2??{}} 22function is_runes(){return!0} 23let micro_tasks=[];function run_micro_tasks(){var tasks=micro_tasks;micro_tasks=[];run_all(tasks)} 24function queue_micro_task(fn){if(micro_tasks.length===0&&!is_flushing_sync){var tasks=micro_tasks;queueMicrotask(()=>
24{if(tasks===micro_tasks)run_micro_tasks()})} 25micro_tasks.push(fn)} 26function flush_tasks(){while(micro_tasks.length>0){run_micro_tasks()}} 27function derived_inert(){{console.warn(`https://svelte.dev/e/derived_inert`)}} 28function hydration_mismatch(location2){{console.warn(`https://svelte.dev/e/hydration_mismatch`)}} 29function select_multiple_invalid_value(){{console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}} 30function svelte_boundary_reset_noop(){{console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}} 31let hydrating=!1;function set_hydrating(value){hydrating=value} 32let hydrate_node;function set_hydrate_node(node){if(node===null){hydration_mismatch();throw HYDRATION_ERROR} 33return hydrate_node=node} 34function hydrate_next(){return set_hydrate_node(get_next_sibling(hydrate_node))} 35function reset(node){if(!hydrating)return;if(get_next_sibling(hydrate_node)!==null){hydration_mismatch();throw HYDRATION_ERROR} 36hydrate_node=node} 37function next(count=1){if(hydrating){var i=count;var node=hydrate_node;while(i--){node=get_next_sibling(node)} 38hydrate_node=node}} 39function skip_nodes(remove=!0){var depth=0;var node=hydrate_node;while(!0){if(node.nodeType===COMMENT_NODE){var data=(node.data);if(data===HYDRATION_END){if(depth===0)return node;depth-=1}else if(data===HYDRATION_START||data===HYDRATION_START_ELSE||data[0]==="["&&!isNaN(Number(data.slice(1)))){depth+=1}} 40var next2=(get_next_sibling(node));if(remove)node.remove();node=next2}} 41function read_hydration_instruction(node){if(!node||node.nodeType!==COMMENT_NODE){hydration_mismatch();throw HYDRATION_ERROR} 42return(node.data)} 43function proxy(value){if(typeof value!=="object"||value===null||STATE_SYMBOL in value){return value} 44const prototype=get_prototype_of(value);if(prototype!==object_prototype&&prototype!==array_prototype){return value} 45var sources=new Map();var is_proxied_array=is_array(value);var version=state(0);var parent_version=update_version;var with_parent=(fn)=>{if(update_version===parent_version){return fn()} 46var reaction=active_reaction;var version2=update_version;set_active_reaction(null);set_update_version(parent_version);var result=fn();set_active_reaction(reaction);set_update_version(version2);return result};if(is_proxied_array){sources.set("length",state(value.length))} 47return new Proxy(value,{defineProperty(_,prop2,descriptor){if(!("value" in descriptor)||descriptor.configurable===!1||descriptor.enumerable===!1||descriptor.writable===!1){state_descriptors_fixed()} 48var s=sources.get(prop2);if(s===void 0){with_parent(()=>{var s2=state(descriptor.value);sources.set(prop2,s2);return s2})}else{set(s,descriptor.value,!0)} 49return!0},deleteProperty(target,prop2){var s=sources.get(prop2);if(s===void 0){if(prop2 in target){const s2=with_parent(()=>state(UNINITIALIZED));sources.set(prop2,s2);increment(version)}}else{set(s,UNINITIALIZED);increment(version)} 50return!0},get(target,prop2,receiver){if(prop2===STATE_SYMBOL){return value} 51var s=sources.get(prop2);var exists=prop2 in target;if(s===void 0&&(!exists||get_descriptor(target,prop2)?.writable)){s=with_parent(()=>{var p=proxy(exists?target[prop2]:UNINITIALIZED);var s2=state(p);return s2});sources.set(prop2,s)} 52if(s!==void 0){var v=get(s);return v===UNINITIALIZED?void 0:v} 53return Reflect.get(target,prop2,receiver)},getOwnPropertyDescriptor(target,prop2){var descriptor=Reflect.getOwnPropertyDescriptor(target,prop2);if(descriptor&&"value" in descriptor){var s=sources.get(prop2);if(s)descriptor.value=get(s)}else if(descriptor===void 0){var source2=sources.get(prop2);var value2=source2?.v;if(source2!==void 0&&value2!==UNINITIALIZED){return{enumerable:!0,configurable:!0,value:value2,writable:!0}}} 54return descriptor},has(target,prop2){if(prop2===STATE_SYMBOL){return!0} 55var s=sources.get(prop2);var has=s!==void 0&&s.v!==UNINITIALIZED||Reflect.has(target,prop2);if(s!==void 0||active_effect!==null&&(!has||get_descriptor(target,prop2)?.writable)){if(s===void 0){s=with_parent(()=>{var p=has?proxy(target[prop2]):UNINITIALIZED;var s2=state(p);return s2});sources.set(prop2,s)} 56var value2=get(s);if(value2===UNINITIALIZED){return!1}} 57return has},set(target,prop2,value2,receiver){var s=sources.get(prop2);var has=prop2 in target;if(is_proxied_array&&prop2==="length"){for(var i=value2;i<s.v;i+=1){var other_s=sources.get(i+"");if(other_s!==void 0){set(other_s,UNINITIALIZED)}else if(i in target){other_s=with_parent(()=>state(UNINITIALIZED));sources.set(i+"",other_s)}}} 58if(s===void 0){if(!has||get_descriptor(target,prop2)?.writable){s=with_parent(()=>state(void 0));set(s,proxy(value2));sources.set(prop2,s)}}else{has=s.v!==UNINITIALIZED;var p=with_parent(()=>proxy(value2));set(s,p)} 59var descriptor=Reflect.getOwnPropertyDescriptor(target,prop2);if(descriptor?.set){descriptor.set.call(receiver,value2)}
60if(!has){if(is_proxied_array&&typeof prop2==="string"){var ls=(sources.get("length"));var n=Number(prop2);if(Number.isInteger(n)&&n>=ls.v){set(ls,n+1)}} 61increment(version)} 62return!0},ownKeys(target){get(version);var own_keys=Reflect.ownKeys(target).filter((key3)=>{var source3=sources.get(key3);return source3===void 0||source3.v!==UNINITIALIZED});for(var[key2,source2]of sources){if(source2.v!==UNINITIALIZED&&!(key2 in target)){own_keys.push(key2)}} 63return own_keys},setPrototypeOf(){state_prototype_fixed()}})} 64function get_proxied_value(value){try{if(value!==null&&typeof value==="object"&&STATE_SYMBOL in value){return value[STATE_SYMBOL]}}catch{} 65return value} 66function is(a,b){return Object.is(get_proxied_value(a),get_proxied_value(b))} 67var $window;var $document;var is_firefox;var first_child_getter;var next_sibling_getter;function init_operations(){if($window!==void 0){return} 68$window=window;$document=document;is_firefox=/Firefox/.test(navigator.userAgent);var element_prototype=Element.prototype;var node_prototype=Node.prototype;var text_prototype=Text.prototype;first_child_getter=get_descriptor(node_prototype,"firstChild").get;next_sibling_getter=get_descriptor(node_prototype,"nextSibling").get;if(is_extensible(element_prototype)){element_prototype[CLASS_CACHE]=void 0;element_prototype[ATTRIBUTES_CACHE]=null;element_prototype[STYLE_CACHE]=void 0;element_prototype.__e=void 0} 69if(is_extensible(text_prototype)){text_prototype[TEXT_CACHE]=void 0}} 70function create_text(value=""){return document.createTextNode(value)} 71function get_first_child(node){return(first_child_getter.call(node))} 72function get_next_sibling(node){return(next_sibling_getter.call(node))} 73function child(node,is_text){if(!hydrating){return get_first_child(node)} 74var child2=get_first_child(hydrate_node);if(child2===null){child2=hydrate_node.appendChild(create_text())}else if(is_text&&child2.nodeType!==TEXT_NODE){var text2=create_text();child2?.before(text2);set_hydrate_node(text2);return text2} 75if(is_text){merge_text_nodes(child2)} 76set_hydrate_node(child2);return child2} 77function first_child(node,is_text=!1){if(!hydrating){var first=get_first_child(node);if(first instanceof Comment&&first.data==="")return get_next_sibling(first);return first} 78if(is_text){if(hydrate_node?.nodeType!==TEXT_NODE){var text2=create_text();hydrate_node?.before(text2);set_hydrate_node(text2);return text2} 79merge_text_nodes(hydrate_node)} 80return hydrate_node} 81function sibling(node,count=1,is_text=!1){let next_sibling=hydrating?hydrate_node:node;var last_sibling;while(count--){last_sibling=next_sibling;next_sibling=get_next_sibling(next_sibling)} 82if(!hydrating){return next_sibling} 83if(is_text){if(next_sibling?.nodeType!==TEXT_NODE){var text2=create_text();if(next_sibling===null){last_sibling?.after(text2)}else{next_sibling.before(text2)} 84set_hydrate_node(text2);return text2} 85merge_text_nodes(next_sibling)} 86set_hydrate_node(next_sibling);return next_sibling} 87function clear_text_content(node){node.textContent=""} 88function should_defer_append(){return!1} 89function create_element(tag,namespace,is2){let options=void 0;return(document.createElementNS(namespace??NAMESPACE_HTML,tag,options))} 90function merge_text_nodes(text2){if(text2.nodeValue.length<65536){return} 91let next2=text2.nextSibling;while(next2!==null&&next2.nodeType===TEXT_NODE){next2.remove();text2.nodeValue+=next2.nodeValue;next2=text2.nextSibling}} 92function handle_error(error){var effect2=active_effect;if(effect2===null){active_reaction.f|=ERROR_VALUE;return error} 93if((effect2.f&REACTION_RAN)===0&&(effect2.f&EFFECT)===0){throw error} 94invoke_error_boundary(error,effect2)} 95function invoke_error_boundary(error,effect2){while(effect2!==null){if((effect2.f&BOUNDARY_EFFECT)!==0){if((effect2.f&REACTION_RAN)===0){throw error} 96try{effect2.b.error(error);return}catch(e){error=e}} 97effect2=effect2.parent} 98throw error} 99const STATUS_MASK=-7169;function set_signal_status(signal,status){signal.f=signal.f&STATUS_MASK|status} 100function update_derived_status(derived2){if((derived2.f&CONNECTED)!==0||derived2.deps===null){set_signal_status(derived2,CLEAN)}else{set_signal_status(derived2,MAYBE_DIRTY)}} 101function clear_marked(deps){if(deps===null)return;for(const dep of deps){if((dep.f&DERIVED)===0||(dep.f&WAS_MARKED)===0){continue} 102dep.f^=WAS_MARKED;clear_marked(dep.deps)}} 103function defer_effect(effect2,dirty_effects,maybe_dirty_effects){if
103((effect2.f&DIRTY)!==0){dirty_effects.add(effect2)}else if((effect2.f&MAYBE_DIRTY)!==0){maybe_dirty_effects.add(effect2)} 104clear_marked(effect2.deps);set_signal_status(effect2,CLEAN)} 105function subscribe_to_store(store2,run,invalidate){if(store2==null){run(void 0);return noop} 106const unsub=untrack(()=>store2.subscribe(run,invalidate));return unsub.unsubscribe?()=>unsub.unsubscribe():unsub} 107const subscriber_queue=[];function writable(value,start=noop){let stop=null;const subscribers=new Set();function set2(new_value){if(safe_not_equal(value,new_value)){value=new_value;if(stop){const run_queue=!subscriber_queue.length;for(const subscriber of subscribers){subscriber[1]();subscriber_queue.push(subscriber,value)} 108if(run_queue){for(let i=0;i<subscriber_queue.length;i+=2){subscriber_queue[i][0](subscriber_queue[i+1])} 109subscriber_queue.length=0}}}} 110function update(fn){set2(fn(value))} 111function subscribe(run,invalidate=noop){const subscriber=[run,invalidate];subscribers.add(subscriber);if(subscribers.size===1){stop=start(set2,update)||noop} 112run(value);return()=>{subscribers.delete(subscriber);if(subscribers.size===0&&stop){stop();stop=null}}} 113return{set:set2,update,subscribe}} 114function get$1(store2){let value;subscribe_to_store(store2,(_)=>value=_)();return value} 115let IS_UNMOUNTED=Symbol("unmounted");function store_get(store2,store_name,stores){const entry=stores[store_name]??={store:null,source:mutable_source(void 0),unsubscribe:noop};if(entry.store!==store2&&!(IS_UNMOUNTED in stores)){entry.unsubscribe();entry.store=store2??null;if(store2==null){entry.source.v=void 0;entry.unsubscribe=noop}else{var is_synchronous_callback=!0;entry.unsubscribe=subscribe_to_store(store2,(v)=>{if(is_synchronous_callback){entry.source.v=v}else{set(entry.source,v)}});is_synchronous_callback=!1}} 116if(store2&&IS_UNMOUNTED in stores){return get$1(store2)} 117return get(entry.source)} 118function setup_stores(){const stores={};function cleanup(){teardown(()=>{for(var store_name in stores){const ref=stores[store_name];ref.unsubscribe()} 119define_property(stores,IS_UNMOUNTED,{enumerable:!1,value:!0})})} 120return[stores,cleanup]} 121let first_batch=null;let last_batch=null;let current_batch=null;let previous_batch=null;let batch_values=null;let last_scheduled_effect=null;let is_flushing_sync=!1;let is_processing=!1;let collected_effects=null;let legacy_updates=null;var flush_count=0;var source_stacks=new Set();let uid=1;class Batch{id=uid++;#started=!1;linked=!0;#prev=null;#next=null;async_deriveds=new Map();current=new Map();previous=new Map();unblocked=new Set();#commit_callbacks=new Set();#discard_callbacks=new Set();#fork_commit_callbacks=new Set();#pending=0;#blocking_pending=new Map();#deferred=null;#roots=[];#new_effects=[];#dirty_effects=new Set();#maybe_dirty_effects=new Set();#skipped_branches=new Map();#unskipped_branches=new Set();is_fork=!1;#decrement_queued=!1;#is_deferred(){if(this.is_fork)return!0;for(const effect2 of this.#blocking_pending.keys()){var e=effect2;var skipped=!1;while(e.parent!==null){if(this.#skipped_branches.has(e)){skipped=!0;break} 122e=e.parent} 123if(!skipped){return!0}} 124return!1} 125skip_effect(effect2){if(!this.#skipped_branches.has(effect2)){this.#skipped_branches.set(effect2,{d:[],m:[]})} 126this.#unskipped_branches.delete(effect2)} 127unskip_effect(effect2,callback=(e)=>this.schedule(e)){var tracked=this.#skipped_branches.get(effect2);if(tracked){this.#skipped_branches.delete(effect2);for(var e of tracked.d){set_signal_status(e,DIRTY);callback(e)} 128for(e of tracked.m){set_signal_status(e,MAYBE_DIRTY);callback(e)}} 129this.#unskipped_branches.add(effect2)} 130#process(){this.#started=!0;if(flush_count++>1e3){this.#unlink();infinite_loop_guard()} 131if(!this.#is_deferred()){for(const e of this.#dirty_effects){this.#maybe_dirty_effects.delete(e);set_signal_status(e,DIRTY);this.schedule(e)} 132for(const e of this.#maybe_dirty_effects){set_signal_status(e,MAYBE_DIRTY);this.schedule(e)}} 133const roots=this.#roots;this.#roots=[];this.apply();var effects=collected_effects=[];var render_effects=[];var updates=legacy_updates=[];for(const root2 of roots){try{this.#traverse(root2,effects,render_effects)}catch(e){reset_all(root2);throw e}} 134current_batch=null;if(updates.length>0){var batch=Batch.ensure();for(const e of updates){batch.schedule(e)}} 135collected_effects=null;legacy_updates=null;if(this.#is_deferred()){this.#defer_effects(render_effects);this.#defer_effects(effects);for(const[e,t]of this.#skipped_branches){reset_branch(e,t)} 136if(updates.length>0){current_batch.#process()} 137return} 138const earlier_batch=this.#find_earlier_batch();if(earlier_batch){earlier_batch.#merge(this);return} 139this.#dirty_effects.clear();this.#maybe_dirty_effects.clear();for(const fn of this.#commit_callbacks)fn(this);this.#commit_callbacks.clear();previous_batch=this;flush_queued_effects(render_effects);flush_queued_effects(effects);previous_batch=null;this.#deferred?.resolve();var next_batch=(current_batch);if(this.linked&&this.#pending===0){this.#unlink()} 140if(this.#roots.length>0){if(next_batch===null){next_batch=this;this.#link()} 141const batch2=next_batch;batch2.#roots.push(...this.#roots.filter((r2)=>!batch2.#roots.includes(r2)))} 142if(next_batch!==null){next_batch.#process()}} 143#traverse(root2,effects,render_effects){root2.f^=CLEAN;var effect2=root2.first;while(effect2!==null){var flags2=effect2.f;var is_branch=(flags2&(BRANCH_EFFECT|ROOT_EFFECT))!==0;var is_skippable_branch=is_branch&&(flags2&CLEAN)!==0;var skip=is_skippable_branch||(flags2&INERT)!==0||this.#skipped_branches.has(effect2);if(!skip&&effect2.fn!==null){if(is_branch){effect2.f^=CLEAN}else if((flags2&EFFECT)!==0){effects.push(effect2)}else if(is_dirty(effect2)){if((flags2&BLOCK_EFFECT)!==0)this.#maybe_dirty_effects.add(effect2);update_effect(effect2)} 144var child2=effect2.first;if(child2!==null){effect2=child2;continue}} 145while(effect2!==null){var next2=effect2.next;if(next2!==null){effect2=next2;break} 146effect2=effect2.parent}}} 147#find_earlier_batch(){var batch=this.#prev;while(batch!==null){if(!batch.is_fork){for(const[value,[,is_derived]]of this.current){if(batch.current.has(value)&&!is_derived){return batch}}} 148batch=batch.#prev} 149return null}
150#merge(batch){for(const[source2,value]of batch.current){if(!this.previous.has(source2)&&batch.previous.has(source2)){this.previous.set(source2,batch.previous.get(source2))} 151this.current.set(source2,value)} 152for(const[effect2,deferred2]of batch.async_deriveds){const d=this.async_deriveds.get(effect2);if(d)deferred2.promise.then(d.resolve)} 153const mark=(value)=>{var reactions=value.reactions;if(reactions===null)return;for(const reaction of reactions){var flags2=reaction.f;if((flags2&DERIVED)!==0){mark(reaction)}else{var effect2=(reaction);if(flags2&(ASYNC|BLOCK_EFFECT)&&!this.async_deriveds.has(effect2)){this.#maybe_dirty_effects.delete(effect2);set_signal_status(effect2,DIRTY);this.schedule(effect2)}}}};for(const source2 of this.current.keys()){mark(source2)} 154this.oncommit(()=>batch.discard());batch.#unlink();current_batch=this;this.#process()} 155#defer_effects(effects){for(var i=0;i<effects.length;i+=1){defer_effect(effects[i],this.#dirty_effects,this.#maybe_dirty_effects)}} 156capture(source2,value,is_derived=!1){if(source2.v!==UNINITIALIZED&&!this.previous.has(source2)){this.previous.set(source2,source2.v)} 157if((source2.f&ERROR_VALUE)===0){this.current.set(source2,[value,is_derived]);batch_values?.set(source2,value)} 158if(!this.is_fork){source2.v=value}} 159activate(){current_batch=this} 160deactivate(){current_batch=null;batch_values=null} 161flush(){try{if(DEV);is_processing=!0;current_batch=this;this.#process()}finally{flush_count=0;last_scheduled_effect=null;collected_effects=null;legacy_updates=null;is_processing=!1;current_batch=null;batch_values=null;old_values.clear()}} 162discard(){for(const fn of this.#discard_callbacks)fn(this);this.#discard_callbacks.clear();this.#fork_commit_callbacks.clear();this.#unlink()} 163register_created_effect(effect2){this.#new_effects.push(effect2)} 164#commit(){this.#unlink();for(let batch=first_batch;batch!==null;batch=batch.#next){var is_earlier=batch.id<this.id;var sources=[];for(const[source3,[value,is_derived]]of this.current){if(batch.current.has(source3)){var batch_value=(batch.current.get(source3)[0]);if(is_earlier&&value!==batch_value){batch.current.set(source3,[value,is_derived])}else{continue}} 165sources.push(source3)} 166if(is_earlier){for(const[effect2,deferred2]of this.async_deriveds){const d=batch.async_deriveds.get(effect2);if(d)deferred2.promise.then(d.resolve)}} 167if(!batch.#started)continue;var others=[...batch.current.keys()].filter((s)=>!this.current.has(s));if(others.length===0){if(is_earlier){batch.discard()}}else if(sources.length>0){if(is_earlier){for(const unskipped of this.#unskipped_branches){batch.unskip_effect(unskipped,(e)=>{if((e.f&(BLOCK_EFFECT|ASYNC))!==0){batch.schedule(e)}else{batch.#defer_effects([e])}})}} 168batch.activate();var marked=new Set();var checked=new Map();for(var source2 of sources){mark_effects(source2,others,marked,checked)} 169checked=new Map();var current_unequal=[...batch.current.keys()].filter((c)=>this.current.has(c)?(this.current.get(c)[0]!==c.v):!0);if(current_unequal.length>0){for(const effect2 of this.#new_effects){if((effect2.f&(DESTROYED|INERT|EAGER_EFFECT))===0&&depends_on(effect2,current_unequal,checked)){if((effect2.f&(ASYNC|BLOCK_EFFECT))!==0){set_signal_status(effect2,DIRTY);batch.schedule(effect2)}else{batch.#dirty_effects.add(effect2)}}}} 170if(batch.#roots.length>0){batch.apply();for(var root2 of batch.#roots){batch.#traverse(root2,[],[])} 171batch.#roots=[]} 172batch.deactivate()}}} 173increment(blocking,effect2){this.#pending+=1;if(blocking){let blocking_pending_count=this.#blocking_pending.get(effect2)??0;this.#blocking_pending.set(effect2,blocking_pending_count+1)}} 174decrement(blocking,effect2){this.#pending-=1;if(blocking){let blocking_pending_count=this.#blocking_pending.get(effect2)??0;if(blocking_pending_count===1){this.#blocking_pending.delete(effect2)}else{this.#blocking_pending.set(effect2,blocking_pending_count-1)}} 175if(this.#decrement_queued)return;this.#decrement_queued=!0;queue_micro_task(()=>{this.#decrement_queued=!1;if(this.linked){this.flush()}})} 176transfer_effects(dirty_effects,maybe_dirty_effects){for(const e of dirty_effects){this.#dirty_effects.add(e)} 177for(const e of maybe_dirty_effects){this.#maybe_dirty_effects.add(e)} 178dirty_effects.clear();maybe_dirty_effects.clear()} 179oncommit(fn){this.#commit_callbacks.add(fn)} 180ondiscard(fn){this.#discard_callbacks.add(fn)} 181on_fork_commit(fn){this.#fork_commit_callbacks.add(fn)} 182run_fork_commit_callbacks(){for(const fn of this.#fork_commit_callbacks)fn(this);this.#fork_commit_callbacks.clear()} 183settled(){return(this.#deferred??=deferred()).promise} 184static ensure(){if(current_batch===null){const batch=current_batch=new Batch();batch.#link();if(!is_processing&&!is_flushing_sync){queue_micro_task(()=>
184{if(!batch.#started){batch.flush()}})}} 185return current_batch} 186apply(){{batch_values=null;return}} 187schedule(effect2){last_scheduled_effect=effect2;if(effect2.b?.is_pending&&(effect2.f&(EFFECT|RENDER_EFFECT|MANAGED_EFFECT))!==0&&(effect2.f&REACTION_RAN)===0){effect2.b.defer_effect(effect2);return} 188var e=effect2;while(e.parent!==null){e=e.parent;var flags2=e.f;if(collected_effects!==null&&e===active_effect){if((active_reaction===null||(active_reaction.f&DERIVED)===0)&&!0){return}} 189if((flags2&(ROOT_EFFECT|BRANCH_EFFECT))!==0){if((flags2&CLEAN)===0){return} 190e.f^=CLEAN}} 191this.#roots.push(e)} 192#link(){if(last_batch===null){first_batch=last_batch=this}else{last_batch.#next=this;this.#prev=last_batch} 193last_batch=this} 194#unlink(){var prev=this.#prev;var next2=this.#next;if(prev===null){first_batch=next2}else{prev.#next=next2} 195if(next2===null){last_batch=prev}else{next2.#prev=prev} 196this.linked=!1}} 197function flushSync(fn){var was_flushing_sync=is_flushing_sync;is_flushing_sync=!0;try{var result;if(fn);while(!0){flush_tasks();if(current_batch===null){return(result)} 198current_batch.flush()}}finally{is_flushing_sync=was_flushing_sync}} 199function infinite_loop_guard(){try{effect_update_depth_exceeded()}catch(error){invoke_error_boundary(error,last_scheduled_effect)}} 200let eager_block_effects=null;function flush_queued_effects(effects){var length=effects.length;if(length===0)return;var i=0;while(i<length){var effect2=effects[i++];if((effect2.f&(DESTROYED|INERT))===0&&is_dirty(effect2)){eager_block_effects=new Set();update_effect(effect2);if(effect2.deps===null&&effect2.first===null&&effect2.nodes===null&&effect2.teardown===null&&effect2.ac===null){unlink_effect(effect2)} 201if(eager_block_effects?.size>0){old_values.clear();for(const e of eager_block_effects){if((e.f&(DESTROYED|INERT))!==0)continue;const ordered_effects=[e];let ancestor=e.parent;while(ancestor!==null){if(eager_block_effects.has(ancestor)){eager_block_effects.delete(ancestor);ordered_effects.push(ancestor)} 202ancestor=ancestor.parent} 203for(let j=ordered_effects.length-1;j>=0;j--){const e2=ordered_effects[j];if((e2.f&(DESTROYED|INERT))!==0)continue;update_effect(e2)}} 204eager_block_effects.clear()}}} 205eager_block_effects=null} 206function mark_effects(value,sources,marked,checked){if(marked.has(value))return;marked.add(value);if(value.reactions!==null){for(const reaction of value.reactions){const flags2=reaction.f;if((flags2&DERIVED)!==0){mark_effects(reaction,sources,marked,checked)}else if((flags2&(ASYNC|BLOCK_EFFECT))!==0&&(flags2&DIRTY)===0&&depends_on(reaction,sources,checked)){set_signal_status(reaction,DIRTY);schedule_effect(reaction)}}}} 207function depends_on(reaction,sources,checked){const depends=checked.get(reaction);if(depends!==void 0)return depends;if(reaction.deps!==null){for(const dep of reaction.deps){if(includes.call(sources,dep)){return!0} 208if((dep.f&DERIVED)!==0&&depends_on(dep,sources,checked)){checked.set(dep,!0);return!0}}} 209checked.set(reaction,!1);return!1} 210function schedule_effect(effect2){current_batch.schedule(effect2)} 211function reset_branch(effect2,tracked){if((effect2.f&BRANCH_EFFECT)!==0&&(effect2.f&CLEAN)!==0){return} 212if((effect2.f&DIRTY)!==0){tracked.d.push(effect2)}else if((effect2.f&MAYBE_DIRTY)!==0){tracked.m.push(effect2)} 213set_signal_status(effect2,CLEAN);var e=effect2.first;while(e!==null){reset_branch(e,tracked);e=e.next}} 214function reset_all(effect2){set_signal_status(effect2,CLEAN);var e=effect2.first;while(e!==null){reset_all(e);e=e.next}} 215function createSubscriber(start){let subscribers=0;let version=source(0);let stop;return()=>{if(effect_tracking()){get(version);render_effect(()=>{if(subscribers===0){stop=untrack(()=>start(()=>increment(version)))} 216subscribers+=1;return()=>{queue_micro_task(()=>{subscribers-=1;if(subscribers===0){stop?.();stop=void 0;increment(version)}})}})}}} 217var flags=EFFECT_TRANSPARENT|EFFECT_PRESERVED;function boundary(node,props,children,transform_error){new Boundary(node,props,children,transform_error)} 218class Boundary{parent;is_pending=!1;transform_error;#anchor;#hydrate_open=hydrating?hydrate_node:null;#props;#children;#effect;#main_effect=null;#pending_effect=null;#failed_effect=null;#offscreen_fragment=null;#local_pending_count=0;#pending_count=0;#pending_count_update_queued=!1;#dirty_effects=new Set();#maybe_dirty_effects=new Set();#effect_pending=null;#effect_pending_subscriber=createSubscriber(()=>{this.#effect_pending=source(this.#local_pending_count);return()=>{this.#effect_pending=null}});constructor(node,props,children,transform_error){this.#anchor=node;this.#props=props;this.#children=(anchor)=>{var effect2=(active_effect);effect2.b=this;effect2.f|=BOUNDARY_EFFECT;children(anchor)};this.parent=active_effect.b;this.transform_error=transform_error??this.parent?.transform_error??((e)=>e);this.#effect=block(()=>
218{if(hydrating){const comment2=(this.#hydrate_open);hydrate_next();const server_rendered_pending=comment2.data===HYDRATION_START_ELSE;const server_rendered_failed=comment2.data.startsWith(HYDRATION_START_FAILED);if(server_rendered_failed){const serialized_error=JSON.parse(comment2.data.slice(HYDRATION_START_FAILED.length));this.#hydrate_failed_content(serialized_error)}else if(server_rendered_pending){this.#hydrate_pending_content()}else{this.#hydrate_resolved_content()}}else{this.#render()}},flags);if(hydrating){this.#anchor=hydrate_node}} 219#hydrate_resolved_content(){try{this.#main_effect=branch(()=>this.#children(this.#anchor))}catch(error){this.error(error)}} 220#hydrate_failed_content(error){const failed=this.#props.failed;if(!failed)return;this.#failed_effect=branch(()=>{failed(this.#anchor,()=>error,()=>()=>{})})} 221#hydrate_pending_content(){const pending=this.#props.pending;if(!pending)return;this.is_pending=!0;this.#pending_effect=branch(()=>pending(this.#anchor));queue_micro_task(()=>{var fragment=this.#offscreen_fragment=document.createDocumentFragment();var anchor=create_text();fragment.append(anchor);this.#main_effect=this.#run(()=>{return branch(()=>this.#children(anchor))});if(this.#pending_count===0){this.#anchor.before(fragment);this.#offscreen_fragment=null;pause_effect(this.#pending_effect,()=>{this.#pending_effect=null});this.#resolve(current_batch)}})} 222#render(){try{this.is_pending=this.has_pending_snippet();this.#pending_count=0;this.#local_pending_count=0;this.#main_effect=branch(()=>{this.#children(this.#anchor)});if(this.#pending_count>0){var fragment=this.#offscreen_fragment=document.createDocumentFragment();move_effect(this.#main_effect,fragment);const pending=(this.#props.pending);this.#pending_effect=branch(()=>pending(this.#anchor))}else{this.#resolve(current_batch)}}catch(error){this.error(error)}} 223#resolve(batch){this.is_pending=!1;batch.transfer_effects(this.#dirty_effects,this.#maybe_dirty_effects)} 224defer_effect(effect2){defer_effect(effect2,this.#dirty_effects,this.#maybe_dirty_effects)} 225is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())} 226has_pending_snippet(){return!!this.#props.pending} 227#run(fn){var previous_effect=active_effect;var previous_reaction=active_reaction;var previous_ctx=component_context;set_active_effect(this.#effect);set_active_reaction(this.#effect);set_component_context(this.#effect.ctx);try{Batch.ensure();return fn()}catch(e){handle_error(e);return null}finally{set_active_effect(previous_effect);set_active_reaction(previous_reaction);set_component_context(previous_ctx)}} 228#update_pending_count(d,batch){if(!this.has_pending_snippet()){if(this.parent){this.parent.#update_pending_count(d,batch)} 229return} 230this.#pending_count+=d;if(this.#pending_count===0){this.#resolve(batch);if(this.#pending_effect){pause_effect(this.#pending_effect,()=>{this.#pending_effect=null})} 231if(this.#offscreen_fragment){this.#anchor.before(this.#offscreen_fragment);this.#offscreen_fragment=null}}} 232update_pending_count(d,batch){this.#update_pending_count(d,batch);this.#local_pending_count+=d;if(!this.#effect_pending||this.#pending_count_update_queued)return;this.#pending_count_update_queued=!0;queue_micro_task(()=>{this.#pending_count_update_queued=!1;if(this.#effect_pending){internal_set(this.#effect_pending,this.#local_pending_count)}})} 233get_effect_pending(){this.#effect_pending_subscriber();return get(this.#effect_pending)} 234error(error){if(!this.#props.onerror&&!this.#props.failed){throw error} 235if(current_batch?.is_fork){if(this.#main_effect)current_batch.skip_effect(this.#main_effect);if(this.#pending_effect)current_batch.skip_effect(this.#pending_effect);if(this.#failed_effect)current_batch.skip_effect(this.#failed_effect);current_batch.on_fork_commit(()=>{this.#handle_error(error)})}else{this.#handle_error(error)}} 236#handle_error(error){if(this.#main_effect){destroy_effect(this.#main_effect);this.#main_effect=null} 237if(this.#pending_effect){destroy_effect(this.#pending_effect);this.#pending_effect=null} 238if(this.#failed_effect){destroy_effect(this.#failed_effect);this.#failed_effect=null} 239if(hydrating){set_hydrate_node(this.#hydrate_open);next();set_hydrate_node(skip_nodes())} 240var onerror=this.#props.onerror;let failed=this.#props.failed;var did_reset=!1;var calling_on_error=!1;const reset2=()=>{if(did_reset){svelte_boundary_reset_noop();return} 241did_reset=!0;
241if(calling_on_error){svelte_boundary_reset_onerror()} 242if(this.#failed_effect!==null){pause_effect(this.#failed_effect,()=>{this.#failed_effect=null})} 243this.#run(()=>{this.#render()})};const handle_error_result=(transformed_error)=>{try{calling_on_error=!0;onerror?.(transformed_error,reset2);calling_on_error=!1}catch(error2){invoke_error_boundary(error2,this.#effect&&this.#effect.parent)} 244if(failed){this.#failed_effect=this.#run(()=>{try{return branch(()=>{var effect2=(active_effect);effect2.b=this;effect2.f|=BOUNDARY_EFFECT;failed(this.#anchor,()=>transformed_error,()=>reset2)})}catch(error2){invoke_error_boundary(error2,this.#effect.parent);return null}})}};queue_micro_task(()=>{var result;try{result=this.transform_error(error)}catch(e){invoke_error_boundary(e,this.#effect&&this.#effect.parent);return} 245if(result!==null&&typeof result==="object"&&typeof result.then==="function"){result.then(handle_error_result,(e)=>invoke_error_boundary(e,this.#effect&&this.#effect.parent))}else{handle_error_result(result)}})}} 246function flatten(blockers,sync,async,fn){const d=derived;var pending=blockers.filter((b)=>!b.settled);if(async.length===0&&pending.length===0){fn(sync.map(d));return} 247var parent=(active_effect);var restore=capture();var blocker_promise=pending.length===1?pending[0].promise:pending.length>1?Promise.all(pending.map((b)=>b.promise)):null;function finish(values){if((parent.f&DESTROYED)!==0){return} 248restore();try{fn(values)}catch(error){invoke_error_boundary(error,parent)} 249unset_context()} 250var decrement_pending=increment_pending();if(async.length===0){blocker_promise.then(()=>finish(sync.map(d))).finally(decrement_pending);return} 251function run(){Promise.all(async.map((expression)=>async_derived(expression))).then((result)=>finish([...sync.map(d),...result])).catch((error)=>invoke_error_boundary(error,parent)).finally(decrement_pending)} 252if(blocker_promise){blocker_promise.then(()=>{restore();run();unset_context()})}else{run()}} 253function capture(){var previous_effect=(active_effect);var previous_reaction=active_reaction;var previous_component_context=component_context;var previous_batch2=(current_batch);return function restore(activate_batch=!0){set_active_effect(previous_effect);set_active_reaction(previous_reaction);set_component_context(previous_component_context);if(activate_batch&&(previous_effect.f&DESTROYED)===0){previous_batch2?.activate();previous_batch2?.apply()}}} 254function unset_context(deactivate_batch=!0){set_active_effect(null);set_active_reaction(null);set_component_context(null);if(deactivate_batch)current_batch?.deactivate()} 255function increment_pending(){var effect2=(active_effect);var boundary2=(effect2.b);var batch=(current_batch);var blocking=boundary2.is_rendered();boundary2.update_pending_count(1,batch);batch.increment(blocking,effect2);return()=>{boundary2.update_pending_count(-1,batch);batch.decrement(blocking,effect2)}} 256function derived(fn){var flags2=DERIVED|DIRTY;if(active_effect!==null){active_effect.f|=EFFECT_PRESERVED} 257const signal={ctx:component_context,deps:null,effects:null,equals,f:flags2,fn,reactions:null,rv:0,v:(UNINITIALIZED),wv:0,parent:active_effect,ac:null};return signal} 258const OBSOLETE=Symbol("obsolete");function async_derived(fn,label,location2){let parent=(active_effect);if(parent===null){async_derived_orphan()} 259var promise=(void 0);var signal=source(UNINITIALIZED);var should_suspend=!active_reaction;var deferreds=new Set();async_effect(()=>{var effect2=(active_effect);var d=deferred();promise=d.promise;try{Promise.resolve(fn()).then(d.resolve,(e)=>{if(e!==STALE_REACTION)d.reject(e)}).finally(unset_context)}catch(error){d.reject(error);unset_context()} 260var batch=(current_batch);if(should_suspend){if((effect2.f&REACTION_RAN)!==0){var decrement_pending=increment_pending()} 261if(parent.b.is_rendered()){batch.async_deriveds.get(effect2)?.reject(OBSOLETE)}else{for(const d2 of deferreds.values()){d2.reject(OBSOLETE)}} 262deferreds.add(d);batch.async_deriveds.set(effect2,d)} 263const handler=(value,error=void 0)=>{decrement_pending?.();deferreds.delete(d);if(error===OBSOLETE)return;batch.activate();if(error){signal.f|=ERROR_VALUE;internal_set(signal,error)}else{if((signal.f&ERROR_VALUE)!==0){signal.f^=ERROR_VALUE} 264internal_set(signal,value)} 265batch.deactivate()};d.promise.then(handler,(e)=>handler(null,e||"unknown"))});teardown(()=>{for(const d of deferreds){d.reject(OBSOLETE)}});return new Promise((fulfil)=>{function next2(p){function go(){if(p===promise){fulfil(signal)}else{next2(promise)}} 266p.then(go,go)} 267next2(promise)})} 268function user_derived(fn){const d=derived(fn);
268push_reaction_value(d);return d} 269function destroy_derived_effects(derived2){var effects=derived2.effects;if(effects!==null){derived2.effects=null;for(var i=0;i<effects.length;i+=1){destroy_effect(effects[i])}}} 270function execute_derived(derived2){var value;var prev_active_effect=active_effect;var parent=derived2.parent;if(!is_destroying_effect&&parent!==null&&derived2.v!==UNINITIALIZED&&(parent.f&(DESTROYED|INERT))!==0){derived_inert();return derived2.v} 271set_active_effect(parent);{try{derived2.f&=~WAS_MARKED;destroy_derived_effects(derived2);value=update_reaction(derived2)}finally{set_active_effect(prev_active_effect)}} 272return value} 273function update_derived(derived2){var value=execute_derived(derived2);if(!derived2.equals(value)){derived2.wv=increment_write_version();if(!current_batch?.is_fork||derived2.deps===null){if(current_batch!==null){current_batch.capture(derived2,value,!0);previous_batch?.capture(derived2,value,!0)}else{derived2.v=value} 274if(derived2.deps===null){set_signal_status(derived2,CLEAN);return}}} 275if(is_destroying_effect){return} 276if(batch_values!==null){if(effect_tracking()||current_batch?.is_fork){batch_values.set(derived2,value)}}else{update_derived_status(derived2)}} 277function freeze_derived_effects(derived2){if(derived2.effects===null)return;for(const e of derived2.effects){if(e.teardown||e.ac){e.teardown?.();e.ac?.abort(STALE_REACTION);if(e.fn!==null)e.teardown=noop;e.ac=null;remove_reactions(e,0);destroy_effect_children(e)}}} 278function unfreeze_derived_effects(derived2){if(derived2.effects===null)return;for(const e of derived2.effects){if(e.teardown&&e.fn!==null){update_effect(e)}}} 279let eager_effects=new Set();const old_values=new Map();let eager_effects_deferred=!1;function source(v,stack){var signal={f:0,v,reactions:null,equals,rv:0,wv:0};return signal} 280function state(v,stack){const s=source(v);push_reaction_value(s);return s} 281function mutable_source(initial_value,immutable=!1,trackable=!0){const s=source(initial_value);if(!immutable){s.equals=safe_equals} 282return s} 283function set(source2,value,should_proxy=!1){if(active_reaction!==null&&(!untracking||(active_reaction.f&EAGER_EFFECT)!==0)&&is_runes()&&(active_reaction.f&(DERIVED|BLOCK_EFFECT|ASYNC|EAGER_EFFECT))!==0&&(current_sources===null||!includes.call(current_sources,source2))){state_unsafe_mutation()} 284let new_value=should_proxy?proxy(value):value;return internal_set(source2,new_value,legacy_updates)} 285function internal_set(source2,value,updated_during_traversal=null){if(!source2.equals(value)){old_values.set(source2,is_destroying_effect?value:source2.v);var batch=Batch.ensure();batch.capture(source2,value);if((source2.f&DERIVED)!==0){const derived2=(source2);if((source2.f&DIRTY)!==0){execute_derived(derived2)} 286if(batch_values===null){update_derived_status(derived2)}} 287source2.wv=increment_write_version();mark_reactions(source2,DIRTY,updated_during_traversal);if(active_effect!==null&&(active_effect.f&CLEAN)!==0&&(active_effect.f&(BRANCH_EFFECT|ROOT_EFFECT))===0){if(untracked_writes===null){set_untracked_writes([source2])}else{untracked_writes.push(source2)}} 288if(!batch.is_fork&&eager_effects.size>0&&!eager_effects_deferred){flush_eager_effects()}} 289return value} 290function flush_eager_effects(){eager_effects_deferred=!1;for(const effect2 of eager_effects){if((effect2.f&CLEAN)!==0){set_signal_status(effect2,MAYBE_DIRTY)} 291let dirty;try{dirty=is_dirty(effect2)}catch{dirty=!0} 292if(dirty){update_effect(effect2)}} 293eager_effects.clear()} 294function increment(source2){set(source2,source2.v+1)} 295function mark_reactions(signal,status,updated_during_traversal){var reactions=signal.reactions;if(reactions===null)return;var length=reactions.length;for(var i=0;i<length;i++){var reaction=reactions[i];var flags2=reaction.f;var not_dirty=(flags2&DIRTY)===0;if(not_dirty){set_signal_status(reaction,status)} 296if((flags2&EAGER_EFFECT)!==0){eager_effects.add(reaction)}else if((flags2&DERIVED)!==0){var derived2=(reaction);batch_values?.delete(derived2);if((flags2&WAS_MARKED)===0){if(flags2&CONNECTED&&(active_effect===null||(active_effect.f&REACTION_IS_UPDATING)===0)){reaction.f|=WAS_MARKED} 297mark_reactions(derived2,MAYBE_DIRTY,updated_during_traversal)}}else if(not_dirty){var effect2=(reaction);if((flags2&BLOCK_EFFECT)!==0&&eager_block_effects!==null){eager_block_effects.add(effect2)} 298if(updated_during_traversal!==null){updated_during_traversal.push(effect2)}else{schedule_effect(effect2)}}}} 299function autofocus(dom,value){if(value){const body=document.body;dom.autofocus=!0;queue_micro_task(()=>
299{if(document.activeElement===body){dom.focus()}})}} 300let listening_to_form_reset=!1;function add_form_reset_listener(){if(!listening_to_form_reset){listening_to_form_reset=!0;document.addEventListener("reset",(evt)=>{Promise.resolve().then(()=>{if(!evt.defaultPrevented){for(const e of 301evt.target.elements){e[FORM_RESET_HANDLER]?.()}}})},{capture:!0})}} 302function without_reactive_context(fn){var previous_reaction=active_reaction;var previous_effect=active_effect;set_active_reaction(null);set_active_effect(null);try{return fn()}finally{set_active_reaction(previous_reaction);set_active_effect(previous_effect)}} 303function listen_to_event_and_reset_event(element,event2,handler,on_reset=handler){element.addEventListener(event2,()=>without_reactive_context(handler));const prev=(element[FORM_RESET_HANDLER]);if(prev){element[FORM_RESET_HANDLER]=()=>{prev();on_reset(!0)}}else{element[FORM_RESET_HANDLER]=()=>on_reset(!0)} 304add_form_reset_listener()} 305let is_updating_effect=!1;let is_destroying_effect=!1;function set_is_destroying_effect(value){is_destroying_effect=value} 306let active_reaction=null;let untracking=!1;function set_active_reaction(reaction){active_reaction=reaction} 307let active_effect=null;function set_active_effect(effect2){active_effect=effect2} 308let current_sources=null;function push_reaction_value(value){if(active_reaction!==null&&!0){if(current_sources===null){current_sources=[value]}else{current_sources.push(value)}}} 309let new_deps=null;let skipped_deps=0;let untracked_writes=null;function set_untracked_writes(value){untracked_writes=value} 310let write_version=1;let read_version=0;let update_version=read_version;function set_update_version(value){update_version=value} 311function increment_write_version(){return++write_version} 312function is_dirty(reaction){var flags2=reaction.f;if((flags2&DIRTY)!==0){return!0} 313if(flags2&DERIVED){reaction.f&=~WAS_MARKED} 314if((flags2&MAYBE_DIRTY)!==0){var dependencies=(reaction.deps);var length=dependencies.length;for(var i=0;i<length;i++){var dependency=dependencies[i];if(is_dirty(dependency)){update_derived(dependency)} 315if(dependency.wv>reaction.wv){return!0}} 316if((flags2&CONNECTED)!==0&&batch_values===null){set_signal_status(reaction,CLEAN)}} 317return!1} 318function schedule_possible_effect_self_invalidation(signal,effect2,root2=!0){var reactions=signal.reactions;if(reactions===null)return;if(current_sources!==null&&includes.call(current_sources,signal)){return} 319for(var i=0;i<reactions.length;i++){var reaction=reactions[i];if((reaction.f&DERIVED)!==0){schedule_possible_effect_self_invalidation(reaction,effect2,!1)}else if(effect2===reaction){if(root2){set_signal_status(reaction,DIRTY)}else if((reaction.f&CLEAN)!==0){set_signal_status(reaction,MAYBE_DIRTY)} 320schedule_effect(reaction)}}} 321function update_reaction(reaction){var previous_deps=new_deps;var previous_skipped_deps=skipped_deps;var previous_untracked_writes=untracked_writes;var previous_reaction=active_reaction;var previous_sources=current_sources;var previous_component_context=component_context;var previous_untracking=untracking;var previous_update_version=update_version;var flags2=reaction.f;new_deps=null;skipped_deps=0;untracked_writes=null;active_reaction=(flags2&(BRANCH_EFFECT|ROOT_EFFECT))===0?reaction:null;current_sources=null;set_component_context(reaction.ctx);untracking=!1;update_version=++read_version;if(reaction.ac!==null){without_reactive_context(()=>{reaction.ac.abort(STALE_REACTION)});reaction.ac=null} 322try{reaction.f|=REACTION_IS_UPDATING;var fn=(reaction.fn);var result=fn();reaction.f|=REACTION_RAN;var deps=reaction.deps;var is_fork=current_batch?.is_fork;if(new_deps!==null){var i;if(!is_fork){remove_reactions(reaction,skipped_deps)} 323if(deps!==null&&skipped_deps>0){deps.length=skipped_deps+new_deps.length;for(i=0;i<new_deps.length;i++){deps[skipped_deps+i]=new_deps[i]}}else{reaction.deps=deps=new_deps} 324if(effect_tracking()&&(reaction.f&CONNECTED)!==0){for(i=skipped_deps;i<deps.length;i++){(deps[i].reactions??=[]).push(reaction)}}}else if(!is_fork&&deps!==null&&skipped_deps<deps.length){remove_reactions(reaction,skipped_deps);deps.length=skipped_deps} 325if(is_runes()&&untracked_writes!==null&&!untracking&&deps!==null&&(reaction.f&(DERIVED|MAYBE_DIRTY|DIRTY))===0){for(i=0;i<untracked_writes.length;i++){schedule_possible_effect_self_invalidation(untracked_writes[i],reaction)}} 326if(previous_reaction!==null&&previous_reaction!==reaction){read_version++;if(previous_reaction.deps!==null){for(let i2=0;i2<previous_skipped_deps;i2+=1){previous_reaction.deps[i2].rv=read_version}} 327if(previous_deps!==null){for(const dep of previous_deps){dep.rv=read_version}} 328if(untracked_writes!==null){if(previous_untracked_writes===null){previous_untracked_writes=untracked_writes}else{previous_untracked_writes.push(...untracked_writes)}}} 329if((reaction.f&ERROR_VALUE)!==0){reaction.f^=ERROR_VALUE} 330return result}catch(error){return handle_error(error)}finally{reaction.f^=REACTION_IS_UPDATING;new_deps=previous_deps;skipped_deps=previous_skipped_deps;untracked_writes=previous_untracked_writes;active_reaction=previous_reaction;current_sources=previous_sources;set_component_context(previous_component_context);untracking=previous_untracking;update_version=previous_update_version}} 331function remove_reaction(signal,dependency){let reactions=dependency.reactions;if(reactions!==null){var index=index_of.call(reactions,signal);if(index!==-1){var new_length=reactions.length-1;if(new_length===0){reactions=dependency.reactions=null}else{reactions[index]=reactions[new_length];reactions.pop()}}} 332if(reactions===null&&(dependency.f&DERIVED)!==0&&(new_deps===null||!includes.call(new_deps,dependency))){var derived2=(dependency);if((derived2.f&CONNECTED)!==0){derived2.f^=CONNECTED;derived2.f&=~WAS_MARKED} 333if(derived2.v!==UNINITIALIZED){update_derived_status(derived2)} 334freeze_derived_effects(derived2);remove_reactions(derived2,0)}} 335function remove_reactions(signal,start_index){var dependencies=signal.deps;if(dependencies===null)return;for(var i=start_index;i<dependencies.length;i++){remove_reaction(signal,dependencies[i])}} 336function update_effect(effect2){var flags2=effect2.f;if((flags2&DESTROYED)!==0){return} 337set_signal_status(effect2,CLEAN);var previous_effect=active_effect;var was_updating_effect=is_updating_effect;active_effect=effect2;is_updating_effect=!0;try{if((flags2&(BLOCK_EFFECT|MANAGED_EFFECT))!==0){destroy_block_effect_children(effect2)}else{destroy_effect_children(effect2)} 338execute_effect_teardown(effect2);var teardown2=update_reaction(effect2);effect2.teardown=typeof teardown2==="function"?teardown2:null;effect2.wv=write_version;var dep;if(DEV&&tracing_mode_flag&&(effect2.f&DIRTY)!==0&&effect2.deps!==null)}finally{is_updating_effect=was_updating_effect;active_effect=previous_effect}} 339async function tick(){await Promise.resolve();flushSync()} 340function get(signal){var flags2=signal.f;var is_derived=(flags2&DERIVED)!==0;
340if(active_reaction!==null&&!untracking){var destroyed=active_effect!==null&&(active_effect.f&DESTROYED)!==0;if(!destroyed&&(current_sources===null||!includes.call(current_sources,signal))){var deps=active_reaction.deps;if((active_reaction.f&REACTION_IS_UPDATING)!==0){if(signal.rv<read_version){signal.rv=read_version;if(new_deps===null&&deps!==null&&deps[skipped_deps]===signal){skipped_deps++}else if(new_deps===null){new_deps=[signal]}else{new_deps.push(signal)}}}else{(active_reaction.deps??=[]).push(signal);var reactions=signal.reactions;if(reactions===null){signal.reactions=[active_reaction]}else if(!includes.call(reactions,active_reaction)){reactions.push(active_reaction)}}}} 341if(is_destroying_effect&&old_values.has(signal)){return old_values.get(signal)} 342if(is_derived){var derived2=(signal);if(is_destroying_effect){var value=derived2.v;if((derived2.f&CLEAN)===0&&derived2.reactions!==null||depends_on_old_values(derived2)){value=execute_derived(derived2)} 343old_values.set(derived2,value);return value} 344var should_connect=(derived2.f&CONNECTED)===0&&!untracking&&active_reaction!==null&&(is_updating_effect||(active_reaction.f&CONNECTED)!==0);var is_new=(derived2.f&REACTION_RAN)===0;if(is_dirty(derived2)){if(should_connect){derived2.f|=CONNECTED} 345update_derived(derived2)} 346if(should_connect&&!is_new){unfreeze_derived_effects(derived2);reconnect(derived2)}} 347if(batch_values?.has(signal)){return batch_values.get(signal)} 348if((signal.f&ERROR_VALUE)!==0){throw signal.v} 349return signal.v} 350function reconnect(derived2){derived2.f|=CONNECTED;if(derived2.deps===null)return;for(const dep of derived2.deps){(dep.reactions??=[]).push(derived2);if((dep.f&DERIVED)!==0&&(dep.f&CONNECTED)===0){unfreeze_derived_effects(dep);reconnect(dep)}}} 351function depends_on_old_values(derived2){if(derived2.v===UNINITIALIZED)return!0;if(derived2.deps===null)return!1;for(const dep of derived2.deps){if(old_values.has(dep)){return!0} 352if((dep.f&DERIVED)!==0&&depends_on_old_values(dep)){return!0}} 353return!1} 354function untrack(fn){var previous_untracking=untracking;try{untracking=!0;return fn()}finally{untracking=previous_untracking}} 355function validate_effect(rune){if(active_effect===null){if(active_reaction===null){effect_orphan()} 356effect_in_unowned_derived()} 357if(is_destroying_effect){effect_in_teardown()}} 358function push_effect(effect2,parent_effect){var parent_last=parent_effect.last;if(parent_last===null){parent_effect.last=parent_effect.first=effect2}else{parent_last.next=effect2;effect2.prev=parent_last;parent_effect.last=effect2}} 359function create_effect(type,fn){var parent=active_effect;if(parent!==null&&(parent.f&INERT)!==0){type|=INERT} 360var effect2={ctx:component_context,deps:null,nodes:null,f:type|DIRTY|CONNECTED,first:null,fn,last:null,next:null,parent,b:parent&&parent.b,prev:null,teardown:null,wv:0,ac:null};current_batch?.register_created_effect(effect2);var e=effect2;if((type&EFFECT)!==0){if(collected_effects!==null){collected_effects.push(effect2)}else{Batch.ensure().schedule(effect2)}}else if(fn!==null){try{update_effect(effect2)}catch(e2){destroy_effect(effect2);throw e2} 361if(e.deps===null&&e.teardown===null&&e.nodes===null&&e.first===e.last&&(e.f&EFFECT_PRESERVED)===0){e=e.first;if((type&BLOCK_EFFECT)!==0&&(type&EFFECT_TRANSPARENT)!==0&&e!==null){e.f|=EFFECT_TRANSPARENT}}} 362if(e!==null){e.parent=parent;if(parent!==null){push_effect(e,parent)} 363if(active_reaction!==null&&(active_reaction.f&DERIVED)!==0&&(type&ROOT_EFFECT)===0){var derived2=(active_reaction);(derived2.effects??=[]).push(e)}} 364return effect2} 365function effect_tracking(){return active_reaction!==null&&!untracking} 366function teardown(fn){const effect2=create_effect(RENDER_EFFECT,null);set_signal_status(effect2,CLEAN);effect2.teardown=fn;return effect2} 367function user_effect(fn){validate_effect();var flags2=(active_effect.f);var defer=!active_reaction&&(flags2&BRANCH_EFFECT)!==0&&(flags2&REACTION_RAN)===0;if(defer){var context=(component_context);(context.e??=[]).push(fn)}else{return create_user_effect(fn)}} 368function create_user_effect(fn){return create_effect(EFFECT|USER_EFFECT,fn)} 369function effect_root(fn){Batch.ensure();const effect2=create_effect(ROOT_EFFECT|EFFECT_PRESERVED,fn);return()=>
369{destroy_effect(effect2)}} 370function component_root(fn){Batch.ensure();const effect2=create_effect(ROOT_EFFECT|EFFECT_PRESERVED,fn);return(options={})=>{return new Promise((fulfil)=>{if(options.outro){pause_effect(effect2,()=>{destroy_effect(effect2);fulfil(void 0)})}else{destroy_effect(effect2);fulfil(void 0)}})}} 371function effect(fn){return create_effect(EFFECT,fn)} 372function async_effect(fn){return create_effect(ASYNC|EFFECT_PRESERVED,fn)} 373function render_effect(fn,flags2=0){return create_effect(RENDER_EFFECT|flags2,fn)} 374function template_effect(fn,sync=[],async=[],blockers=[]){flatten(blockers,sync,async,(values)=>{create_effect(RENDER_EFFECT,()=>fn(...values.map(get)))})} 375function block(fn,flags2=0){var effect2=create_effect(BLOCK_EFFECT|flags2,fn);return effect2} 376function managed(fn,flags2=0){var effect2=create_effect(MANAGED_EFFECT|flags2,fn);return effect2} 377function branch(fn){return create_effect(BRANCH_EFFECT|EFFECT_PRESERVED,fn)} 378function execute_effect_teardown(effect2){var teardown2=effect2.teardown;if(teardown2!==null){const previously_destroying_effect=is_destroying_effect;const previous_reaction=active_reaction;set_is_destroying_effect(!0);set_active_reaction(null);try{teardown2.call(null)}finally{set_is_destroying_effect(previously_destroying_effect);set_active_reaction(previous_reaction)}}} 379function destroy_effect_children(signal,remove_dom=!1){var effect2=signal.first;signal.first=signal.last=null;while(effect2!==null){const controller=effect2.ac;if(controller!==null){without_reactive_context(()=>{controller.abort(STALE_REACTION)})} 380var next2=effect2.next;if((effect2.f&ROOT_EFFECT)!==0){effect2.parent=null}else{destroy_effect(effect2,remove_dom)} 381effect2=next2}} 382function destroy_block_effect_children(signal){var effect2=signal.first;while(effect2!==null){var next2=effect2.next;if((effect2.f&BRANCH_EFFECT)===0){destroy_effect(effect2)} 383effect2=next2}} 384function destroy_effect(effect2,remove_dom=!0){var removed=!1;if((remove_dom||(effect2.f&HEAD_EFFECT)!==0)&&effect2.nodes!==null&&effect2.nodes.end!==null){remove_effect_dom(effect2.nodes.start,effect2.nodes.end);removed=!0} 385set_signal_status(effect2,DESTROYING);destroy_effect_children(effect2,remove_dom&&!removed);remove_reactions(effect2,0);var transitions=effect2.nodes&&effect2.nodes.t;if(transitions!==null){for(const transition of transitions){transition.stop()}} 386execute_effect_teardown(effect2);effect2.f^=DESTROYING;effect2.f|=DESTROYED;var parent=effect2.parent;if(parent!==null&&parent.first!==null){unlink_effect(effect2)} 387effect2.next=effect2.prev=effect2.teardown=effect2.ctx=effect2.deps=effect2.fn=effect2.nodes=effect2.ac=effect2.b=null} 388function remove_effect_dom(node,end){while(node!==null){var next2=node===end?null:get_next_sibling(node);node.remove();node=next2}} 389function unlink_effect(effect2){var parent=effect2.parent;var prev=effect2.prev;var next2=effect2.next;if(prev!==null)prev.next=next2;if(next2!==null)next2.prev=prev;if(parent!==null){if(parent.first===effect2)parent.first=next2;if(parent.last===effect2)parent.last=prev}} 390function pause_effect(effect2,callback,destroy=!0){var transitions=[];pause_children(effect2,transitions,!0);var fn=()=>{if(destroy)destroy_effect(effect2);if(callback)callback()};var remaining=transitions.length;if(remaining>0){var check=()=>--remaining||fn();for(var transition of transitions){transition.out(check)}}else{fn()}} 391function pause_children(effect2,transitions,local){if((effect2.f&INERT)!==0)return;effect2.f^=INERT;var t=effect2.nodes&&effect2.nodes.t;if(t!==null){for(const transition of t){if(transition.is_global||local){transitions.push(transition)}}} 392var child2=effect2.first;while(child2!==null){var sibling2=child2.next;if((child2.f&ROOT_EFFECT)===0){var transparent=(child2.f&EFFECT_TRANSPARENT)!==0||(child2.f&BRANCH_EFFECT)!==0&&(effect2.f&BLOCK_EFFECT)!==0;pause_children(child2,transitions,transparent?local:!1)} 393child2=sibling2}} 394function resume_effect(effect2){resume_children(effect2,!0)} 395function resume_children(effect2,local){if((effect2.f&INERT)===0)return;effect2.f^=INERT;if((effect2.f&CLEAN)===0){set_signal_status(effect2,DIRTY);Batch.ensure().schedule(effect2)} 396var child2=effect2.first;while(child2!==null){var sibling2=child2.next;var transparent=(child2.f&EFFECT_TRANSPARENT)!==0||(child2.f&BRANCH_EFFECT)!==0;resume_children(child2,transparent?local:!1);child2=sibling2} 397var t=effect2.nodes&&effect2.nodes.t;if(t!==null){for(const transition of t){if(transition.is_global||local){transition.in()}}}} 398function move_effect(effect2,fragment){if(!effect2.nodes)return;var node=effect2.nodes.start;var end=effect2.nodes.end;while(node!==null){var next2=node===end?null:get_next_sibling(node);fragment.append(node);node=next2}} 399function store(defaultValue){const scope={get:(name)=>{return get$1(scope.store)[name]}
399,set:(name,value)=>{if(typeof name==="string"){Object.assign(get$1(scope.store),{[name]:value})}else{Object.assign(get$1(scope.store),name)} 400scope.store.set(get$1(scope.store))},store:writable(defaultValue)};return scope} 401globalThis.$altcha=globalThis.$altcha||{algorithms:new Map(),defaults:store({}),i18n:store({}),instances:new Set(),plugins:new Set()};const i18n={ariaLinkLabel:"Altcha (official website)",cancel:"Cancel",enterCode:"Enter code",enterCodeAria:"Enter code you hear. Press Space to play audio.",enterCodeFromImage:"To proceed, please enter the code from the image below.",error:"Verification failed. Try again later.",expired:"Verification expired. Try again.",footer:'Protected by <a href="https://altcha.org/" tabindex="-1" target="_blank" aria-label="Altcha (official website)">ALTCHA</a>',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."};if("$altcha" in globalThis){globalThis.$altcha.i18n.set("en",i18n)} 402const PUBLIC_VERSION="5";if(typeof window!=="undefined"){((window.__svelte??={}).v??=new Set()).add(PUBLIC_VERSION)} 403const event_symbol=Symbol("events");const all_registered_events=new Set();const root_event_handles=new Set();function create_event(event_name,dom,handler,options={}){function target_handler(event2){if(!options.capture){handle_event_propagation.call(dom,event2)} 404if(!event2.cancelBubble){return without_reactive_context(()=>{return handler?.call(this,event2)})}} 405if(event_name.startsWith("pointer")||event_name.startsWith("touch")||event_name==="wheel"){queue_micro_task(()=>{dom.addEventListener(event_name,target_handler,options)})}else{dom.addEventListener(event_name,target_handler,options)} 406return target_handler} 407function event(event_name,dom,handler,capture2,passive){var options={capture:capture2,passive};var target_handler=create_event(event_name,dom,handler,options);if(dom===document.body||dom===window||dom===document||dom instanceof HTMLMediaElement){teardown(()=>{dom.removeEventListener(event_name,target_handler,options)})}} 408function delegated(event_name,element,handler){(element[event_symbol]??={})[event_name]=handler} 409function delegate(events){for(var i=0;i<events.length;i++){all_registered_events.add(events[i])} 410for(var fn of root_event_handles){fn(events)}} 411let last_propagated_event=null;function handle_event_propagation(event2){var handler_element=this;var owner_document=(handler_element.ownerDocument);var event_name=event2.type;var path=event2.composedPath?.()||[];var current_target=(path[0]||event2.target);last_propagated_event=event2;var path_idx=0;var handled_at=last_propagated_event===event2&&event2[event_symbol];if(handled_at){var at_idx=path.indexOf(handled_at);if(at_idx!==-1&&(handler_element===document||handler_element===window)){event2[event_symbol]=handler_element;return} 412var handler_idx=path.indexOf(handler_element);if(handler_idx===-1){return} 413if(at_idx<=handler_idx){path_idx=at_idx}} 414current_target=path[path_idx]||event2.target;if(current_target===handler_element)return;define_property(event2,"currentTarget",{configurable:!0,get(){return current_target||owner_document}});var previous_reaction=active_reaction;var previous_effect=active_effect;set_active_reaction(null);set_active_effect(null);try{var throw_error;var other_errors=[];while(current_target!==null){var parent_element=current_target.assignedSlot||current_target.parentNode||current_target.host||null;try{var delegated2=current_target[event_symbol]?.[event_name];if(delegated2!=null&&(!current_target.disabled||event2.target===current_target)){delegated2.call(current_target,event2)}}catch(error){if(throw_error){other_errors.push(error)}else{throw_error=error}} 415if(event2.cancelBubble||parent_element===handler_element||parent_element===null){break} 416current_target=parent_element} 417if(throw_error){for(let error of other_errors){queueMicrotask(()=>{throw error})} 418throw throw_error}}finally{event2[event_symbol]=handler_element;delete event2.currentTarget;set_active_reaction(previous_reaction);set_active_effect(previous_effect)}} 419const policy=(globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:(html2)=>{return html2}}));function create_trusted_html(html2){return(policy?.createHTML(html2)??html2)} 420function create_fragment_from_html(html2){var elem=create_element
420("template");elem.innerHTML=create_trusted_html(html2.replaceAll("<!>","<!---->"));return elem.content} 421function assign_nodes(start,end){var effect2=(active_effect);if(effect2.nodes===null){effect2.nodes={start,end,a:null,t:null}}} 422function from_html(content,flags2){var is_fragment=(flags2&TEMPLATE_FRAGMENT)!==0;var use_import_node=(flags2&TEMPLATE_USE_IMPORT_NODE)!==0;var node;var has_start=!content.startsWith("<!>");return()=>{if(hydrating){assign_nodes(hydrate_node,null);return hydrate_node} 423if(node===void 0){node=create_fragment_from_html(has_start?content:"<!>"+content);if(!is_fragment)node=get_first_child(node)} 424var clone=(use_import_node||is_firefox?document.importNode(node,!0):node.cloneNode(!0));if(is_fragment){var start=(get_first_child(clone));var end=(clone.lastChild);assign_nodes(start,end)}else{assign_nodes(clone,clone)} 425return clone}} 426function from_namespace(content,flags2,ns="svg"){var has_start=!content.startsWith("<!>");var wrapped=`<${ns}>${has_start ? content : "<!>" + content}</${ns}>`;var node;return()=>{if(hydrating){assign_nodes(hydrate_node,null);return hydrate_node} 427if(!node){var fragment=(create_fragment_from_html(wrapped));var root2=(get_first_child(fragment));{node=get_first_child(root2)}} 428var clone=(node.cloneNode(!0));{assign_nodes(clone,clone)} 429return clone}} 430function from_svg(content,flags2){return from_namespace(content,flags2,"svg")} 431function text(value=""){if(!hydrating){var t=create_text(value+"");assign_nodes(t,t);return t} 432var node=hydrate_node;if(node.nodeType!==TEXT_NODE){node.before(node=create_text());set_hydrate_node(node)}else{merge_text_nodes(node)} 433assign_nodes(node,node);return node} 434function comment(){if(hydrating){assign_nodes(hydrate_node,null);return hydrate_node} 435var frag=document.createDocumentFragment();var start=document.createComment("");var anchor=create_text();frag.append(start,anchor);assign_nodes(start,anchor);return frag} 436function append(anchor,dom){if(hydrating){var effect2=(active_effect);if((effect2.f&REACTION_RAN)===0||effect2.nodes.end===null){effect2.nodes.end=hydrate_node} 437hydrate_next();return} 438if(anchor===null){return} 439anchor.before(dom)} 440function is_capture_event(name){return name.endsWith("capture")&&name!=="gotpointercapture"&&name!=="lostpointercapture"} 441const DELEGATED_EVENTS=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function can_delegate_event(event_name){return DELEGATED_EVENTS.includes(event_name)} 442const ATTRIBUTE_ALIASES={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function normalize_attribute(name){name=name.toLowerCase();return ATTRIBUTE_ALIASES[name]??name} 443const PASSIVE_EVENTS=["touchstart","touchmove"];function is_passive_event(name){return PASSIVE_EVENTS.includes(name)} 444function set_text(text2,value){var str=value==null?"":typeof value==="object"?`${value}`:value;if(str!==(text2[TEXT_CACHE]??=text2.nodeValue)){text2[TEXT_CACHE]=str;text2.nodeValue=`${str}`}} 445function mount(component2,options){return _mount(component2,options)} 446function hydrate(component2,options){init_operations();options.intro=options.intro??!1;const target=options.target;const was_hydrating=hydrating;const previous_hydrate_node=hydrate_node;try{var anchor=get_first_child(target);while(anchor&&(anchor.nodeType!==COMMENT_NODE||anchor.data!==HYDRATION_START)){anchor=get_next_sibling(anchor)} 447if(!anchor){throw HYDRATION_ERROR} 448set_hydrating(!0);set_hydrate_node(anchor);const instance=_mount(component2,{...options,anchor});set_hydrating(!1);return(instance)}catch(error){if(error instanceof Error&&error.message.split("\n").some((line)=>line.startsWith("https://svelte.dev/e/"))){throw error} 449if(error!==HYDRATION_ERROR){console.warn("Failed to hydrate: ",error)} 450if(options.recover===!1){hydration_failed()} 451init_operations();clear_text_content(target);set_hydrating(!1);return mount(component2,options)}finally{set_hydrating(was_hydrating);set_hydrate_node(previous_hydrate_node)}} 452const listeners=new Map();function _mount(Component,{target,anchor,props={},events,context,intro=!0,transformError}){init_operations();var component2=void 0;var unmount2=component_root(()=>{var anchor_node=anchor??target.appendChild(create_text());boundary(anchor_node,{pending:()=>{}}
452,(anchor_node2)=>{push({});var ctx=(component_context);if(context)ctx.c=context;if(events){props.$$events=events} 453if(hydrating){assign_nodes(anchor_node2,null)} 454component2=Component(anchor_node2,props)||{};if(hydrating){active_effect.nodes.end=hydrate_node;if(hydrate_node===null||hydrate_node.nodeType!==COMMENT_NODE||hydrate_node.data!==HYDRATION_END){hydration_mismatch();throw HYDRATION_ERROR}} 455pop()},transformError);var registered_events=new Set();var event_handle=(events2)=>{for(var i=0;i<events2.length;i++){var event_name=events2[i];if(registered_events.has(event_name))continue;registered_events.add(event_name);var passive=is_passive_event(event_name);for(const node of[target,document]){var counts=listeners.get(node);if(counts===void 0){counts=new Map();listeners.set(node,counts)} 456var count=counts.get(event_name);if(count===void 0){node.addEventListener(event_name,handle_event_propagation,{passive});counts.set(event_name,1)}else{counts.set(event_name,count+1)}}}};event_handle(array_from(all_registered_events));root_event_handles.add(event_handle);return()=>{for(var event_name of registered_events){for(const node of[target,document]){var counts=(listeners.get(node));var count=(counts.get(event_name));if(--count==0){node.removeEventListener(event_name,handle_event_propagation);counts.delete(event_name);if(counts.size===0){listeners.delete(node)}}else{counts.set(event_name,count)}}} 457root_event_handles.delete(event_handle);if(anchor_node!==anchor){anchor_node.parentNode?.removeChild(anchor_node)}}});mounted_components.set(component2,unmount2);return component2} 458let mounted_components=new WeakMap();function unmount(component2,options){const fn=mounted_components.get(component2);if(fn){mounted_components.delete(component2);return fn(options)} 459return Promise.resolve()} 460class BranchManager{anchor;#batches=new Map();#onscreen=new Map();#offscreen=new Map();#outroing=new Set();#transition=!0;constructor(anchor,transition=!0){this.anchor=anchor;this.#transition=transition} 461#commit=(batch)=>{if(!this.#batches.has(batch))return;var key2=(this.#batches.get(batch));var onscreen=this.#onscreen.get(key2);if(onscreen){resume_effect(onscreen);this.#outroing.delete(key2)}else{var offscreen=this.#offscreen.get(key2);if(offscreen){this.#onscreen.set(key2,offscreen.effect);this.#offscreen.delete(key2);offscreen.fragment.lastChild.remove();this.anchor.before(offscreen.fragment);onscreen=offscreen.effect}} 462for(const[b,k]of this.#batches){this.#batches.delete(b);if(b===batch){break} 463const offscreen2=this.#offscreen.get(k);if(offscreen2){destroy_effect(offscreen2.effect);this.#offscreen.delete(k)}} 464for(const[k,effect2]of this.#onscreen){if(k===key2||this.#outroing.has(k))continue;const on_destroy=()=>{const keys=Array.from(this.#batches.values());if(keys.includes(k)){var fragment=document.createDocumentFragment();move_effect(effect2,fragment);fragment.append(create_text());this.#offscreen.set(k,{effect:effect2,fragment})}else{destroy_effect(effect2)} 465this.#outroing.delete(k);this.#onscreen.delete(k)};if(this.#transition||!onscreen){this.#outroing.add(k);pause_effect(effect2,on_destroy,!1)}else{on_destroy()}}};#discard=(batch)=>{this.#batches.delete(batch);const keys=Array.from(this.#batches.values());for(const[k,branch2]of this.#offscreen){if(!keys.includes(k)){destroy_effect(branch2.effect);this.#offscreen.delete(k)}}};ensure(key2,fn){var batch=(current_batch);var defer=should_defer_append();if(fn&&!this.#onscreen.has(key2)&&!this.#offscreen.has(key2)){if(defer){var fragment=document.createDocumentFragment();var target=create_text();fragment.append(target);this.#offscreen.set(key2,{effect:branch(()=>fn(target)),fragment})}else{this.#onscreen.set(key2,branch(()=>fn(this.anchor)))}} 466this.#batches.set(batch,key2);if(defer){for(const[k,effect2]of this.#onscreen){if(k===key2){batch.unskip_effect(effect2)}else{batch.skip_effect(effect2)}} 467for(const[k,branch2]of this.#offscreen){if(k===key2){batch.unskip_effect(branch2.effect)}else{batch.skip_effect(branch2.effect)}} 468batch.oncommit(this.#commit);batch.ondiscard(this.#discard)}else{if(hydrating){this.anchor=hydrate_node} 469this.#commit(batch)}}} 470function snippet(node,get_snippet,...args){var branches=new BranchManager(node);block(()=>{const snippet2=get_snippet()??null;branches.ensure(snippet2,snippet2&&((anchor)=>snippet2(anchor,...args)))},EFFECT_TRANSPARENT)} 471function onMount(fn){if(component_context===null){lifecycle_outside_component()} 472{user_effect(()=>{const cleanup=untrack(fn);if(typeof cleanup==="function")return(cleanup)})}} 473function if_block(node,fn,elseif=!1){var marker;if(hydrating){marker=hydrate_node;hydrate_next()} 474var branches=new BranchManager(node);var flags2=elseif?EFFECT_TRANSPARENT:0;function update_branch(key2,fn2){if(hydrating){var data=read_hydration_instruction(marker);if(key2!==parseInt(data.substring(1))){var anchor=skip_nodes();set_hydrate_node(anchor);branches.anchor=anchor;set_hydrating(!1);branches.ensure(key2,fn2);set_hydrating(!0);return}} 475branches.ensure(key2,fn2)} 476block(()=>{var has_branch=!1;fn((fn2,key2=0)=>{has_branch=!0;update_branch(key2,fn2)});if(!has_branch){update_branch(-1,null)}},flags2)} 477const NAN=Symbol("NaN");
477function key(node,get_key,render_fn){if(hydrating){hydrate_next()} 478var branches=new BranchManager(node);block(()=>{var key2=get_key();if(key2!==key2){key2=NAN} 479branches.ensure(key2,render_fn)})} 480function html(node,get_value,is_controlled=!1,svg=!1,mathml=!1,skip_warning=!1){var anchor=node;var value="";if(is_controlled){var parent_node=(node);if(hydrating){anchor=set_hydrate_node(get_first_child(parent_node))}} 481template_effect(()=>{var effect2=(active_effect);if(value===(value=get_value()??"")){if(hydrating)hydrate_next();return} 482if(is_controlled&&!hydrating){effect2.nodes=null;parent_node.innerHTML=value;if(value!==""){assign_nodes(get_first_child(parent_node),parent_node.lastChild)} 483return} 484if(effect2.nodes!==null){remove_effect_dom(effect2.nodes.start,effect2.nodes.end);effect2.nodes=null} 485if(value==="")return;if(hydrating){hydrate_node.data;var next2=hydrate_next();var last=next2;while(next2!==null&&(next2.nodeType!==COMMENT_NODE||next2.data!=="")){last=next2;next2=get_next_sibling(next2)} 486if(next2===null){hydration_mismatch();throw HYDRATION_ERROR} 487assign_nodes(hydrate_node,last);anchor=set_hydrate_node(next2);return} 488var ns=svg?NAMESPACE_SVG:mathml?NAMESPACE_MATHML:void 0;var wrapper=(create_element(svg?"svg":mathml?"math":"template",ns));wrapper.innerHTML=value;var node2=svg||mathml?wrapper:(wrapper.content);assign_nodes(get_first_child(node2),node2.lastChild);if(svg||mathml){while(get_first_child(node2)){anchor.before(get_first_child(node2))}}else{anchor.before(node2)}})} 489function component(node,get_component,render_fn){var hydration_start_node;if(hydrating){hydration_start_node=hydrate_node;hydrate_next()} 490var branches=new BranchManager(node);block(()=>{var component2=get_component()??null;if(hydrating){var data=read_hydration_instruction(hydration_start_node);var server_had_component=data===HYDRATION_START;var client_has_component=component2!==null;if(server_had_component!==client_has_component){var anchor=skip_nodes();set_hydrate_node(anchor);branches.anchor=anchor;set_hydrating(!1);branches.ensure(component2,component2&&((target)=>render_fn(target,component2)));set_hydrating(!0);return}} 491branches.ensure(component2,component2&&((target)=>render_fn(target,component2)))},EFFECT_TRANSPARENT)} 492function attach(node,get_fn){var fn=void 0;var e;managed(()=>{if(fn!==(fn=get_fn())){if(e){destroy_effect(e);e=null} 493if(fn){e=branch(()=>{effect(()=>(fn(node)))})}}})} 494function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n} 495function clsx$1(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n} 496function clsx(value){if(typeof value==="object"){return clsx$1(value)}else{return value??""}} 497const whitespace=[..." \n\r\f \v\uFEFF"];function to_class(value,hash,directives){var classname=value==null?"":""+value;if(directives){for(var key2 of Object.keys(directives)){if(directives[key2]){classname=classname?classname+" "+key2:key2}else if(classname.length){var len=key2.length;var a=0;while((a=classname.indexOf(key2,a))>=0){var b=a+len;
497if((a===0||whitespace.includes(classname[a-1]))&&(b===classname.length||whitespace.includes(classname[b]))){classname=(a===0?"":classname.substring(0,a))+classname.substring(b+1)}else{a=b}}}}} 498return classname===""?null:classname} 499function append_styles(styles,important=!1){var separator=important?" !important;":";";var css2="";for(var key2 of Object.keys(styles)){var value=styles[key2];if(value!=null&&value!==""){css2+=" "+key2+": "+value+separator}} 500return css2} 501function to_css_name(name){if(name[0]!=="-"||name[1]!=="-"){return name.toLowerCase()} 502return name} 503function to_style(value,styles){if(styles){var new_style="";var normal_styles;var important_styles;if(Array.isArray(styles)){normal_styles=styles[0];important_styles=styles[1]}else{normal_styles=styles} 504if(value){value=String(value).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var in_str=!1;var in_apo=0;var in_comment=!1;var reserved_names=[];if(normal_styles){reserved_names.push(...Object.keys(normal_styles).map(to_css_name))} 505if(important_styles){reserved_names.push(...Object.keys(important_styles).map(to_css_name))} 506var start_index=0;var name_index=-1;const len=value.length;for(var i=0;i<len;i++){var c=value[i];if(in_comment){if(c==="/"&&value[i-1]==="*"){in_comment=!1}}else if(in_str){if(in_str===c){in_str=!1}}else if(c==="/"&&value[i+1]==="*"){in_comment=!0}else if(c==='"'||c==="'"){in_str=c}else if(c==="("){in_apo++}else if(c===")"){in_apo--} 507if(!in_comment&&in_str===!1&&in_apo===0){if(c===":"&&name_index===-1){name_index=i}else if(c===";"||i===len-1){if(name_index!==-1){var name=to_css_name(value.substring(start_index,name_index).trim());if(!reserved_names.includes(name)){if(c!==";"){i++} 508var property=value.substring(start_index,i).trim();new_style+=" "+property+";"}} 509start_index=i+1;name_index=-1}}}} 510if(normal_styles){new_style+=append_styles(normal_styles)} 511if(important_styles){new_style+=append_styles(important_styles,!0)} 512new_style=new_style.trim();return new_style===""?null:new_style} 513return value==null?null:String(value)} 514function set_class(dom,is_html,value,hash,prev_classes,next_classes){var prev=(dom[CLASS_CACHE]);if(hydrating||prev!==value||prev===void 0){var next_class_name=to_class(value,hash,next_classes);if(!hydrating||next_class_name!==dom.getAttribute("class")){if(next_class_name==null){dom.removeAttribute("class")}else if(is_html){dom.className=next_class_name}else{dom.setAttribute("class",next_class_name)}} 515dom[CLASS_CACHE]=value}else if(next_classes&&prev_classes!==next_classes){for(var key2 in next_classes){var is_present=!!next_classes[key2];if(prev_classes==null||is_present!==!!prev_classes[key2]){dom.classList.toggle(key2,is_present)}}} 516return next_classes} 517function update_styles(dom,prev={},next2,priority){for(var key2 in next2){var value=next2[key2];if(prev[key2]!==value){if(next2[key2]==null){dom.style.removeProperty(key2)}else{dom.style.setProperty(key2,value,priority)}}}} 518function set_style(dom,value,prev_styles,next_styles){var prev=(dom[STYLE_CACHE]);if(hydrating||prev!==value){var next_style_attr=to_style(value,next_styles);if(!hydrating||next_style_attr!==dom.getAttribute("style")){if(next_style_attr==null){dom.removeAttribute("style")}else{dom.style.cssText=next_style_attr}} 519dom[STYLE_CACHE]=value}
519else if(next_styles){if(Array.isArray(next_styles)){update_styles(dom,prev_styles?.[0],next_styles[0]);update_styles(dom,prev_styles?.[1],next_styles[1],"important")}else{update_styles(dom,prev_styles,next_styles)}} 520return next_styles} 521function select_option(select,value,mounting=!1){if(select.multiple){if(value==void 0){return} 522if(!is_array(value)){return select_multiple_invalid_value()} 523for(var option of select.options){option.selected=value.includes(get_option_value(option))} 524return} 525for(option of select.options){var option_value=get_option_value(option);if(is(option_value,value)){option.selected=!0;return}} 526if(!mounting||value!==void 0){select.selectedIndex=-1}} 527function init_select(select){var observer=new MutationObserver(()=>{select_option(select,select.__value)});observer.observe(select,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]});teardown(()=>{observer.disconnect()})} 528function get_option_value(option){if("__value" in option){return option.__value}else{return option.value}} 529const CLASS=Symbol("class");const STYLE=Symbol("style");const IS_CUSTOM_ELEMENT=Symbol("is custom element");const IS_HTML=Symbol("is html");const LINK_TAG=IS_XHTML?"link":"LINK";const INPUT_TAG=IS_XHTML?"input":"INPUT";const OPTION_TAG=IS_XHTML?"option":"OPTION";const SELECT_TAG=IS_XHTML?"select":"SELECT";const PROGRESS_TAG=IS_XHTML?"progress":"PROGRESS";function remove_input_defaults(input){if(!hydrating)return;var already_removed=!1;var remove_defaults=()=>{if(already_removed)return;already_removed=!0;if(input.hasAttribute("value")){var value=input.value;set_attribute(input,"value",null);input.value=value} 530if(input.hasAttribute("checked")){var checked=input.checked;set_attribute(input,"checked",null);input.checked=checked}};input[FORM_RESET_HANDLER]=remove_defaults;queue_micro_task(remove_defaults);add_form_reset_listener()} 531function set_value(element,value){var attributes=get_attributes(element);if(attributes.value===(attributes.value=value??void 0)||element.value===value&&(value!==0||element.nodeName!==PROGRESS_TAG)){return} 532element.value=value??""} 533function set_selected(element,selected){if(selected){if(!element.hasAttribute("selected")){element.setAttribute("selected","")}}else{element.removeAttribute("selected")}} 534function set_attribute(element,attribute,value,skip_warning){var attributes=get_attributes(element);if(hydrating){attributes[attribute]=element.getAttribute(attribute);if(attribute==="src"||attribute==="srcset"||attribute==="href"&&element.nodeName===LINK_TAG){return}} 535if(attributes[attribute]===(attributes[attribute]=value))return;if(attribute==="loading"){element[LOADING_ATTR_SYMBOL]=value} 536if(value==null){element.removeAttribute(attribute)}else if(typeof value!=="string"&&get_setters(element).includes(attribute)){element[attribute]=value}else{element.setAttribute(attribute,value)}} 537function set_attributes(element,prev,next2,css_hash,should_remove_defaults=!1,skip_warning=!1){if(hydrating&&should_remove_defaults&&element.nodeName===INPUT_TAG){var input=(element);var attribute=input.type==="checkbox"?"defaultChecked":"defaultValue";if(!(attribute in next2)){remove_input_defaults(input)}} 538var attributes=get_attributes(element);var is_custom_element=attributes[IS_CUSTOM_ELEMENT];var preserve_attribute_case=!attributes[IS_HTML];let is_hydrating_custom_element=hydrating&&is_custom_element;if(is_hydrating_custom_element){set_hydrating(!1)} 539var current=prev||{};var is_option_element=element.nodeName===OPTION_TAG;for(var key2 in prev){if(!(key2 in next2)){next2[key2]=null}} 540if(next2.class){next2.class=clsx(next2.class)}else if(next2[CLASS]){next2.class=null} 541if(next2[STYLE]){next2.style??=null} 542var setters=get_setters(element);for(const key3 in next2){let value=next2[key3];if(is_option_element&&key3==="value"&&value==null){element.value=element.__value="";current[key3]=value;continue} 543if(key3==="class"){var is_html=element.namespaceURI==="http://www.w3.org/1999/xhtml";set_class(element,is_html,value,css_hash,prev?.[CLASS],next2[CLASS]);current[key3]=value;current[CLASS]=next2[CLASS];continue} 544if(key3==="style"){set_style(element,value,prev?.[STYLE],next2[STYLE]
544);current[key3]=value;current[STYLE]=next2[STYLE];continue} 545var prev_value=current[key3];if(value===prev_value&&!(value===void 0&&element.hasAttribute(key3))){continue} 546current[key3]=value;var prefix=key3[0]+key3[1];if(prefix==="$$")continue;if(prefix==="on"){const opts={};const event_handle_key="$$"+key3;let event_name=key3.slice(2);var is_delegated=can_delegate_event(event_name);if(is_capture_event(event_name)){event_name=event_name.slice(0,-7);opts.capture=!0} 547if(!is_delegated&&prev_value){if(value!=null)continue;element.removeEventListener(event_name,current[event_handle_key],opts);current[event_handle_key]=null} 548if(is_delegated){delegated(event_name,element,value);delegate([event_name])}else if(value!=null){let handle=function(evt){current[key3].call(this,evt)};current[event_handle_key]=create_event(event_name,element,handle,opts)}}else if(key3==="style"){set_attribute(element,key3,value)}else if(key3==="autofocus"){autofocus(element,Boolean(value))}else if(!is_custom_element&&(key3==="__value"||key3==="value"&&value!=null)){element.value=element.__value=value}else if(key3==="selected"&&is_option_element){set_selected(element,value)}else{var name=key3;if(!preserve_attribute_case){name=normalize_attribute(name)} 549var is_default=name==="defaultValue"||name==="defaultChecked";if(value==null&&!is_custom_element&&!is_default){attributes[key3]=null;if(name==="value"||name==="checked"){let input2=(element);const use_default=prev===void 0;if(name==="value"){let previous=input2.defaultValue;input2.removeAttribute(name);input2.defaultValue=previous;input2.value=input2.__value=use_default?previous:null}else{let previous=input2.defaultChecked;input2.removeAttribute(name);input2.defaultChecked=previous;input2.checked=use_default?previous:!1}}else{element.removeAttribute(key3)}}else if(is_default||setters.includes(name)&&(is_custom_element||typeof value!=="string")){element[name]=value;if(name in attributes)attributes[name]=UNINITIALIZED}else if(typeof value!=="function"){set_attribute(element,name,value)}}} 550if(is_hydrating_custom_element){set_hydrating(!0)} 551return current} 552function attribute_effect(element,fn,sync=[],async=[],blockers=[],css_hash,should_remove_defaults=!1,skip_warning=!1){flatten(blockers,sync,async,(values)=>{var prev=void 0;var effects={};var is_select=element.nodeName===SELECT_TAG;var inited=!1;managed(()=>{var next2=fn(...values.map(get));var current=set_attributes(element,prev,next2,css_hash,should_remove_defaults,skip_warning);if(inited&&is_select&&"value" in next2){select_option(element,next2.value)} 553for(let symbol of Object.getOwnPropertySymbols(effects)){if(!next2[symbol])destroy_effect(effects[symbol])} 554for(let symbol of Object.getOwnPropertySymbols(next2)){var n=next2[symbol];if(symbol.description===ATTACHMENT_KEY&&(!prev||n!==prev[symbol])){if(effects[symbol])destroy_effect(effects[symbol]);effects[symbol]=branch(()=>attach(element,()=>n))} 555current[symbol]=n} 556prev=current});if(is_select){var select=(element);effect(()=>{select_option(select,prev.value,!0);init_select(select)})} 557inited=!0})} 558function get_attributes(element){return(element[ATTRIBUTES_CACHE]??={[IS_CUSTOM_ELEMENT]:element.nodeName.includes("-"),[IS_HTML]:element.namespaceURI===NAMESPACE_HTML})} 559var setters_cache=new Map();function get_setters(element){var cache_key=element.getAttribute("is")||element.nodeName;var setters=setters_cache.get(cache_key);if(setters)return setters;setters_cache.set(cache_key,setters=[]);var descriptors;var proto=element;var element_proto=Element.prototype;while(element_proto!==proto){descriptors=get_descriptors(proto);for(var key2 in descriptors){if(descriptors[key2].set&&key2!=="innerHTML"&&key2!=="textContent"&&key2!=="innerText"){setters.push(key2)}} 560proto=get_prototype_of(proto)} 561return setters} 562function bind_value(input,get2,set2=get2){var batches=new WeakSet();listen_to_event_and_reset_event(input,"input",async(is_reset)=>{var value=is_reset?input.defaultValue:input.value;value=is_numberlike_input(input)?to_number(value):value;set2(value);if(current_batch!==null){batches.add(current_batch)} 563await tick();if(value!==(value=get2())){var start=input.selectionStart;var end=input.selectionEnd;var length=input.value.length;input.value=value??"";if(end!==null){var new_length=input.value.length;if(start===end&&end===length&&new_length>length){input.selectionStart=new_length;input.selectionEnd=new_length}else{input.selectionStart=start;input.selectionEnd=Math.min(end,new_length)}}}});if(hydrating&&input.defaultValue!==input.value||untrack(get2)==null&&input.value){set2(is_numberlike_input(input)?to_number(input.value):input.value);if(current_batch!==null){batches.add(current_batch)}} 564render_effect(()=>{var value=get2();if(input===document.activeElement){var batch=(current_batch);if(batches.has(batch)){return}} 565if(is_numberlike_input(input)&&value===to_number(input.value)){return} 566if(input.type==="date"&&!value&&!input.value){return} 567if(value!==input.value){input.value=value??""}})} 568function is_numberlike_input(input){var type=input.type;return type==="number"||type==="range"} 569function to_number(value){return value===""?null:+value} 570function is_bound_this(bound_value,element_or_component){return bound_value===element_or_component||bound_value?.[STATE_SYMBOL]===element_or_component} 571function bind_this(element_or_component={},update,get_value,get_parts){var component_effect=(component_context.r);var parent=(active_effect);effect(()=>{var old_parts;var parts;render_effect(()=>{old_parts=parts;parts=[];untrack(()=>
571{if(!is_bound_this(get_value(...parts),element_or_component)){update(element_or_component,...parts);if(old_parts&&is_bound_this(get_value(...old_parts),element_or_component)){update(null,...old_parts)}}})});return()=>{let p=parent;while(p!==component_effect&&p.parent!==null&&p.parent.f&DESTROYING){p=p.parent} 572const teardown2=()=>{if(parts&&is_bound_this(get_value(...parts),element_or_component)){update(null,...parts)}};const original_teardown=p.teardown;p.teardown=()=>{teardown2();original_teardown?.()}}});return element_or_component} 573const rest_props_handler={get(target,key2){if(target.exclude.includes(key2))return;return target.props[key2]},set(target,key2){return!1},getOwnPropertyDescriptor(target,key2){if(target.exclude.includes(key2))return;if(key2 in target.props){return{enumerable:!0,configurable:!0,value:target.props[key2]}}},has(target,key2){if(target.exclude.includes(key2))return!1;return key2 in target.props},ownKeys(target){return Reflect.ownKeys(target.props).filter((key2)=>!target.exclude.includes(key2))}};function rest_props(props,exclude,name){return new Proxy({props,exclude},rest_props_handler)} 574function prop(props,key2,flags2,fallback){var fallback_value=(fallback);var fallback_dirty=!0;var get_fallback=()=>{if(fallback_dirty){fallback_dirty=!1;fallback_value=fallback} 575return fallback_value};var initial_value;{initial_value=props[key2]} 576if(initial_value===void 0&&fallback!==void 0){initial_value=get_fallback()} 577var getter;{getter=()=>{var value=(props[key2]);if(value===void 0)return get_fallback();fallback_dirty=!0;return value}} 578var overridden=!1;var d=derived(()=>{overridden=!1;return getter()});var parent_effect=(active_effect);return((function(value,mutation){if(arguments.length>0){const new_value=mutation?get(d):value;set(d,new_value);overridden=!0;if(fallback_value!==void 0){fallback_value=new_value} 579return value} 580if(is_destroying_effect&&overridden||(parent_effect.f&DESTROYED)!==0){return d.v} 581return get(d)}))} 582function createClassComponent(options){return new Svelte4Component(options)} 583class Svelte4Component{#events;#instance;constructor(options){var sources=new Map();var add_source=(key2,value)=>{var s=mutable_source(value,!1,!1);sources.set(key2,s);return s};const props=new Proxy({...options.props||{},$$events:{}},{get(target,prop2){return get(sources.get(prop2)??add_source(prop2,Reflect.get(target,prop2)))},has(target,prop2){if(prop2===LEGACY_PROPS)return!0;get(sources.get(prop2)??add_source(prop2,Reflect.get(target,prop2)));return Reflect.has(target,prop2)},set(target,prop2,value){set(sources.get(prop2)??add_source(prop2,value),value);return Reflect.set(target,prop2,value)}});this.#instance=(options.hydrate?hydrate:mount)(options.component,{target:options.target,anchor:options.anchor,props,context:options.context,intro:options.intro??!1,recover:options.recover,transformError:options.transformError});if(!options?.props?.$$host||options.sync===!1){flushSync()} 584this.#events=props.$$events;for(const key2 of Object.keys(this.#instance)){if(key2==="$set"||key2==="$destroy"||key2==="$on")continue;define_property(this,key2,{get(){return this.#instance[key2]},set(value){this.#instance[key2]=value},enumerable:!0})} 585this.#instance.$set=(next2)=>{Object.assign(props,next2)};this.#instance.$destroy=()=>{unmount(this.#instance)}} 586$set(props){this.#instance.$set(props)} 587$on(event2,callback){this.#events[event2]=this.#events[event2]||[];const cb=(...args)=>callback.call(this,...args);this.#events[event2].push(cb);return()=>{this.#events[event2]=this.#events[event2].filter((fn)=>fn!==cb)}} 588$destroy(){this.#instance.$destroy()}} 589let SvelteElement=class{};if(typeof HTMLElement==="function"){SvelteElement=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map();$$me;$$shadowRoot=null;constructor($$componentCtor,$$slots,shadow_root_init){super();this.$$ctor=$$componentCtor;this.$$s=$$slots;if(shadow_root_init){this.$$shadowRoot=this.attachShadow(shadow_root_init)}} 590addEventListener(type,listener,options){this.$$l[type]=this.$$l[type]||[];this.$$l[type].push(listener);if(this.$$c){const unsub=this.$$c.$on(type,listener);this.$$l_u.set(listener,unsub)} 591super.addEventListener(type,listener,options)} 592removeEventListener(type,listener,options){super.removeEventListener(type,listener,options);if(this.$$c){const unsub=this.$$l_u.get(listener);if(unsub){unsub();this.$$l_u.delete(listener)}}} 593async connectedCallback(){this.$$cn=!0;if(!this.$$c){let create_slot=function(name){return(anchor)=>
593{const slot=create_element("slot");if(name!=="default")slot.name=name;append(anchor,slot)}};await Promise.resolve();if(!this.$$cn||this.$$c){return} 594const $$slots={};const existing_slots=get_custom_elements_slots(this);for(const name of this.$$s){if(name in existing_slots){if(name==="default"&&!this.$$d.children){this.$$d.children=create_slot(name);$$slots.default=!0}else{$$slots[name]=create_slot(name)}}} 595for(const attribute of this.attributes){const name=this.$$g_p(attribute.name);if(!(name in this.$$d)){this.$$d[name]=get_custom_element_value(name,attribute.value,this.$$p_d,"toProp")}} 596for(const key2 in this.$$p_d){if(!(key2 in this.$$d)&&this[key2]!==void 0){this.$$d[key2]=this[key2];delete this[key2]}} 597this.$$c=createClassComponent({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots,$$host:this}});this.$$me=effect_root(()=>{render_effect(()=>{this.$$r=!0;for(const key2 of object_keys(this.$$c)){if(!this.$$p_d[key2]?.reflect)continue;this.$$d[key2]=this.$$c[key2];const attribute_value=get_custom_element_value(key2,this.$$d[key2],this.$$p_d,"toAttribute");if(attribute_value==null){this.removeAttribute(this.$$p_d[key2].attribute||key2)}else{this.setAttribute(this.$$p_d[key2].attribute||key2,attribute_value)}} 598this.$$r=!1})});for(const type in this.$$l){for(const listener of this.$$l[type]){const unsub=this.$$c.$on(type,listener);this.$$l_u.set(listener,unsub)}} 599this.$$l={}}} 600attributeChangedCallback(attr,_oldValue,newValue){if(this.$$r)return;attr=this.$$g_p(attr);this.$$d[attr]=get_custom_element_value(attr,newValue,this.$$p_d,"toProp");this.$$c?.$set({[attr]:this.$$d[attr]})} 601disconnectedCallback(){this.$$cn=!1;Promise.resolve().then(()=>{if(!this.$$cn&&this.$$c){this.$$c.$destroy();this.$$me();this.$$c=void 0}})} 602$$g_p(attribute_name){return object_keys(this.$$p_d).find((key2)=>this.$$p_d[key2].attribute===attribute_name||!this.$$p_d[key2].attribute&&key2.toLowerCase()===attribute_name)||attribute_name}}} 603function get_custom_element_value(prop2,value,props_definition,transform){const type=props_definition[prop2]?.type;value=type==="Boolean"&&typeof value!=="boolean"?value!=null:value;if(!transform||!props_definition[prop2]){return value}else if(transform==="toAttribute"){switch(type){case "Object":case "Array":return value==null?null:JSON.stringify(value);case "Boolean":return value?"":null;case "Number":return value==null?null:value;default:return value}}else{switch(type){case "Object":case "Array":return value&&JSON.parse(value);case "Boolean":return value;case "Number":return value!=null?+value:value;default:return value}}} 604function get_custom_elements_slots(element){const result={};element.childNodes.forEach((node)=>{result[node.slot||"default"]=!0});return result} 605function create_custom_element(Component,props_definition,slots,exports$1,shadow_root_init,extend){let Class=class extends SvelteElement{constructor(){super(Component,slots,shadow_root_init);this.$$p_d=props_definition} 606static get observedAttributes(){return object_keys(props_definition).map((key2)=>(props_definition[key2].attribute||key2).toLowerCase())}};object_keys(props_definition).forEach((prop2)=>{define_property(Class.prototype,prop2,{get(){return this.$$c&&prop2 in this.$$c?this.$$c[prop2]:this.$$d[prop2]},set(value){value=get_custom_element_value(prop2,value,props_definition);this.$$d[prop2]=value;var component2=this.$$c;if(component2){var setter=get_descriptor(component2,prop2)?.get;if(setter){component2[prop2]=value}else{component2.$set({[prop2]:value})}}}})});exports$1.forEach((property)=>{define_property(Class.prototype,property,{get(){return this.$$c?.[property]}})});Component.element=Class;return Class} 607var root$7=from_html(`<div class="altcha-checkbox"><input/> <svg aria-hidden="true" width="12" height="9" viewBox="0 0 12 9"><polyline points="1 5 4 8 11 1"></polyline></svg> <div class="altcha-spinner altcha-checkbox-spinner" aria-hidden="true"></div></div>`);function Checkbox($$anchor,$$props){push($$props,!0);let loading=prop($$props,"loading"),rest=rest_props($$props,["$$slots","$$events","$$legacy","$$host","loading"]);let inputEl;function onClick(){inputEl?.click()} 608var $$exports={get loading(){return loading()},set loading($$value){loading($$value);flushSync()}};var div=root$7();var input=child(div);attribute_effect(input,()=>({type:"checkbox",...rest}),void 0,void 0,void 0,void 0,!0);bind_this(input,($$value)=>inputEl=$$value,()=>inputEl);var svg=sibling(input,2);next(2);reset(div);template_effect(()=>set_attribute(div,"data-loading",loading()));
608delegated("click",svg,onClick);append($$anchor,div);return pop($$exports)} 609delegate(["click"]);create_custom_element(Checkbox,{loading:{}},[],[],{mode:"open"});var root$6=from_html(`<div class="altcha-checkbox-native"><input/> <div class="altcha-spinner altcha-checkbox-native-spinner"></div></div>`);function CheckboxNative($$anchor,$$props){push($$props,!0);let loading=prop($$props,"loading"),rest=rest_props($$props,["$$slots","$$events","$$legacy","$$host","loading"]);var $$exports={get loading(){return loading()},set loading($$value){loading($$value);flushSync()}};var div=root$6();var input=child(div);attribute_effect(input,()=>({type:"checkbox",...rest}),void 0,void 0,void 0,void 0,!0);next(2);reset(div);template_effect(()=>set_attribute(div,"data-loading",loading()));append($$anchor,div);return pop($$exports)} 610create_custom_element(CheckboxNative,{loading:{}},[],[],{mode:"open"});var root$5=from_html(`<div><a target="_blank" class="altcha-logo" aria-hidden="true" tabindex="-1"><svg width="22" height="22" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.33955 16.4279C5.88954 20.6586 12.1971 21.2105 16.4279 17.6604C18.4699 15.947 19.6548 13.5911 19.9352 11.1365L17.9886 10.4279C17.8738 12.5624 16.909 14.6459 15.1423 16.1284C11.7577 18.9684 6.71167 18.5269 3.87164 15.1423C1.03163 11.7577 1.4731 6.71166 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577C16.9767 5.86872 17.5322 7.02798 17.804 8.2324L19.9522 9.01429C19.7622 7.07737 19.0059 5.17558 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956C-0.658625 5.88958 -1.21046 12.1971 2.33955 16.4279Z" fill="currentColor"></path><path d="M3.57212 2.33956C1.65755 3.94607 0.496389 6.11731 0.12782 8.40523L2.04639 9.13961C2.26047 7.15832 3.21057 5.25375 4.8577 3.87164C8.24231 1.03162 13.2883 1.4731 16.1284 4.8577L13.8302 6.78606L19.9633 9.13364C19.7929 7.15555 19.0335 5.20847 17.6604 3.57212C14.1104 -0.658624 7.80283 -1.21043 3.57212 2.33956Z" fill="currentColor"></path><path d="M7 10H5C5 12.7614 7.23858 15 10 15C12.7614 15 15 12.7614 15 10H13C13 11.6569 11.6569 13 10 13C8.3431 13 7 11.6569 7 10Z" fill="currentColor"></path></svg></a></div>`);function Logo($$anchor,$$props){push($$props,!0);let strings=prop($$props,"strings");const website="https://altcha.org";var $$exports={get strings(){return strings()},set strings($$value){strings($$value);flushSync()}};var div=root$5();var a=child(div);set_attribute(a,"href",website);reset(div);template_effect(()=>set_attribute(a,"aria-label",strings().ariaLinkLabel));append($$anchor,div);return pop($$exports)} 611create_custom_element(Logo,{strings:{}},[],[],{mode:"open"});var root$4=from_html(`<div class="altcha-footer"><p></p> <!></div>`);function Footer($$anchor,$$props){push($$props,!0);let logo=prop($$props,"logo"),strings=prop($$props,"strings");var $$exports={get logo(){return logo()},set logo($$value){logo($$value);flushSync()},get strings(){return strings()},set strings($$value){strings($$value);flushSync()}};var div=root$4();var p=child(div);html(p,()=>strings().footer,!0);reset(p);var node=sibling(p,2);{var consequent=($$anchor2)=>{Logo($$anchor2,{get strings(){return strings()}})};if_block(node,($$render)=>{if(logo())$$render(consequent)})} 612reset(div);append($$anchor,div);return pop($$exports)} 613create_custom_element(Footer,{logo:{},strings:{}},[],[],{mode:"open"});var root$3=from_html(`<div class="altcha-switch"><input/> <div class="altcha-switch-toggle"><div class="altcha-spinner altcha-switch-spinner"></div></div></div>`);function Switch($$anchor,$$props){push($$props,!0);let loading=prop($$props,"loading"),rest=rest_props($$props,["$$slots","$$events","$$legacy","$$host","loading"]);let inputEl;function onClick(){inputEl?.click()} 614var $$exports={get loading(){return loading()},set loading($$value){loading($$value);flushSync()}};var div=root$3();var input=child(div);attribute_effect(input,()=>({type:"checkbox",...rest}),void 0,void 0,void 0,void 0,!0);bind_this(input,($$value)=>inputEl=$$value,()=>inputEl);var div_1=sibling(input,2);reset(div);template_effect(()=>set_attribute(div,"data-loading",loading()));delegated("click",div_1,onClick);append($$anchor,div);return pop($$exports)} 615delegate(["click"]);
615create_custom_element(Switch,{loading:{}},[],[],{mode:"open"});var AudioState=((AudioState2)=>{AudioState2.ERROR="error";AudioState2.LOADING="loading";AudioState2.PLAYING="playing";AudioState2.PAUSED="paused";AudioState2.READY="ready";return AudioState2})(AudioState||{});var State=((State2)=>{State2.CODE="code";State2.ERROR="error";State2.VERIFIED="verified";State2.VERIFYING="verifying";State2.UNVERIFIED="unverified";State2.EXPIRED="expired";return State2})(State||{});var root_1$2=from_html(`<div class="altcha-code-challenge-title"> </div>`);var root_3$2=from_html(`<div class="altcha-spinner"></div>`);var root_4=from_svg(`<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM10.9999 16.0002V18.0002H12.9999V16.0002H10.9999ZM10.9999 9.00017V14.0002H12.9999V9.00017H10.9999Z"></path></svg>`);var root_5=from_svg(`<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M15 7C15 6.44772 15.4477 6 16 6C16.5523 6 17 6.44772 17 7V17C17 17.5523 16.5523 18 16 18C15.4477 18 15 17.5523 15 17V7ZM7 7C7 6.44772 7.44772 6 8 6C8.55228 6 9 6.44772 9 7V17C9 17.5523 8.55228 18 8 18C7.44772 18 7 17.5523 7 17V7Z"></path></svg>`);var root_6=from_svg(`<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M4 12H7C8.10457 12 9 12.8954 9 14V19C9 20.1046 8.10457 21 7 21H4C2.89543 21 2 20.1046 2 19V12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12V19C22 20.1046 21.1046 21 20 21H17C15.8954 21 15 20.1046 15 19V14C15 12.8954 15.8954 12 17 12H20C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12Z"></path></svg>`);var root_2$2=from_html(`<button type="button" class="altcha-button altcha-button-secondary"><!></button>`);var root_7=from_html(`<audio hidden="" autoplay=""></audio>`);var root$2=from_html(`<div class="altcha-code-challenge"><form data-code-challenge="true"><!> <div class="altcha-code-challenge-text"> </div> <img class="altcha-code-challenge-image" alt=""/> <div class="altcha-code-challenge-row"><input type="text" class="altcha-input" autocomplete="off" name="" required=""/> <!> <button type="button" class="altcha-button altcha-button-secondary"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2V4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 9.25022 5.38734 6.82447 7.50024 5.38451L7.5 8H9.5V2L3.5 2V4L5.99918 3.99989C3.57075 5.82434 2 8.72873 2 12Z"></path></svg></button></div> <div class="altcha-code-challenge-buttons"><button type="submit" class="altcha-button"> </button> <button type="button" class="altcha-button altcha-button-secondary"> </button></div></form> <!></div>`);function Code($$anchor,$$props){push($$props,!0);let audioUrl=prop($$props,"audioUrl"),codeChallenge=prop($$props,"codeChallenge"),config=prop($$props,"config"),imageUrl=prop($$props,"imageUrl"),onCancel=prop($$props,"onCancel"),onReload=prop($$props,"onReload"),onSubmit=prop($$props,"onSubmit"),strings=prop($$props,"strings");let audioState=state(void 0);let elAudio=state(void 0);let elInput=state(void 0);let loading=state(!1);let code=state("");let playAudio=state(!1);onMount(()=>{if(!config().disableAutoFocus){tick().then(()=>{get(elInput)?.focus()})} 616return()=>{if(get(elAudio)){get(elAudio).pause();set(elAudio,void 0)}}});function onAudioEnded(){set(audioState,AudioState.PAUSED,!0)} 617function onAudioError(ev){set(audioState,AudioState.ERROR,!0)} 618function onAudioCanPlay(){set(audioState,AudioState.READY,!0)} 619function onAudioLoadStart(){set(audioState,AudioState.LOADING,!0)} 620function onAudioPlaying(){set(audioState,AudioState.PLAYING,!0)} 621function onAudioPause(){set(audioState,AudioState.PAUSED,!0)} 622function onInputKeyDown(ev){if(ev.code==="Space"){ev.preventDefault();ev.stopPropagation();onPlayAudio()}else if(ev.code==="Escape"){ev.preventDefault();ev.stopPropagation();onCancel()?.()}} 623function onSubmitCapture(ev){ev.preventDefault();ev.stopPropagation();onSubmit()?.(get(code))} 624function onPlayAudio(){if(get(elAudio)){if(get(audioState)===AudioState.LOADING);else if(!get(elAudio).paused){get(elAudio).pause()}else{if(audioUrl()&&get(elAudio).src!==audioUrl()){get(elAudio).src=audioUrl()} 625get(elAudio).currentTime=0;get(elAudio).play()}}else{set(playAudio,!0);requestAnimationFrame(()=>{if(get(elAudio)&&audioUrl()){get(elAudio).src=audioUrl();get(elAudio).play()}})}} 626var $$exports={get audioUrl(){return audioUrl()},set audioUrl($$value){audioUrl($$value);flushSync()}
626,get codeChallenge(){return codeChallenge()},set codeChallenge($$value){codeChallenge($$value);flushSync()},get config(){return config()},set config($$value){config($$value);flushSync()},get imageUrl(){return imageUrl()},set imageUrl($$value){imageUrl($$value);flushSync()},get onCancel(){return onCancel()},set onCancel($$value){onCancel($$value);flushSync()},get onReload(){return onReload()},set onReload($$value){onReload($$value);flushSync()},get onSubmit(){return onSubmit()},set onSubmit($$value){onSubmit($$value);flushSync()},get strings(){return strings()},set strings($$value){strings($$value);flushSync()}};var div=root$2();var form=child(div);var node=child(form);{var consequent=($$anchor2)=>{var div_1=root_1$2();var text2=child(div_1,!0);reset(div_1);template_effect(()=>set_text(text2,strings().verificationRequired));append($$anchor2,div_1)};if_block(node,($$render)=>{if(config().codeChallengeDisplay!=="standard")$$render(consequent)})} 627var div_2=sibling(node,2);var text_1=child(div_2,!0);reset(div_2);var img=sibling(div_2,2);var div_3=sibling(img,2);var input=child(div_3);remove_input_defaults(input);input.disabled=get(loading);bind_this(input,($$value)=>set(elInput,$$value),()=>get(elInput));var node_1=sibling(input,2);{var consequent_4=($$anchor2)=>{var button=root_2$2();var node_2=child(button);{var consequent_1=($$anchor3)=>{var div_4=root_3$2();append($$anchor3,div_4)};var consequent_2=($$anchor3)=>{var svg=root_4();append($$anchor3,svg)};var consequent_3=($$anchor3)=>{var svg_1=root_5();append($$anchor3,svg_1)};var alternate=($$anchor3)=>{var svg_2=root_6();append($$anchor3,svg_2)};if_block(node_2,($$render)=>{if(get(audioState)===AudioState.LOADING)$$render(consequent_1);else if(get(audioState)===AudioState.ERROR)$$render(consequent_2,1);else if(get(audioState)===AudioState.PLAYING)$$render(consequent_3,2);else $$render(alternate,-1)})} 628reset(button);template_effect(()=>{set_attribute(button,"title",strings().getAudioChallenge);button.disabled=get(audioState)===AudioState.LOADING||get(audioState)===AudioState.ERROR;set_attribute(button,"aria-label",get(audioState)===AudioState.LOADING?strings().loading:strings().getAudioChallenge)});event("click",button,()=>onPlayAudio(),!0);append($$anchor2,button)};if_block(node_1,($$render)=>{if(codeChallenge().audio)$$render(consequent_4)})} 629var button_1=sibling(node_1,2);reset(div_3);var div_5=sibling(div_3,2);var button_2=child(div_5);var text_2=child(button_2,!0);reset(button_2);var button_3=sibling(button_2,2);var text_3=child(button_3,!0);reset(button_3);reset(div_5);reset(form);var node_3=sibling(form,2);{var consequent_5=($$anchor2)=>{var audio=root_7();bind_this(audio,($$value)=>set(elAudio,$$value),()=>get(elAudio));event("error",audio,onAudioError);event("loadstart",audio,onAudioLoadStart);event("canplay",audio,onAudioCanPlay);event("pause",audio,onAudioPause);event("playing",audio,onAudioPlaying);event("ended",audio,onAudioEnded);append($$anchor2,audio)};if_block(node_3,($$render)=>{if(get(playAudio))$$render(consequent_5)})} 630reset(div);template_effect(()=>{set_text(text_1,strings().enterCodeFromImage);set_attribute(img,"src",imageUrl());set_attribute(input,"minlength",codeChallenge().length||1);set_attribute(input,"maxlength",codeChallenge().length);set_attribute(input,"placeholder",strings().enterCode);set_attribute(input,"aria-label",get(audioState)===AudioState.LOADING?strings().loading:get(audioState)===AudioState.PLAYING?"":strings().enterCodeAria);set_attribute(input,"aria-live",get(audioState)?"assertive":"polite");set_attribute(input,"aria-busy",get(audioState)===AudioState.LOADING);set_attribute(button_1,"title",strings().reload);set_attribute(button_1,"aria-label",strings().reload);set_attribute(button_2,"aria-label",strings().verify);set_text(text_2,strings().verify);set_attribute(button_3,"aria-label",strings().cancel);set_text(text_3,strings().cancel)});event("submit",form,onSubmitCapture,!0);delegated("keydown",input,onInputKeyDown);bind_value(input,()=>get(code),($$value)=>set(code,$$value));event("click",button_1,()=>onReload()?.(),!0);event("click",button_3,()=>onCancel()?.(),!0);append($$anchor,div);return pop($$exports)} 631delegate(["keydown"]);
631create_custom_element(Code,{audioUrl:{},codeChallenge:{},config:{},imageUrl:{},onCancel:{},onReload:{},onSubmit:{},strings:{}},[],[],{mode:"open"});var root_1$1=from_html(`<div class="altcha-popover-backdrop" data-backdrop=""></div>`);var root_2$1=from_html(`<div class="altcha-popover-arrow"></div>`);var root_3$1=from_html(`<div role="button" class="altcha-popover-close">×</div>`);var root$1=from_html(`<!> <div><!> <!> <div class="altcha-popover-content"><!></div></div>`,1);function Popover($$anchor,$$props){push($$props,!0);let anchor=prop($$props,"anchor"),children=prop($$props,"children"),display=prop($$props,"display",7,"standard"),backdrop=prop($$props,"backdrop",7,!1),onClickOutside=prop($$props,"onClickOutside"),onClickOutsideDelay=prop($$props,"onClickOutsideDelay",7,600),onClose=prop($$props,"onClose"),placement=prop($$props,"placement",7,"auto"),updateUISignal=prop($$props,"updateUISignal"),variant=prop($$props,"variant",7,"neutral"),rest=rest_props($$props,["$$slots","$$events","$$legacy","$$host","anchor","children","display","backdrop","onClickOutside","onClickOutsideDelay","onClose","placement","updateUISignal","variant"]);let el=state(void 0);let elBackdrop=state(void 0);let top=state(!1);let mountedAt=state(0);user_effect(()=>{if(placement()!=="auto"){set(top,placement()==="top")}});user_effect(()=>{if(updateUISignal()){reposition()}});onMount(()=>{const moveToBody=display()==="bottomsheet"||display()==="overlay";if(moveToBody){get(elBackdrop)&&document.body.append(get(elBackdrop));get(el)&&document.body.append(get(el))} 632reposition();tick().then(()=>{set(mountedAt,Date.now(),!0)});return()=>{if(moveToBody){get(elBackdrop)&&document.body.removeChild(get(elBackdrop));get(el)&&document.body.removeChild(get(el))}}});function onCloseClick(){onClose()?.()} 633function onWindowClick(ev){const target=ev.target;if(!get(el)?.contains(target)&&(!onClickOutsideDelay()||get(mountedAt)+onClickOutsideDelay()<Date.now())){onClickOutside()?.()}} 634function onWindowResize(){reposition()} 635function onWindowScroll(){reposition()} 636function reposition(){if(anchor()&&placement()==="auto"&&get(el)){const boundary2=anchor().getBoundingClientRect();const bottomGap=document.documentElement.clientHeight-(boundary2.top+boundary2.height);const newTop=bottomGap<get(el).clientHeight;if(get(top)!==newTop){set(top,newTop)}}} 637var $$exports={get anchor(){return anchor()},set anchor($$value){anchor($$value);flushSync()},get children(){return children()},set children($$value){children($$value);flushSync()},get display(){return display()},set display($$value="standard"){display($$value);flushSync()},get backdrop(){return backdrop()},set backdrop($$value=!1){backdrop($$value);flushSync()},get onClickOutside(){return onClickOutside()},set onClickOutside($$value){onClickOutside($$value);flushSync()},get onClickOutsideDelay(){return onClickOutsideDelay()},set onClickOutsideDelay($$value=600){onClickOutsideDelay($$value);flushSync()},get onClose(){return onClose()},set onClose($$value){onClose($$value);flushSync()},get placement(){return placement()},set placement($$value="auto"){placement($$value);flushSync()},get updateUISignal(){return updateUISignal()},set updateUISignal($$value){updateUISignal($$value);flushSync()},get variant(){return variant()},set variant($$value="neutral"){variant($$value);flushSync()}};var fragment=root$1();event("click",$window,onWindowClick,!0);event("resize",$window,onWindowResize);event("scroll",$window,onWindowScroll);var node=first_child(fragment);{var consequent=($$anchor2)=>{var div=root_1$1();bind_this(div,($$value)=>set(elBackdrop,$$value),()=>get(elBackdrop));append($$anchor2,div)};if_block(node,($$render)=>{if(backdrop())$$render(consequent)})} 638var div_1=sibling(node,2);attribute_effect(div_1,()=>({...rest,class:`altcha-popover ${($$props.class || "") ?? ""}`,"data-popover":!0,"data-variant":variant(),"data-top":get(top),"data-display":display()}));var node_1=child(div_1);{var consequent_1=($$anchor2)=>{var div_2=root_2$1();append($$anchor2,div_2)};if_block(node_1,($$render)=>{if(display()==="standard")$$render(consequent_1)})} 639var node_2=sibling(node_1,2);{var consequent_2=($$anchor2)=>{var div_3=root_3$1();
639event("click",div_3,onCloseClick,!0);append($$anchor2,div_3)};if_block(node_2,($$render)=>{if(display()!=="standard")$$render(consequent_2)})} 640var div_4=sibling(node_2,2);var node_3=child(div_4);snippet(node_3,()=>children()??noop);reset(div_4);reset(div_1);bind_this(div_1,($$value)=>set(el,$$value),()=>get(el));append($$anchor,fragment);return pop($$exports)} 641create_custom_element(Popover,{anchor:{},children:{},display:{},backdrop:{},onClickOutside:{},onClickOutsideDelay:{},onClose:{},placement:{},updateUISignal:{},variant:{}},[],[],{mode:"open"});function bufferToHex(buffer){return Array.from(new Uint8Array(buffer)).map((b)=>b.toString(16).padStart(2,"0")).join("")} 642function injectCss(css2,id="altcha-css",nonce){if(typeof document!=="undefined"&&document&&!document.getElementById(id)){const style=document.createElement("style");style.id=id;style.textContent=css2;const resolvedNonce=document.currentScript?.nonce??document.querySelector('meta[name="csp-nonce"]')?.content;if(resolvedNonce){style.nonce=resolvedNonce} 643document.head.appendChild(style)}} 644async function solveChallengeWorkers(options){const{challenge,concurrency=navigator.hardwareConcurrency,controller=new AbortController(),createWorker,onOutOfMemory=(c)=>c>1?Math.floor(c/2):0,counterMode,timeout=9e4}=options;const workersConcurrency=Math.min(16,Math.max(1,concurrency));const workersInstances=[];const terminate=()=>{for(const worker of workersInstances){worker.terminate()}};for(let i=0;i<workersConcurrency;i++){workersInstances.push(await createWorker(challenge.parameters.algorithm))} 645let solution=null;try{solution=await Promise.race(workersInstances.map((worker,i)=>{controller.signal.addEventListener("abort",()=>{worker.postMessage({type:"abort"})});return new Promise((resolve,reject)=>{worker.addEventListener("error",(err)=>{reject(err)});worker.addEventListener("message",(message)=>{if(message.data){for(const w of workersInstances){if(w!==worker){w.postMessage({type:"abort"})}} 646if(message.data.error){return reject(new Error(message.data.error))}} 647resolve(message.data)});worker.postMessage({challenge,counterMode,counterStart:i,counterStep:workersConcurrency,timeout,type:"work"})})}))}catch(err){const isOOM=err instanceof Error&&!!err?.message?.includes("Out of memory");if(isOOM){if(onOutOfMemory){terminate();const retryConcurrency=onOutOfMemory(workersConcurrency);if(retryConcurrency){return solveChallengeWorkers({...options,challenge,controller,concurrency:retryConcurrency,createWorker})}}} 648throw err}finally{terminate()} 649if(controller.signal.aborted){return null} 650return solution||null} 651class Collector{TAG_CODES={INPUT:1,TEXTAREA:2,SELECT:3,BUTTON:4,A:5,DETAILS:6,SUMMARY:7,IFRAME:8,VIDEO:9,AUDIO:10};maxSamples;sampleInterval;target;focusStartTime=0;focusInteraction=0;focusInteractionTimer=null;lastPointerSample=0;lastTouchSample=0;lastScrollSample=0;pendingPointer=null;pendingTouch=null;focus=[];pointer=[];scroll=[];touch=[];constructor(options={}){const{maxSamples=60,sampleInterval=50,target=window}=options;this.maxSamples=maxSamples;this.sampleInterval=sampleInterval;this.target=target;this.attach()} 652destroy(){const o={capture:!0};this.target.removeEventListener("focusin",this.onFocus,o);this.target.removeEventListener("keydown",this.onInteraction,o);this.target.removeEventListener("pointerdown",this.onInteraction,o);this.target.removeEventListener("pointermove",this.onPointer,o);this.target.removeEventListener("scroll",this.onScroll,o);this.target.removeEventListener("touchmove",this.onTouchMove,o)} 653export(){return{focus:this.focus,maxTouchPoints:navigator.maxTouchPoints||0,pointer:this.pointer,scroll:this.scroll,time:Date.now(),touch:this.touch}} 654attach(){const o={passive:!0,capture:!0};this.target.addEventListener("focusin",this.onFocus,o);this.target.addEventListener("keydown",this.onInteraction,o);this.target.addEventListener("pointerdown",this.onInteraction,o);this.target.addEventListener("pointermove",this.onPointer,o);this.target.addEventListener("scroll",this.onScroll,o);this.target.addEventListener("touchmove",this.onTouchMove,o)} 655evict(buffer){if(buffer.length>this.maxSamples){buffer.splice(0,buffer.length-this.maxSamples)}} 656onFocus=(e)=>{if(this.focusInteraction===2){return} 657const el=e.target;if(!(el instanceof Element)){return} 658const now=performance.now();if(this.focusStartTime===0){this.focusStartTime=now} 659this.focus.push([Math.round(now-this.focusStartTime),el.tabIndex,this.TAG_CODES[el.tagName]??0,this.focusInteraction?1:0]);this.evict(this.focus)};onInteraction=(e)=>{this.focusInteraction="keyCode" in e?1:2;if(this.focusInteractionTimer){clearTimeout(this.focusInteractionTimer)} 660this.focusInteractionTimer=setTimeout(()=>{this.focusInteraction=0},100)};onPointer=(e)=>{if(e.pointerType==="touch"){return} 661const now=e.timeStamp||performance.now();this.pendingPointer=[Math.round(e.clientX),Math.round(e.clientY),Math.round(now)];if(now-this.lastPointerSample>=this.sampleInterval){this.pointer.push(this.pendingPointer);this.lastPointerSample=now;this.pendingPointer=null;this.evict(this.pointer)}};onScroll=()=>{const now=performance.now();if(now-this.lastScrollSample<this.sampleInterval){return} 662this.scroll.push([Math.round(window.scrollY),Math.round(now)]);this.lastScrollSample=now;this.evict(this.scroll)};onTouchMove=(e)=>{const now=e.timeStamp||performance.now();const t=e.touches[0];if(!t){return} 663this.pendingTouch=[Math.round(t.clientX),Math.round(t.clientY),Math.round(now),Math.round(t.force*1e3)/1e3,Math.round(t.radiusX||0),Math.round(t.radiusY||0)];if(now-this.lastTouchSample>=this.sampleInterval){this.touch.push(this.pendingTouch);this.lastTouchSample=now;this.pendingTouch=null;this.evict(this.touch)}}} 664var root_1=from_html(`<div class="altcha-overlay-backdrop" data-backdrop=""></div>`);var root_3=from_html(`<div class="altcha-overlay-content"></div>`);var root_2=from_html(`<div role="button" class="altcha-overlay-close">×</div> <!>`,1);var root_10=from_html(`<div class="altcha-floating-arrow"></div>`);var root_11=from_html(`<input type="hidden"/>`);var root_14=from_html(`<div class="altcha-error">Secure context (HTTPS) required.</div>`);var root_15=from_html(`<div class="altcha-error"> </div>`);var root_16=from_html(`<div class="altcha-error"> </div>`);var root_19=from_html(`<!> <!>`,1);var root=from_html(`<!> <div class="altcha"><!> <div class="altcha-main"><div><div class="altcha-checkbox-wrap"><!> <label><!></label></div> <!></div> <!> <!> <!></div> <!></div>`,1);function Widget($$anchor,$$props){push($$props,!0);const $altchaDefaults=()=>store_get(altchaDefaults,"$altchaDefaults",$$stores);const $altchaI18nStore=()=>store_get(altchaI18nStore,"$altchaI18nStore",$$stores);const[$$stores,$$cleanup]=setup_stores();const fieldsSelector='input[type="text"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])';const submitButtonSelector='input[type="submit"], button[type="submit"], button:not([type="button"]):not([type="reset"])';const rtlLanguages=["ar","fa","he","ur"];const{isSecureContext}=globalThis;const{store:altchaDefaults}=globalThis.$altcha.defaults;const hardwareConcurrency=navigator.hardwareConcurrency||2;const deviceMemory=navigator.deviceMemory||0;const defaultWorkers=deviceMemory&&deviceMemory<=4?Math.min(4,hardwareConcurrency):hardwareConcurrency;const altchaI18nStore=globalThis.$altcha.i18n.store;const instance=$$props.$$host;const dispatch=(event2,detail)=>{tick().then(()=>{instance?.dispatchEvent(new CustomEvent(event2,{detail}))})};let hisCollector=null;let baseUrl=state(proxy(new URL(location.origin)));let checked=state(!1);let codeChallenge=state(null);let currentController=state(null);let currentDisplay=state(null);let currentState=state(proxy(State.UNVERIFIED));let elAnchorArrow=state(void 0);let elFloatingAnchor=state(void 0);let elForm=state(null);let elRoot=state(void 0);let elSubmitter=state(null);let error=state(null);let expirationTimeout=state(null);let payload=state(null);let plugins=state(proxy([]));let updateUISignal=state(0);let userConfig=state(proxy({}));let visible=state(!0);const config=user_derived(()=>({fetch:(input,init)=>
664fetch(input,init),audioChallengeLanguage:"",auto:"off",barPlacement:"bottom",challenge:"",codeChallenge:null,codeChallengeDisplay:"standard",credentials:null,debug:!1,disableAutoFocus:!1,display:"standard",floatingAnchor:"",floatingOffset:8,floatingPersist:!1,floatingPlacement:"auto",hideFooter:!1,hideLogo:!1,humanInteractionSignature:!0,language:"",mockError:!1,minDuration:500,overlayContent:"",name:"altcha",popoverPlacement:"auto",retryOnOutOfMemoryError:!0,setCookie:null,serverVerificationFields:!1,serverVerificationTimeZone:!1,test:!1,timeout:9e4,type:"checkbox",validationMessage:"",verifyFunction:null,verifyUrl:"",workers:defaultWorkers,...$altchaDefaults(),...get(userConfig)}));const checkboxId=user_derived(()=>`altcha-checkbox-${$$props.id || Math.floor(Math.random() * 1e12).toString(16)}`);const CheckboxComponent=user_derived(()=>getCheckboxComponent(get(config).type));const auto=user_derived(()=>get(config).auto);const loading=user_derived(()=>get(currentState)===State.VERIFYING);const showFooter=user_derived(()=>!get(config).hideFooter);const showLogo=user_derived(()=>!get(config).hideLogo&&get(config).display!=="bar");const locale=user_derived(()=>getI18nStrings($altchaI18nStore(),[get(config).language,document.documentElement.lang,...navigator.languages]));const dir=user_derived(()=>rtlLanguages.includes(get(locale).language)?"rtl":void 0);const strings=user_derived(()=>({...get(locale).strings}));const codeChallengeAudioUrl=user_derived(()=>get(codeChallenge)?.audio?.match(/^(https?:)?\//)?getUrl(get(codeChallenge).audio,get(baseUrl),{language:get(config).audioChallengeLanguage||get(locale).language}).toString():get(codeChallenge)?.audio);const codeChallengeImageUrl=user_derived(()=>get(codeChallenge)?.image?.match(/^(https?:)?\//)?getUrl(get(codeChallenge).image,get(baseUrl)):get(codeChallenge)?.image);user_effect(()=>{configure({auto:$$props.auto,challenge:$$props.challenge,display:$$props.display,language:$$props.language,name:$$props.name,type:$$props.type,workers:$$props.workers})});user_effect(()=>{if($$props.configuration){try{configure(JSON.parse($$props.configuration))}catch{log("unable to parse the `configuration` attribute (JSON expected)")}}});user_effect(()=>{if(get(currentDisplay)!==get(config).display){setDisplay(get(config).display)}});user_effect(()=>{if(get(checked)&&get(currentState)===State.VERIFYING){set(checked,!1)}});user_effect(()=>{if(!get(checked)&&get(currentState)===State.VERIFIED){set(checked,!0)}});user_effect(()=>{if(!get(checked)){const checkbox=getCheckboxElement();if(checkbox&&checkbox.checked){checkbox.checked=!1}}});user_effect(()=>{if(get(currentState)===State.VERIFIED){getCheckboxElement()?.setCustomValidity("")}});user_effect(()=>{if(get(auto)==="onload"){const tm=setTimeout(()=>{verify()},1);return()=>{if(tm){clearTimeout(tm)}}}});user_effect(()=>{if(get(error)){log("error:",get(error))}});user_effect(()=>{if(get(payload)&&get(config).setCookie){setCookie(get(payload),get(config).setCookie)}});onMount(()=>{log("mounted","3.1.0");if(instance){globalThis.$altcha.instances.add(instance)} 665set(elForm,get(elRoot)?.closest("form"),!0);get(elForm)?.addEventListener("reset",onFormReset);get(elForm)?.addEventListener("submit",onFormSubmit,{capture:!0});get(elForm)?.addEventListener("focusin",onFormFocusIn);activatePlugins();if(get(config).humanInteractionSignature){log("human interaction signature enabled");hisCollector=new Collector()} 666dispatch("load");if(!isSecureContext){log("secure context (HTTPS) required")} 667return()=>{destroyPlugins();if(instance){globalThis.$altcha.instances.delete(instance)} 668if(get(expirationTimeout)){clearTimeout(get(expirationTimeout))} 669get(elForm)?.removeEventListener("reset",onFormReset);get(elForm)?.removeEventListener("submit",onFormSubmit,{capture:!0});get(elForm)?.removeEventListener("focusin",onFormFocusIn);hisCollector?.destroy()}});function activatePlugins(){set(plugins,[...globalThis.$altcha.plugins].map((PluginCls)=>new PluginCls(instance)),!0);log("activating plugins",get(plugins).map((plugin)=>plugin.constructor.name));for(const plugin of get(plugins)){plugin.activate()}} 670async function callHook(hook,...args){let result=void 0;
670for(const plugin of get(plugins)){result=await plugin[hook].call(plugin,...args)} 671return result} 672function destroyPlugins(){for(const plugin of get(plugins)){plugin.destroy()}} 673function createChallengeFromV1(challenge){const[_,queryParams]=challenge.salt.split("?");const data={};if(queryParams){try{Object.assign(data,Object.fromEntries(new URLSearchParams(queryParams).entries()))}catch{}} 674const result={codeChallenge:challenge.codeChallenge,parameters:{algorithm:challenge.algorithm,cost:1,data,expiresAt:data?.expires?parseInt(data.expires,10):void 0,keyLength:challenge.algorithm==="SHA-512"?64:challenge.algorithm==="SHA-384"?48:32,nonce:bufferToHex(new TextEncoder().encode(challenge.salt)),keyPrefix:challenge.challenge,salt:""},signature:challenge.signature};Object.defineProperties(result,{_originalSalt:{enumerable:!1,value:challenge.salt,writable:!1},_version:{enumerable:!1,value:1,writable:!1}});return result} 675function createPayloadV1(challenge,solution){return{algorithm:challenge.parameters.algorithm,challenge:challenge.parameters.keyPrefix,number:solution.counter,salt:"_originalSalt" in challenge?challenge._originalSalt:challenge.parameters.nonce,signature:challenge.signature,took:solution.time||0}} 676async function delay(ms){await new Promise((resolve)=>setTimeout(resolve,ms))} 677async function fetchChallenge(source2=get(config).challenge,requestOptions){const hook=await callHook("onFetchChallenge",source2);let challenge=null;if(hook!==void 0){return hook} 678if(typeof source2==="string"){if(source2.startsWith("{")){log("parsing JSON challenge");try{challenge=JSON.parse(source2)}catch{throw new Error(`Unable to parse JSON challenge.`)}}else{log("fetching challenge from",requestOptions?.method||"GET",source2);set(baseUrl,new URL(source2,location.origin),!0);const resp=await get(config).fetch(source2,{credentials:get(config).credentials||void 0,...requestOptions});await validateResponse(resp);const configHeader=resp.headers.get("x-altcha-config");if(configHeader){processConfigHeader(configHeader)} 679const json=await resp.json();if(json&&"his" in json&&json.his){log("requested HIS");if(!hisCollector){throw new Error("Server requested HIS data but collector is disabled.")} 680return fetchChallenge(getUrl(json.his.url,get(baseUrl)),{body:JSON.stringify({his:hisCollector.export()}),headers:{"content-type":"application/json"},method:"POST"})} 681if(json&&"hisResult" in json&&json.hisResult){log("HIS result",json.hisResult)} 682challenge=json}}else if(source2&&typeof source2==="object"){try{challenge=JSON.parse(JSON.stringify(source2))}catch{throw new Error(`Unable to parse JSON challenge.`)}} 683if(isChallengeV1(challenge)){challenge=createChallengeFromV1(challenge)} 684if(!isChallengeValid(challenge)){throw new Error(`Challenge validation failed.`)} 685return challenge} 686function isChallengeV1(challenge){return typeof challenge==="object"&&"challenge" in challenge} 687function isChallengeValid(challenge){return!!challenge&&typeof challenge==="object"&&"parameters" in challenge&&!!challenge.parameters&&typeof challenge.parameters==="object"&&"algorithm" in challenge.parameters&&"nonce" in challenge.parameters&&"salt" in challenge.parameters&&"keyPrefix" in challenge.parameters} 688function getCheckboxElement(){return document.getElementById(get(checkboxId))} 689function getCheckboxComponent(type){switch(type){case "checkbox":return Checkbox;case "switch":return Switch;case "native":default:return CheckboxNative}} 690function getI18nStrings(i18n2,languages){const codes=Object.keys(i18n2).map((code)=>code.toLowerCase());let language=languages.reduce((acc,lang)=>{lang=lang.toLowerCase();return acc||(i18n2[lang]?lang:null)||codes.find((code)=>lang.split("-")[0]===code.split("-")[0])||null},null);if(!i18n2[language||""]){language="en"} 691return{language,strings:i18n2[language]}} 692function getPlacement(display){switch(display){case "bar":return get(config).barPlacement||"bottom";case "floating":return get(config).floatingPlacement||"auto";default:return void 0}} 693function getTextFields(names){const elInputs=[...get(elForm)?.querySelectorAll(fieldsSelector)||[]];return elInputs.reduce((acc,el)=>{const name=el.name;const value=el.value;if(name&&value){acc[name]=/\n/.test(value)?value.replace(new RegExp("(?<!\\r)\\n","g"),"\r\n"):value} 694return acc},{})} 695function getTimeZone(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{} 696return void 0} 697function getUrl(uri,baseUrl2,params){const result=new URL(uri,baseUrl2);if(!result.search){result.search=baseUrl2.search} 698if(params){for(const key2 in params){if(params[key2]!==void 0&¶ms[key2]!==null){result.searchParams.set(key2,params[key2])}}} 699return result.toString()} 700function onCheckboxChange(ev){if(!get(checked)&&ev.currentTarget.checked){ev.preventDefault();ev.currentTarget.checked=!1;if(get(currentState)!==State.VERIFYING){verify()}}else if(!ev.currentTarget.checked){ev.preventDefault();reset$1()}}
701function onCheckboxInvalid(ev){if(get(currentState)===State.VERIFYING){ev.currentTarget.setCustomValidity(get(strings).waitAlert)}else if(get(config).validationMessage){ev.currentTarget.setCustomValidity(get(config).validationMessage)}} 702function onCloseClick(){setDisplay(get(config).display);reset$1()} 703function onDocumentScroll(){updateUI()} 704function onDocumentClick(ev){const target=ev.target;if(get(config).display==="floating"&&target&&!instance?.contains(target)&&!target.hasAttribute("data-backdrop")&&!target.closest("[data-popover]")&&get(currentState)!==State.VERIFIED&&!get(config).floatingPersist){hide()}} 705function onFormFocusIn(ev){if(get(auto)==="onfocus"&&get(currentState)===State.UNVERIFIED){verify()}} 706function onFormReset(){setDisplay(get(config).display);reset$1()} 707function onFormSubmit(ev){const target=ev.target;if(target?.getAttribute("data-code-challenge")==="true"){return} 708if(get(auto)==="onsubmit"&&get(currentState)===State.UNVERIFIED){ev.preventDefault();ev.stopPropagation();set(elSubmitter,ev.submitter,!0);show();verify().then((result)=>{if(result&&!get(codeChallenge)){tick().then(()=>{requestSubmit(get(elSubmitter))})}})}} 709function onWindowPageshow(ev){if(ev.persisted){setDisplay(get(config).display);reset$1()}} 710function onWindowResize(){updateUI()} 711function processConfigHeader(jsonConfig){try{const json=JSON.parse(jsonConfig);if(json&&typeof json==="object"){configure({serverVerificationFields:json?.sentinel?.fields,serverVerificationTimeZone:json?.sentinel?.timeZone,verifyUrl:json.verifyurl,...json})}}catch(err){log("unable to configure from x-altcha-config header",err)}} 712function repositionFloating(viewportOffset=20){if(!get(elRoot)){return} 713const floatingPlacement=get(config).floatingPlacement;if(!get(elFloatingAnchor)){set(elFloatingAnchor,(get(config).floatingAnchor instanceof HTMLElement?get(config).floatingAnchor:get(config).floatingAnchor?document.querySelector(get(config).floatingAnchor):get(elForm)?.querySelector(submitButtonSelector))||get(elForm),!0);if(!get(elFloatingAnchor)){log("unable to find floating anchor element");return}} 714const offsetY=parseInt(get(config).floatingOffset,10)||12;const anchorBoundry=get(elFloatingAnchor).getBoundingClientRect();const elBoundary=get(elRoot).getBoundingClientRect();const docHeight=document.documentElement.clientHeight;const docWidth=document.documentElement.clientWidth;const showOnTop=!floatingPlacement||floatingPlacement==="auto"?anchorBoundry.bottom+elBoundary.height+offsetY+viewportOffset>docHeight:floatingPlacement==="top";const left=Math.max(viewportOffset,Math.min(docWidth-viewportOffset-elBoundary.width,anchorBoundry.left+anchorBoundry.width/2-elBoundary.width/2));get(elRoot).style.setProperty("--altcha-floating-left",`${left}px`);get(elRoot).style.setProperty("--altcha-floating-top",showOnTop?`${anchorBoundry.top - (elBoundary.height + offsetY)}px`:`${anchorBoundry.bottom + offsetY}px`);get(elRoot).setAttribute("data-floating-position",showOnTop?"top":"bottom");if(get(elAnchorArrow)){const anchorArrowBoundry=get(elAnchorArrow).getBoundingClientRect();get(elAnchorArrow).style.left=anchorBoundry.left-left+anchorBoundry.width/2-anchorArrowBoundry.width/2+"px"}} 715async function requestServerVerification(verificationPayload,code){const hook=await callHook("onRequestServerVerification",verificationPayload,code);if(hook!==void 0){return hook} 716log("requesting server verification from",get(config).verifyUrl);if(!get(config).verifyUrl){throw new Error(`Parameter verifyUrl must be set for server verification.`)} 717const resp=await get(config).fetch(getUrl(get(config).verifyUrl,get(baseUrl)),{body:JSON.stringify({code,fields:get(config).serverVerificationFields?getTextFields():void 0,payload:verificationPayload,timeZone:get(config).serverVerificationTimeZone?getTimeZone():void 0}),credentials:get(config).credentials||void 0,headers:{"Content-Type":"application/json"},method:"POST"});await validateResponse(resp);const json=await resp.json();if(json&&typeof json==="object"&&"payload" in json&&!!json.payload){dispatch("serververification",json)} 718return json} 719function requestSubmit(submitter){if(get(elForm)&&"requestSubmit" in get(elForm)){get(elForm).requestSubmit(submitter)}else if(get(elForm)?.reportValidity()){if(submitter){submitter.click()}else{get(elForm).submit()}}} 720function setCookie(value,options={}){const{domain,name=get(config).name,maxAge,path,sameSite,secure}=options;let cookie=`${encodeURIComponent(name)}=${encodeURIComponent(value)}`;if(domain)cookie+=`; Domain=${domain}`;if(maxAge!=null)cookie+=`; Max-Age=${maxAge}`;if(path)cookie+=`; Path=${path}`;if(sameSite)cookie+=`; SameSite=${sameSite}`;if(secure)cookie+=`; Secure`;document.cookie=cookie} 721function setDisplay(value){switch(value){case "bar":case "floating":case "overlay":hide();if(!get(auto)||get(auto)==="off"){get(userConfig).auto="onsubmit"} 722break;case "standard":show()} 723if(get(currentDisplay)!==value){set(currentDisplay,value,!0)}} 724function setChallengeExpiration(expiresAt){if(get(expirationTimeout)){clearTimeout(get(expirationTimeout))} 725const onExpired=()=>
725{if(get(currentState)!==State.UNVERIFIED){set(checked,!1);setState(State.EXPIRED)}else{reset$1()} 726dispatch("expired")};const duration=expiresAt*1e3-Date.now();if(duration>=1){set(expirationTimeout,setTimeout(onExpired,duration),!0)}else{onExpired()}} 727async function validateResponse(resp){if(resp.status>=400){if(resp.headers.get("content-type")?.includes("/json")){let json;try{json=await resp.json()}catch{} 728if(json&&"error" in json){throw new Error(`Server responded with ${resp.status} - ${json.error}`)}} 729throw new Error(`Server responded with ${resp.status}.`)} 730const contentType=resp.headers.get("content-type");if(!contentType||!contentType.includes("/json")){throw new Error(`Server responded with invalid content-type. Expected application/json, received ${contentType}.`)}} 731async function verifyServer(code){if(!get(payload)){setState(State.ERROR,"Cannot verify code challenge without PoW payload.");return} 732setState(State.VERIFYING);let result=null;if(get(config).verifyUrl){result=await requestServerVerification(get(payload),code)}else if(get(config).verifyFunction){result=await get(config).verifyFunction(get(payload),code)}else{setState(State.ERROR,"Parameter verifyUrl is required for code challenge verification.");return} 733if(result?.payload){set(payload,result.payload,!0);log("server payload",get(payload))} 734if(result?.verified===!0){log("verified");setState(State.VERIFIED);dispatch("verified",{payload:get(payload)});if(get(auto)==="onsubmit"){tick().then(()=>{requestSubmit(get(elSubmitter))})}}else{setState(State.ERROR,result?.reason||"Verification failed.")} 735if(!get(config).disableAutoFocus){getCheckboxElement()?.focus()}} 736function configure(newConfig){Object.assign(get(userConfig),{...Object.fromEntries(Object.entries(newConfig).filter(([_,value])=>value!==void 0))})} 737function getConfiguration(){return{...get(config)}} 738function getState(){return get(currentState)} 739function hide(){set(visible,!1)} 740function log(...args){if(get(config).debug||args.some((a)=>a instanceof Error)){console[args[0]instanceof Error?"error":"log"]("ALTCHA",`[name=${get(config).name}]`,...args)}} 741function reset$1(newState=State.UNVERIFIED,err=null){set(checked,!1);set(error,err,!0);set(payload,null);if(get(currentController)){get(currentController).abort()} 742if(get(expirationTimeout)){clearTimeout(get(expirationTimeout));set(expirationTimeout,null)} 743setState(newState)} 744function setState(newState,err=null){set(currentState,newState,!0);set(error,err,!0);dispatch("statechange",{payload:get(payload),state:get(currentState)})} 745function show(){set(visible,!0);tick().then(()=>{updateUI()})} 746function updateUI(){switch(get(config).display){case "floating":return repositionFloating()} 747set(updateUISignal,get(updateUISignal)+1)} 748async function verify(options={}){const{concurrency=Math.max(1,get(config).workers),controller=new AbortController(),minDuration=get(config).minDuration}=options;const start=performance.now();let challenge=null;let solution=null;let isChallengeV12=!1;const hook=await callHook("onVerify",options);if(hook!==void 0){return hook} 749reset$1(State.VERIFYING);set(currentController,controller,!0);try{if(!isSecureContext){throw new Error("Secure context (HTTPS) required.")} 750if(get(config).mockError){throw new Error("Mock error.")} 751if(get(config).test){log("running test mode with null challenge");await delay(Math.max(0,minDuration-(performance.now()-start)));if(get(currentController)?.signal.aborted){reset$1();return null} 752set(payload,btoa(JSON.stringify({challenge:null,solution:null,test:!0})),!0);log("verified");setState(State.VERIFIED);dispatch("verified",{payload:get(payload)});return{payload:get(payload)}} 753challenge=await fetchChallenge();if(!challenge){throw new Error("Failed to fetch challenge.")} 754log("challenge",challenge);if("configuration" in challenge){log("re-configuring from challenge",challenge.configuration);configure(challenge.configuration)} 755if(challenge.parameters.expiresAt){setChallengeExpiration(challenge.parameters.expiresAt)} 756isChallengeV12="_version" in challenge&&challenge._version===1;const createWorker=globalThis.$altcha.algorithms.get(challenge.parameters.algorithm);if(!createWorker){throw new Error(`Unsupported algorithm ${challenge.parameters.algorithm}.`)} 757solution=await solveChallengeWorkers({challenge,concurrency,controller,createWorker,counterMode:isChallengeV12?"string":"uint32",onOutOfMemory:(c)=>{log("out of memory error received");dispatch("outofmemory");if(get(config).retryOnOutOfMemoryError&&c>1){const retryConcurrency=Math.floor(c/2);log(`retrying with ${retryConcurrency} workers...`);return retryConcurrency}},timeout:get(config).timeout});if(get(currentController)?.signal.aborted){reset$1();return null} 758if(!solution){throw new Error("Failed to find solution.")} 759log("solution",solution);await delay(Math.max(0,minDuration-(performance.now()-start)));set(codeChallenge,challenge.codeChallenge||get(config).codeChallenge||null,!0);if(isChallengeV12){set(payload,btoa(JSON.stringify(createPayloadV1(challenge,solution))),!0)}
759else{set(payload,btoa(JSON.stringify({challenge:{parameters:challenge.parameters,signature:challenge.signature},solution})),!0)} 760if(get(codeChallenge)){log("requesting code verification");setState(State.CODE);dispatch("codechallenge",{codeChallenge:get(codeChallenge)})}else if(get(config).verifyUrl){await verifyServer()}else{log("verified");setState(State.VERIFIED);dispatch("verified",{payload:get(payload)})}}catch(err){log("verification failed",err);setState(State.ERROR,String(err));return null}finally{set(currentController,null)} 761return{challenge,payload:get(payload),solution}} 762var $$exports={configure,getConfiguration,getState,hide,log,reset:reset$1,setState,show,updateUI,verify};var fragment=root();event("scroll",$document,onDocumentScroll);event("click",$document,onDocumentClick);event("pageshow",$window,onWindowPageshow);event("resize",$window,onWindowResize);var node=first_child(fragment);{var consequent=($$anchor2)=>{var div=root_1();append($$anchor2,div)};if_block(node,($$render)=>{if(get(config).display==="overlay"&&get(visible))$$render(consequent)})} 763var div_1=sibling(node,2);var node_1=child(div_1);{var consequent_2=($$anchor2)=>{var fragment_1=root_2();var div_2=first_child(fragment_1);var node_2=sibling(div_2,2);{var consequent_1=($$anchor3)=>{var div_3=root_3();html(div_3,()=>document.querySelector(get(config).overlayContent)?.innerHTML,!0);reset(div_3);append($$anchor3,div_3)};if_block(node_2,($$render)=>{if(get(config).overlayContent)$$render(consequent_1)})} 764event("click",div_2,onCloseClick,!0);append($$anchor2,fragment_1)};if_block(node_1,($$render)=>{if(get(config).display==="overlay"&&get(visible))$$render(consequent_2)})} 765var div_4=sibling(node_1,2);var div_5=child(div_4);var div_6=child(div_5);var node_3=child(div_6);{let $0=user_derived(()=>get(config).display==="standard"&&get(auto)!=="onsubmit"||get(currentState)===State.VERIFYING);component(node_3,()=>get(CheckboxComponent),($$anchor2,CheckboxComponent_1)=>{CheckboxComponent_1($$anchor2,{get id(){return get(checkboxId)},name:"",get required(){return get($0)},get loading(){return get(loading)},get checked(){return get(checked)},onchange:onCheckboxChange,oninvalid:onCheckboxInvalid})})} 766var label=sibling(node_3,2);var node_4=child(label);{var consequent_3=($$anchor2)=>{var text$1=text();template_effect(()=>set_text(text$1,get(strings).verificationRequired));append($$anchor2,text$1)};var consequent_4=($$anchor2)=>{var text_1=text();template_effect(()=>set_text(text_1,get(strings).verifying));append($$anchor2,text_1)};var consequent_5=($$anchor2)=>{var text_2=text();template_effect(()=>set_text(text_2,get(strings).verified));append($$anchor2,text_2)};var alternate=($$anchor2)=>{var text_3=text();template_effect(()=>set_text(text_3,get(strings).label));append($$anchor2,text_3)};if_block(node_4,($$render)=>{if(get(currentState)===State.CODE&&get(codeChallenge))$$render(consequent_3);else if(get(currentState)===State.VERIFYING)$$render(consequent_4,1);else if(get(currentState)===State.VERIFIED)$$render(consequent_5,2);else $$render(alternate,-1)})} 767reset(label);reset(div_6);var node_5=sibling(div_6,2);{var consequent_6=($$anchor2)=>{Logo($$anchor2,{get strings(){return get(strings)}})};if_block(node_5,($$render)=>{if(get(showLogo))$$render(consequent_6)})} 768reset(div_5);var node_6=sibling(div_5,2);{var consequent_7=($$anchor2)=>{{let $0=user_derived(()=>get(config).display==="bar"&&get(showLogo));Footer($$anchor2,{get logo(){return get($0)},get strings(){return get(strings)}})}};if_block(node_6,($$render)=>{if(get(showFooter))$$render(consequent_7)})} 769var node_7=sibling(node_6,2);{var consequent_8=($$anchor2)=>{var div_7=root_10();bind_this(div_7,($$value)=>set(elAnchorArrow,$$value),()=>get(elAnchorArrow));append($$anchor2,div_7)};if_block(node_7,($$render)=>{if(get(config).display==="floating")$$render(consequent_8)})} 770var node_8=sibling(node_7,2);{var consequent_9=($$anchor2)=>{var input_1=root_11();remove_input_defaults(input_1);template_effect(()=>{set_attribute(input_1,"name",get(config).name);set_value(input_1,get(payload))});append($$anchor2,input_1)};if_block(node_8,($$render)=>{if(!get(config).setCookie)$$render(consequent_9)})} 771reset(div_4);var node_9=sibling(div_4,2);{var consequent_12=($$anchor2)=>{Popover($$anchor2,{get anchor(){return get(elRoot)},onClickOutside:()=>{if(isSecureContext){reset$1()}},get placement(){return get(config).popoverPlacement},role:"alert",variant:"error",get dir(){return get(dir)},get updateUISignal(){return get(updateUISignal)},children:($$anchor3,$$slotProps)=>{var fragment_9=comment();
771var node_10=first_child(fragment_9);{var consequent_10=($$anchor4)=>{var div_8=root_14();append($$anchor4,div_8)};var consequent_11=($$anchor4)=>{var div_9=root_15();var text_4=child(div_9,!0);reset(div_9);template_effect(()=>set_text(text_4,get(strings).expired));append($$anchor4,div_9)};var alternate_1=($$anchor4)=>{var div_10=root_16();var text_5=child(div_10,!0);reset(div_10);template_effect(()=>{set_attribute(div_10,"title",get(error));set_text(text_5,get(strings).error)});append($$anchor4,div_10)};if_block(node_10,($$render)=>{if(!get(error)&&!isSecureContext)$$render(consequent_10);else if(!get(error)&&get(currentState)===State.EXPIRED)$$render(consequent_11,1);else $$render(alternate_1,-1)})} 772append($$anchor3,fragment_9)},$$slots:{default:!0}})};var consequent_14=($$anchor2)=>{var fragment_10=comment();var node_11=first_child(fragment_10);key(node_11,()=>get(codeChallenge),($$anchor3)=>{{let $0=user_derived(()=>get(config).codeChallengeDisplay!=="standard");Popover($$anchor3,{get anchor(){return get(elRoot)},get backdrop(){return get($0)},get display(){return get(config).codeChallengeDisplay},onClose:()=>{reset$1()},get placement(){return get(config).popoverPlacement},role:"dialog",get "aria-label"(){return get(strings).verificationRequired},get dir(){return get(dir)},get updateUISignal(){return get(updateUISignal)},children:($$anchor4,$$slotProps)=>{var fragment_12=root_19();var node_12=first_child(fragment_12);Code(node_12,{get audioUrl(){return get(codeChallengeAudioUrl)},get imageUrl(){return get(codeChallengeImageUrl)},onCancel:()=>reset$1(),onReload:()=>verify(),onSubmit:(code)=>verifyServer(code),get codeChallenge(){return get(codeChallenge)},get config(){return get(config)},get strings(){return get(strings)}});var node_13=sibling(node_12,2);{var consequent_13=($$anchor5)=>{Footer($$anchor5,{get logo(){return get(showLogo)},get strings(){return get(strings)}})};if_block(node_13,($$render)=>{if(get(showFooter)&&get(config).codeChallengeDisplay!=="standard")$$render(consequent_13)})} 773append($$anchor4,fragment_12)},$$slots:{default:!0}})}});append($$anchor2,fragment_10)};if_block(node_9,($$render)=>{if(get(error)||get(currentState)===State.EXPIRED||!isSecureContext)$$render(consequent_12);else if(get(codeChallenge)&&get(currentState)===State.CODE)$$render(consequent_14,1)})} 774reset(div_1);bind_this(div_1,($$value)=>set(elRoot,$$value),()=>get(elRoot));template_effect(($0)=>{set_attribute(div_1,"data-state",get(currentState));set_attribute(div_1,"data-display",get(config).display||void 0);set_attribute(div_1,"data-placement",$0);set_attribute(div_1,"data-visible",get(visible)||void 0);set_attribute(div_1,"dir",get(dir));set_attribute(label,"for",get(checkboxId));div_1.dir=div_1.dir},[()=>getPlacement(get(config).display)]);append($$anchor,fragment);var $$pop=pop($$exports);$$cleanup();return $$pop} 775if(typeof window!=="undefined"&&window.customElements&&!customElements.get("altcha-widget"))customElements.define("altcha-widget",create_custom_element(Widget,{auto:{type:"String"},challenge:{type:"String"},configuration:{type:"String"},display:{type:"String"},language:{type:"String"},name:{type:"String"},theme:{type:"String"},type:{type:"String"},workers:{type:"Number"}},[],["configure","getConfiguration","getState","hide","log","reset","setState","show","updateUI","verify"]));const jsContent$1=`(function() { 776 "use strict"; 777 function bufferStartsWith(buffer, prefix) { 778 if (prefix.length > buffer.length) { 779 return false; 780 } 781 for (let i = 0; i < prefix.length; i++) { 782 if (buffer[i] !== prefix[i]) { 783 return false; 784 } 785 } 786 return true; 787 } 788 function bufferToHex(buffer) { 789 return Array.from(new Uint8Array(buffer)).map((b) => b.toString(16).padStart(2, "0")).join(""); 790 } 791 function concatBuffers(a, b) { 792 const out = new Uint8Array(a.length + b.length); 793 out.set(a, 0); 794 out.set(b, a.length); 795 return out; 796 } 797 function hexToBuffer(hex) { 798 if (hex.length % 2 !== 0) { 799 throw new Error(\`Hex string must have an even length. Got: \${hex}\`); 800 } 801 const buffer = new ArrayBuffer(hex.length / 2); 802 const view = new DataView(buffer); 803 for (let i = 0; i < hex.length; i += 2) { 804 const byteString = hex.substring(i, i + 2); 805 const byteValue = parseInt(byteString, 16); 806 view.setUint8(i / 2, byteValue); 807 } 808 return new Uint8Array(buffer); 809 } 810 async function delay(ms) { 811 await new Promise((resolve) => setTimeout(resolve, ms)); 812 } 813 function timeDuration(start) { 814 return Math.floor((performance.now() - start) * 10) / 10; 815 } 816 class PasswordBuffer { 817 constructor(nonce, mode = "uint32") { 818 this.nonce = nonce; 819 this.mode = mode; 820 this.buffer = new Uint8Array(this.nonce.length + this.COUNTER_BYTES); 821 this.buffer.set(this.nonce, 0); 822 this.dataView = new DataView(this.buffer.buffer); 823 } 824 COUNTER_BYTES = 4; 825 buffer; 826 dataView; 827 encoder = new TextEncoder(); 828 /** 829 * Appends the counter to the nonce buffer. 830 * In 'string' mode, encodes the counter as a UTF-8 string. 831 * In 'uint32' mode, writes the counter as a big-endian 32-bit integer. 832 */ 833 setCounter(n) { 834 if (this.mode === "string") { 835 return concatBuffers(this.nonce, this.encoder.encode(n.toString())); 836 } 837 this.dataView.setUint32(this.nonce.length, n, false); 838 return this.buffer; 839 } 840 } 841 async function solveChallenge(options) { 842 const { 843 challenge, 844 controller, 845 counterMode = "uint32", 846 counterStart = 0, 847 counterStep = 1, 848 deriveKey: deriveKey2, 849 timeout = 9e4 850 } = options; 851 const { nonce, keyPrefix, salt } = challenge.parameters; 852 const nonceBuf = hexToBuffer(nonce); 853 const saltBuf = hexToBuffer(salt);
vendor: 5,888 bytes, lines 854-1033
854 const keyPrefixBuf = keyPrefix.length % 2 === 0 ? hexToBuffer(keyPrefix) : null; 855 const password = new PasswordBuffer(nonceBuf, counterMode); 856 const start = performance.now(); 857 let counter = counterStart; 858 let iterations = 0; 859 let derivedKeyHex = ""; 860 let lastYield = start; 861 while (true) { 862 if (controller?.signal.aborted || timeout && iterations % 10 === 0 && performance.now() - start > timeout) { 863 return null; 864 } 865 const { derivedKey } = await deriveKey2( 866 challenge.parameters, 867 saltBuf, 868 password.setCounter(counter) 869 ); 870 if (iterations % 10 === 0 && performance.now() - lastYield > 200) { 871 await delay(0); 872 lastYield = performance.now(); 873 } 874 if (keyPrefixBuf ? bufferStartsWith(derivedKey, keyPrefixBuf) : bufferToHex(derivedKey).startsWith(keyPrefix)) { 875 derivedKeyHex = bufferToHex(derivedKey); 876 break; 877 } 878 counter = counter + counterStep; 879 iterations = iterations + 1; 880 } 881 return { 882 counter, 883 derivedKey: derivedKeyHex, 884 time: timeDuration(start) 885 }; 886 } 887 function handler(options) { 888 const { deriveKey: deriveKey2 } = options; 889 let controller = void 0; 890 self.onmessage = async (message) => { 891 const { challenge, counterMode, counterStart, counterStep, timeout, type } = message.data; 892 if (type === "abort") { 893 controller?.abort(); 894 } else if (type === "work") { 895 controller = new AbortController(); 896 let solution; 897 try { 898 solution = await solveChallenge({ 899 challenge, 900 controller, 901 counterStart, 902 counterStep, 903 deriveKey: deriveKey2, 904 counterMode, 905 timeout 906 }); 907 } catch (err) { 908 return self.postMessage({ error: err }); 909 } 910 self.postMessage(solution); 911 } 912 }; 913 } 914 function getDigest(algorithm) { 915 switch (algorithm) { 916 case "PBKDF2/SHA-512": 917 return "SHA-512"; 918 case "PBKDF2/SHA-384": 919 return "SHA-384"; 920 case "PBKDF2/SHA-256": 921 default: 922 return "SHA-256"; 923 } 924 } 925 async function deriveKey(parameters, salt, password) { 926 const { algorithm, cost, keyLength = 32 } = parameters; 927 const passwordKey = await crypto.subtle.importKey( 928 "raw", 929 password, 930 { name: "PBKDF2" }, 931 false, 932 ["deriveKey"] 933 ); 934 const derivedKey = await crypto.subtle.deriveKey( 935 { 936 name: "PBKDF2", 937 salt, 938 iterations: cost, 939 hash: getDigest(algorithm) 940 }, 941 passwordKey, 942 { name: "AES-GCM", length: keyLength * 8 }, 943 true, 944 ["encrypt"] 945 ); 946 return { 947 derivedKey: new Uint8Array(await crypto.subtle.exportKey("raw", derivedKey)) 948 }; 949 } 950 handler({ 951 deriveKey 952 }); 953})(); 954`;const blob$1=typeof self!=="undefined"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",jsContent$1],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(options){let objURL;try{objURL=blob$1&&(self.URL||self.webkitURL).createObjectURL(blob$1);if(!objURL)throw "";const worker=new Worker(objURL,{name:options?.name});worker.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(objURL)});return worker}catch(e){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(jsContent$1),{name:options?.name})}} 955const jsContent=`(function() { 956 "use strict"; 957 function bufferStartsWith(buffer, prefix) { 958 if (prefix.length > buffer.length) { 959 return false; 960 } 961 for (let i = 0; i < prefix.length; i++) { 962 if (buffer[i] !== prefix[i]) { 963 return false; 964 } 965 } 966 return true; 967 } 968 function bufferToHex(buffer) { 969 return Array.from(new Uint8Array(buffer)).map((b) => b.toString(16).padStart(2, "0")).join(""); 970 } 971 function concatBuffers(a, b) { 972 const out = new Uint8Array(a.length + b.length); 973 out.set(a, 0); 974 out.set(b, a.length); 975 return out; 976 } 977 function hexToBuffer(hex) { 978 if (hex.length % 2 !== 0) { 979 throw new Error(\`Hex string must have an even length. Got: \${hex}\`); 980 } 981 const buffer = new ArrayBuffer(hex.length / 2); 982 const view = new DataView(buffer); 983 for (let i = 0; i < hex.length; i += 2) { 984 const byteString = hex.substring(i, i + 2); 985 const byteValue = parseInt(byteString, 16); 986 view.setUint8(i / 2, byteValue); 987 } 988 return new Uint8Array(buffer); 989 } 990 async function delay(ms) { 991 await new Promise((resolve) => setTimeout(resolve, ms)); 992 } 993 function timeDuration(start) { 994 return Math.floor((performance.now() - start) * 10) / 10; 995 } 996 class PasswordBuffer { 997 constructor(nonce, mode = "uint32") { 998 this.nonce = nonce; 999 this.mode = mode; 1000 this.buffer = new Uint8Array(this.nonce.length + this.COUNTER_BYTES); 1001 this.buffer.set(this.nonce, 0); 1002 this.dataView = new DataView(this.buffer.buffer); 1003 } 1004 COUNTER_BYTES = 4; 1005 buffer; 1006 dataView; 1007 encoder = new TextEncoder(); 1008 /** 1009 * Appends the counter to the nonce buffer. 1010 * In 'string' mode, encodes the counter as a UTF-8 string. 1011 * In 'uint32' mode, writes the counter as a big-endian 32-bit integer. 1012 */ 1013 setCounter(n) { 1014 if (this.mode === "string") { 1015 return concatBuffers(this.nonce, this.encoder.encode(n.toString())); 1016 } 1017 this.dataView.setUint32(this.nonce.length, n, false); 1018 return this.buffer; 1019 } 1020 } 1021 async function solveChallenge(options) { 1022 const { 1023 challenge, 1024 controller, 1025 counterMode = "uint32", 1026 counterStart = 0, 1027 counterStep = 1, 1028 deriveKey: deriveKey2, 1029 timeout = 9e4 1030 } = options; 1031 const { nonce, keyPrefix, salt } = challenge.parameters; 1032 const nonceBuf = hexToBuffer(nonce); 1033 const saltBuf = hexToBuffer(salt);
vendor: 3,112 bytes, lines 1034-1119
1034 const keyPrefixBuf = keyPrefix.length % 2 === 0 ? hexToBuffer(keyPrefix) : null; 1035 const password = new PasswordBuffer(nonceBuf, counterMode); 1036 const start = performance.now(); 1037 let counter = counterStart; 1038 let iterations = 0; 1039 let derivedKeyHex = ""; 1040 let lastYield = start; 1041 while (true) { 1042 if (controller?.signal.aborted || timeout && iterations % 10 === 0 && performance.now() - start > timeout) { 1043 return null; 1044 } 1045 const { derivedKey } = await deriveKey2( 1046 challenge.parameters, 1047 saltBuf, 1048 password.setCounter(counter) 1049 ); 1050 if (iterations % 10 === 0 && performance.now() - lastYield > 200) { 1051 await delay(0); 1052 lastYield = performance.now(); 1053 } 1054 if (keyPrefixBuf ? bufferStartsWith(derivedKey, keyPrefixBuf) : bufferToHex(derivedKey).startsWith(keyPrefix)) { 1055 derivedKeyHex = bufferToHex(derivedKey); 1056 break; 1057 } 1058 counter = counter + counterStep; 1059 iterations = iterations + 1; 1060 } 1061 return { 1062 counter, 1063 derivedKey: derivedKeyHex, 1064 time: timeDuration(start) 1065 }; 1066 } 1067 function handler(options) { 1068 const { deriveKey: deriveKey2 } = options; 1069 let controller = void 0; 1070 self.onmessage = async (message) => { 1071 const { challenge, counterMode, counterStart, counterStep, timeout, type } = message.data; 1072 if (type === "abort") { 1073 controller?.abort(); 1074 } else if (type === "work") { 1075 controller = new AbortController(); 1076 let solution; 1077 try { 1078 solution = await solveChallenge({ 1079 challenge, 1080 controller, 1081 counterStart, 1082 counterStep, 1083 deriveKey: deriveKey2, 1084 counterMode, 1085 timeout 1086 }); 1087 } catch (err) { 1088 return self.postMessage({ error: err }); 1089 } 1090 self.postMessage(solution); 1091 } 1092 }; 1093 } 1094 async function deriveKey(parameters, salt, password) { 1095 const { algorithm, keyLength = 32 } = parameters; 1096 const iterations = Math.max(1, parameters.cost); 1097 let data = void 0; 1098 let derivedKey = void 0; 1099 for (let i = 0; i < iterations; i++) { 1100 if (i === 0) { 1101 data = concatBuffers(salt, password); 1102 } else { 1103 data = derivedKey; 1104 } 1105 derivedKey = new Uint8Array( 1106 (await crypto.subtle.digest(algorithm, data)).slice(0, keyLength) 1107 ); 1108 } 1109 return { 1110 parameters: {}, 1111 derivedKey 1112 }; 1113 } 1114 handler({ 1115 deriveKey 1116 }); 1117})(); 1118`;const blob=typeof self!=="undefined"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",jsContent],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(options){let objURL;try{objURL=blob&&(self.URL||self.webkitURL).createObjectURL(blob);if(!objURL)throw "";const worker=new Worker(objURL,{name:options?.name});worker.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(objURL)});return worker}catch(e){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(jsContent),{name:options?.name})}} 1119const css=
vendor: 8,570 bytes, line 1119
1119':root {\n --altcha-border-color: var(--altcha-color-neutral);\n --altcha-border-width: 1px;\n --altcha-border-radius: 6px;\n --altcha-color-base: light-dark(oklch(100% 0.00011 271.152), oklch(20.904% 0.00002 271.152));\n --altcha-color-base-content: light-dark(\n oklch(20.904% 0.00002 271.152),\n oklch(100% 0.00011 271.152)\n );\n --altcha-color-error: oklch(51.284% 0.20527 28.678);\n --altcha-color-error-content: oklch(100% 0.00011 271.152);\n --altcha-color-neutral: light-dark(oklch(83.591% 0.0001 271.152), oklch(46.04% 0.00005 271.152));\n --altcha-color-neutral-content: light-dark(\n oklch(46.76% 0.00005 271.152),\n oklch(100% 0.00011 271.152)\n );\n --altcha-color-primary: oklch(40.279% 0.2449 268.131);\n --altcha-color-primary-content: oklch(100% 0.00011 271.152);\n --altcha-color-success: oklch(55.748% 0.18968 142.511);\n --altcha-color-success-content: oklch(100% 0.00011 271.152);\n --altcha-checkbox-border-color: light-dark(\n oklch(66.494% 0.00233 15.434),\n oklch(51.028% 0.00006 271.152)\n );\n --altcha-checkbox-border-radius: 5px;\n --altcha-checkbox-border-width: var(--altcha-border-width);\n --altcha-checkbox-outline: 2px solid var(--altcha-checkbox-outline-color);\n --altcha-checkbox-outline-color: -webkit-focus-ring-color;\n --altcha-checkbox-outline-offset: 2px;\n --altcha-checkbox-size: 22px;\n --altcha-checkbox-transition-duration: var(--altcha-transition-duration);\n --altcha-input-background-color: var(--altcha-color-base);\n --altcha-input-border-radius: 3px;\n --altcha-input-border-width: 1px;\n --altcha-input-color: var(--altcha-color-base-content);\n --altcha-max-width: 320px;\n --altcha-padding: 0.75rem;\n --altcha-popover-arrow-size: 6px;\n --altcha-popover-color: var(--altcha-border-color);\n --altcha-shadow: drop-shadow(3px 3px 6px oklch(0% 0 0 / 0.2));\n --altcha-spinner-color: var(--altcha-color-base-content);\n --altcha-switch-background-color: var(--altcha-color-neutral);\n --altcha-switch-border-radius: calc(infinity * 1px);\n --altcha-switch-height: var(--altcha-checkbox-size);\n --altcha-switch-padding: 0.25rem;\n --altcha-switch-width: calc(var(--altcha-checkbox-size) * 1.75);\n --altcha-switch-toggle-border-radius: 100%;\n --altcha-switch-toggle-color: var(--altcha-color-neutral-content);\n --altcha-switch-toggle-size: calc(\n var(--altcha-switch-height) - calc(var(--altcha-switch-padding) * 2)\n );\n --altcha-transition-duration: 0.6s;\n --altcha-z-index: 99999999;\n --altcha-z-index-popover: 999999999;\n}\n\n@supports (-moz-appearance: none) {\n :root {\n --altcha-checkbox-outline-color: var(--altcha-color-primary);\n }\n}\n.altcha {\n all: revert-layer;\n display: none;\n font-family: inherit;\n font-size: inherit;\n position: relative;\n}\n.altcha[data-visible] {\n display: block;\n}\n.altcha-popover, .altcha-popover * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha * {\n all: revert-layer;\n box-sizing: border-box;\n font-family: inherit;\n font-size: inherit;\n line-height: 1.25;\n}\n.altcha a, .altcha-popover a {\n color: currentColor;\n text-decoration: none;\n}\n.altcha a:hover, .altcha-popover a:hover {\n color: currentColor;\n}\n.altcha-main {\n align-items: start;\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width, 1px) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius, 0);\n color: var(--altcha-color-base-content);\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n justify-content: space-between;\n padding: var(--altcha-padding);\n max-width: var(--altcha-max-width, 100%);\n}\n.altcha-main > * {\n display: flex;\n width: 100%;\n}\n.altcha-main > *:first-child {\n flex-grow: 1;\n}\n.altcha-checkbox-wrap {\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n gap: 0.5rem;\n}\n.altcha-checkbox-wrap > * {\n display: flex;\n}\n.altcha-logo {\n opacity: 0.7;\n}\n.altcha-footer {\n align-items: center;\n display: flex;\n flex-grow: 1;\n gap: 0.5rem;\n justify-content: flex-end;\n font-size: 0.7rem;\n opacity: 0.7;\n}\n.altcha-footer p {\n margin: 0;\n padding: 0;\n}\n.altcha-error {\n font-size: 0.85rem;\n}\n.altcha-button {\n align-items: center;\n background: var(--altcha-color-primary);\n border: var(--altcha-input-border-width) solid var(--altcha-color-primary);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-color-primary-content);\n cursor: pointer;\n display: flex;\n font-size: 0.9rem;\n gap: 0.5rem;\n padding: 0.35rem;\n}\n.altcha-button:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-button > .altcha-spinner, .altcha-button > svg {\n height: 20px;\n width: 20px;\n}\n.altcha-button-secondary {\n background: transparent;\n border-color: var(--altcha-color-neutral);\n color: var(--altcha-color-neutral-content);\n}\n.altcha-input {\n background: var(--altcha-input-background-color);\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n color: var(--altcha-input-color);\n flex-grow: 1;\n font-size: 1rem;\n min-width: 0;\n padding: 0.25rem;\n width: auto;\n}\n.altcha-input:focus {\n border-color: var(--altcha-color-primary);\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-spinner {\n animation: altcha-rotate 0.6s linear infinite;\n border-radius: 100%;\n border: var(--altcha-checkbox-border-width) solid var(--altcha-spinner-color);\n border-bottom-color: transparent;\n border-right-color: transparent;\n opacity: 0.7;\n}\n.altcha-popover {\n background-color: var(--altcha-color-base);\n border: var(--altcha-border-width) solid var(--altcha-border-color);\n border-radius: var(--altcha-border-radius);\n color: var(--altcha-color-base-content);\n filter: var(--altcha-shadow);\n position: absolute;\n left: calc(var(--altcha-padding) / 2);\n max-width: calc(var(--altcha-max-width) - var(--altcha-padding));\n top: calc(var(--altcha-padding) + var(--altcha-checkbox-size) + var(--altcha-popover-arrow-size));\n z-index: var(--altcha-z-index-popover);\n}\n.altcha-popover-arrow {\n border: var(--altcha-popover-arrow-size) solid transparent;\n border-bottom-color: var(--altcha-popover-color);\n content: "";\n height: 0;\n left: calc(var(--altcha-checkbox-size) / 2);\n position: absolute;\n top: calc(var(--altcha-popover-arrow-size) * -2);\n width: 0;\n}\n.altcha-popover-content {\n max-height: 100dvh;\n overflow: auto;\n padding: var(--altcha-padding);\n}\n.altcha-popover[data-top=true][data-display=standard] {\n bottom: calc(100% - (var(--altcha-padding) - var(--altcha-popover-arrow-size)));\n top: auto;\n}\n.altcha-popover[data-top=true][data-display=standard] .altcha-popover-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-popover-color);\n bottom: calc(var(--altcha-popover-arrow-size) * -2);\n top: auto;\n}\n.altcha-popover[data-variant=error] {\n --altcha-popover-color: var(--altcha-color-error);\n background-color: var(--altcha-color-error);\n border-color: var(--altcha-color-error);\n color: var(--altcha-color-error-content);\n}\n.altcha-popover[data-variant=error] .altcha-popover-content {\n padding: calc(var(--altcha-padding) / 1.5) var(--altcha-padding);\n}\n.altcha-popover[data-display=overlay] {\n animation: altcha-overlay-slidein 0.5s forwards;\n left: 50%;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] {\n animation: altcha-bottomsheet-slideup 0.5s forwards;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 0;\n bottom: -100%;\n left: 50%;\n position: fixed;\n top: auto;\n transform: translate(-50%, 0);\n width: var(--altcha-max-width);\n z-index: var(--altcha-z-index);\n}\n.altcha-popover[data-display=bottomsheet] .altcha-popover-content {\n padding-bottom: calc(var(--altcha-padding) * 2);\n}\n.altcha-popover-backdrop {\n background: var(--altcha-color-base-content);\n bottom: 0;\n left: 0;\n opacity: 0.1;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity 0.5s;\n z-index: var(--altcha-z-index);\n}
vendor: 9,756 bytes, line 1119
1119\n.altcha-popover-close {\n color: var(--altcha-color-base-content);\n cursor: pointer;\n display: inline-block;\n font-size: 1rem;\n height: 1.25rem;\n line-height: 0.95;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1.25rem;\n z-index: var(--altcha-z-index);\n}\n[dir=rtl] .altcha-popover {\n left: auto;\n right: calc(var(--altcha-padding) / 2);\n}\n[dir=rtl] .altcha-popover-arrow {\n left: auto;\n right: calc(var(--altcha-checkbox-size) / 2);\n}\n[dir=rtl] .altcha-popover-close {\n left: 0;\n right: auto;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer, .altcha-popover[data-display=overlay] .altcha-footer {\n align-items: center;\n justify-content: center;\n padding-top: 1rem;\n gap: 0.5rem;\n}\n.altcha-popover[data-display=bottomsheet] .altcha-footer svg, .altcha-popover[data-display=overlay] .altcha-footer svg {\n height: 18px;\n width: 18px;\n vertical-align: middle;\n}\n.altcha-code-challenge > form {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n.altcha-code-challenge-title {\n font-weight: 600;\n}\n.altcha-code-challenge-text {\n font-size: 0.85rem;\n}\n.altcha-code-challenge-image {\n background: white;\n border: var(--altcha-input-border-width) solid var(--altcha-color-neutral);\n border-radius: var(--altcha-input-border-radius);\n object-fit: contain;\n height: 50px;\n}\n.altcha-code-challenge-row {\n display: flex;\n gap: 0.5rem;\n}\n.altcha-code-challenge-buttons {\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin-top: var(--altcha-padding);\n justify-content: space-between;\n}\n.altcha-code-challenge-buttons button {\n justify-content: center;\n width: 100%;\n}\n.altcha-checkbox {\n cursor: pointer;\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input {\n appearance: none;\n background: var(--altcha-input-background-color);\n border: var(--altcha-checkbox-border-width, 2px) solid var(--altcha-checkbox-border-color);\n border-radius: var(--altcha-checkbox-border-radius);\n cursor: pointer;\n height: var(--altcha-checkbox-size);\n left: 0;\n margin: 0;\n padding: 0;\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox input:before {\n border-radius: var(--altcha-checkbox-border-radius);\n content: "";\n width: 100%;\n height: 100%;\n background: var(--altcha-color-neutral);\n display: block;\n transform: scale(0);\n}\n.altcha-checkbox input:checked {\n background-color: var(--altcha-color-success);\n border-color: var(--altcha-color-success);\n}\n.altcha-checkbox input:checked::before {\n background-color: var(--altcha-color-success);\n opacity: 0;\n transform: scale(2.2);\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox svg {\n --altcha-radio-svg-size: calc(var(--altcha-checkbox-size) * 0.5);\n --altcha-radio-svg-offset: calc(var(--altcha-checkbox-size) * 0.25);\n fill: none;\n left: var(--altcha-radio-svg-offset);\n height: var(--altcha-radio-svg-size);\n opacity: 0;\n position: absolute;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-dasharray: 16px;\n stroke-dashoffset: 16px;\n top: var(--altcha-radio-svg-offset);\n transform: translate3d(0, 0, 0);\n width: var(--altcha-radio-svg-size);\n}\n.altcha-checkbox input:checked + svg {\n color: var(--altcha-color-success-content);\n opacity: 1;\n stroke-dashoffset: 0;\n transition: all var(--altcha-checkbox-transition-duration) ease;\n transition-delay: 0.1s;\n}\n.altcha-checkbox-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox[data-loading=true] .altcha-checkbox-spinner {\n display: block;\n}\n.altcha-checkbox-native {\n height: var(--altcha-checkbox-size);\n position: relative;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native input {\n height: var(--altcha-checkbox-size);\n margin: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native-spinner {\n display: none;\n left: 0;\n height: var(--altcha-checkbox-size);\n position: absolute;\n top: 0;\n width: var(--altcha-checkbox-size);\n}\n.altcha-checkbox-native[data-loading=true] input {\n appearance: none;\n opacity: 0;\n pointer-events: none;\n}\n.altcha-checkbox-native[data-loading=true] .altcha-checkbox-native-spinner {\n display: block;\n}\n.altcha-switch {\n align-items: center;\n border-radius: var(--altcha-switch-border-radius);\n background-color: var(--altcha-switch-background-color);\n display: flex;\n height: var(--altcha-switch-height);\n padding: var(--altcha-switch-padding);\n position: relative;\n width: var(--altcha-switch-width);\n}\n.altcha-switch:focus-within {\n outline: var(--altcha-checkbox-outline);\n outline-offset: var(--altcha-checkbox-outline-offset);\n}\n.altcha-switch input {\n appearance: none;\n cursor: pointer;\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.altcha-switch-toggle {\n align-items: center;\n background-color: var(--altcha-switch-toggle-color);\n border-radius: var(--altcha-switch-toggle-border-radius);\n cursor: pointer;\n display: flex;\n height: var(--altcha-switch-toggle-size);\n justify-content: center;\n left: var(--altcha-switch-padding);\n position: absolute;\n transition: width 150ms ease-out, left 150ms ease-out;\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch-spinner {\n display: none;\n height: var(--altcha-switch-toggle-size);\n width: var(--altcha-switch-toggle-size);\n}\n.altcha-switch[data-loading=true] {\n pointer-events: none;\n}\n.altcha-switch[data-loading=true] .altcha-switch-spinner {\n display: block;\n}\n.altcha-switch[data-loading=true] .altcha-switch-toggle {\n background-color: transparent;\n left: calc(50% - var(--altcha-switch-toggle-size) / 2);\n}\n[data-state=verified] .altcha-switch {\n --altcha-switch-background-color: var(--altcha-color-success);\n}\n[data-state=verified] .altcha-switch-toggle {\n background-color: var(--altcha-color-success-content);\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl] .altcha-switch-toggle {\n left: calc(100% - var(--altcha-switch-height) + var(--altcha-switch-padding));\n}\n[dir=rtl][data-state=verified] .altcha-switch-toggle {\n left: var(--altcha-switch-padding);\n}\n.altcha-floating-arrow {\n border: 6px solid transparent;\n border-bottom-color: var(--altcha-border-color);\n content: "";\n height: 0;\n left: 12px;\n position: absolute;\n top: -12px;\n width: 0;\n}\n.altcha-overlay-backdrop {\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha-overlay-close {\n display: inline-block;\n color: currentColor;\n cursor: pointer;\n font-size: 1rem;\n height: 1rem;\n line-height: 0.85;\n position: absolute;\n right: 0;\n text-align: center;\n text-shadow: 0 0 1px var(--altcha-color-base);\n top: -1.5rem;\n width: 1rem;\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] {\n animation: altcha-overlay-slidein var(--altcha-transition-duration) forwards;\n filter: var(--altcha-shadow);\n left: 50%;\n opacity: 0;\n position: fixed;\n top: 45%;\n transform: translate(-50%, -50%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=overlay] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating] {\n display: none;\n filter: var(--altcha-shadow);\n left: var(--altcha-floating-left, -100%);\n position: fixed;\n top: var(--altcha-floating-top, -100%);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=floating] .altcha-main {\n width: var(--altcha-max-width);\n}\n.altcha[data-display=floating][data-floating-position=top] .altcha-floating-arrow {\n border-bottom-color: transparent;\n border-top-color: var(--altcha-border-color);\n bottom: -12px;\n top: auto;\n}\n.altcha[data-display=floating][data-visible] {\n display: flex;\n}\n.altcha[data-display=bar] {\n bottom: -100%;\n filter: var(--altcha-shadow);\n left: 0;\n position: fixed;\n right: 0;\n transition: bottom var(--altcha-transition-duration), top var(--altcha-transition-duration);\n z-index: var(--altcha-z-index);\n}\n.altcha[data-display=bar] .altcha-main {\n align-items: center;\n border-radius: 0;\n border-width: var(--altcha-border-width) 0 0 0;\n flex-direction: row;\n max-width: 100% !important;\n}\n.altcha[data-display=bar] .altcha-main > * {\n width: auto;\n}\n.altcha[data-display=bar][data-placement=top] {\n bottom: auto;\n top: -100%;\n}\n.altcha[data-display=bar][data-placement=top] .altcha-main {\n border-width: 0 0 var(--altcha-border-width) 0;\n}\n.altcha[data-display=bar][data-placement=bottom]:not([data-state=unverified]) {\n bottom: 0;\n}\n.altcha[data-display=bar][data-placement=top]:not([data-state=unverified]) {\n top: 0;\n}\n.altcha[data-display=invisible] {\n display: none;\n}\n\n@keyframes altcha-rotate {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n@keyframes altcha-bottomsheet-slideup {\n 100% {\n bottom: 0;\n }\n}\n@keyframes altcha-overlay-slidein {\n 100% {\n opacity: 1;\n top: 50%;\n }\n}'
1119;injectCss(css);$altcha.algorithms.set("SHA-256",()=>new WorkerWrapper());$altcha.algorithms.set("SHA-384",()=>new WorkerWrapper());$altcha.algorithms.set("SHA-512",()=>new WorkerWrapper());$altcha.algorithms.set("PBKDF2/SHA-256",()=>new WorkerWrapper$1());$altcha.algorithms.set("PBKDF2/SHA-384",()=>new WorkerWrapper$1());$altcha.algorithms.set("PBKDF2/SHA-512",()=>new WorkerWrapper$1())}))
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.