const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-CbuWRjgX.js","assets/TaskApp-CjBKcf3c.js","assets/BlockUnit-B3jpVl1-.js","assets/main-Dzh9207G.js","assets/display-BBcJwOjx.js","assets/main-CtwLJW4u.js","assets/main-BrwH5vtt.js","assets/main-rwr7uIU5.js","assets/main-CFPLXnLz.js","assets/main-BwG1V__4.js","assets/main-CwckEYe0.js","assets/main-D8dBJmDR.js","assets/main-CAHc-skK.js","assets/main-f8MKJuOs.js","assets/main-x-sX1Qa0.js","assets/main-RhWjWM5g.js","assets/main-BlbgsCMf.js","assets/main-DPdx88BE.js","assets/main-CKVMbLn5.js","assets/main-u2_nbH-M.js","assets/main-BQodmeX7.js","assets/main-DFXwdQ_N.js","assets/main-C8NZ41GX.js","assets/main-Ci06z9Ly.js","assets/main-CZfyp486.js","assets/main-TPndmooz.js","assets/main-DkQ5pp0S.js","assets/main-BJql7IGA.js","assets/main-Nzd2iRlY.js","assets/main-BkJkFl5r.js","assets/main-CuZGZSDj.js","assets/main-BbtjFz15.js","assets/main-BWy-46nR.js","assets/main-CFK5SMpk.js","assets/main-B7WXLGJS.js","assets/main-Ix7_rDhf.js","assets/main-CXhKiFTB.js","assets/main-CL6DaOfC.js","assets/main-CTk8xmGQ.js","assets/main-DXOMopzI.js","assets/main-CrJZMbd5.js","assets/main-BdHeZ8mk.js"])))=>i.map(i=>d[i]); (function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function o(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=o(r);fetch(r.href,i)}})();const T="modulepreload",v=function(t){return"/psyflow-web/"+t},w={},e=function(s,o,n){let r=Promise.resolve();if(o&&o.length>0){let h=function(p){return Promise.all(p.map(u=>Promise.resolve(u).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};var a=h;document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=l?.nonce||l?.getAttribute("nonce");r=h(o.map(p=>{if(p=v(p),p in w)return;w[p]=!0;const u=p.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="proxy.php?url=https%3A%2F%2Ftaskbeacon.github.io%2F%24%7Bp%7D"]${d}`))return;const m=document.createElement("link");if(m.rel=u?"stylesheet":T,u||(m.as="script"),m.crossOrigin="",m.href=p,c&&m.setAttribute("nonce",c),document.head.appendChild(m),u)return new Promise((k,y)=>{m.addEventListener("load",k),m.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${p}`)))})}))}function i(l){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=l,window.dispatchEvent(c),!c.defaultPrevented)throw l}return r.then(l=>{for(const c of l||[])c.status==="rejected"&&i(c.reason);return s().catch(i)})},g={"H000001-ax-cpt":{directory:"H000001-ax-cpt",id:"H000001",slug:"ax-cpt",title:"AX-CPT Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the AX-CPT task built with psyflow-web. The within-trial procedure, task rules, timing, weighted condition generation, and instructio...",repo_url:"https://github.com/TaskBeacon/H000001-ax-cpt",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000001-ax-cpt/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000001-ax-cpt",last_updated:"2026-03-11T09:18:07+08:00",importTask:()=>e(()=>import("./main-CbuWRjgX.js"),__vite__mapDeps([0,1,2]))},"H000002-bart":{directory:"H000002-bart",id:"H000002",slug:"bart",title:"Balloon Analogue Risk Task (BART)",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Balloon Analogue Risk Task built with psyflow-web. The within-trial pump/cash loop, deterministic explosion sampler, risk-conditi...",repo_url:"https://github.com/TaskBeacon/H000002-bart",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000002-bart/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000002-bart",last_updated:"2026-03-12T09:35:46+08:00",importTask:()=>e(()=>import("./main-Dzh9207G.js"),__vite__mapDeps([3,1,2,4]))},"H000003-emodot":{directory:"H000003-emodot",id:"H000003",slug:"emodot",title:"Emotional Dot-Probe Task (EmoDot)",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Emotional Dot-Probe Task built with psyflow-web. The within-trial procedure, face-pair condition semantics, timing, seeded face s...",repo_url:"https://github.com/TaskBeacon/H000003-emodot",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000003-emodot/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000003-emodot",last_updated:"2026-03-12T22:26:18+08:00",importTask:()=>e(()=>import("./main-CtwLJW4u.js"),__vite__mapDeps([5,1,2,4]))},"H000004-flanker":{directory:"H000004-flanker",id:"H000004",slug:"flanker",title:"Flanker Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Flanker task built with psyflow-web. The within-trial procedure, condition semantics, response rules, timing model, and instructi...",repo_url:"https://github.com/TaskBeacon/H000004-flanker",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000004-flanker/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000004-flanker",last_updated:"2026-03-17T21:27:23+08:00",importTask:()=>e(()=>import("./main-BrwH5vtt.js"),__vite__mapDeps([6,1,2,4]))},"H000005-go-nogo":{directory:"H000005-go-nogo",id:"H000005",slug:"go-nogo",title:"Go/No-Go Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Go/No-Go task built with psyflow-web. The within-trial sequence, condition weighting semantics, response logic, feedback behavior...",repo_url:"https://github.com/TaskBeacon/H000005-go-nogo",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000005-go-nogo/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000005-go-nogo",last_updated:"2026-03-26T09:19:32+08:00",importTask:()=>e(()=>import("./main-rwr7uIU5.js"),__vite__mapDeps([7,1,2,4]))},"H000006-mid":{directory:"H000006-mid",id:"H000006",slug:"mid",title:"Monetary Incentive Delay (MID) Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Monetary Incentive Delay task built with psyflow-web. The within-trial procedure, timing, controller, and instruction text are al...",repo_url:"https://github.com/TaskBeacon/H000006-mid",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000006-mid/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000006-mid",last_updated:"2026-03-11T10:39:51+08:00",importTask:()=>e(()=>import("./main-CFPLXnLz.js"),__vite__mapDeps([8,1,2,4]))},"H000007-movie":{directory:"H000007-movie",id:"H000007",slug:"movie",title:"Movie Watching Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Movie Watching task built with psyflow-web. The trial procedure and timing are aligned to local T000007-movie, including pre-movi...",repo_url:"https://github.com/TaskBeacon/H000007-movie",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000007-movie/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000007-movie",last_updated:"2026-03-17T21:40:29+08:00",importTask:()=>e(()=>import("./main-BwG1V__4.js"),__vite__mapDeps([9,1,2,4]))},"H000008-nback":{directory:"H000008-nback",id:"H000008",slug:"nback",title:"N-Back Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the N-Back task built with psyflow-web. The trial procedure, block-wise 1-back/2-back split, response mapping, and timing model are a...",repo_url:"https://github.com/TaskBeacon/H000008-nback",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000008-nback/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000008-nback",last_updated:"2026-03-17T21:54:06+08:00",importTask:()=>e(()=>import("./main-CwckEYe0.js"),__vite__mapDeps([10,1,2]))},"H000009-prl":{directory:"H000009-prl",id:"H000009",slug:"prl",title:"Probabilistic Reversal Learning (PRL) Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Probabilistic Reversal Learning task built with psyflow-web. The trial procedure, per-block controller reversal logic, response m...",repo_url:"https://github.com/TaskBeacon/H000009-prl",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000009-prl/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000009-prl",last_updated:"2026-03-17T22:02:48+08:00",importTask:()=>e(()=>import("./main-D8dBJmDR.js"),__vite__mapDeps([11,1,2,4]))},"H000010-rest":{directory:"H000010-rest",id:"H000010",slug:"rest",title:"Resting-state Task (EC+EO)",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Resting-state task (EC+EO) built with psyflow-web. The condition sequence, stage order, and EO/EC semantics are aligned to local ...",repo_url:"https://github.com/TaskBeacon/H000010-rest",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000010-rest/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000010-rest",last_updated:"2026-03-17T22:08:03+08:00",importTask:()=>e(()=>import("./main-CAHc-skK.js"),__vite__mapDeps([12,1,2,4]))},"H000011-simon":{directory:"H000011-simon",id:"H000011",slug:"simon",title:"Simon Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Simon task built with psyflow-web. The trial procedure, response mapping, congruent/incongruent condition semantics, and feedback...",repo_url:"https://github.com/TaskBeacon/H000011-simon",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000011-simon/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000011-simon",last_updated:"2026-03-17T22:12:41+08:00",importTask:()=>e(()=>import("./main-f8MKJuOs.js"),__vite__mapDeps([13,1,2,4]))},"H000012-sst":{directory:"H000012-sst",id:"H000012",slug:"sst",title:"Stop-Signal Task (SST)",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Stop-Signal Task built with psyflow-web. The within-trial procedure, go/stop condition semantics, instruction text, and adaptive ...",repo_url:"https://github.com/TaskBeacon/H000012-sst",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000012-sst/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000012-sst",last_updated:"2026-03-11T10:39:51+08:00",importTask:()=>e(()=>import("./main-x-sX1Qa0.js"),__vite__mapDeps([14,1,2,4]))},"H000013-sst-audio":{directory:"H000013-sst-audio",id:"H000013",slug:"sst-audio",title:"Stop-Signal Task (SST-Audio)",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the auditory Stop-Signal Task built with psyflow-web. The trial procedure, go/stop condition semantics, auditory stop-signal behavior...",repo_url:"https://github.com/TaskBeacon/H000013-sst-audio",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000013-sst-audio/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000013-sst-audio",last_updated:"2026-03-17T22:21:25+08:00",importTask:()=>e(()=>import("./main-RhWjWM5g.js"),__vite__mapDeps([15,1,2,4]))},"H000014-stroop":{directory:"H000014-stroop",id:"H000014",slug:"stroop",title:"Stroop Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Stroop task built with psyflow-web. The trial procedure, congruent/incongruent condition semantics, key mapping, and feedback log...",repo_url:"https://github.com/TaskBeacon/H000014-stroop",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000014-stroop/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000014-stroop",last_updated:"2026-03-17T22:28:13+08:00",importTask:()=>e(()=>import("./main-BlbgsCMf.js"),__vite__mapDeps([16,1,2,4]))},"H000015-ant":{directory:"H000015-ant",id:"H000015",slug:"ant",title:"Attention Network Test (ANT)",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Attention Network Test built with psyflow-web. The trial structure, cue/flanker condition semantics, key mapping, and feedback lo...",repo_url:"https://github.com/TaskBeacon/H000015-ant",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000015-ant/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000015-ant",last_updated:"2026-03-18T08:23:14+08:00",importTask:()=>e(()=>import("./main-DPdx88BE.js"),__vite__mapDeps([17,1,2,4]))},"H000016-card-sorting":{directory:"H000016-card-sorting",id:"H000016",slug:"card-sorting",title:"Card Sorting Task (WCST-style)",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the WCST-style Card Sorting task built with psyflow-web. The block rule schedule (color -> shape -> number), seeded target-card gener...",repo_url:"https://github.com/TaskBeacon/H000016-card-sorting",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000016-card-sorting/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000016-card-sorting",last_updated:"2026-03-18T08:46:51+08:00",importTask:()=>e(()=>import("./main-CKVMbLn5.js"),__vite__mapDeps([18,1,2,4]))},"H000017-delay-discounting":{directory:"H000017-delay-discounting",id:"H000017",slug:"delay-discounting",title:"Delay Discounting Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the MCQ-27 style Delay Discounting task built with psyflow-web. Trial planning (deterministic item reconstruction), key mapping (F/J)...",repo_url:"https://github.com/TaskBeacon/H000017-delay-discounting",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000017-delay-discounting/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000017-delay-discounting",last_updated:"2026-03-18T08:57:36+08:00",importTask:()=>e(()=>import("./main-u2_nbH-M.js"),__vite__mapDeps([19,1,2,4]))},"H000018-oddball-mmn":{directory:"H000018-oddball-mmn",id:"H000018",slug:"oddball-mmn",title:"Oddball Task (MMN/P3)",acquisition:"eeg",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the three-stimulus Oddball task built with psyflow-web. The standard/deviant/target trial semantics, target-only response rule (space...",repo_url:"https://github.com/TaskBeacon/H000018-oddball-mmn",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000018-oddball-mmn/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000018-oddball-mmn",last_updated:"2026-03-18T09:03:11+08:00",importTask:()=>e(()=>import("./main-BQodmeX7.js"),__vite__mapDeps([20,1,2,4]))},"H000019-eefrt":{directory:"H000019-eefrt",id:"H000019",slug:"eefrt",title:"EEfRT Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the EEfRT task built with psyflow-web. Offer generation, low/high effort choice flow, effort execution, and probabilistic reward outc...",repo_url:"https://github.com/TaskBeacon/H000019-eefrt",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000019-eefrt/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000019-eefrt",last_updated:"2026-03-18T09:10:33+08:00",importTask:()=>e(()=>import("./main-DFXwdQ_N.js"),__vite__mapDeps([21,1,2,4]))},"H000020-one-armed-bandit":{directory:"H000020-one-armed-bandit",id:"H000020",slug:"one-armed-bandit",title:"One-Armed Bandit Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the One-Armed Bandit task built with psyflow-web. Trial procedure, side-choice semantics, timeout fallback, reward sampling, and scor...",repo_url:"https://github.com/TaskBeacon/H000020-one-armed-bandit",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000020-one-armed-bandit/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000020-one-armed-bandit",last_updated:"2026-03-18T09:20:00+08:00",importTask:()=>e(()=>import("./main-C8NZ41GX.js"),__vite__mapDeps([22,1,2,4]))},"H000021-drifting-double-bandit":{directory:"H000021-drifting-double-bandit",id:"H000021",slug:"drifting-double-bandit",title:"Drifting Double-Bandit Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Drifting Double-Bandit task built with psyflow-web. Trial procedure, drifting reward probabilities, no-response fallback behavior...",repo_url:"https://github.com/TaskBeacon/H000021-drifting-double-bandit",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000021-drifting-double-bandit/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000021-drifting-double-bandit",last_updated:"2026-03-18T09:26:24+08:00",importTask:()=>e(()=>import("./main-Ci06z9Ly.js"),__vite__mapDeps([23,1,2,4]))},"H000022-passive-lottery":{directory:"H000022-passive-lottery",id:"H000022",slug:"passive-lottery",title:"Passive Lottery Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Passive Lottery task built with psyflow-web. Condition cue -> fixation -> lottery reveal -> outcome feedback -> ITI flow, preplan...",repo_url:"https://github.com/TaskBeacon/H000022-passive-lottery",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000022-passive-lottery/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000022-passive-lottery",last_updated:"2026-03-18T09:33:21+08:00",importTask:()=>e(()=>import("./main-CZfyp486.js"),__vite__mapDeps([24,1,2,4]))},"H000023-ultimatum-game":{directory:"H000023-ultimatum-game",id:"H000023",slug:"ultimatum-game",title:"Ultimatum Game",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the responder-side Ultimatum Game built with psyflow-web. Offer scheduling (fair/unfair/very_unfair), accept/reject/timeout decision ...",repo_url:"https://github.com/TaskBeacon/H000023-ultimatum-game",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000023-ultimatum-game/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000023-ultimatum-game",last_updated:"2026-03-18T09:39:20+08:00",importTask:()=>e(()=>import("./main-TPndmooz.js"),__vite__mapDeps([25,1,4]))},"H000024-trust-game":{directory:"H000024-trust-game",id:"H000024",slug:"trust-game",title:"Trust Game",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the investor-side Trust Game built with psyflow-web. Partner-condition scheduling (high/medium/low trust), invest/keep/timeout decisi...",repo_url:"https://github.com/TaskBeacon/H000024-trust-game",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000024-trust-game/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000024-trust-game",last_updated:"2026-03-18T09:45:08+08:00",importTask:()=>e(()=>import("./main-DkQ5pp0S.js"),__vite__mapDeps([26,1,4]))},"H000025-dictator-game":{directory:"H000025-dictator-game",id:"H000025",slug:"dictator-game",title:"Dictator Game",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the Dictator Game built with psyflow-web. Three-way allocation decisions (generous, equal, selfish) under low/medium/high stakes are ...",repo_url:"https://github.com/TaskBeacon/H000025-dictator-game",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000025-dictator-game/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000025-dictator-game",last_updated:"2026-03-18T09:57:28+08:00",importTask:()=>e(()=>import("./main-BJql7IGA.js"),__vite__mapDeps([27,1,4]))},"H000026-mcgurk":{directory:"H000026-mcgurk",id:"H000026",slug:"mcgurk",title:"McGurk Effect Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the McGurk Effect task built with psyflow-web. Audiovisual congruent/incongruent/audio-only trial logic, syllable report mapping (/ba...",repo_url:"https://github.com/TaskBeacon/H000026-mcgurk",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000026-mcgurk/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000026-mcgurk",last_updated:"2026-03-18T10:07:15+08:00",importTask:()=>e(()=>import("./main-Nzd2iRlY.js"),__vite__mapDeps([28,1,2,4]))},"H000027-task-switching":{directory:"H000027-task-switching",id:"H000027",slug:"task-switching",title:"Task Switching Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the cue-based Task Switching task built with psyflow-web. Rule-cue transitions (start/repeat/switch), digit classification (parity/ma...",repo_url:"https://github.com/TaskBeacon/H000027-task-switching",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000027-task-switching/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000027-task-switching",last_updated:"2026-03-18T10:15:28+08:00",importTask:()=>e(()=>import("./main-BkJkFl5r.js"),__vite__mapDeps([29,1,2,4]))},"H000028-weather-prediction":{directory:"H000028-weather-prediction",id:"H000028",slug:"weather-prediction",title:"Weather Prediction Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of the probabilistic Weather Prediction task built with psyflow-web. Cue-pattern sampling, probabilistic weather outcomes (sun/rain), re...",repo_url:"https://github.com/TaskBeacon/H000028-weather-prediction",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000028-weather-prediction/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000028-weather-prediction",last_updated:"2026-03-18T10:24:27+08:00",importTask:()=>e(()=>import("./main-CuZGZSDj.js"),__vite__mapDeps([30,1,2,4]))},"H000029-cambridge-gambling":{directory:"H000029-cambridge-gambling",id:"H000029",slug:"cambridge-gambling",title:"Cambridge Gambling Task",acquisition:"behavior",maturity:"smoke_tested",release_tag:"0.1.0",short_description:"!Maturity: smoke_tested",repo_url:"https://github.com/TaskBeacon/H000029-cambridge-gambling",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000029-cambridge-gambling/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000029-cambridge-gambling",last_updated:"2026-03-19T08:38:28+08:00",importTask:()=>e(()=>import("./main-BbtjFz15.js"),__vite__mapDeps([31,1,2,4]))},"H000030-iowa-gambling":{directory:"H000030-iowa-gambling",id:"H000030",slug:"iowa-gambling",title:"Iowa Gambling Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of Iowa Gambling Task built with psyflow-web. The stage order, deck outcome schedules, timeout behavior, and summary metrics are aligned...",repo_url:"https://github.com/TaskBeacon/H000030-iowa-gambling",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000030-iowa-gambling/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000030-iowa-gambling",last_updated:"2026-03-18T10:50:41+08:00",importTask:()=>e(()=>import("./main-BWy-46nR.js"),__vite__mapDeps([32,1,2,4]))},"H000031-loss-aversion-framing":{directory:"H000031-loss-aversion-framing",id:"H000031",slug:"loss-aversion-framing",title:"Loss Aversion / Framing Task",acquisition:"behavior",maturity:"smoke_tested",release_tag:"0.1.0",short_description:"HTML/browser preview aligned to local T000031-loss-aversion-framing. The web task mirrors the Python block schedule, config-defined offer banks, timing, and ...",repo_url:"https://github.com/TaskBeacon/H000031-loss-aversion-framing",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000031-loss-aversion-framing/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000031-loss-aversion-framing",last_updated:"2026-03-19T00:01:25+08:00",importTask:()=>e(()=>import("./main-CFK5SMpk.js"),__vite__mapDeps([33,1,2,4]))},"H000032-antisaccade":{directory:"H000032-antisaccade",id:"H000032",slug:"antisaccade",title:"Antisaccade Task",acquisition:"behavior",maturity:"smoke_tested",release_tag:"0.1.0",short_description:"HTML/browser preview of the canonical T000032-antisaccade task built with psyflow-web. The web build keeps the same condition semantics, stage order, timing ...",repo_url:"https://github.com/TaskBeacon/H000032-antisaccade",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000032-antisaccade/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000032-antisaccade",last_updated:"2026-03-18T23:23:04+08:00",importTask:()=>e(()=>import("./main-B7WXLGJS.js"),__vite__mapDeps([34,1,2,4]))},"H000033-visual-search":{directory:"H000033-visual-search",id:"H000033",slug:"visual-search",title:"Visual Search Task",acquisition:"behavior",maturity:"smoke_tested",release_tag:"0.1.0",short_description:"HTML/browser preview of Visual Search Task built with psyflow-web. Feature vs conjunction display generation, present/absent key mapping, and block/session s...",repo_url:"https://github.com/TaskBeacon/H000033-visual-search",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000033-visual-search/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000033-visual-search",last_updated:"2026-03-18T22:18:12+08:00",importTask:()=>e(()=>import("./main-Ix7_rDhf.js"),__vite__mapDeps([35,1,2,4]))},"H000034-cyberball":{directory:"H000034-cyberball",id:"H000034",slug:"cyberball",title:"Cyberball Task",acquisition:"behavior",maturity:"smoke_tested",release_tag:"0.1.0",short_description:"HTML/browser preview of Cyberball Task built with psyflow-web. Three-player toss flow, inclusion/exclusion block policy, shared ball-holder state, and block/...",repo_url:"https://github.com/TaskBeacon/H000034-cyberball",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000034-cyberball/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000034-cyberball",last_updated:"2026-03-23T08:43:12+08:00",importTask:()=>e(()=>import("./main-CXhKiFTB.js"),__vite__mapDeps([36,1,4]))},"H000035-sternberg-working-memory":{directory:"H000035-sternberg-working-memory",id:"H000035",slug:"sternberg-working-memory",title:"Sternberg Working Memory Task",acquisition:"behavior",maturity:"prototype",release_tag:"0.1.0",short_description:"HTML/browser preview of Sternberg Working Memory Task built with psyflow-web. Memory-set generation, old/new probe logic, response scoring, and block/final s...",repo_url:"https://github.com/TaskBeacon/H000035-sternberg-working-memory",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000035-sternberg-working-memory/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000035-sternberg-working-memory",last_updated:"2026-03-18T19:48:46+08:00",importTask:()=>e(()=>import("./main-CL6DaOfC.js"),__vite__mapDeps([37,1,2]))},"H000036-risk-perception-estimation":{directory:"H000036-risk-perception-estimation",id:"H000036",slug:"risk-perception-estimation",title:"Risk Perception Estimation Task",acquisition:"behavior",maturity:"prototype",release_tag:"v0.1.0-dev",short_description:"Browser companion for the Chinese health-risk judgment task with three scenario levels and 1-7 ordinal ratings",repo_url:"https://github.com/TaskBeacon/H000036-risk-perception-estimation",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000036-risk-perception-estimation/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000036-risk-perception-estimation",last_updated:"2026-04-04T15:25:55+08:00",importTask:()=>e(()=>import("./main-CTk8xmGQ.js"),__vite__mapDeps([38,1,2,4]))},"H000037-game-of-dice":{directory:"H000037-game-of-dice",id:"H000037",slug:"game-of-dice",title:"Game of Dice Task",acquisition:"behavior",maturity:"prototype",release_tag:"v0.1.0-dev",short_description:"Browser companion for the Chinese explicit-risk dice gambling task with four known-probability options and cumulative capital feedback",repo_url:"https://github.com/TaskBeacon/H000037-game-of-dice",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000037-game-of-dice/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000037-game-of-dice",last_updated:"2026-04-04T15:47:24+08:00",importTask:()=>e(()=>import("./main-DXOMopzI.js"),__vite__mapDeps([39,1,2,4]))},"H000038-two-armed-bandit":{directory:"H000038-two-armed-bandit",id:"H000038",slug:"two-armed-bandit",title:"Two-Armed Bandit Task",acquisition:"behavior",maturity:"prototype",release_tag:"v0.1.0-dev",short_description:"Browser companion for the Chinese two-armed bandit task with block-wise reward contingencies and cumulative score feedback",repo_url:"https://github.com/TaskBeacon/H000038-two-armed-bandit",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000038-two-armed-bandit/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000038-two-armed-bandit",last_updated:"2026-04-04T18:32:52+08:00",importTask:()=>e(()=>import("./main-CrJZMbd5.js"),__vite__mapDeps([40,1,4]))},"H000039-probabilistic-reward-task":{directory:"H000039-probabilistic-reward-task",id:"H000039",slug:"probabilistic-reward-task",title:"Probabilistic Reward Task",acquisition:"behavior",maturity:"prototype",release_tag:"v0.1.0-dev",short_description:"Browser companion for the Chinese probabilistic reward task with short/long mouth discrimination and deferred reward carryover",repo_url:"https://github.com/TaskBeacon/H000039-probabilistic-reward-task",default_branch:"main",download_url:"https://github.com/TaskBeacon/H000039-probabilistic-reward-task/archive/refs/heads/main.zip",run_url:"https://taskbeacon.github.io/psyflow-web/?task=H000039-probabilistic-reward-task",last_updated:"2026-04-04T20:33:26+08:00",importTask:()=>e(()=>import("./main-BdHeZ8mk.js"),__vite__mapDeps([41,1]))}},b=Object.values(g);function H(){if(document.getElementById("psyflow-runner-styles"))return;const t=document.createElement("style");t.id="psyflow-runner-styles",t.textContent=` :root { color-scheme: light; font-family: "DM Sans", "Segoe UI", sans-serif; --pf-ink: #25314d; --pf-paper: #f4efe9; --pf-panel: #fffdf9; --pf-sky: #b9dceb; --pf-sky-soft: #d7ebf6; --pf-peach-soft: #ffe9de; --pf-mint: #39d95d; background: radial-gradient(circle at 12% 8%, rgba(245, 193, 181, 0.28), transparent 20%), radial-gradient(circle at 86% 16%, rgba(185, 220, 235, 0.28), transparent 22%), radial-gradient(circle at 80% 82%, rgba(57, 217, 93, 0.1), transparent 20%), linear-gradient(180deg, var(--pf-paper) 0%, #f1ece6 100%); color: var(--pf-ink); } body { margin: 0; min-height: 100vh; background: transparent; } .psyflow-runner { min-height: 100vh; padding: 24px; box-sizing: border-box; } .psyflow-runner-shell { width: min(980px, 100%); margin: 0 auto; display: grid; gap: 18px; } .psyflow-runner-card { background: var(--pf-panel); border: 2px solid var(--pf-ink); border-radius: 30px; box-shadow: 0 6px 0 var(--pf-ink); padding: 24px; } .psyflow-runner-card h1, .psyflow-runner-card h2, .psyflow-runner-card p { margin: 0; } .psyflow-runner-kicker { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: #c9f7b9; padding: 8px 12px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; color: var(--pf-ink); } .psyflow-runner-card h1 { margin-top: 12px; font-size: clamp(2.1rem, 5vw, 3.2rem); line-height: 0.94; letter-spacing: -0.04em; color: var(--pf-ink); font-family: "Baloo 2", "DM Sans", sans-serif; } .psyflow-runner-card h2 { margin-bottom: 10px; font-size: 1.1rem; letter-spacing: -0.03em; color: var(--pf-ink); font-family: "Baloo 2", "DM Sans", sans-serif; } .psyflow-runner-card p { color: rgba(37, 49, 77, 0.84); line-height: 1.6; } .psyflow-runner-form { display: grid; gap: 14px; margin-top: 20px; } .psyflow-runner-field { display: grid; gap: 6px; font-size: 0.92rem; color: rgba(37, 49, 77, 0.84); font-weight: 700; } .psyflow-runner-input, .psyflow-runner-select { appearance: none; width: 100%; border: 2px solid var(--pf-ink); border-radius: 18px; padding: 12px 14px; font: inherit; background: white; color: var(--pf-ink); box-sizing: border-box; box-shadow: 0 4px 0 var(--pf-ink); } .psyflow-runner-button { appearance: none; border: 2px solid var(--pf-ink); border-radius: 18px; padding: 13px 18px; font: inherit; background: var(--pf-mint); color: white; cursor: pointer; font-weight: 700; box-shadow: 0 4px 0 var(--pf-ink); transition: transform 120ms ease; } .psyflow-runner-button:hover { transform: translateY(-1px); } .psyflow-runner-meta { display: grid; gap: 10px; margin-top: 18px; padding: 16px 18px; border: 2px solid var(--pf-ink); border-radius: 22px; background: #f8fcff; box-shadow: 0 4px 0 var(--pf-ink); } .psyflow-runner-meta-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 0.92rem; color: rgba(37, 49, 77, 0.84); } .psyflow-runner-meta-row strong { color: var(--pf-ink); } .psyflow-runner-current { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; } .psyflow-runner-pill { display: inline-flex; align-items: center; border: 2px solid var(--pf-ink); border-radius: 999px; background: white; padding: 6px 10px; font-size: 0.78rem; font-weight: 700; color: var(--pf-ink); } .psyflow-runner-empty { font-size: 0.88rem; color: rgba(37, 49, 77, 0.66); } .psyflow-runner-task { min-height: 60vh; } .psyflow-runner-error { white-space: pre-wrap; font-family: "IBM Plex Mono", "Cascadia Code", monospace; font-size: 0.9rem; color: #7f1d1d; } @media (min-width: 760px) { .psyflow-runner-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) auto; align-items: end; } } @media (max-width: 720px) { .psyflow-runner { padding: 16px; } .psyflow-runner-card { padding: 18px; border-radius: 24px; } } `,document.head.appendChild(t)}function _(t){return t.trim()}function E(t,s){const o=s.trim().toLowerCase();return o?[t.directory,t.id??"",t.slug??"",t.title].join(" ").toLowerCase().includes(o):!0}function f(t){const s=_(t);return s?g[s]?g[s]:b.find(o=>o.id===s||o.slug===s)??null:null}function L(t){return typeof t.main=="function"?t.main:typeof t.default=="function"?t.default:t.default&&typeof t.default=="object"&&typeof t.default.main=="function"?t.default.main:null}function B(t){H(),t.innerHTML="";const s=document.createElement("div");s.className="psyflow-runner";const o=document.createElement("div");o.className="psyflow-runner-shell";const n=document.createElement("section");n.className="psyflow-runner-card";const r=document.createElement("section");r.className="psyflow-runner-task";const i=document.createElement("section");return i.className="psyflow-runner-card",i.hidden=!0,o.append(n,i,r),s.appendChild(o),t.appendChild(s),{taskRoot:r,formCard:n,errorCard:i}}function x(t,s,o){const n=b.filter(a=>E(a,s));if(t.innerHTML="",n.length===0){const a=document.createElement("option");return a.value="",a.textContent="No matching tasks",a.disabled=!0,a.selected=!0,t.appendChild(a),n}for(const a of n){const l=document.createElement("option");l.value=a.directory,l.textContent=`${a.directory} - ${a.title}`,t.appendChild(l)}const r=f(o)?.directory??o,i=n.some(a=>a.directory===r)?r:n[0]?.directory??"";return t.value=i,n}function P(t,s,o){const n=t.querySelector("[data-role='task-count']"),r=t.querySelector("[data-role='current-task']");if(!n||!r)return;n.textContent=`${s.length} task${s.length===1?"":"s"} available`;const i=f(o);if(!i){r.innerHTML='Select a task to launch a preview.';return}r.innerHTML="";const a=document.createElement("span");a.className="psyflow-runner-pill",a.textContent=i.title;const l=document.createElement("span");l.className="psyflow-runner-pill",l.textContent=i.directory,r.append(a,l)}function M(t,s,o){document.title=o?`${o.title} | Preview`:"Preview",t.innerHTML=`
TaskBeacon preview

