quiz-mcp 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css +1 -0
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css.br +0 -0
- package/dist/client/_app/immutable/assets/0.BdUfdP7M.css.gz +0 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js +2 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BBbVH-DX.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js +1 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BYAtt_Gu.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/BrxBJB61.js +3 -0
- package/dist/client/_app/immutable/chunks/BrxBJB61.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BrxBJB61.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js +1 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js.br +0 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js +1 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js.br +0 -0
- package/dist/client/_app/immutable/chunks/C9b1VZtB.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js +1 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js.br +0 -0
- package/dist/client/_app/immutable/chunks/DnSqigra.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js +1 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js.br +0 -0
- package/dist/client/_app/immutable/chunks/hqRb622q.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js +1 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js.br +0 -0
- package/dist/client/_app/immutable/chunks/qgn7L4n5.js.gz +0 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js +2 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js.br +0 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js.gz +0 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js +1 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js.br +0 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js +9 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js.br +0 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js +1 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js.br +0 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js +2 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js.br +0 -0
- package/dist/client/_app/immutable/nodes/2.B9MLTE_H.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js +1 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js.br +0 -0
- package/dist/client/_app/immutable/nodes/3.w4AbulQF.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js +4 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js.br +0 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js.gz +0 -0
- package/dist/client/_app/version.json +1 -0
- package/dist/client/_app/version.json.br +0 -0
- package/dist/client/_app/version.json.gz +0 -0
- package/dist/client/robots.txt +3 -0
- package/dist/env.js +94 -0
- package/dist/handler.js +1435 -0
- package/dist/index.js +345 -0
- package/dist/server/chunks/0-DMbzliU5.js +44 -0
- package/dist/server/chunks/0-DMbzliU5.js.map +1 -0
- package/dist/server/chunks/1-BPgly3Wz.js +9 -0
- package/dist/server/chunks/1-BPgly3Wz.js.map +1 -0
- package/dist/server/chunks/2-NzZFDUaQ.js +60 -0
- package/dist/server/chunks/2-NzZFDUaQ.js.map +1 -0
- package/dist/server/chunks/3-mMAf4OfT.js +37 -0
- package/dist/server/chunks/3-mMAf4OfT.js.map +1 -0
- package/dist/server/chunks/4-B6xeTrA4.js +37 -0
- package/dist/server/chunks/4-B6xeTrA4.js.map +1 -0
- package/dist/server/chunks/_error.svelte-DdU-RsvI.js +82 -0
- package/dist/server/chunks/_error.svelte-DdU-RsvI.js.map +1 -0
- package/dist/server/chunks/_layout.svelte-ByxFsgXH.js +106 -0
- package/dist/server/chunks/_layout.svelte-ByxFsgXH.js.map +1 -0
- package/dist/server/chunks/_page.svelte-CRU5jaGZ.js +653 -0
- package/dist/server/chunks/_page.svelte-CRU5jaGZ.js.map +1 -0
- package/dist/server/chunks/_page.svelte-Cm8ocLsi.js +572 -0
- package/dist/server/chunks/_page.svelte-Cm8ocLsi.js.map +1 -0
- package/dist/server/chunks/_page.svelte-DkIV_2wP.js +73 -0
- package/dist/server/chunks/_page.svelte-DkIV_2wP.js.map +1 -0
- package/dist/server/chunks/_server.ts-D6J6LtvY.js +39 -0
- package/dist/server/chunks/_server.ts-D6J6LtvY.js.map +1 -0
- package/dist/server/chunks/_server.ts-DCk3MOtj.js +35 -0
- package/dist/server/chunks/_server.ts-DCk3MOtj.js.map +1 -0
- package/dist/server/chunks/_server.ts-DLmpRTXg.js +101 -0
- package/dist/server/chunks/_server.ts-DLmpRTXg.js.map +1 -0
- package/dist/server/chunks/_server.ts-DSbw8FX3.js +219 -0
- package/dist/server/chunks/_server.ts-DSbw8FX3.js.map +1 -0
- package/dist/server/chunks/_server.ts-Dhx3VnxA.js +51 -0
- package/dist/server/chunks/_server.ts-Dhx3VnxA.js.map +1 -0
- package/dist/server/chunks/client-Bik_FcIp.js +27 -0
- package/dist/server/chunks/client-Bik_FcIp.js.map +1 -0
- package/dist/server/chunks/exports-zEtqeh3Y.js +286 -0
- package/dist/server/chunks/exports-zEtqeh3Y.js.map +1 -0
- package/dist/server/chunks/hooks.server-B6FrjICA.js +66 -0
- package/dist/server/chunks/hooks.server-B6FrjICA.js.map +1 -0
- package/dist/server/chunks/hooks.universal-B3lncnqn.js +6 -0
- package/dist/server/chunks/hooks.universal-B3lncnqn.js.map +1 -0
- package/dist/server/chunks/html-FW6Ia4bL.js +8 -0
- package/dist/server/chunks/html-FW6Ia4bL.js.map +1 -0
- package/dist/server/chunks/index-Ch5Bqlgz.js +1411 -0
- package/dist/server/chunks/index-Ch5Bqlgz.js.map +1 -0
- package/dist/server/chunks/runtime-Bf5HkYyl.js +318 -0
- package/dist/server/chunks/runtime-Bf5HkYyl.js.map +1 -0
- package/dist/server/chunks/sessions-CEbRx2vt.js +169 -0
- package/dist/server/chunks/sessions-CEbRx2vt.js.map +1 -0
- package/dist/server/index.js +7595 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/manifest.js +97 -0
- package/dist/server/manifest.js.map +1 -0
- package/dist/shims.js +32 -0
- package/package.json +3 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as $e,g as Qe,i as g,a as i,f as l,s as v,c as Tt,t as Re}from"../chunks/BBbVH-DX.js";import{p as De,a4 as K,ag as Yt,a6 as Ie,a as Le,f as mt,d as Je,g as t,a5 as A,aX as Jt,s as u,$ as Ke,t as b,a3 as Pe,c as a,r,u as Z}from"../chunks/DnSqigra.js";import{s as Kt,a as ve,e as bt,i as ht,r as Zt,b as te,c as Be}from"../chunks/BYAtt_Gu.js";import{s as Pt,h as Fe}from"../chunks/qgn7L4n5.js";import{h as Ge}from"../chunks/hqRb622q.js";import{g as O}from"../chunks/C9b1VZtB.js";const He=()=>"Previous",Ve=()=>"Anterior",Xe=()=>"Назад",Ue=()=>"Назад",We=(s={},c={})=>{const e=c.locale??O();return e==="en"?He():e==="es"?Ve():e==="ru"?Xe():Ue()},Ye=()=>"Next",Ze=()=>"Siguiente",tr=()=>"Далее",er=()=>"Далі",rr=(s={},c={})=>{const e=c.locale??O();return e==="en"?Ye():e==="es"?Ze():e==="ru"?tr():er()},ar=()=>"Submit Quiz",sr=()=>"Enviar Cuestionario",nr=()=>"Отправить Тест",or=()=>"Надіслати Тест",ir=(s={},c={})=>{const e=c.locale??O();return e==="en"?ar():e==="es"?sr():e==="ru"?nr():or()},ur=()=>"Dismiss",cr=()=>"Descartar",lr=()=>"Отклонить",vr=()=>"Відхилити",dr=(s={},c={})=>{const e=c.locale??O();return e==="en"?ur():e==="es"?cr():e==="ru"?lr():vr()},_r=()=>"Quiz Complete!",fr=()=>"¡Cuestionario Completado!",pr=()=>"Тест Завершён!",mr=()=>"Тест Завершено!",br=(s={},c={})=>{const e=c.locale??O();return e==="en"?_r():e==="es"?fr():e==="ru"?pr():mr()},hr=()=>"Thank you for completing the quiz.",gr=()=>"Gracias por completar el cuestionario.",xr=()=>"Спасибо за прохождение теста.",yr=()=>"Дякуємо за проходження тесту.",wr=(s={},c={})=>{const e=c.locale??O();return e==="en"?hr():e==="es"?gr():e==="ru"?xr():yr()},qr=()=>"Total",kr=()=>"Total",zr=()=>"Всего",Ar=()=>"Всього",Sr=(s={},c={})=>{const e=c.locale??O();return e==="en"?qr():e==="es"?kr():e==="ru"?zr():Ar()},jr=()=>"Answered",Er=()=>"Respondidas",Or=()=>"Отвечено",Cr=()=>"Відповіли",Mr=(s={},c={})=>{const e=c.locale??O();return e==="en"?jr():e==="es"?Er():e==="ru"?Or():Cr()},Nr=()=>"Required",Tr=()=>"Requeridas",$r=()=>"Обязательно",Qr=()=>"Обов'язкові",Rr=(s={},c={})=>{const e=c.locale??O();return e==="en"?Nr():e==="es"?Tr():e==="ru"?$r():Qr()},Dr=()=>"Time",Ir=()=>"Tiempo",Lr=()=>"Время",Jr=()=>"Час",Kr=(s={},c={})=>{const e=c.locale??O();return e==="en"?Dr():e==="es"?Ir():e==="ru"?Lr():Jr()},Pr=()=>"N/A",Br=()=>"N/D",Fr=()=>"Н/Д",Gr=()=>"Н/Д",Hr=(s={},c={})=>{const e=c.locale??O();return e==="en"?Pr():e==="es"?Br():e==="ru"?Fr():Gr()},Vr=s=>`${s?.minutes}m ${s?.seconds}s`,Xr=s=>`${s?.minutes}m ${s?.seconds}s`,Ur=s=>`${s?.minutes}м ${s?.seconds}с`,Wr=s=>`${s?.minutes}хв ${s?.seconds}с`,Yr=(s,c={})=>{const e=c.locale??O();return e==="en"?Vr(s):e==="es"?Xr(s):e==="ru"?Ur(s):Wr(s)},Zr=()=>"Copy Results JSON",ta=()=>"Copiar Resultados JSON",ea=()=>"Копировать Результаты JSON",ra=()=>"Копіювати Результати JSON",aa=(s={},c={})=>{const e=c.locale??O();return e==="en"?Zr():e==="es"?ta():e==="ru"?ea():ra()},sa=s=>`Question ${s?.current} of ${s?.total}`,na=s=>`Pregunta ${s?.current} de ${s?.total}`,oa=s=>`Вопрос ${s?.current} из ${s?.total}`,ia=s=>`Запитання ${s?.current} з ${s?.total}`,ua=(s,c={})=>{const e=c.locale??O();return e==="en"?sa(s):e==="es"?na(s):e==="ru"?oa(s):ia(s)},ca=s=>`${s?.count} answered`,la=s=>`${s?.count} respondidas`,va=s=>`${s?.count} отвечено`,da=s=>`${s?.count} відповіли`,_a=(s,c={})=>{const e=c.locale??O();return e==="en"?ca(s):e==="es"?la(s):e==="ru"?va(s):da(s)},fa=()=>"Type your answer here...",pa=()=>"Escribe tu respuesta aquí...",ma=()=>"Введите ваш ответ здесь...",ba=()=>"Введіть вашу відповідь тут...",ha=(s={},c={})=>{const e=c.locale??O();return e==="en"?fa():e==="es"?pa():e==="ru"?ma():ba()},ga=()=>"Select items to REMOVE (incorrect answers)",xa=()=>"Selecciona los elementos a ELIMINAR (respuestas incorrectas)",ya=()=>"Выберите элементы для УДАЛЕНИЯ (неправильные ответы)",wa=()=>"Виберіть елементи для ВИДАЛЕННЯ (неправильні відповіді)",qa=(s={},c={})=>{const e=c.locale??O();return e==="en"?ga():e==="es"?xa():e==="ru"?ya():wa()},ka=()=>"Click items on the right to match with left items",za=()=>"Haz clic en los elementos de la derecha para emparejar con los de la izquierda",Aa=()=>"Нажмите на элементы справа, чтобы сопоставить с элементами слева",Sa=()=>"Натисніть на елементи справа, щоб зіставити з елементами зліва",ja=(s={},c={})=>{const e=c.locale??O();return e==="en"?ka():e==="es"?za():e==="ru"?Aa():Sa()};var Ea=l('<link rel="icon"/>'),Oa=l('<link rel="stylesheet"/>'),Ca=l("<!> <!>",1),Ma=l('<div class="flex justify-center p-8"><span class="loading loading-lg loading-spinner"></span></div>'),Na=l('<div class="flex justify-center"><img alt="Logo" class="h-16 object-contain"/></div>'),Ta=l('<h1 class="text-3xl font-bold"> </h1>'),$a=l('<p class="mx-auto max-w-2xl text-base-content/70"> </p>'),Qa=l('<span class="badge badge-outline"> </span>'),Ra=l('<span class="badge badge-outline"> </span>'),Da=l('<span class="badge badge-ghost"> </span>'),Ia=l('<div class="mt-2 flex flex-wrap justify-center gap-2"><!> <!> <!></div>'),La=l('<div class="space-y-2 text-center"><!> <!> <!></div>'),Ja=l('<div class="card bg-base-100 shadow-sm"><div class="card-body py-3"><div class="flex items-center justify-between text-sm"><span> </span> <span> </span></div> <progress class="progress w-full progress-primary" max="100"></progress></div></div>'),Ka=l('<div><div class="card-body py-3"><div class="flex items-center justify-between text-sm"><span class="font-medium">Time Remaining</span> <span> </span></div></div></div>'),Pa=l('<button type="button"></button>'),Ba=l('<div class="flex flex-wrap justify-center gap-1"></div>'),Fa=l('<span class="text-base-content/50"> </span>'),Ga=l('<span class="badge badge-outline"> </span>'),Ha=l('<label class="flex cursor-pointer items-center gap-3 rounded-lg border border-base-300 p-4 hover:bg-base-200 has-[:checked]:border-primary has-[:checked]:bg-primary/10"><input type="radio" class="radio radio-primary"/> <span class="flex-1"> </span></label>'),Va=l('<div class="space-y-2"></div>'),Xa=l('<label class="flex cursor-pointer items-center gap-3 rounded-lg border border-base-300 p-4 hover:bg-base-200 has-[:checked]:border-primary has-[:checked]:bg-primary/10"><input type="checkbox" class="checkbox checkbox-primary"/> <span class="flex-1"> </span></label>'),Ua=l('<div class="space-y-2"></div>'),Wa=l('<textarea class="textarea-bordered textarea min-h-[120px] w-full"></textarea>'),Ya=l('<label class="flex cursor-pointer items-center gap-3 rounded-lg border border-error/30 p-4 hover:bg-error/10 has-[:checked]:border-error has-[:checked]:bg-error/20"><input type="checkbox" class="checkbox checkbox-error"/> <span class="flex-1"> </span></label>'),Za=l('<div class="space-y-2"><p class="text-sm text-base-content/70"> </p> <!></div>'),ts=l('<div class="flex items-center gap-3"><span class="w-6 text-sm text-base-content/50"></span> <div class="flex-1 rounded-lg border border-base-300 bg-base-200 p-3"> </div> <button type="button" class="btn btn-circle btn-sm">↑</button> <button type="button" class="btn btn-circle btn-sm">↓</button></div>'),es=l('<div class="space-y-2"></div>'),rs=l("<div> </div>"),as=l('<button type="button"> </button>'),ss=l('<div class="grid grid-cols-2 gap-4"><div class="space-y-2"></div> <div class="space-y-2"></div></div> <p class="text-sm text-base-content/70"> </p>',1),ns=l('<button type="button" class="btn btn-primary"> </button>'),os=l('<span class="loading loading-sm loading-spinner"></span>'),is=l('<button type="button" class="btn btn-success"><!></button>'),us=l('<div class="card bg-base-100 shadow-lg"><div class="card-body space-y-6"><div class="flex items-start justify-between gap-4"><h2 class="text-xl font-semibold"><!> <!></h2> <!></div> <!> <div class="flex items-center justify-between pt-4"><button type="button" class="btn btn-ghost"> </button> <div class="flex gap-2"><!></div></div></div></div>'),cs=l('<div class="card bg-base-100 shadow-lg"><div class="card-body space-y-6 text-center"><div class="flex justify-center"><div class="flex h-20 w-20 items-center justify-center rounded-full bg-success/20"><svg xmlns="http://www.w3.org/2000/svg" class="h-12 w-12 text-success" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg></div></div> <div><h2 class="card-title justify-center text-2xl"> </h2> <p class="text-base-content/70"> </p></div> <div class="mx-auto grid max-w-md grid-cols-2 gap-4 md:grid-cols-4"><div class="stat rounded-lg bg-base-200"><div class="stat-title"> </div> <div class="stat-value text-lg"> </div></div> <div class="stat rounded-lg bg-base-200"><div class="stat-title"> </div> <div class="stat-value text-lg text-success"> </div></div> <div class="stat rounded-lg bg-base-200"><div class="stat-title"> </div> <div class="stat-value text-lg"> </div></div> <div class="stat rounded-lg bg-base-200"><div class="stat-title"> </div> <div class="stat-value text-lg text-sm"> </div></div></div> <div class="flex justify-center gap-4"><button type="button" class="btn btn-primary"> </button></div></div></div>'),ls=l('<div class="alert alert-error"><svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg> <span> </span> <button type="button" class="btn btn-ghost btn-sm"> </button></div>'),vs=l('<div class="mx-auto max-w-4xl space-y-6 p-4"><!> <!> <!> <!> <!> <!> <!> <!></div>'),ds=l('<div class="min-h-screen bg-base-200"><!></div>');function gs(s,c){De(c,!0);const e=Z(()=>c.data.quiz),S=Z(()=>c.data.config);let ct=K(Yt([])),$=K(0),At=Yt({}),St=K(!1),tt=K(null),$t=K(null),Bt=K(!1),et=K(null),jt=Yt({}),ee=K(!1),re=K(0),Et=K(0),Ft=K(void 0),de=K(!1);const rt=Z(()=>t(ct).length),d=Z(()=>t(ct)[t($)]??null),ae=Z(()=>Object.values(At).filter(n=>n.value!==""&&(Array.isArray(n.value)?n.value.length>0:!0)).length),_e=Z(()=>t(rt)>0?Math.round(t(ae)/t(rt)*100):0),se=Z(()=>t(ct).filter(n=>n.required===!0).every(n=>{const o=At[n.id];return o&&o.value!==""&&(Array.isArray(o.value)?o.value.length>0:!0)})),Qt=Z(()=>t(d)&&Array.isArray(t(d).options)?t(d).options:[]),Ht=Z(()=>t(d)&&typeof t(d).options=="object"&&"left"in t(d).options?t(d).options:null);Ie(()=>{let n=[...t(e).questions];if(t(S).shuffleQuestions&&(n=oe(n)),A(ct,n.map((o,j)=>({...o,id:o.id??`question-${j}`})),!0),t(S).shuffleOptions&&A(ct,t(ct).map(o=>({...o,options:Array.isArray(o.options)?oe([...o.options]):o.options})),!0),t(S).theme&&t(S).theme!=="auto")document.documentElement.setAttribute("data-theme",t(S).theme);else if(t(S).theme==="auto"){const o=window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.setAttribute("data-theme",o?"dark":"light")}t(S).timerEnabled&&t(S).timerDuration&&(A(ee,!0),A(re,t(S).timerDuration,!0),A(Et,t(re)*60),A(Ft,setInterval(()=>{Jt(Et,-1),t(Et)<=0&&pe()},1e3),!0))});function fe(n){const o=Math.floor(n/60),j=n%60;return`${o}:${j.toString().padStart(2,"0")}`}function pe(){t(Ft)&&(clearInterval(t(Ft)),A(Ft,void 0)),A(de,!0),t(St)||ne()}function me(n){return jt[n]!==void 0}function be(n){return Object.values(jt).includes(n)}function he(n){t(et)&&!jt[t(et)]?(jt[t(et)]=n,A(et,null)):t(et)&&jt[t(et)]===n?(delete jt[t(et)],A(et,null)):A(et,n,!0)}function ge(){return t(ct).map(n=>{const o=At[n.id];return o!==void 0&&o.value!==""&&(Array.isArray(o.value)?o.value.length>0:!0)})}function xe(n){n>=0&&n<t(rt)&&A($,n,!0)}function lt(n,o){At[n]={value:o,timestamp:new Date().toISOString()}}function ye(){t($)>0&&Jt($,-1)}function we(){t($)<t(rt)-1&&Jt($)}async function qe(){t(se)&&await ne()}async function ne(){A(Bt,!0),A($t,null);try{const n=await fetch(`/api/quiz/${c.data.quizId}/session/${c.data.sessionId}/submit`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({answers:At})}),o=await n.json();if(!n.ok||!o.ok)throw new Error(o.error||"Failed to submit quiz");A(tt,o.results,!0),A(St,!0)}catch(n){A($t,n instanceof Error?n.message:"Failed to submit quiz",!0),console.error("Submit error:",n)}finally{A(Bt,!1)}}function vt(n,o){const j=At[n]?.value;return j!==void 0?j:ke(o??"text")}function ke(n){switch(n){case"match":return[];case"text":case"single":return"";case"multiple":case"remove-extra":case"order":return[];default:return""}}function oe(n){const o=[...n];for(let j=o.length-1;j>0;j--){const Ot=Math.floor(Math.random()*(j+1));[o[j],o[Ot]]=[o[Ot],o[j]]}return o}function ze(n){t(St)||(n.key==="ArrowLeft"&&!n.ctrlKey&&!n.metaKey?t($)>0&&Jt($,-1):n.key==="ArrowRight"&&!n.ctrlKey&&!n.metaKey&&t($)<t(rt)-1&&Jt($))}var Vt=ds();Ge("7xxyz3",n=>{var o=Ca(),j=mt(o);{var Ot=G=>{var gt=Ea();b(()=>Kt(gt,"href",t(S).favicon)),i(G,gt)};g(j,G=>{t(S).favicon&&G(Ot)})}var Gt=u(j,2);{var Xt=G=>{var gt=Oa();b(()=>Kt(gt,"href",t(S).css)),i(G,gt)};g(Gt,G=>{t(S).css&&G(Xt)})}Je(()=>{Ke.title=t(e).title??"Quiz"??""}),i(n,o)}),Qe("keydown",Pe,ze);var Ae=a(Vt);{var Se=n=>{var o=Ma();i(n,o)},je=n=>{var o=vs(),j=a(o);{var Ot=f=>{var _=Na(),y=a(_);r(_),b(()=>Kt(y,"src",t(S).logo)),i(f,_)};g(j,f=>{t(S).logo&&f(Ot)})}var Gt=u(j,2);{var Xt=f=>{var _=La(),y=a(_);{var w=q=>{var k=Ta(),R=a(k,!0);r(k),b(()=>v(R,t(e).title)),i(q,k)};g(y,q=>{t(e).title&&q(w)})}var h=u(y,2);{var C=q=>{var k=$a(),R=a(k,!0);r(k),b(()=>v(R,t(e).description)),i(q,k)};g(h,q=>{t(e).description&&q(C)})}var Q=u(h,2);{var xt=q=>{var k=Ia(),R=a(k);{var Rt=M=>{var D=Qa(),at=a(D,!0);r(D),b(()=>v(at,t(e).metadata.difficulty)),i(M,D)};g(R,M=>{t(e).metadata.difficulty&&M(Rt)})}var yt=u(R,2);{var Ct=M=>{var D=Ra(),at=a(D);r(D),b(()=>v(at,`~${t(e).metadata.estimatedTime??""} min`)),i(M,D)};g(yt,M=>{t(e).metadata.estimatedTime&&M(Ct)})}var P=u(yt,2);{var wt=M=>{var D=Tt(),at=mt(D);bt(at,17,()=>t(e).metadata.tags,ht,(qt,m)=>{var p=Da(),N=a(p,!0);r(p),b(()=>v(N,t(m))),i(qt,p)}),i(M,D)};g(P,M=>{t(e).metadata.tags&&M(wt)})}r(k),i(q,k)};g(Q,q=>{t(e).metadata&&q(xt)})}r(_),i(f,_)};g(Gt,f=>{(t(e).title||t(e).description)&&f(Xt)})}var G=u(Gt,2);{var gt=f=>{var _=Ja(),y=a(_),w=a(y),h=a(w),C=a(h,!0);r(h);var Q=u(h,2),xt=a(Q,!0);r(Q),r(w);var q=u(w,2);r(y),r(_),b((k,R)=>{v(C,k),v(xt,R),ve(q,t(_e))},[()=>ua({current:t($)+1,total:t(rt)}),()=>_a({count:t(ae)})]),i(f,_)};g(G,f=>{t(S).showProgress!==!1&&f(gt)})}var ie=u(G,2);{var Ee=f=>{var _=Ka(),y=a(_),w=a(y),h=u(a(w),2),C=a(h,!0);r(h),r(w),r(y),r(_),b(Q=>{Pt(_,1,`card ${t(Et)<60?"border border-error bg-error/10":"bg-base-100"} shadow-sm`),Pt(h,1,`font-mono text-lg font-bold ${t(Et)<60?"text-error":""}`),v(C,Q)},[()=>fe(t(Et))]),i(f,_)};g(ie,f=>{t(ee)&&!t(St)&&f(Ee)})}var ue=u(ie,2);{var Oe=f=>{var _=Ba();bt(_,21,()=>t(ct),ht,(y,w,h)=>{var C=Pa();C.__click=()=>xe(h),C.textContent=h+1,b(Q=>Pt(C,1,`btn btn-xs ${Q??""}`),[()=>h===t($)?"btn-primary":ge()[h]?"btn-success":"btn-ghost"]),i(y,C)}),r(_),i(f,_)};g(ue,f=>{t(rt)>5&&f(Oe)})}var ce=u(ue,2);{var Ce=f=>{var _=us(),y=a(_),w=a(y),h=a(w),C=a(h);{var Q=m=>{var p=Fa(),N=a(p);r(p),b(()=>v(N,`${t($)+1}.`)),i(m,p)};g(C,m=>{t(S).showQuestionNumbers!==!1&&m(Q)})}var xt=u(C,2);Fe(xt,()=>t(d).question),r(h);var q=u(h,2);{var k=m=>{var p=Ga(),N=a(p);r(p),b(()=>v(N,`${t(d).points??""} pts`)),i(m,p)};g(q,m=>{t(d).points&&m(k)})}r(w);var R=u(w,2);{var Rt=m=>{var p=Va();bt(p,21,()=>t(Qt),ht,(N,B)=>{var H=Ha(),x=a(H);Zt(x),x.__change=()=>lt(t(d).id,t(B));var T=u(x,2),V=a(T,!0);r(T),r(H),b(X=>{Kt(x,"name",`question-${t(d).id??""}`),te(x,X),v(V,t(B))},[()=>vt(t(d).id,"single")===t(B)]),i(N,H)}),r(p),i(m,p)},yt=m=>{var p=Tt(),N=mt(p);{var B=x=>{var T=Ua();bt(T,21,()=>t(Qt),ht,(V,X)=>{var dt=Xa(),I=a(dt);Zt(I),I.__change=nt=>{const Mt=vt(t(d).id,"multiple")||[];nt.target.checked?lt(t(d).id,[...Mt,t(X)]):lt(t(d).id,Mt.filter(U=>U!==t(X)))};var L=u(I,2),st=a(L,!0);r(L),r(dt),b(nt=>{te(I,nt),v(st,t(X))},[()=>Array.isArray(vt(t(d).id,"multiple"))&&vt(t(d).id,"multiple").includes(t(X))]),i(V,dt)}),r(T),i(x,T)},H=x=>{var T=Tt(),V=mt(T);{var X=I=>{var L=Wa();Be(L),L.__input=st=>lt(t(d).id,st.target.value),b((st,nt)=>{Kt(L,"placeholder",st),ve(L,nt)},[()=>ha(),()=>vt(t(d).id,"text")]),i(I,L)},dt=I=>{var L=Tt(),st=mt(L);{var nt=ot=>{var U=Za(),kt=a(U),Dt=a(kt,!0);r(kt);var It=u(kt,2);bt(It,17,()=>t(Qt),ht,(W,J)=>{var it=Ya(),_t=a(it);Zt(_t),_t.__change=F=>{const ut=vt(t(d).id,"remove-extra")||[];F.target.checked?lt(t(d).id,[...ut,t(J)]):lt(t(d).id,ut.filter(Nt=>Nt!==t(J)))};var ft=u(_t,2),E=a(ft,!0);r(ft),r(it),b(F=>{te(_t,F),v(E,t(J))},[()=>Array.isArray(vt(t(d).id,"remove-extra"))&&vt(t(d).id,"remove-extra").includes(t(J))]),i(W,it)}),r(U),b(W=>v(Dt,W),[()=>qa()]),i(ot,U)},Mt=ot=>{var U=Tt(),kt=mt(U);{var Dt=W=>{const J=Z(()=>t(Qt).length>0?t(Qt):[]);var it=es();bt(it,21,()=>t(J),ht,(_t,ft,E)=>{var F=ts(),ut=a(F);ut.textContent=`${E+1}.`;var zt=u(ut,2),Nt=a(zt,!0);r(zt);var Lt=u(zt,2);Lt.disabled=E===0,Lt.__click=()=>{const z=[...t(J)];E>0&&([z[E],z[E-1]]=[z[E-1],z[E]],lt(t(d).id,z))};var pt=u(Lt,2);pt.__click=()=>{const z=[...t(J)];E<z.length-1&&([z[E],z[E+1]]=[z[E+1],z[E]],lt(t(d).id,z))},r(F),b(()=>{v(Nt,t(ft)),pt.disabled=E===t(J).length-1}),i(_t,F)}),r(it),i(W,it)},It=W=>{var J=Tt(),it=mt(J);{var _t=ft=>{var E=ss(),F=mt(E),ut=a(F);bt(ut,21,()=>t(Ht).left,ht,(pt,z)=>{var Y=rs(),Ut=a(Y,!0);r(Y),b(Wt=>{Pt(Y,1,`rounded-lg border border-base-300 bg-base-200 p-3 ${Wt??""}`),v(Ut,t(z))},[()=>me(t(z))?"border-primary bg-primary/10":""]),i(pt,Y)}),r(ut);var zt=u(ut,2);bt(zt,21,()=>t(Ht).right,ht,(pt,z)=>{var Y=as();Y.__click=()=>he(t(z));var Ut=a(Y,!0);r(Y),b(Wt=>{Pt(Y,1,`w-full rounded-lg border border-base-300 p-3 text-left hover:bg-base-200 ${Wt??""}`),v(Ut,t(z))},[()=>be(t(z))?"border-primary bg-primary/10":""]),i(pt,Y)}),r(zt),r(F);var Nt=u(F,2),Lt=a(Nt,!0);r(Nt),b(pt=>v(Lt,pt),[()=>ja()]),i(ft,E)};g(it,ft=>{t(Ht)&&ft(_t)},!0)}i(W,J)};g(kt,W=>{t(d).type==="order"?W(Dt):W(It,!1)},!0)}i(ot,U)};g(st,ot=>{t(d).type==="remove-extra"?ot(nt):ot(Mt,!1)},!0)}i(I,L)};g(V,I=>{t(d).type==="text"?I(X):I(dt,!1)},!0)}i(x,T)};g(N,x=>{t(d).type==="multiple"?x(B):x(H,!1)},!0)}i(m,p)};g(R,m=>{t(d).type==="single"?m(Rt):m(yt,!1)})}var Ct=u(R,2),P=a(Ct);P.__click=ye;var wt=a(P,!0);r(P);var M=u(P,2),D=a(M);{var at=m=>{var p=ns();p.__click=we;var N=a(p,!0);r(p),b(B=>v(N,B),[()=>rr()]),i(m,p)},qt=m=>{var p=is();p.__click=qe;var N=a(p);{var B=x=>{var T=os();i(x,T)},H=x=>{var T=Re();b(V=>v(T,V),[()=>ir()]),i(x,T)};g(N,x=>{t(Bt)?x(B):x(H,!1)})}r(p),b(()=>p.disabled=!t(se)||t(Bt)),i(m,p)};g(D,m=>{t($)<t(rt)-1?m(at):m(qt,!1)})}r(M),r(Ct),r(y),r(_),b(m=>{P.disabled=t($)===0||t(S).allowBackNavigation===!1,v(wt,m)},[()=>We()]),i(f,_)};g(ce,f=>{t(d)&&!t(St)&&f(Ce)})}var le=u(ce,2);{var Me=f=>{var _=cs(),y=a(_),w=u(a(y),2),h=a(w),C=a(h,!0);r(h);var Q=u(h,2),xt=a(Q,!0);r(Q),r(w);var q=u(w,2),k=a(q),R=a(k),Rt=a(R,!0);r(R);var yt=u(R,2),Ct=a(yt,!0);r(yt),r(k);var P=u(k,2),wt=a(P),M=a(wt,!0);r(wt);var D=u(wt,2),at=a(D,!0);r(D),r(P);var qt=u(P,2),m=a(qt),p=a(m,!0);r(m);var N=u(m,2),B=a(N,!0);r(N),r(qt);var H=u(qt,2),x=a(H),T=a(x,!0);r(x);var V=u(x,2),X=a(V,!0);r(V),r(H),r(q);var dt=u(q,2),I=a(dt);I.__click=()=>{navigator.clipboard?.writeText(JSON.stringify(t(tt),null,2))};var L=a(I,!0);r(I),r(dt),r(y),r(_),b((st,nt,Mt,ot,U,kt,Dt,It)=>{v(C,st),v(xt,nt),v(Rt,Mt),v(Ct,t(tt).summary.totalQuestions),v(M,ot),v(at,t(tt).summary.answeredQuestions),v(p,U),v(B,t(tt).summary.requiredQuestions),v(T,kt),v(X,Dt),v(L,It)},[()=>br(),()=>wr(),()=>Sr(),()=>Mr(),()=>Rr(),()=>Kr(),()=>t(tt).metadata.timeSpent?Yr({minutes:Math.floor(t(tt).metadata.timeSpent/60),seconds:t(tt).metadata.timeSpent%60}):Hr(),()=>aa()]),i(f,_)};g(le,f=>{t(St)&&t(tt)&&f(Me)})}var Ne=u(le,2);{var Te=f=>{var _=ls(),y=u(a(_),2),w=a(y,!0);r(y);var h=u(y,2);h.__click=()=>A($t,null);var C=a(h,!0);r(h),r(_),b(Q=>{v(w,t($t)),v(C,Q)},[()=>dr()]),i(f,_)};g(Ne,f=>{t($t)&&f(Te)})}r(o),i(n,o)};g(Ae,n=>{t(rt)===0?n(Se):n(je,!1)})}r(Vt),i(s,Vt),Le()}$e(["click","change","input"]);export{gs as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{d as te,i as v,a as i,f as _,s as p,c as M,t as c}from"../chunks/BBbVH-DX.js";import{p as ae,t as se,a as re,d as ie,s as d,$ as oe,g as o,c as a,r as s,u as x,f as I}from"../chunks/DnSqigra.js";import{h as ne}from"../chunks/hqRb622q.js";import"../chunks/C12jez52.js";var de=_('<div class="flex h-24 w-24 items-center justify-center rounded-full bg-warning/20"><svg xmlns="http://www.w3.org/2000/svg" class="h-14 w-14 text-warning" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg></div>'),le=_('<div class="flex h-24 w-24 items-center justify-center rounded-full bg-success/20"><svg xmlns="http://www.w3.org/2000/svg" class="h-14 w-14 text-success" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg></div>'),ve=_('<div class="flex h-24 w-24 items-center justify-center rounded-full bg-error/20"><svg xmlns="http://www.w3.org/2000/svg" class="h-14 w-14 text-error" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg></div>'),ce=_('<div class="flex min-h-screen items-center justify-center bg-base-200 p-4"><div class="card w-full max-w-lg bg-base-100 shadow-xl"><div class="card-body text-center"><div class="mb-6 flex justify-center"><!></div> <h1 class="text-4xl font-bold"><!></h1> <h2 class="mt-2 text-xl text-base-content/70"> </h2> <p class="mt-4 text-base-content/70"> </p> <div class="mt-6 rounded-lg bg-base-200 p-4"><div class="grid grid-cols-2 gap-4 text-sm"><div><span class="text-base-content/50">Quiz ID:</span> <code class="ml-2 block font-mono text-xs break-all"> </code></div> <div><span class="text-base-content/50">Session ID:</span> <code class="ml-2 block font-mono text-xs break-all"> </code></div></div></div> <div class="mt-6 card-actions justify-center"><a href="/" class="btn btn-primary"><svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg> Go Home</a> <button type="button" class="btn btn-ghost">Go Back</button></div> <p class="mt-4 text-sm text-base-content/50"><!></p></div></div></div>');function xe(P,u){ae(u,!0);const A=x(()=>u.data.quizId),E=x(()=>u.data.sessionId),l=x(()=>u.data.status),F=x(()=>u.data.quiz?.title||"Quiz");let H=x(()=>o(l)==="expired"?"This quiz session has expired and is no longer available.":o(l)==="completed"?"This quiz has already been completed.":"Quiz session not found.");var g=ce();ne("9bskx5",e=>{ie(()=>{oe.title=`Session ${o(l)??""} - Quiz MCP`})});var B=a(g),T=a(B),b=a(T),L=a(b);{var N=e=>{var r=de();i(e,r)},R=e=>{var r=M(),h=I(r);{var m=t=>{var n=le();i(t,n)},f=t=>{var n=ve();i(t,n)};v(h,t=>{o(l)==="completed"?t(m):t(f,!1)},!0)}i(e,r)};v(L,e=>{o(l)==="expired"?e(N):e(R,!1)})}s(b);var w=d(b,2),U=a(w);{var Y=e=>{var r=c("Session Expired");i(e,r)},J=e=>{var r=M(),h=I(r);{var m=t=>{var n=c("Already Completed");i(t,n)},f=t=>{var n=c("Not Found");i(t,n)};v(h,t=>{o(l)==="completed"?t(m):t(f,!1)},!0)}i(e,r)};v(U,e=>{o(l)==="expired"?e(Y):e(J,!1)})}s(w);var k=d(w,2),K=a(k,!0);s(k);var y=d(k,2),O=a(y,!0);s(y);var z=d(y,2),Q=a(z),q=a(Q),S=d(a(q),2),V=a(S,!0);s(S),s(q);var C=d(q,2),D=d(a(C),2),W=a(D,!0);s(D),s(C),s(Q),s(z);var j=d(z,2),X=d(a(j),2);X.__click=()=>history.back(),s(j);var G=d(j,2),Z=a(G);{var $=e=>{var r=c(`The session has expired due to inactivity. Please contact the quiz administrator to
|
|
2
|
+
request a new session.`);i(e,r)},ee=e=>{var r=M(),h=I(r);{var m=t=>{var n=c(`You have already completed this quiz. If you believe this is an error, please contact the
|
|
3
|
+
quiz administrator.`);i(t,n)},f=t=>{var n=c(`The requested quiz session could not be found. It may have been removed or the URL may be
|
|
4
|
+
incorrect.`);i(t,n)};v(h,t=>{o(l)==="completed"?t(m):t(f,!1)},!0)}i(e,r)};v(Z,e=>{o(l)==="expired"?e($):e(ee,!1)})}s(G),s(T),s(B),s(g),se(()=>{p(K,o(F)),p(O,o(H)),p(V,o(A)),p(W,o(E))}),i(P,g),re()}te(["click"]);export{xe as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"1769283562471"}
|
|
Binary file
|
|
Binary file
|
package/dist/env.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
|
|
3
|
+
/* global "" */
|
|
4
|
+
|
|
5
|
+
const expected = new Set([
|
|
6
|
+
'SOCKET_PATH',
|
|
7
|
+
'HOST',
|
|
8
|
+
'PORT',
|
|
9
|
+
'ORIGIN',
|
|
10
|
+
'XFF_DEPTH',
|
|
11
|
+
'ADDRESS_HEADER',
|
|
12
|
+
'PROTOCOL_HEADER',
|
|
13
|
+
'HOST_HEADER',
|
|
14
|
+
'PORT_HEADER',
|
|
15
|
+
'BODY_SIZE_LIMIT',
|
|
16
|
+
'SHUTDOWN_TIMEOUT',
|
|
17
|
+
'IDLE_TIMEOUT',
|
|
18
|
+
'KEEP_ALIVE_TIMEOUT',
|
|
19
|
+
'HEADERS_TIMEOUT'
|
|
20
|
+
]);
|
|
21
|
+
|
|
22
|
+
const expected_unprefixed = new Set(['LISTEN_PID', 'LISTEN_FDS']);
|
|
23
|
+
|
|
24
|
+
if ("") {
|
|
25
|
+
for (const name in process.env) {
|
|
26
|
+
if (name.startsWith("")) {
|
|
27
|
+
const unprefixed = name.slice("".length);
|
|
28
|
+
if (!expected.has(unprefixed)) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
`You should change envPrefix (${""}) to avoid conflicts with existing environment variables — unexpectedly saw ${name}`
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @param {string} name
|
|
39
|
+
* @param {any} fallback
|
|
40
|
+
*/
|
|
41
|
+
function env(name, fallback) {
|
|
42
|
+
const prefix = expected_unprefixed.has(name) ? '' : "";
|
|
43
|
+
const prefixed = prefix + name;
|
|
44
|
+
return prefixed in process.env ? process.env[prefixed] : fallback;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const integer_regexp = /^\d+$/;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Throw a consistently-structured parsing error for environment variables.
|
|
51
|
+
* @param {string} name
|
|
52
|
+
* @param {any} value
|
|
53
|
+
* @param {string} description
|
|
54
|
+
* @returns {never}
|
|
55
|
+
*/
|
|
56
|
+
function parsing_error(name, value, description) {
|
|
57
|
+
throw new Error(
|
|
58
|
+
`Invalid value for environment variable ${name}: ${JSON.stringify(value)} (${description})`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Check the environment for a timeout value (non-negative integer) in seconds.
|
|
64
|
+
* @param {string} name
|
|
65
|
+
* @param {number} [fallback]
|
|
66
|
+
* @returns {number | undefined}
|
|
67
|
+
*/
|
|
68
|
+
function timeout_env(name, fallback) {
|
|
69
|
+
const raw = env(name, fallback);
|
|
70
|
+
if (!raw) {
|
|
71
|
+
return fallback;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (!integer_regexp.test(raw)) {
|
|
75
|
+
parsing_error(name, raw, 'should be a non-negative integer');
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const parsed = Number.parseInt(raw, 10);
|
|
79
|
+
|
|
80
|
+
// We don't technically need to check `Number.isNaN` because the value already passed the regexp test.
|
|
81
|
+
// However, just in case there's some new codepath introduced somewhere down the line, it's probably good
|
|
82
|
+
// to stick this in here.
|
|
83
|
+
if (Number.isNaN(parsed)) {
|
|
84
|
+
parsing_error(name, raw, 'should be a non-negative integer');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (parsed < 0) {
|
|
88
|
+
parsing_error(name, raw, 'should be a non-negative integer');
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return parsed;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export { env, timeout_env };
|