Preview

Launch a browser preview for an HTML task companion without scanning a long task list.

Catalog
Current selection
`;const n=t.querySelector(".psyflow-runner-form"),r=t.querySelector('input[name="catalog"]'),i=t.querySelector('select[name="task"]');if(!n||!r||!i)return;const a=r,l=i,c=o?.directory??s;function h(p){const u=x(l,a.value,p);P(t,u,l.value||p)}h(c),a.addEventListener("input",()=>{h(l.value||c)}),n.addEventListener("submit",p=>{p.preventDefault();const u=l.value.trim(),d=new URL(window.location.href);u?d.searchParams.set("task",u):d.searchParams.delete("task"),window.location.href=d.toString()})}async function D(){const t=document.querySelector("#app");if(!t)throw new Error("Runner root #app is missing.");const o=new URLSearchParams(window.location.search).get("task")??"",n=_(o)||(b.length===1?b[0].directory:""),r=f(n),{taskRoot:i,formCard:a,errorCard:l}=B(t);if(M(a,n,r),!!n){if(!r)throw new Error(`Unknown task '${n}'. Available HTML tasks: ${b.map(c=>c.directory).join(", ")}`);try{const c=await r.importTask(),h=L(c);if(!h)throw new Error(`Task '${r.directory}' does not export a main(root) function.`);await h(i)}catch(c){throw l.hidden=!1,l.innerHTML=`

Task Load Error

${String(c instanceof Error?c.stack??c.message:c)}
`,c}}}D().catch(t=>{console.error(t)}); //# sourceMappingURL=index-DGvAJ5UI.js.map